第三章数据链路层
- 格式:doc
- 大小:69.50 KB
- 文档页数:3
408考研计算机网络——第三章数据链路层第3章数据链路层结点:主机、路由器链路:网络中两个结点之间的物理通道,传输介质有双绞线、光纤和微波。
分为有线、无线链路数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路帧:链路层的协议数据单元,封装网络层数据报功能:为网络层提供服务、链路管理、组帧、流量控制、差错控制3.1 数据链路层的功能数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。
其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路·为网络层提供服务无确认无连接服务有确认无连接服务有确认面向连接服务·链路管理即连接的建立、维持、释放(用于面向连接的服务)·组帧(帧定界、帧同步、透明传输)封装成帧:在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。
接收端在收到物理层上交的比特流后,根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
最大传送单元MTU:帧的数据部分的长度上限透明传输:当所传数据中的比特组合恰巧与某一个控制信息完全一样时,采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。
保证数据链路层的传输是透明的组帧的四种方法:字符计数法、字符(节)填充法、零比特填充法、违规编码法·流量控制限制发送方的数据流量,使其发送速率不超过接收方的接受能力✳对于数据链路层:控制的是相邻两结点之间数据链路上的流量对于传输层:控制源端到目的端之间的流量·差错控制位错:循环冗余校验CRC差错控制:自动重传请求ARQ帧错:定时器、编号机制*三个基本问题:封装成帧、透明传输、差错检测3.2 组帧·字符计数法帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数。
计算机网络第3 章数据链路层第3 章数据链路层3.1 数据链路层的基本概念3.1.1 数据链路和帧3.1.2 三个基本问题3.2 点对点协议PPP3.2.1 PPP 协议的特点3.2.2 PPP 协议的帧格式3.2.3 PPP 协议的工作状态第3 章数据链路层(续)3.3 使用广播信道的数据链路层3.3.1 局域网的数据链路层3.3.2 CSMA/CD 协议3.4 使用广播信道的以太网3.4.1 使用集线器的星形拓扑3.4.2 以太网的信道利用率3.4.3 以太网的MAC 层第3 章数据链路层(续)3.5 扩展的以太网3.5.1 在物理层扩展以太网3.5.2 在数据链路层扩展以太网3.6 高速以太网3.6.1 100BASE-T 以太网3.6.2 吉比特以太网3.6.3 10 吉比特以太网3.6.4 使用高速以太网进行宽带接入数据链路层⏹数据链路层使用的信道主要有以下两种类型:⏹点对点信道。
一对一的点对点通信方式。
⏹广播信道。
这种信道使用一对多的广播通信方式,因此过程比较复杂。
广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。
数据链路层的简单模型局域网广域网主机H 1主机H 2路由器R 1路由器R 2路由器R 3电话网局域网主机H 1向H 2发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R 1R 2R 3H 1H 2从层次上来看数据的流动数据链路层的简单模型( 续)局域网广域网主机H 1主机H 2路由器R 1路由器R 2路由器R 3电话网局域网主机H 1向H 2发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R 1R 2R 3H 1H 2仅从数据链路层观察帧的流动3.1 数据链路层的基本概念3.1.1 数据链路和帧⏹链路(link),即物理链路:⏹指从一个结点到另一个结点的物理线路,中间没有任何其他的交换结点。
第三章数据链路层重点内容(⼀)数据链路层的功能(⼆)组帧(三)差错控制1、检错编码2、纠错编码(四)流量控制与可靠传输机制1、流量控制、可靠传输与滑动窗⼝机制2、停⽌-等待协议3、后退N帧协议(GBN)4、选择重传协议(SR)⼀、使⽤点对点信道的数据链路层1、数据链路和帧链路是⼀条⽆源的点到点的物理线路段,中间没有任何其他的交换结点数据链路除了物理线路外,还必须有通信协议来控制这些数据的传输。
若把实现这些协议的硬件和软件加到链路上,就构成了数据链路常常在两个对等的数据链路层之间有⼀个数字管道,⽽在这条数字管道上传输的数据是帧2、基本问题(功能)(1)封装成帧封装成帧就是在⼀段数据的前后分别添加⾸部和尾部,这样就构成了⼀个帧。
接收端在收到物理层上交的⽐特流,就能根据⾸部和尾部的标记,从收到的⽐特流区别帧的开始和结束(⾸部和尾部还夹杂着控制信息)数据链路帧的特点数据部分的前⾯和后⾯分别添加上⾸部和尾部,构成⼀个完整的帧。
帧是数据链路层的数据传送单元。
⾸部和尾部还包括许多必要的控制信息每⼀种链路层协议都规定了所能传送的帧的数据部分长度上限——最⼤传送单元MTU⼀个控制字符SOH放在⼀个帧的最前⾯,表⽰帧的⾸部开始。
另⼀个控制字符EOT表⽰帧的结束(⼀般情况下,⾸部和尾部的长度加起来⼀般⼩于原始报⽂的长度)(2)透明传输“在数据链路层透明传输数据”表⽰⽆论什么样的⽐特组合的数据都能够通过这个数据链路层链路采⽤字节填充法,来确保上⽅情况的发⽣(3)差错检测传输错误的⽐特占所传输⽐特总数的⽐率称为误码率BER。
例如,误码率为10的负⼗次⽅时,表⽰平均每传送10的⼗次⽅个⽐特就会出现⼀个⽐特的差错在计算机⽹络传输数据时,必须采⽤各种差错检测措施。
⽬的在数据链路层⼴泛使⽤了循环冗余校验技术(CRC)CRC①在发送端,先把数据划分组,假定每组k个⽐特。
现假定待传送的数据M=1010001101(k=10)。
CRC运算就是在数据M的后⾯添加供差错检验⽤的冗余吗,然后构成⼀个帧发送出去,⼀共发送(k+n)位设n=5,P=110101(P是除数),模2运算的结果是:Q=1101010110余数R=01110将余数R作为冗余码添加在数据M的后⾯发送出去,即发送的数据是101000110101110,或2的n次⽅乘以M+R在数据后⾯添加上的冗余码称为帧检验序列FCS循环冗余检验CRC和帧检验序列FCS并不等同CRC是⼀种常⽤的检错⽅法,⽽FCS是添加在数据后⾯的冗余码FCS可以⽤CRC这种⽅法得出,但CRC并⾮⽤来获得到FCS的唯⼀⽅法②在接收端把接收到的数据以帧为单位进⾏CRC检验:把收到的每⼀个帧都除以同样的除数P(摸2运算),然后检验得到的余数R③在接收端对收到的每⼀帧经过CRC检验后,有以下两种情况:(a)若得出的余数R=0,则判定这个帧没有差错,就接受(b)若余数R≠0,则判定这个帧有差错,(但⽆法确定究竟是哪⼀位或哪⼏位出现了差错),就丢弃仅⽤循环冗余检验CRC差错检测技术只能做到⽆差错接受“⽆差错接受”是指:“凡是接受的帧(不包括丢弃的帧),我们都能以⾮常接近于1的概率认为这些帧在传输过程中没有产⽣差错”。
第三章数据链路层1. 一个上层信息被分为10帧,每帧有80%无损坏到达的可能性。
如果数据链路层协不进行差错控制,那么这一信息平均发送多少次,才能完整到达接收方。
2.以下数据碎片出现在一个数据流的中间,在数据流中使用的是课文中的字符填充算法:DEL, STX, A, DLE, ETX,填充后输出是什么?3.如果位串01111011111001111110是经过位填充的,那么输出串是什么?4.帧识别的方法有哪些?各自的优缺点是什么?5.用海明校验码对ASCII字符”Z”(二进制位相编码为1011010)进行编码,并写出ASCII中第四位(即海明码第七位)如果出错的校验过程。
6.证明(m+r+1)<=2r是纠正一比特错的理论底限。
7.数据链路层为什么要引入计时器超时机制和帧编号?8.比较停等式ARQ,退后N帧的ARQ和选择性重传协议的区别?9.在一个1Mb/S的卫星信道上,发送1000bit 长的帧,确认总捎带在数据帧中,帧头很短,使用3位序列号,对于3种协议可以获得的最大信道利用率是多少?10.在HDLC中,控制字段起的作用是什么?它的每一个表示什么意思?答案:1.解:∵每帧有80%正确到达的可能性∴10帧都安全到达的可能性为(80%)10≈10.74%∴这一信息大约传送1/10.74%≈10次可以完整到达2、答:填充后的输出如下:DLE DLE STX A DLE DLE DLE DLE ETX3、答:删除填充位后,输出串应是:011110111114、答:帧识别的方法有五种:(1)计时法;(2)字符计数法;(3)带字符填充的首尾界符法;(4)带位填充的首尾标志法;(5)物理编码违例法。
各自优缺点:(1)计时法其缺点是每帧中间有时间间隔,不能充分利用线路;(2)字符计数法是在帧头部使用一字段来整数标明该帧的长度,并且可以知道下一个帧的开始位置;其缺点是标识位错时不可修复;(3)带字符填充的首尾界符法是每一帧以ASCII字符序列DLE STX头,以DLE ETX结束,可方便目的机丢失帧边界的查找;其缺点可能会导致干扰帧界的确定,该方法所传输的帧必须是7/8bit的整数倍(即ASCII编码整数倍)(4)带位填充的首尾标志法的优点是对通信双方计算机的网络层都是透明的,使用一个特定的位模式,即01111110作为帧的开始和结束标志,为使之不出出错误判断,发送方在连续5个1后自动插入一个0,接收方将会自动删除。
第三章 数据链路层
习题3-02 数据链路层中的链路控制包括哪些功能?
答:数据链路层中的链路控制功能有:(1)链路管理。
(2)帧定界。
(3)流量控制。
(4)差错控制。
(5)将数据和控制信息区分开。
(6)透明传输。
(7)寻址。
习题3-03考察停止等待协议算法。
在接收结点,当执行步骤(4)时,若将“否则转到(7)”改为“否则转到(8)”,将产生什么结果?
答:“否则”是指发送方发送的帧的N (S )和接收方的状态变量V (R )不同。
表明发送方没有收到接收方发出的ACK ,于是重传上次的帧。
若“转到(8)”,则接收方要发送NAK 。
发送方继续重传上次的帧,一直这样下去。
习题3-06 信道速率为4kb/s 。
采用停止等待协议。
传播时延ms t p 20=,确认帧长度和处理时间均可忽略。
问帧长为多少才能使信道利用率达到至少50%。
解:根据下图所示停等协议中的时间关系:
在确认帧长度和处理时间均可忽略的情况下,要使信道利用率达到至少50%必须使数据帧的发送时间等于2倍的单程传播时延。
即:p f t t 2= 已知:C l t f f =
,其中C 为信道容量,或信道速率。
f l 为帧长(以比
特为单位)。
所以得帧长16004.040002=⨯=⨯≥⨯=p f f t C t C l bit
习题3-09试证明:当用n 个比特进行编号时,若接收窗口的大小为1,则只有在发送窗口的大小WT ≤2n-1时,连续ARQ 协议才能正确运行。
答:(1)显然 WT 内不可能有重复编号的帧,所以WT ≤2n 。
设WT=2n ;
(2)注意以下情况:
发送窗口:只有当收到对一个帧的确认,才会向前滑动一个帧的位置;
接收窗口:只有收到一个序号正确的帧,才会向前滑动一个帧的位置,且同时向发送端发送
对该帧的确认。
显然只有接收窗口向前滑动时,发送端口才有可能向前滑动。
发送端若没有收到该确认,发送窗口就不能滑动。
(3)为讨论方便,取n=3。
并考虑当接收窗口位于0时,发送窗口的两个极端状态。
状态1: 发送窗口: 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
全部确认帧收到接收窗口: 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7
状态2:发送窗口: 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
全部确认帧都没收到接收窗口: 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7
(4)可见在状态2下,接收过程前移窗口后有效序列号的新范围和发送窗口的旧范围之间有重叠,致使接收端无法区分是重复帧还是新帧。
为使旧发送窗口和新接收窗口之间序列号不发生重叠,有W T+W R≤2n,所以W T≤2n-1。
习题3-10、试证明:对于选择重传ARQ协议,若有n比特进行编号,则接收窗口的最大值受公式WR≤2n/2的约束。
答:因WT+WR≤2n,而WR≤WT,当WR= WT时,WR取最大值,为2n/2。
习题3-11在选择重传ARQ协议中,设编号用3bit。
再设发送窗口WT=6,而接收窗口WR=3。
试找出一种情况,使得在此情况下协议不能正常工作。
答:发送端:0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0
接收端:0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0
习题3-12在连续ARQ协议中,设编号用3bit,而发送窗口WT=8,试找出一种情况,使得在此情况下协议不能正常工作。
答:发送端:0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0
接收端:0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0
习题3-13在什么条件下,选择重传ARQ协议和连续ARQ协议在效果上完全一致?
答:当选择重传ARQ协议WR=1时,或当连续ARQ协议传输无差错时。
习题3-15设卫星信道的数据速率是1Mbit/s,取卫星信道的单程传播时延为0.25秒。
每一个数据帧长为2000bit,忽略误码率、确认帧长和处理时间。
试计算下列情况下的信道利用率。
(1)采用停-等协议。
(2)采用连续ARQ协议,窗口大小WT=7。
(3)采用连续ARQ协议,窗口大小WT=127。
(4)采用连续ARQ协议,窗口大小WT=255。
解:
习题3-16试简述HDLC帧各字段的意义。
HDLC用什么方法保证数据的透明传输?
答:HDLC帧结构如下图:
1. 标志域F。
HDLC用一种特殊的位模式01111110作为标志以确定帧的边界。
同一个标志既可以作为前一帧的结束, 也可以作为后一帧的开始。
链路上所有的站都在不断地探索标志模式, 一旦得到一个标志就开始接收帧。
在接收帧的过程中如果发现一个标志, 则认为该帧结束了。
2. 地址域A。
地址域用于标识从站的地址。
虽然在点对点链路中不需要地址, 但是为了帧格式的统一, 也保留了地址域。
地址通常是8位长, 然而经过协商之后, 也可以采用更长的扩展地址。
3. 控制域C。
HDLC定义了三种帧, 可根据控制域的格式区分之。
信息帧(I帧)装载着要传送的数据, 此外还捎带着流量控制和差错控制的信号。
4. 信息域INFO。
只有I帧和某些无编号帧含有信息域。
这个域可含有表示用户数据的任何比特序列, 其长度没有规定, 但具体的实现往往限定了帧的最大长度。
5. 帧校验和域FCS。
FCS域中含有除标志域之外的所有其他域的校验序列。
通常使用16 bit 的CRC-CCITT标准产生校验序列, 有时也使用CRC-32产生32位的校验序列。
采用零比特填充法就可传送任意组合的比特流,或者说,就可实现数据链路层的透明传输。
习题3-17 HDLC帧可分为哪几大类?试简述各类帧的作用。
答:分三大类。
1信息帧:用于数据传输,还可同时用来对已收到的数据进行确认和执行轮询功能。
2监督帧:用于数据流控制,帧本身不包含数据,但可执行对数据帧的确认,请求重发信息帧和请求暂停发送信息帧等功能。
3无编号帧:主要用于控制链路本身,不使用发送或接收帧序号。
习题3-19 PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?
答:主要特点:
(1)点对点协议,既支持异步链路,也支持同步链路。
(2)PPP是面向字节的。
PPP不采用序号和确认机制是出于以下的考虑:
第一,若使用能够实现可靠传输的数据链路层协议(如HDLC),开销就要增大。
在数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理。
第二,在因特网环境下,PPP的信息字段放入的数据是IP数据报。
假定我们采用了能实现可靠传输但十分复杂的数据链路层协议,然而当数据帧在路由器中从数据
链路层上升到网络层后,仍有可能因网络授拥塞而被丢弃。
因此,数据链路层
的可靠传输并不能保证网络层的传输也是可靠的。
第三, PPP协议在帧格式中有帧检验序列FCS安段。
对每一个收到的帧,PPP都要使用硬件进行CRC检验。
若发现有差错,则丢弃该帧(一定不能把有差错的帧交付
给上一层)。
端到端的差错检测最后由高层协议负责。
因此,PPP协议可保证无
差错接受。
PPP协议适用于用户使用拨号电话线接入因特网的情况。
习题3-20要发送的数据为1101011011。
采用CRC的生成多项式是P(x)=x4+x+1 。
试求应添加在数据后面的余数。
数据在传输过程中最后一个1变成了0,问接收端能否发现?
若数据在传输过程中最后两个1都变成了0,问接收端能否发现?
答:添加的检验序列为1110 (11010110110000除以10011)
数据在传输过程中最后一个1变成了0,11010110101110除以10011,余数为011,不为0,接收端可以发现差错。
数据在传输过程中最后两个1都变成了0,11010110001110除以10011,余数为101,不为0,接收端可以发现差错。