这两者的实际差额是多少?
1)我在Youtube上读过许多教程,其中一些人告诉我,窗口大小是它可以接收到的数据包的总大小(如窗口大小为15000字节)
最大数据包大小是单次发送的,例如1500字节,也就是说,它可以发送10个数据包,每个包1500个,使其达到15000。
2)但在其他一些教程中,我研究了窗口大小,就像它需要确认多少字节的数据之后一样。
如果2)是正确的,那么为什么在流量控制机制中使用超时时间?
发布于 2019-10-06 07:58:07
最大段大小是可以在单个IP数据包中传输的最大TCP段。它是从最大传输单元(MTU)减去IP报头开销减去TCP报头开销导出的。在没有选项的情况下,IPv4上的TCP通过以太网传输,是1460字节。
TCP窗口大小是“在飞行中”的数据量,即。在需要ACK之前传输。窗口大小取决于信道,特别是其可用带宽和往返时间(RTT)。窗口大小不断调整以避免拥塞。通常,它是MSS的倍数。
MSS和窗口大小是完全不同的,而且几乎是相互独立的。
发布于 2019-10-06 10:22:32
窗口大小:
MSS:
一般情况下,MSS是网络工程师的问题,窗口大小是服务器和应用程序的问题。在TCP中,在预期确认之前发送多个数据包,因此窗口大小将比MSS设置大得多。
如果您所说的流控制,您指的是TCP流控制:如果接收器将窗口大小缩小到零,那么发送器将被指示停止发送数据,直到从接收器接收到一个非零窗口为止。如果没有定时器,这可能会创建一个冻结会话,其中接收器正在等待数据,而发射机正在等待发送数据信号的an。持久化定时器给发射机一个定时器,在这个定时器上它将向接收器发送一个"WindowProbe“,给它一个用非零窗口作出响应的机会。
发布于 2020-09-17 09:53:20
每个TCP端点为应用程序提供一个字节流接口,这自动意味着必须对该流的大小有一定的限制。此重新组装缓冲区可以具有可变大小,并由TCP报头中的16位窗口大小选项指示。当应用程序尚未从其缓冲区读取数据时,它是动态的,并且在应用程序读取数据后再次增加。
IPv4允许数据报的最大大小为65,535字节,因此它可以包含的最大数据量是< 65,535字节。但是,实际传输数据的链路可能无法传输如此大的数据包。它们有一个名为MTU (最大传输单元)的极限。当数据包的大小超过此值时,就会发生碎片。为了避免碎片,TCP可以通过查看自己的MTU让对等方知道它愿意接受的段的最大大小。
有时,如果客户端发送的MSS小于最小的MTU (通常为1500个字节),那么小型MSS还可以指示一个小型的重新组装缓冲区,如果客户端发送的MSS小于最小的MTU(通常为1500个字节),则任何TCP实现都会得到保证。例如,发送MSS为536的发送方表示的不是一个小MTU,而是一个小的重新组装缓冲区,而MSS为1460可以表示一个1500个字节的MTU。
https://networkengineering.stackexchange.com/questions/62878
复制