470 likes | 674 Views
第三章 数据链路层. 物理层只负责传输无结构的原始比特流,是不可靠的。 数据链路层将不可靠的物理连接(数据电路)转换成(对网络层来说)可靠的数据链路,(收发双方是相邻的)。为了实现转换: 首先,必须将物理层的无结构原始比特流划分成一定长度的结构数据单元 —— 帧( frame ),即 组帧 ( Framing )。 其次,对帧进行 差错控制 ( error control ),实现检错 / 纠错功能。 最后,通过合适的 流量控制 ( flow control )协议保证收发双方的传输同步,为网络层提供透明可靠的服务。. 虚拟通信和实际通信. 数据链路协议的位置和作用.
E N D
第三章 数据链路层 • 物理层只负责传输无结构的原始比特流,是不可靠的。 • 数据链路层将不可靠的物理连接(数据电路)转换成(对网络层来说)可靠的数据链路,(收发双方是相邻的)。为了实现转换: • 首先,必须将物理层的无结构原始比特流划分成一定长度的结构数据单元——帧(frame),即组帧(Framing)。 • 其次,对帧进行差错控制(error control),实现检错/纠错功能。 • 最后,通过合适的流量控制(flow control)协议保证收发双方的传输同步,为网络层提供透明可靠的服务。
数据链路层为网络层提供的服务 • 一般提供3种基本的服务: • 无确认的无连接服务: • 源机器向目的机器发送独立的帧,而目的机器不需作出确认。事先没有建立连接,事后也不存在释放。对于丢失和错误的帧也不试图去恢复。恢复工作留给上层完成。 • 适用于误码率很低或音视频实时传输的情况,如LAN。 • 有确认的无连接服务: • 仍然不建立连接,但每一个帧都单独确认。发送方会重发丢失和出错的帧。 • 适用于象无线系统(wireless systems)之类的不可靠信道。 • 有确认的面向连接服务: • 传输分为建立、传输和拆除三个阶段,且每一个帧都单独确认。主要用于WAN。
组帧 • 将物理层的比特流划分成帧的4种方法: • 字符计数法(character count) • 带字符填充的首位定界符法(starting and ending characters with character stuffing) • 带位填充的首位标志法(starting and ending flags with bit stuffing) • 物理编码的违例码法(physical layer coding violations)
字符计数法 • 在帧头中使用一个字段来标明帧内的字符数。 • 一旦计数值出错,将再也无法同步。 • 很少单独用,一般与其它方法结合使用。
DLE STX 带字符填充的首尾定界符法 • 每一帧以ASCII字符序列DLE STX(Data Link Escape – Start of TeXt)开头,以DLE ETX(Data Link Escape – End of TeXt )结束。 • 若帧的数据中出现DLE字符,发送方则插入一个DLE字符,接收方会删除这个DLE字符。 • 只能用于较为少用的面向字符型协议。
带位填充的首尾标志法 • 每一帧使用一个特殊的位模式(如01111110)作为开始和结束的标志字节。 • 当发送方在帧的数据中遇到5个连续的1时,自动在其后插入一个0,接收方会自动删除5个连续的1后面跟着的一个0。 • 用于流行的面向比特型协议,如HDLC。
物理编码的违例码法 • 只能用于当物理信号的编码具有冗余码字时,利用这些冗余的码字来作为帧的边界。 • 例如采用曼彻斯特编码或差分曼彻斯特编码中1/2位周期处不跳变的违例码来标示帧边界。使用差分曼彻斯特编码的IEEE 802.5令牌环网中: 帧的起始符:JK0JK000 帧的结束符:JK1JK1IE 其中J为“1”的违例码;K为“0”的违例码。 • 帧的其它地方绝对不会出现这样的边界码字。
差错的检测和纠正 • 发送端在发送的数据块中加入一定的冗余信息,使数据块与冗余信息之间建立某种关联的关系,接收端通过验证这种关系是否存在,来判定数据在传输过程中是否出错。 • 在数据块中加入冗余信息的过程叫差错编码,有两种基本的差错编码策略: • 检错码(error-detecting code):只能检查是否有错,但不知错在何处的编码。 • 纠错码(error-correcting code):不但能检查出错误,且能确定错误之处并予以纠正的编码。 • 任何一种差错编码都不能保证百分之百的准确。
检错与纠错能力的分析 • 设一帧包含m个数据(报文)位和r个冗余位,则总长度为n = m + r。把长度为n位的单元称作n位码字(codeword)。 • 在n位码字的编码集中,有效码字数为2m个,总码字数为2n个,显然存在2n- 2m个码字是无效的码字。 • 若一个有效码字由于差错变成一个无效码字,就能判断出有错。 • 若一个有效码字错成了另一个有效码字,则错误就检测不出来了。 • 两个码字中对应比特位取值不同的位的个数称作海明距离(Hamming Distance)。如10001001和10110001的海明距离为3。 • 在一个编码集中,任意两个码字的海明距离的最小值称作该编码集的海明距离。 • 检错与纠错的能力取决于海明距离。
有关检错和纠错的两个重要结论 • 如果要检测出d个比特错误,则编码集的海明距离至少应为d+1。 • 说(证)明:若一个有效码字只出错< d+1个比特,则肯定变为一个无效码字,从而被检测出来。若出错d+1,则变为有效码字,不能检出。 • 如果要纠正d个比特错误,则编码集的海明距离至少应为2d+1。 • 所谓纠错是将无效码字恢复成与它海明距离最近的有效码字。显然这并不是百分之百正确。 • 说(证)明:若出错 d个比特,则该无效码字与有效码字的海明距离仍然是最近的。若出错超过d个比特,就违背了纠错的原则。 • 考虑一个实例:编码集中有四个有效码字(000000,000111,111000,111111),海明距离为3,则可检测3-1 = 2个比特错,可纠正 (3-1)/2 = 1个比特错。
奇偶校验(parity check) • 在数据后面增加一个奇偶校验位(paritybit)的编码,奇偶校验位的选取原则是使码字内的1的数目为偶数(偶校验)或奇数(奇校验)。 • 如:10110101变为101101011(偶校验)或101101010(奇校验)。 • 这种编码可检测单比特错,其海明距离为2。
海明码(Hamming) • 海明码由海明于1950年提出,是一种可纠正单比特错的编码。 • 通过在特定的位置(2k,k≥0,即1,2,4,8,16…)加入与某些特定数据信息位相关的奇偶校验位就构成了海明码。每位数据信息位可用2k的和来表示(如11=20+21+23),则该数据信息位是由展开式中的奇偶校验位(2k )位来校验的,如第11位的数据信息位分别由1,2,8位进行校验。 • 考虑数据1100001的海明码(偶校验)
海明码的纠错 • 接收方设置一计数器清零。 • 检查所有的奇偶校验位(2k,k≥0)。 • 若校验出错,则将出错的奇偶校验位号加进计数器。 • 全部检查完后,若计数器为0,则表示没有错误;若不为0,则计数器中的值就是出错的位号,对该位求反即纠正了错误。 • 在下图中:S表示发送数据;R表示接受数据;C表示检查校验后发位1和位8校验出错,则是位9=1+8数据位出错;F是对位9数据位求反纠正。
CRC检错码 • CRC(Cyclic Redundancy Code,循环冗余码,也叫多项式编码)是一种高性能的检错编码。 • 将位串中每一位二进制数看成是一个一元多项式的系数,则一个k位帧可表示成一个阶数为k-1的从xk-1到x0的k次多项式,如110001表示成x5+x4+x0。 • 多项式以2为模运算,其加减法及除法中的减法都同于异或操作,只有被除数和除数等长时才作减法。 • 设发送方发送m位长的帧多项式为M(x),收发双方需共同商定一个r+1位长的生成多项式G(x),必须m > r+1。发送方在M(x)后面增加一个冗余多项式R(x)构成带校验信息的传输帧多项式T(x),T(x)必须能被G(x)整除。当接收方收到T(x)后,只要检查T(x)和G(x)的整除关系是否存在即可判定传输是否出错。具体算法: • 对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
三个国际标准的生成多项式 CRC-12 = x12+x11+x3+x2+x1+1 CRC-16 = x16+x15+x2+1 CRC-CCITT = x16+x12+x5+1 • CRC-16和CRC-CCITT这种16位校验码可检测出所有的单位错、两位错、奇数位错、突发长度小于或等于16的突发错、17位突发错的99.997%、18位或更长突发错的99.998%。
差错控制策略 • 检/纠错码的检/纠错能力与编码集的海明距离有关,海明距离越大,检/纠错能力就越强,但所需的冗余信息就越多,编码效率就越低。 • 由于纠错码比检错码要求更大的海明距离,且技术复杂,纠正可靠性不高,所以一般很少使用,只有在没有反馈信道的单工通信中,为了确保可靠才会采用。 • 在大多数通信中采用的是检错编码。接收方收到帧后,对其进行校验检查,并发回相应的反馈信息。发送方根据反馈信息来决定是继续发送新帧(肯定应答),还是重发出错的旧帧(否定应答)。
确认(acknowledge)的三种方式 • 肯定确认(positive acknowledgement):对收到的正确帧的肯定确认应答(acks)。 • 否定确认(negativeacknowledgement):对收到的错误帧的否定确认应答(nacks)。 • 双向确认:收到正确的帧返回肯定的确认应答,收到错误的帧返回否定的确认应答。在大多数场合广泛采用。
基本数据链路协议 • 一种无限制的单工协议(An Unrestricted Simplex Protocol) • 停-等协议(Stop-and-Wait Protocol) • 有噪音信道的停-等协议(Stop-and-Wait Protocol for a Noisy Channel)
协议1:一种无限制的单工协议(乌托邦) • 完全理想的条件:数据单向传输,收发双方的网络层一直处于就绪状态,处理时间可忽略不计,接收缓冲空间无限大,信道不会损坏或丢失帧。 • 发送端无限循环地重复三个动作: • 从网络层取分组。 • 构造帧。 • 发出帧。 无需任何差错控制和流量控制。 • 接收端也是无限循环地重复三个动作: • 等待事件(唯一的未损坏帧的到达)发生。 • 帧到达后,从硬件缓冲中取出新到的帧。 • 将帧的数据部分传给网络层。 无需做其它任何处理。
协议2:停-等协议 • 条件基本同协议1,只是接收缓冲只能存放一个帧且接收端需要一定的接收处理时间。 • 为了防止发送快于接收而造成数据丢失,发送端在发送一帧后必须停止发送,等待接收端发回的反馈确认短帧;接收端在收到一个帧并发送网络层后,需向发送端发一反馈确认短帧(不需包含任何信息,因为信道是无差错的),表示可发新帧。 • 由于需要反馈,且帧的发送和反馈是严格交替进行的,所以一般采用半双工信道。
有噪音信道的停-等协议所涉及的问题 • 进一步考虑实际的会出错的信道,帧既可能损坏(接收端可通过校验检查出错误),也可能完全丢失。 • 发送端仍通过接收端的反馈来决定怎么做。但由于帧会丢失,发送端可能收不到反馈的确认帧,因此发送端必须引入超时机制(time out),即增加一个定时计数器,在一定时间后对没有确认的帧进行重发,也称作ARQ(Automatic Retransmit reQuest)。 • 时间值应选择稍大于两倍端到端的信号传输时间和接收端的接收处理时间之和。 • 当接收端的反馈确认帧丢失时,必须通过为帧编制序号来解决重复帧的问题。 • 帧的序号位数应尽量的短从而少占用帧头的空间,这里只需1个比特位(“0”→“1”,“1”→“0”)即可。这是由于在本协议中,发送端每发送一个帧都是建立在此帧之前的所有帧都已正确发送的基础上,只需区分相邻的两个连续帧即可避免重复的可能。
协议3:有噪音信道的停-等协议 • 收发双方都需维护各自的帧序号(sequence number,初始都为0)。发送端维护的帧序号N(S)表示当前所发帧的序号,接收端维护的帧序号N(R)表示接收端当前所期待接收的帧序号。发送端从网络层取得第一个分组进行组帧,将N(S)=0的序号放入帧头中作为第一个帧,通过物理层的发送缓存器发送出去,并启动定时计数器,然后停下来等待其响应帧。 • 接收端收到一个帧后,对其序号和N(R)进行比较: • 若不等,则将其作为重复帧而丢弃; • 若相等则对其接收,经校验正确并送交网络层后,将N(R)加1(模2运算)并放入确认帧中反馈回发送端;若校验出错,则丢弃出错的帧,保持N(R)的值不变并放入确认帧中反馈回发送端。 • 发送端若在规定的时间内没有收到接收端的反馈确认帧(超时),就认为数据帧丢失,在保持N(S)不变的情况下重新发送缓冲器中的(旧)帧;若接收到确认帧后,比较确认帧中的序号和N(S): • 若相等,则保持N(S)不变,重新发送缓冲器中的(旧)帧; • 若不等,则将确认帧中的序号赋予N(S),从网络层获取新的分组并组成新帧(N(S)作为序号放入帧头中)交由物理层发送出去。 发送端每发送一帧,都会重新启动定时计数器,然后停下来等待其响应帧。
停-等协议对信道利用率的影响 • 在时延大的信道(如卫星通信)中,停-等协议的效率是很低的。 • 考虑两个地面站通过卫星通信,典型的传输时间约为270ms。假设一个帧的发送时间为20ms,则从发送站开始发送算起,经20ms+ 270ms=290ms,数据帧才能到达目的站。假设不考虑目的站的处理时间,且认为确认帧非常短,其发送时间可忽略不计,则又需270ms确认帧才能被发送站收到。因此信道的利用率为:20ms/(290ms+270ms)=1/28,非常低。这是由于每发一个帧之前都必须等待前一个帧的确认帧所造成的。 • 为了提高传输效率,可以设想让发送站连续不断地发送数据帧,当发完第28个帧数据后,恰好第1帧的确认帧到达,根据确认可紧接着发第29帧或重发第1帧。以后,每过20ms(发一个帧)就有一个确认帧到达,这样信道的利用率就大大地提高了。 • 允许发送站连续发送多个帧而不需等待确认的做法称作管道化(pipelining),属于一种窗口(windows)机制。
滑动窗口(Slide Windows)协议 • 滑动窗口协议是一种非常可靠、适用于各种条件的通用流量控制协议,特别是在效率、复杂性及对缓冲区的需求等方面可作灵活调配。 • 主要的滑动窗口协议有出错全部重发协议和选择重发协议两种。 • 实际上,有噪音信道的停-等协议就是滑动窗口协议的一个特例,将停-等协议中的帧序号从1位扩展到n位(范围为0~2n-1),收发双方维护的序号也变为一组序号表,分别称作发送窗口(sending window)和接收窗口(receiving window)。
发送窗口 • 发送窗口就是发送端允许不等确认而连续发送的帧的序号表。 • 允许连续发送的帧的数量称为发送窗口尺寸,表示为W。发送端必须有W个输出缓冲区来存放W个数据帧的副本以备数据帧的重发。 • 发送端最早发送但还未收到确认的帧的序号称为发送窗口的下沿,表示为LN(R) 。 而 (LN(R)+W-1)模2n 为发送窗口的上沿。 • 发送端将来自网络层的分组按顺序编号组帧,只有帧序号落在发送窗口内的帧才可不等确认直接通过输出缓冲区发送出去。 • 当发送端收到发送窗口下沿帧的肯定确认时,将发送窗口整体向前滑动一个序号,并从输出缓冲区中将相应的数据帧副本删除。
接收窗口 • 接收窗口是接收端允许接收的帧的序号表。 • 允许接收的帧的数量称为接收窗口尺寸。同样接收端也必须设置相应数量的输入缓冲区来支持接收窗口。 • 对接收端收到的帧的序号落在接收窗口外的帧被直接丢弃。只有落在接收窗口内的帧才会被接收端进行校验处理,若校验正确: • 当接收的帧不是接收窗口下沿帧时,必须暂存在输入缓冲区,不能交给网络层。 • 当接收到接收窗口下沿帧时,会将其连同后面连续的若干个检验过的正确帧按顺序交给网络层,在发回确认帧的同时将接收窗口向前滑动相应的数量。
滑动窗口示意图 • 帧的序号由3位组成(0~7),发送窗口和接收窗口的尺寸都为3。 发送端 7 0 7 0 7 0 7 0 7 0 7 0 6 1 6 1 6 1 6 1 6 1 6 1 5 2 5 2 5 2 5 2 5 2 5 2 4 3 4 3 4 3 4 3 4 3 4 3 7 0 7 0 7 0 7 0 7 0 7 0 6 1 6 1 6 1 6 1 6 1 6 1 5 2 5 2 5 2 5 2 5 2 5 2 4 3 4 3 4 3 4 3 4 3 4 3 接收端
停-等协议的窗口机制 • 帧的序号由1位组成(0~1),发送窗口和接收窗口的尺寸都为1。 发送端 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 接收端
数据的全双工传输 • 在实际通信中,通常收发双方都相互发送数据。 • 为了提高效率,可以将确认信息放在数据帧中作为一个控制字段连同数据一起发送给对方,这种方式称为捎带应答(piggybacking)。 • 当一方收到对方的数据帧后: • 若正好也有数据需发给对方,则立即可使用捎带应答。 • 若暂时没有数据需发给对方或数据还未准备好,则等待一定的时间,如果在该时间内准备好了数据,则可以使用捎带应答。如果未准备好,为了防止对方等待时间过长而超时重发,必须立即发送一个单独的确认帧。 • 使用捎带应答就不可能对每一个帧都作确认,可以用对某一个帧的确认来代替对该帧之前的所有帧的确认。
协议4:出错全部重发协议(go-back-n) • 出错全部重发协议中,发送窗口的尺寸是大于1,而接收窗口的尺寸则等于1。 • 由于接收窗口的尺寸为1,接收端只能按顺序地接受数据帧,一旦某个帧出错或丢失,只能简单地丢弃该帧及其所有的后续帧(因为发送窗口的尺寸是大于1的),不作任何确认。发送端超时后需重发出错或丢失的帧及其后续所有的帧。 • 发送端需要为每个待确认的帧都各自设置一个定时计数器。 • 发送窗口的尺寸不能超过2n-1,否则会造成接收端无法分辨新、旧数据帧。 • 出错全部重发协议只要求发送端保持一定数量的缓存来保存没有确认的数据帧,对接收端没有缓存的要求。但在误码率高的情况下,会大大降低信道的利用率。
协议5:选择重发协议(selective repeat) • 选择重发协议中,发送和接收窗口的尺寸都大于1。 • 由于接收窗口的尺寸大于1,接收端可存储坏帧之后的其它数据帧(落在接收窗口),接收端对错帧发否定确认帧,因此发送端只需重发出错的帧,而不需重发其后的所有后续帧。 • 接收端正确收到重发的帧后,可对其后连续的已接收的正确帧作一次总体确认(最大序号的确认),并交送网络层。大大提高了信道的利用率。 • 接收窗口的尺寸不能超过2n-1(即序号范围的1/2),否则可能造成帧的重叠。 • 发送窗口的尺寸一般和接收窗口的尺寸相同,发送端为每一个输出缓存区设置一个定时计数器,定时器一旦超时,相应输出缓存区中的帧就被重发。
数据链路层协议的分类 • 数据链路层协议也称作链路控制规程,通常分为异步和同步两大类协议: • 异步协议以字符为独立的传输单位,实现字符间的异步和字符内的同步传输。简单,但效率低。 • 同步协议以许多字符(面向字符型协议)或比特(面向比特型协议)组成的数据块(帧)为传输单位,收发双方使用相同的时钟实现复杂的长数据块的同步传输。速度快,效率高,但复杂且成本高。
高级数据链路控制规程——HDLC • HDLC(High-Level Data Link Control)是一个用于点到点连接的古老而又广泛使用的面向比特型的同步数据链路层协议。 • 20世纪70年代,IBM的SNA中提出SDLC(Synchronous Data Link Control)。 • 随后,ANSI和ISO采纳并发展成各自的标准: • ANSI:ADCCP(Advanced Data Communication Control Procedure) • ISO:HDLC • 之后,CCITT采纳修改了HDLC,成为LAP(Link Access Procedure),作为X.25网络接口标准的一部分。后来又修改成LAPB(Link Access ProcedureBalanced),使之与后来的HDLC版本更加兼容。
HDLC的工作模式 • 三种站: • 主站(primary station):负责链路的控制。 • 次站(secondary station):仅完成主站指示的工作。 • 复合站(combined station):主站和次站组合成的站。 • 四种工作模式: • 正常响应模式NRM(Normal Response Mode):一种非平衡数据链路操作方式,适用于面向终端的点-点或点-多点链路。 • 异步平衡模式ABM(Asynchronous Balanced Mode):一种平衡的数据链路操作方式,通信双方都为复合站,具有相同的功能且相互作用。 • 分别将上两种工作模式中的帧序号位从3位扩展到7位就构成了两种扩展的(extended)工作模式:NRME和ABME。 C SS PS 非平衡 R C/R 平衡 R/C CS CS
HDLC的帧结构 • 标志(flag)字段:比特模式为01111110,用于标识一帧的开始和结束。注意“0”比特插入删除技术。 • 地址(address)字段: • 在点-多点线路中,用于指明通信的端址。地址的种类有单地址、组地址(高位为“1”)、广播地址(全“1”)及用于测试的无站地址(全“0”)四种。 • 在点-点线路中,有时用来区分命令帧(C)和响应帧(R)。 • 控制(control)字段:用于构成各种命令和响应,对链路监视和控制。是HDLC的关键。 • 数据(data)字段:可为任何内容,长度不限,一般为1000~2000比特。 • 校验和(checksum)字段:使用16位的CRC对两个标志间的内容进行校验。 • 在空闲的线路上,不断传输标志序列。最小帧只有3个字段,共32比特。小于32比特的帧是无效帧。
HDLC的帧类型 • HDLC使用具有3位序号(0~7)的滑动窗口协议。通过控制字段中的第1或2位可将帧标识成三种类型: • 信息(Information)帧 • 监控(Supervisory)帧 • 无序号(Unnumbered)帧
HDLC的信息帧 • 信息帧用于传输数据,简称I帧。 • N(S)是发送帧的序号。 • N(R)用于捎带应答,表示下一个期待接收的帧。 • P/F为探询/终止(Poll/Final)比特: • 当主站轮询各个从站时,将P置为“1”,表示允许从站发送数据;从站可连续发送多帧数据,最后一帧的F必须为“1”,表示数据传输结束。 • 在命令帧中将P置为“1”还表示向对方询问状态,收到P=1的命令帧的站必须立即以F=1的响应帧进行响应。
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 P/F比特的功能
HDLC的监控帧 • 监控帧用于差错和流量控制,简称S帧,不携带数据字段,帧长只有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)的帧已全部正确收到,但还未准备好接收下一个帧(如缓存区不空),要求对方停止发送。 • 类型3(11):SREJ(Selective Reject),表示只重发序号为N(R)的帧。 • 监控帧都可用作命令帧,通过将P置为“1”表示向对方询问状态, F=1的RR帧用来响应已收到的P=1的命令帧。
HDLC的无序号帧 • 无序号帧因其控制字段中不包含序号(N(S)和N(R))而得名,简称U帧。 • 主要用于各种控制功能,在不可靠无连接服务中也可用来传输无序号的信息帧。 • 各类面向比特型链路协议的差别主要就体现在U帧中。 • U帧的类型由M1~M5(修正位)的不同编码来表示,主要的命令和响应有: • 置模式命令: • SNRM:Set NRM • SABM:Set ABM • SNRME:Set NRME • SABME:Set ABME • DISC(DISConnect):断开连接(命令)。 • DM(Disconnect Mode):已断开方式(响应)。 • UA(Unnumbered Acknowledgement):对无序号命令的确认。
DTE FLAG DCE DM.F* HDLC的链路访问规程——以LAPB为例 建立链路 SABM.P UA.F I 0.0 I 0.0 • 分为三个阶段。 • DCE连续发FLAG表示处于正常状态。 • DM.F*表示F为“0”的DM主动响应帧。 • I x.y表示N(S)=x,N(R)=y的I帧。 • RR .y及REJ .y表示N(R)=y的确认帧。 I 1.0 I 1.1 I 2.1 RR .3 数据传输 I 3.2 I 2.3 I 4.2 REJ .3 I 3.3 I 4.3 RR .5 DISC.P 断开链路 UA.F