高士涛-学习日报

姓名

高士涛

日期

2023/05/17

部门

云服务业务部

导师

王晓明

学习工作内容

TCP连接的几种状态

1. 之前的多进程TCP实验,这里测试一下多个client同时连接server并同时下载文件

 

2. TCP连接的几种状态:

  LISTEN:侦听来自远方TCP端口的连接请求。

  SYN-SENT:发送连接请求后等待匹配的连接请求。

  SYN-RECEIVED:收到和发送给一个连接请求后等待对连接请求的确认。

  ESTABLISHED:代表一个打开的连接,数据可以传送给客户。

  FIN-WAIT-1:等待远程TCP的连接中断请求,或者先前的连接中断请求的确认。

  FIN-WAIT-2:从远程TCP等待连接中断请求。

  CLOSE-WAIT:等待从本地用户发来的连接中断请求。

  CLOSING:等待远程TCP对连接中断的确认。

  LAST-ACK:等待原来发向远程TCP的连接中断请求的确认。

  TIME-WAIT:等待足够的时间确保远程TCP接受到连接中断请求的确认。

  CLOSED:没有任何连接状态。

 

3. TCP状态机:

Ø  LISTEN:侦听来自远方TCP端口的连接请求。

Ø  SYN_SENT(发送SYN):TCP客户端向服务器发送SYN报文段,进入SYN_SENT状态。

Ø  SYN_RCVD(接收SYN):TCP服务器接收客户端发送的SYN报文段,进入SYN_RCVD状态。

Ø  SYN_SENT(发送SYN ACK):TCP客户端向服务器发送SYN ACK报文段,进入SYN_SENT状态。

Ø  SYN_RECV(接收SYN ACK):TCP服务器接收客户端发送的SYN ACK报文段,进入SYN_RECV状态。

Ø  ESTABLISHED(已建立):TCP连接已经建立,数据传输可以在这个连接上进行。

Ø  CLOSE_WAIT(等待FINISH):TCP连接已经建立,等待对端发送FINISH消息,进入CLOSE_WAIT状态。

Ø  FINISH_WAIT(等待FINISH):TCP连接已经建立,等待对端发送FINISH消息,进入FINISH_WAIT状态。

Ø  TIME_WAIT(等待TIME):TCP连接已经建立,等待对端发送TIME消息,进入TIME_WAIT状态。

Ø  CLOSE_WAIT(等待FINISH):TCP连接已经建立,等待对端发送FINISH消息,进入CLOSE_WAIT状态。

Ø  FINISH_WAIT(等待FINISH):TCP连接已经建立,等待对端发送FINISH消息,进入FINISH_WAIT状态。

这些状态中,SYN_SENTSYN_RECV处于未连接状态,ESTABLISHEDCLOSE_WAIT处于连接状态,FINISH_WAITTIME_WAIT处于关闭状态。连接可以通过SYN_RECVFINISH_WAIT状态来建立和维护。

 

【参考链接:TCP连接的几种状态及转换_tcp连接状态_深咖啡的萨克的博客-CSDN博客

 

遗留问题

 

明日计划

继续深入学习