我是靠谱客的博主 兴奋灰狼,最近开发中收集的这篇文章主要介绍计算机网络习题——第3章 数据链路层,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

3-01数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与“数据链路接通了”的区别何在?
数据链路与链路的区别在于数据链路除链路外,还必须有一些必要的规程来控制数据的传输。因此,数据链路比链路多了实现通信规程所需要的硬件和软件。
“电路接通了”表示链路两端的结点交换机已经开机,物理连接已经能够传送比特流了。但是,数据传输并不可靠。在物理连接基础上,再建立数据链路连接,才是“数据链路接通了”。此后,由于数据链路连接具有检测、确认和重传等功能,才使不太可靠的物理链路变成可靠的数据链路,进行可靠的数据传输。当数据链路断开连接时,物理电路连接不一定跟着断开连接。

3-06PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不能使数据链路层实现可靠传输?
主要特点有:(1) 点对点协议,既支持异步链路,也支持同步链路;(2) PPP是面向字节的。
PPP不采用序号和确认机制是出于以下的考虑:
第一, 若使用能够实现可靠传输的数据链路层协议(如HDLC),开销就要增大。在数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理。
第二, 在因特网环境下,PPP的信息字段放入的数据是IP数据报。假定我们采用了能实现可靠传输但十分复杂的数据链路层协议,然而当数据帧在路由器中从数据链路层上升到网络层后,仍有可能因网络拥塞而被丢弃。因此,数据链路层的可靠传输并不能保证网络层的传输也是可靠的。
第三, PPP协议在帧格式中有帧检验序列FCS安段。对每一个收到的帧,PPP都要使用硬件进行CRC检验。若发现有差错,则丢弃该帧(一定不能把有差错的帧交付给上一层)。端到端的差错检测最后由高层协议负责。因此,PPP协议可保证无差错接受。
PPP协议适用于用户使用拨号电话线接入因特网线路,质量不太差的情况。

3-07要发送的数据为1101011011。采用CRC的生成多项式是P(X)=X4+X+1。试求应添加在数据后面的余数。
数据在传输过程中最后一个1变成了0,问接收端能否发现?
若数据在传输过程中最后两个1都变成了0,问接收端能否发现?
采用CRC检验后,数据链路层的传输是否就变成了可靠的传输?

根据数据生成多项式M(X)=X9+X8+X6+X4+X3+X1+X0=1101011011,因为G(X)=X4+X+1=10011,所以K=4,把M(X)左移K位,得到M’(X),M’(X)=M(X)*XK=M(X)*X4=X13+X12+X10+X8+X7+X5+X4=11010110110000 ,用M’(X)模二除G(X),余数为CRC位,M’(X)/G(X)= 11010110110000/10011,R(X)=1110。
模二除法

数据在传输过程中最后一个1变成了0,11010110101110除以10011,余数为011,不为0,接收端可以发现差错。
数据在传输过程中最后两个1都变成了0,11010110001110除以10011,余数为101,不为0,接收端可以发现差错。
采用crc检验后,收方将丢掉此数据,所以只采用crc检验而没有ppp重传机制,数据链路层的传输还不是可靠传输。

3-08要发送的数据为101110。采用CRC的生成多项式是P(X)=X3+1。试求应添加在数据后面的余数。
已知除数为1001,被除数为101110000,余数为011。

3-09一个PPP帧的数据部分(用十六进制写出)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。试问真正的数据是什么(用十六进制写出)?

字节填充
由于PPP的字节填充法规定:0x7E转换为(0x7D,0x5E),0x7D转换为(0x7D,0x5D),即7E→7D 5E,7D→7D 5D,数据部分划分为7D 5E FE 27 7D 5D 7D 5D 65 7D 5E,所以真正的16进制数据是7E FE 27 7D 7D 65 7E。

3-10PPP协议使用同步传输技术传送比特串0110111111100。试问经过零比特填充后变成怎样的比特串?若接收端收到的PPP帧的数据部分是0001110111110111110110,问删除发送端加入的零比特后变成怎样的比特串?

零比特填充

零比特填充:只要发现有5个连续1,则立即填入一个0
原始比特串:011011111 1111100,零比特填充后:0110111110 11111000
0001110111110 111110 110=>000111011111 11111110

3-14常用的局域网的网络拓扑有哪些种类?现在最流行的是哪种结构?为什么早期的以太网选择总线拓扑结构而不使用星形拓扑结构,但现在却改为使用星形拓扑结构?
常用的局域网的网络拓扑有星形网,总线网,环形网,树形网4种。
当时很可靠的星形拓扑结构较贵,人们都认为无源的总线结构更加可靠,但实践证明,连接有大量站点的总线式以太网很容易出现故障,而现在专用的ASIC芯片的使用可以将星形结构的集线器或交换机做的非常可靠,因此现在的以太网一般都使用星形结构的拓扑。
局域网的拓扑

3-19以太网使用的 CSMA/CD协议是以争用方式接入到共享信道的。这与传统的时分复用TDM相比优缺点如何?
传统的时分复用TDM是静态固定时隙分配,均匀高负荷时信道利用率高,低负荷或负荷不均匀时资源浪费较大,CSMA/CD可动态使用空闲新到资源,低负荷时信道利用率高,但控制复杂,高负荷时信道冲突大。
对局域网来说,连入信道的是相距较近的用户,因此通常信道带宽较宽,如果使用TDM方式,用户在自己的时隙内没有数据发送的情况会更多,不利于信道的充分利用。对计算机通信来说,突发式的数据更不利于使用TDM方式。

3-20假定1km长的 CSMA/CD网络的数据率为1 Gbit/s。设信号在网络上的传播速率为200000km/s。求能够使用此协议的最短帧长。
电磁波在1km电缆的传播时延约为5微秒,来回路程传播时间为10微秒,为了能够按照CSMA/CD工作,最小帧的发射时间不能小于10微秒;以1Gb/s速率工作,10微秒可以发送的比特数为:10×10-6×109=10000,因此,最短帧是10000位或1250字节长。

3-22假定在使用 CSMA/CD协议的10Mbit/s以太网中某个站在发送数据时检测到碰撞,执行退避算法时选择了随机数r=100。试问这个站需要等待多长时间后才能再次发送数据?如果是100 Mbit/s的以太网呢?
对于10Mbit/s的以太网,以太网把争用期定为51.2μs,要退后100个争用期,等待时间是51.2μs×100=5.12ms。对于100Mbit/s的以太网,以太网把争用期定为5.12μs,要退后100个争用期,等待时间是5.12μs×100=512μs。

3-24假定站点A和B在同一个10Mbit/s以太网网段上。这两个站点之间的传播时延为225比特时间。现假定A开始发送一帧,并且在A发送结束之前B也发送一帧。如果A发送的是以太网所容许的最短的帧,那么A在检测到和B发生碰撞之前能否把自己的数据发送完毕?换言之,如果A在发送完毕之前并没有检测到碰撞,那么能否肯定A所发送的帧不会和B发送的帧发生碰撞?(提示:在计算时应当考虑到每一个以太网帧在发送到信道上时,在MAC帧前面还要增加若干字节的前同步码和帧定界符。)
设在t=0时A开始发送,在t=(64+8)*8=576比特时间,A应当发送完毕。t=225比特时间,B就检测出A的信号。只要B在t=224比特时间之前发送数据,A在发送完毕之前就一定检测到碰撞,就能够肯定以后也不会再发送碰撞了。如果A在发送完毕之前并没有检测到碰撞,那么就能够肯定A所发送的帧不会和B发送的帧发生碰撞(当然也不会和其他站点发生碰撞)。

3-25在上题中的站点A和B在t=0时同时发送了数据帧。当t=225比特时间,A和B同时检测到发生了碰撞,并且在t=225+48=273比特时间完成了干扰信号的传输。A和B在 CSMA/CD算法中选择不同的r值退避。假定A和B选择的随机数分别是 r A r_A rA=0和 r B r_B rB=1。试问A和B各在什么时间开始重传其数据帧?A重传的数据帧在什么时间到达B?A重传的数据会不会和B重传的数据再次发送碰撞?B会不会在预定的重传时间停止发送数据?
因为 r A r_A rA=0,则A在干扰信号传输完之后立即开始侦听t=273+225(传播时延)=498比特时间,A检测到信道开始空闲t=498+96(帧间最小间隔)=594比特时间,A开始重传数据。
t=594+225(传播时延)=819比特时间,A重传完毕,A重传的数据帧到达B的时间。
因为 r B r_B rB=1,则B在干扰信号传输完之后1倍的争用期,即512比特时间才开始侦听t=273+512=785比特时间,B开始侦听。若侦听空闲,则t=785+96(帧间最小间隔)=881比特时间,B开始重传数据,若侦听非空闲,则继续退避算法,又因为t=819比特时间的时候,A才重传数据完毕,所以B在785比特时间侦听的时候,肯定会侦听信道非空闲,即B在预定的881比特时间之前侦听到信道忙,所以B在预定的881比特时间是停止发送数据的。即A重传的数据不会和B重传的数据再次发生碰撞。

3-26以太网上只有两个站,它们同时发送数据,产生了碰撞。于是按截断二进制指数退避算法进行重传。重传次数记为i,i=1,2,3,…试计算第1次重传失败的概率、第2次重传失败的概率、第3次重传失败的概率,以及一个站成功发送数据之前的平均重传次数I。
第i次重传分布在[0,1,…,2i-1]共2个时间槽内,因此,i次重传碰撞的概率为 p i = 2 − i , i = m i n [ i , 10 ] p_i=2^{-i},i=min[i,10] pi=2ii=min[i10]
第一次重传碰撞的概率为 P 1 = 2 − 1 = 0.5 P_1=2^{-1}=0.5 P1=21=0.5,第2次重传失败的概率为 P 2 = 2 − 2 = 0.25 P_2=2^{-2}=0.25 P2=22=0.25,第3次重传失败的概率为 P 3 = 2 − 3 = 0.125 P_3=2^{-3}=0.125 P3=23=0.125
开始k-1次失败,紧接着第k次重传成功的概率为 P k = ( 1 − 2 − k ) ∏ i = 1 k − 1 2 − i P_k=(1-2^{-k} ) ∏_{i=1}^{k-1}2^{-i} Pk=(12k)i=1k12i ,进一步化简可得: P k = ( 1 − 2 − k ) [ 2 − 1 ∗ 2 − 2 ∗ ⋯ 2 − ( k − 1 ) ] = ( 1 − 2 − k ) 2 − k ( k − 1 ) / 2 P_k=(1-2^{-k} )[2^{-1}*2^{-2}*⋯2^{-(k-1) } ]=(1-2^{-k})2^{-k(k-1)/2} Pk=(12k)[21222(k1)]=(12k)2k(k1)/2(平均重传k次的概率)
平均重传次数 l = ∑ k = 1 ∞ k p k = ∑ k = 1 ∞ k ( 1 − 2 − k ) 2 − k ( k − 1 ) / 2 = 1 / 2 + 3 / 4 + 21 / 64 + 15 / 256 + ⋯ ≈ 1.64 l=∑_{k=1}^∞kp_k =∑_{k=1}^∞k(1-2^{-k})2^{-k(k-1)/2} =1/2+3/4+21/64+15/256+⋯≈1.64 l=k=1kpk=k=1k(12k)2k(k1)/2=1/2+3/4+21/64+15/256+1.64

3-34有两台主机A和B接在800m长的电缆线的两端,并在t=0时各自向对方发送一个帧,长度为1500bit(包括首部和前同步码)。假定在A和B之间有4个转发器,在转发帧时会产生20比特的时延。设传输速率为100 Mbit/s,而 CSMA/CD的退避时间是随机数r倍的争用期,争用期为512bit,在发生第一次碰撞后,在退避时A选择r=0而B选择r=1。忽略发生碰撞后的人为干扰信号和帧间最小间隔。
(1)设信号的传播速率是2×108m/s。试计算从A到B(包括4个转发器)的传播时延。
(2)在什么时间(以秒为单位)B完全收到了A发送的帧?
(3)现在假定只有A发送帧,帧长仍为1500bit,但4个转发器都用交换机来代替。交换机在进行存储转发时还要产生额外的20bit的处理时延。在什么时间(以秒为单位)B完全收到了A发送的帧?

(1) 整个传输链路被4个交换机分成5个网段。在主机和交换机之间或两个交换机之间的传播时延是:每一段电缆长度160m除以电磁波的传播速率2×108m/s,即(160m/2×108m/s)=0.8µs,总的传播时延是5×0.8=4µs。4个交换机的处理时延是4×0.2=0.8µs。所以从A到B(包括4个转发器)的传播时延4µs+0.8µs=4.8µs
(2)发送1帧需要的时间是1500/(100×106bit/s)=15µs,比从A到B传播一个比特所需的时间还要多。
在t=0时,A和B同时发送帧。
在t=4.8µs时,A和B都检测出碰撞。
在t=9.6µs时,B终止发送的帧的最后一个比特到达A,A立即重传。
在t=14.4µs时,A重传帧的第一个比特到达B。
A发送1500bit所需要的时间是1500/108=15µs。
在t=29.4µs=29.4×10-6s时,A重传帧的最后一个比特到达B。
(3) 主机A和4个交换机的发送时延一共是5×15=75µs。由(1)可知,从A到B的传播时延为4.8µs,因此,B收完A所发送的帧总共经历的时延=4.8+75=79.8µs=79.8×10-6s。

最后

以上就是兴奋灰狼为你收集整理的计算机网络习题——第3章 数据链路层的全部内容,希望文章能够帮你解决计算机网络习题——第3章 数据链路层所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部