概述
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=2−i,i=min[i,10]。
第一次重传碰撞的概率为
P
1
=
2
−
1
=
0.5
P_1=2^{-1}=0.5
P1=2−1=0.5,第2次重传失败的概率为
P
2
=
2
−
2
=
0.25
P_2=2^{-2}=0.25
P2=2−2=0.25,第3次重传失败的概率为
P
3
=
2
−
3
=
0.125
P_3=2^{-3}=0.125
P3=2−3=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=(1−2−k)∏i=1k−12−i ,进一步化简可得:
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=(1−2−k)[2−1∗2−2∗⋯2−(k−1)]=(1−2−k)2−k(k−1)/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=1∞kpk=∑k=1∞k(1−2−k)2−k(k−1)/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章 数据链路层所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复