需要重发的报文段是 4、5、6、7 号报文段。
(由于收到了3号报文段的确认,所以确认3号之前的已被接收,需要重新发送4、5、6、7号报文段。)
已知:单项RTT= 0.25 s,链路带宽R=128*10^3 bit/s,分组长度L=1000byte=8000bit,
=0s。
要使
%求分组序号的位数至少要达到多少位?
“无论是停-等协议、GBN 协议还是 SR协议,其信道利用率均可以统一表示为滑动窗口协议的信道利用率”–《计算机网络原理》P109
信道利用率公式:
发送一个分组的传输时延:
=8000/128*10^3=0.0625 s
%:(
×0.0625)/0.5625
80% 解得
7.2个,向上取整为8个
“假设报文段的序号采用k 位二进制位串进行编号,则其编号空间为:0~
-1,共2个编号。滑动窗口协议的窗口大小与序列号空间需要满足的约束条件为:
+
”–《计算机网络原理》P108
1(若采用GBN协议),则k
4。
即:分组序号的比特位数至少要达到 4 位。
已知:本题采用的是拥塞避免算法,所以在发生拥塞超时时
拥塞窗口CongWin调整为1,阈值调整为Threshold=CongWin/2=24 /2 =12
【补充】若采用快速恢复算法的TCP Reno版本,则拥塞窗口不是置为1,而是CongWin/2,且之后没有慢启动过程。
确认序列号 = 原始序列号 + TCP段长度
第一个段的确认序列号:200+300=500
第二个段的确认序列号:500+500=1000
主机乙正确接收到两个段后,发送给主机甲的确认序列号是 1000。
已知:甲向乙主机发送的第2个报文段丢失,第3个段的序号是900,三个连续的TCP报文有效荷载分别是300Byte、400Byte、500Byte,现在乙要向甲要求重传第2个报文段
所以主机乙发送给主机甲的确认序号是 500。
甲发送给乙的TCP报文段序号即为乙发送给甲的确认序号2046;甲发送给乙的确认序号即为乙发送给甲的序号1913+有效载荷的数据100。
所以甲立即发送给乙的 TCP 段的序号和确认序号分别是 2046 和 2013。
经过 10 个 RTT 后,甲的发送窗口是 10 KB。
【解析】
t时刻发生超时时拥塞窗口为8KB,慢启动阈值设为其一半=4
拥塞窗口按指数增长:2,4(达到阈值,改为线性增长)5,6,7,8,9,10,11,12
发送窗口 = min{拥塞窗口,接收窗口}
随后主机甲还可以继续向主机乙发送的最大字节数是 1000 字节。
【解析】
连续发送两个1000字节,仅成功收到对第一个段的确认-接收窗口大小为2000字节,其中一个段还未确认,这个段需要占用1000字节的接收窗口,2000字节的接收窗口还有1000字节,所以甲还可以向乙发送的最大字节数是1000字节。