UNIX网络编程——TCP—经受时延与nagle算法、滑动窗口、拥塞窗口

时间:2023-01-26 06:16:01

1、经受时延:

TCP在接收到数据时并不立即发送ACK,相反,它推迟发送,以便将ACK与需要沿该方向发送的数据一起发送,时延为200ms,超过时延范围,发送确认。

2、nagle算法:

一个TCP连接上最多只能有一个未被确认的未完成的小分组,在该分组的确认到达之前不能发送其他的小分组。TCP收集这些少量的分组,在确认到来时以一个分组的方式发出去

3、滑动窗口

  • 窗口的左边沿向右边沿靠近为窗口合拢。这种现象发生在数据被发送的确认时。
  • 当窗口右边沿向右边移动时,将允许发送更多的数据,称为窗口张开,发生在另一端的接收进程读取已经确认的数据并释放了TCP的接收缓存时。
  • 当右边沿向左移动时,称为窗口,不建议使用这种方式。

4、拥塞窗口

当与另一个网络的主机建立TCP连接时,拥塞窗口被初始化为1个报文段。每收到一个ACK,拥塞窗口就增加一个报文段。发送方取拥塞窗口与通告窗口中的最小值做为发送上限。