计算机网络原理第三章数据链路层课件_第1页
计算机网络原理第三章数据链路层课件_第2页
计算机网络原理第三章数据链路层课件_第3页
计算机网络原理第三章数据链路层课件_第4页
计算机网络原理第三章数据链路层课件_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

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

文档简介

第三章数据链路层数据链路层设计问题需要完成的特定功能:为网络层提供设计良好的服务接口确定如何将物理层的比特组成成帧处理传输差错调整帧的流速为网络层提供的服务基本服务是将源机器中来自网络层的数据传输给目的机器的网络层一般都提供3种服务:无确认无连接服务有确认无连接服务有确认的面向连接的服务有确认无连接服务此服务不建立连接,但发送的每一帧都进行单独确认如果在某个确定的时间间隔内,帧没有到达,就必须重发此帧此服务的适用范围:无线系统之类的不可靠信道有确认的面向连接的服务数据链路层为网络层提供的最复杂的服务源机器和目的机器在传递任何数据之前,先建立一条连接。在这条连接上所发送的每一帧都被编上号,数据链路层保证所发送的每一帧都确实已收到。保证每帧只收到一次,而且所有的帧都是按正确顺序收到为网络层进程间提供可靠传送比特流的服务面向连接服务传送的三个阶段第一阶段:通过对双方的用于追踪哪个帧接收到了,哪个帧未接收到所需要的变量和计数器初始化,从而建立连接。第二阶段:进行实际的帧传输。第三阶段:断开连接,释放用于维护连接的变量、缓冲区及其他资源。把比特流分成帧的一种方法是:在帧之间插入时间间隔缺点:由于网络很难保证计时准确,所以在传输过程中时间间隔可能会被压缩,或者再插入其他间隔。其他的成帧方法:1、字符计数法。2、带字符填充的首尾界符法。3、带位填充的首尾标志法。4、物理层编码违例法。字符计数法在帧头部中使用一个字段来标明帧内字符数。面临的问题是计数值有可能由于传输差错而被“篡改”。一旦出错,无法重新找到帧边界。此方法已经很少使用。带字符填充的首尾界符法每一帧以ASCII字符序列DLESTX开头,以DLEEXE结束。目的机器一旦丢失帧边界,只需查找DLESTX或DLEEXE字符序列,就可找到它所在的位置。缺点:1、当DLESTX或DLEEXE出现在数据中时会干扰帧界的确定。2、完全依赖于8位字符,特别是ASCII字符。第1点的解决方法:采用字符填充,即在数据中的每个偶然遇到的DLE字符前,插入一个DLE的ASCII代码。物理层编码违例法只适用于那些在物理层介质的编码策略中采用冗余技术的网络。差错控制为了保证可靠传送,常采用的方法是向数据发送方提供有关接受方接收情况的反馈信息。典型的做法:协议要求接收方发回特殊的控制帧,作为对输入肯定或否定性的确认。若发送方收到关于某个帧的肯定确认,则它知道此帧已正确到达。若收到否定确认,则意味着发生了差错,相应的帧必须被重传。若接收方没收到帧(即发送的帧丢失)或确认帧丢失,则使用计数器来解决这个问题。当发送方发送一帧时,通常也启动计数器。计数器计数到设定值时清0。在这个时间间隔内,要保证一帧到达对方并作相应处理后,对方的确认帧还能返回发送方。正常情况下,在计时器终止计时前,帧被正确接收并返回确认帧,计时器清为0。若所传出的帧或确认帧丢失,则计时器会发出超时信号,提醒发送方可能出现了问题,最明显的解决方法是重传此帧。流量控制解决发送方的传送能力比接收方大的问题。此问题会导致的后果:即使传送过程中毫无差错,接收方也会因无力处理收到的帧而会丢失一些帧。解决方法:引入流量控制来限制发送方发出的数据流量,使之不超过接收方的能力。需要某种反馈机制使发送方知道接收方的情况。大部分流量控制方案的基本原理相同。差错检验和纠正通常数字传输时,差错很少发生模拟传输经常发生差错光纤干线差错率很小无线通信差错率较大两种基本的处理差错策略:纠错码检错码纠错码纠错码:在每一个要发送的数据块上附加足够的冗余信息,使接收方能够推导出已发出的字符应该是什么。通常,一帧包括m个数据位和r个冗余位或校验位。设整个长度为n(n=m+r)。码字:长度为n的单元。海明距离:两个码字中不同位的个数。海明距离的意义:若两个码字具有海明距离d,则需要d个位差错才能将其中一个码字转换成另一个。数据信息的可能组合:2m所有的码字的可能组合:2n奇偶校验(一个检错码例子)奇偶位的选取原则是使码字内的1的数目是偶数(或奇数)。这种代码的距离为2,因为任何单比特错都会产生奇偶位不正确的码字。一个纠错码例子下面代码的距离为5,即能纠正2比特错。假设码字0000000111到达后,接收方知道应该是0000011111。在给定信息位数目m的情况下,用来纠正单比特误码的校验位数目的下界r满足下式:对2m个有效信息中的任意一个而言,有n个与该码字距离为1的无效码字,依次将该码字中n个比特变反,即可得到。2m个信息中的每一个都需占用n+1个位模式,共有(n+1)2m。因为位模式的总数目是2n个,所以有已知:信息码为:"0010"。海明码的监督关系式为:

S2=a2+a4+a5+a6

S1=a1+a3+a5+a6

S0=a0+a3+a4+a6

求:海明码码字。

解:1)由监督关系式知冗余码为a2a1a0。

2)冗余码与信息码合成的海明码是:"0010a2a1a0"。

设S2=S1=S0=0,由监督关系式得:

a2=a4+a5+a6=1

a1=a3+a5+a6=0

a0=a3+a4+a6=1

因此,海明码码字为:"0010101"

检错码检错码:加入足够的冗余位,使接收方知道有差错发生,但不知道是什么样的差错,然后让接收方请求重传。CRC(循环冗余校验码)基本思想:将位串看成是系数为0或1的多项式一个K位的帧看作是一个K-1次多项式的系数列表,称为K-1阶多项式。多项式的算术运算采用代数域理论的规则,以2为模来完成。加法和减法等同于异或。生成多项式G(x):当使用多项式编码时,发送方和接收方预先商定的一个多项式。生成多项式的最高位和最低位必须是1。为了计算校验和,帧对应的多项式M(x)必须比生成多项式长。在帧的尾部追加校验和,使得追加之后的帧所对应的多项式能够被生成多项式除尽。计算校验和的算法:(1)假设G(x)的阶为r。在帧的低位端加上r个0位,所以该帧现在包含m+r位,对应多项式为xrM(x)。(2)利用模2除法,用对应于G(x)的位串去除对应于xrM(x)的位串。(3)利用模2减法,从对应于xrM(x)的位串中减去余数(总是小于等于r位)。结果就是将被传输的带校验和的帧。已知:信息码:110011信息多项式:M(X)=X5+X4+X+1生成码:11001

生成多项式:G(X)=X4+X3+1(r=4)

求:循环冗余码和码字。

解:1)(X5+X4+X+1)*X4的积是X9+X8+X5+X4对应的码是1100110000。2)积/G(X)(按模二算法)。

由计算结果知冗余码是1001,码字就是1100111001。

100001←Q(X)

G(x)→11001)1100110000←M(X)*Xr

11001,

10000

11001

1001←T(X)(冗余码)基本数据链路协议假设物理层、数据链路层和网络层都是独立的进程,它们通过来回传递报文进行通信。这有助于使概念更加清晰,同时也可以强调每一层的独立性。假设机器A希望用一个可靠的、面向连接的服务,向机器B发送一个长的数据流。假定A要发送的数据总是已经准备好了,不必等待这些数据被生成出来。假定机器不会崩溃,也就是说,这些协议只处理通信错误,但不处理因为机器崩溃和重新启动而引起的问题。当数据链路层接收一个分组时,就在分组之前加上帧头,在分组之后加上帧尾。然后传输到目的机器的数据链路层。假设有一个现成的代码库,其中库过程to_physical_layer用于发送一帧,from_physical_layer用于接收一帧。负责传输的硬件会计算校验和,并追加在尾部。在本章例子中,数据链路层通过过程调用wait_for_event(&event)来等待帧的到来。只有当一帧到来时,该过程才返回。在实际环境中,可能会通过中断来处理,这里作了简化,忽略了并行活动的细节。当一个帧到达接收方时,硬件会计算校验和。若有传输错误,会收到通知(event=cksum_err),若无错误,则收到通知(event=frame_arrival),利用from_physical_layer接收进来的帧并做处理。定义的五种数据结构:见书143,新书168帧的组成:见书144,新书169认识分组和帧的关系很重要。见书144,新书170还有一些库例程,见书144,新书170内部计时器或时钟。见书145,新书170协议1:一种无限制的单工协议假定数据只作单向传输,而且传送和接收的双方网络层都一直处于就绪状态。包括两个过程:发送接收见书146~147新书171~172协议2:一个单工的停-等协议抛弃协议1中最不现实的限制见书147,新书172。不再假设缓冲空间无限大,单工传输。这里要处理的主要问题:如何防止发送比接收快。见书147~148,新书172~173协议3:有噪声信道的单工协议考虑会出差错的信道见书149~151新书174~175/defineMAX_SEQ1/*对协议3来说是1*/Typedefenum{frame_arrival,chsum_err,timeout}event_type;#include“protocol.h”Voidsender3(void){seq_nrnext_frame_to_send;frames;packetbuffer;event_typeevent;next_frame_to_send=0;from_network_layer(&buffer);while(true){=buffer;s.seq=next_frame_to_send;to_physical_layer(&s);start_timer(s.seq);wait_for_event(&event);if(event==frame_arrival){from_physical_layer(&s);if(s.ack==next_frame_to_send){stop_timer(s.ack);from_network_layer(&buffer);inc(next_frame_to_send);}}}}Voidreceiver3(void){seq_nrframe_expected;framer,s;event_typeevent;frame_expected=0;while(true){wait_for_event(&event);if(event==frame_arrival){from_physical_layer(&r);if(r.seq==frame_expected){to_network_layer(&);inc(frame_expected);}s.ack=1-frame_expected;to_physical_layer(&s);}}}滑动窗口协议在以上各协议中,数据帧只能按一个方向进行传输。在多数实际的情况下,需要双向传输数据。在协议2和协议3中,传输线路已经用于帧的双向传输了,只不过反向传输的是确认帧。在同一条传输线路上双向都能传输数据帧和确认帧是对使用两条独立的单工物理线路的改进,因为后者的反向信道带宽浪费较大。采用同一条线路时,同一方向的数据帧和确认帧混在一起,通过查看到达帧头部上的KIND字段加以区分。捎带技术:当一个数据帧到达后,接收过程不是立即发送一个独立的控制帧,而是维持等待,直到网络层向其传送下一个分组。确认被附加到即将发送的数据帧上(使用帧头部的ACK字段)。捎带技术与专门的确认帧相比的主要优点:能较好地利用有效的信道带宽。在帧头部的ACK字段只花费几位,而一个单独的帧要有一个头部、确认以及校验和。较少的帧意味着较少的“帧到达”中断,而且根据接收过程的软件组成,可能接收方需要的缓冲区会更少。捎带带来的复杂性:数据链路层需要等待多长时间解决方法:等待一个固定的毫秒数,若新分组很快地到来,那么确认就捎带出去,否则,若到时间段结束尚无新的分组到来,数据链路层就只发一个单独的确认帧。下面介绍的三个协议同属于一个类协议——滑动窗口协议。这3个协议的区别在效率、复杂性及对缓冲区的要求。在所有的滑动窗口协议中,每个要发出的帧都包含一个序列号,范围是从0到某个最大值。最大值通常是2n-1,因而序列号能恰好放入n位的字段中。停-等滑动窗口协议使用n=1,限制序列号为0和1,但是复杂的协议版本则使用任意值n。发送窗口:任何时刻发送过程都保持着一组序列号,对应于允许发送的帧。这些帧在允许发送的范围内,即在窗口范围内。接收窗口:对应于一组允许接收的帧。发送窗口与接收窗口在窗口上、下限、大小等方面不必相同。窗口大小可固定,也可根据帧的发送、接收而变化。发送方窗口中的序列号代表已发送了,但尚未确认的帧。当网络层的一个新分组到达,发送方窗口上限加1。当确认到来,发送方窗口下限加1。为防止发送方窗口内的当前帧丢失或损坏,所以发送过程中必须把所有的帧保存在内存中,以备重传。若最大的窗口大小为n时,发送过程需要n个缓冲区来保存未确认的帧。若窗口大小达到最大值,发送过程的数据链路层必须强制关闭网络层,直到有一个缓冲区空闲出来为止。接收过程的数据链路层窗口对应着允许接收的帧。落在窗口外的帧被丢弃。当序列号等于窗口的下限的帧收到后,把它交给网络层,产生一个确认,窗口整个向前移动一个位置。不像发送方的窗口,接收方窗口总是保持初始时的大小。窗口大小为1,意味着数据链路层只能顺序地接收帧,但对于较大的窗口而言,并非如此。网络层总是按适当的次序接收数据,而不考虑数据链路层窗口的大小。窗口为1的3位滑动窗口协议协议4:一个1位滑动窗口协议使用了停-等方式,因为发送过程发出一帧后,在发送下一帧之前,需要等待已发送帧的确认。一个例子,初始时,没有帧要发送,所以发送过程窗口的上限和下限相等。Voidprotocol4(void){

seq_nrnext_frame_to_send;

seq_nrframe_expected;framers;packetbuffer;event_typeevent;next_frame_to_send=0;frame_expected=0;from_network_layer(&buffer);=buffer;

s.seq=next_frame_to_send;

s.ack=1-frame_expected;to_physical_layer(&s);

start_timer(s.seq);

while(true){wait_for_event(&event);if(event==frame_arrival){from_physical_layer(&r);

if(r.seq==frame_expected){

to_neywork_layer(&);inc(frame_expected);}

if(r.ack==next_frame_to_send){from_network_layer(&buffer);inc(next_frame_to_send);}}=buffer;

s.seq=next_frame_to_send;

s.ack=1-frame_expected;to_physical_layer(&s);

start_timer(s.seq);}}确认字段包含的帧编号同发送过程试图发送的帧编号一样,则发送过程知道存储在缓冲区中的帧已经被正确地接收,可以从网络层取下一个分组。若不一样,则继续发送同一帧。通常,两个数据链路层之一首先开始。否则,会造成特殊的状况。例如,假定A试着向B发送帧0,而B也试着向A发送帧0。假定A向B发送了一帧,但是A的超时时间间隔设置得过短。结果会导致:A也许重复地超时,发送一系列同样的帧,都是seq=0,ack=1。当第一个有效的帧到达B时,此帧就被接收,frame_expected被置1。这样所有的重传帧都会被拒绝,这是因为B正在期望序列号为1,而不是为0的帧。由于所有重复帧ack=1,而B仍然在等待帧0的确认,B就不能从网络层取一个新的分组。若双方同时发送一个初始化分组,会造成一种特殊情况。若B在发送它的一个帧之前,等待A的第一个帧,那么次序如(a)所示。若A和B同时开始通信,他们的第一个帧交叉,数据链路层如(b)所示。协议5:使用退后n帧的协议上面已述协议都作了假设:一个帧到达接收方的传输时间,加上确认帧来回的传输时间可以忽略不计。有时,这种假设显然是不成立的。在有些情况下,过长的往返时间对带宽的利用效率可能有重大的影响。P156,P181此问题可看成是要求发送过程在发送另1帧之前,等待前一个确认的规则所造成的后果。设想使用协议4通过卫星(往返传输延时500ms,发送速率50kb/s)发送1000位的帧。在T=0ms时,发送过程开始发送第一帧;在T=20ms时,此帧完全发送完毕;在T=270ms时,此帧完全到达接收方;在T=520ms时,确认帧返回到发送方。以上还只是在接收方不必等待,而且确认帧是短帧才能做到。发送方在500/520或96%的时间内处于阻塞状态。长的传输时间、高带宽和短的帧长导致效率很低。解决方法:允许发送过程在阻塞之间发送多帧,而不是一帧。管道化若信道的容量为b位/秒,帧的大小为1位,且往返传输时间为R秒,则传输1帧需要的时间是1/b秒。在数据帧的最后1位发出去后,确认要返回至少还要延时R/2秒。在停-等协议中,线路有1/b时间忙和R时间空闲,线路利用率是1/(1+bR)由于确认返回的延时是一个非0值,所以原则上,可以使用管道化将空闲时间利用起来。建立在不可靠的通信信道上的管道化帧带来的问题:若位于长长的帧流中间的一帧丢失或损坏时,在发送过程尚未发现已经出错之前,大量的后继帧就会到达接收方。当一个坏帧到达接收方后,显然此帧应当丢弃。但是接收过程如何对待其后所有正确的帧?两种处理方法:后退n帧选择性重传后退n帧数据链路层除了下次该交给网络层的下一帧外,拒绝接收其它任何帧。选择性重传由接收方的数据链路层存储坏帧之后的所有正确的帧。当发送过程意识到某个帧出错时,只是重传此坏帧,而不是所有的后继帧。(a)对应接收窗口大小等于1时的一个差错的处理数据链路层除了下次该交给网络层的下一帧外,拒绝接收其它任何帧。若出错率高,将浪费大量带宽。(b)对应接收窗口大小大于1时的一个差错的处理在窗口中的所有帧都可能被接收,并暂存起来,直到所有的前导帧都交给了网络层。在窗口很大时,将需要大量的数据链路层内存。(a)与(b)是带宽和数据链路层缓冲区空间的折衷。(a)的情况,即协议5,虽然不缓存出错后到达的帧,但也没有完全摆脱缓存的问题。发送过程必须保存发送过的帧,直到发送过程明确地知道这些帧已被接收过程接受。此协议有多个待确认的帧,因此在逻辑上需要多个计时器,每个等待确认的帧都需要一个计时器。各个帧时间超时是各不相关的。

在选择性重传协议中(协议6),发送过程和接收过程都维持一个可接受序列号的窗口。发送方的窗口大小从0开始,增长到某个最大值MAX_SEQ。接收方的窗口总是保持固定大小,并等于MAX_SEQ。接收方在其窗口中,为每个序列号都提供一个缓冲区。帧先必须保存在数据链路层中,而不交给网络层,直到比它小的所有帧都按次序已经交给了网络层后,此帧才递交给网络层。帧的非顺序接收在要求帧按顺序接收的协议中会导致一些问题:解决方法:使接收过程前移其窗口后,与原先的窗口之间没有重叠。为了保证没有重叠,最大的窗口大小至多为序列号范围的1/2。对协议6来说,窗口大小为(MAX_SEQ+1)/2。接收过程所需的缓冲区数量等于窗口的大小,而不是序列号范围。接收过程所需的计数器的数目等于缓冲区数量,而不是次序空间的大小。实际上,一个计数器对应一个缓冲区,当计数器超时,缓冲区中的内容就重传。在协议5中,有一个隐含的假设:信道的负载很重。这样可使用捎带技术。若反向信道负载轻,确认会长时间滞留。若一个方向有很多通信量,而另一方向无通信量,那么MAX_SEQ的分组发送出去后,协议就阻塞了。在协议6中,上述问题的解决方法:由start_ack_timer启动一个辅助计时器。若超时且无反向通信的话,发送一个单独的确认帧。用在辅助计时器上的超时要比用在计算数据帧超时的时间短。协议6使用比协议5更加有效的策略来处理差错:一旦接收过程怀疑出错,就发一个否定性确认帧NAK给发送过程。协议的描述和验证实际的协议,以及实现这些协议的程序通常是十分复杂的。因此,人们试图寻找一些形式化的、数学的技术来描述。有限状态机模型Petri网模型有限状态机模型在这个模型中,每个协议机(即发送方或接收方)在每个时刻总是处在一个特定状态,其状态是由所有变量值组成。为分析起见,可将大量状态组合在一起。例如,对协议3的接收方,可抽象出两个重要状态:等待帧0和等待帧1。其他状态可作为过渡状态。若所有变量需要的位数为n的话,则状态数有2n个。整个系统的状态是由两个协议机和信道的所有状态的组合。信道的状态由其内容决定。例如,对协议3来说,信道有4种可能的状态:帧0、帧1从发送方到接收方、相反方向的确认帧、空信道。有限状态机可以把协议形式化成一个四元组模型(S,M,I,T)。其中:S是进程和信道可能进入的状态集合。M是能在信道上进行交换的帧的集合。I是进程初始状态的集合。T是两两状态之间转换的集合。用协议3作为有限状态机模型的例子。每种状态由3个字符XYZ所标识。X是0或1,对应着发送方试图发送的帧。Y是0或1,对应着接收方希望收到的帧。Z是0,1,A或空(-),对应于信道的状态。初始状态选为(000),即发送方刚发送帧0,接收方希望收到帧0,而且帧0现在正在信道上。

9种转换:转换0为信道上丢失其上的内容。转换1为信道把分组0正确地交给了接收方,接收方于是改变其状态为希望收到帧1,并且发出一个确认。此外,还对应于接收方将分组交给网络层。其他转换见P167在正常的操作中,转换1,2,3,4依次不断地重复。HDLC——高级数据链路控制面向位的协议使用位填充三种类型的帧:信息帧、监控帧、无序号帧因特网中的数据链路层因特网是由各个主机和路由器及连接它们的通信设施组成的。在单个建筑物内,广泛地使用LAN来互联,但在大多数宽阔的区域中,网络的结构是通过点到点线路建成的。点到点线路中的数据链路层协议局域网协议点到点线路中的数据链路层协议:点到点通信主要用在两种情况下。第一种情况:数以千计的机构有一个或多个LAN,连接一个路由器(或网桥,其功能相似)。通常,这些路由器是通过一个主干LAN互联的。典型地,所有与外界的连接都是通过一个或两个路由器来实现的,这个路由器与远处的路由器通过点到点的线路连接。第二种情况:数百万的单台计算机通过调制解调器和拨号电话线,直接与因特网相连。通常,是用户家庭中的PC机拨号连接因特网服务提供者(Internetserviceprovider)。有时,家用PC的功能就像基于字符的终端,登录到因特网服务提供者的分时系统中去,但在图形化的因特网服务中,则不具备这种功能。另外一种情况是家庭PC机能够拨号连接因特网服务提供者的路由器。无论是路由器-路由器租用线路连接方式,还是拨号主机-路由器连接方式,在线路上需要一些点到点的数据链路层协议,完成成帧、差错控制等数据链路层功能。有两个这样的协议广泛地应用在因特网上,即SLIP和PPP。串行线路IP——SerialLineIP:是由RickAdams于1984年提出的,其目的是要把Sun工作站连接到因特网上去。此协议非常简单,是在RFC1055中描述的。工作站只是在线路上发送了原始的IP分组,在其后用了特殊的标志字节(0xC0),便于成帧。如果标志字节出现在IP分组内部,就使用一种字符填充形式。在其位置上顺序发送两个字节(0xDB,0Xdc)。更新一些的SLIP版本进行了TCP和IP头部压缩。连续分组常常共用许多头部字段。这是通过省略相同于前一个IP分组相对应字段而进行压缩的。在RFC1144中描述了这些优化。SLIP存在的问题:第一,它不能进行任何错误检测和纠错工作。第二,SLIP只支持IP。第三,双方都必须预先知道另一方的IP地址,在建立过程中,地址不能自动地设定。第四,SLIP没有任何形式的身份验证。第五,SLIP不是一个已通过的因特网标准。PPP——点到点协议(point-to-pointprotocol):为了克服SLIP的缺点,1992年制定了PPP协议,有如下三个组成部分:1、一个将IP数据报封装到串行链路的方法。PPP既支持异步链路(奇偶检验的8比特数据),也支持面向比特的同步链路。IP数据报在PPP帧中就是其信息部分。这个信息部分的长度受最大接收单元MRU(MAXIMUMRECEIVEUNIT)的限制。MRU的默认值是1500字节。2、一个用来建立、配置和测试数据链路连接的链路控制协议LCP(LINKCONTROLPROTOCOL)。通信的双方可协商一些选项。在[RFC1661]中的定义了11种类型的LCP分组。3、有一套网络控制协议NCP(NETWORKCONTROLPROTOCOL),其中的每一个协议支持不同的网络层协议,如IP、OSI的网络层、DECNET(由数字设备公司推出并支持的一组协议集合)以及APPLETALK(是在苹果计算机公司在20世纪八十年代开发并不断完善的局域网络协议簇)等。PPP的帧格式和HDLC的帧格式相似,前3个字段和最后两个字段与HDLC的格式是一样的。标志字段F仍为0X7E(符号“0X”表示它后面的字符是用十六进制数表示的。十六进制数的7E的二进制数表示是01111110)。地址字段A通常置为0XFF(即11111111),表示所有的站都接收这个帧。因为是点对点链路,地址字段实际上并没有什么意义。控制字段C通常置为0X03(即00000011)。这表示PPP帧不使用编号。PPP不是面向比特而是面向字节的,因而所有的PPP帧的长度都是整数个字节。PPP与HDLC不同的是多了一个2个字节的协议字段。当协议字段为0X0021时,PPP帧的信息字段就是IP数据报。若为0XC021,则信息字是PPP链路控制数据,而0X8021表示这是网络控制数据。在RFC1700中定义了PPP使用的协议字段落的代码。协议字段不同,后面的信息字段类型就不同。如:

0x0021——信息字段是IP数据报

0xC021——信息字段是链路控制数据LCP

0x8021——信息字段是网络控制数据NCP

0xC023——信息字段是安全性认证PAP

0xC025——信息字段是LQR

0xC223——

温馨提示

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

评论

0/150

提交评论