TCP状态转换

1.TCP状态

在这里插入图片描述

从上面的TCP状态迁移图中可以看出,一共存在以下状态:

  • CLOSED

CLOSED状态不是一个真正的状态, 而是这个状态图的假想起点和终点

  • LISTEN

初始状态,进行监听,但是当收到RST报文时,也会出现此状态,即由SYN_RCVD状态转变为Listen

  • SYN_RCVD

接收到SYN时候,从Listen状态转变为SYN_RCVD

  • SYN_SENT

发送SYN包

  • ESTABLISHED

建立连接,收到对方的ACK

  • FIN_WAIT_1

从ESTABLISHED状态发送了FIN后,转换为FIN_WAIT_1状态

  • FIN_WAIT_2

收到对端的ACK,并已经发出了FIN

  • CLOSING

双方同时关闭

  • TIME_WAIT
  • CLOSE_WAIT

2.TCP的三次握手及四次挥手

在这里插入图片描述

2.1 Client端的状态

  • SYN_SENT
  • ESTABLISHED
  • FIN_WAIT_1
  • FIN_WAIT_2
  • TIME_WAIT

主动关闭

在这里插入图片描述

2.2 Server端的状态

  • LISTEN
  • SYN_RCVD
  • ESTABLISHED
  • CLOSE_WAIT
  • LAST_ACK
  • CLOSED

被动关闭

在这里插入图片描述

3.TCP的字段含义

  • MSS

在TCP连接connect时候,即三次握手的过程中,协商双方支持的最大报文长度(Maximum segment size)

MSS选项只能出现在SYN报文段

如果一方不接收来自另一方的MSS值,则MSS就定为默认值536字节(这个默认值允许20字节的IP首部和20字节的TCP首部以适合576字节IP数据报)

  • seq

系列号:本端上一次发送的数据包+上一次发送的数据长度,或者为接收包的ack

  • ack

确认:接收包的seq+接收包的长度

  • win:

窗口大小,我们没有交换任何数据,窗口大小就维持默认情况下的4096

  • MSL

报文段最大生存时间MSL(Maximum Segment Lifetime)详细见 TCP之2MSL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值