给定TCP会话,是否有方法确定发送方的吞吐量?我有一个wireshark嗅探器,我看到要计算发送者的吞吐量,我可以使用
TCP-Window-Size-in-bits / Latency-in-seconds = Bits-per-second-throughput
公式,
但是窗口不断变化(由于tcp协议)。
此外,为什么要考虑tcp窗口的大小?有时候发件人在收到密码之前会发送多个段,这不是真的吗?
发布于 2018-11-21 15:10:50
有时候发件人在收到密码之前会发送多个段,这不是真的吗?
这正是“窗口”的意思。假设一个协议需要确认,但每次只发送一个数据包/段(window =1段)--无论实际带宽如何,在每个往返期间只能有一个段/ACK对。
发送窗口提供了在期望ACK之前连续发送多个段的方法。每个ACKed段从发送窗口中移除,窗口被提前到一个新段-因此“滑动窗口”。
通过一个自适应的滑动窗口“并行”发送多个段,您可以使用总带宽。通常,您不能在每个RTT期间内传输超过一个完整窗口的数据。
TCP使用由(不断监视的) RTT值控制的滑动窗口作为拥塞传感器--从简化的角度来看,当RTT上升时,窗口大小会下降,反之亦然。当然,由于网络负载和其他变量,每个值在任何时候都可能发生变化。
发布于 2018-11-21 13:42:17
所有的度量都在改变:吞吐量和延迟也可以是瞬时测量。
https://networkengineering.stackexchange.com/questions/54889
复制相似问题