47
第第第 第第第第第 第第第第第第 第第第第第第第第第第 第第第第第第 ,。 第第第第第第 第第第第第第第第第第 第第第第第第 ,。 第第第第第第第第第第第第第第 第第第第第 第第第第 第第第第第第第 第第 ()() 第第第第第第第第第第第第第第 第第第第第 第第第第 第第第第第第第 第第 ()() 第第第第第 第第第第第第第第第 第 第第第第第第第 ,()。: 第第第第第 第第第第第第第第第 第 第第第第第第第 ,()。: 第第 第第第第第第第第第第第第第第第第第第第 第第第第第第第第第第 ,一 第第 第第第第第第第第第第第第第第第第第第第 第第第第第第第第第第 ,一 —— —— frame frame ), ), 第第 第第 Framing Framing )。 )。 第第 第第第第 第第 第第第第 第第第第 第第第第 error control error control 第第第第 ), 第第第第 ), / / 第第第第第第第第 第第 第第第第第 第第 第第第第第 第第第第 第第第第 flow control flow control 第第第第第第 第第第第第第 第第第 第第第 第第第第第第第第第第第第第第 ,。 第第第 第第第 第第第第第第第第第第第第第第 ,。

第三章 数据链路层

  • Upload
    espen

  • View
    49

  • Download
    0

Embed Size (px)

DESCRIPTION

第三章 数据链路层. 物理层只负责传输无结构的原始比特流,是不可靠的。 数据链路层将不可靠的物理连接(数据电路)转换成(对网络层来说)可靠的数据链路,(收发双方是相邻的)。为了实现转换: 首先,必须将物理层的无结构原始比特流划分成一定长度的结构数据单元 —— 帧( frame ),即 组帧 ( Framing )。 其次,对帧进行 差错控制 ( error control ),实现检错 / 纠错功能。 最后,通过合适的 流量控制 ( flow control )协议保证收发双方的传输同步,为网络层提供透明可靠的服务。. 虚拟通信和实际通信. 数据链路协议的位置和作用. - PowerPoint PPT Presentation

Citation preview

Page 1: 第三章 数据链路层

第三章 数据链路层 物理层只负责传输无结构的原始比特流,是不可物理层只负责传输无结构的原始比特流,是不可

靠的。靠的。 数据链路层将不可靠的物理连接(数据电路)转数据链路层将不可靠的物理连接(数据电路)转

换成(对网络层来说)可靠的数据链路,(收发换成(对网络层来说)可靠的数据链路,(收发双方是相邻的)。为了实现转换:双方是相邻的)。为了实现转换: 首先,必须将物理层的无结构原始比特流划分首先,必须将物理层的无结构原始比特流划分

成一定长度的结构数据单元成一定长度的结构数据单元————帧(帧( frameframe ),),即即组帧组帧(( FramingFraming )。)。

其次,对帧进行其次,对帧进行差错控制差错控制(( error controlerror control ),实),实现检错现检错 // 纠错功能。纠错功能。

最后,通过合适的最后,通过合适的流量控制流量控制(( flow controlflow control )协)协议保证收发双方的传输同步,为网络层提供透议保证收发双方的传输同步,为网络层提供透明可靠的服务。明可靠的服务。

Page 2: 第三章 数据链路层

虚拟通信和实际通信

Page 3: 第三章 数据链路层

数据链路协议的位置和作用

Page 4: 第三章 数据链路层

数据链路层为网络层提供的服务 一般提供一般提供 33 种基本的服务:种基本的服务:

无确认的无连接服务:无确认的无连接服务: 源机器向目的机器发送独立的帧,而目的机器不需源机器向目的机器发送独立的帧,而目的机器不需

作出确认。事先没有建立连接,事后也不存在释放。作出确认。事先没有建立连接,事后也不存在释放。对于丢失和错误的帧也不试图去恢复。恢复工作留对于丢失和错误的帧也不试图去恢复。恢复工作留给上层完成。给上层完成。

适用于误码率很低或音视频实时传输的情况,如适用于误码率很低或音视频实时传输的情况,如LANLAN 。。

有确认的无连接服务:有确认的无连接服务: 仍然不建立连接,但每一个帧都单独确认。发送方仍然不建立连接,但每一个帧都单独确认。发送方

会重发丢失和出错的帧。会重发丢失和出错的帧。 适用于象无线系统(适用于象无线系统( wireless systemswireless systems )之类的不可)之类的不可

靠信道。靠信道。 有确认的面向连接服务:有确认的面向连接服务:

传输分为建立、传输和拆除三个阶段,且每一个帧传输分为建立、传输和拆除三个阶段,且每一个帧都单独确认。主要用于都单独确认。主要用于 WANWAN 。。

Page 5: 第三章 数据链路层

组帧 将物理层的比特流划分成帧的将物理层的比特流划分成帧的 44 种方法:种方法:

字符计数法(字符计数法( character countcharacter count )) 带字符填充的首位定界符法(带字符填充的首位定界符法( starting and starting and

ending characters with character stuffingending characters with character stuffing )) 带位填充的首位标志法(带位填充的首位标志法( starting and ending starting and ending

flags with bit stuffingflags with bit stuffing )) 物理编码的违例码法(物理编码的违例码法( physical layer coding physical layer coding

violationsviolations ))

Page 6: 第三章 数据链路层

字符计数法 在帧头中使用一个字段来标明帧内的字符数。在帧头中使用一个字段来标明帧内的字符数。 一旦计数值出错,将再也无法同步。一旦计数值出错,将再也无法同步。 很少单独用,一般与其它方法结合使用。很少单独用,一般与其它方法结合使用。

Page 7: 第三章 数据链路层

带字符填充的首尾定界符法 每一帧以每一帧以 ASCIIASCII 字符序列字符序列 DLE STXDLE STX (( Data Link Data Link

Escape – Start of TeXtEscape – Start of TeXt )开头,以)开头,以 DLE ETXDLE ETX (( Data Data Link Escape – End of TeXtLink Escape – End of TeXt )结束。)结束。

若帧的数据中出现若帧的数据中出现 DLEDLE 字符,发送方则插入一个字符,发送方则插入一个 DLEDLE字符,接收方会删除这个字符,接收方会删除这个 DLEDLE 字符。字符。

只能用于较为少用的面向字符型协议。只能用于较为少用的面向字符型协议。

DLE STX

Page 8: 第三章 数据链路层

带位填充的首尾标志法 每一帧使用一个特殊的位模式(如每一帧使用一个特殊的位模式(如 0111111001111110 )作为开)作为开

始和结束的标志字节。始和结束的标志字节。 当发送方在帧的数据中遇到当发送方在帧的数据中遇到 55 个连续的个连续的 11 时,自动在时,自动在

其后插入一个其后插入一个 00 ,接收方会自动删除,接收方会自动删除 55 个连续的个连续的 11 后后面跟着的一个面跟着的一个 00 。。

用于流行的面向比特型协议,如用于流行的面向比特型协议,如 HDLCHDLC 。。

Page 9: 第三章 数据链路层

物理编码的违例码法 只能用于当物理信号的编码具有冗余码字时,只能用于当物理信号的编码具有冗余码字时,

利用这些冗余的码字来作为帧的边界。利用这些冗余的码字来作为帧的边界。 例如采用曼彻斯特编码或差分曼彻斯特编码中例如采用曼彻斯特编码或差分曼彻斯特编码中

1/21/2 位周期处不跳变的违例码来标示帧边界。位周期处不跳变的违例码来标示帧边界。使用差分曼彻斯特编码的使用差分曼彻斯特编码的 IEEE 802.5IEEE 802.5 令牌环网令牌环网中:中:

帧的起始符:帧的起始符: JK0JK000JK0JK000帧的结束符:帧的结束符: JK1JK1IEJK1JK1IE

其中其中 JJ 为“为“ 1”1” 的违例码;的违例码; KK 为“为“ 0”0” 的违例码。的违例码。 帧的其它地方绝对不会出现这样的边界码字。帧的其它地方绝对不会出现这样的边界码字。

Page 10: 第三章 数据链路层

差错的检测和纠正 发送端在发送的数据块中加入一定的冗余信息,发送端在发送的数据块中加入一定的冗余信息,

使数据块与冗余信息之间建立某种关联的关系,使数据块与冗余信息之间建立某种关联的关系,接收端通过验证这种关系是否存在,来判定数据接收端通过验证这种关系是否存在,来判定数据在传输过程中是否出错。在传输过程中是否出错。

在数据块中加入冗余信息的过程叫在数据块中加入冗余信息的过程叫差错编码差错编码,有,有两种基本的差错编码策略:两种基本的差错编码策略: 检错码(检错码( error-detecting codeerror-detecting code ):只能检查是):只能检查是否有错,但不知错在何处的编码。否有错,但不知错在何处的编码。

纠错码(纠错码( error-correcting codeerror-correcting code ):不但能检查):不但能检查出错误,且能确定错误之处并予以纠正的编码。出错误,且能确定错误之处并予以纠正的编码。

任何一种差错编码都不能保证百分之百的准确。任何一种差错编码都不能保证百分之百的准确。

Page 11: 第三章 数据链路层

检错与纠错能力的分析 设一帧包含设一帧包含 mm 个数据(报文)位和个数据(报文)位和 rr 个冗余位,则总长度为个冗余位,则总长度为

n n = = m m + + rr 。把长度为。把长度为 nn 位的单元称作位的单元称作 nn 位码字(位码字( codeworcodewordd )。)。

在在 nn 位码字的编码集中,有效码字数为位码字的编码集中,有效码字数为 22mm 个,总码字数为个,总码字数为22nn 个,显然存在个,显然存在 22nn - 2- 2mm 个码字是无效的码字。个码字是无效的码字。 若一个有效码字由于差错变成一个无效码字,就能判断若一个有效码字由于差错变成一个无效码字,就能判断

出有错。出有错。 若一个有效码字错成了另一个有效码字,则错误就检测若一个有效码字错成了另一个有效码字,则错误就检测

不出来了。不出来了。 两个码字中对应比特位取值不同的位的个数称作两个码字中对应比特位取值不同的位的个数称作海明距离海明距离

(( Hamming DistanceHamming Distance )。如)。如 1010001001001001 和和 1010110110001001 的海明的海明距离为距离为 33 。。

在一个编码集中,任意两个码字的海明距离的最小值称作该在一个编码集中,任意两个码字的海明距离的最小值称作该编码集的海明距离。编码集的海明距离。

检错与纠错的能力取决于海明距离。检错与纠错的能力取决于海明距离。

Page 12: 第三章 数据链路层

有关检错和纠错的两个重要结论 如果要检测出如果要检测出 dd 个比特错误,则编码集的海明距离至个比特错误,则编码集的海明距离至

少应为少应为 dd+1+1 。。 说(证)明:若一个有效码字只出错说(证)明:若一个有效码字只出错 < < dd+1+1 个比特,个比特,

则肯定变为一个无效码字,从而被检测出来。若出则肯定变为一个无效码字,从而被检测出来。若出错错 dd+1+1 ,则变为有效码字,不能检出。,则变为有效码字,不能检出。

如果要纠正如果要纠正 dd 个比特错误,则编码集的海明距离至少个比特错误,则编码集的海明距离至少应为应为 22dd+1+1 。。 所谓纠错是将无效码字恢复成与它海明距离最近的所谓纠错是将无效码字恢复成与它海明距离最近的

有效码字。显然这并不是百分之百正确。有效码字。显然这并不是百分之百正确。 说(证)明:若出错说(证)明:若出错 dd 个比特,则该无效码字与个比特,则该无效码字与

有效码字的海明距离仍然是最近的。若出错超过有效码字的海明距离仍然是最近的。若出错超过 dd个比特,就违背了纠错的原则。个比特,就违背了纠错的原则。

考虑一个实例:编码集中有四个有效码字考虑一个实例:编码集中有四个有效码字(( 000000000000 ,, 000111000111 ,, 111000111000 ,, 111111111111 ),海明距),海明距离为离为 33 ,则可检测,则可检测 3-1 = 23-1 = 2 个比特错,可纠正 个比特错,可纠正 (3-1)/2 = (3-1)/2 = 11 个比特错。个比特错。

Page 13: 第三章 数据链路层

奇偶校验( parity check ) 在数据后面增加一个奇偶校验位在数据后面增加一个奇偶校验位

(( parityparity bitbit )的编码,奇偶校验位的选)的编码,奇偶校验位的选取原则是使码字内的取原则是使码字内的 11 的数目为偶数的数目为偶数(偶校验)或奇数(奇校验)。(偶校验)或奇数(奇校验)。

如:如: 1011010110110101 变为变为 101101011011010111 (偶校(偶校验)或验)或 101101011011010100 (奇校验)。(奇校验)。

这种编码可检测单比特错,其海明距离这种编码可检测单比特错,其海明距离为为 22 。。

Page 14: 第三章 数据链路层

海明码( Hamming ) 海明码由海明于海明码由海明于 19501950年提出,是一种可纠正单比特错年提出,是一种可纠正单比特错

的编码。的编码。 通过在特定的位置(通过在特定的位置( 22kk ,, kk≥0≥0,即,即

11 ,, 22 ,, 44 ,, 88 ,, 16…16… )加入与某些特定数据信息位)加入与某些特定数据信息位相关的奇偶校验位就构成了海明码。每位数据信息位相关的奇偶校验位就构成了海明码。每位数据信息位可用可用 22kk 的和来表示(如的和来表示(如 11=211=200+2+211+2+233 ),则该数据信息),则该数据信息位是由展开式中的奇偶校验位(位是由展开式中的奇偶校验位( 22k k )位来校验的,如)位来校验的,如第第 1111 位的数据信息位分别由位的数据信息位分别由 11 ,, 22 ,, 88 位进行校验。位进行校验。

考虑数据考虑数据 11000011100001 的海明码(偶校验)的海明码(偶校验)位位 11 位位 22 位位 33 位位 44 位位 55 位位 66 位位 77 位位 88 位位 99 位位

1010位位1111

2200=1=1 11 11 11 11 11 11

2211=2=2 22 22 22 22 22 22

2222=4=4 44 44 44 44

2233=8=8 88 88 88 88

海明码海明码 11 00 11 11 11 00 00 11 00 00 11

Page 15: 第三章 数据链路层

海明码的纠错 接收方设置一计数器清零。接收方设置一计数器清零。 检查所有的奇偶校验位(检查所有的奇偶校验位( 22kk ,, kk≥0≥0 )。)。 若校验出错,则将出错的奇偶校验位号加进计数器。若校验出错,则将出错的奇偶校验位号加进计数器。 全部检查完后,若计数器为全部检查完后,若计数器为 00 ,则表示没有错误;若不为,则表示没有错误;若不为 00 ,则,则

计数器中的值就是出错的位号,对该位求反即纠正了错误。计数器中的值就是出错的位号,对该位求反即纠正了错误。 在下图中:在下图中: SS 表示发送数据;表示发送数据; RR表示接受数据;表示接受数据; CC表示检查校表示检查校验后发位验后发位 11 和位和位 88 校验出错,则是位校验出错,则是位 9=1+89=1+8 数据位出错;数据位出错; FF 是对是对位位 99 数据位求反纠正。数据位求反纠正。

位位 11 位位 22 位位 33 位位 44 位位 55 位位 66 位位 77 位位 88 位位 99 位位1010

位位1111

2200 2211 II 2222 II II II 2233 II II II

SS 11 00 11 11 11 00 00 11 00 00 11

RR 11 00 11 11 11 00 00 11 11 00 11

CC 00 00 11 11 11 00 00 00 11 00 11

FF 11 00 11 11 11 00 00 11 00 00 11

Page 16: 第三章 数据链路层

CRC 检错码 CRCCRC (( Cyclic Redundancy CodeCyclic Redundancy Code ,循环冗余码,也叫多,循环冗余码,也叫多项式编码)是一种高性能的检错编码。项式编码)是一种高性能的检错编码。

将位串中每一位二进制数看成是一个一元多项式的系数,将位串中每一位二进制数看成是一个一元多项式的系数,则一个则一个 kk 位帧可表示成一个阶数为位帧可表示成一个阶数为 kk-1-1 的从的从 xxkk-1-1 到到 xx00 的的 kk次多项式,如次多项式,如 110001110001表示成表示成 xx55++xx44++xx00 。。

多项式以多项式以 22 为模运算,其加减法及除法中的减法都同于为模运算,其加减法及除法中的减法都同于异或操作,只有被除数和除数等长时才作减法。异或操作,只有被除数和除数等长时才作减法。

设发送方发送设发送方发送 mm 位长的帧多项式为位长的帧多项式为 MM((xx)) ,收发双方需,收发双方需共同商定一个共同商定一个 rr+1+1 位长的生成多项式位长的生成多项式 GG((xx)) ,必须,必须 m m > > rr+1+1 。发送方在。发送方在 MM((xx)) 后面增加一个冗余多项式后面增加一个冗余多项式 RR((xx)) 构成构成带校验信息的传输帧多项式带校验信息的传输帧多项式 TT((xx)) ,, TT((xx)) 必须能被必须能被 GG((xx))整除。当接收方收到整除。当接收方收到 TT((xx)) 后,只要检查后,只要检查 TT((xx)) 和和 GG((xx)) 的的整除关系是否存在即可判定传输是否出错。具体算法:整除关系是否存在即可判定传输是否出错。具体算法:①① 对对 MM((xx))左移左移 rr 位,得到多项式位,得到多项式 xxrrMM((xx)) ,帧长为,帧长为 mm++rr

位。位。②② 按模按模 22 除法将除法将 xxrrMM((xx)) 除以除以 GG((xx)) 。。③③ 按模按模 22减法将减法将 xxrrMM((xx))减去减去②②中所得余数,即得到多项中所得余数,即得到多项

式式 TT((xx)) 。。

Page 17: 第三章 数据链路层

CRC 检错码举例 帧为帧为 11010110111101011011 ,,

GG((xx)=)=xx44+x+1+x+1 (其(其位串为位串为 1001110011 ))

xxrrMM((xx)) 的位串为的位串为1101011011110101101100000000

xxrrMM((xx)) 除以除以 GG((xx)) 的的余数位串为余数位串为 11101110

最终最终 TT((xx)) 的位串为的位串为1101011011110101101111101110

Page 18: 第三章 数据链路层

三个国际标准的生成多项式CRC-12CRC-12 = = xx1212++xx1111++xx33++xx22++xx11+1+1CRC-16CRC-16 = = xx1616++xx1515++xx22+1+1CRC-CCITTCRC-CCITT = = xx1616++xx1212++xx55+1+1 CRC-16CRC-16 和和 CRC-CCITTCRC-CCITT 这种这种 1616 位校验码位校验码

可检测出所有的单位错、两位错、奇数可检测出所有的单位错、两位错、奇数位错、突发长度小于或等于位错、突发长度小于或等于 1616 的突发错、的突发错、1717 位突发错的位突发错的 99.997%99.997% 、、 1818 位或更长突位或更长突发错的发错的 99.998%99.998% 。。

Page 19: 第三章 数据链路层

差错控制策略 检检 // 纠错码的检纠错码的检 // 纠错能力与编码集的海明距离纠错能力与编码集的海明距离

有关,海明距离越大,检有关,海明距离越大,检 // 纠错能力就越强,但纠错能力就越强,但所需的冗余信息就越多,编码效率就越低。所需的冗余信息就越多,编码效率就越低。

由于纠错码比检错码要求更大的海明距离,且由于纠错码比检错码要求更大的海明距离,且技术复杂,纠正可靠性不高,所以一般很少使技术复杂,纠正可靠性不高,所以一般很少使用,只有在没有反馈信道的单工通信中,为了用,只有在没有反馈信道的单工通信中,为了确保可靠才会采用。确保可靠才会采用。

在大多数通信中采用的是检错编码。接收方收在大多数通信中采用的是检错编码。接收方收到帧后,对其进行校验检查,并发回相应的反到帧后,对其进行校验检查,并发回相应的反馈信息。发送方根据反馈信息来决定是继续发馈信息。发送方根据反馈信息来决定是继续发送新帧(肯定应答),还是重发出错的旧帧送新帧(肯定应答),还是重发出错的旧帧(否定应答)。(否定应答)。

Page 20: 第三章 数据链路层

确认( acknowledge )的三种方式 肯定确认(肯定确认( positive acknowledgementpositive acknowledgement ):对收):对收

到的正确帧的肯定确认应答(到的正确帧的肯定确认应答( acksacks )。)。 否定确认(否定确认( negativenegative acknowledgementacknowledgement ):对收):对收

到的错误帧的否定确认应答(到的错误帧的否定确认应答( nacksnacks )。)。 双向确认:收到正确的帧返回肯定的确认应答,双向确认:收到正确的帧返回肯定的确认应答,

收到错误的帧返回否定的确认应答。在大多数收到错误的帧返回否定的确认应答。在大多数场合广泛采用。场合广泛采用。

Page 21: 第三章 数据链路层

基本数据链路协议 一种无限制的单工协议(一种无限制的单工协议( An Unrestricted An Unrestricted

Simplex ProtocolSimplex Protocol )) 停停 -- 等协议(等协议( Stop-and-Wait ProtocolStop-and-Wait Protocol )) 有噪音信道的停有噪音信道的停 -- 等协议(等协议( Stop-and-Stop-and-

Wait Protocol for a Noisy ChannelWait Protocol for a Noisy Channel ))

Page 22: 第三章 数据链路层

协议 1 :一种无限制的单工协议(乌托邦)

完全理想的条件:数据单向传输,收发双方的网完全理想的条件:数据单向传输,收发双方的网络层一直处于就绪状态,处理时间可忽略不计,络层一直处于就绪状态,处理时间可忽略不计,接收缓冲空间无限大,信道不会损坏或丢失帧。接收缓冲空间无限大,信道不会损坏或丢失帧。

发送端无限循环地重复三个动作:发送端无限循环地重复三个动作:从网络层取分组。从网络层取分组。 构造帧。构造帧。 发出帧。发出帧。

无需任何差错控制和流量控制。无需任何差错控制和流量控制。 接收端也是无限循环地重复三个动作:接收端也是无限循环地重复三个动作:

等待事件(唯一的未损坏帧的到达)发生。等待事件(唯一的未损坏帧的到达)发生。 帧到达后,从硬件缓冲中取出新到的帧。帧到达后,从硬件缓冲中取出新到的帧。 将帧的数据部分传给网络层。将帧的数据部分传给网络层。

无需做其它任何处理。无需做其它任何处理。

Page 23: 第三章 数据链路层

协议 2 :停 -等协议 条件基本同协议条件基本同协议 11 ,只是接收缓冲只能存放一,只是接收缓冲只能存放一

个帧且接收端需要一定的接收处理时间。个帧且接收端需要一定的接收处理时间。 为了防止发送快于接收而造成数据丢失,发送为了防止发送快于接收而造成数据丢失,发送端在发送一帧后必须停止发送,等待接收端发端在发送一帧后必须停止发送,等待接收端发回的回的反馈确认反馈确认短帧;接收端在收到一个帧并发短帧;接收端在收到一个帧并发送网络层后,需向发送端发一反馈确认短帧送网络层后,需向发送端发一反馈确认短帧(不需包含任何信息,因为信道是无差错的),(不需包含任何信息,因为信道是无差错的),表示可发新帧。表示可发新帧。

由于需要反馈,且帧的发送和反馈是严格交替由于需要反馈,且帧的发送和反馈是严格交替进行的,所以一般采用半双工信道。进行的,所以一般采用半双工信道。

Page 24: 第三章 数据链路层

有噪音信道的停 -等协议所涉及的问题

进一步考虑实际的会出错的信道,帧既可能损坏(接收端进一步考虑实际的会出错的信道,帧既可能损坏(接收端可通过校验检查出错误),也可能完全丢失。可通过校验检查出错误),也可能完全丢失。

发送端仍通过接收端的反馈来决定怎么做。但由于帧会丢发送端仍通过接收端的反馈来决定怎么做。但由于帧会丢失,发送端可能收不到反馈的确认帧,因此发送端必须引失,发送端可能收不到反馈的确认帧,因此发送端必须引入入超时机制超时机制(( time outtime out ),即增加一个定时计数器,在一),即增加一个定时计数器,在一定时间后对没有确认的帧进行重发,也称作定时间后对没有确认的帧进行重发,也称作ARQARQ (( Automatic Retransmit reQuestAutomatic Retransmit reQuest )。)。 时间值应选择稍大于两倍端到端的信号传输时间和接收时间值应选择稍大于两倍端到端的信号传输时间和接收端的接收处理时间之和。端的接收处理时间之和。

当接收端的反馈确认帧丢失时,必须通过为帧编制当接收端的反馈确认帧丢失时,必须通过为帧编制序号序号来来解决重复帧的问题。解决重复帧的问题。 帧的序号位数应尽量的短从而少占用帧头的空间,这里帧的序号位数应尽量的短从而少占用帧头的空间,这里

只需只需 11 个比特位(“个比特位(“ 0”0”→→“1”“1” ,“,“ 1”1”→→“0”“0” )即可。这)即可。这是由于在本协议中,发送端每发送一个帧都是建立在此是由于在本协议中,发送端每发送一个帧都是建立在此帧之前的所有帧都已正确发送的基础上,只需区分相邻帧之前的所有帧都已正确发送的基础上,只需区分相邻的两个连续帧即可避免重复的可能。的两个连续帧即可避免重复的可能。

Page 25: 第三章 数据链路层

协议 3 :有噪音信道的停 -等协议 收发双方都需维护各自的帧序号(收发双方都需维护各自的帧序号( sequence numbersequence number ,初始都为,初始都为 00 )。)。

发送端维护的帧序号发送端维护的帧序号 NN((SS)) 表示当前所发帧的序号,接收端维护的帧表示当前所发帧的序号,接收端维护的帧序号序号 NN((RR)) 表示接收端当前所期待接收的帧序号。发送端从网络层取表示接收端当前所期待接收的帧序号。发送端从网络层取得第一个分组进行组帧,将得第一个分组进行组帧,将 NN((SS)=0)=0 的序号放入帧头中作为第一个帧,的序号放入帧头中作为第一个帧,通过物理层的发送缓存器发送出去,并启动定时计数器,然后停下通过物理层的发送缓存器发送出去,并启动定时计数器,然后停下来等待其响应帧。来等待其响应帧。

接收端收到一个帧后,对其序号和接收端收到一个帧后,对其序号和 NN((RR)) 进行比较:进行比较: 若不等,则将其作为重复帧而丢弃;若不等,则将其作为重复帧而丢弃; 若相等则对其接收,经校验正确并送交网络层后,将若相等则对其接收,经校验正确并送交网络层后,将 NN((RR)) 加加 11

(模(模 22 运算)并放入确认帧中反馈回发送端;若校验出错,则丢运算)并放入确认帧中反馈回发送端;若校验出错,则丢弃出错的帧,保持弃出错的帧,保持 NN((RR)) 的值不变并放入确认帧中反馈回发送端。的值不变并放入确认帧中反馈回发送端。

发送端若在规定的时间内没有收到接收端的反馈确认帧(超时),发送端若在规定的时间内没有收到接收端的反馈确认帧(超时),就认为数据帧丢失,在保持就认为数据帧丢失,在保持 NN((SS)) 不变的情况下重新发送缓冲器中的不变的情况下重新发送缓冲器中的(旧)帧;若接收到确认帧后,比较确认帧中的序号和(旧)帧;若接收到确认帧后,比较确认帧中的序号和 NN((SS)) :: 若相等,则保持若相等,则保持 NN((SS)) 不变,重新发送缓冲器中的(旧)帧;不变,重新发送缓冲器中的(旧)帧; 若不等,则将确认帧中的序号赋予若不等,则将确认帧中的序号赋予 NN((SS)) ,从网络层获取新的分,从网络层获取新的分

组并组成新帧(组并组成新帧( NN((SS)) 作为序号放入帧头中)交由物理层发送出作为序号放入帧头中)交由物理层发送出去。去。

发送端每发送一帧,都会重新启动定时计数器,然后停下来等待其发送端每发送一帧,都会重新启动定时计数器,然后停下来等待其响应帧。响应帧。

Page 26: 第三章 数据链路层

停 -等协议对信道利用率的影响 在时延大的信道(如卫星通信)中,停在时延大的信道(如卫星通信)中,停 --等协议的效等协议的效

率是很低的。率是很低的。 考虑两个地面站通过卫星通信,典型的传输时间约为考虑两个地面站通过卫星通信,典型的传输时间约为

270ms270ms 。假设一个帧的发送时间为。假设一个帧的发送时间为 20ms20ms ,则从发送站,则从发送站开始发送算起,经开始发送算起,经 20ms+ 270ms=290ms20ms+ 270ms=290ms ,数据帧才能,数据帧才能到达目的站。假设不考虑目的站的处理时间,且认为到达目的站。假设不考虑目的站的处理时间,且认为确认帧非常短,其发送时间可忽略不计,则又需确认帧非常短,其发送时间可忽略不计,则又需270ms270ms 确认帧才能被发送站收到。因此信道的利用率确认帧才能被发送站收到。因此信道的利用率为:为: 20ms/(290ms+270ms)=1/2820ms/(290ms+270ms)=1/28 ,非常低。这是由于,非常低。这是由于每发一个帧之前都必须等待前一个帧的确认帧所造成每发一个帧之前都必须等待前一个帧的确认帧所造成的。的。

为了提高传输效率,可以设想让发送站连续不断地发为了提高传输效率,可以设想让发送站连续不断地发送数据帧,当发完第送数据帧,当发完第 2828 个帧数据后,恰好第个帧数据后,恰好第 11 帧的确帧的确认帧到达,根据确认可紧接着发第认帧到达,根据确认可紧接着发第 2929 帧或重发第帧或重发第 11 帧。帧。以后,每过以后,每过 20ms20ms (发一个帧)就有一个确认帧到达,(发一个帧)就有一个确认帧到达,这样信道的利用率就大大地提高了。这样信道的利用率就大大地提高了。

允许发送站连续发送多个帧而不需等待确认的做法称允许发送站连续发送多个帧而不需等待确认的做法称作管道化(作管道化( pipeliningpipelining ),属于一种窗口(),属于一种窗口( windowswindows ))机制。机制。

Page 27: 第三章 数据链路层

滑动窗口( Slide Windows )协议 滑动窗口协议是一种非常可靠、适用于各种条滑动窗口协议是一种非常可靠、适用于各种条件的通用流量控制协议,特别是在效率、复杂件的通用流量控制协议,特别是在效率、复杂性及对缓冲区的需求等方面可作灵活调配。性及对缓冲区的需求等方面可作灵活调配。

主要的滑动窗口协议有出错全部重发协议和选主要的滑动窗口协议有出错全部重发协议和选择重发协议两种。择重发协议两种。

实际上,有噪音信道的停实际上,有噪音信道的停 --等协议就是滑动窗等协议就是滑动窗口协议的一个特例,将停口协议的一个特例,将停 --等协议中的帧序号等协议中的帧序号从从 11 位扩展到位扩展到 nn 位(范围为位(范围为 0~20~2nn-1-1 ),收发双),收发双方维护的序号也变为一组序号表,分别称作方维护的序号也变为一组序号表,分别称作发发送窗口送窗口(( sending windowsending window )和)和接收窗口接收窗口(( receiving windowreceiving window )。)。

Page 28: 第三章 数据链路层

发送窗口 发送窗口就是发送端允许不等确认而连续发送的帧的发送窗口就是发送端允许不等确认而连续发送的帧的

序号表。序号表。 允许连续发送的帧的数量称为发送窗口尺寸,表示为允许连续发送的帧的数量称为发送窗口尺寸,表示为

WW 。发送端必须有。发送端必须有 WW 个输出缓冲区来存放个输出缓冲区来存放 WW 个数据帧个数据帧的副本以备数据帧的重发。的副本以备数据帧的重发。

发送端最早发送但还未收到确认的帧的序号称为发送发送端最早发送但还未收到确认的帧的序号称为发送窗口的下沿,表示为窗口的下沿,表示为 LN(LN(RR) ) 。 而 。 而 (LN((LN(RR)+)+WW-1)-1) 模模 22n n

为发送窗口的上沿。为发送窗口的上沿。 发送端将来自网络层的分组按顺序编号组帧,只有帧发送端将来自网络层的分组按顺序编号组帧,只有帧

序号落在发送窗口内的帧才可不等确认直接通过输出序号落在发送窗口内的帧才可不等确认直接通过输出缓冲区发送出去。缓冲区发送出去。

当发送端收到发送窗口下沿帧的肯定确认时,将发送当发送端收到发送窗口下沿帧的肯定确认时,将发送窗口整体向前滑动一个序号,并从输出缓冲区中将相窗口整体向前滑动一个序号,并从输出缓冲区中将相应的数据帧副本删除。应的数据帧副本删除。

Page 29: 第三章 数据链路层

接收窗口 接收窗口是接收端允许接收的帧的序号表。接收窗口是接收端允许接收的帧的序号表。 允许接收的帧的数量称为接收窗口尺寸。同样允许接收的帧的数量称为接收窗口尺寸。同样

接收端也必须设置相应数量的输入缓冲区来支接收端也必须设置相应数量的输入缓冲区来支持接收窗口。持接收窗口。

对接收端收到的帧的序号落在接收窗口外的帧对接收端收到的帧的序号落在接收窗口外的帧被直接丢弃。只有落在接收窗口内的帧才会被被直接丢弃。只有落在接收窗口内的帧才会被接收端进行校验处理,若校验正确:接收端进行校验处理,若校验正确: 当接收的帧不是接收窗口下沿帧时,必须暂当接收的帧不是接收窗口下沿帧时,必须暂

存在输入缓冲区,不能交给网络层。存在输入缓冲区,不能交给网络层。 当接收到接收窗口下沿帧时,会将其连同后当接收到接收窗口下沿帧时,会将其连同后

面连续的若干个检验过的正确帧按顺序交给面连续的若干个检验过的正确帧按顺序交给网络层,在发回确认帧的同时将接收窗口向网络层,在发回确认帧的同时将接收窗口向前滑动相应的数量。前滑动相应的数量。

Page 30: 第三章 数据链路层

滑动窗口示意图

0

1

2

34

5

6

7 0

1

2

34

5

6

7 0

1

2

34

5

6

7

0

1

2

34

5

6

7 0

1

2

34

5

6

7 0

1

2

34

5

6

70

1

2

34

5

6

7

0

1

2

34

5

6

7 0

1

2

34

5

6

7

0

1

2

34

5

6

7

0

1

2

34

5

6

7

0

1

2

34

5

6

7

发送端

接收端

帧的序号由帧的序号由 33 位组成(位组成( 0~70~7 ),发送窗),发送窗口和接收窗口的尺寸都为口和接收窗口的尺寸都为 33 。。

Page 31: 第三章 数据链路层

停 -等协议的窗口机制 帧的序号由帧的序号由 11 位组成(位组成( 0~10~1 ),发送窗口和接),发送窗口和接

收窗口的尺寸都为收窗口的尺寸都为 11 。。

01

01

01

01 01

01

01

01 01

01

01

01

发送端

接收端

Page 32: 第三章 数据链路层

数据的全双工传输 在实际通信中,通常收发双方都相互发送数据。在实际通信中,通常收发双方都相互发送数据。 为了提高效率,可以将确认信息放在数据帧中作为一个为了提高效率,可以将确认信息放在数据帧中作为一个

控制字段连同数据一起发送给对方,这种方式称为捎带控制字段连同数据一起发送给对方,这种方式称为捎带应答(应答( piggybackingpiggybacking )。)。

当一方收到对方的数据帧后:当一方收到对方的数据帧后: 若正好也有数据需发给对方,则立即可使用捎带应若正好也有数据需发给对方,则立即可使用捎带应答。答。

若暂时没有数据需发给对方或数据还未准备好,则若暂时没有数据需发给对方或数据还未准备好,则等待一定的时间,如果在该时间内准备好了数据,等待一定的时间,如果在该时间内准备好了数据,则可以使用捎带应答。如果未准备好,为了防止对则可以使用捎带应答。如果未准备好,为了防止对方等待时间过长而超时重发,必须立即发送一个单方等待时间过长而超时重发,必须立即发送一个单独的确认帧。独的确认帧。

使用捎带应答就不可能对每一个帧都作确认,可以用对使用捎带应答就不可能对每一个帧都作确认,可以用对某一个帧的确认来代替对该帧之前的所有帧的确认。某一个帧的确认来代替对该帧之前的所有帧的确认。

Page 33: 第三章 数据链路层

协议 4 :出错全部重发协议( go-back-n ) 出错全部重发协议中,发送窗口的尺寸是大于出错全部重发协议中,发送窗口的尺寸是大于 11 ,而接,而接

收窗口的尺寸则等于收窗口的尺寸则等于 11 。。 由于接收窗口的尺寸为由于接收窗口的尺寸为 11 ,接收端只能按顺序地接受数,接收端只能按顺序地接受数

据帧,一旦某个帧出错或丢失,只能简单地丢弃该帧及据帧,一旦某个帧出错或丢失,只能简单地丢弃该帧及其所有的后续帧(因为发送窗口的尺寸是大于其所有的后续帧(因为发送窗口的尺寸是大于 11 的),的),不作任何确认。发送端超时后需重发出错或丢失的帧及不作任何确认。发送端超时后需重发出错或丢失的帧及其后续所有的帧。其后续所有的帧。

发送端需要为每个待确认的帧都各自设置一个定时计数发送端需要为每个待确认的帧都各自设置一个定时计数器。器。

发送窗口的尺寸不能超过发送窗口的尺寸不能超过 22nn-1-1 ,否则会造成接收端无,否则会造成接收端无法分辨新、旧数据帧。法分辨新、旧数据帧。

出错全部重发协议只要求发送端保持一定数量的缓存来出错全部重发协议只要求发送端保持一定数量的缓存来保存没有确认的数据帧,对接收端没有缓存的要求。但保存没有确认的数据帧,对接收端没有缓存的要求。但在误码率高的情况下,会大大降低信道的利用率。在误码率高的情况下,会大大降低信道的利用率。

Page 34: 第三章 数据链路层

出错全部重发协议和选择重发协议

Page 35: 第三章 数据链路层

协议 5 :选择重发协议( selective repeat ) 选择重发协议中,发送和接收窗口的尺寸都大于选择重发协议中,发送和接收窗口的尺寸都大于 11 。。 由于接收窗口的尺寸大于由于接收窗口的尺寸大于 11 ,接收端可存储坏帧之后,接收端可存储坏帧之后

的其它数据帧(落在接收窗口),接收端对错帧发否的其它数据帧(落在接收窗口),接收端对错帧发否定确认帧,因此发送端只需重发出错的帧,而不需重定确认帧,因此发送端只需重发出错的帧,而不需重发其后的所有后续帧。发其后的所有后续帧。

接收端正确收到重发的帧后,可对其后连续的已接收接收端正确收到重发的帧后,可对其后连续的已接收的正确帧作一次总体确认(最大序号的确认),并交的正确帧作一次总体确认(最大序号的确认),并交送网络层。大大提高了信道的利用率。送网络层。大大提高了信道的利用率。

接收窗口的尺寸不能超过接收窗口的尺寸不能超过 22nn-1-1 (即序号范围的(即序号范围的 1/21/2 ),),否则可能造成帧的重叠。否则可能造成帧的重叠。

发送窗口的尺寸一般和接收窗口的尺寸相同,发送端发送窗口的尺寸一般和接收窗口的尺寸相同,发送端为每一个输出缓存区设置一个定时计数器,定时器一为每一个输出缓存区设置一个定时计数器,定时器一旦超时,相应输出缓存区中的帧就被重发。旦超时,相应输出缓存区中的帧就被重发。

Page 36: 第三章 数据链路层

接收窗口的尺寸超过 2n-1造成帧的重叠

Page 37: 第三章 数据链路层

数据链路层协议的分类 数据链路层协议也称作链路控制规程,通常分为数据链路层协议也称作链路控制规程,通常分为异步和同步两大类协议:异步和同步两大类协议:异步协议以字符为独立的传输单位,实现字符异步协议以字符为独立的传输单位,实现字符间的异步和字符内的同步传输。简单,但效率间的异步和字符内的同步传输。简单,但效率低。低。

同步协议以许多字符(面向字符型协议)或比同步协议以许多字符(面向字符型协议)或比特(面向比特型协议)组成的数据块(帧)为特(面向比特型协议)组成的数据块(帧)为传输单位,收发双方使用相同的时钟实现复杂传输单位,收发双方使用相同的时钟实现复杂的长数据块的同步传输。速度快,效率高,但的长数据块的同步传输。速度快,效率高,但复杂且成本高。复杂且成本高。

Page 38: 第三章 数据链路层

高级数据链路控制规程——HDLC HDLCHDLC (( High-Level Data Link ControlHigh-Level Data Link Control )是一个用)是一个用

于点到点连接的古老而又广泛使用的面向比特型的同于点到点连接的古老而又广泛使用的面向比特型的同步数据链路层协议。步数据链路层协议。

2020世纪世纪 7070年代,年代, IBMIBM 的的 SNASNA 中提出中提出SDLCSDLC (( Synchronous Data Link ControlSynchronous Data Link Control )。)。

随后,随后, ANSIANSI 和和 ISOISO 采纳并发展成各自的标准:采纳并发展成各自的标准: ANSIANSI :: ADCCPADCCP (( Advanced Data Communication Advanced Data Communication

Control ProcedureControl Procedure )) ISOISO :: HDLCHDLC

之后,之后, CCITTCCITT 采纳修改了采纳修改了 HDLCHDLC ,成为,成为 LAPLAP (( Link Link Access ProcedureAccess Procedure ),作为),作为 X.25X.25 网络接口标准的一部网络接口标准的一部分。后来又修改成分。后来又修改成 LAPBLAPB (( Link Access ProcedureLink Access Procedure BalancedBalanced ),使之与后来的),使之与后来的 HDLCHDLC版本更加兼容。版本更加兼容。

Page 39: 第三章 数据链路层

HDLC 的工作模式 三种站:三种站:

主站(主站( primary stationprimary station ):负责链路的控制。):负责链路的控制。 次站(次站( secondary stationsecondary station ):仅完成主站指示的工作。):仅完成主站指示的工作。 复合站(复合站( combined stationcombined station ):主站和次站组合成的站。):主站和次站组合成的站。

四种工作模式:四种工作模式: 正常响应模式正常响应模式 NRMNRM (( Normal Response ModeNormal Response Mode ):一种非平衡数):一种非平衡数

据链路操作方式,适用于面向终端的点据链路操作方式,适用于面向终端的点 -- 点或点点或点 -- 多点链路。多点链路。 异步平衡模式异步平衡模式 ABMABM (( Asynchronous Balanced ModeAsynchronous Balanced Mode ):一种平):一种平衡的数据链路操作方式,通信双方都为复合站,具有相同的功能衡的数据链路操作方式,通信双方都为复合站,具有相同的功能且相互作用。且相互作用。

分别将上两种工作模式中的帧序号位从分别将上两种工作模式中的帧序号位从 33 位扩展到位扩展到 77 位就构成了位就构成了两种扩展的(两种扩展的( extendedextended )工作模式:)工作模式: NRMENRME 和和 ABMEABME 。。

非平衡

平衡

CS

SSPS

C

R

CS

C/R

R/C

Page 40: 第三章 数据链路层

HDLC 的帧结构 标志(标志( flagflag )字段:比特模式为)字段:比特模式为 0111111001111110 ,用于标识一帧的开始,用于标识一帧的开始

和结束。注意“和结束。注意“ 0”0” 比特插入删除技术。比特插入删除技术。 地址(地址( addressaddress )字段:)字段:

在点在点 --多点线路中,用于指明通信的端址。地址的种类有单地多点线路中,用于指明通信的端址。地址的种类有单地址、组地址(高位为“址、组地址(高位为“ 1”1” )、广播地址(全“)、广播地址(全“ 1”1” )及用于测)及用于测试的无站地址(全“试的无站地址(全“ 0”0” )四种。)四种。

在点在点 --点线路中,有时用来区分命令帧(点线路中,有时用来区分命令帧( CC )和响应帧)和响应帧(( RR )。)。

控制(控制( controlcontrol )字段:用于构成各种命令和响应,对链路监视和)字段:用于构成各种命令和响应,对链路监视和控制。是控制。是 HDLCHDLC 的关键。的关键。

数据(数据( datadata )字段:可为任何内容,长度不限,一般为)字段:可为任何内容,长度不限,一般为1000~20001000~2000 比特。比特。

校验和(校验和( checksumchecksum )字段:使用)字段:使用 1616 位的位的 CRCCRC 对两个标志间的内对两个标志间的内容进行校验。容进行校验。

在空闲的线路上,不断传输标志序列。最小帧只有在空闲的线路上,不断传输标志序列。最小帧只有 33 个字段,共个字段,共3232 比特。小于比特。小于 3232 比特的帧是无效帧。比特的帧是无效帧。

Page 41: 第三章 数据链路层

HDLC 的帧类型 HDLCHDLC 使用具有使用具有 33 位序号(位序号( 0~70~7 )的滑动窗口)的滑动窗口

协议。通过控制字段中的第协议。通过控制字段中的第 11 或或 22 位可将帧标位可将帧标识成三种类型:识成三种类型: 信息(信息( InformationInformation )帧)帧监控(监控( SupervisorySupervisory )帧)帧 无序号(无序号( UnnumberedUnnumbered )帧)帧

控制字段比特控制字段比特 11 22 33 44 55 66 77 88

InformationInformation 00 NN((SS)) PP//FF NN((RR))

SupervisorySupervisory 11 00 SS11 SS22 PP//FF NN((RR))

UnnumberedUnnumbered 11 11 MM11 MM22 PP//FF MM33 MM44 MM55

Page 42: 第三章 数据链路层

HDLC 的信息帧 信息帧用于传输数据,简称信息帧用于传输数据,简称 II 帧。帧。 NN((SS)) 是发送帧的序号。是发送帧的序号。 NN((RR)) 用于捎带应答,表示下一个期待接收的帧。用于捎带应答,表示下一个期待接收的帧。 PP//FF 为探询为探询 //终止(终止( Poll/FinalPoll/Final )比特:)比特:

当主站轮询各个从站时,将当主站轮询各个从站时,将 PP 置为“置为“ 1”1” ,表,表示允许从站发送数据;从站可连续发送多帧数示允许从站发送数据;从站可连续发送多帧数据,最后一帧的据,最后一帧的 FF 必须为“必须为“ 1”1” ,表示数据传,表示数据传输结束。输结束。

在命令帧中将在命令帧中将 PP 置为“置为“ 1”1”还表示向对方询问还表示向对方询问状态,收到状态,收到 PP=1=1 的命令帧的站必须立即以的命令帧的站必须立即以FF=1=1 的响应帧进行响应。的响应帧进行响应。

Page 43: 第三章 数据链路层

P/F 比特的功能

Local Node

A frame is sent with the Poll-bit set to determine the remote node status.

Receipt of the frame with the Final-bit set indicates the remote status.

Remote Node

The remote node places its current status in a frame and sends it to the local node with the Final-bit set.

Poll

Response

Page 44: 第三章 数据链路层

HDLC 的监控帧 监控帧用于差错和流量控制,简称监控帧用于差错和流量控制,简称 SS 帧,不携带数据字段,帧,不携带数据字段,

帧长只有帧长只有 3232 比特。比特。 SS11 和和 SS22 是是 SS 帧的类型编码,四种组合:帧的类型编码,四种组合:

类型类型 00 (( 0000 ):肯定确认帧):肯定确认帧 RRRR (( Receive ReadyReceive Ready ),表),表示准备好接收序号为示准备好接收序号为 NN((RR)) 的帧。的帧。

类型类型 11 (( 0101 ):否定确认帧):否定确认帧 REJREJ (( RejectReject ),表示检测),表示检测到一个传输错误,要求重发从序号到一个传输错误,要求重发从序号 NN((RR)) 开始的所有帧。开始的所有帧。

类型类型 22 (( 1010 ):): RNRRNR (( Receive Not ReadyReceive Not Ready ),表示小),表示小于序号于序号 NN((RR)) 的帧已全部正确收到,但还未准备好接收下的帧已全部正确收到,但还未准备好接收下一个帧(如缓存区不空),要求对方停止发送。一个帧(如缓存区不空),要求对方停止发送。

类型类型 33 (( 1111 ):): SREJSREJ (( Selective RejectSelective Reject ),表示只重发),表示只重发序号为序号为 NN((RR)) 的帧。的帧。

监控帧都可用作命令帧,通过将监控帧都可用作命令帧,通过将 PP 置为“置为“ 1”1”表示向对方询表示向对方询问状态, 问状态, FF=1=1 的的 RRRR 帧用来响应已收到的帧用来响应已收到的 PP=1=1 的命令帧。的命令帧。

Page 45: 第三章 数据链路层

HDLC 的无序号帧 无序号帧因其控制字段中不包含序号(无序号帧因其控制字段中不包含序号( NN((SS)) 和和 NN((RR)) ))

而得名,简称而得名,简称 UU 帧。帧。 主要用于各种控制功能,在不可靠无连接服务中也可主要用于各种控制功能,在不可靠无连接服务中也可

用来传输无序号的信息帧。用来传输无序号的信息帧。 各类面向比特型链路协议的差别主要就体现在各类面向比特型链路协议的差别主要就体现在 UU 帧中。帧中。 UU 帧的类型由帧的类型由 MM11~~MM55 (修正位)的不同编码来表示,(修正位)的不同编码来表示,

主要的命令和响应有:主要的命令和响应有: 置模式命令:置模式命令:

SNRMSNRM :: Set NRMSet NRM SABMSABM :: Set ABMSet ABM SNRMESNRME :: Set NRMESet NRME SABMESABME :: Set ABMESet ABME

DISCDISC (( DISConnectDISConnect ):断开连接(命令)。):断开连接(命令)。 DMDM (( Disconnect ModeDisconnect Mode ):已断开方式(响应)。):已断开方式(响应)。 UAUA (( Unnumbered AcknowledgementUnnumbered Acknowledgement ):对无序号):对无序号命令的确认。命令的确认。

Page 46: 第三章 数据链路层

HDLC扩展工作模式的控制字段

11 22 33 44 55 66 77 88 99 1010 1111 1212 1313 1414 1515 1616

II 00 NN((SS)) PP//FF NN((RR))

SS 11 00 SS11 SS22 00 00 00 00 PP//FF NN((RR))

UU 11 11 MM11 MM22 PP//FF MM33 MM44 MM55

Page 47: 第三章 数据链路层

HDLC 的链路访问规程——以 LAPB 为例 分为三个阶段。分为三个阶段。 DCEDCE 连续发连续发 FLAGFLAG表表

示处于正常状态。示处于正常状态。 DM.DM.FF**表示表示 FF 为“为“ 0”0”

的的 DMDM 主动响应帧。主动响应帧。 I I x.yx.y表示表示

NN((SS)=)=xx ,, NN((RR)=)=yy 的的 II帧。帧。

RR .RR .yy 及及 REJ .REJ .yy表示表示NN((RR)=)=yy 的确认帧。的确认帧。

FLAG

DM.F*

SABM.P

UA.F

I 0.0 I 0.0

I 1.0

I 2.1 I 1.1

RR .3

I 3.2I 4.2 I 2.3

REJ .3

I 3.3

I 4.3

RR .5

DISC.P

UA.F

DTE DCE

建立链路

数据传输

断开链路