TCP连接过程

文章目录

    • TCP连接过程
  • 附录
    • TCP报文中关键术语字段

后面再完整出理论、出实战、出总结

TCP连接过程

三次握手(Three-Way Handshake)过程。
TCP连接过程_第1张图片

TCP抓包结果分析:
在这里插入图片描述

  • step1:Client1客户端--->Server1服务器发送SYN(同步序列编号)
源IP 目的IP 源端口 目的端口 [SYN] Seq Win Len MSS
192.168.1.1 192.168.2.1 2057 21 同步 0 8192 0 1460

说明:Client1客户端向Server1服务器发送一个SYN报文段。这是连接建立的第一步,其中Seq=0表示初始序列号,Win=8192表示窗口大小,Len=0表示没有数据负载,MSS=1460表示最大报文段长度。

  • setp2:Server1服务器--->Client1客户端发送SYN-ACK (同步-确认)
源IP 目的IP 源端口 目的端口 [SYN,ACK] Seq ACK Win Len MSS
192.168.2.1 192.168.1.1 2057 21 同步-确认 0 1 8192 0 1460

说明:Server1服务器收到Client1客户端的SYN报文后,发送一个SYN-ACK报文段作为响应。Seq=0是服务器的初始序列号,Ack=1是对客户端SYN报文中序列号加1的确认,Win=8192是窗口大小,Len=0表示没有数据负载,MSS=1460是最大报文段长

  • Step3:Client1客户端--->Server1服务器发送ACK(确认)
源IP 目的IP 源端口 目的端口 [ACK] Seq ACK Win Len
192.168.1.1 192.168.2.1 2057 21 确认 1 1 8192 0

说明:客户端收到服务器的SYN-ACK报文后,发送一个ACK报文段作为最终响应。Seq=1表示客户端的序列号从0增加到了1,Ack=1是对服务器SYN-ACK报文中序列号的确认,Win=8192是窗口大小,Len=0表示没有数据负载。





附录

TCP报文中关键术语字段

  1. SYN (Synchronize Sequence Numbers):
    • 功能:SYN是一个TCP控制位标志,当设置为1时,表示这是一个同步序列编号报文段,用于建立连接时同步双方的初始序列号。
  2. Seq (Sequence Number):
    • 功能:序列号用于标识TCP报文段中数据的第一个字节的编号。在连接建立时,SYN报文中的序列号是随机生成的,确保了TCP连接的每个字节流的唯一性。
  3. Win (Window Size):
    • 功能:窗口大小是一个TCP选项,用于流量控制。它告诉对方可以发送多少字节的数据而不需要等待确认。窗口大小是动态调整的,以控制数据传输的速率。
  4. Len (Length):
    • 功能:长度字段表示TCP报文段的长度,包括TCP头部和数据部分。如果报文中没有数据负载,长度可能为0。
  5. MSS (Maximum Segment Size):
    • 功能:最大报文段长度是一个TCP选项,用于通知对方在当前连接上能够接收的最大TCP报文段大小(不包括IP头部)。MSS通常设置为MTU(最大传输单元)减去必要的IP和TCP头部大小,以避免IP层的分片。
  6. ACK (Acknowledgment Number):
    • 功能:确认号是期望收到对方下一个TCP报文段的序列号。在SYN-ACK报文中,ACK标志被设置,并且确认号通常设置为接收到的SYN报文中序列号加1。
  7. FIN (Finish):
    • 功能:FIN是一个TCP控制位标志,用于关闭一个方向的连接。当设置为1时,表示发送方已经完成发送数据,并请求关闭连接。

你可能感兴趣的:(网络,tcp/ip,网络,网络协议)