文章目录
一.概述
1.作用:加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路(可靠传输),使之对网络层表现为一条无差错的链路。
2.结点:主机、路由器
3.链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。
4.数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路
5.帧:链路层的协议数据单元,封装网络层数据报
6.为网络层提供服务(有连接一定有确认)
(1)无确认的无连接服务
源机器发送数据帧时不需先建立链路连接,目的机器收到数据帧时不需发回确认;对丢失的帧,数据链路层不负责重发而交给上层处理
*使用范围:实时通信或误码率较低的通信信道,如以太网
(2)有确认的无连接服务
源机器发送数据帧时不需先建立链路连接,但目的机器收到数据帧时必须发回确认。源机器在所规定的时间内未收到确定信号时,就重传丢失的帧(超时重发),以提高传输的可靠性。
*使用范围:误码率较高的通信信道,如无线通信
(3)有确认的面向连接服务
帧传输过程分为三个阶段:建立数据链路、传输帧、释放数据链路。目的机器对收到的每一帧都要给出确认,源机器收到确认后才能发送下一帧
*使用范围:通信要求(可靠性、实时性)较高的场合
7.功能
(1)为网络层提供服务。无确认无连接服务、有确认无连接服务、有确认面向连接服务
(2)链路管理:连接的建立、维持、释放(用于面向连接的服务)
(3)帧定界:将二进制比特流组织成帧、定义数据格式
(4)流量控制:控制链路上帧的传输速率,即控制发送方速度
(5)差错检测:控制帧在物理信道上的传输,包括如何处理差错(帧错/位错)
(6)控制对物理传输介质的访问:由数据链路层的介质访问控制(MAC)子层完成
二.组帧
组帧:数据链路层之所以要把比特组合成帧为单位传输,是为了在出错时只重发出错的帧,而不必重发全部数据,从而提高效率。为了使接收方能够正确地接收并检查所传输的帧,发送方必须依据一定的规则把网络层递交的分组封装成帧(称为组帧)
1.组帧既要加首部,又要加尾部。而分组(即IP数据报)仅是包含在帧中的数据部分(后面讲到),所以不需要加尾部来定界。
2.首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)
3.帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止
4.组帧的四种方法
目前较普遍使用的帧同步法是比特填充和违规编码法。
(1)字符计数法
在帧头部使用一个计数字段来标明帧内字符数。如果计数字段出错,收发双方将失去同步从而导致错误
(2)字符填充的首尾定界符法(字符(节)填充法)
使用一些特定的字符来定界一帧的开始与结束。在特殊字符前面填充一个转义字符,防止特殊字符被误判为帧的首尾定界符。
控制字符SOH放在最前面,表示帧首部开始;EOT表示帧的结束
为了防止误判,可在特殊字符前加转义字符(ESC)来区分(注:ESC是一个字符,而非三个)。接收方收到数据后会自己删除插入的ESC,得到原来的数据。
(3)零比特填充的首尾标志法(零比特填充法)
使用一个特定的比特模式,即01111110来标志一帧的开始和结束。
在发送信息时,遇到5个连续的1就自动在后面加0。在接收端收到一个帧时,先找到标志字段确定边界,再用硬件对比特流进行扫描。发现连续5个1时,就把后面的0删除。
零比特填充法很容易由硬件来实现,性能优于字符填充法。
(4)违规编码法
在物理层进行比特编码时,通常采用违规编码法。违规编码法只适用于采用冗余编码的特殊编码环境。局域网IEEE802标准采用了这种方法。
例如:曼彻斯特编码中比特“1”编码成“高-低”电平,比特“0”编码成“低-高”电平。而对于“高-高”电平对和“低-低”电平对在数据比特中是违规的,可以借用这些违规编码序列来定界帧的起始和终止。
例
解:
1)传4个,加计数字段5个,分别为:计数字段(5)、A、B、ESC、FLAG(尾)
即 00000101 01000111 11100011 11100000 01111110
2)初始:FLAG(首)、A、B、ESC、FLAG、FLAG(尾)
填充:FLAG、A、B、(ESC)、ESC、(ESC)、FLAG、FLAG
即 01111110 01000111 11100011 11100000 11100000 11100000 01111110 01111110
3)初始:FLAG(首)、A、B、ESC、FLAG、FLAG(尾)
初始:01111110 01000111 11100011 11100000 01111110 01111110
填充后(首尾的FLAG不填充):01111110 01000111 110100011 111000000 011111010 01111110