在A和B之间的通信中,当A向B发送数据时,段大小将取决于B的窗口大小。最初,在B成功接收数据后,它会将窗口大小加倍,这将继续进行。现在B知道它的MSS了。因此,在将段大小发送给A时,可以确保它不超过MSS值。那么,为什么B必须首先通知MSS到A?
发布于 2012-11-08 10:55:52
段大小取决于网络的数据链路层的MTU大小,发送方和接收方各连接到其中。
Path MTU发现可用于发现发送方和接收方之间的最小MTU大小,以动态确定发送方和接收方之间的最佳最大段大小(避免IP碎片)(假设发送方和接收方之间的所有路由器都遵守do_not_fragment位)。
您似乎将流控制和滑动窗口与最大分段大小混为一谈。
基于注释的更新。
是窗口大小不能超过MSS吗?我找不到他们之间的关系。
不,不是这样。
窗口大小是否完全取决于发送方和接收方的缓冲区大小,而MSS则取决于MTU?
MSS和MTU大小是需要上下文的术语,因为它们根据上下文有不同的含义。
在只考虑一个转移方向的同时,有两个“窗口”需要考虑:
A和B的窗口大小可以是不同的,但是MSS由于它们共享的公共链接而相同吗?
不要求MSS是对称的。没有保证或要求从A到B的路径与从B到A的路径相同。
我建议您阅读这里的整篇文章:协议,因为有帮助理解的图表。
发布于 2012-11-09 02:21:13
段大小将取决于B的窗口大小
在MTU的路上。这两个数字中较低的一个适用。路径MTU对于给定的路径是恒定的;根据接收方的套接字接收缓冲器的状态、慢启动等,广告窗口的大小是动态的。
https://stackoverflow.com/questions/13287404
复制相似问题