版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.1.第3章数据链路层基本内容:数据链路层的基本概念,数据链路层协议的工作原理:停止等待协议,连续ARQ协议,滑动窗口,选择ARQ协议,Internet中的数据链路层协议。重点掌握:数据链路层的基本概念。数据链路层协议的工作原理。滑动窗口原理。2.第3章数据链路层基本内容:数据链路层的基本概念3.1数据链路层的基本概念
链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。
数据链路(datalink)除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。数据链路/逻辑链路=物理链路+通信规程3.3.1数据链路层的基本概念链路(link)是一条无源的该层要解决的问题:如何在有差错的线路上,进行无差错传输。数据链路层协议功能图示。数据链路层的模型4.该层要解决的问题:如何在有差错的线路上,进行无差错传输。数数据链路层像个数字管道常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。结点结点帧帧5.数据链路层像个数字管道常常在两个对等的数据链路层之间画出在数据链路层上传输数据帧?发送方:?接收方:?传输过程:!解决这些问题,是数据链路层的主要任务。!针对这些问题所制定的通信规程就是数据链路层的通信协议。以多快的速度发送数据帧,即每帧之间相隔多长时间?如何确认对方是否收到数据?是否接收到正确的数据帧?如何告诉发送方?能及时处理接收到的数据帧吗?会出错吗?会丢失数据帧吗?6.在数据链路层上传输数据帧?发送方:?接收方:?传输过程:!解数据链路层的主要功能数据链路层最重要的作用就是:通过一些数据链路层协议,在不太可靠的物理链路上实现可靠的数据传输。其主要功能可归纳如下:
(1)链路管理(2)帧定界(3)流量控制(4)差错控制(5)将数据和控制信息区分开(6)透明传输(7)寻址7.数据链路层的主要功能数据链路层最重要的作用就是:数据链路层的主要功能(1)链路管理-当网络中的两个结点要进行通信时,数据的发方必须确知收方是否已处在准备接受的状态。为此通信的双方必须先要交换一些必要的信息,用术语讲必须先建立一条数据链路。在传输数据时要维持数据链路,而在通信完毕时要释放数据链路。数据链路的建立、维持和释放就叫做链路管理。(2)帧同步-在数据链路层,数据的传送单位时帧。数据一帧一帧地传送,就可以在出现差错时,将有差错的帧再重传一次,避免了全部数据的重传。帧同步是指收方应当能从受到的比特流中准确地区分出一帧的开始和结束。8.数据链路层的主要功能(1)链路管理-当网络中的两个结点要数据链路层的主要功能(3)流量控制-发方发送数据的速率必须使收方来得及接收。当收方来不及接收时,就必须及时控制发方发送数据的速率。(4)差错控制-在计算机通信中,一般都要求有极低的比特差错率。为此广泛地使用了编码技术,主要有两大类,一类是前向纠错,即收方收到有差错的数据帧时能自动将差错改正过来。这种方法的开销较大,不适合于计算机通信。另一类是检错重发,即收方可以检测出收到的帧中有差错,于是就让发方重复发送这一帧,直到收方正确收到这一帧为止。这种方法在计算机通信中是最常用的。9.数据链路层的主要功能(3)流量控制-发方发送数据的速率必须数据链路层的主要功能(5)将数据和控制信息区分开-由于数据和控制信息都是在同一信道中传输,在许多情况下,数据和控制信息处于同一帧中,因此一定要有响应的措施使收方能够将他们区分开来。(6)透明传输-所谓透明传输就是不管所传数据是什么样的比特组合,都应当能够在链路上传送。当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。(7)寻址-在多点连接的情况下,必须保证每一帧都能送到正确的地址。双方也应当知道发方是哪一个站。10.数据链路层的主要功能(5)将数据和控制信息区分开-由于数据3.2停止等待协议3.2.1完全理想化的数据传输3.2.2具有最简单流量控制的数据链路层协议3.2.3实用的停止等待协议3.2.4循环冗余检验的原理3.2.5停止等待协议的算法3.2.6停止等待协议的定量分析11.3.2停止等待协议3.2.1完全理想化的数据传输3.2.1完全理想化的数据传输数据链路层的简单模型:局域网广域网主机
H1主机
H2路由器
R1路由器
R2路由器
R3电话网局域网主机H1向H2发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动12.3.2.1完全理想化的数据传输数据链路层的简单模型:局域3.2.1完全理想化的数据传输数据链路层的简单模型(续):局域网广域网主机
H1主机
H2路由器
R1路由器
R2路由器
R3电话网局域网主机H1向H2发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2仅从数据链路层观察帧的流动13.3.2.1完全理想化的数据传输数据链路层的简单模型(续)3.2.1完全理想化的数据传输两台计算机通过一条通信链路进行通信的筒化模型:数据链路层主机A缓存主机B数据链路AP2AP1缓存发送方接收方帧高层帧14.3.2.1完全理想化的数据传输两台计算机通过一条通信链路完全理想化的数据传输所基于的两个假定假定1:链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。假定2:不管发方以多快的速率发送数据,收方总是来得及收下,并及时上交主机。这个假定就相当于认为:接收端向主机交付数据的速率永远不会低于发送端发送数据的速率。15.完全理想化的数据传输所基于的两个假定假定1:链路是理想的传3.2.2具有最简单流量控制的数据链路层协议现在去掉上述的第二个假定。但是,仍然保留第一个假定,即主机A向主机B传输数据的信道仍然是无差错的理想信道。然而现在不能保证接收端向主机交付数据的速率永远不低于发送端发送数据的速率。由收方控制发方的数据流,是计算机网络中流量控制的一个基本方法。16.3.2.2具有最简单流量控制的数据链路层协议现在去掉上3.2.2具有最简单流量控制的数据链路层协议在发送结点:(1)从主机取一个数据帧。(2)将数据帧送到数据链路层的发送缓存。(3)将发送缓存中的数据帧发送出去。(4)等待。(5)若收到由接收结点发过来的信息,则从主机取一个新的数据帧,然后转到(2)。在接收结点:(1)等待。(2)若收到由发送结点发过来的数据帧,则将其放入数据链路层的接收缓存。(3)将接收缓存中的数据帧上交主机。(4)向发送结点发一信息,表示数据帧已经上交给主机。(5)转到(1)。17.3.2.2具有最简单流量控制的数据链路层协议在发送结点:两种情况的对比(传输均无差错)ABDATADATADATADATA送主机B送主机B送主机B送主机BABDATA送主机BDATA送主机B时间不需要流量控制需要流量控制18.两种情况的对比(传输均无差错)ABDATADATADAT3.2.3实用的停止等待协议时间ABDATA0送主机ACKDATA1送主机ACK(a)正常情况ABDATA0DATA0送主机ACK(c)数据帧丢失重传tout丢失!ABDATA0送主机ACKDATA0丢弃ACK(d)确认帧丢失重传tout丢失!ABDATA0NAKDATA0送主机ACK(b)数据帧出错重传出错四种情况19.3.2.3实用的停止等待协议时ABDATA0送ACKDA解决死锁问题结点A发送完一个数据帧时,就启动一个超时计时器(timeouttimer)。若到了超时计时器所设置的重传时间tout而仍收不到结点B的任何确认帧,则结点A就重传前面所发送的这一数据帧。一般可将重传时间选为略大于“从发完数据帧到收到确认帧所需的平均时间”。20.解决死锁问题结点A发送完一个数据帧时,就启动一个超时计解决重复帧的问题如果是确认帧丢失,则超时重传将使主机B收到两个相同的数据帧,这就是重复帧。使每一个数据帧带上不同的发送序号。每发送一个新的数据帧就把它的发送序号加1。若结点B收到发送序号相同的数据帧,就表明出现了重复帧。这时应丢弃重复帧,因为已经收到过同样的数据帧并且也交给了主机B。但此时结点B还必须向A发送确认帧ACK,因为B已经知道A还没有收到上一次发过去的确认帧ACK。21.解决重复帧的问题如果是确认帧丢失,则超时重传将使主机B收到帧的编号问题任何一个编号系统的序号所占用的比特数一定是有限的。因此,经过一段时间后,发送序号就会重复。序号占用的比特数越少,数据传输的额外开销就越小。对于停止等待协议,由于每发送一个数据帧就停止等待,因此用一个比特来编号就够了。注:一个比特可表示0和1两种不同的序号。
22.帧的编号问题任何一个编号系统的序号所占用的比特数一定是有帧的发送序号数据帧中的发送序号N(S)以0和1交替的方式出现在数据帧中。每发一个新的数据帧,发送序号就和上次发送的不一样。用这样的方法就可以使收方能够区分开新的数据帧和重传的数据帧了。23.帧的发送序号数据帧中的发送序号N(S)以0和1可靠传输虽然物理层在传输比特时会出现差错,但由于数据链路层的停止等待协议采用了有效的检错重传机制,数据链路层对上面的网络层就可以提供可靠传输的服务。24.可靠传输虽然物理层在传输比特时会出现差错,但由于数据链路3.2.4循环冗余检验的原理在数据链路层传送的帧中,广泛使用了循环冗余检验CRC的检错技术。假设待传送的数据M=1010001101(共kbit)。我们在M的后面再添加供差错检测用的nbit冗余码一起发送。冗余码的计算用二进制的模2运算进行2n乘M的运算,这相当于在M后面添加n个0。得到的(k+n)bit的数除以事先选定好的长度为(n+1)bit的数P,得出商是Q而余数是R,余数R比除数P至少要少1个比特。25.3.2.4循环冗余检验的原理在数据链路层传送的帧中,广泛冗余码的计算举例设n=5,P=110101,M=1010001101模2运算的结果是:商Q=1101010110,余数R=01110。将余数R作为冗余码添加在数据M的后面发送出去,即发送的数据是101000110101110,或2nM+R。26.冗余码的计算举例设n=5,P=110101,循环冗余检验的原理说明
1101010110
←
Q
商
除数
P→
110101101000110100000
←
2nM被除数
110101
111011
110101
111010
110101
111110
110101
101100
110101
110010
110101
01110
←
R
余数27.循环冗余检验的原理说明循环冗余检验的原理说明只要得出的余数R不为0,就表示检测到了差错。但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。一旦检测出差错,就丢弃这个出现差错的帧。只要经过严格的挑选,并使用位数足够多的除数P,那么出现检测不到的差错的概率就很小很小。28.循环冗余检验的原理说明只要得出的余数R不为0,就表示3.2.5停止等待协议的算法在发送结点:(1)从主机取一个数据帧,送交发送缓存。(2)V(S)←0。(3)N(S)←V(S)。(4)将发送缓存中的数据帧发送出去。(5)设置超时计时器。(6)等待。{等待以下(7)和(8)这两个事件中最先出现的一个}(7)收到确认帧ACKn,若n=1–V(s),则:从主机取一个新的数据帧,放入发送缓存;V(S)←[1V(S)],转到(3)。否则丢弃这个确认帧,转到(6)。(8)若超时计时器时间到,则转到(4)。29.3.2.5停止等待协议的算法在发送结点:29.3.2.5停止等待协议的算法在接收结点:(1)V(R)←0。(2)等待。(3)收到一个数据帧;若N(S)=V(R),则执行(4);否则丢弃此数据帧,然后转到(6)。(4)将收到的数据帧中的数据部分送交上层软件。(5)V(R)←[1V(R)]。(6)n←V(R);发送确认帧ACKn,转到(2)。30.3.2.5停止等待协议的算法在接收结点:30.3.2.6停止等待协议的定量分析设tf
是一个数据帧的发送时间,且数据帧的长度是固定不变的。显然,数据帧的发送时间
tf是数据帧的长度lf
(bit)与数据的发送速率C(bit/s)之比,即
tf
=lf
/C=lf/C(s)(3-1)发送时间tf
也就是数据帧的发送时延。数据帧沿链路传到结点B还要经历一个传播时延
tp。结点B收到数据帧要花费时间进行处理,此时间称为处理时间tpr,发送确认帧ACK的发送时间为ta。31.3.2.6停止等待协议的定量分析设tf是一个数据帧停止等待协议中数据帧和确认帧的发送时间关系ABDATADATAACK传播时延tp处理时间tpr确认帧发送时间ta传播时延tp处理时间tprtT时间两个成功发送的数据帧之间的最小时间间隔数据帧的发送时间tf设置的重传时间tout32.停止等待协议中数据帧和确认帧的发送时间关系ABDATADAT重传时间重传时间的作用是:数据帧发送完毕后若经过了这样长的时间还没有收到确认帧,就重传这个数据帧。为方便起见,我们设重传时间为
tout=tp+tpr+ta+tp+tpr设上式右端的处理时间tpr
和确认帧的发送时间ta
都远小于传播时延tp,因此可将重传时间取为两倍的传播时延,即
tout=2tp33.重传时间重传时间的作用是:数据帧发送完毕后若经过了这样长的简单的数学分析两个发送成功的数据帧之间的最小时间间隔是
tT=tf+tout=tf
+2tp设数据帧出现差错(包括帧丢失)的概率为p,但假设确认帧不会出现差错。设正确传送一个数据帧所需的平均时间
tavtav=tT
(1+一个帧的平均重传次数)34.简单的数学分析两个发送成功的数据帧之间的最小时间间隔是34简单的数学分析(续)一帧的平均重传次数={1P[重传次数为1]+2P[重传次数为2]+3P[重传次数为3]+…}={1P[第1次发送出错]P[第2次发送成功]+2P[第1,2次发送出错]P[第3次发送成功]+3P[第1,2,3次发送出错]P[第4次发送成功]+…}=p(1–p)+2p2(1–p)+3p3(1–p)+…这里P[X]是出现事件X的概率。得出正确传送一个数据帧所需的平均时间:当传输差错率增大时,tav
也随之增大。当无差错时,p=0,tav=tT。
35.简单的数学分析(续)一帧的平均重传次数35.停止等待协议ARQ的优缺点优点:比较简单。缺点:通信信道的利用率不高,也就是说,信道还远远没有被数据比特填满。为了克服这一缺点,就产生了另外两种协议,即连续ARQ和选择重传ARQ。36.停止等待协议ARQ的优缺点优点:比较简单。36.3.3连续ARQ协议
3.3.1连续ARQ协议的工作原理3.3.2连续ARQ协议的吞吐量3.3.3滑动窗口的概念3.3.4信道利用率与最佳帧长37.3.3连续ARQ协议3.3.1连续ARQ3.3.1连续ARQ协议的工作原理在发送完一个数据帧后,不是停下来等待确认帧,而是可以连续再发送若干个数据帧。如果这时收到了接收端发来的确认帧,那么还可以接着发送数据帧。若收到对其中某一帧的否认帧,则从该帧开始的后继帧全部重发。由于减少了等待时间,整个通信的吞吐量就提高了。38.3.3.1连续ARQ协议的工作原理在发送完一个数据帧3.3.1连续ARQ协议的工作原理DATA0DATA1DATA2DATA3DATA4DATA5重传DATA2重传DATA3ACK1ACK2ACK1确认DATA0ACK2确认DATA1DATA2出错,丢弃DATA3不按序,丢弃,重传ACK2DATA4不按序,丢弃,重传ACK2DATA5不按序,丢弃,重传ACK2ACK3ACK3确认DATA2ACK4确认DATA3ACK4重传DATA5重传DATA4超时重传时间ABtout送交主机送交主机…??ACK2ACK2ACK239.3.3.1连续ARQ协议的工作原理DATA0DATA1需要注意(1)接收端只按序接收数据帧。虽然在有差错的2号帧之后接着又收到了正确的3个数据帧,但接收端都必须将这些帧丢弃,因为在这些帧前面有一个2号帧还没有收到。(2)ACK1表示确认0号帧DATA0,并期望下次收到1号帧;ACK2表示确认1号帧DATA1,并期望下次收到2号帧。依此类推。40.需要注意(1)接收端只按序接收数据帧。虽然在有差错的需要注意(3)结点A在每发送完一个数据帧时都要设置该帧的超时计时器。如果在所设置的超时时间内收到确认帧,就立即将超时计时器清零。但若在所设置的超时时间到了而未收到确认帧,就要重传相应的数据帧。在等不到2号帧的确认而重传2号数据帧时,虽然结点A已经发完了5号帧,但仍必须向回走,将2号帧及其以后的各帧全部进行重传。连续ARQ又称为Go-back-NARQ(又称回退N式ARQ协议),意思是当出现差错必须重传时,要向回走N个帧,然后再开始重传。41.需要注意(3)结点A在每发送完一个数据帧时都要设置连续ARQ协议的优缺点连续ARQ协议一方面因连续发送数据帧而提高了效率,另一方面,在重传时又必须把原来已正确传送过的数据帧进行重传,这种做法又使传送效率降低。若传输信道的传输质量很差因而误码率较大时,连续ARQ协议不一定优于停止等待协议。42.连续ARQ协议的优缺点连续ARQ协议一方面因连续发送数据帧3.3.2连续ARQ协议的吞吐量在连续ARQ协议的情况下,正确传送一个数据帧所需的平均时间是:吞吐量的最大值是:max=1/tav=(1
p)/tT[1+(–1)p]而归一化的吞吐量为:
=tf
(1
p)/[1+(–1)p]可见,当等于1时,停止等待ARQ与连续ARQ性能相同。43.3.3.2连续ARQ协议的吞吐量在连续ARQ协议的情3.3.2连续ARQ协议的吞吐量
例:若数据帧的差错率p=0.01,而参数=4,则对于停止等待协议,≤0.99/4,但对于连续ARQ协议,≤0.96。故即使在数据帧的差错率高达0.01时,连续ARQ的效率也比停止等待协议的高。注意:停止等待协议归一化吞吐量
(1
p)/连续ARQ协议归一化吞吐量
(1
p)/[1+(–1)p]44.3.3.2连续ARQ协议的吞吐量例:若数据帧的差错率3.3.3滑动窗口的概念在连续ARQ协议中,应当将已发送出去但未被确认的数据帧的数目加发限制。发送端和接收端分别设定发送窗口和接收窗口。
发送窗口用来对发送端进行流量控制。发送窗口的大小WT
代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。接收窗口用来控制接收端可以接收哪些数据帧。只有发送序号落入接收窗口内的数据帧才可以收下。45.3.3.3滑动窗口的概念在连续ARQ协议中,01234567012发送窗口WT不允许发送这些帧允许发送5个帧(a)01234567012不允许发送这些帧还允许发送4个帧WT已发送(b)01234567012不允许发送这些帧WT已发送(c)01234567012不允许发送这些帧还允许发送3个帧WT已发送已发送并已收到确认(d)当发送出数据时,滑动窗口从左边开始收缩;当收到确认时,滑动窗口向右扩展。46.01234567012发送窗口WT不允许发送这些帧允许发送接收端设置接收窗口在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下。若接收到的数据帧落在接收窗口之外,则一律将其丢弃。在连续ARQ协议中,接收窗口的大小WR=1。只有当收到的帧的序号与接收窗口一致时才能接收该帧。否则,就丢弃它。每收到一个序号正确的帧,接收窗口就向前(即向右方)滑动一个帧的位置。同时发送对该帧的确认。47.接收端设置接收窗口在接收端只有当收到的数据帧的发送序号落入不允许接收这些帧01234567012WR准备接收0号帧(a)不允许接收这些帧01234567012WR准备接收1号帧已收到(b)不允许接收这些帧01234567012WR准备接收4号帧已收到(c)48.不允许接收这些帧01234567012WR准备接收0号帧滑动窗口的重要特性只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。收发两端的窗口按照以上规律不断地向前滑动,因此这种协议又称为滑动窗口协议。当发送窗口和接收窗口的大小都等于1时,就是停止等待协议。49.滑动窗口的重要特性只有在接收窗口向前滑动时(与此同时也发发送窗口的最大值当用n个比特进行编号时,若接收窗口的大小为1,则只有在发送窗口的大小WT
2n1时,连续ARQ协议才能正确运行。例如,当采用3bit编码时,发送窗口的最大值是7而不是8。50.发送窗口的最大值当用n个比特进行编号时,若接收窗口的大发送窗口的最大值显然WT内不可能有重复编号的帧,所以WT≤2n。设WT=2n;注意以下情况:发送窗口:只有当收到对一个帧的确认,才会向前滑动一个帧的位置;接收窗口:只有收到一个序号正确的帧,才会向前滑动一个帧的位置,且同时向发送端发送对该帧的确认。显然只有接收窗口向前滑动时,发送端口才有可能向前滑动。发送端若没有收到该确认,发送窗口就不能滑动。51.发送窗口的最大值显然WT内不可能有重复编号的帧,所以WT发送窗口的最大值取n=3。考虑当接收窗口位于0时,发送窗口的两个极端状态。状态1:全部确认帧收到发送窗口:0123456701234567
接收窗口:0123456701234567
状态2:全部确认帧都没收到发送窗口:0123456701234567接收窗口:0123456701234567可见在状态2下,接收过程前移窗口后有效序列号的新范围和发送窗口的旧范围之间有重叠,致使接收端无法区分是重复帧还是新帧。为使旧发送窗口和新接收窗口之间序列号不发生重叠,所以WT≤2n-1。52.发送窗口的最大值取n=3。考虑当接收窗口位于0时,发送窗口3.3.4信道利用率与最佳帧长由于每个数据帧都必须包括一定的控制信息(如帧的序号、地址、同步信息以及其他的一些控制信息),所以即使连续不停地发送数据帧,信道利用率(即扣除全部的控制信息后的数据率与信道容量之比)也不可能达到100%。当出现差错时(这是不可避免的),数据帧的不断重传将进一步使信道利用率降低。53.3.3.4信道利用率与最佳帧长由于每个数据帧都必须包括一3.3.4信道利用率与最佳帧长若数据帧的帧长取得很短,那么控制信息在每一帧中所占的比例就增大,因而额外开销增大,这就导致信道利用率的下降。若帧长取得太长,则数据帧在传输过程中出错的概率就增大,于是重传次数将增大,这也会使信道利用率下降。由此可见,存在一个最佳帧长,在此帧长下信道的利用率最高。54.3.3.4信道利用率与最佳帧长若数据帧的帧长取得很短,那3.4选择重传ARQ协议可加大接收窗口,先收下发送序号不连续但仍处在接收窗口中的那些数据帧。等到所缺序号的数据帧收到后再一并送交主机。选择重传ARQ协议可避免重复传送那些本来已经正确到达接收端的数据帧。但我们付出的代价是在接收端要设置具有相当容量的缓存空间。对于选择重传ARQ协议,若用n
比特进行编号,则接收窗口的最大值受下式的约束。WR
2n/255.3.4选择重传ARQ协议可加大接收窗口,先收下发3.5面向比特的链路层协议HDLC由于对控制方法影响较大的是传输信息的基本单位,因此链路控制规程有"面向字符的控制规程"和"面向比特的控制规程"。面向字符的控制规程把数据和控制信息都看作是字符,面向比特的控制规程把数据及控制信息都看作是位的组合。
56.3.5面向比特的链路层协议HDLC由于对数据链路控制规程分类面向字符型
在这类规程中,用字符编码集中的几个特定字符来控制链路的操作,监视链路的工作状态,例如,采用国际5号码中的SOH、STX作为帧的开始,ETX、ETB作为的结束,ENQ、EOT、ACK、NAK等字符控制链路操作。面向比特型
在这类规程中,采用特定的二进制序列01111110作为帧的开始和结束,以一定的比特组合所表示的命令和响应实现链路的监控功能,命令和响应可以和信息一起传送。57.数据链路控制规程分类面向字符型57.3.5面向比特的链路层协议HDLC面向字符型数据链路层协议的缺点:报文格式不一样;传输透明性不好;等待发送方式,传输效率低。面向比特型协议的设计目标:以比特作为传输控制信息的基本单元;数据帧与控制帧格式相同;传输透明性好;连续发送,传输效率高。58.3.5面向比特的链路层协议HDLC面向字符型数据链路HDLC的基本工作原理(基本特征)三种类型的站:主站:负责链路的操作,主站发出的帧称为命令。次站:在主站的控制下进行操作。组合站:组合了主站和次站的特性,既可发命令,也可发响应。两种链路组合:
非平衡组合:1个主站+1~多个次站。平衡组合:两个组合站组成。59.HDLC的基本工作原理(基本特征)三种类型的站:59.HDLC的基本工作原理(基本特征)操作方式:正常响应方式(NRM):适用于不平衡链路结构,即用于点-点和点-多点的链路结构中。由主站控制整个链路的操作,负责链路的初始化、数据流控制和链路复位等。从站只有在收到主站的明确允许后,才能发出响应。异步响应方式(ARM):也适用于不平衡链路结构。从站可以不必得到主站的允许就可以开始数据传输。异步平衡方式(ABM):适用于平衡链路结构。链路两端的复合站具有同等的能力,不管哪个复合站均可在任意时间发送命令帧,并且不需要收到对方复合站发出的命令帧就可以发送响应帧。60.HDLC的基本工作原理(基本特征)操作方式:60.HDLC的基本配置方式61.HDLC的基本配置方式61.HDLC的帧结构标志字段F(Flag)为6个连续1加上两边各一个0共8bit。在接收端只要找到标志字段就可确定一个帧的位置。比特888可变168信息Info标志F标志F地址A控制C帧检验序列FCS透明传输区间FCS检验区间62.HDLC的帧结构标志字段F(Flag)为6个零比特填充法HDLC采用零比特填充法使一帧中两个F字段之间不会出现6个连续1。在发送端,当一串比特流数据中有5个连续1时,就立即填入一个0。在接收帧时,先找到F字段以确定帧的边界。接着再对比特流进行扫描。每当发现5个连续1时,就将其后的一个0删除,以还原成原来的比特流。63.零比特填充法HDLC采用零比特填充法使一帧中两个F字段零比特的填充与删除数据中某一段比特组合恰好出现和F字段一样的情况01001111110001010会被误认为是F字段发送端在5个连1之后填入0比特再发送出去填入0比特010011111010001010在接收端将5个连1之后的0比特删除,恢复原样在此位置删除填入的0比特01001111101000101064.零比特的填充与删除数据中某一段比特组合恰好0100透明传输采用零比特填充法就可传送任意组合的比特流,或者说,就可实现数据链路层的透明传输。当连续传输两个帧时,前一个帧的结束标志字段F可以兼作后一帧的起始标志字段。当暂时没有信息传送时,可以连续发送标志字段,使接收端可以一直和发送端保持同步。65.透明传输采用零比特填充法就可传送任意组合的比特流,或者说,其它字段地址字段A是8bit。最多可以表示256个站的地址。地址字段为“11111111”时,定义为全站地址,即通知所有的接收站接收有关的命令帧并按其动作;全“0”比特为无站地址,用于测试数据链路的状态。因此有效地址共有254个。比特888可变168信息Info标志F标志F地址A控制C帧检验序列FCS透明传输区间FCS检验区间66.其它字段地址字段A是8bit。最多可以表示256个其它字段帧检验序列FCS字段共16bit。所检验的范围是从地址字段的第一个比特起,到信息字段的最末一个比特为止。控制字段C共8bit,是最复杂的字段。HDLC的许多重要功能都靠控制字段来实现。比特888可变168信息Info标志F标志F地址A控制C帧检验序列FCS透明传输区间FCS检验区间67.其它字段帧检验序列FCS字段共16bit。所检验控制字段控制字段C有8bit,HDLC的许多重要功能要由控制字段来实现。根据其最前面二个比特位,可将HDLC帧分为三种:即信息帧I、监督帧S和无编号帧U。比特888可变168信息Info标志F标志F地址A控制C帧检验序列FCS01101SMP/FP/FN(S)P/FN(R)N(R)M信息帧I监督帧S无编号帧U1234567868.控制字段控制字段C有8bit,HDLC的许多重信息帧:若控制字段的第1比特为0,则该帧为数据帧,用于传送数据。比特2-4为发送序号N(S),而比特6-8为接收序号N(R)。特别强调指出:N(R)带有确认的意思,它表示序号为N(R)-1以及在这以前的各帧都已经正确无误地收妥了。
控制字段(续1)01101SMP/FP/FN(S)P/FN(R)N(R)M信息帧I监督帧S无编号帧U1234567869.信息帧:若控制字段的第1比特为0,则该帧为数据帧,用于传送数监督帧:用于监视和控制数据链路,完成信息帧的接收确认、重发请求、暂停发送请求等功能。若控制字段的第1-2比特为10,则对应的帧即为监督帧S。监督帧共有四种,取决于第3-4比特的取值。监控帧的名称和功能
控制字段(续2)第3-4比特帧名功能确认,且准备接受下一帧,已收妥N(R)以前的各帧确认,暂停接收下一帧,N(R)含义同上否认,否认N(R)起的各帧,但N(R)以前的帧已收妥否认,只否认序号为N(R)的帧RR接收准备好RNR接收未准备好REJ拒绝接收SREJ选择拒绝接收0010011170.监督帧:用于监视和控制数据链路,完成信息帧的接收确认、重发请无编号帧:用于数据链路的控制。若控制字段的第1-2比特都是1时,这个帧就是无编号帧U,无编号帧本身不带编号,而是用5bit来表示不同功能的无编号帧。可以在任何需要的时刻发出,而不影响带编号的信息帧的交换顺序。如:B3B4B6B7B8=00001,则其功能为置正常响应模式。控制字段(续3)01101SMP/FP/FN(S)P/FN(R)N(R)M信息帧I监督帧S无编号帧U1234567871.无编号帧:用于数据链路的控制。若控制字段的第1-2比特都是1无编号帧的名称和代码名称B3B4B6B7B8记忆符置正常响应模式00001SNRM置异步响应模式/断开方式11000SARM/DM置异步平衡模式11100SABM置扩充正常响应模式11011SNRME置扩充异步响应模式11010SARME置扩充异步平衡模式11110SABME断链/请求断链00010DISC/RD置初始化/请求初始化方式10000SIM/RIM无编号探询00100UP无编号信息00000UI交换识别11101XID复位11001RESET帧拒绝10001FRMR无编号确认00110UA72.无编号帧的名称和代码名称B3B4B6B7B8记忆符置P/F位的意义(询问/终止)在正常响应方式中,从站不能主动向主站发送信息,从站只有收到主站发出的P比特为1(对从站的查询)的命令帧以后才能发送响应帧。若从站有数据发送,则在最后一个数据帧中将F比特置1;若无数据发送,则应在回答的S帧中将F比特置1。在异步响应或异步平衡方式中,任何一个站都可以在主动发送的S帧和I帧中将P比特置1。对方站收到P=1的帧后,应尽早地回答本站的状态并将F比特置1。73.P/F位的意义(询问/终止)在正常响应方式中,P/F位的使用方法74.P/F位的使用方法74.图中主站A和从站B、C连成多点链路,传送帧的一些主要参数按照“地址,帧名和序号,P/F”的先后顺序标注。这里的地址是指地址字段中应填入的站地址;帧名是指帧的名称,如RR、I;序号是指监控帧中的N(R)或信息帧中的N(S)和N(R),如RR4、I31(第1个数字是N(S),第2个数字是N(R))。P/F是在其为1时才写上P或F,表明此时控制字段的第5比特为1。P/F位的使用方法75.图中主站A和从站B、C连成多点链路,传送帧的一些主要参数按照主站A先询问B站:“B站,若有信息,请立刻发送”。这时A站发送的帧是RR监控帧,并将N(R)置0,表示期望收到对方的0号帧。因此在图中将这样的帧记为“B,RR0,P”。对主站的这一命令,B站响应以连续4个信息帧,其序号N(S)从0到3。最后在第4个信息帧中将F置1,表示“我要发送的信息已发完”。这个帧记为“B,I30,F”。A站在收到B站发来的4个信息帧后,发回确认帧RR4(这时N(R)=4)。我们注意到这时P/F比特并未置1,所以B站收到RR4后不必应答。接下去A站轮询C站,P=1,虽然这时C站没有数据发送,但也必须立即应答。C站应答也是RR帧,表示目前没有信息帧发送,F=1表明这是回答对方命令的一个响应。P/F位的使用方法76.主站A先询问B站:“B站,若有信息,请立刻发送”。这时A站发有了P/F比特,使HDLC规程使用起来更加灵活。在两个复合站全双工通信时,任何一方都可随时使P=1,这时对方就要立即回答RR帧,并置F=1,这样就可以收到对方的确认了。如果不使用P/F比特,则收方不一定马上发出确认帧,比如收方可以在发送自己的信息帧时,利用N(R)把确认信息发出。P/F位的使用方法77.有了P/F比特,使HDLC规程使用起来更加灵活。在两个复合站3.6因特网的点对点协议PPPPPP(Point-to-PointProtocol点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种解决方案。
78.3.6因特网的点对点协议PPPPPP(3.6.1PPP协议的工作原理现在使用得最多的数据链路层协议是点对点协议PPP。用户使用拨号电话线接入因特网时,一般都是使用PPP协议。路由器调制解调器调制解调器因特网服务提供者(ISP)用户家庭拨号电话线使用TCP/IP的PPP连接使用TCP/IP的客户进程路由选择进程至因特网…PC机79.3.6.1PPP协议的工作原理现在使用得最多的数据PPP的特性PPP协议是目前使用得最广泛的广域网协议,这是因为它具有以下特性:能够控制数据链路的建立;能够对IP地址进行分配和使用;允许同时采用多种网络层协议;能够配置和测试数据链路;能够进行错误检测;有协商选项,能够对网络层的地址和数据压缩等进行协商。80.PPP的特性PPP协议是目前使用得最广泛的广域网协议,PPP协议组成一个将IP数据报封装到串行链路的方法。链路控制协议LCP(LinkControlProtocol):LCP负责创建,维护或终止一次物理连接。可以使用多种物理层服务。认证协议,最常用的包括口令验证协议PAP和挑战握手验证协议CHAP。网络控制协议NCP(NetworkControlProtocol):负责解决物理连接上运行什么网络协议,以及解决上层网络协议发生的问题。可以支持多种网络层协议。81.PPP协议组成一个将IP数据报封装到串行链路的方法3.6.2PPP协议的帧格式PPP的帧格式和HDLC的相似。标志字段F仍为0x7E(符号“0x”表示后面的字符是用十六进制表示。十六进制的7E的二进制表示是01111110)。地址字段A只置为0xFF。地址字段实际上并不起作用,PPP不分配个人地址。控制字段C通常置为0x03。要求用户数据传输采用无序号帧,不提供使用序号和确认的可靠传输。PPP是面向字节的,所有的PPP帧的长度都是整数字节。82.3.6.2PPP协议的帧格式PPP的帧格式和HDLPPP协议的帧格式PPP有一个2个字节的协议字段。识别帧的信息部分字段所封装的协议。当协议字段为0x0021时,PPP帧的信息字段就是IP数据报。若为0xC021,则信息字段是PPP链路控制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《近代燃烧技术》课件
- 甲下外生骨疣的临床护理
- 株紫丁香课件赵秀梅
- 孕期手脚心发红的健康宣教
- 《改革进入新时期》课件
- 股份增值合同三篇
- 铁路机车车辆修造合同三篇
- 健身运动APP相关行业投资规划报告范本
- ALN-BN复合陶瓷相关行业投资规划报告
- 保障性住房管理服务相关行业投资规划报告
- 出租房屋治安管理责任书
- 湖南师范大学法学院刑事诉讼期末考试
- 江津慈云首届生态年猪文化节活动安排
- 2023国家开放大学《大数据技术导论》实验报告1-5
- 厦门市业主大会及业主委员会服务手册
- 梗阻性黄疸的诊断
- 招标代理机构优惠条件及服务承诺
- 肩袖损伤病人的护理查房
- 化工原理课程设计-设计直管气流干燥器,以干燥聚氯乙烯树脂湿物料
- 人教版数学五年级上册全册校本作业设计
- GB/T 37771-2019煤矿综采工作面总体配套导则
评论
0/150
提交评论