.. . .
..
3-22. In protocol 6, when a data frame arrives, a check is made to see if the sequence number differs from the one expected and no_nak is true. If both conditions hold, a NAK is sent. Otherwise, the auxiliary timer is started. Suppose that the else clause were omitted. Would this change affect the protocol's correctness?
(在协议6中,当一个数据帧到达的时候,需要执行一个检查,看它的序列号是否与期望的序列号不同,并且no_nak为真。如果这两个条件都成立,则发送一个NAK。否则的话,启用辅助定时器。假定else子句被省略掉。这种改变会影响协议的正确性吗?) 答:可能导致死锁。假定有一组帧正确到达,并被接收。然后,接收方会向前移动窗口。
现在假定所有的确认帧都丢失了,发送方最终会产生超时事件,并且再次发送第一帧,接收方将发送一个NAK。然后NONAK 被置成伪。假定NAK 也丢失了。那么从这个时候开始,发送方会不断发送已经被接收方接受了的帧。接收方只是忽略这些帧,但由于NONAK 为伪,所以不会再发送NAK,从而产生死锁。如果设置辅助计数器(实现“else”子句),超时后重发NAK,终究会使双方重新获得同步。
3-31. Consider an error-free 64-kbps satellite channel used to send 512-byte data frames in one direction, with very short acknowledgements coming back the other way. What is the maximum throughput for window sizes of 1, 7, 15, and 127? The earth-satellite propagation time is 270 msec.
. 学习参考 .
.. . .
..
(考虑在一个无错误的64kbps卫星信道上单向发送512字节的数据帧,有一些非常短的确认从另一个方向回来。对于窗口大小为1、7、15、和27的情形,最大的吞吐量分别是多少?从地球到卫星的传输时间为270ms。) 答:使用卫星信道端到端的传输延迟为270ms,以64kb/s 发送,周期等于604ms。发送一帧的时间为64ms,我们需要604/64=9 个帧才能保持通道不空。
对于窗口值1,每604ms 发送4096 位,吞吐率为4096/0.604=6.8kb/s。 对于窗口值7,每604ms 发送4096*7 位,吞吐率为4096*7/0.604=47.5kb/s。
对于窗口值超过9(包括15、127),吞吐率达到最大值,即64kb/s。
Chapter4
4-5. A large population of ALOHA users manages to generate 50 requests/sec, including both originals and retransmissions. Time is slotted in units of 40 msec.
(a) What is the chance of success on the first attempt?
(b) What is the probability of exactly k collisions and then a success? (c) What is the expected number of transmission attempts needed?
. 学习参考 .
.. . .
..
(一大群ALOHA用户每秒钟产生50个请求,包括原始的请求和重传的请求。时槽单位是40ms。 (a)首次发送成功的几率是多少? (b)恰好k次冲突之后成功的概率是多少? (c)所需要传送次数的期望值是多少? 答:
. 学习参考 .