WRI 研究生 0601
3 复习题
1. P127 源端口号为 y,目的端口号为 x。
2. P 131 应用程序开发者可能不想其应用程序使用 TCP 的拥塞控制,因为这会在出现拥塞时降低应用程序的传输
速率。通常,IP 电话和 IP 视频会议应用程序的设计者选择让他们的应用程序运行在 UDP 上,因为他们想要避
免 TCP 的拥塞控制。还有,一些应用不需要 TCP 提供的可靠数据传输。
3. P131 是的,应用程序开发者可以将可靠数据传输放到应用层协议中完成。但是这需要相当大的工作量和进行
调试。
4. a) false b) false c) true d) false e) true f) false g) false
5. a) 20 bytes (110-90=20bytes) b) ack number = 90 P155 第一个包丢失,发送第一个包之前的一个包的 ACK
6. P155 3 个报文段,第一个报文段,客户机到服务器,seq=43,ack=80;第二个报文段,服务器到客户机,seq
=80,ack=44;第三个报文段,客户机到服务器,seq=44,ack=81。
7. R/2 P180 R/2
8. P176 错误,其阈值将被设置为拥塞窗口目前值的一半(乘性减)。
习题
1. A →S 源端口号:467 目的端口号:23
b) B →S 源端口号:513 目的端口号:23
c) S →A 源端口号:23 目的端口号:467
d) S →B 源端口号:23 目的端口号:513
e) Yes.
f) No.
2. P128 假设主机 A,B,C 的 IP 地址为 a,b,c.(a,b,c 各不相同)
到主机 A:源端口=80,源 IP 地址=b, 目的端口=26145,目的 IP 地址=a;
到主机 C:左边进程:源端口=80,源 IP 地址=b, 目的端口=7532,目的 IP 地址=c;
到主机 C:右边进程:源端口=80,源 IP 地址=b, 目的端口=26145,目的 IP 地址=c;
3. P132 UDP 检查和
01010101
+01110000
11000101
11000101
+01001100
00010001
1 的补码=11101110
为了检测错误,接收方将四个字相加(三个原始字和一个检测字)。如果结果包含 0,那么接收方就知道分组
中存在错误。所有的 1bit 错误都将被检测出来,但是年个个比特的错误有可能被忽略(例如,如果第一个字的
最后一个数变为 0,并且第二个字的最后最后一个数变为 1)。
4. P138 假设发送方处于“等待来自上层的调用 1”状态,接收方处于“等待来自下层的 1”。发送方发送一个带有序
列号 1 的分组,然后转到“等待 ACK 或 NAK1”的状态等待 ACK 或 NAK。假设现在接收方正确接收到带有序列
号 1 的分组,发送一个 ACK,然后转入“等待来自下层的 0“状态,等待带有序列号 0 的分组。然而,ACK 出错
了。当 rdt2.1 发送方接收到出错的 ACK,它就重发带有序列号 1 的分组。然而,接收方在等待带有序列号 0 的
分组并在它没有收到带有序列号 0 的分组时一直发送 NAK。因此发送方会一直发送带有序列号 1 的分组,这时
接收方会一直发送这个分组的 NAK 信息。两边都不会从这个状态中跳出,进入了死循环。
5. P140 为了回答这个问题,首先考虑为什么我们需要序列号。我们看到发送方需要序列号以便于接收方能够区
分出一个分组是不是已经接收到的分组的重复。考虑 ACK 信息,发送方不需要这个信息(也就是一个 ACK 的
序列号)来告诉发送方检测到一个重复的 ACK.因为当他接收到原始 ACK 信息后它就转入下一个状态,所以一
个重复的 ACK 信息对 rdt3.0 的发送方是很明显的。重复的 ACK 信息不是发送方需要的 ACK 信息,因此被