主机甲通过128kbps 卫星链路,采用滑动窗口协议向主机乙发送数据,链路单向传播延迟为250ms,帧长为 1000 字节。不考虑确认帧的开销,为使链路利用率不小于 80%,帧序号的比特数至少是 () 。
不考虑确认帧的开销,一个帧发送完后经过一个单程传播时延到达接收方,再经过一个单程传播时延发送方收到应答,从而继续发送。要使得传输效率最大化,就是不用等确认也可以连续发送多个帧。设连续发送 n 个帧,一个帧的传输时延为: 1000B/128kbps=62.5ms 。
依题意,有: (n*62.5ms)/(n*62.5ms+250ms) ≥ 80%
得 n ≥ 16 = 24 ,从而,帧序号的比特数至少为 4 。(来自王道论坛)
分析:以发送周期为切入点来思考这个问题。开始发送帧到收到第一个确认帧为止,用时:
T = 第一个帧的传输时延+第一个帧的传播时延+确认帧的传输时延+确认帧的传播时延。
因为确认帧的开销不计,所以它的传输不计。但是传播时延要计的。
所以T = 1000B/128kbps + RTT = 0.5625s
那么在0.5625s内需要发送多少数据可以满足利用率80%呢?
设为L字节,则:
就是说在一个发送周期内至少发7.2帧就可满足要求。
因此,需要编号的比特数为n;
2n−1≥7.2
不考虑确认帧的开销,一个帧发送完后经过一个单程传播时延到达接收方,再经过一个单程传播时延发送方收到应答,从而继续发送。要使得传输效率最大化,就是不用等确认也可以连续发送多个帧。设连续发送 n 个帧,一个帧的传输时延为: 1000B/128kbps=62.5ms 。
依题意,有: (n*62.5ms)/(n*62.5ms+250ms) ≥ 80%
得 n ≥ 16 = 24 ,从而,帧序号的比特数至少为 4 。