1、第3章 数据链路控制,计算机网络与通信 (第2版),第3章 数据链路控制,在数据链路层中,比特流被组织成协议数据单元(帧),帧中包含地址、控制、数据、校验等信息。数据链路层的主要功能是通过校验、确认、重发等手段,将不可靠的物理链路改造成对网络层来说是无差错的数据链路。还要进行流量控制,协调双方的数据率。3.1 流量控制 3.2 差错检测 3.3 差错控制 3.4 高级数据链路控制(HDLC) 协议3.5 其他数据链路控制协议,第3章 数据链路控制,为了理解数据链路控制的必要性,我们针对两个直接相连的发送站和接收站之间的高效率的数据通信,在下面列出一些要求和目标 : 帧同步:数据以数据块的形式发
2、送,这些数据块简称为帧。每个帧的开始和结束必须可以辨别。 流量控制:发送站点发送帧的速度不得超出接收站点接纳这些帧的速度。 差错控制:由传输系统引起的比特差错必须被校正。,第3章 数据链路控制,寻址:在类似局域网这样的多站点线路上,必须对传输时涉及的两个站点的身份有所定义。 在同一链路上既有控制信息,又有数据。通常人们不希望为控制信息另外设立一条物理上独立的通信路径。因此,接收器必须能够从传输的数据中辨认出控制信息 。 链路管理:持续的数据交换的初始化、维护以及终止等工作需要站点之间大量的协同和合作。因而需要具有管理这些交换的过程。,3.1 流量控制,3.1.1 停止等待流量控制3.1.2 滑
3、动窗口流量控制,3.1 流量控制,帧传输模型,3.1.1 停止等待流量控制,流量控制中最简单的形式,其工作过程如下:源实体传送一个帧,目的实体在接收到它之后,返回一个对刚刚接收到的帧的确认,以表明自己愿意接收另一个帧。源站点在发送下一个帧之前必须等待,直到接收到这个确认。因此,目的站点可以不发送确认,从而简单地中止了传输流量。,3.1.1 停止等待流量控制,将一个长的报文分成多个数据块(分组)来发送(用多个帧来传送)。这样做的原因如下: 接收方的缓存空间或数据交换站点的缓存空间有限。 传输时间越长,产生差错的可能性也越高,重传整个帧的可能性也越大。使用较小的帧,就能更快地检测到差错,而且需要重
4、新传输的数据量也较小。 在类似局域网这样的共享媒质上,通常不希望让一个站点长时间地占用传输媒质,因为这样会导致其他发送站点的时延过长。,停止等待的链路利用率(传输时间 = 1;传播时间 = a),3.1.1 停止等待流量控制,在图中,传输时间(站点传输一个帧所需要的时间)取归一化值1,并且传播时间(一个比特从发送方到达接收方所需的时间)用变量a表示。a=(l/k)/(s/v) l帧长(bit),k数据率(bps),s传输距离(m),v传输速度(m/s) 当a大于1时(传播时间大于传输时间),此时,在这个帧的前几比特到达接收方之前,发送方已完成了整个帧的发送。 当a小于1时(传播时间小于传输时间
5、),在这种情况下,帧的长度足以使源站点在把这个帧完全发送出去之前,帧的前几位已经到达了目的站点。 数据率越高或距离越远,a值越大。,3.1.1 停止等待流量控制,当a1时,线路总是没有被完全利用,并且即使a1,线路也没有得到充分利用(主要是确认帧很小)。 总体上来说,当数据率非常高时,或发送方与接收方之间的距离非常远时,停止等待流量控制所提供的路线利用效率不高。,3.1.2 滑动窗口流量控制,站点B为n个帧分配了缓冲区,因此,B能够接收n个帧,且允许A在不等待任何确认帧的情况下发送n个帧。B通过发送一个确认帧来肯定某个帧已经被接收,在这个确认帧中包含有下一个希望接收到的帧序号。这种机制也可用于
6、一次确认多个帧(累计确认)。A维护了一张允许发送的序号列表,而B维护的是它准备接收的序号的列表。这两张列表都可以被认为是帧的窗口(window)。,滑动窗口的描述,k bit长的字段,序号范围为02k-1,并且是以2k为模的数值,当k=3时,滑动窗口最大为7个帧编号,滑动窗口的例子,滑动窗口的例子,假设该例中的序号字段为3 bit,且最大窗口尺寸为7个帧。 起初,A和B上的滑动都表明A可以发送以帧0(F0)为首的以下7个帧。 在发送了3个帧(F0、F1和F2)且没有收到确认的情况下,A将自己的滑动窗口缩小为4个帧。此时的滑动窗口表明A可以发送以3号帧为首的后4个帧。 接着B发送一个RR(接收就
7、绪)3,RR3的含义是“我已经接收到第2号帧以前的所有帧,并且准备接收第3号帧,事实上,我已经准备接收以3号帧为首的后7个帧。” 有了这个确认帧,A再次允许发送7个帧,并且仍然以帧3为首。A接着发送出帧3、帧4、帧5和帧6。B返回一个RR4,以允许A继续发送,直到帧F2。,接收未就绪帧(RNR帧),我们所描述的机制实际提供了流量控制的一种形式:接收方必须只能容纳紧跟在最后一次确认帧之后的7个帧。 为了弥补这一点,大多数协议允许站点通过发送一个接收未就绪(RNR)的报文来完全切断对方的帧流量,这个报文确认了前几个帧,但禁止继续发送后面的帧。 例RNR5的含义就是:“我已经接收到第4号帧之前的所有
8、帧,但是无法接收更多的帧。”在此后的某个时刻,站点必须发送一个正常的确认帧来重新启动滑动窗口,如RR5。,捎带技术,到目前为止,我们仅讨论了一个方向上的传输。如果在两个站点之间交换数据,那么每个站点都要维护两个窗口,一个用于发送,另一个用于接收,且双方都需要向对方发送数据和确认帧。 为了提供更有效的措施来满足这一要求,通常会采用一种称为捎带的技术。每个数据帧除了一个存放帧序号的字段之外,还有一个用于存放确认序号的字段,这两个字段会在一个帧中同时发送。 因此,如果一个站点既要发送数据,又要发送确认,那么这两个字段会在一个帧中同时发送,因而节省了通信容量。,捎带技术,当然,如果一个站点有确认,但却
9、没有需要发送的数据,那么它会发送一个独立确认帧。 如果一个站点,需要发送数据,但却没有新的确认,那么它必须重新发送上一次已经发送过的确认,这是因为数据帧中包含有一个用于确认的字段,而且这个字段中必须存放有数据。 当一个站点接收到重复的确认后,只是简单地忽略这个确认。,滑动窗口流量控制优点,滑动窗口流量控制比停止等待流量控制能够达到更高的有效性(信道的利用率提高)。其原因是,在使用滑动窗口流量控制的情况下,传输链路被看成一个管道,它有可能在传输过程中被填满。相反,使用停止等待流量控制,在这个管道中一次只可能存在一个帧。,3.2 差错检测,3.2.1 奇偶校验 3.2.2 循环冗余检验(CRC),
10、3.2 差错检测,传输帧的差错有关的概率: Pb:单个比特差错的概率,也称为比特差错率。 P1:无比特差错的帧到达的概率。(无差错,帧正确率) P2:具有一个或多个没有检测到的比特差错的帧到达的概率。(有差错,没检查出来,帧差错率) P3:具有一个或多个检测到的比特差错,并且没有未被检测到的比特差错的帧到达的概率。(检错率),3.2 差错检测,考虑未采取任何差错检测手段的情况,那么此时检测到差错的概率(P3)为零。为了表达其余几项概率,假设任意比特存在差错的概率(Pb)恒定,且与比特本身无关,则可以得到:其中,F是每个帧的比特数目。 用语言来表达就是,一个无比特差错的帧到达的概率随单个比特差错
11、概率的增加而减小,这和我们所预料的一样。同时,一个无比特差错的帧到达的概率随帧长度的增加而减小。帧越长,则这个帧含有更多的比特,那么这些比特中出现差错的概率也就越高。,用一个简单的例子来描述这些关系,ISDN连接的目标就是在64 kb/s的信道中,一分钟时间内至少有90的时间里比特差错率小于106。现在假设我们的要求不高,只需要在连续传输的64 kb/s信道上,每天最多允许出现一个未被检测到比特差错的帧,并且假设帧的长度为1000 bit。通过计算可知, 一天能够传输的帧的数量为5.5296106,由此得出所需的帧差错率为P2 = 1/(5.529106) =1.808107。但是,如果我们假
12、设Pb的值为106,那么P1 = (0.999 999)1000 = 0.999,并且因此得到P2 = 10 3,这比我们的要求高出了四个数量级(达不到要求)。 正是上述结果促使我们要使用差错检测技术。,差错检测技术的操作原理,所有这些差错检测技术的操作原理均如下所述参见图3.5:对某一组特定的帧比特,发送器将为其添加一些额外的由差错检验码组成的比特。这些检验码是根据某个函数计算得到的,这个函数的参数是除了检验码之外其余的传输比特。接收器执行同样的计算过程并比较这两个结果。当且仅当两个结果不相同时,就表明有一个被检测到的差错。 因此P3这个概率所指的是帧中含有差错,且差错检测机制能够检测出来的
13、这样一种情况。P2也称为剩余差错率,这个概率指的是尽管使用了差错检测机制也无法检测出来的差错。,图3.5 差错检测,3.2.1 奇偶检验,在数据块的末尾附加奇偶检验位,使整个数据中1的个数为奇数(奇校验)或偶数(偶校验)。 如果接收到的数据中1的个数是奇数(奇校验)或偶数(偶校验),就认为接收到的数据正确,否则认为存在错误。 如果有两位(或任意偶数个比特)因错误而翻转,那么就会出现检测不到的差错。 一般情况下,偶检验用于同步传输,而奇检验用于异步传输。 使用奇偶检验并不是十分安全的,因为噪声脉冲的长度经常足以破坏一个以上的比特,特别是在数据率较高的情况下。,3.2.2 循环冗余检验(CRC),
14、循环冗余检验是一种最常用的、也是最有效的差错检测编码。给定一个k bit的比特块,发送器会生成一个n bit的比特序列,称为帧检验序列(FCS),这个比特序列要使最后得到的具体(k + n)bit的帧可以被一些预定的数值整除。接收器用同样的数值对接收到的帧进行除法运算,若其结果余数为0,则认为没有差错,否则认为存在错误。,1模2运算(异或运算),模2运算使用无进位(无借位)的二进制加(减)法,它恰好就是异或操作。例如:,1111 + 1010 101,1111- 1010 101,1模2运算,T = 要传输的(k + n) bit,其中nk; M = k bit报文(控制信息+分组数据),就是
15、T中的前k bit; F = n bit FCS,就是T中的后n bit; P = (n+1) bit的模式,它是预定的除数。 若T/P没有余数(余数为0),显然T = 2nM + F (3.1) M左移n位+F 假设用2nM除以P:,(3.2),1模2运算,由于模2除法,所以得到的余数R至少比除数P少1 bit。我们把这个余数R作为FCS。于是可得:T = 2nM + R (3.3) R是否能满足我们需要的T/P余数为0这个条件?考虑到:,(3.4),利用式(3.2),可以得到,(3.5),1模2运算,任何二进制数与它自己相加后得到的结果是零。因此 :结果余数为0,因此说T可以被P整除。只要
16、用P去除2nM,并将得到的余数作为FCS即可。接收方用T除以P,并且,如果传输没有差错,那么计算得到的结果就余数为0。,(3.6),一个简单的例子,(1) 给定报文M =1010001101(10 bit)模式P = 110101(6 bit)FCS R =由计算得出(5 bit) (2) 报文M乘以25,得到101000110100000 (3) 101000110100000除以P:,一个简单的例子,一个简单的例子,(4) 2nM加上余数(R = 01110)之后得到了传输用的T = 101000110101110。 (5) 如果没有差错,接收方接收到的T原封未动。这个接收到的帧除以P后得
17、到:,一个简单的例子,2多项式,M = 110011,我们将其写为M(X) = X 5 + X 4 + X + 1P = 11001时,有P(X) = X 4 + X 3 + 1。运算操作依然是模2的。这时的CRC过程可描述如下:,如果带有差错的数据帧E(X)能够被P(X)整除,那么这时的差错将会被漏检(未检测出差错)。,2多项式,如果P(X)选择合适,可以被检测出的差错有:所有的单个比特差错。所有的双比特差错,只要P(X)至少含有三个1。任意奇数个的差错,只要P(X)含有因式(X + 1)。任意突发差错,当突发差错长度小于多项式除数的长度。也就是小于或等于FCS的长度。大多数较长的突发差错,
18、2多项式,有以下三个P(X)的版本被广泛应用: CRC-16 = X 16 + X 15 + X 2 + 1 CRC-CCITT = X 16 + X 12 + X 5 + 1 CRC-32 = X 32 + X 26 + X 23 + X 22 + X 16+ X 12 + X 11 + X 10 + X 8 + X 7 + X 5 + X 4 + X 2 + X + 1,3数字逻辑,CRC过程可以表示成由一些异或门和移位寄存器组成的除法电路,而实际上它就是用除法电路来实现的。 移位寄存器是一串一位存储器。 每个存储器都有一根输出线(用于指示当前存储的值)和一根输入线。 在被称为时钟周期的某
19、个离散时刻,存储器的值被输入线上表示的值代替。 由于整个寄存器的时钟是同步的,因此引起一个比特1沿整个寄存器移动。,3数字逻辑,CRC可用除法电路来实现,这个电路的实现过程如下:(1) 寄存器含有n bit,等于FCS的长度。(2) 总共有n个异或门。(3) 异或门是否存在,取决于多项式除数P(X) 中的某项有或无。,除法电路的一个例子,在这个例子中,我们使用报文 M = 1010001101; M(X) = X 9 + X 7 + X 3 + X 2 + 1除数 P = 110101; P(X) = X 5 + X 4 + X 2 + 1 图3.6(a)显示了移位寄存器的实现,图3.6(b)
20、所示是一张表,列出了输入端一次输入一个比特的操作步骤。,图3.6 除以多项式X 5 + X 4 + X 2 + 1的移位寄存器电路,3数字逻辑,实现除数为1 + a1X + a2X 2 + + an1X n1 + X n 的一般CRC结构,3.3 差错控制,差错控制指的是用检测和校验手段,发现接收帧中出现差错或传输超时后的处理机制。 可能存在以下两种类型的差错: (1) 帧丢失。帧没有到达另一方。例如,噪声脉冲对某个帧的破坏程度太大,以致接收方不知道这个帧已经被传输。 (2) 帧破坏。一个可辨认的帧到达,但其中的一些比特有差错(在传输过程中被改变) 。,3.3 差错控制,最常用的差错控制技术的
21、基础都是由下述的部分或全部技术组成的。 差错检测。同上一节中的讨论。 肯定确认。目的站为成功接收到的、没有差错的帧返回一个肯定确认。 超时后重传。发送一个帧后,在预定时间内没有收到确认的情况下,源站点会重新发送这个帧。 否认与重传。目的站点为检测到差错的帧返回一个否认。源站点重新传输这个帧或这以后所有帧。,3.3 差错控制,综合起来,这些机制都称为自动重发请求(Automatic Repeat-reQuest,ARQ)ARQ所起的作用就是使不可靠的数据链路变得可靠。有三种ARQ已经形成标准。 停止等待(stop-and-wait)ARQ。 返回N帧(go-back-N)ARQ。 选择拒绝(se
22、lective repeat)ARQ。,3.3.1 停止等待ARQ,停止等待ARQ的基础是前面介绍过的停止等待流量控制技术,如右图所示。源站点传输一个帧之后,必须等待一个确认(ACK)。在目的站点的确认返回源站点之前,源站点不能发送其他的数据帧。,可能出现两种类型的差错,第一种差错是到达目的站点的帧可能已经被损坏。此时,接收器通过使用前面提到的差错检测技术检测出差错的存在,并简单地丢弃这个帧。针对这种可能的差错,在源站点设置了一个计时器。当一个帧被传输后,源站点开始等待确认。如果计时器超时而确认没有接收到,那么再次发送这同一个帧。请注意,使用这种方法要求发送方保留发送帧的副本,直到接收到这个帧
23、的确认。,可能出现两种类型的差错,第二种差错是确认帧损坏。可以设想以下这种情况。站点A传输一个帧。这个帧被目的站点正确接收,并用一个确认(ACK)来响应。这个ACK在传输中被损坏,使得站点A无法辨认,因此A的时钟超时并重发这个帧。这个重发的帧到达站点B,并被站点B接收,因此,站点B接收到了两份互为副本的帧,就好像它们是两份独立的帧一样。要避免此类问题,帧被交替标记为0和1,且肯定确认的格式分别为ACK0和ACK1。为了遵从滑动窗口的协定,ACK0确认的是接收到了编号1的帧,并表示接收方准备接收编号为0的帧 。,停止等待ARQ的特点,停止等待ARQ的主要优点是简单易行。 它的主要缺点在于停止等待
24、本身是一种低效率的机制。 如果采用滑动窗口技术,则能够提供更高的线路利用率。在这种情况下,有时它被称为连续ARQ。,3.3.2 返回N 帧ARQ,最常用的基于滑动窗口流量控制的差错控制形式称为返回N帧ARQ 站点发送的是以某个最大值为模的顺序编号的帧序列。 在没有出现差错的情况下,目的站点会像以往一样肯定确认(RR=接收就绪(Receive Ready)接收到的帧。 如果目的站点在某个帧中检测到差错,那么它会为这个帧发送否认(REJ=拒绝(Reject)。目的站点丢弃这个帧以及所有后来接收到的帧,直到有差错的帧被正确地接收到。因此,当源站点接收到一个REJ后,必须重传有差错的帧,以及这个帧之后
25、的所有已经传输过的帧。,3.3.2 返回N 帧ARQ,1损坏的帧,分别有三种情况(1) 站点A传输帧i。站点B在已经成功接收到前面的帧(i1)后检测到差错。站点B发送REJ i,表明帧i被拒绝。当站点A接收到REJ后,它必须重传帧i以及在帧i最初被传输之后,站点A已传输了的所有后继帧。,3.3.2 返回N 帧ARQ,(2) 帧i在传送途中丢失,站点A继续发送帧(i+1)。 站点B接收到帧(i+1)后发现次序不对,于是发送一个REJ i。站点A必须返回重传帧i以及所有的后继帧。,3.3.2 返回N 帧ARQ,(3) 帧i在传送途中丢失,且站点A并没有马上发送其他帧。站点B没有接收到任何帧,并且站
26、点B既不返回RR,也不返回REJ。当站点A的计时器超时,站点A会发送一个P (Poll,轮询)比特置1的命令帧(P帧)。站点B将此帧中的P比特为1解释成一条命令,该命令要求站点B必须发送一个响应信号,于是站点B发送一个含有其期望的下一帧(第i帧)编号的RR来响应。当站点A接收到这个RR后,会重传帧i。,3.3.2 返回N 帧ARQ,2损坏的RR,分别有两种情况(1) 站点B接收到帧i并发送RR(i+1),而它在传输时丢失。由于确认是累积的(如RR6表示5之前的所有帧都被确认),有可能站点A会接收到下一个帧的RR,并且这个RR可能在帧i的计时器超时之前到达。(前面的丢失可以忽略),3.3.2 返
27、回N 帧ARQ,(2) 如果站点A的计时器超时,它会传输一个P命令(轮询),如同损坏的帧中的情况(3)。站点A还会设置另一个计时器,称为P比特计时器(轮询计时器)。如果站点B没有响应这个P命令,或者如果它的响应被损坏,那么站点A的P比特计时器会超时。在这种情况下,站点A将会通过发送一个新的P命令重试一次,并且还要重新启动P比特计时器。这一过程将重复数次。在重试的次数超过一个最大值后,如果站点A还没有获得确认,那么站点A启动复位过程。,返回N 帧ARQ帧流量的一个例子,3损坏的REJ。如果REJ被丢失,其情况等同于损坏的帧中的情况(3)。,3.3.3 选择拒绝ARQ,使用选择拒绝ARQ,被重传的
28、只有那些接收到否认的帧或超时的帧,在这种情况下,否认称为选择拒绝(SREJ)。 由于重传帧的数量降到了最小,所以它看起来比返回N帧ARQ更有效。 但另一方面,接收方必须维护一个足够大的缓冲区,以便保存SREJ后收到的帧,直到有差错的帧被重传,而且它还必须具有能够按照正确的顺序重新插入这些帧的逻辑。发送方也需要具有能够发送失序帧的更为复杂的逻辑。 正是因为这些复杂性,人们更倾向于使用返回N帧ARQ,而不是使用选择拒绝ARQ 。,3.3.3 选择拒绝ARQ,选择拒绝ARQ对窗口尺寸的限制比返回N帧ARQ更加严格。设想选择拒绝ARQ的序号长度为3 bit,窗口大小可达到7个帧,那么设想以下情况:(1
29、) 站点A向站点B发送从帧0到帧6的所有帧。(2) 站点B接收到所有的7个帧,并以RR7作为累积确认。(3) 由于噪声脉冲序列,RR7丢失。(4) 计时器超时,站点A重传帧0。,3.3.3 选择拒绝ARQ,(5) 站点B已经将它的接收窗口向前滑动至可接收帧7、帧0、帧1、帧2、帧3、帧4和帧5。因此,它会认为丢失的是帧7,而它接收到的是一个新的帧0。上述情况的问题在于发送窗口和接收窗口之间出现了重叠部分。要克服这个问题,最大窗口值必须小于序号范围的一半。对于上述情况,如果只允许有4个未被确认的帧存在,那么就不会发生重叠。,3.4 高级数据链路控制(HDLC),HDLC(ISO 3309、ISO
30、 4335)是最重要的数据链路控制协议。是其它数据链路协议的基础。具有相同或类似的格式和机制。3.4.1 基本特点 3.4.2 帧结构 3.4.3 HDLC操作,3.4.1 基本特点,三种站点类型分别是:主站。负责控制链路操作。由主站发出的帧称为命令(command)。从站。在主站的控制下操作。由从站发出的帧称为响应(response)。主站为链路上的每个从站维护一条独立的逻辑链路。混合站。混合了主站和从站的特点。混合站发出的帧可能是命令,也可能是响应。,3.4.1 基本特点,两种链路设置分别是:不平衡设置。由一个主站及一个或多个从站组成,可支持全双工或半双工传输。平衡设置。由两个混合站组成,
31、可支持全双工或半双工传输。,3.4.1 基本特点,三种数据传送模式分别是:正常响应方式(NRM)。使用不平衡设置。主站能够初始化到从站的数据传送,而从站只通过传输数据来响应主站命令。异步平衡模式(ABM)。使用平衡设置。两个混合站都能够初始化数据传输,不需要得到对方混合站的许可。异步响应模式(ARM)。使用不平衡设置。在主站没有明确允许的情况下,从站能够初始化传输。但主站仍然对线路全权负责,包括初始化、差错恢复以及链路的逻辑断开。,3.4.2 帧结构,1标志字段,标志字段以唯一的01111110模式在帧的两端起定界作用。 为了避免数据中出现这种序列,需要使用一种称为比特填充的过程。 在一个帧的
32、传输起始标志和结束标志之间,每当出现5个1后,发送器就会插入一个附加的0。 使用位填充后,在帧的信息字段中可以插入任意的比特模式。这种性质称为数据透明性。,比特填充的例子,2地址字段,地址字段标示出了传输该帧或者是准备接收这个帧的从站地址。 点对点的链路不需要这个字段,但是为了统一,所有的帧都含有这个字段。 地址字段基本格式为8 bit;扩展格式8nbit。 一个八位组地址11111111都被解释为所有站点的地址。它让主站能够广播一个帧。,3控制字段,HDLC定义了三种类型的帧: 信息帧(I帧)携带的是向用户传输的数据(含捎带技术)。 监控帧(S 帧)在未使用捎带技术时提供了ARQ机制。用于差
33、错控制和流量控制 无编号帧(U帧)提供了增补的链路控制功能(32种,由5个M位指定)。 控制字段中的前一位或两位用做帧类型的标志。 注意S帧和I帧中的基本控制字段使用了3 bit序号。S帧和I帧允许使用扩展的控制字段(16 bit),可使用7 bit的序号,U帧永远由8 bit控制字段组成。 P位置1是主站发出的轮询,F位置1是从站响应确认结束,4信息字段,只有I帧和某些U帧才具有信息字段,由整数个八位组组成。信息字段的长度不固定,最大可以到系统设置的最大值。一般10002000比特,5帧检验序列字段,帧检验序列字段(FCS)是从一个帧的除了标志字段以外的其他位计算得到的差错检测码,通常这个检
34、测码是16 bit的CRC-CCITT DC码。FCS编码生成多项式是:X 16 + X 12 + X 5 + 1,3.4.3 HDLC操作 (表3.1 HDLC命令和响应),表3.1 HDLC命令和响应(续)(无编号帧),3.4.3 HDLC操作,HDLC的操作涉及了三个阶段: 首先,双方中有一方要初始化数据链路,使得帧能够以有序的方式进行交换。在这个阶段中,双方需要就各种选项的使用达成一致。 其次,在初始化之后,双方交换用户数据和控制信息,并且实施流量和差错控制。 最后,双方中有一方要发出信号来中止操作。,1初始化,任何一方都能够通过6个置位模式命令之一请求初始化。这些命令有以下三个作用。
35、(1) 它通知对方请求初始化。(2) 它指出请求的是三种模式(NRM、ABM和ARM)中的哪一种。(3) 它指出使用的是3 bit还是7 bit的序号。如果另一方接受这个请求,那么它的HDLC模块向初始方返回一个无编号确认(UA)。如果这个请求被拒绝,那么它发送拆链模式(DM)帧。,2数据传送,当初始化一个请求并被接受后,就会建立起一个逻辑连接,双方都可以通过I帧开始发送用户数据,帧的序号从0开始。I帧的N(S)和N(R)字段是用于支持流量控制和差错控制的序号。 S帧同样也用于流量控制和差错控制。其中,接收就绪(RR)帧通过指出希望接收到的下一个帧来确认接收到最后一个I帧。,3拆链,连接中的任
36、何一方的HDLC模块都可以启动拆链操作,可能是由于模块本身因某种错误而引起的中断,也可能是由于高层用户的请求。HDLC通过发送一个拆链(DISC)帧宣布连接中止。对方必须用UA作回答,表示接受拆链。,4操作举例,4操作举例(续),3.5 其他数据链路控制协议,3.5.1 LAPBLAPB(平衡链路接入规程)是由ITU-T发布的,作为其X.25分组交换网络接口标准的一部分。它是HDLC的子集,只提供了异步平衡模式(ABM)下的HDLC。,3.5.2 LAPD,LAPD(D信道链路接入规程)是由ITU-T发布的,作为它对ISDN(综合业务数字网)的规范集的一部分。LAPD提供了通过D信道的数据链路
37、控制,D信道是用户与ISDN接口的逻辑信道。,* 对于信息帧和监控帧是16 bit的控制字段,对于无编号帧是8 bit的控制字段,3.5.3 逻辑链路控制(LLC),LLC是属于IEEE802协议族中有关局域网(LAN)的控制操作标准的一部分。LLC和HDLC之间最明显的区别在于格式上的不同。,3.5.4 帧中继,帧中继是一种数据链路控制设施,它的设计是为了在使用高速分组交换网时提供流水作业能力。 帧中继分为两个协议:一个是控制协议(control protocol),它的功能与HDLC相似;另一个是核心协议(core protocol),它是控制协议的一个子集。,3.5.5 异步传递方式(A
38、TM),ATM的设计目标是要提供通过高速网络的流水化数据传送能力。与帧中继不同的是,ATM不是基于HDLC的。相反,ATM基于一种称为信元的全新的帧格式,它使用的处理开销最少。,课后作业,3.1 简述下列术语的基本概念:差错控制、差错检测、流量控制、帧同步、ARQ。 解答:差错控制,是指当传输系统中,用于检测和校正帧传输过程中出现差错的机制。差错检测,是接收端检测数据在传输过程中是否出错的方法。流量控制,是用于确保发送实体发送速度不会超出接收实体接收数据能力的一种技术。帧同步,是采用一定的编码方法,使收发两端都能确定帧的开始和结束的技术。ARQ,是自动重发请求,是差错控制方法,它的作用就是使不
39、可靠的数据链路变得可靠。,课后作业,3.4设想在具有270 ms时延的1 Mb/s卫星信道上使用1000 bit的帧,对于以下各种情况,线路的最大利用率分别是多少? (1) 停止等待流量控制。 (2) 窗口大小为7的连续流量控制。 (3) 窗口大小为127的连续流量控制。 (4) 窗口大小为255的连续流量控制。,课后作业,解:线路利用率=线路的实际传输能力/线路的应有传输能力线路上某一时刻的利用率=线路上的比特数/线路比特长度线路比特长度=传播时间*数据率=0.270*106=270000(bit),课后作业,当发送窗口的数据帧总长度小于线路长度时,发送窗口的所有数据帧都进入信道时,线路的利
40、用率达到最大值。当发送窗口的数据帧总长度大于或等于线路长度时,线路的利用率最大值为1。 (1)1000/270000=0.37% (2)7*1000/270000=2.59% (3)127*1000/270000=47.04% (2)255*1000/270000=94.44%,课后作业,信道的平均利用率( 一帧数据从发送到收到确认这段时间的平均利用率) :平均利用率=发送量/线路的应有传输量发送量(C)=这一段时间内发送的数据总量线路的应有传输量(Cm)=数据率*时间线路的平均利用率最大值(理想状态下线路的有效利用率,理想状态:忽略确认帧的长度、忽略数据处理时间):,课后作业,(1)C=10
41、00, Cm =106*0.541=541000,C/ Cm =1000/541000=0.185% (2)C=7000, Cm =106*0.541=541000,C/ Cm =7000/541000=1.294% (3)C=127000, Cm =106*0.541=541000,C/ Cm =127000/541000=23.475% (4)C=255000, Cm =106*0.541=541000,C/ Cm =255000/541000=47.135%,课后作业,3.8 若P = 110011,而M = 11100011,计算CRC。 解答: 由于模式P=110011,共6bit,所以FCS R=5bit,M左移5位,变为1110001100000。用1110001100000除以110011,,课后作业,10110110 110011 111000110000011001110111111001111100011001110110011001111111011001111010,余数,课后作业,余数为11010,即为所求的冗余位R。因此发送出去的CRC码字为原始码字11100011末尾加上冗余位11010,即 1110001111010。,