在A和B之间的通信期间,当A向B发送数据时,段大小将取决于B的窗口大小.最初,在B成功接收数据后,它会使窗口大小加倍并继续.现在B知道它的MSS.因此,在将段大小发送到A时,可以确保它不超过MSS值.那么为什么B必须首先通知MSS给A?
段大小取决于发送方和接收方各自连接的网络的数据链路层的MTU大小.
路径MTU发现可用于发现发送方和接收方之间的最小MTU大小,以动态确定发送方和接收方之间的最佳最大分段大小(避免IP分段)(假设发送方与接收方之间的所有路由器都遵循do_not_fragment位) ).
您似乎将流控制和滑动窗口与最大段大小混为一谈.
根据评论更新.
窗口大小是否不能超过MSS?我没有找到他们之间的关系.
不,那不是它.
窗口大小是否完全取决于发送方和接收方的缓冲区大小,MSS取决于MTU?
MSS和MTU大小是需要上下文的术语,因为它们根据上下文具有不同的含义.
在考虑转移的一个方向时,需要考虑两个"窗口":
A和B的窗口大小可以不同,但由于它们共享的公共链接,MSS会重新编号吗?
MSS不需要对称.从A到B,从B到A不能保证或要求所采用的路径相同.
我建议您在这里阅读整篇文章:http://en.wikipedia.org/wiki/Transmission_Control_Protocol,因为有图表可以帮助理解.