封装成帧(framing):就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧。
2. 透明传输
由于帧的开始和结束的标记是使用专门指明的控制字符,因此,所传输的数据中的任何8比特的组合一定不允许和用作帧定界的控制字符的比特编码一样,否则就会出现帧定界的错误。
3. 差错检测
传输差错:可分为两大类,一类就是最基本的比特差错,另一类就是收到的帧并没有出现比特错误,但却出现了帧丢失、帧重复或帧失序。
一.数据链路和帧链路:从一个结点到相邻结点的一段物理线路,中间没有任何其他的交换结点。链路只是路径的组成部分
数据链路:数据链路=物理线路(链路)+通信协议(规程)
帧:点对点信道的数据连路层的协议数据单元,IP数据包加上首部和尾部
点对点信道的数据连路层在进行网络通信时的主要步骤如下:
(1)结点A的数据连路层把网络层叫下来的IP数据报添加首部和尾部封装成帧
(2)结点A把封装好的帧发送给结点B的数据链路层
(3)若结点B的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报交给上面的网络层;否则丢弃这个帧
二.三个基本问题——封装成帧、透明传输和差错检测
1.封装成帧
封装成帧就是在一段数据的前后分别添加首部和尾部,就构成了一个帧
2.透明传输
解决由于数据部分字段和帧定界符相同而引起的数据传输错误问题
解决方法:发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”。在接收端的数据链路层把数据送往网络层之前删除这个插入的转义字符
3.差错检测:
为了保证数据传输的可靠性
循环冗余检测(CRC):数据后面添加冗余码
冗余码计算:用二进制的模2运算进行2^n乘M的运算
除数P(n+1位)
余数R(n位)——作为冗余码(FCS)
接收条件:
(1)得出的余数R=0,则帧没有差错,接受
(2)R!=0,有差错,丢弃
使用局限:只能做到对帧的无差错接收
数据链路层提供的不是可靠传输
传输差错:
①比特差错
②帧丢失,帧重复,帧失序
若要提供可靠传输,需要在CRC检错的基础上增加帧编号、确认和重传机制
是否进行可靠传输的情况:
对于通信质量良好的有线传输线路,数据链路层协议不实用确认和重传机制,即不要求数据链路层向上提供可靠传输的服务。如果在数据链路层传输数据时出现了差错并且需要进行改正,那么改正的任务就由上层协议来完成。
对于通信质量较差的无线传输链路,数据链路层协议使用确认和重传机制,数据链路层线上提供可靠的传输服务
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)