计算机网络原理与应用4_第1页
计算机网络原理与应用4_第2页
计算机网络原理与应用4_第3页
计算机网络原理与应用4_第4页
计算机网络原理与应用4_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机网络原理与应用计算机网络原理与应用 第第4 4章章 数据链路层数据链路层 4.1 4.1 基本概念基本概念 4.2 4.2 数据链路层的作用数据链路层的作用 4.3 4.3 停止等待协议停止等待协议 4.4 4.4 连续连续ARQARQ协议协议 4.5 4.5 选择重传选择重传ARQARQ协议协议 4.6 4.6 面向比特的链路控制规程面向比特的链路控制规程HDLCHDLC 4.1 基本概念基本概念 p 链路链路(link)(link):物理链路物理链路,就是一条无源的点到点的物理线,就是一条无源的点到点的物理线 路段,中间没有任何其他的交换结点。在进行数据通信时,路段,中间没有任何其他

2、的交换结点。在进行数据通信时, 两个计算机之间的通路往往是由许多的链路串接而成的。而两个计算机之间的通路往往是由许多的链路串接而成的。而 一条链路只是一条通路的一个组成部分。传输单位是一条链路只是一条通路的一个组成部分。传输单位是比特比特。 p 数据链路数据链路(data link)(data link):逻辑链路逻辑链路,在物理链路加上必要,在物理链路加上必要 的通信规程就构成了数据链路。数据链路就像一个数字管道,的通信规程就构成了数据链路。数据链路就像一个数字管道, 可以在它上面进行数据通信。当采用复用技术时,一条链路可以在它上面进行数据通信。当采用复用技术时,一条链路 上可以有多条数据链

3、路。传输单位是帧。上可以有多条数据链路。传输单位是帧。 p 数据链路层协议:数据链路层协议:数据链路层通信规程数据链路层通信规程,为在不太可靠的,为在不太可靠的 物理链路上建立数据链路从而实现可靠的数据传输而规定的物理链路上建立数据链路从而实现可靠的数据传输而规定的 一些规程。一些规程。 p数据链路建立在两台物理上连接起来的设备之间数据链路建立在两台物理上连接起来的设备之间 主机-路由器,路由器-路由器,主机-主机 数据链路上传输的数据单位:帧(Frame) application transport network link physical network link physical M

4、M M M Ht HtHn HtHnHl MHtHnHl frame 物理链路 数据链 路协议 网络接口卡 数据链路数据链路/逻辑链路逻辑链路 = (物理)链路(物理)链路 + 数据链路层协议数据链路层协议 4.2 数据链路层的作用数据链路层的作用 p链路管理:链路管理:两个网络结点进行通信时,对数据链路的建立、维持和两个网络结点进行通信时,对数据链路的建立、维持和 释放的管理。释放的管理。 p帧同步:帧同步:在数据链路层,数据的传送单位是在数据链路层,数据的传送单位是帧帧。帧同步是指收方应。帧同步是指收方应 当能从收到的比特流中准确地区分出一帧的开始和结束在什么地方。当能从收到的比特流中准确

5、地区分出一帧的开始和结束在什么地方。 p流量控制:流量控制:发方发送数据的速率必须使收方来得及接收。当收方来发方发送数据的速率必须使收方来得及接收。当收方来 不及接收时,就必须及时控制发方发送数据的速率。不及接收时,就必须及时控制发方发送数据的速率。 p差错控制:差错控制: 控制的比特差错率。采用了编码技术。有两大类:一类控制的比特差错率。采用了编码技术。有两大类:一类 是是前向纠错前向纠错;另一类是;另一类是检错重传检错重传。 p将数据和控制信息区分开:将数据和控制信息区分开:在许多情况下,数据和控制信息处于同在许多情况下,数据和控制信息处于同 一帧中。因此一定要有相应的措施使收方能够将它们

6、区分开来。一帧中。因此一定要有相应的措施使收方能够将它们区分开来。 p透明传输:透明传输:就是不管所传数据是什么样的比特组合,都应当能够在就是不管所传数据是什么样的比特组合,都应当能够在 链路上传送。当所传数据中的比特组合恰巧出现了与某一个控制信息链路上传送。当所传数据中的比特组合恰巧出现了与某一个控制信息 完全一样时,必须采取适当的措施,使收方不会将这样的数据误认为完全一样时,必须采取适当的措施,使收方不会将这样的数据误认为 是某种控制信息。是某种控制信息。 p7)7)寻址:寻址:保证每一帧都能发送到正确的目的站。收方也应知道发方保证每一帧都能发送到正确的目的站。收方也应知道发方 是哪个站。

7、是哪个站。 4.3 停止等待协议停止等待协议 停止等待停止等待(stop-and-wait)(stop-and-wait)协议是最简单但也是协议是最简单但也是 最基本的数据链路层协议。最基本的数据链路层协议。 4.3.1 4.3.1 不需要数据链路层协议的数据传输不需要数据链路层协议的数据传输 4.3.2 4.3.2 具有最简单流量控制的数据链路层协议具有最简单流量控制的数据链路层协议 4.3.3 4.3.3 实用的停止等待协议实用的停止等待协议 4.3.4 4.3.4 停止等待协议的算法停止等待协议的算法 4.3.1 不需要数据链路层协议的数据传输不需要数据链路层协议的数据传输 p数据的传输

8、收到两个因素的影响:数据的传输收到两个因素的影响: (1)(1)信道可靠性信道可靠性 (2)(2)发送和接收能力发送和接收能力 p理想情况下,基于以下两个假定:理想情况下,基于以下两个假定: 假定假定1 1:信道无差错信道无差错, ,不丢失:无需检错重发不丢失:无需检错重发 假定假定2 2:缓冲区无穷大:无需流量控制缓冲区无穷大:无需流量控制 p此时无需任何协议此时无需任何协议 p而在一般情况下,上述情况难以保证。而在一般情况下,上述情况难以保证。 两机通过一条链路进行通信的简化模型两机通过一条链路进行通信的简化模型 主 机 A AP主 机 B BP 链路 链路层A链路层A 缓冲区 4.3.2

9、 具有最简单流量控制的数据链路层协议具有最简单流量控制的数据链路层协议 p现在去掉上述假定现在去掉上述假定2 2,但假定,但假定1 1仍然保留。即主机仍然保留。即主机A A向主机向主机B B传输数据的传输数据的 信道仍然是无差错的理想信道。而缓冲区有限,此时只需要流量控制。信道仍然是无差错的理想信道。而缓冲区有限,此时只需要流量控制。 p最简单流量控制的数据链路层协议:最简单流量控制的数据链路层协议: 在发送结点:在发送结点: (1) (1) 从主机取一个数据帧;从主机取一个数据帧; (2) (2) 将数据帧送到数据链路层的发送缓存;将数据帧送到数据链路层的发送缓存; (3) (3) 将发送缓

10、存中的数据帧发送出去;将发送缓存中的数据帧发送出去; (4) (4) 等待;等待; (5) (5) 若收到由接收结点发过来的信息若收到由接收结点发过来的信息( (由收方控制发方的数据流量由收方控制发方的数据流量 信息信息) ),则从主机取一个新的数据帧,然后转到,则从主机取一个新的数据帧,然后转到(2)(2); 在接收结点:在接收结点: (1) (1) 等待;等待; (2) (2) 若收到由发送结点发过来的数据帧,则将其放入数据链路层的若收到由发送结点发过来的数据帧,则将其放入数据链路层的 接收缓存;接收缓存; (3) (3) 将接收缓存中的数据帧上交主机;将接收缓存中的数据帧上交主机; (4

11、) (4) 向发送结点发一信息,表示数据帧已经上交给主机;向发送结点发一信息,表示数据帧已经上交给主机; (5) (5) 转到转到(1)(1); p 现在去掉前面的两个假定,不仅要流量控制,还要进行差错控制现在去掉前面的两个假定,不仅要流量控制,还要进行差错控制 若接收方检测出错误,则发送一个否认帧若接收方检测出错误,则发送一个否认帧NAK 发送方设置一个定时器,用来限定收到响应帧的时间发送方设置一个定时器,用来限定收到响应帧的时间 frame 0 NAK Frame 0 ACK Frame 1 frame 1 ACK Frame 0 ACK Frame 0 ACK 发送方发送方 接收方接收方

12、 超时超时超时超时 帧丢失帧丢失 重发重发f(1)ACK丢失丢失 重发重发f(0), 接收方丢弃重复帧接收方丢弃重复帧 数据帧出错数据帧出错数据帧丢失数据帧丢失响应帧丢失响应帧丢失 帧出错帧出错 重发重发f(0) 4.3.3 等待协议差错处理等待协议差错处理 p正常情况:正常情况:据在传输中不出差错。收方在收到一个正确的数据帧后据在传输中不出差错。收方在收到一个正确的数据帧后, , 即交付给主机即交付给主机B,B,同时向主机同时向主机A A发送一个确认帧发送一个确认帧ACK(ACKnowledgement)ACK(ACKnowledgement)。 当主机当主机A A收到确认帧收到确认帧ACK

13、ACK后才能发送一个新的数据帧。这样就实现了收方后才能发送一个新的数据帧。这样就实现了收方 对发方的对发方的流量控制流量控制。 p数据帧错(但已接收):数据帧错(但已接收):数据帧在传输中出现了差错。通常在数据帧数据帧在传输中出现了差错。通常在数据帧 中加上了中加上了循环冗余检验循环冗余检验CRC (Cyclic Redundancy Check)CRC (Cyclic Redundancy Check),结点,结点B B用硬用硬 件检验出收到的数据帧是否有差错。当发现差错时,结点件检验出收到的数据帧是否有差错。当发现差错时,结点B B就向主机就向主机A A发发 送一个否认帧送一个否认帧NAK

14、NAK,以表示主机,以表示主机A A应当重传出现差错的那个数据帧。应当重传出现差错的那个数据帧。 解决方案:解决方案:重发重发 p数据帧丢失:导致死锁数据帧丢失:导致死锁 解决方案:解决方案:超时重发超时重发 p数据帧正确,但应答帧丢失,超时重发后,使得该数据帧再接收方收数据帧正确,但应答帧丢失,超时重发后,使得该数据帧再接收方收 到两次:重复帧到两次:重复帧 解决方案:解决方案:使每个数据帧带上不同的发送序号,每发送一个使每个数据帧带上不同的发送序号,每发送一个 新的帧就把它的发送序号加新的帧就把它的发送序号加1 1,这样,若两个数据帧序号相同,则为重,这样,若两个数据帧序号相同,则为重 复

15、帧,可丢弃一个。对于每次只发送一个帧的停止等待协议,可以只用复帧,可丢弃一个。对于每次只发送一个帧的停止等待协议,可以只用 两个不同的编号(两个不同的编号(1 1个比特)。个比特)。 差错检测差错检测- - 循环冗余检验(循环冗余检验(1 1) p差错检测主要有两种方法:差错检测主要有两种方法:奇偶校验奇偶校验(Parity Checking)(Parity Checking)和和循环冗循环冗 余检验余检验CRC(Cyclic Redundancy Check)CRC(Cyclic Redundancy Check)。 p循环冗余检验循环冗余检验CRCCRC是一种最普遍最有效的是一种最普遍最有

16、效的检错码检错码。用于。用于ARQARQ协议。协议。 p基本原理:基本原理:假设待传送的数据假设待传送的数据M M ( (共共k kbit)bit)。发送端在。发送端在M M的后面再添的后面再添 加供差错检测用的加供差错检测用的n n bit bit冗余码一起发送冗余码一起发送, , 这这n n bit bit冗余码称为冗余码称为帧检帧检 验序列验序列FCS (Frame Check Sequence)FCS (Frame Check Sequence)。把把FCSFCS加到数据块加到数据块M M的后面组的后面组 成一个包含成一个包含( (k k+ +n n)bit)bit的发送帧的发送帧T

17、T, ,使得使得T T能够用一个已知数能够用一个已知数P P整除(整除(P P为为 (n+1n+1)bit,)bit,是发送双方约定的)。若没有余数,则认为没有出错。是发送双方约定的)。若没有余数,则认为没有出错。 p 模模2 2算法算法 设设: : M M=1010001101=1010001101(k=10bitk=10bit) P P = 110101(6bit) = 110101(6bit) 求求FCS:FCS: (1)2(1)2n nM M 由于由于P P包含包含6 6位,所以位,所以n=5n=5。把。把M M左移左移5 5位位2 2n nM=M=101000110100000101

18、000110100000 (2)(2)求求FCSFCS 把把2 2n nM M 除以除以P ,P ,得余数得余数R R =01110 =01110 即为即为FCSFCS (3)(3)组成发送帧组成发送帧T= 2T= 2n nM +R=M +R=101000110101110101000110101110 注:注:模模2 2运算进行加法时不进位,减法和加法一样。如,运算进行加法时不进位,减法和加法一样。如,1111+1010=01011111+1010=0101 差错检测差错检测- - 循环冗余检验(循环冗余检验(2 2) p生成多项式生成多项式 -一种较方便的方法是用多项式来表示循环冗余检验过

19、程,即使用一种较方便的方法是用多项式来表示循环冗余检验过程,即使用多项式多项式 相应的相应的系数系数来表示上述二进制数字中的来表示上述二进制数字中的1 1和和0 0。 -例如,可以用多项式例如,可以用多项式P P( (X X) = ) = X X5 5+ +X X4 4+ +X X2 2+1+1来表示上面的除数来表示上面的除数P P(称为生成多(称为生成多 项式)。因此,在接收端进行的运算就可以写为:项式)。因此,在接收端进行的运算就可以写为: )( )( )()( XQ XP XRXMX n 只要得出的余数只要得出的余数Q Q不为不为0 0,就表示检测到了差错。,就表示检测到了差错。 pP

20、P的挑选的挑选 只要经过严格的挑选,并使用位数较多的除数只要经过严格的挑选,并使用位数较多的除数P P,那么出现检测不,那么出现检测不 到的差错的概率就可以是个很小的数值。现在广泛使用的到的差错的概率就可以是个很小的数值。现在广泛使用的P P( (X X) )有:有: CRC-16 = CRC-16 = X X16 16+ +X X1515+ +X X2 2+1 +1 CRC-CCITT = CRC-CCITT = X X16 16+ +X X1212+ +X X5 5+1 +1 CRC-32 = CRC-32 = X X32 32+ +X X2626+ +X X2323+ +X X2222+

21、 +X X1616+ +X X1212+ +X X1111+ +X X1010+ +X X8 8+ +X X7 7+ +X X5 5 + +X X4 4+ +X X2 2+ +X X+1+1 4.3.4 停止等待协议的算法(停止等待协议的算法(1 1) p在发送结点:在发送结点: (1)(1)从主机取一个数据帧;从主机取一个数据帧; (2)V(S)0(2)V(S)0; / /* *发送状态变量初始化发送状态变量初始化* */ / (3)N(S)V(S) (3)N(S)V(S); / /* *将发送状态变量的数值写入发送序号将发送状态变量的数值写入发送序号* */ / 将数据帧送交发送缓存;将数

22、据帧送交发送缓存; (4)(4)将发送缓存中的数据帧发送出去;将发送缓存中的数据帧发送出去; (5)(5)设置超时计时器;设置超时计时器; / /* *选择适当的超时重传时间选择适当的超时重传时间t tout out* */ / (6) (6)等待;等待; / /* *等待以下等待以下3 3个事件中最先出现的一个个事件中最先出现的一个* */ / (7) (7)若收到确认帧若收到确认帧ACKACK,则从主机取一个新的数据帧;,则从主机取一个新的数据帧; V(S)1V(S)1- -V(S)V(S); / /* *更新发送状态变量,变为下一个序号更新发送状态变量,变为下一个序号* */ / 转到转

23、到 (3)(3); (8)(8)若收到否认帧若收到否认帧NAKNAK,则转到,则转到(4)(4); / /* *重传数据帧重传数据帧* */ / (9) (9)若超时计时器时间到,则转到若超时计时器时间到,则转到(4)(4); / /* *重传数据帧重传数据帧* */ / 注:每发送一个数据帧,都必须将发送状态变量注:每发送一个数据帧,都必须将发送状态变量V(S)V(S)的值的值(0(0或或1)1)写到数写到数 据帧的发送序号据帧的发送序号N(S)N(S)上。但只有收到一个确认帧上。但只有收到一个确认帧ACKACK后,才更新发送状后,才更新发送状 态变量态变量V(S)V(S)一次一次( (将将

24、1 1变成变成0 0或或0 0变成变成1)1)并发送新的数据帧。并发送新的数据帧。 4.3.4 停止等待协议的算法(停止等待协议的算法(2 2) p在接收结点:在接收结点: (1)V(R)0(1)V(R)0;/ /* *接收状态变量初始化接收状态变量初始化, ,其数值等于欲接收的数据帧的发送序号其数值等于欲接收的数据帧的发送序号* */ / (2) (2)等待;等待; (3)(3)当收到一个数据帧,就检查有无产生传输差错当收到一个数据帧,就检查有无产生传输差错( (如用如用CRC)CRC); 若检查结果正确无误,则执行后续算法;若检查结果正确无误,则执行后续算法; 否则转到否则转到(8)(8)

25、; (4)(4)若若N(S)= V(R)N(S)= V(R),则执行后续算法,则执行后续算法; ; / /* *收到发送序号正确的数据帧收到发送序号正确的数据帧* */ / 否则丢弃此数据帧,然后转到否则丢弃此数据帧,然后转到(7)(7); (5)(5)将收到的数据帧中的数据部分送交主机;将收到的数据帧中的数据部分送交主机; (6)V(R)1(6)V(R)1- -V(R)V(R);/ /* *更新接收状态变量,准备接收下一个数据帧更新接收状态变量,准备接收下一个数据帧* */ / (7) (7) 发送确认帧发送确认帧 ACKACK,并转到,并转到(2)(2); (8) (8) 发送否认帧发送否

26、认帧 NAKNAK,并转到,并转到(2)(2); 注:注:(1)(1)在接收端,每接收到一个数据帧,就要将发方在数据帧上设置在接收端,每接收到一个数据帧,就要将发方在数据帧上设置 的发送序号的发送序号N(S) N(S) 与本地的接收状态变量与本地的接收状态变量V(R) V(R) 相比较。若二者相等就表相比较。若二者相等就表 明是新的数据帧,否则为重复帧。明是新的数据帧,否则为重复帧。 (2) (2) 在接收端,若收到一个重复帧,则丢弃之,且接收状态变量不在接收端,若收到一个重复帧,则丢弃之,且接收状态变量不 变,但此时仍须向发送端发送一个确认帧变,但此时仍须向发送端发送一个确认帧ACKACK。

27、 停止等待协议工作过程停止等待协议工作过程 4.3.4 停止等待协议的算法(停止等待协议的算法(3 3) p由于发送端对出错的数据帧进行重传是自动进由于发送端对出错的数据帧进行重传是自动进 行的,所以这种差错控制体制常简称为行的,所以这种差错控制体制常简称为ARQ ARQ (Automatic Repeat reQuest)(Automatic Repeat reQuest),直译是,直译是自动重传自动重传 请求请求,但意思是自动请求重传。,但意思是自动请求重传。 pARQARQ评价:评价:简单易行;通信信道的利用率不高。简单易行;通信信道的利用率不高。 4.4 滑动窗口协议滑动窗口协议 p滑

28、动窗口滑动窗口是另外一种流量控制方法,发送方在受到确认之是另外一种流量控制方法,发送方在受到确认之 前可以连续发送若干帧。接收方只对其中若干帧进行确认前可以连续发送若干帧。接收方只对其中若干帧进行确认. . p滑动窗口协议:滑动窗口协议:即使用一个即使用一个ACKACK帧对多个数据帧进行确认。帧对多个数据帧进行确认。 滑动窗口滑动窗口 p 滑动窗口滑动窗口是指发送方和接收方都要创建额外的缓冲区。这是指发送方和接收方都要创建额外的缓冲区。这 个窗口可以在两端存取数据,它的大小(记为个窗口可以在两端存取数据,它的大小(记为n n)对确认之前)对确认之前 可以传输的帧的数目进行限制。可以传输的帧的数

29、目进行限制。 p 发送窗口发送窗口, ,所能够发送的帧的范围区间,它代表了在未所能够发送的帧的范围区间,它代表了在未 收到确认信息的情况下,发送端最多能发送多少个数据帧收到确认信息的情况下,发送端最多能发送多少个数据帧 。 p 接收窗口接收窗口,用来限制连续接收帧的个数,实现流量控制,用来限制连续接收帧的个数,实现流量控制 。 p收发两端的窗口按照以上规律不断地向前滑动,因此这收发两端的窗口按照以上规律不断地向前滑动,因此这 种协议称为种协议称为滑动窗口协议滑动窗口协议。 滑动窗口(帧)的标号滑动窗口(帧)的标号 p窗口(帧)以模窗口(帧)以模n+1n+1的方式标号。的方式标号。 例如例如n=

30、7n=7,则帧编号是:,则帧编号是:0 0,1 1,2 2,3 3,4 4,5 5,6 6,7 7 ,0 0,1 1,2 2,3 3,4 4,5 5,6 6,7 7,0 0,1 1,2 2,3 3,4 4。 p 窗口的大小是窗口的大小是7 7,也就是说,窗口大小不能覆盖所有,也就是说,窗口大小不能覆盖所有 的编号(的编号(8 8帧)帧) p 当接收方发送一个确认帧时,它就包含了一个预期接收当接收方发送一个确认帧时,它就包含了一个预期接收 的下一帧的编号。的下一帧的编号。 比如发送了一个包含编号比如发送了一个包含编号5 5的帧,表示到编号的帧,表示到编号4 4为止为止 的所有数据帧都被正确接收了

31、,希望发第的所有数据帧都被正确接收了,希望发第5 5帧。帧。 发送方窗口(帧)发送方窗口(帧) p 随着数据的发送,窗口的左边界向右移动,窗口不随着数据的发送,窗口的左边界向右移动,窗口不 断缩小,表示现在可以发送的帧变少。断缩小,表示现在可以发送的帧变少。 p 一旦一个确认帧到来,窗口的右边界向右移动被确一旦一个确认帧到来,窗口的右边界向右移动被确 认帧的个数,窗口变大,即把新的可发送的帧纳入窗认帧的个数,窗口变大,即把新的可发送的帧纳入窗 口。口。 接受方窗口(帧)接受方窗口(帧) p 随着数据的到来,窗口的左边界向右移动,它的大随着数据的到来,窗口的左边界向右移动,它的大 小表示在必须发

32、送确认帧之前还可以接收的帧的个数小表示在必须发送确认帧之前还可以接收的帧的个数 。 p随着每个随着每个ACKACK帧的发出,接收窗口按新确认的帧的数帧的发出,接收窗口按新确认的帧的数 量向右扩展相同数目的空位。量向右扩展相同数目的空位。 滑动窗口协议的示例滑动窗口协议的示例 p 随着数据的到来,窗口的左边界向右移动,它的大随着数据的到来,窗口的左边界向右移动,它的大 小表示在必须发送确认帧之前还可以接收的帧的个数小表示在必须发送确认帧之前还可以接收的帧的个数 。 p随着每个随着每个ACKACK帧的发出,接收窗口按新确认的帧的数帧的发出,接收窗口按新确认的帧的数 量向右扩展相同数目的空位。量向右

33、扩展相同数目的空位。 4.4 .1 连续连续ARQARQ协议协议(Go-back-N ARQ)(Go-back-N ARQ) p 基本原理:基本原理: -发送设备在发送出去的帧被确认之前保持它们的所有发送设备在发送出去的帧被确认之前保持它们的所有 备份备份 -在发送完一个数据帧后,不是象在发送完一个数据帧后,不是象ARQARQ中那样等待应答帧中那样等待应答帧 后再发,而是可以连续发送若干个数据帧。后再发,而是可以连续发送若干个数据帧。 -但接收端口只按顺序接收数据帧,一旦中间有一个帧但接收端口只按顺序接收数据帧,一旦中间有一个帧 出错,接收方可以发否定帧出错,接收方可以发否定帧NAK,NAK,

34、而且则在其后发送的帧而且则在其后发送的帧 要全部重发。要全部重发。 -正确的数据可以隔若干个确认一次,但每个被破坏的正确的数据可以隔若干个确认一次,但每个被破坏的 帧必须被确认帧必须被确认 -和停止和停止- -等待等待ARQARQ类似,发送方有计时器,处理确认丢类似,发送方有计时器,处理确认丢 失的情况失的情况 p当发送窗口和接收窗口大小都等于当发送窗口和接收窗口大小都等于1 1时,就是时,就是ARQARQ协议。协议。 frame 1 发送方发送方 接收方接收方 出错出错7、8两帧两帧 被丢弃被丢弃 frame 2 frame 3 ACK 4 frame 4 frame 5 frame 6 f

35、rame 7 frame 8 ACK 9 frame 7 frame 6 frame 8 超时,重传超时,重传6、7、8帧帧 - 发送方若收到对其中某一帧的否认帧,则从该帧开始的发送方若收到对其中某一帧的否认帧,则从该帧开始的 后续帧全部重发后续帧全部重发回退重传回退重传 - 若超时,则重发所有未确认帧若超时,则重发所有未确认帧 tout 4.4.2 Go-back-N ARQ4.4.2 Go-back-N ARQ的差错处理的差错处理 p优点:优点: -连续发送提高了信道利用率和通信吞吐量连续发送提高了信道利用率和通信吞吐量 -信道的延迟大,连续信道的延迟大,连续ARQARQ比比ARQARQ效

36、率要高。效率要高。 p缺点:缺点: -回退重传导致某些已正确接收的帧的重传,因此当信回退重传导致某些已正确接收的帧的重传,因此当信 道错误率较高时,传输效率会急剧下降。道错误率较高时,传输效率会急剧下降。这时连续这时连续ARQARQ 协议不一定优于停止等待协议。协议不一定优于停止等待协议。 -发送方需要有很大的缓冲区来保存未被确认的帧,要发送方需要有很大的缓冲区来保存未被确认的帧,要 为每一个未确认的帧都设置一个超时计数器,因此占为每一个未确认的帧都设置一个超时计数器,因此占 用资源较多。用资源较多。 p改进:改进: -只重传出错的帧只重传出错的帧选择重传选择重传ARQARQ Go-back-

37、N ARQGo-back-N ARQ协议的评价协议的评价 4.4.3 选择重传选择重传ARQARQ协议协议 p在连续在连续ARQARQ中,一旦中间有一个帧出错,则在其后接收到的中,一旦中间有一个帧出错,则在其后接收到的 帧全部丢失,要发送端全部重发,为此的改进;帧全部丢失,要发送端全部重发,为此的改进; p在在选择重传选择重传ARQARQ中,接收端把后面接收到的数据帧暂存在接中,接收端把后面接收到的数据帧暂存在接 收端的缓存中,等待前面那个出错的数据帧重传后,再接收收端的缓存中,等待前面那个出错的数据帧重传后,再接收 确认缓存中的数据,减少了重传的数据帧。确认缓存中的数据,减少了重传的数据帧。

38、 4.5 面向比特的链路控制规程面向比特的链路控制规程HDLCHDLC ARQARQ系列主要针对流量控制,同时保证数据传输的正确。那么系列主要针对流量控制,同时保证数据传输的正确。那么如如 何能实现何能实现ARQARQ协议功能协议功能,如何在数据单元加上相应的控制信息以及建如何在数据单元加上相应的控制信息以及建 立、保持和释放连接立、保持和释放连接, ,这需要其他具体的这需要其他具体的链路层控制协议链路层控制协议,如,如HDLCHDLC。 p早期规定在链路上所传送的数据必须由一些规定的字符集组成早期规定在链路上所传送的数据必须由一些规定的字符集组成( (如如 ASCIIASCII码码) ),控

39、制信息也只能用其中的几个来描述,这被称为,控制信息也只能用其中的几个来描述,这被称为面向字面向字 符符的协议,缺点:的协议,缺点: -只对数据部分进行差错控制,可靠性差只对数据部分进行差错控制,可靠性差 -依赖于字符集,不易扩展依赖于字符集,不易扩展 p7070年代后,出现年代后,出现面向比特面向比特的协议的协议 -IBM SNAIBM SNA的的 SDLCSDLC(同步数据链路控制同步数据链路控制 ) -ANSI ANSI 的的ADDCPADDCP(先进的数据通信控制规程)(先进的数据通信控制规程) -ISO ISO 的的HDLC HDLC (高级数据链路控制)(高级数据链路控制) -CCI

40、TTCCITT的的LAPLAP(链路接入规程)(链路接入规程) -X.25X.25采用采用LAPBLAPB(链路接入规程(链路接入规程 - - 平衡型平衡型 ) 链路配置链路配置 概念:概念: 主站:发送命令帧、数据信息帧和应答帧,负责控制链路主站:发送命令帧、数据信息帧和应答帧,负责控制链路 从站(次站):接收命令帧,向主站发送响应帧,并配合主站从站(次站):接收命令帧,向主站发送响应帧,并配合主站 复合站(组合站):同时具有主站和从站功能。复合站(组合站):同时具有主站和从站功能。 两种基本配置:两种基本配置: 非平衡配置非平衡配置 点点 - - 点工作点工作 多点工作多点工作 平衡配置平

41、衡配置 点点 - - 点工作点工作 命令命令(B/C/D) 命令命令(B) 响应响应(B) 主站主站A从站从站B 非平衡配置:点非平衡配置:点-点点 响应响应(B)响应响应(C)响应响应(D) 主站主站A 从站从站B从站从站C从站从站D 非平衡配置:点非平衡配置:点-多点多点 命令命令(A) 响应响应(B) 响应响应(A) 复合站复合站A复合站复合站B 平衡配置平衡配置 命令命令(B)(B) 数据传送方式数据传送方式 对于非平衡配置:对于非平衡配置: 正常响应方式正常响应方式(NRM)(NRM): 数据传输由主站发起,从站只能响应主站的轮询数据传输由主站发起,从站只能响应主站的轮询 异步响应方

42、式异步响应方式(ARM)(ARM): 从站可以主动发送数据,但链路管理由主站负责从站可以主动发送数据,但链路管理由主站负责 对于平衡配置:对于平衡配置: 异步平衡方式异步平衡方式(ABM)(ABM): 任一复合站都可以发起数据传输任一复合站都可以发起数据传输 HDLCHDLC的帧结构的帧结构 帧是数据链路层协议的数据单元,帧是数据链路层协议的数据单元,信息字段的头尾各加上信息字段的头尾各加上24bit24bit的的 控制信息,就构成了完整的一帧控制信息,就构成了完整的一帧 标志字段标志字段F F: 头尾各头尾各8 8位位“0111111001111110”标记帧的首尾边界以实现帧同步标记帧的首尾边界以实现帧同步 零比特填充零比特填充( (连续五个连续五个1 1后填后填0)0)以实现透明传输以实现透明传输( (透明传输区间透明传输区间) ) 地址字段地址字段A A: 非平衡方式,填入从站地址非平衡方式,填入从站地址 平衡方式,填入响应站地址平衡方式,填入响应站地址 帧检验序列帧检验序列FCSFCS:采用采用CRC-CCITT16CRC-CCITT16, G(x) = xG(x) = x 16 16 + x + x 12 12 + x + x 5 5 + 1 + 1 控制字段说明控制字段说明 控制字段控制字段C C:标记帧类型,并附加控制信息标记帧类型,并附加控制信息 信息帧:信

温馨提示

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

评论

0/150

提交评论