【水汐の计算机网络】数据链路习题

The following character encoding is used in a data link protocol
A:01000111 B:11100011 FLAG:01111110 ESC:11100000 
Show the bit sequence transmitted(in binary)for the four-character frame A B ESC FLAG when each of the following framing methods is used:
(a) Byte count.(b) Flag bytes with byte stuffing.(c) Starting and ending flag bytes with bit stuffing.


以下字符编码用于数据链路协议

A: 01000111 B:11100011 标志:01111110  ESC:11100000

当使用以下每种成帧方法时,显示四字符帧A B ESC标志传输的位序列(二进制):

(a) 字节计数

(b) 用字节填充标记字节

(c) 开始和结束标志字节与位填充。
The following character encoding is used in a data link protocol:
A: 01000111 B: 11100011 FLAG: 01111110 ESC: 11100000
Show the bit sequence transmitted (in binary) for the four-character frame A B ESC FLAG when each of the following framing methods is used:
(a) Byte count.
(b) Flag bytes with byte stuffing.
(c ) Starting and ending flag bytes with bit stuffing.

考点:3种成帧方式

答:(a)00000100 01000111 11100011 11100000 01111110(4 A B ESC FLAG)
(b)01111110 01000111 11100011 11100000 11100000 11100000 01111110 01111110(FLAG A B ESC ESC ESC FLAG FLAG)
(c)01111110 01000111 110100011 111000000 011111010 (A B ESC FLAG)
https://blog.csdn.net/weixin_43914604/article/details/104779973
https://www.bilibili.com/video/av56314810/
https://blog.csdn.net/qq_44482764/article/details/105622949
Byte count 字节计数:让第一个数字对帧中字节数进行计数。最简单最有效的方法。但是,如果帧出错,则后面的帧都会一系列全部出错,出错后难以重新同步

• Flag bytes with byte stuffing:让每个帧以特殊字节开始和结束。两个连续的标记字节flag byte表示一个帧的结束和下一个帧的开始。因此,如果接收器失去同步,它可以搜索两个标记字节来找到当前帧的结束和下一帧的开始。
当这个标记字节出现在帧中,用一个转义字符escape byte (ESC) 插入到标记字节前。接收者收到后,又将这个转义字符去掉,这个过程叫byte stuffing字节填充
缺点:添加这些字节会大大增加消息的大小

• Flag bits with bit stuffing
每一帧以01111110位模式开始
•发送者:每当我们在数据中看到五个1时,我们就插入一个0
•接收器:每当我们看到五个1,我们就会移除下面的0
它与byte stuffing 思想一样,但开销更小
唯一问题就是最后的帧可以是任意位数,但字节填充总是字节数
比特填充法是采用一特定的比特组合01111110来标志帧的边界,也就是一个标志字节。这种方法既允许数据帧包含任意长度的字符,也允许每个字符有任意长度的位。为了避免在传送的数据信息中心出现相同比特组合被误认为是帧的首、尾标志,必须对其进行比特填充(bit stuffing),即使用“零比特插入、删除"技术。 [1] 
比特填充法具体地说,发送端的数据链路层遇到数据比特流中出现5个连续“1”的时候,它就自动在输出比特流中插入一个“0;接收端遇到5个输入比特为“1”,且后面紧接的是“0”时,自动将其删除。字符填充法的主要缺点是依赖于特定的字符模式。
(a)00000100  01000111  11100011  1110000  01111110  
(b)01111110  01000111  11100011  11100000  11100000  11100000  01111110  01111110  
(c)01111110   01000111  110100011  111000000  011111010  01111110

Answer:    A:  01000111  B:11100011   FLAG:01111110  ESC :11100000 
A B ESC FLAG 
(a)4 A B ESC FLAG   
(b) FLAG A B ESC ESC ESC FLAG FLAG 
(C) FLAG A B ESC FLAG FLAG
Sixteen-bit messages are transmitted using a Hamming code. How many check bits are needed to ensure that the receiver can detect and correct single bit errors? Show the bit pattern transmitted for the message 1101001100110101. Assume that even parity is used in the Hamming code.    
假设使用海明码来传输16位的报文。请问,需要多少个检查位才能确保接收方可以检测并纠正单个位错误?对于报文1101001100110101,请给出所传输的位模式。假设在海明码中使用了偶数位

Answer:    m:信息位      r:检验位    m+r+1<=2r16+r+1<=2r=>r的最小值为5
A bit stream 10011101is transmitted using the standard CRC method described in the text. 
The generator polynomial is x3+1.
 Show the actual bit string transmitted. 
 Suppose the third bit from the left is inverted during transmission. 
 Show that this error is detected at the receiver’s end.  
   利用本章中介绍的标准CRC方法来传输位流10011101。生成器多项式为x3+1。
   请给出实际被传输的位串。
   假设在传输过程中左边第三位变反了。请证明,这个错误可以在接收端被检测出来。

 Answer:    x3+1=>1001    

算法见P198 10011101后面所加0的个数与X的最高次幂相同,
此题加30,即1001/10011101000,(相同取0,相异取1),
得出余数remainder=100.10011101100 所得出的余数不是0
因此可以被检测。This error is detected.

在这里插入图片描述

10、接收方收到一个12位的海明码,其16进制值为0xE4F。试问该码的原始值是多少?假设至多发生了一位错误。

海明码:在海明码中,数据位和校验位被编好号,2的幂次方位(1248...)存放校验信息,剩余位用来填充数据。数据位的编号可以被拆成1+21+41+2+4等由2的幂次方组成的等式,例编号为11数据位可以被拆成8+2+1,那么第128位都会包含第11位的校验信息。要计算第1位校验码,需要对所有等式含1的位(包括它自己)进行偶校验(通过改变校验位的取值,使这些位中1的个数为偶数;也可以使用奇校验,原理相同)。要检验数据是否正确,需要对校验位重新计算(包括收到的校验位和新校验位,即多了一位),验证新的校验位是否等于0(等于0说明符合偶校验)。如果检验的结果不全为0,意味着出现了一位错误(海明码能纠正一位错误,不考虑多位错误),通过新校验位的结果可以确定错误的位。假如一个码有4个校验位,第8421校验位计算出的新校验位分别等于0101,由此得出的错误位等于0101即十进制中的5,也可以用4+1的方式计算出等于5,要修复这个错误,只需要将第5位取反。接收方丢弃掉校验位后,得到数据位,即最终的消息。

0xE4F转化为二进制即111001001111,第1(对应1357911位)、2(对应23671011)、4(对应456712)、8(对应89101112)位为校验位,计算结果分别等于0100,即0010位出错,也就是十进制第2位,将第2位取反,得到十六进制值0xA4F

https://www.qedev.com/router/219391.html

1.2000m长的总线上,数据传输率为10Mbps,信号传播速率为200m/μs,采用CSMA/CD进行数据通信。

(1)争用期是多少?

(2)最小帧长应该为多少?

(3 )若A向B发送1000字节的数据,A是否必须在数据发送期间一直进行冲突检测?为什么?

解答:

(1)争用期为2r

τ=信道长度/信号传播速率=2000m/(200/μs)=10μs

2τ=20μs



(2)最短帧长

Min_Fl=发送速率×征用期=10Mbps×20μs=200bits=25bytes



(3)不需要,只需在发送前25字节是需要进行冲突检测。原因在于冲突只会出现在争用期内(等价于发送25字节),争用期内没有冲突,则在传输完之前就一定不会发生冲突;过了争用期,其他站点检测信道时,会检测到信道处于忙状态,因此不会发送数据。



2.一个PPP帧的数据部分是:7D 5E FE 27 7D 5D 7D 5D 65 7D 5E

试问真正的数据是什么?

解答:

7D 5E FE 27 7D 5D 7D 5D 65 7D 5E

真正的数据是:7E FE 27 7D 7D 65 7E



3.0比特填充法:

发送:0110111111111100 ?
接收:0001110111110111110110?

解答:

发送:经0比特填充后的输出串是:011011111011111000

接收:00011101111111111110



4.数据率为10Mbps的以太网在物理媒体上的码元传输速率是多少波特?

解答:

以太网采用差分曼切斯特编码,其编码效率为50%。

所以要想得到10Mbps的速率,则需要提供的码元传输速率为20MBaud。



5.假定1km长的CSMA/CD网络的数据率为1Gbps。设信号在网络上的传播速率为200 000km/s。求能够使用此协议的最短帧长。

解答:

传播时延:   τ= 5μs

所以冲突检测时间为:2τ= 10μs

帧的长度必须满足:在冲突检测时间内,还没有发送完帧。

所以最短帧长为:

2τ(μs)*1Gbps= 10000 bit



6..假定在使用CSMA/CD协议的10Mbps以太网中,某站在发送数据时检测到冲突,执行退避时选择了随机数r=100。试问该站需要等待多长时间后才能再次发送数据?如果是100Mbps的以太网呢?

解答:

10Mbps以太网的争用期是51.2 μs

则该站的退避时间为:r*51.2=100*51.2=5120=5.12ms

所以它将等待5.12 ms.

100Mbps的争用期是5.12μs,退避时间为:r*5.12=100*5.12=512μs

所以它将等待512 μs.



7.有两台主机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发送的帧?

解答:

(1100Mb/s网络,1比特时延= 0.01µs

1个转发器产生20比特时延= 0.2µs

4个转发器产生的时延= 0.8µs

从A到B的传播时延= 800m/(2×108m/s)= 4µs

从A到B(包括4个转发器)的传播时延= 4+0.8 = 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时,A重传帧的最后一个比特到达B。



(3)整个传输链路被4个交换机分成5个网段。

从A到B的传播时延总和:800m/(2×108m/s)= 4µs

主机A和4个交换机的发送时延总和:5×15=75µs

4个交换机的处理时延是4×0.2=0.8µs。

因此,B收完A所发送的帧总共经历的时延= 4+75+0.8 = 79.8µs。
  • 6
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值