计算机网络课件与实验第三章new_第1页
计算机网络课件与实验第三章new_第2页
计算机网络课件与实验第三章new_第3页
计算机网络课件与实验第三章new_第4页
计算机网络课件与实验第三章new_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章 数据链路层 数据链路层的功能数据链路层的功能 组帧组帧 差错检测和纠正差错检测和纠正 基本数据链路协议基本数据链路协议 滑动窗口协议滑动窗口协议 数据链路层协议实例数据链路层协议实例3.1 数据链路层的功能物理层只负责在通过传输介质相连的机器之间传输无结构物理层只负责在通过传输介质相连的机器之间传输无结构的原始比特流,是不可靠的。的原始比特流,是不可靠的。数据链路层将相邻节点间不可靠的物理连接的数据电路转数据链路层将相邻节点间不可靠的物理连接的数据电路转换成为可靠的数据链路,为网络层提供透明的服务。换成为可靠的数据链路,为网络层提供透明的服务。为实现转换:为实现转换: 将物理层的无结构

2、原始比特流划分成一定长度的结构数将物理层的无结构原始比特流划分成一定长度的结构数据单元据单元帧(帧(frame),即),即组帧组帧(Framing)。)。 对帧进行对帧进行差错控制差错控制(error control),实现检错),实现检错/纠错功纠错功能。能。 通过合适的通过合适的流量控制流量控制(flow control)协议保证收发双方)协议保证收发双方的传输同步。的传输同步。3.1 数据链路层的功能Relationship between packets and frames.3.1 数据链路层的功能 虚拟通信和实际通信虚拟通信和实际通信数据链路协议的位置和作用数据链路协议的位置和作用

3、数据链路层为网络层提供的服务3种基本的服务:种基本的服务:l 无确认的无连接服务:无确认的无连接服务: 源机器向目的机器发送独立的帧,而目的机器不需作出确源机器向目的机器发送独立的帧,而目的机器不需作出确认。事先没有建立连接,事后也不存在释放。对于丢失和认。事先没有建立连接,事后也不存在释放。对于丢失和错误的帧也不试图去恢复。恢复工作留给上层完成。错误的帧也不试图去恢复。恢复工作留给上层完成。 适用于误码率很低或音视频实时传输的情况,如适用于误码率很低或音视频实时传输的情况,如LAN。l 有确认的无连接服务:有确认的无连接服务: 仍然不建立连接,但每一个帧都单独确认。发送方会重发仍然不建立连接

4、,但每一个帧都单独确认。发送方会重发丢失和出错的帧。丢失和出错的帧。 适用于无线系统(适用于无线系统(wireless systems)之类的不可靠信道。)之类的不可靠信道。l 有确认的面向连接服务:有确认的面向连接服务: 传输分为建立、传输和拆除三个阶段,且每一个帧都单独传输分为建立、传输和拆除三个阶段,且每一个帧都单独确认。主要用于确认。主要用于WAN。3.2 组帧 将物理层的比特流划分成帧的将物理层的比特流划分成帧的4种方法:种方法: 字符计数法字符计数法(Character Count) 带字符填充的首尾定界符法带字符填充的首尾定界符法(Starting and ending char

5、acters with character stuffing) 带位填充的首尾标志法带位填充的首尾标志法(Starting and ending flags with bit stuffing) 物理编码的违例码法物理编码的违例码法(Physical layer coding violations)字符计数法 在帧头中使用一个字段来标明帧内的字符数。在帧头中使用一个字段来标明帧内的字符数。 一旦计数值出错,将再也无法同步。一旦计数值出错,将再也无法同步。 很少单独用,一般与其它方法结合使用。很少单独用,一般与其它方法结合使用。带字符填充的首位定界符法 每一帧以每一帧以ASCII字符序列字符序列

6、DLE STX(Data Link Escape Start of TeXt)开头,以)开头,以DLE ETX(Data Link Escape End of TeXt )结束。)结束。 若帧的数据中出现若帧的数据中出现DLE字符,发送方则插入一个字符,发送方则插入一个DLE字符,接收方会删除这个字符,接收方会删除这个DLE字符。字符。 只能用于已被淘汰的面向字符型协议。只能用于已被淘汰的面向字符型协议。STXDLE带位填充的首位标志法 每一帧使用一个特殊的位模式(如每一帧使用一个特殊的位模式(如01111110)作为开)作为开始和结束的标志字节。始和结束的标志字节。 当发送方在帧的数据中遇到

7、当发送方在帧的数据中遇到5个连续的个连续的1时,自动在其时,自动在其后插入一个后插入一个0,接收方会自动删除,接收方会自动删除5个连续的个连续的1后面跟后面跟着的一个着的一个0。 用于流行的面向比特型协议,如用于流行的面向比特型协议,如HDLC。物理编码的违例码法 只能用于当物理信号的编码具有冗余码字时,利用这只能用于当物理信号的编码具有冗余码字时,利用这些冗余的码字来作为帧的边界。些冗余的码字来作为帧的边界。 例如采用曼彻斯特编码或差分曼彻斯特编码中例如采用曼彻斯特编码或差分曼彻斯特编码中1/2位周位周期处不跳变的违例码来标示帧边界。使用差分曼彻斯期处不跳变的违例码来标示帧边界。使用差分曼彻

8、斯特编码的特编码的IEEE 802.5令牌环网中:令牌环网中:帧的起始符:帧的起始符:JK0JK000帧的结束符:帧的结束符:JK1JK1IE其中其中J为为“1”的违例码;的违例码;K为为“0”的违例码;的违例码; I表示后表示后继帧位;继帧位; E为差错检测位。为差错检测位。 帧的其它地方绝对不会出现这样的边界码字。帧的其它地方绝对不会出现这样的边界码字。3.3 差错的检测和纠正涉及两方面理论与技术:涉及两方面理论与技术: 差错检测差错检测 差错控制编码差错控制编码 差错纠正差错纠正 前项纠错前项纠错 重发出错帧(可与流量控制一起实现)重发出错帧(可与流量控制一起实现)差错控制编码 发送端在

9、发送的数据块中加入一定的冗余信息,使数发送端在发送的数据块中加入一定的冗余信息,使数据块与冗余信息之间建立某种关联的关系,接收端通据块与冗余信息之间建立某种关联的关系,接收端通过验证这种关系是否存在,来判定数据在传输过程中过验证这种关系是否存在,来判定数据在传输过程中是否出错。是否出错。 在数据块中加入冗余信息的过程叫差错编码,有两种在数据块中加入冗余信息的过程叫差错编码,有两种基本的差错编码策略:基本的差错编码策略: 检错码检错码(error-detecting code):只能检查是否有):只能检查是否有错,但不知错在何处的编码。错,但不知错在何处的编码。 纠错码纠错码(error-cor

10、recting code):不但能检查出错):不但能检查出错误,且能确定错误之处并予以纠正的编码。误,且能确定错误之处并予以纠正的编码。 任何一种差错编码都不能保证百分之百的准确。任何一种差错编码都不能保证百分之百的准确。检错与纠错能力的分析设一帧包含设一帧包含m个数据(报文)位和个数据(报文)位和r个冗余位,则总长度为个冗余位,则总长度为n = m + r。把长度为。把长度为n位的单元称作位的单元称作n位码字(位码字(codeword)。)。在在n位码字的编码集中,有效码字数为位码字的编码集中,有效码字数为2m个,总码字数为个,总码字数为2n个,个,显然存在显然存在2n - 2m个码字是无效

11、的码字。个码字是无效的码字。 若一个有效码字由于差错变成一个无效码字,就能判断出有若一个有效码字由于差错变成一个无效码字,就能判断出有错。错。 若一个有效码字错成了另一个有效码字,则错误就检测不出若一个有效码字错成了另一个有效码字,则错误就检测不出来了。来了。两个码字中对应比特位取值不同的位的个数称作两个码字中对应比特位取值不同的位的个数称作海明距离海明距离(Hamming Distance)。如)。如10001001和和10110001的海明距离为的海明距离为3。在一个编码集中,任意两个有效码字的海明距离的最小值称作该在一个编码集中,任意两个有效码字的海明距离的最小值称作该编码集的海明距离编

12、码集的海明距离。检错与纠错的能力取决于海明距离。检错与纠错的能力取决于海明距离。有关检错和纠错的两个重要结论如果要检测出如果要检测出d个比特错误,则编码集的海明距离至少应为个比特错误,则编码集的海明距离至少应为d+1。 说(证)明:若一个有效码字只出错说(证)明:若一个有效码字只出错 r+1。发送。发送方在方在M(x)后面增加一个冗余多项式后面增加一个冗余多项式R(x)构成带校验信息构成带校验信息的传输帧多项式的传输帧多项式T(x),T(x)必须能被必须能被G(x)整除。当接收整除。当接收方收到方收到T(x)后,只要检查后,只要检查T(x)和和G(x)的整除关系是否存的整除关系是否存在即可判定

13、传输是否出错。具体算法:在即可判定传输是否出错。具体算法:对对M(x)左移左移r位,得到多项式位,得到多项式xrM(x),帧长为,帧长为m+r位。位。按模按模2除法将除法将xrM(x)除以除以G(x)。按模按模2减法将减法将xrM(x)减去中所得余数,即得到多项式减去中所得余数,即得到多项式T(x)。CRC检错码举例帧为帧为1101011011,G(x)=x4+x+1(其位串为(其位串为10011)xrM(x)的位串为的位串为11010110110000 xrM(x)除以除以G(x)的余数位串为的余数位串为1110最终最终T(x)的位串为的位串为11010110111110三个国际标准的生成多

14、项式CRC-12= x12+x11+x3+x2+x1+1CRC-16= x16+x15+x2+1CRC-CCITT= x16+x12+x5+1 CRC-16和和CRC-CCITT这种这种16位校验码可检测位校验码可检测出所有的单位错、两位错、奇数位错、突发长出所有的单位错、两位错、奇数位错、突发长度小于或等于度小于或等于16的突发错、的突发错、17位突发错的位突发错的99.997%、18位或更长突发错的位或更长突发错的99.998%。差错控制策略 检检/纠错码的检纠错码的检/纠错能力与编码集的海明距离有关,海纠错能力与编码集的海明距离有关,海明距离越大,检明距离越大,检/纠错能力就越强,但所需

15、的冗余信息纠错能力就越强,但所需的冗余信息就越多,编码效率就越低。就越多,编码效率就越低。 由于纠错码比检错码要求更大的海明距离,且技术复由于纠错码比检错码要求更大的海明距离,且技术复杂,纠正可靠性不高,所以一般很少使用,只有在没杂,纠正可靠性不高,所以一般很少使用,只有在没有反馈信道的单工通信中,为了确保可靠才会采用。有反馈信道的单工通信中,为了确保可靠才会采用。 在大多数通信中采用的是检错编码。接收方收到帧后,在大多数通信中采用的是检错编码。接收方收到帧后,对其进行校验检查,并发回相应的反馈信息。发送方对其进行校验检查,并发回相应的反馈信息。发送方根据反馈信息来决定是继续发送新帧(肯定应答

16、),根据反馈信息来决定是继续发送新帧(肯定应答),还是重发出错的旧帧(否定应答)。还是重发出错的旧帧(否定应答)。3.4 基本数据链路协议 一种无限制的单工协议(一种无限制的单工协议(An Unrestricted Simplex Protocol) 停停-等协议(等协议(Stop-and-Wait Protocol) 有噪音信道的停有噪音信道的停-等协议(等协议(Stop-and-Wait Protocol for a Noisy Channel)协议1:一种无限制的单工协议(乌托邦)完全理想的条件:数据单向传输,收发双方的网络层一直处于就完全理想的条件:数据单向传输,收发双方的网络层一直处

17、于就绪状态,处理时间可忽略不计,接收缓冲空间无限大,信道不会绪状态,处理时间可忽略不计,接收缓冲空间无限大,信道不会损坏或丢失帧。损坏或丢失帧。发送端无限循环地重复三个动作:发送端无限循环地重复三个动作: 从网络层取分组。从网络层取分组。 构造帧。构造帧。 发出帧。发出帧。无需任何差错控制和流量控制。无需任何差错控制和流量控制。接收端也是无限循环地重复三个动作:接收端也是无限循环地重复三个动作: 等待事件(唯一的未损坏帧的到达)发生。等待事件(唯一的未损坏帧的到达)发生。 帧到达后,从硬件缓冲中取出新到的帧。帧到达后,从硬件缓冲中取出新到的帧。 将帧的数据部分传给网络层。将帧的数据部分传给网络

18、层。无需做其它任何处理。无需做其它任何处理。协议2:停-等协议 条件基本同协议条件基本同协议1,只是接收缓冲只能存放一个帧且接,只是接收缓冲只能存放一个帧且接收端需要一定的接收处理时间。收端需要一定的接收处理时间。 为了防止发送快于接收而造成数据丢失,发送端在发为了防止发送快于接收而造成数据丢失,发送端在发送一帧后必须停止发送,等待接收端发回的送一帧后必须停止发送,等待接收端发回的反馈确认反馈确认短帧;接收端在收到一个帧并传送网络层后,需向发短帧;接收端在收到一个帧并传送网络层后,需向发送端发一反馈确认短帧(不需包含任何信息,因为信送端发一反馈确认短帧(不需包含任何信息,因为信道是无差错的),

19、表示可发新帧。道是无差错的),表示可发新帧。 由于需要反馈,且帧的发送和反馈是严格交替进行的,由于需要反馈,且帧的发送和反馈是严格交替进行的,所以一般采用半双工信道。所以一般采用半双工信道。有噪音信道的停-等协议所涉及的问题 进一步考虑实际的会出错的信道,帧既可能损坏(接进一步考虑实际的会出错的信道,帧既可能损坏(接收端可通过校验检查出错误),也可能完全丢失。收端可通过校验检查出错误),也可能完全丢失。 发送端仍通过接收端的反馈来决定怎么做。但由于帧发送端仍通过接收端的反馈来决定怎么做。但由于帧会丢失,发送端可能收不到反馈的确认帧,因此发送会丢失,发送端可能收不到反馈的确认帧,因此发送端必须引

20、入端必须引入超时机制超时机制(time out),即增加一个定时计),即增加一个定时计数器,在一定时间后对没有确认的帧进行重发,也称数器,在一定时间后对没有确认的帧进行重发,也称作作ARQ(Automatic Retransmit reQuest)。)。 时间值应选择稍大于两倍端到端的信号传输时间和时间值应选择稍大于两倍端到端的信号传输时间和接收端的接收处理时间之和。接收端的接收处理时间之和。有噪音信道的停-等协议所涉及的问题 当接收端的反馈确认帧丢失时,必须通过为帧编制当接收端的反馈确认帧丢失时,必须通过为帧编制序序号号来解决重复帧的问题。来解决重复帧的问题。 帧的序号位数应尽量的短从而少占

21、用帧头的空间,帧的序号位数应尽量的短从而少占用帧头的空间,这里只需这里只需1个比特位(个比特位(“0”“1”,“1”“0”)即)即可。这是由于在本协议中,发送端每发送一个帧都可。这是由于在本协议中,发送端每发送一个帧都是建立在此帧之前的所有帧都已正确发送的基础上,是建立在此帧之前的所有帧都已正确发送的基础上,只需区分相邻的两个连续帧即可避免重复的可能。只需区分相邻的两个连续帧即可避免重复的可能。协议3:有噪音信道的停-等协议收发双方都需维护各自的帧序号(收发双方都需维护各自的帧序号(sequence number,初始都为,初始都为0)。发送端维护的帧序号)。发送端维护的帧序号N(S)表示当前

22、所发帧的序号,接收端表示当前所发帧的序号,接收端维护的帧序号维护的帧序号N(R)表示接收端当前所期待接收的帧序号。发送端表示接收端当前所期待接收的帧序号。发送端从网络层取得第一个分组进行组帧,将从网络层取得第一个分组进行组帧,将N(S)=0的序号放入帧头中的序号放入帧头中作为第一个帧,通过物理层的发送缓存器发送出去,并启动定时作为第一个帧,通过物理层的发送缓存器发送出去,并启动定时计数器,然后停下来等待其响应帧。计数器,然后停下来等待其响应帧。接收端收到一个帧后,对其序号和接收端收到一个帧后,对其序号和N(R)进行比较:进行比较: 若不等,则将其作为重复帧而丢弃;若不等,则将其作为重复帧而丢弃

23、; 若相等则对其接收,经校验正确并送交网络层后,将若相等则对其接收,经校验正确并送交网络层后,将N(R)加加1(模(模2运算)并放入确认帧中反馈回发送端;若校验出错,运算)并放入确认帧中反馈回发送端;若校验出错,则丢弃出错的帧,保持则丢弃出错的帧,保持N(R)的值不变并放入确认帧中反馈回的值不变并放入确认帧中反馈回发送端。发送端。协议3:有噪音信道的停-等协议发送端若在规定的时间内没有收到接收端的反馈确认帧(超时),发送端若在规定的时间内没有收到接收端的反馈确认帧(超时),就认为数据帧丢失,在保持就认为数据帧丢失,在保持N(S)不变的情况下重新发送缓冲器中不变的情况下重新发送缓冲器中的(旧)帧

24、;若接收到确认帧后,比较确认帧中的序号和的(旧)帧;若接收到确认帧后,比较确认帧中的序号和N(S): 若相等,则保持若相等,则保持N(S)不变,重新发送缓冲器中的(旧)帧;不变,重新发送缓冲器中的(旧)帧; 若不等,则将确认帧中的序号赋予若不等,则将确认帧中的序号赋予N(S),从网络层获取新的,从网络层获取新的分组并组成新帧(分组并组成新帧(N(S)作为序号放入帧头中)交由物理层发作为序号放入帧头中)交由物理层发送出去。送出去。发送端每发送一帧,都会重新启动定时计数器,然后停下来等待发送端每发送一帧,都会重新启动定时计数器,然后停下来等待其响应帧。其响应帧。停-等协议对信道利用率的影响在时延大

25、的信道(如卫星通信)中,停在时延大的信道(如卫星通信)中,停-等协议的效率是很低的。等协议的效率是很低的。考虑两个地面站通过卫星通信,典型的传输时间约为考虑两个地面站通过卫星通信,典型的传输时间约为270ms。假。假设一个帧的发送时间为设一个帧的发送时间为20ms,则从发送站开始发送算起,经,则从发送站开始发送算起,经20ms+ 270ms=290ms,数据帧才能到达目的站。假设不考虑目的,数据帧才能到达目的站。假设不考虑目的站的处理时间,且认为确认帧非常短,其发送时间可忽略不计,站的处理时间,且认为确认帧非常短,其发送时间可忽略不计,则又需则又需270ms确认帧才能被发送站收到。因此信道的利

26、用率为:确认帧才能被发送站收到。因此信道的利用率为:20ms/(290ms+270ms)=1/28,非常低。这是由于每发一个帧之前,非常低。这是由于每发一个帧之前都必须等待前一个帧的确认帧所造成的。都必须等待前一个帧的确认帧所造成的。停-等协议对信道利用率的影响 为了提高传输效率,可以设想让发送站连续不断地发为了提高传输效率,可以设想让发送站连续不断地发送数据帧,当发完第送数据帧,当发完第28个帧数据后,恰好第个帧数据后,恰好第1帧的确认帧的确认帧到达,根据确认可紧接着发第帧到达,根据确认可紧接着发第29帧或重发第帧或重发第1帧。以帧。以后,每过后,每过20ms(发一个帧)就有一个确认帧到达,

27、这(发一个帧)就有一个确认帧到达,这样信道的利用率就大大地提高了。样信道的利用率就大大地提高了。 允许发送站连续发送多个帧而不需等待确认的做法称允许发送站连续发送多个帧而不需等待确认的做法称作作管道化管道化(pipelining),属于一种),属于一种窗口窗口(windows)机制。机制。3.5 滑动窗口协议 滑动窗口(滑动窗口(Slide Windows)协议是一种非常可靠、适)协议是一种非常可靠、适用于各种条件的通用流量控制协议,特别是在效率、用于各种条件的通用流量控制协议,特别是在效率、复杂性及对缓冲区的需求等方面可作灵活调配。复杂性及对缓冲区的需求等方面可作灵活调配。 主要的滑动窗口协

28、议有出错全部重发协议和选择重发主要的滑动窗口协议有出错全部重发协议和选择重发协议两种。协议两种。 实际上,有噪音信道的停实际上,有噪音信道的停-等协议就是滑动窗口协议的等协议就是滑动窗口协议的一个特例,将停一个特例,将停-等协议中的帧序号从等协议中的帧序号从1位扩展到位扩展到n位位(范围为(范围为02n-1),收发双方维护的序号也变为一组),收发双方维护的序号也变为一组序号表,分别称作序号表,分别称作发送窗口发送窗口(sending window)和)和接接收窗口收窗口(receiving window)。)。发送窗口发送窗口就是发送端允许不等确认而连续发送的帧的序号发送窗口就是发送端允许不等

29、确认而连续发送的帧的序号表。表。允许连续发送的帧的数量称为发送窗口尺寸,表示为允许连续发送的帧的数量称为发送窗口尺寸,表示为W。发送端必须有发送端必须有W个输出缓冲区来存放个输出缓冲区来存放W个数据帧的副本以个数据帧的副本以备数据帧的重发。备数据帧的重发。发送端最早发送但还未收到确认的帧的序号称为发送窗口发送端最早发送但还未收到确认的帧的序号称为发送窗口的下沿,表示为的下沿,表示为LN(R) 。 而而 (LN(R)+W-1) 为发送窗口的上为发送窗口的上沿。沿。发送端将来自网络层的分组按顺序编号组帧,只有帧序号发送端将来自网络层的分组按顺序编号组帧,只有帧序号落在发送窗口内的帧才可不等确认直接

30、通过输出缓冲区发落在发送窗口内的帧才可不等确认直接通过输出缓冲区发送出去。送出去。当发送端收到发送窗口下沿帧的肯定确认时,将发送窗口当发送端收到发送窗口下沿帧的肯定确认时,将发送窗口整体向前滑动一个序号,并从输出缓冲区中将相应的数据整体向前滑动一个序号,并从输出缓冲区中将相应的数据帧副本删除。帧副本删除。接收窗口 接收窗口是接收端允许接收的帧的序号表。接收窗口是接收端允许接收的帧的序号表。 允许接收的帧的数量称为接收窗口尺寸。同样接收端允许接收的帧的数量称为接收窗口尺寸。同样接收端也必须设置相应数量的输入缓冲区来支持接收窗口。也必须设置相应数量的输入缓冲区来支持接收窗口。 对接收端收到的帧的序

31、号落在接收窗口外的帧被直接对接收端收到的帧的序号落在接收窗口外的帧被直接丢弃。只有落在接收窗口内的帧才会被接收端进行校丢弃。只有落在接收窗口内的帧才会被接收端进行校验处理,若校验正确:验处理,若校验正确: 当接收的帧不是接收窗口下沿帧时,必须暂存在输当接收的帧不是接收窗口下沿帧时,必须暂存在输入缓冲区,不能交给网络层。入缓冲区,不能交给网络层。 当接收到接收窗口下沿帧时,会将其连同后面连续当接收到接收窗口下沿帧时,会将其连同后面连续的若干个检验过的正确帧按顺序交给网络层,在发的若干个检验过的正确帧按顺序交给网络层,在发回确认帧的同时将接收窗口向前滑动相应的数量。回确认帧的同时将接收窗口向前滑动

32、相应的数量。滑动窗口示意图 帧的序号由帧的序号由3位组成(位组成(07),发送窗口和接收窗口的),发送窗口和接收窗口的尺寸都为尺寸都为3。012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567发送端发送端接收端接收端停-等协议的窗口机制 帧的序号由帧的序号由1位组成(位组成(01),发送窗口和接收窗口的),发送窗口和接收窗口的尺寸都为尺寸都为1。010101010101010101010101发送端发送端接收端接收端数据的全双工传输在实际通信中,通常收发双方

33、都相互发送数据。在实际通信中,通常收发双方都相互发送数据。为了提高效率,可以将确认信息放在数据帧中作为一个控制字段为了提高效率,可以将确认信息放在数据帧中作为一个控制字段连同数据一起发送给对方,这种方式称为捎带应答连同数据一起发送给对方,这种方式称为捎带应答(piggybacking)。)。当一方收到对方的数据帧后:当一方收到对方的数据帧后: 若正好也有数据需发给对方,则立即可使用捎带应答。若正好也有数据需发给对方,则立即可使用捎带应答。 若暂时没有数据需发给对方或数据还未准备好,则等待一定若暂时没有数据需发给对方或数据还未准备好,则等待一定的时间,如果在该时间内准备好了数据,则可以使用捎带应

34、的时间,如果在该时间内准备好了数据,则可以使用捎带应答。如果未准备好,为了防止对方等待时间过长而超时重发,答。如果未准备好,为了防止对方等待时间过长而超时重发,必须立即发送一个单独的确认帧。必须立即发送一个单独的确认帧。使用捎带应答就不可能对每一个帧都作确认,可以用对某一个帧使用捎带应答就不可能对每一个帧都作确认,可以用对某一个帧的确认来代替对该帧之前的所有帧的确认。的确认来代替对该帧之前的所有帧的确认。协议4:出错全部重发协议(go-back-n)出错全部重发协议中,发送窗口的尺寸是大于出错全部重发协议中,发送窗口的尺寸是大于1,而接收窗口的,而接收窗口的尺寸则等于尺寸则等于1。由于接收窗口

35、的尺寸为由于接收窗口的尺寸为1,接收端只能按顺序地接受数据帧,一,接收端只能按顺序地接受数据帧,一旦某个帧出错或丢失,只能简单地丢弃该帧及其所有的后续帧旦某个帧出错或丢失,只能简单地丢弃该帧及其所有的后续帧(因为发送窗口的尺寸是大于(因为发送窗口的尺寸是大于1的),不作任何确认。发送端超的),不作任何确认。发送端超时后需重发出错或丢失的帧及其后续所有的帧。时后需重发出错或丢失的帧及其后续所有的帧。发送端需要为每个待确认的帧都各自设置一个定时计数器。发送端需要为每个待确认的帧都各自设置一个定时计数器。发送窗口的尺寸不能超过发送窗口的尺寸不能超过2n-1,否则会造成接收端无法分辨新、,否则会造成接

36、收端无法分辨新、旧数据帧。旧数据帧。出错全部重发协议只要求发送端保持一定数量的缓存来保存没有出错全部重发协议只要求发送端保持一定数量的缓存来保存没有确认的数据帧,对接收端没有缓存的要求。但在误码率高的情况确认的数据帧,对接收端没有缓存的要求。但在误码率高的情况下,会大大降低信道的利用率。下,会大大降低信道的利用率。出错全部重发协议和选择重发协议协议5:选择重发协议(selective repeat)选择重发协议中,发送和接收窗口的尺寸都大于选择重发协议中,发送和接收窗口的尺寸都大于1。由于接收窗口的尺寸大于由于接收窗口的尺寸大于1,接收端可存储坏帧之后的其它数据,接收端可存储坏帧之后的其它数据

37、帧(落在接收窗口),接收端对错帧发否定确认帧,因此发送端帧(落在接收窗口),接收端对错帧发否定确认帧,因此发送端只需重发出错的帧,而不需重发其后的所有后续帧。只需重发出错的帧,而不需重发其后的所有后续帧。接收端正确收到重发的帧后,可对其后连续的已接收的正确帧作接收端正确收到重发的帧后,可对其后连续的已接收的正确帧作一次总体确认(最大序号的确认),并交送网络层。大大提高了一次总体确认(最大序号的确认),并交送网络层。大大提高了信道的利用率。信道的利用率。接收窗口的尺寸不能超过接收窗口的尺寸不能超过2n-1(即序号范围的(即序号范围的1/2),否则可能造),否则可能造成帧的重叠。成帧的重叠。发送窗

38、口的尺寸一般和接收窗口的尺寸相同,发送端为每一个输发送窗口的尺寸一般和接收窗口的尺寸相同,发送端为每一个输出缓存区设置一个定时计数器,定时器一旦超时,相应输出缓存出缓存区设置一个定时计数器,定时器一旦超时,相应输出缓存区中的帧就被重发。区中的帧就被重发。接收窗口的尺寸超过2n-1造成帧的重叠3.5 数据链路层协议实例数据链路层协议实例 数据链路层协议也称作链路控制规程,通常分为异步数据链路层协议也称作链路控制规程,通常分为异步和同步两大类协议:和同步两大类协议: 异步协议以异步协议以字符字符为独立的传输单位,实现字符间的为独立的传输单位,实现字符间的异步和字符内的同步传输。简单,但效率低。异步

39、和字符内的同步传输。简单,但效率低。 同步协议以许多字符(同步协议以许多字符(面向字符型协议面向字符型协议)或比特)或比特(面向比特型协议面向比特型协议)组成的数据块(帧)为传输单)组成的数据块(帧)为传输单位,收发双方使用相同的时钟实现复杂的长数据块位,收发双方使用相同的时钟实现复杂的长数据块的同步传输。速度快,效率高,但复杂且成本高。的同步传输。速度快,效率高,但复杂且成本高。面向字符的同步控制协议面向字符的同步控制协议面向字符的同步控制协议面向字符的同步控制协议 面向字符的同步协议是最早提出的同步协议,其典面向字符的同步协议是最早提出的同步协议,其典型代表是型代表是IBM的二进制同步通信

40、的二进制同步通信BSC(Binary Synchronous Communication)协议。随后协议。随后ANSI和和ISO都提出了类似的相应标准。都提出了类似的相应标准。 用用ASCII和和EBCDIC字符集定义的传输控制字符来字符集定义的传输控制字符来实现建链、拆链等链路管理以及同步等各种功能。实现建链、拆链等链路管理以及同步等各种功能。面向字符的同步控制协议面向字符的同步控制协议标记标记SOHSTXETXEOTENQACKDELNAKSYNETB名称名称序始序始文始文始文终文终送毕送毕询问询问确认确认转义转义否认否认同步同步块终块终ASCII码值码值01H02H03H04H05H06

41、H10H15H16H17HEBCDIC码码值值01H02H03H37H2DH2EH10H3DH32H26H传输控制字符传输控制字符数据帧格式数据帧格式SYNSYNSTX报文报文ETXBCCSYNSYNSOH报头报头STX报文报文ETXBCCSYNSYNSOH报头报头STX报文报文ETBBCCSYNSYNSTX报文报文ETBBCC不带报头的单块报文或分块传不带报头的单块报文或分块传输中的最后一块报文输中的最后一块报文带报头的单块报文带报头的单块报文分块传输中的第分块传输中的第一块报文一块报文分块传输中的中间报文分块传输中的中间报文监控帧格式监控帧格式SYNSYNACKSYNSYNNAKSYNSY

42、N/S前前缀缀站地址站地址ENQSYNSYNEOT肯定确认和选择响应肯定确认和选择响应否定确认和选择响应否定确认和选择响应轮询轮询/选择请求选择请求拆链拆链高级数据链路控制规程高级数据链路控制规程HDLCHDLC(High-Level Data Link Control)是一个用于点到点连接)是一个用于点到点连接的广泛使用的面向比特型的同步数据链路层协议。的广泛使用的面向比特型的同步数据链路层协议。20世纪世纪70年代,年代,IBM的的SNA中提出中提出SDLC(Synchronous Data Link Control)。)。随后,随后,ANSI和和ISO采纳并发展成各自的标准:采纳并发展成

43、各自的标准: ANSI:ADCCP(Advanced Data Communication Control Procedure) ISO:HDLC之后,之后,CCITT采纳修改了采纳修改了HDLC,成为,成为LAP(Link Access Procedure),作为),作为X.25网络接口标准的一部分。后来又修改成网络接口标准的一部分。后来又修改成LAPB(Link Access Procedure Balanced),使之与后来的),使之与后来的HDLC版本更加兼容。版本更加兼容。HDLC的工作模式三种站:三种站: 主站(主站(primary station):负责链路的控制。):负责链路的

44、控制。 次站(次站(secondary station):仅完成主站指示的工作。):仅完成主站指示的工作。 复合站(复合站(combined station):主站和次站组合成的站。):主站和次站组合成的站。四种工作模式:四种工作模式: 正常响应模式正常响应模式NRM(Normal Response Mode):一种非平):一种非平衡数据链路操作方式,适用于面向终端的点衡数据链路操作方式,适用于面向终端的点-点或点点或点-多点链多点链路。路。非平衡非平衡SSPSRCHDLC的工作模式 异步平衡模式异步平衡模式ABM(Asynchronous Balanced Mode):一种):一种平衡的数据

45、链路操作方式,通信双方都为复合站,具有相同平衡的数据链路操作方式,通信双方都为复合站,具有相同的功能且相互作用。的功能且相互作用。 分别将上两种工作模式中的帧序号位从分别将上两种工作模式中的帧序号位从3位扩展到位扩展到7位就构成位就构成了两种扩展的(了两种扩展的(extended)工作模式:)工作模式:NRME和和ABME。平衡平衡CSCSC/RR/CHDLC的帧结构标志(标志(flag)字段:)字段:比特模式为比特模式为01111110,用于标识一帧的开始和,用于标识一帧的开始和结束。采用比特结束。采用比特 “0” 填充技术。填充技术。地址(地址(address)字段)字段: 在点在点-多点

46、线路中,用于指明通信的端址。地址的种类有单地多点线路中,用于指明通信的端址。地址的种类有单地址、组地址(高位为址、组地址(高位为“1”)、广播地址(全)、广播地址(全“1”)及用于测)及用于测试的无站地址(全试的无站地址(全“0”)四种。)四种。 在点在点-点线路中,有时用来区分命令帧点线路中,有时用来区分命令帧(C)和响应帧和响应帧(R)。控制(控制(control)字段)字段:用于构成各种命令和响应,对链路监视和:用于构成各种命令和响应,对链路监视和控制。是控制。是HDLC的关键部分。的关键部分。数据(数据(data)字段)字段:数据内容,长度不限,一般为:数据内容,长度不限,一般为100

47、02000比比特。特。校验和(校验和(checksum)字段)字段:使用:使用16位的位的CRC对两个标志间的内容对两个标志间的内容进行校验。进行校验。在空闲的线路上,不断传输标志序列。最小帧只有在空闲的线路上,不断传输标志序列。最小帧只有3个字段,共个字段,共32比特。小于比特。小于32比特的帧是无效帧。比特的帧是无效帧。HDLC的帧类型HDLC使用具有使用具有3位序号(位序号(07)的滑动窗口协议。通过控制字段)的滑动窗口协议。通过控制字段中的第中的第1或或2位可将帧标识成三种类型:位可将帧标识成三种类型: 信息(信息(Information)帧)帧 监控(监控(Supervisory)帧

48、)帧 无序号(无序号(Unnumbered)帧)帧标志标志01111110校验和校验和数据数据控制控制地址地址标志标志011111108160888比特数比特数M5M4M3P/FM2M111UnnumberedN(R)P/FS2S101SupervisoryN(R)P/FN(S)0Information87654321控制字段比特控制字段比特HDLC的信息帧信息帧用于传输数据,简称信息帧用于传输数据,简称 I 帧。帧。N(S)是发送帧的序号。是发送帧的序号。N(R)用于捎带应答,表示下一个期待接收的帧。用于捎带应答,表示下一个期待接收的帧。P/F为探询为探询/终止(终止(Poll/Final)

49、比特:)比特: 当主站轮询各个从站时,将其置为当主站轮询各个从站时,将其置为“P”,表示允许从站发送,表示允许从站发送数据;从站可连续发送多帧数据,最后一帧该位必须为数据;从站可连续发送多帧数据,最后一帧该位必须为“F ”,表示数据传输结束。表示数据传输结束。 在命令帧中将其置为在命令帧中将其置为“P ”还表示向对方询问状态,收到该位还表示向对方询问状态,收到该位为为“P”的命令帧的站必须立即以置的命令帧的站必须立即以置“F”的响应帧进行响应。的响应帧进行响应。HDLC的监控帧监控帧用于差错和流量控制,简称监控帧用于差错和流量控制,简称 S 帧,不携带数据字段,帧长帧,不携带数据字段,帧长只有

50、只有32比特。比特。S1和和S2是是S帧的类型编码,四种组合:帧的类型编码,四种组合: 类型类型0(00):):肯定确认帧肯定确认帧RR(Receive Ready),表示准备),表示准备好接收序号为好接收序号为N(R)的帧。的帧。 类型类型1(01):):否定确认帧否定确认帧REJ(Reject),表示检测到一个),表示检测到一个传输错误,要求传输错误,要求重发从序号重发从序号N(R)开始的所有帧开始的所有帧。 类型类型2(10):):RNR(Receive Not Ready),表示小于序号),表示小于序号N(R)的帧已全部正确收到,但还未准备好接收下一个帧(如的帧已全部正确收到,但还未准

51、备好接收下一个帧(如缓存区不空),要求对方停止发送。缓存区不空),要求对方停止发送。 类型类型3(11):):SREJ(Selective Reject),表示),表示只重发序号只重发序号为为N(R)的帧的帧。监控帧都可用作命令帧,通过将监控帧都可用作命令帧,通过将P/F置为置为“P”表示向对方询问状表示向对方询问状态,态, P/F=F的的RR帧用来响应已收到的帧用来响应已收到的P/F=P的命令帧。的命令帧。HDLC的无序号帧无序号帧因其控制字段中不包含序号(无序号帧因其控制字段中不包含序号(N(S)和和N(R))而得名,简称)而得名,简称U 帧。主要用于各种控制功能。帧。主要用于各种控制功能。各类面向比特型链路协议的差别主要就体现在各类面向比特型链路协议的差别主要就体现在U帧中。帧中。U帧的类型由帧的类型由M1M5(修正位)的不同编码来表示,主要的命令和(修正位)的不同编码来表示,主要的命令和响应有:响应有: 置模式命令置模式命令: SNRM:Set NRM SABM:Set ABM SNRME:Set NRME SABME:Set ABME DISC(DISConnect):断开连接(命令)。)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论