📅  最后修改于: 2023-12-03 14:54:50.353000             🧑  作者: Mango
UGC NET CS 2016 年 8 月 – III |问题 4 是关于计算机网络方面的问题。这个问题通常需要程序员具备计算机网络的知识。
给定两个TCP连接S1和S2,它们都使用同一种SNP算法传输相同的数据,它们的初始拥塞窗口大小分别为W1和W2。S1和S2希望它们的拥塞窗口变得相同。
假设S1和S2都以相同的速率A传输数据,并且它们都遵循TCP时间控制准则。如果s1和s2各自增加一个的拥塞窗口时,两个连接的RTT保持相同,则用以下公式计算s1和s2将增加的拥塞窗口的数量。
其中,X表示当前cwnd的大小,K是增量因子。
现在假设s1剩余W1-5个分组没有确认,并且s2剩余W2-5个分组没有确认。由于网络拥塞,每个投递的数据包花费的时间要多出1秒钟的时间,而且,如果因拥塞丢失了一个数据包,则数据包的重新传输需要再花费一个RTT的时间。
如果两个连接都希望在RTT1的时间内累积相同的信息,则确定s1和s2将增加的拥塞窗口的数量的比例。
使用类似数学问题的方法可以解决这个问题。为了获得相同的数据量,必须增加拥塞窗口大小的比例与通信差异有关。
具体而言,如果s1和s2都在窗口中有一条数据包未确认,则它们将不断进行重新传输,这会导致延迟的增加。为了简化计算,我们可以将这种情况视为平均每个传输需要花费额外的1.5个RTT:rtt1 + rtt2 + rtt2 / 2。因此,X1和X2将同时增加K / W1 / 2和K / W2 / 2的窗口大小。
X1 = W1 - 5 + K*W1/2/W1 = W1 - 5 + K/2
X2 = W2 - 5 + K*W2/2/W2 = W2 - 5 + K/2
当X1+X2 = 2W时,得到W的值如下:
W = (W1 + W2 - 10 + K) / K
因此,如果两个连接都希望在RTT1的时间内累积相同的信息,那么s1和s2将增加的拥塞窗口的比例是:
S1的增量 = W1 / W = W1 / (W1 + W2 - 10 + K)
S2的增量 = W2 / W = W2 / (W1 + W2 - 10 + K)
根据上述解决方案,可以看出,为了使两个连接之间的拥塞窗口变得相同,我们需要计算s1和s2将增加的拥塞窗口的数量的比例,并根据此比例相应地调整它们的窗口大小。