我目前正在尝试实现单向TCP,我只想澄清一下TCP发送器/接收器窗口和接收缓冲区的行为.
我对窗口化过程的理解如下:
窗口大小表示发送方可以一次发送的最大未确认字节数.
此尺寸在连接期间达成一致.
TCP发送方应该跟踪具有较低序列号的ACK,并且还在接收到ACK时将分组标记为已确认.如果最低序列号(它正在跟踪)与当前窗口中的第一个字节匹配,则向右滑动窗口.
现在,我对接收缓冲区的理解......
当数据包无序到达时使用.数据被放入缓冲区,接收器不会对其进行确认,而是继续确认在最早的无序数据包之前收到的最后一个数据包.这使得发送方在重复的ACK号之后"快速"重新发送下一个分组.
这是对这两个概念的正确理解,如果没有,请澄清.
谢谢!