<分区>
在A和B之间的通信过程中, 当 A 向 B 发送数据时,段大小将取决于 B 的窗口大小。 最初,在 B 成功接收到数据后,它将窗口大小加倍,然后继续。 现在 B 知道它的 MSS。因此在向 A 发送段大小时,可以确保它不超过 MSS 值。 那为什么B要先通知MSS给A呢?
标签 networking tcp
<分区>
在A和B之间的通信过程中, 当 A 向 B 发送数据时,段大小将取决于 B 的窗口大小。 最初,在 B 成功接收到数据后,它将窗口大小加倍,然后继续。 现在 B 知道它的 MSS。因此在向 A 发送段大小时,可以确保它不超过 MSS 值。 那为什么B要先通知MSS给A呢?
最佳答案
段大小取决于发送方和接收方各自连接的网络数据链路层的 MTU 大小。
路径 MTU 发现可用于发现发送方和接收方之间的最小 MTU 大小,以动态确定发送方和接收方之间的最佳最大段大小(避免 IP 分段)(假设发送方和接收方之间的所有路由器都遵守do_not_fragment 位)。
您似乎将流量控制和滑动窗口与最大段大小混为一谈。
根据评论更新。
Is it that Window size cannot exceed the MSS ? I fail to find relation between them.
不,不是这样。
Is it that window size purely depends on the buffer size at sender and receiver and MSS depends on the MTU?
MSS 和 MTU 大小是需要上下文的术语,因为它们根据上下文具有不同的含义。
虽然只考虑一个传输方向,但有两个“窗口”需要考虑:
Window size for both A and B can be different but MSS remamins same because of the common link they share?
没有要求 MSS 是对称的。不保证或要求从 A 到 B 所采用的路径与从 B 到 A 所采用的路径相同。
我建议您在此处阅读整篇文章:http://en.wikipedia.org/wiki/Transmission_Control_Protocol因为有图表可以帮助理解。
关于networking - MSS 和 tcp 窗口大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13287404/