习题参考解答
第一章
1. 使用分层协议的两点理由:1)简化系统的设计与实现;2)易于系统升级和维护。
2. (1)数据链路层;(2)网络层;(3)传输层。
3. 用于每个消息的额外传输开销为 hn 个字节,用百分比表示为 hn/(M+hn)。
4. 相同点:1)都基于分层协议;2)功能划分类似,都有网络层、传输层和应用层。
不同点:1)层次不同,TCP/IP没有会话层和表示层;2)OSI参考模型通用性好,而TCP/IP参考模型只能用来描述TCP/IP协议栈。
第二章
1. S
max
= 2H×log N = 2×6×log 4 = 24Mbps
2
2
2
2. (1)20dB的信噪比意味着:S/N = 10 = 100 由香农定理得到最大数据速率为:C = H×log ( 1 + S/N ) = 3×log 101 ≈ 19.975Kbps。
2
2
(2)如果在信道上传输二电平信号,由奈奎斯特定理可得到最大数据速率为: S = 2H×log N = 2×3×log 2 = 6Kbps
max
2
2
3. 由H×log ( 1 + S/N ) ≥ 1.544Mbps,H = 50KHz可以得到:S/N ≈ 2-1,约为93dB。
2
30
4. 设线路带宽为 x MB/s,则有:1 + 0.5/x = 2 + 0.4/x,于是:x = 0.1MB/s。传输延时不影响问
题的答案。
5. 修正:此题问欲使用该协议传输一百万个字节,分组数据长度选用哪个值最佳。 若分组数据长度为1000字节,则共有1000个包,分组头部开销总共是100×1000 =100000字节。丢失一个包就丢失数据1000字节,因而,分组开销 + 丢失字节 = 101000字节。 若分组数据长度为5000字节,共有200个包,分组开销 + 丢失字节 = 100×200 + 5000 = 25000字节。
若分组数据长度为10000字节,共有100个包,分组开销 + 丢失字节 = 100×100 + 10000 = 20000字节。
若分组数据长度为20000字节,共有50个包,分组开销 + 丢失字节 = 100×50 + 20000 = 25000字节。
所以,分组数据长度选10000字节最佳。 6.
7. 比特串1001 1111 0001 0001的4B/5B编码为10011 11101 01001 01001.
8. 4000×10 + 400×9 = 43600Hz = 43.6KHz
9.端系统用户从长为193比特的帧中得到7×24 = 168比特数据,因而T1线路传输数据的开销率为:25/193=13%。
10.(1) 2× (10 bit /10b/s+ 20μs) = 2040μs
4
7
7
4
7
(2) 10 bit /10b/s+ 20μs + 5000 bit /10b/s+ 20μs = 1540μs
11. 4× (5000 bit /10b/s+ 20μs) = 2080μs
12. 在电路交换网中,在 t = s时电路建立起来;在 t = s + x/b 时最后一比特从发送方发出;在t = s
+ x/b + kd 时最后一比特到达接收方。
在分组交换网中,在 t = x/b 时最后一比特从发送方发出。现在考虑最后一个分组的转发(因为最后一个分组到达接收方就意味着消息传输结束),该分组被中间路由器转发(k-1)次,每次转发需要时间 p/b。所以,总的延迟时间为:t = x/b + d + (k-1) (p/b + d)。为使 x/b + d + (k-1) (p/b + d) < s + x/b + kd,应有:s > (k-1) p/b。
7
第三章
1.链路上传输的比特序列为:110101111100101111101010111110110,加下划线的为填充的比特。去掉填充比特之后的比特序列为:1101011111101111101011111110。
2.(1)当发生一比特错时,出错比特所在行、列的奇偶校验均出错,从而可以定位出错比特的位置。将这一位取反,就能纠正错误。
(2)当发生2比特错误时,若这两个出错位不在同一行或同一列,则出错位所在行和列的校验位均能检测出错误。最坏情况出现在两个出错位处于同一行或一列,若处于同一行,则它们的列校验会发现错误;若处于同一列,则它们的行校验会发现错误。可见,二维奇偶校验能够检测所有的2比特错误。由于在最坏情况下只有行或列校验发现错误,无法定位错误,所以不能
纠正任意的2比特错误。当发生3比特错误时,最坏情况出现在图(a)所示的情形,但这时第i行的行校验及第j列的列校验均能发现错误,所以二维奇偶校验能够检测所有的3比特错误。但是显然这时无法准确定位出错比特,所以不能纠正任意的3比特错误。 (3)当发生图(b)所示的4比特错误时,二维奇偶校验不能检测出来。
3.(1)在线路上实际传输的比特串为:10011101100。
(2)接收方CRC计算得到的余式为010。余式不为0,可知发生了传输错误。
4.信号在光纤链路上的来回传输时间为:2×20km / (2×10m/s) = 200 μs。
考虑到接收端的响应时间及确认帧的发送时间等,超时值应稍大于信号在链路上的来回传输时间,因此可取为250μs(也可以是其它大于200μs的值)。
但是,即使取了这个超时值,甚至一个更大的超时值,发送端仍有可能超时并重发一帧。这是因为接收端可能因为负载较重来不及处理该帧,或者该帧或其确认帧在传输过程中出错丢失(尽管这种可能性很小)。
5. 设帧长为 x bits,则当 t = x/4 ms时一帧发送结束。若不考虑接收端的响应时间及确认帧的发送时间,则经过40ms后发送端收到确认,紧接着可以发送下一帧。在(x/4+40)ms的时间内,真正用于传送帧的时间只有 x/4 ms。为使停-等协议的效率不低于50%,应有:x/4≥(x/4+40)×50%,x≥160bits。
6.此题的信号传播速率为3×10km/s。
65
8
信号在链路上的来回传输延迟为:2×3×10/3×10 = 200ms。 一帧的发送时间为;1024×8/10b/s = 8.192ms。
满窗口发送帧数为:1 + 200/8.192≈25,最少需要5比特作序号。
7.发送一帧的时间为:512×8/64kb/s = 64ms。满窗口发送的帧数为:1 + 2×270/64 ≈10。 (1)当发送窗口为1时,信道的最大吞吐量为:64kb/s×64/(64+2×270)= 6.78 kb/s。
(2)当发送窗口为7时,发送方可以连续发送7个帧,然后停下来等待。接收方在收到第一个帧后立即发回确认,在 t = 64 + 2×270 = 604ms时发送方收到第一个帧的确认,于是可以发送第8个帧。第8个帧发完后,第二个帧的确认紧接着到达,于是又可以立即发送第9个帧,依次类推。也就是说,发送方每604ms可以发送7个帧,信道的最大吞吐量为:64kb/s × [7×64 / (64+2×270)] = 47.47 kb/s。
(3)当发送窗口为15和27时,由于已经超过了满窗口发送的帧数,这时发送方实际上在连续不断地发送,所以信道的利用率为100%,信道的吞吐量为64kb/s。
8. 发送一帧的时间为:1000 b/10 b/s = 1ms。 假设从 t=0 开始发送,则在 t=1ms 时第一个帧发送完毕,在 t=271ms 时第一个帧完全到达接收方,在 t=272ms 时接收方发送完携带有确认的数据帧,在 t=542ms 时携带有确认的数据帧到达发送方,因此一轮发送的时间为542ms。
若采用停-等协议,每一轮发送一个帧,信道的最大利用率为:1/542≈0.18%。 若采用Go Back n,发送窗口最大为:2-1 = 7,信道的最大利用率为:7/542≈1.29%。
3
6
45