什么是TIME_WAIT状态?滑动窗口的工作过程TCP

2022-08-22 13:54:25 浏览数 (2)

前言

TCP协议四次挥手的过程

什么是TIME_WAIT状态

TCP协议滑动窗口的工作过程

TCP协议是如何保证可靠传输的

  • 第一次:FIN=1,主动请求中断连接
  • 第二次:ACK=1、ack=u 1,表示确认收到中断报文
  • 第三次:FIN=1、ACK=1、seq=w、ack=u 1,请求中断连接
  • 第四次:ACK=1、seq=u 1、ack=w 1,确认中断连接

TIME-WAIT状态

TIME-WAIT状态指的是第四次挥手后,主动中断连接方所处的状态,这个状态下,主动方尚未完全关闭TCP连接,端口不可复用。2MSL 总时间是4分钟 MSL(Max Segment Lifetime):最长报文段寿命 RFC 793标准建议设置为2分钟

为什么TIME-WAIT状态需要等待2MSL?

最后一个报文没有确定 确定最后一个ACK报文一定能到达对方 2MSL时间内,如果没有到达对方,那么对方会重新进行第三次挥手,确保连接正常释放

1.确保当前连接所有的报文都已经过期

UDP vs TCP

停止-等待协议

连续ARQ(Automatic Repeat reQuest)协议

  • 停止-等待协议是最简单的可靠传输协议
  • 停止-等待协议对信道的利用效率不高

既然单个发送、确认的效率低,是否可以批量发送和确认呢?

TCP协议-窗口

  • 2字节——[0,65535]
  • 窗口指明允许对方发送的数据量
  • 数据缓冲空间有限,不能无限缓存数据

滑动窗口

  • 窗口指明允许对方发送的数据量
  • TCP协议是传输数据流的协议,通过TCP协议头部序列号、确认号以及窗口等字段的控制,可以在有限的传送资源下,接收几乎无限的数据

0 人点赞