第三章数据链路层_第1页
第三章数据链路层_第2页
第三章数据链路层_第3页
第三章数据链路层_第4页
第三章数据链路层_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

1、1 计算机网络课程计算机网络课程 23.1 数据链路层的基本概念q数据链路层的基本概念m链路(物理链路):链路(物理链路):就是一条无源的点到点的物理线路段,就是一条无源的点到点的物理线路段,中间没有任何其它的交换结点。中间没有任何其它的交换结点。m数据链路(逻辑链路):数据链路(逻辑链路):把实现控制数据传输规程的软把实现控制数据传输规程的软件、硬件加到链路上,就形成了数据链路件、硬件加到链路上,就形成了数据链路q数据链路层的主要功能:(在不太可靠的物理链路上实现可靠的数据传输)m链路管理链路管理:即数据链路的建立、维持和释放。即数据链路的建立、维持和释放。m帧同步帧同步:收方应当能从收到的

2、比特流中准确地区分出一帧的开始和收方应当能从收到的比特流中准确地区分出一帧的开始和结束在什么地方。(数据按帧传送,可在出错时仅重传错帧。)结束在什么地方。(数据按帧传送,可在出错时仅重传错帧。)m流量控制流量控制:发发方发送数据的速率必须使收方来得及接收。当收方来方发送数据的速率必须使收方来得及接收。当收方来不及接收时,就必须及时控制发方发送数据的速率。不及接收时,就必须及时控制发方发送数据的速率。m差错控制差错控制:计算机通信中,要求有极低的比特差错率,一旦有错时,计算机通信中,要求有极低的比特差错率,一旦有错时,一般采用检错重发来解决,即收方可以检测出收到的帧中有差错(但一般采用检错重发来

3、解决,即收方可以检测出收到的帧中有差错(但33.1 数据链路层的基本概念并不知道哪几个比特错了),于是就让发主重复发送这一帧。并不知道哪几个比特错了),于是就让发主重复发送这一帧。常采用常采用CRC方法。方法。m将数据和控制信息分开将数据和控制信息分开:传送时数据和控制信息在同一传送时数据和控制信息在同一帧中,故一定要有相应的措施使收方能将它们区分开来。帧中,故一定要有相应的措施使收方能将它们区分开来。m透明传输透明传输 :即不管所传数据是什么样的比特组合,都应当即不管所传数据是什么样的比特组合,都应当能在链路上传送。当所传数据中比特组合刚好与一个控制信能在链路上传送。当所传数据中比特组合刚好

4、与一个控制信息一样时,要加以控制。息一样时,要加以控制。m寻址寻址:多点连接的情况下,必须保证每一帧都能送到正确的多点连接的情况下,必须保证每一帧都能送到正确的目的站,收方也应当知道发方是哪一个站。目的站,收方也应当知道发方是哪一个站。4 3.2 停止等待协议q不需要数据链路层协议的数据传输(完全理想的数据传输) 假定假定1:数据既不会出差错也不会丢失数据既不会出差错也不会丢失 假定假定2:接收缓冲区的容量为无限大,接收速率与发送速率绝接收缓冲区的容量为无限大,接收速率与发送速率绝对相等对相等v 在这两在这两 个假定条件下,数据链路层不需要任何协议个假定条件下,数据链路层不需要任何协议主机主机

5、A主机主机BAP1AP2链路层链路层链路链路两台计算机通过一条链路进行通信的简化模型两台计算机通过一条链路进行通信的简化模型53.2 停止等待协议q具有简单流量控制的数据链路层协议假定:假定:链路是理想的传输信道,数据既不会出差错链路是理想的传输信道,数据既不会出差错也不会丢失,但收方的缓冲区的容量是有限的。也不会丢失,但收方的缓冲区的容量是有限的。 算法:算法:由收方控制发方的数据流量由收方控制发方的数据流量m在发送结点:在发送结点:从主机取一个帧,将该帧送到从主机取一个帧,将该帧送到发送缓存发送缓存将缓存中的帧发送出去,等待。将缓存中的帧发送出去,等待。收到由接收结点发过来的确认收到由接收

6、结点发过来的确认信息后,从主机取下一个新的信息后,从主机取下一个新的帧,转到帧,转到 2) 2)m在接收结点:在接收结点:等待,若收到由发送结点发过来等待,若收到由发送结点发过来的帧,将其放入接收缓存区的帧,将其放入接收缓存区将接收将缓存中的帧上交主机,将接收将缓存中的帧上交主机,向发送结点发一确认信息,向发送结点发一确认信息,转到转到 1) 1)63.2 停止等待协议v 由收方控制发方的数据流量是计算机网络中流量控制的一个基本方法由收方控制发方的数据流量是计算机网络中流量控制的一个基本方法时间时间送主机送主机B B送主机送主机B B送主机送主机B B送主机送主机B BA AB B不需要数据链

7、路层协议的数据传输不需要数据链路层协议的数据传输时间时间送主机送主机B送主机送主机BAB具有简单流量控制的数据链路层协议具有简单流量控制的数据链路层协议73.2 停止等待协议实用的停止等待协议(去掉之前的两个假设条件)1、数据帧在链路上传输的几种情况、数据帧在链路上传输的几种情况DATA0ACKDATA1ACK送送主主机机送送主主机机DATA0NAKDATA0ACK送送主主机机出错出错(a)正常情况(正常情况(b)数据帧出错数据帧出错链路无差链路无差错,用错,用ACK进行进行流量控制流量控制链路不可靠,链路不可靠,CRC校验出差校验出差错,为此,收错,为此,收方发出否认帧方发出否认帧NAK,要

8、求发要求发方重发方重发时间时间时间时间8 3.2 停止等待协议DATA0DATA0ACK送送主主机机丢失丢失toutDATA0DATA0ACK送送主主机机丢失丢失tout送送主主机机(c)数据帧丢失(数据帧丢失(d)应答帧丢失应答帧丢失链路干扰严链路干扰严重,数据帧重,数据帧丢失,双方丢失,双方互等,死锁互等,死锁出现。引入出现。引入超时定时器超时定时器应答帧丢失,应答帧丢失,发方重发,出发方重发,出现重复帧。为现重复帧。为每一帧加上发每一帧加上发送序号送序号时间时间时间时间ACK9 3.2 停止等待协议2、停止等待协议的算法、停止等待协议的算法1)、在发送结点:)、在发送结点:(1)从主机收

9、一个数据帧)从主机收一个数据帧(2)V(S)0。发送状态变量初始化发送状态变量初始化(3)N(S)V(S)将发送状态变量的数值写入发送序号将发送状态变量的数值写入发送序号将数据帧送往缓冲区将数据帧送往缓冲区(4)将发送缓冲区中的数据帧发送出去)将发送缓冲区中的数据帧发送出去(5)设置超时定时器)设置超时定时器10 3.2 停止等待协议(6)等待。)等待。等待以下等待以下3个事件中最先出现的一个个事件中最先出现的一个(7)若收到确认帧)若收到确认帧ACK,则:则:从主机取一个新的数据帧;从主机取一个新的数据帧;V(S)1V(S););更新发送状态变量,变为下一个更新发送状态变量,变为下一个 序号

10、序号转到(转到(3)(8)若收到否认帧)若收到否认帧NAK,则转到(则转到(4)(9)若超时定时器时间到,则转到()若超时定时器时间到,则转到(4)。)。2)、在接收结点)、在接收结点11 3.2 停止等待协议(1)V(R)0。接收状态变量初始化,其数值等于欲接收的接收状态变量初始化,其数值等于欲接收的 数据帧的发送序号数据帧的发送序号(2)等待。)等待。(3)当收到一个数据帧,就检查有无产生传输差错(如)当收到一个数据帧,就检查有无产生传输差错(如CRC)。)。若检查结果正确无误,则执行后续算法;若检查结果正确无误,则执行后续算法;否则转到(否则转到(8)(4)若若N(S)V(R),),则执

11、行后续算法;则执行后续算法;收到发送序号正确的数据帧收到发送序号正确的数据帧否则丢弃此数据帧,然后转到(否则丢弃此数据帧,然后转到(7)。)。12 3.2 停止等待协议(5)将收到的数据帧中的数据送交主机。)将收到的数据帧中的数据送交主机。(6)V(R)1V(R););更新接收状态变量,准更新接收状态变量,准备接收下一个数据帧备接收下一个数据帧(7)发送确认帧)发送确认帧ACK,并转到(并转到(2)。)。(8)发送否认帧)发送否认帧NAK,并转到(并转到(2)。)。几点需要注意的地方:几点需要注意的地方:(1)收发两端各设置一个本地状态变量(仅占收发两端各设置一个本地状态变量(仅占1个比个比特

12、)。特)。13 3.2 停止等待协议(2)每发送一个数据帧,都必须将发送状态变量)每发送一个数据帧,都必须将发送状态变量V(S)的值(的值(0或或1)写到数据帧的发送序号)写到数据帧的发送序号N(S)上。但只上。但只有收到一个确认帧有收到一个确认帧ACK后,才更新发送状态变量后,才更新发送状态变量V(S)一次(将一次(将1变成变成0或或0变成变成1)并发送新的数据帧。)并发送新的数据帧。(3)在接收端,每接收到一个重复帧,就要将发方在数)在接收端,每接收到一个重复帧,就要将发方在数据帧上设置的发送序号据帧上设置的发送序号N(S)与本地的接收状态变量与本地的接收状态变量V(R)相比较。若二者相等

13、就表明是新的数据帧,否相比较。若二者相等就表明是新的数据帧,否则为重复帧。则为重复帧。(4)在接收端,若收到一个重复帧,则丢弃之(不做任)在接收端,若收到一个重复帧,则丢弃之(不做任何处理),且接收状态变量不变,但此时仍须向发送何处理),且接收状态变量不变,但此时仍须向发送端发送一个确认帧端发送一个确认帧ACK。14 3.2 停止等待协议(5)发送端在发送完数据帧时,必须在其发送发送端在发送完数据帧时,必须在其发送缓冲区中保留此数据帧的副本,这样才能在出缓冲区中保留此数据帧的副本,这样才能在出差错时进行重发,只有在收到对方发来的确认差错时进行重发,只有在收到对方发来的确认帧帧ACK时,方可清除

14、此副本。时,方可清除此副本。由于发送端对出错的数据帧进行重发是自动进由于发送端对出错的数据帧进行重发是自动进行的,所以这种差错控制体制常简称为行的,所以这种差错控制体制常简称为自动请自动请求重发求重发ARQ。153.2 3.2 自动重复请求自动重复请求 3.2.2 3.2.2 回退回退N N式式ARQARQ 回退回退N N式式ARQARQ又称为又称为连续重发请求,连续重发请求方案连续重发请求,连续重发请求方案是是指发送方可以连续发送一系列信息帧指发送方可以连续发送一系列信息帧,即不用等前一帧即不用等前一帧被确认便可发送下一帧。这就需要在发送方设置一个被确认便可发送下一帧。这就需要在发送方设置一

15、个较大的缓冲存储空间较大的缓冲存储空间(称作重发表称作重发表),用以存放若干待确用以存放若干待确认的信息帧。当发送方收到对某信息帧的确认帧后认的信息帧。当发送方收到对某信息帧的确认帧后,便便可从重发表中将该信息帧删除。所以可从重发表中将该信息帧删除。所以,连续式连续式A ARQ方案方案的链路传输效率大大提高的链路传输效率大大提高,但相应地需要更大的缓冲存但相应地需要更大的缓冲存储空间。连续储空间。连续A ARQ方案的实现过程如下方案的实现过程如下: 163.2 3.2 自动重复请求自动重复请求 3.2.2 3.2.2 回退回退N N式式ARQARQ发送方连续发送信息帧而不必等待确认帧的返回发送

16、方连续发送信息帧而不必等待确认帧的返回;发送方在重发表中保存所发送的每个帧的备份发送方在重发表中保存所发送的每个帧的备份;重发表按先进先出重发表按先进先出(FIFO)队列规则操作队列规则操作;接收方对每一个正确收到的信息帧返回一个确认帧接收方对每一个正确收到的信息帧返回一个确认帧;每一个确认帧包含一个惟一的序号每一个确认帧包含一个惟一的序号,随相应的确认帧返回随相应的确认帧返回;接收方保存一个接收次序表接收方保存一个接收次序表,它包含最后正确收到的信息帧的它包含最后正确收到的信息帧的序号序号;当发送方收到相应信息帧的确认帧后当发送方收到相应信息帧的确认帧后,从重发表中删除该信息从重发表中删除该

17、信息帧的备份帧的备份;当发送方检测出失序的确认帧当发送方检测出失序的确认帧(即第即第n号信息帧和第号信息帧和第n+2号信号信息帧的确认帧已返回息帧的确认帧已返回,而而n+1号的确认帧未返回号的确认帧未返回)后后,便重发未被确便重发未被确认的信息帧。认的信息帧。173.2 3.2 自动重复请求自动重复请求 3.2.2 3.2.2 回退回退N N式式ARQARQ上面的连续上面的连续A ARQ过程是假定在不发生传输差错的情况下描述的。如过程是假定在不发生传输差错的情况下描述的。如果差错出现果差错出现,如何进一步处理还可以有两种策略如何进一步处理还可以有两种策略,即即Go-back-N策略策略和选择重

18、发策略。和选择重发策略。Go-back-N策略的基本原理是策略的基本原理是,当接收方检测出当接收方检测出失序的信息帧后失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧的所有未被确认的帧;或者当发送方发送了或者当发送方发送了n个帧后个帧后,若发现该若发现该n帧帧的前一帧在计时器超时后仍未返回其确认信息的前一帧在计时器超时后仍未返回其确认信息,则该帧被判定为出则该帧被判定为出错或丢失错或丢失,此时发送方就不得不重新发送该出错帧及其后的此时发送方就不得不重新发送该出错帧及其后的n帧。帧。这就是这就是Go-back-N(退回退回N)

19、法名称的由来。因为法名称的由来。因为,对接收方来说对接收方来说,由由于这一帧出错于这一帧出错,就不能以正确的序号向它的高层递交数据就不能以正确的序号向它的高层递交数据,对其后对其后发送来的发送来的n帧也可能都不能接收而丢弃。帧也可能都不能接收而丢弃。Go-back-N法操作过程如法操作过程如下图所示。图中假定发送完下图所示。图中假定发送完8号帧后号帧后,发现发现2号帧的确认返回在计时号帧的确认返回在计时器超时后还未收到器超时后还未收到,则发送方只能退回从则发送方只能退回从2号帧开始重发。号帧开始重发。 183.2 3.2 自动重复请求自动重复请求 3.2.2 3.2.2 回退回退N N式式AR

20、QARQ193.2 3.2 自动重复请求自动重复请求 3.2.3 3.2.3 选择性拒绝选择性拒绝ARQARQ Go-back-N可能将已正确传送到目的方的帧再重传一遍可能将已正确传送到目的方的帧再重传一遍,这显然是一种浪费。另一种效率更高的策略是当接收这显然是一种浪费。另一种效率更高的策略是当接收方发现某帧出错后方发现某帧出错后,其后继续送来的正确的帧虽然不能其后继续送来的正确的帧虽然不能立即递交给接收方的高层立即递交给接收方的高层,但接收方仍可收下来但接收方仍可收下来,存放在存放在一个缓冲区中一个缓冲区中,同时要求发送方重新传送出错的那一帧。同时要求发送方重新传送出错的那一帧。一旦收到重新

21、传来的帧后一旦收到重新传来的帧后,就可与原已存于缓冲区中的就可与原已存于缓冲区中的其余帧一并按正确的顺序递交高层。这种方法称为选其余帧一并按正确的顺序递交高层。这种方法称为选择重发择重发(Selective Repeat),其工作过程如下图所示。图其工作过程如下图所示。图中中2号帧的否认返回信息号帧的否认返回信息NAK2要求发送方选择重发要求发送方选择重发2号帧。显然号帧。显然,选择重发减少了浪费选择重发减少了浪费,但要求接收方有足够但要求接收方有足够大的缓冲区空间大的缓冲区空间o 203.2.3 3.2.3 选择性拒绝选择性拒绝ARQARQ213.2.33.2.3滑动窗口协议1、滑动窗口研究

22、的内容:对已发送出去但未被、滑动窗口研究的内容:对已发送出去但未被确认的数据帧的数目加以限制。确认的数据帧的数目加以限制。在连续在连续ARQ协议中,应当将已发送出去但未协议中,应当将已发送出去但未被确认的数据帧的数目加以限制,原因:被确认的数据帧的数目加以限制,原因:(1)当未被确认的数据帧的数目太多时,只要)当未被确认的数据帧的数目太多时,只要有一帧出现差错,就可能要有很多的数据帧需有一帧出现差错,就可能要有很多的数据帧需要重传,浪费时间,增大开销。要重传,浪费时间,增大开销。(2)要对发送的数据帧编号,每个数据帧的发)要对发送的数据帧编号,每个数据帧的发送序号也要占用较多的比特数,增加了开

23、销。送序号也要占用较多的比特数,增加了开销。223.2.33.2.3滑动窗口协议2、发送窗口:对发送端的流量进行控制,其大小、发送窗口:对发送端的流量进行控制,其大小WT代代表在还没有收到对方确认信息的情况下发送端最多可表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。停止等待协议的发送窗口大小以发送多少个数据帧。停止等待协议的发送窗口大小是是1,表明只要发送出去的某个数据帧未得到确认,就,表明只要发送出去的某个数据帧未得到确认,就不能再发送下一个数据帧。不能再发送下一个数据帧。发送过程:发送过程:假设发送序号用假设发送序号用3个比特编码,即发送序号可以有多个比特编码,即发送序

24、号可以有多个不同的序号,从个不同的序号,从0到到7,设,设WT =5,即在未收到对方,即在未收到对方确认信息的情况下,发送端最多可以发出确认信息的情况下,发送端最多可以发出5个数据帧。个数据帧。233.2.33.2.3滑动窗口协议(1)开始发送时,可以发送)开始发送时,可以发送04号共号共5个数据帧,若发了个数据帧,若发了5个帧未个帧未收到确认帧,因发送窗口已填满,停止发送进入等待状态。收到确认帧,因发送窗口已填满,停止发送进入等待状态。(2)收到)收到0号帧的确认信息后,发送窗口可以向前移动一个号,此号帧的确认信息后,发送窗口可以向前移动一个号,此时时5号帧落入发送窗口,现在可以发送号帧落入

25、发送窗口,现在可以发送5号帧。号帧。21076543210发送窗口发送窗口WT21076543210已收到确认已收到确认发送窗口发送窗口WT243.2.33.2.3滑动窗口协议(3)假设又有)假设又有3帧(帧(13)确认帧到达发送端,则发送窗口又可再)确认帧到达发送端,则发送窗口又可再向前移动向前移动3个号,发送端可继续发送数据帧个号,发送端可继续发送数据帧6、7、0号。号。3、接收窗口:为了减少开销,接收端不一定每收到一个、接收窗口:为了减少开销,接收端不一定每收到一个正确的数据帧就必须发回一个确认帧,而是可以在边正确的数据帧就必须发回一个确认帧,而是可以在边连续收到好几个正确的数据帧以后,

26、才对最后一个数连续收到好几个正确的数据帧以后,才对最后一个数据帧发确认信息,即对某一数据帧的确认就表明该数据帧发确认信息,即对某一数据帧的确认就表明该数据帧和这以前所有的数据帧均已正确无误地收到了。据帧和这以前所有的数据帧均已正确无误地收到了。21076543210已收到确认已收到确认发送窗口发送窗口WT253.2.33.2.3滑动窗口协议l接收窗口用来控制可以接收哪些数据帧而不可接收窗口用来控制可以接收哪些数据帧而不可以接收哪些帧。只有当收到的数据帧的发送序以接收哪些帧。只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下。若号落入接收窗口内才允许将该数据帧收下。若收到的数据帧落在

27、接收窗口之外,则一律将丢收到的数据帧落在接收窗口之外,则一律将丢弃。弃。l在连续在连续ARQ协议中,接收窗口协议中,接收窗口WR=1。l接收过程:接收过程:(1)开始接收窗口处于)开始接收窗口处于0号帧处,准备接收号帧处,准备接收0号号帧。帧。263.2.33.2.3滑动窗口协议(2)一旦收到)一旦收到0号帧,接收窗口向前移动一个号,准备接收号帧,接收窗口向前移动一个号,准备接收1号帧,号帧,同时发送端发送对同时发送端发送对0号帧的确认信息。号帧的确认信息。(3)收到)收到13号帧时,位置如下:号帧时,位置如下:21076543210WT21076543210已收到已收到0号帧号帧210765

28、43210已收到已收到0-3号帧号帧接收窗口接收窗口273.2.33.2.3滑动窗口协议结论:只有在接收窗口向前移动时,发送窗口才结论:只有在接收窗口向前移动时,发送窗口才有可能向前移动,这种协议称为滑动窗口协议。有可能向前移动,这种协议称为滑动窗口协议。4、当数据帧的发送序号所占比特数一定时,发、当数据帧的发送序号所占比特数一定时,发送窗口的最大值。送窗口的最大值。设用设用n比特进行编号,接收窗口大小为比特进行编号,接收窗口大小为1,则,则发送窗口大小为发送窗口大小为WT=2n-1,而不会达到而不会达到2n,原因:若原因:若WT=2n ,则序号为,则序号为0,1, 2n-1 ,设发送端发送完

29、设发送端发送完2n个数据帧,则处于等待状态,个数据帧,则处于等待状态,又设接收端都正确接收,发出确认帧,则又设接收端都正确接收,发出确认帧,则283.2.33.2.3滑动窗口协议(1)所有确认帧都正确到达发送端,故又发送)所有确认帧都正确到达发送端,故又发送2n个新帧,编号为个新帧,编号为0 2n -1;(2)所有确认帧都丢失,过一段时间,重发这)所有确认帧都丢失,过一段时间,重发这个数据帧,编号也为个数据帧,编号也为0 2n -1293.4 面向比特的链路控制规程面向比特的链路控制规程HDLCHDLCl高级数据链路控制(高级数据链路控制(HDLC)是由国际标准化是由国际标准化组织制定的面向位

30、的有序链路级协议。在组织制定的面向位的有序链路级协议。在HDLC中,任何必须在两个站之间交换的控制中,任何必须在两个站之间交换的控制信息都被放在传送帧的特别段中;这些段相对信息都被放在传送帧的特别段中;这些段相对帧的边界有固定的位置。帧的边界有固定的位置。HDLC的主要功能目的主要功能目标有三个方面:标有三个方面: 保证发射的数位流具有透明性;保证发射的数位流具有透明性; 确定发送帧的格式及帧内段的含义;确定发送帧的格式及帧内段的含义; 实现链路上站之间的协调,保证有序交换实现链路上站之间的协调,保证有序交换。303.4 面向比特的链路控制规程面向比特的链路控制规程HDLCHDLCl为了满足对

31、具有广泛的适应性的通用数据链路控制规程的要求,为了满足对具有广泛的适应性的通用数据链路控制规程的要求,HDLC定义了三种不同的站类型,两种链路结构和三种数据传输定义了三种不同的站类型,两种链路结构和三种数据传输方式。三种站类型是方式。三种站类型是主站主站、次站次站和和复合站复合站。l链路上用于控制目的的站称为链路上用于控制目的的站称为主站主站,其它的受主站控制的站称为其它的受主站控制的站称为从从站站。主站负责对数据流进行组织。主站负责对数据流进行组织,并且对链路上的差错实施恢复。并且对链路上的差错实施恢复。由主站发往从站的帧称为由主站发往从站的帧称为命令帧命令帧,而由从站返回主站的帧称而由从站

32、返回主站的帧称响应帧响应帧。连有多个站点的链路通常使用连有多个站点的链路通常使用轮询轮询技术技术,轮询其它站的站称为主站,轮询其它站的站称为主站,而在点一点链路中每个站均可为主站。主站需要比从站有更多的而在点一点链路中每个站均可为主站。主站需要比从站有更多的逻辑功能逻辑功能,所以当终端与主机相连时所以当终端与主机相连时,主机一般总是主站。在一个主机一般总是主站。在一个站连接多条链路的情况下站连接多条链路的情况下,该站对于一些链路而言可能是主站该站对于一些链路而言可能是主站,而而对另外一些链路而言又可能是从站。有些站可兼备主站和从站的对另外一些链路而言又可能是从站。有些站可兼备主站和从站的功能功

33、能,这种站称为这种站称为组合站组合站313.4 面向比特的链路控制规程面向比特的链路控制规程HDLCHDLCl两种链路结构是非平衡型和平衡型。两种链路结构是非平衡型和平衡型。1、非平衡结构:有一个主站和一个或多个次站,以点对点或多点共、非平衡结构:有一个主站和一个或多个次站,以点对点或多点共享、半双工或全双工、交换型或非交换型等方式工作。享、半双工或全双工、交换型或非交换型等方式工作。l特点:主站负责控制每个次站,并负责建立置方式命令。特点:主站负责控制每个次站,并负责建立置方式命令。2、平衡结构,两个复合站点对点地互连。、平衡结构,两个复合站点对点地互连。主站A次站B响应(B)命令(B)主站

34、A次站C响应(B)命令(B)或(C)次站B响应(C)主站A次站B响应(A)命令(B)命令(A)响应(B)323.4 面向比特的链路控制规程面向比特的链路控制规程HDLCHDLCl特点:信道可以是半双工或全双工,可以是交换型或非交换型。特点:信道可以是半双工或全双工,可以是交换型或非交换型。两个复合站在信道上处于同等的地位,可以互相发送未经邀请的两个复合站在信道上处于同等的地位,可以互相发送未经邀请的数据帧。每个站都有同等的链路控制责任。数据帧。每个站都有同等的链路控制责任。l三种数据传输方式是正常响应方式、异步响应方式和异步平衡方三种数据传输方式是正常响应方式、异步响应方式和异步平衡方式。式。

35、(1)正常响应方式)正常响应方式(NRM):用于用于非平衡型非平衡型结构,只有主站才能发起结构,只有主站才能发起向次站的数据传输,次站必须在得到主站明确的许可之后才可以向次站的数据传输,次站必须在得到主站明确的许可之后才可以发送。在接到许可后,次站启动一次可以包含数据的响应传输。发送。在接到许可后,次站启动一次可以包含数据的响应传输。在次站的响应传输期间,通道就被次站占用;次站可以在此期间在次站的响应传输期间,通道就被次站占用;次站可以在此期间发送一个或多个帧。在发送完最后一个帧之后,次站必须再等待发送一个或多个帧。在发送完最后一个帧之后,次站必须再等待得到明确的许可才可以再次发送。得到明确的

36、许可才可以再次发送。333.4 面向比特的链路控制规程面向比特的链路控制规程HDLCHDLC(2 2)异步响应方式)异步响应方式( (ARM) ):也用于也用于非平衡非平衡型结构,每当型结构,每当发现链路空闲时,不论是主站还是次站,都可以发送;发现链路空闲时,不论是主站还是次站,都可以发送;也就是说,允许次站未得到主站许可就启动发送。传也就是说,允许次站未得到主站许可就启动发送。传送可以包含一个或多个数据帧,也可以包含反映次站送可以包含一个或多个数据帧,也可以包含反映次站状态变化的控制信息。状态变化的控制信息。(3 3)异步平衡方式)异步平衡方式( (ABM) ):提供了在两个逻辑上地位平提供

37、了在两个逻辑上地位平等的站(即两个复合站)之间的平衡型数据传输方式。等的站(即两个复合站)之间的平衡型数据传输方式。一个复合站没有得到另一个复合站的许可就能启动发一个复合站没有得到另一个复合站的许可就能启动发送。对于点对点结构,异步方式通常比正常响应方式送。对于点对点结构,异步方式通常比正常响应方式效率更高,因为异步方式不需要轮询。效率更高,因为异步方式不需要轮询。343.4.1 HDLC的帧格式的帧格式35 3.4.1 HDLC的帧格式的帧格式l图图3-6示出了示出了HDLC的帧格式,它是由标志、地址、控的帧格式,它是由标志、地址、控制、信息和帧检验序列(制、信息和帧检验序列(FCS)等段构

38、成的。等段构成的。HDLC允许有允许有3种类型的帧:种类型的帧:(1) 信息帧:用于数据传输,还可以同时用来对已收到信息帧:用于数据传输,还可以同时用来对已收到的数据进行确认和执行轮询等功能。的数据进行确认和执行轮询等功能。(2) 监控帧:用于数据流控制,帧本身不包含数据,但监控帧:用于数据流控制,帧本身不包含数据,但可执行对信息帧确认、请求重发信息帧和请求暂停发可执行对信息帧确认、请求重发信息帧和请求暂停发送信息帧等功能。送信息帧等功能。 (3) 无编号帧:主要用于控制链路本身,它不使用发无编号帧:主要用于控制链路本身,它不使用发送或接收帧序号。某些无编号帧可以包含数据。送或接收帧序号。某些

39、无编号帧可以包含数据。 36 3.4.1 HDLC的帧格式的帧格式m各字段的意义:各字段的意义:标志字段:标志字段:以以01111110作标志,采用作标志,采用0比特填充技术比特填充技术实现透实现透明传输。明传输。地址字段:地址字段:8比特或比特或16比特(第一比特为扩展比特比特(第一比特为扩展比特,是是1时,时,表示是地址的最后一个字节;是表示是地址的最后一个字节;是0时,说明后随的字节还表示时,说明后随的字节还表示地址;发送的命令帧里总是带有接收站的地址。发送的响应地址;发送的命令帧里总是带有接收站的地址。发送的响应帧里总是带有发送站的地址。帧里总是带有发送站的地址。) 控制字段:控制字段

40、:决定是信息帧、监督帧、无编号帧决定是信息帧、监督帧、无编号帧 校验字段:校验字段:CRC校验法校验法37 3.4.1 HDLC的帧格式的帧格式l信息帧:信息帧: N(S):当前发送的信息帧的序号当前发送的信息帧的序号 N(R):所期望收到的信息帧的序号。它带有确认所期望收到的信息帧的序号。它带有确认N(R)-1( mod 8)的帧的帧以及在这以前的帧都已正确接收到了,以及在这以前的帧都已正确接收到了,捎带走捎带走,V(S) , V(R) P/F:询问询问/终止终止l监督帧:监督帧:0N(S)N(R)P/F038 3.4.1 HDLC的帧格式的帧格式1SN(R)P/F0 00:RR 接收就绪接

41、收就绪 10:RNR 接收求就绪接收求就绪 01:REJ 拒绝,拒绝拒绝,拒绝N(R)起的所有帧起的所有帧 11:SREJ 选择拒绝,只拒绝序号为选择拒绝,只拒绝序号为N(R) 的帧的帧第第3、第、第4比特的组合比特的组合无编号帧:无编号帧:1MMP/F139 3.4.2 HDLC帧的控制段帧的控制段无编号帧不包括发送和接收序号计数,用来控制链路。这就意味着无编号帧不包括发送和接收序号计数,用来控制链路。这就意味着不能通过不能通过N(R)进行帧的确认。用进行帧的确认。用5位表示不同的功能,如位表示不同的功能,如*SNRM:置通常响应方式。该方式禁止次站发送任何未经邀请的帧。置通常响应方式。该方

42、式禁止次站发送任何未经邀请的帧。这就意味着主站控制了链路上的全部信息流。这就意味着主站控制了链路上的全部信息流。*SABM:置异步平衡方式。通信双方都处于同等的地位,不要轮询置异步平衡方式。通信双方都处于同等的地位,不要轮询就可以发送,因为每个站都是一个复合站。就可以发送,因为每个站都是一个复合站。*DISC:断连。当一个主站或复合站要关断链路时,它就发送一个断连。当一个主站或复合站要关断链路时,它就发送一个DISC命令。它所期待的回答是命令。它所期待的回答是UA。*UA:无编号肯定确认。无编号肯定确认。*DM:断连方式。该响应可以用来报告一个站处于逻辑上断连的状断连方式。该响应可以用来报告一

43、个站处于逻辑上断连的状态,例如在收到态,例如在收到DISC命令之后。如果一个站对置方式命令所要命令之后。如果一个站对置方式命令所要求的动作不能够或不愿意执行,它也可以用求的动作不能够或不愿意执行,它也可以用DM应答。应答。 *FRMR:帧拒绝。它的作用是允许接收方通知发送方,接收方收到帧拒绝。它的作用是允许接收方通知发送方,接收方收到了一个不能理解或违犯协议规则的帧。了一个不能理解或违犯协议规则的帧。40 3.4.3 3.4.3 HDLCHDLC协议交互示例协议交互示例 l下面我们将通过若干个传输序列实例说明下面我们将通过若干个传输序列实例说明HDLC的使用。在示例中我们采用下列格式描的使用。

44、在示例中我们采用下列格式描述被传输的帧:述被传输的帧:地址地址.帧名帧名.N(S). P/F. N(R) P和和 分别表示分别表示P位置成位置成1和和0,F和和 分别表示分别表示F位置成位置成1和和0;在帧中不使用的段用;在帧中不使用的段用“一一”表表示,示,N(R)不存在则以空白表示。不存在则以空白表示。 41 3.4.3 3.4.3 HDLCHDLC协议交互示例协议交互示例 42 3.4.3 3.4.3 HDLCHDLC协议交互示例协议交互示例 433.5 InternetInternet中的数据链路层中的数据链路层l用户接入用户接入Internet的一般方法有两种。一种是的一般方法有两种

45、。一种是用户使用拨号电话线接入,另一种是使用专线。用户使用拨号电话线接入,另一种是使用专线。不管用哪一种方法,在传送数据时都需要有数不管用哪一种方法,在传送数据时都需要有数据链路层协议。在据链路层协议。在Internet上使用最广泛的数上使用最广泛的数据链路层协议是据链路层协议是SLIP和和PPP。ModemModemModemModemModem用户家庭用户家庭ISP客户进程客户进程选路进程选路进程使用使用PPP连接连接至因特网至因特网44 3.5.1 串行线路互连网协议串行线路互连网协议SLIPlSLIP(串行线路互连网协议)是专门设计用来在串行串行线路互连网协议)是专门设计用来在串行数据

46、线路上传送数据线路上传送IP分组的。它仅仅是一个分组成帧协分组的。它仅仅是一个分组成帧协议,定义一组字符,将串行线上的议,定义一组字符,将串行线上的IP分组包装成帧,分组包装成帧,没有任何其它的功能。它不提供寻址机制,无分组类没有任何其它的功能。它不提供寻址机制,无分组类型识别,无错误检测和纠正,因为协议做的事情如此型识别,无错误检测和纠正,因为协议做的事情如此少,所以实现起来非常容易。少,所以实现起来非常容易。lSLIP提供的成帧服务是用开头的和末尾的端字符(十提供的成帧服务是用开头的和末尾的端字符(十六进制六进制C0)包裹包裹IP分组。头部的端字符可以抑止由线分组。头部的端字符可以抑止由线

47、路噪音产生的任何随机字符,末尾的端字符则标志路噪音产生的任何随机字符,末尾的端字符则标志SLIP帧的结束。帧的结束。45 3.5.1 串行线路互连网协议串行线路互连网协议SLIP 46 3.5.1 串行线路互连网协议串行线路互连网协议SLIPl由于由于SLIP是非标准协议,也就没有最大帧长限制,但通常都把是非标准协议,也就没有最大帧长限制,但通常都把Berkeley UNIX SLIP的的1006个字节当作最大帧长限制。个字节当作最大帧长限制。lSLIP规定,在传输的数据即规定,在传输的数据即IP分组中,与端字符(分组中,与端字符(C0)相同的相同的数据用转义字符(数据用转义字符(DB)加端替

48、代字符(加端替代字符(DC)代替(也就是用两代替(也就是用两字节的字节的DBDC替代替代1字节的字节的C0),),与转义字符(与转义字符(DB)相同的数据相同的数据用转义字符(用转义字符(DB)加上转义替代字符(加上转义替代字符(DD)代替(也就是用两代替(也就是用两字节的字节的DBDD代替代替1字节的字节的DB)。)。l在接收方,在接收方,SLIP对帧中的数据作相反的替换工作,即将对帧中的数据作相反的替换工作,即将“DBDC”变成变成C0,将将DBDD变成变成DB。通过对上述四种通过对上述四种SLIP字符的定义和字符的定义和使用,使用,SLIP提供的成帧服务可以传送包含任意数据的提供的成帧服

49、务可以传送包含任意数据的IP分组。分组。lSLIP主要用于低速(不超过主要用于低速(不超过19.2k位位/秒)的交互性业务。秒)的交互性业务。47 3.5.2 面向字节的协议面向字节的协议PPPlPPPPPP(点到点的协议)是使用串行线路通信的面向字节的协议。点到点的协议)是使用串行线路通信的面向字节的协议。它既可以在异步线路上使用,也可以在同步线路上使用;不仅用它既可以在异步线路上使用,也可以在同步线路上使用;不仅用于拨号于拨号MODEMMODEM链路,也用于租用的路由器到路由器的线路。链路,也用于租用的路由器到路由器的线路。lPPPPPP最初的出现是用作在点到点链路上传输最初的出现是用作在

50、点到点链路上传输IPIP交通的封装协议。交通的封装协议。PPPPPP还建立一套标准,以便于还建立一套标准,以便于IPIP地址的分配和管理,异步的(起地址的分配和管理,异步的(起停位的)和面向位的同步封装,网络协议的多路复用,链路配置,停位的)和面向位的同步封装,网络协议的多路复用,链路配置,链路质量测试,错误检测链路质量测试,错误检测 ,以及对于诸如网络层地址和数据压,以及对于诸如网络层地址和数据压缩这样的功能的选项协商。缩这样的功能的选项协商。PPP PPP 通过提供一个可扩展的链路控制通过提供一个可扩展的链路控制协议(协议(LCPLCP)和一个网络控制协议(和一个网络控制协议(NCPNCP

51、)族来协商选项配置参数族来协商选项配置参数和设施。除了和设施。除了IPIP之外,之外,PPPPPP还支持其它协议,包括还支持其它协议,包括NovellNovell的互连的互连网络分组交换(网络分组交换(IPXIPX)和和DECnetDECnet。 48 3.5.2 面向字节的协议面向字节的协议PPPlPPP包含三个主要成分,即包含三个主要成分,即HDLC封装、链路控制协封装、链路控制协议和网络控制协议。它们分别提供下列三个方面的功议和网络控制协议。它们分别提供下列三个方面的功能:能:(1) 一种成帧方法,明确地定界一个帧的结束和下一种成帧方法,明确地定界一个帧的结束和下一个帧的开始,其帧格式也

52、允许进行错误检测。一个帧的开始,其帧格式也允许进行错误检测。(2) 一个链路控制协议,负责线路建立、测试和选一个链路控制协议,负责线路建立、测试和选项协商,并在它们不再被需要时,稳妥地把它们释放。项协商,并在它们不再被需要时,稳妥地把它们释放。该协议被称作链路控制协议(该协议被称作链路控制协议(LCP)。)。 (3)一种协商网络层选项的方式,对于所支持的每一)一种协商网络层选项的方式,对于所支持的每一个网络层协议都有一个不同的网络控制协议(个网络层协议都有一个不同的网络控制协议(NCP),),用来建立和配置不同的网络层协议。用来建立和配置不同的网络层协议。PPP被设计成允被设计成允许同时使用多

53、个网络层协议。许同时使用多个网络层协议。 49 3.5.2 面向字节的协议面向字节的协议PPPl为了在点到点的链路上建立通信,呼叫方为了在点到点的链路上建立通信,呼叫方PPP首先发送首先发送LCP帧,配置和(可选地)测试数据帧,配置和(可选地)测试数据链路。在配置了链路并协商好链路。在配置了链路并协商好LCP所需要的可所需要的可选设施之后,呼叫方选设施之后,呼叫方PPP发送发送NCP帧选择和配帧选择和配置一个或多个网络层协议。在配置完所选择的置一个或多个网络层协议。在配置完所选择的每一个网络层协议后,来自每个网络层协议的每一个网络层协议后,来自每个网络层协议的分组就都可以在链路上发送了。该链路

54、一直处分组就都可以在链路上发送了。该链路一直处于已配置好可用于通信的状态,直到有显式的于已配置好可用于通信的状态,直到有显式的LCP帧关闭链路,或者发生了某个外部事件帧关闭链路,或者发生了某个外部事件(例如不活动期超时或用户干预)为止。(例如不活动期超时或用户干预)为止。 50 3.5.2 面向字节的协议面向字节的协议PPPl现在让我们来考察一个家庭用户呼叫一个现在让我们来考察一个家庭用户呼叫一个InternetInternet服务提供商使服务提供商使一个家庭一个家庭PCPC成为一个暂时的成为一个暂时的InternetInternet主机的典型过程。主机的典型过程。PCPC首先通首先通过一个过

55、一个MODEMMODEM呼叫提供者的路由器。在路由器的呼叫提供者的路由器。在路由器的MODEMMODEM回了电话并回了电话并建立了一条物理连接之后,建立了一条物理连接之后,PCPC在一个或多个在一个或多个PPPPPP帧的载荷段中发帧的载荷段中发送一系列的送一系列的LCPLCP分组给路由器。这些分组以及对它们的响应负责分组给路由器。这些分组以及对它们的响应负责选择要使用的选择要使用的PPPPPP参数。参数。l 一旦在这些问题上达成了一致,就需要发送一系列的一旦在这些问题上达成了一致,就需要发送一系列的NCPNCP分组来分组来配置网络层。典型地,配置网络层。典型地,PCPC要运行一个要运行一个TC

56、P/IPTCP/IP协议栈,因此它需要协议栈,因此它需要一个一个IPIP地址。现在的地址。现在的IPIP地址是短缺的,因此通常每个地址是短缺的,因此通常每个InternetInternet提提供商都得到一块地址,然后在每个新连接的供商都得到一块地址,然后在每个新连接的PCPC登录期间动态地分登录期间动态地分配给它一个地址。如果一个提供商拥有配给它一个地址。如果一个提供商拥有n n个个IPIP地址,那么他最多地址,那么他最多可以让可以让n n台机器同时登录,但其客户基地的总的客户数可以是台机器同时登录,但其客户基地的总的客户数可以是n n的的许多倍。许多倍。IPIP的的NCPNCP就用于做就用于

57、做IPIP地址的分配工作。地址的分配工作。51 3.5.2 面向字节的协议面向字节的协议PPPl在通信过程的这一点上,在通信过程的这一点上,PC已经是一台已经是一台Internet主机了,并且跟经常保持硬连接到网主机了,并且跟经常保持硬连接到网络的主机一样,它可以发送和接收络的主机一样,它可以发送和接收IP分组。当分组。当用户通信结束时,用户通信结束时,NCP又被用来拆除网络层连又被用来拆除网络层连接,并释放接,并释放IP地址。然后地址。然后LCP被用来关闭数据被用来关闭数据链路层连接。最后,计算机告诉链路层连接。最后,计算机告诉MODEM挂起挂起电话,释放物理层连接。电话,释放物理层连接。 52 3.5.2 面向字节的协议面向字节的协议PPP53 3.5.2 面向字节的协议面向字节的协议PPPlPPP的帧格式非常类似于的帧格式非常类似于HDLC的帧格式,它们之间

温馨提示

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

评论

0/150

提交评论