1、第四章第四章 数据链路层数据链路层v4.1 4.1 线路规程线路规程v4.2 4.2 流量控制与差错控制流量控制与差错控制v4.3 HDLC4.3 HDLC通信协议通信协议v4.4 4.4 数据链路层网络互连数据链路层网络互连v数据链路层提供两个数据链路层提供两个相邻的网络结点相邻的网络结点之间的之间的可靠通信。将不可靠的物理链路变为可靠的可靠通信。将不可靠的物理链路变为可靠的数据链路。数据链路。v数据链路层传输的信息单元是数据链路层传输的信息单元是帧帧(Frame)(Frame)IP 数据报1010 0110帧取出数据链路层网络层链路结点 A结点 B物理层数据链路层结点 A结点 B帧(a)(
2、b)发送帧接收链路IP 数据报1010 0110帧装入数据链路层传送的是帧v数据链路层的主要工作:线路规程、差错控数据链路层的主要工作:线路规程、差错控制和流量控制。制和流量控制。4.1 线路规程线路规程v线路规程是监视链路的建立,以及在给定时线路规程是监视链路的建立,以及在给定时刻分配一个具体设备进行数据传送的权利。刻分配一个具体设备进行数据传送的权利。v线路规程可以两种方式实现:线路规程可以两种方式实现:v询问询问/应答应答(ENQ/ACK)v轮询轮询/选择选择(Poll/Select)4.1.1 询问询问/确认模式确认模式询问询问/确认模式的使用场合:确认模式的使用场合:当两个设备之间存
3、在一条专用链路时,即当两个设备之间存在一条专用链路时,即点对点点对点方式,采用询问方式,采用询问/确认模式。只要确认模式。只要一条链路两头的设备级别相同,任意一个一条链路两头的设备级别相同,任意一个设备都可以启动一个会话过程。设备都可以启动一个会话过程。询问询问/确认模式的工作方式确认模式的工作方式v启动方首先发送一个启动方首先发送一个询问询问帧(帧(ENQENQ)询问接收)询问接收方是否可以接收数据,接收方如果已经准备方是否可以接收数据,接收方如果已经准备好接收,回答一个好接收,回答一个确认确认帧(帧(ACKACK)。如果没有)。如果没有准备好接收,回答一个准备好接收,回答一个否认否认帧(帧
4、(NAKNAK)。)。询问帧应答帧数据帧应答帧数据帧应答帧传输结束帧A站点B站点建立数据传输终止询问询问/确认确认(ENQ/ACK)线路规程线路规程 v3 3种可能出现的情况种可能出现的情况:v没有应答;没有应答;v回答是否定;回答是否定;v回答是肯定;回答是肯定;4.1.2 轮询轮询/选择模式选择模式v轮询(Poll)/选择(Select)模式的使用场合在多点连接系统。在这种环境下,不仅仅要确定设备是否就绪,还要确定哪一个站点有权使用信道。v工作方式:工作方式:主设备控制链路,主设备控制链路,主设备发命主设备发命令,从设备响应。令,从设备响应。主设备从设备A从设备B从设备Cv地址问题:在链路
5、上的每个设备都有一个地址问题:在链路上的每个设备都有一个地址来标识自己。地址来标识自己。v选择:主设备希望发送数据,用选择:主设备希望发送数据,用SELSEL告诉从告诉从设备准备接收数据。从设备用设备准备接收数据。从设备用ACKACK同意接收,同意接收,用用NAKNAK拒绝接收。拒绝接收。主设备从设备A从设备B从设备C选择帧应答帧数据帧应答帧数据帧应答帧EOT帧建立传输终止多点选择多点选择 v轮询:主设备希望接收数据,逐个询问设轮询:主设备希望接收数据,逐个询问设备是否有数据发送。如果没有数据发送,必备是否有数据发送。如果没有数据发送,必须回答否定应答帧须回答否定应答帧(NAK)(NAK)。v
6、如果有数据,直接用数据帧应答。如果有数据,直接用数据帧应答。主设备从设备A从设备B从设备C轮询帧否定应答帧数据帧应答帧EOT帧传输终止轮询帧数据帧应答帧轮询帧否定应答帧v有两种终止信息交互的方法:有两种终止信息交互的方法:从设备将所有的数据发送完毕,并以一从设备将所有的数据发送完毕,并以一个传输结束帧个传输结束帧(EOT)(EOT)结束传输。结束传输。主设备发出主设备发出“时间到时间到”消息。消息。4.2 流量控制与差错控制流量控制与差错控制v流量控制是一组过程,这组过程是用来告诉流量控制是一组过程,这组过程是用来告诉发送方在等待接收方的确认信号之前最多可发送方在等待接收方的确认信号之前最多可
7、以传送多少数据。以传送多少数据。v流量控制有两个要点:流量控制有两个要点:v数据流不能使接收方过载数据流不能使接收方过载v接收方对数据进行确认接收方对数据进行确认v差错控制主要指错误检测和重传方法。差错控制主要指错误检测和重传方法。v自动重复请求自动重复请求(ARQ)(ARQ):数据帧在传输中出现错:数据帧在传输中出现错误,接收方就返回一个否定应答帧误,接收方就返回一个否定应答帧(NAK)(NAK),出,出错的帧就会被发送方重新传送。这个过程叫错的帧就会被发送方重新传送。这个过程叫ARQARQ。v数据被重传的情况有三种:帧破坏、帧丢失数据被重传的情况有三种:帧破坏、帧丢失和应答帧丢失。和应答帧
8、丢失。v流量控制和差错控制是结合在一起实现的,流量控制和差错控制是结合在一起实现的,有两种实现流量控制和差错控制的技术:有两种实现流量控制和差错控制的技术:v停止等待协议停止等待协议v滑动窗口协议滑动窗口协议4.2.1 停止等待协议停止等待协议停止等待协议的流量控制停止等待协议的流量控制v发送方每发送一帧后就发送方每发送一帧后就等待等待应答。只有收应答。只有收到一个应答到一个应答(ACK)(ACK)后,才发送下一个帧。直后,才发送下一个帧。直到发送方发送一个传输结束帧。到发送方发送一个传输结束帧。v优点:协议简单。优点:协议简单。v缺点:效率低,在线路上只有一帧。如果缺点:效率低,在线路上只有
9、一帧。如果设备之间的距离很长,在每帧之间等待设备之间的距离很长,在每帧之间等待ACKACK帧所花费的时间很长。帧所花费的时间很长。数据帧应答帧数据帧应答帧数据帧应答帧传输结束帧A站点B站点停止等待协议停止等待协议 完成一帧发送所需的最短时间:完成一帧发送所需的最短时间:A站点B站点数据帧数据帧应答帧tItPtProctPtProctSWTvWT=tI+2tp+2tproc+tWT=tI+2tp+2tproc+tS S 其中:其中:vtItI:发送数据帧时间:发送数据帧时间=帧长帧长/数据传输率数据传输率vt tS S:发送确认帧时间:发送确认帧时间=确认帧长确认帧长/数据传输率数据传输率vtp
10、tp:信号传输延时:信号传输延时=距离距离/0.7/0.7光速光速vtproctproc:结点处理数据时间:结点处理数据时间停等协议的定量分析停等协议的定量分析无差错情况的信道利用率无差错情况的信道利用率F:vF=(tI+tp)/WT;(F=tI/WT)vtI:发送数据的时间:发送数据的时间;vtp:信号的传输延时;:信号的传输延时;v信道利用率:信道被占用的时间和总时间信道利用率:信道被占用的时间和总时间之比。之比。例题例题v带宽为带宽为1Mbps,1Mbps,往返延时往返延时45ms,45ms,数据帧为数据帧为10001000字节,采用停等协议。求:实际的字节,采用停等协议。求:实际的数据
11、传输率和信道利用率?数据传输率和信道利用率?v解:解:v实际的数据传输率:实际的数据传输率:v8 810001000(810001000106+451010-3)=150kbps)=150kbpsv信道利用率信道利用率=150kbps=150kbps10106=15%v或或:TITW=15%无差错情况的有效数据传输率无差错情况的有效数据传输率vS=D1/WTS=D1/WT;vD1D1是有效数据位数;是有效数据位数;vWTWT是发送一帧的时间;是发送一帧的时间;v有效数据传输率:单位时间内传输的有效数有效数据传输率:单位时间内传输的有效数据位数。据位数。v例例1 1:vC=C=传输速率(传输速率
12、(10Mbps10Mbps或或10bit/us10bit/us)vS=S=信号速度(信号速度(200m/us200m/us)vD=D=发送方与接收方的距离(发送方与接收方的距离(200m200m)vtproctproc=生成一帧的时间(生成一帧的时间(1us1us)vLf=Lf=一帧的比特数(一帧的比特数(200Bit200Bit)vN=N=一帧的数据比特数(一帧的数据比特数(160Bit160Bit)vLS=LS=一确认帧的比特数(一确认帧的比特数(40Bit40Bit)A站点B站点数据帧数据帧应答帧tItPtProctPtProctSWTv计算:计算:vWT=tI+2tP+2tProc+t
13、S WT=tI+2tP+2tProc+tS vtItI=Lf/C=200/10=20(us);=Lf/C=200/10=20(us);vtS=LS/C=40/10=4(us);tS=LS/C=40/10=4(us);tPtP=D/S=200/200=1(us);=D/S=200/200=1(us);vWT=20+2WT=20+21+21+21+4=28;1+4=28;v信道的利用率信道的利用率:P=20/28=75%:P=20/28=75%v有效数据传送速率有效数据传送速率:160/28=5.7Mbps:160/28=5.7Mbps 有差错时正确传送一帧的平均时间有差错时正确传送一帧的平均时间
14、v无差错情况下,发送一帧的最小时间间无差错情况下,发送一帧的最小时间间隔为隔为WT,WT,记为记为t tW W 。当出错率为。当出错率为p p时时,正确正确发送一帧的平均时间间隔发送一帧的平均时间间隔t tV V为为(根据概率根据概率统计学统计学):v t tV V=t=tW W/(1-p);p/(1-p);p是出错率是出错率vt tV V是发送一帧的平均时间是发送一帧的平均时间;系统的最大吞吐量系统的最大吞吐量v最大吞吐量最大吞吐量maxmax (每秒成功发送的帧(每秒成功发送的帧数)数):v maxmax=1/t=1/tV V=(1-p)/t=(1-p)/tW W v极限吞吐量极限吞吐量M
15、=1/tIM=1/tIv(tI(tI是发送数据的时间是发送数据的时间)系统的传输效率系统的传输效率v系统的传输效率系统的传输效率=最大吞吐量最大吞吐量max/极极限吞吐量限吞吐量v =(1-p)/tw/1/tI;v令令atw/tI 1;v则则:=(1-p)/av说明说明 的大小与的大小与a的关系是反比的关系是反比;a越小效越小效率越高率越高;停止等待协议中的差错控制停止等待协议中的差错控制v为了实现差错控制,停止等待协议采用为了实现差错控制,停止等待协议采用vARQARQ技术,技术,ARQARQ处理错误的三种情况:处理错误的三种情况:v帧破坏:帧破坏:(校验码)校验码)v数据帧丢失:数据帧丢失
16、:(超时超时)v应答帧丢失:应答帧丢失:(超时超时)数据帧1应答帧0数据帧0应答帧1数据帧1否定应答帧A站点B站点数据帧1应答帧0a)帧破坏数据帧1应答帧0数据帧0应答帧1数据帧1A站点B站点数据帧1应答帧0b)帧丢失丢失超时数据帧1应答帧0数据帧0应答帧1数据帧1应答帧0A站点B站点数据帧1应答帧0c)应答帧丢失丢失超时v停等协议中的差错控制要求:停等协议中的差错控制要求:v发送站要保留数据帧的发送站要保留数据帧的备份备份;v数据帧和应答帧必须交替的数据帧和应答帧必须交替的标识标识为为0 0和和1 1。如。如果接收方收到了两个相邻的数据帧且标号相果接收方收到了两个相邻的数据帧且标号相同,说明
17、接收方收到了一个重复帧。应当丢同,说明接收方收到了一个重复帧。应当丢弃一个重复帧。弃一个重复帧。v否定应答帧否定应答帧(NAK),(NAK),通知发送方重新发送最近通知发送方重新发送最近的一帧。的一帧。v定时器定时器,判断,判断数据数据帧帧在传输中丢失。在传输中丢失。4.2.2 滑动窗口协议滑动窗口协议滑动窗口滑动窗口协议中的流量控制协议中的流量控制 v发送方在收到应答消息前可以发送发送方在收到应答消息前可以发送多个帧多个帧。接收方使用一个接收方使用一个ACKACK帧来对多个帧的接收进行帧来对多个帧的接收进行确认。具体可以接受多少帧视确认。具体可以接受多少帧视窗口窗口大小而定大小而定.v帧编号
18、帧编号:v在滑动窗口协议中,数据帧以模在滑动窗口协议中,数据帧以模n n方式编号,方式编号,也就是说,编号从也就是说,编号从0 0到到n-1n-1。窗口的大小窗口的大小是是n-1n-1。接收方发送的应答帧接收方发送的应答帧(ACK)(ACK)编号是接收方编号是接收方希望希望收到的下一帧的编号收到的下一帧的编号。v窗口窗口是发送方和接收方存放数据帧的缓冲区:是发送方和接收方存放数据帧的缓冲区:v发送方窗口用于存放发送方窗口用于存放已经发送但未收到应答已经发送但未收到应答的数据帧的数据帧和和在收到应答帧之前可以发送的数在收到应答帧之前可以发送的数据帧。据帧。在接受方,只要窗口未填满就可以在在接受方
19、,只要窗口未填满就可以在未发送应答帧的情况下继续接收数据帧。接未发送应答帧的情况下继续接收数据帧。接收方窗口用于存放收方窗口用于存放已经被接收但未给应答已经被接收但未给应答的的数据帧。数据帧。543210765432105432107654321054321076543210543210765432105432107654321054321076543210初始时,未发送任何帧,分界和窗口的左边界重叠,窗口中的帧都是未发送但是可以发送的帧已发送但是未收到应答的帧未发送但是可以发送的帧发送了四帧,分界右移四帧窗口右边是不可以发送的帧已发送并且收到应答的帧未发送,分界位置不变。但在窗口中的相对位置
20、发生了变化。收到编号为3的应答帧,窗口整个右移3帧5432107654321054321076543210发送了5帧,分界右移5帧未收到应答帧,窗口不移动(a)(b)(c)(d)发送方发送窗口发送方发送窗口 543210765432105432107654321054321076543210543210765432105432107654321054321076543210初始时,未接收任何帧,分界和窗口的左边界重叠,窗口中的帧都是可以被接收的帧已被接收但是未发送应答的帧可以被接收的帧接受了四帧,分界右移四帧窗口右边是不可以被接收的帧已被应答的帧未收到新的帧,分界位置不变。但在窗口中的相对位置
21、发生了变化。发送编号为3的应答帧,窗口整个右移3帧5432107654321054321076543210收到了5个新的帧,分界右移5帧未发送应答帧,窗口不移动(a)(b)(c)(d)接收方接收窗口接收方接收窗口 滑动窗口协议中的差错控制滑动窗口协议中的差错控制v滑动窗口协议中,有两种实现自动重复请求滑动窗口协议中,有两种实现自动重复请求(ARQARQ)技术技术:v回退回退N N自动重复请求自动重复请求(Go-back-N)(Go-back-N)v选择拒绝选择拒绝自动重复请求自动重复请求(Select-Rej(Select-Rej)v滑动窗口协议滑动窗口协议要求:要求:v发送站要保留数据帧的发
22、送站要保留数据帧的备份备份;v除确认帧外,接收方可以发送否认帧,告诉除确认帧外,接收方可以发送否认帧,告诉发送方发送方重新重新发送一个损坏的帧;发送一个损坏的帧;v定时器定时器,判断,判断数据数据帧帧在传输中丢失;在传输中丢失;回退回退n n自动重复请求自动重复请求v在滑动窗口的回退在滑动窗口的回退 n 自动重复请求中,如果自动重复请求中,如果一帧一帧丢失或损坏丢失或损坏了,从了,从最近最近一次得到应答的一次得到应答的数据帧开始,未被应答的所有帧都进行数据帧开始,未被应答的所有帧都进行重传重传。v差错情况有差错情况有三种三种:v帧破坏帧破坏v数据帧丢失数据帧丢失v确认帧丢失确认帧丢失 A站点B
23、站点数据帧0数据帧0数据帧1数据帧2数据帧3数据帧4数据帧5数据帧3数据帧4数据帧5数据帧1数据帧2NAK3数据帧3有错ACK3数据帧4未正确收到3号帧,不接收后面的帧,丢弃数据帧5数据帧3数据帧4数据帧5帧破坏帧破坏 数据帧丢失数据帧丢失 A站点B站点数据帧0数据帧0数据帧1数据帧2数据帧3数据帧4数据帧2数据帧3数据帧4数据帧1NAK2数据帧3数据帧4未正确收到2号帧,不接收后面的帧,丢弃数据帧2数据帧3数据帧4丢失确认确认帧丢失帧丢失 A站点B站点数据帧0数据帧0数据帧1数据帧2数据帧1数据帧2丢失ACK3超时数据帧0数据帧0数据帧1数据帧2数据帧1数据帧2ACK3v窗口的大小窗口的大小
24、与编号范围的关系与编号范围的关系v在回退在回退N协议中,如果帧的编号范围是协议中,如果帧的编号范围是0n-1,则,则窗口的尺寸为窗口的尺寸为n-1站点A站点Bt1t2t3t4发送数据帧07 按顺序收到数据帧07,发送ACK0ACK0丢失接收数据帧07,接收到的帧编号正是所希望收到的编号,把它们认为是新帧。但它们是重复帧。超时,重新发送数据帧07 如果窗口尺寸等于如果窗口尺寸等于n n时,协议时,协议失败失败窗口尺寸等于窗口尺寸等于n-1n-1时,协议成功时,协议成功站点A站点Bt1t2t3t4发送数据帧06 按顺序收到数据帧06,发送ACK7ACK7丢失接收数据帧06,接收到的帧编号不是所希望
25、收到的编号,它们是重复帧。超时,重新发送数据帧06选择拒绝选择拒绝自动重复请求自动重复请求v在选择拒绝自动重复请求协议中,只有特定在选择拒绝自动重复请求协议中,只有特定的丢失或损坏帧被的丢失或损坏帧被重发重发。接收方收到的数据。接收方收到的数据帧可以是帧可以是不按顺序不按顺序到达的。到达的。v选择拒绝与回退选择拒绝与回退n n有有4 4个不同点:个不同点:v接收设备接收设备必须具有必须具有排序排序功能。接收方在发送功能。接收方在发送了了NAKNAK帧之后,必须存储所收到的所有帧,直帧之后,必须存储所收到的所有帧,直到损坏的帧被重新收到为止。到损坏的帧被重新收到为止。v发送设备发送设备必须具有必
26、须具有查找查找机制,以便发现和选机制,以便发现和选择需要重传的帧。择需要重传的帧。v所有的重传帧被排序和所有重复帧被辨别出所有的重传帧被排序和所有重复帧被辨别出来并删除之前,所收到的所有帧都必须来并删除之前,所收到的所有帧都必须保存保存。vACKACK帧帧的编号指的是被的编号指的是被正确接收的帧编号正确接收的帧编号,不是指期望接收的帧编号,而不是指期望接收的帧编号,而NAKNAK帧帧的编号指的编号指的是的是错误或丢失的帧错误或丢失的帧。A站点B站点数据帧0数据帧0数据帧1数据帧2数据帧3数据帧4数据帧5数据帧1数据帧2ACK5有错NAK2数据帧3数据帧4数据帧5数据帧2数据帧2重发帧破坏帧破坏
27、 A站点B站点数据帧0数据帧0数据帧1数据帧2数据帧3数据帧4数据帧5数据帧1ACK5NAK2数据帧3数据帧4数据帧5数据帧2数据帧2重发丢失数据帧丢失数据帧丢失 v确认帧丢失确认帧丢失v当发送窗口满时,或传输完毕时,当发送窗口满时,或传输完毕时,启动定时启动定时时钟。如果在预定时间段内没有应答到来,时钟。如果在预定时间段内没有应答到来,发送方将尚未应答的所有帧都重传一遍。这发送方将尚未应答的所有帧都重传一遍。这和回退和回退n n协议是一样的。协议是一样的。v窗口的大小与编号范围的关系窗口的大小与编号范围的关系v如果帧的编号范围是如果帧的编号范围是0到到n-1(即模即模n编号编号),则发则发送
28、窗口尺寸和接收窗口尺寸之和应送窗口尺寸和接收窗口尺寸之和应小于或等小于或等于于n。如果要求发送窗口和接收窗口大小相等,。如果要求发送窗口和接收窗口大小相等,则窗口尺寸应该小于或等于则窗口尺寸应该小于或等于n/2。发送窗口尺寸太大,协议失败发送窗口尺寸太大,协议失败站点A站点Bt1t2t3t4发送数据帧04 收到数据帧03,发送ACK3,移动窗口,接收数据帧4,发ACK4,再移动窗口,可接收数据帧5、6、7、0帧ACK3和ACK4丢失接收数据帧0,认为是新帧。但它是重复帧。超时,重新发送数据帧04 站点A站点Bt1t2t3t4发送数据帧03 收到数据帧03,发送ACK3,移动窗口,可接收4、5、
29、6、7、0帧ACK3丢失接收数据帧0,认为是新帧。但它是重复帧。超时,重新发送数据帧03 接收窗口尺寸太大,协议失败接收窗口尺寸太大,协议失败窗口大小的选择窗口大小的选择v窗口如果选得太大,会要求有窗口如果选得太大,会要求有足够大的缓存足够大的缓存空间;如果选得太小,由于传播和发送延迟,空间;如果选得太小,由于传播和发送延迟,第一个应答帧返回到发送方之前,发送方发第一个应答帧返回到发送方之前,发送方发送窗口中的帧已经全部发送出去,但是没有送窗口中的帧已经全部发送出去,但是没有得到应答,发送方必须等待,从而影响了传得到应答,发送方必须等待,从而影响了传输速度和输速度和传输效率传输效率。v假设一个
30、帧的发送时间为假设一个帧的发送时间为tItI,传播时间,传播时间为为tPtP,则窗口的大小,则窗口的大小n n应该满足如下条件应该满足如下条件v ntIntI2(tI+tP)2(tI+tP)v应为:应为:ntIntItI+2tP+ts,tI+2tP+ts,v近似:近似:ntIntItI+2tPtI+2tPA站点B站点数据帧数据帧应答帧tItPtProctPtProctSWTv例:在卫星通信中,设帧的长度为例:在卫星通信中,设帧的长度为1200bit1200bit,信道速率为信道速率为4.8kbit/s4.8kbit/s,传播延迟为,传播延迟为tPtP=250ms=250ms,在全双工的数据通信
31、中,窗口至少应为在全双工的数据通信中,窗口至少应为:vtItI=1200=1200(4.8(4.810103 3)=0.25s=250ms)=0.25s=250ms,所以:,所以:vn(250+2n(250+2250)250)250250,即,即n3n3v滑动窗口协议中的滑动窗口协议中的回退回退N N的效率的效率v正确传送一帧所需的平均时间为:正确传送一帧所需的平均时间为:v tV=tI+ptW/(1-p)v系统最大吞吐量系统最大吞吐量:v max=1/tV=(1-p)/(tI(1+p(a-1)v系统的传输效率系统的传输效率:v =(1-p)/(1+p(a-1)v (其中其中a=tW/tI)v
32、例例1 1:v若数据帧的差错率为若数据帧的差错率为p=0.01,p=0.01,a=4a=4,求两种协议求两种协议的系统效率?的系统效率?v停止等待协议:停止等待协议:=(1-p)/a=0.99/4=0.25=(1-p)/a=0.99/4=0.25v滑动窗口协议,滑动窗口协议,v=(1-p)/(1+(a-1)p)=0.99/(1+3=(1-p)/(1+(a-1)p)=0.99/(1+3*0.01)0.01)v =0.96 =0.96。v可见,在此情况下,即使可见,在此情况下,即使p p高达高达0.01,0.01,滑动窗滑动窗口协议也比停止等待协议好得多。口协议也比停止等待协议好得多。v例例2 2
33、:广域网上,设:广域网上,设p=0.01p=0.01,速率为,速率为9.6kbps9.6kbps数据帧长为数据帧长为1200bit1200bit,tItI=125ms=125ms。应答帧长为。应答帧长为120bit120bit,tStS=12.5ms=12.5ms。传播延迟。传播延迟tPtP=1ms=1ms,求系求系统效率?统效率?v解解:a=(tI+2tP+tS)/tI=139.5/125=:a=(tI+2tP+tS)/tI=139.5/125=1.121.12v停止等待协议停止等待协议:v=(1-p)/a=0.99/1.12=0.89=(1-p)/a=0.99/1.12=0.89v滑动窗口
34、协议滑动窗口协议:v=(1-p)/(1+(a-1)p)=0.989=(1-p)/(1+(a-1)p)=0.989v两者相差不明显两者相差不明显3 3种协议方法总结种协议方法总结v停止等待协议停止等待协议:v 发送窗口发送窗口=1=1,接收窗口,接收窗口=1=1;v滑动窗口中的回退滑动窗口中的回退N:N:v 发送窗口发送窗口11,接收窗口,接收窗口=1=1;v滑动窗口中的选择拒绝滑动窗口中的选择拒绝:v 发送窗口发送窗口11,接收窗口,接收窗口 1;1;回退回退N N接收窗口为接收窗口为1 1的示意的示意4.3 HDLCHDLC通信协议通信协议v在面向比特的协议中,帧被看作一系列比特。在面向比特
35、的协议中,帧被看作一系列比特。面向比特协议的控制信息可以是一个或多个面向比特协议的控制信息可以是一个或多个比特,面向比特的协议可以用较短的比特位比特,面向比特的协议可以用较短的比特位表示较丰富的控制信息。面向比特的协议的表示较丰富的控制信息。面向比特的协议的另一个重要的优点是它不受任何编码系统的另一个重要的优点是它不受任何编码系统的制约。制约。字符协议字符协议举例举例SOH装在帧中的数据部分帧帧开始符帧结束符发送在前EOT利用控制字符进行帧定界的方法利用控制字符进行帧定界的方法透明传输SOHEOT出现了“EOT”被接收端当作无效帧而丢弃被接收端误认为是一个帧数据部分EOT完整的帧发送在前解决透
36、明传输问题解决透明传输问题v发送端在数据中出现控制字符发送端在数据中出现控制字符“SOH”或或“EOT”的前面插入一个转义字符的前面插入一个转义字符“ESC。v接收端删除插入的转义字符。接收端删除插入的转义字符。v如果转义字符也出现数据当中,那么应在转如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面到连续的两个转义字符时,就删除其中前面的一个。的一个。SOHSOHEOTSOHESCESCEOTESCSOHESCESCESCSOH原始数据EOTEOT经过字节填充后发送的数据字节填充字节填充字节
37、填充字节填充帧开始符帧结束符SOHv1979年,年,ISO提出了面向比特的高级数据链提出了面向比特的高级数据链路控制路控制(HDLC)协议。协议。4.3.1 HDLCHDLC支持的站点类型、链路配置和支持的站点类型、链路配置和通信方式通信方式v站点类型:站点类型:vHDLC协议中站点由协议中站点由主站点主站点、从站点从站点和和复合复合站点站点三种类型。三种类型。v链路配置:链路配置:vHDLC协议有协议有非平衡式非平衡式、对称式对称式和和平衡式平衡式三三种配置方式。种配置方式。主站从站A从站B从站C命令响应响应响应非平衡式设备A设备BA充当主设备 命令响应B充当主设备命令响应对称式复合站B命令
38、/响应命令/响应平衡式复合站Av通信方式:通信方式:vHDLCHDLC协议中的通信方式就是在一次交互中所协议中的通信方式就是在一次交互中所涉及到的两个设备之间的关系。这种方式描涉及到的两个设备之间的关系。这种方式描述了由谁控制链路。述了由谁控制链路。vHDLCHDLC支持支持3 3种不同的工作方式:正常应答方式种不同的工作方式:正常应答方式(NRM)(NRM)、异步应答方式、异步应答方式(ARM)(ARM)和异步平衡方式和异步平衡方式(ABM)(ABM)4.3.2 HDLC HDLC帧格式帧格式vHDLC协议为了支持上述配置下的协议为了支持上述配置下的3种通信方种通信方式,定义了三种类型的帧:
39、式,定义了三种类型的帧:v信息帧信息帧(I-帧)帧)v监管帧监管帧(S-帧)帧)v无编号帧无编号帧(U-帧)帧)标志帧校验序列数据信息控制地址标志标志帧校验序列数据信息控制地址标志标志帧校验序列管理信息控制地址标志标志帧校验序列管理信息控制地址标志标志帧校验序列控制地址标志标志帧校验序列控制地址标志I-帧S-帧U-帧标标志志0 01 11 11 11 11 11 10 0地地址址控控制制信信息息F FC CS S标标志志0 01 11 11 11 11 11 10 01 12 23 34 45 56 67 78 80 0N N(S S)P P/F FN N(R R)I I帧帧,信信息息帧帧1
40、10 0S SS S类类别别码码P P/F FN N(R R)S S帧帧,监监控控帧帧1 11 1M MM M类类别别码码P/FM MM MM M类类别别码码U U帧帧,无无编编号号帧帧v标志字段标志字段v标志标志字段字段为一个字节(为一个字节(8位)位),其比特模式为其比特模式为01111110;表示一个帧的开始和结束,并且;表示一个帧的开始和结束,并且为接收方提供同步手段。为接收方提供同步手段。v位填充法位填充法v发送方发送一个含有五个以上连续发送方发送一个含有五个以上连续1 1的数据时,的数据时,它总是在第五个它总是在第五个1 1后面插入一个冗余的后面插入一个冗余的0 0。不。不管第六个
41、比特是管第六个比特是0 0还是还是1 1。接收方接收时作相。接收方接收时作相反的动作反的动作(去掉去掉5 5个个1 1后面的零后面的零)0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 00 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 00 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0信息字段中出现了和标志字段 F 完全一样的 8 比特组合发送端在 5 个连 1 之后填入 0 比特再发送出去在接收端把 5 个连 1之后的 0 比特删除会被误认为是标志字段 F 发送端填入 0 比特接收端删除填入的 0 比特零比特填充 例如例如:要发送的序列
42、是要发送的序列是01111101111110,发送时变,发送时变成成0111110011111010。v地址字段地址字段v该字段是指从站地址,或者是以从站方式运该字段是指从站地址,或者是以从站方式运行的复合站地址。如果帧是由主站发送的,行的复合站地址。如果帧是由主站发送的,则地址表示接收该帧的从站地址。如果帧是则地址表示接收该帧的从站地址。如果帧是由从站发送的,则地址表示发送该帧的从站由从站发送的,则地址表示发送该帧的从站地址。地址。v地址字段的扩展地址字段的扩展v根据网络的规模,地址字段可以有根据网络的规模,地址字段可以有1 1个或几个个或几个字节的长度,如果地址字段只有一个字节,字节的长度
43、,如果地址字段只有一个字节,该字节最后一比特总是该字节最后一比特总是1 1。如果地址字段有多。如果地址字段有多个字节,除最后一个字节外其他所有字节都个字节,除最后一个字节外其他所有字节都要以要以0 0结尾,最后一个字节要以结尾,最后一个字节要以1 1结尾。结尾。X X X X X X X 0 X X X X X X X 1v控制字段控制字段v控制字段是用来进行流量管理的。根据控制控制字段是用来进行流量管理的。根据控制字段的内容,可以知道一个帧的类型。如果字段的内容,可以知道一个帧的类型。如果控制字段的第一个比特是控制字段的第一个比特是0,该帧就是一个,该帧就是一个信息帧。如果控制字段的前两个比
44、特是信息帧。如果控制字段的前两个比特是10,该帧就是一个监管帧。如果控制字段的前两该帧就是一个监管帧。如果控制字段的前两个比特是个比特是11,该帧就是一个无编号帧。,该帧就是一个无编号帧。vI-I-帧的控制字段帧的控制字段P/F0P/F0N(S)N(R)v控制字段的第一位为控制字段的第一位为0 0,它是,它是I I帧的标志。第帧的标志。第2 2、3 3、4 4位是位是N(S)N(S)位,是当前发送帧的编号。第位,是当前发送帧的编号。第5 5位是位是P/FP/F位,位,P/F(P/F(这里是这里是F)F)表示是否还有要发表示是否还有要发送的帧,如果送的帧,如果P/F=0,P/F=0,表示还有要发
45、送的帧;表示还有要发送的帧;如果如果P/F=1,P/F=1,表示没有要发送的帧,发送结束。表示没有要发送的帧,发送结束。第第6 6、7 7、8 8位是位是N(R)N(R)位,位,N(R)N(R)是是期望收到期望收到的帧的帧编号。编号。vS-S-帧的控制字段帧的控制字段 P/F01P/F01CODEN(R)00,接受就绪帧(RR)01,接受未就绪帧(RNR)10,拒绝帧(REJ)11,选择拒绝帧(SREJ)v当不能在一个当不能在一个I-I-帧上帧上捎带确认捎带确认信息时信息时,例如例如它没有数据信息可发时它没有数据信息可发时,就要用就要用S-S-帧来对收帧来对收到的数据帧进行应答。到的数据帧进行
46、应答。N(R)N(R)就是期望收到的就是期望收到的帧的编号帧的编号,它是一个应答域。同它是一个应答域。同I-I-帧中的帧中的N(R)N(R)一样一样,如果最近一帧是正确的如果最近一帧是正确的,N(R),N(R)域将是序域将是序列中下一帧的序号;如果最近一帧是错误列中下一帧的序号;如果最近一帧是错误的的,N(R),N(R)域是这个损坏帧的序号。域是这个损坏帧的序号。vU-U-帧的控制字段帧的控制字段P/F11P/F11CODECODE五位编码五位编码vU-U-帧中的帧中的P/FP/F位一般都应置位一般都应置1 1。其实,无论是。其实,无论是I-I-帧、帧、U-U-帧、还是帧、还是S-S-帧,帧,
47、P/FP/F位置位置1 1的数据帧的数据帧和命令帧都是要立即进行响应的帧。和命令帧都是要立即进行响应的帧。v信息字段信息字段vS-S-帧中没有信息字段。帧中没有信息字段。I-I-帧的信息字段是用帧的信息字段是用户数据信息。户数据信息。U-U-帧中的信息字段是链路管理帧中的信息字段是链路管理信息。信息。v把发送信息和控制信息结合到一帧中的技术把发送信息和控制信息结合到一帧中的技术称为称为捎带确认捎带确认。v帧校验序列字段帧校验序列字段v帧校验序列是帧校验序列是HDLC协议的错误检测字段。协议的错误检测字段。它含有一个两字节或一个四字节的循环冗余它含有一个两字节或一个四字节的循环冗余校验校验(CR
48、C)码。码。4.3.3 监控帧的使用方式监控帧的使用方式vS-S-帧尽管没有信息字段,但是每一帧都给接帧尽管没有信息字段,但是每一帧都给接收方带去了某种信息。这些信息的含义需要收方带去了某种信息。这些信息的含义需要通过通过S-S-帧的类型和传输上下文来获得。帧的类型和传输上下文来获得。v接收就绪接收就绪(RR)(RR)帧:帧:v接收就绪帧有四种使用方式接收就绪帧有四种使用方式,各有不同意义:各有不同意义:v应答(应答(ACKACK):接收站本身没有数据信息发送接收站本身没有数据信息发送时时,用一个接收就绪帧作为应答帧来对所接收用一个接收就绪帧作为应答帧来对所接收的数据帧进行应答。的数据帧进行应
49、答。(P/F=0)(P/F=0)v查询:查询:当主站点询问从站点是否有数据发送当主站点询问从站点是否有数据发送时时,他向从站点发送一个他向从站点发送一个P/FP/F位置位置1 1的的RRRR帧帧.(POLL).(POLL)v对查询的否定应答对查询的否定应答:从站点用一个从站点用一个P/FP/F位置位置1 1的的RRRR帧回答主站点的查询帧回答主站点的查询,通知主站点从站通知主站点从站点没有数据发送。如果从站点有数据发送,点没有数据发送。如果从站点有数据发送,从站点用从站点用I-I-帧来响应查询。帧来响应查询。(POLL.NAK)(POLL.NAK)v对选择的肯定应答对选择的肯定应答:如果从站点
50、收到了主站如果从站点收到了主站点的选择帧点的选择帧,并且从站点准备好从主站接收并且从站点准备好从主站接收数据数据,它用一个它用一个P/FP/F位置位置1 1的的RRRR帧回答主站点帧回答主站点的选择。的选择。(SEL.ACK)(SEL.ACK)v接收未就绪接收未就绪(RNR)(RNR)帧帧v一个接收未就绪帧有三种使用方式:一个接收未就绪帧有三种使用方式:v应答应答(ACK):(ACK):接收方向发送方返回的接收方向发送方返回的RNRRNR帧有两帧有两个意思。第一个意思是应答个意思。第一个意思是应答,表示接收方收到表示接收方收到了编号在了编号在N(R)N(R)以前的所有帧。第二个意思是以前的所有