1. TCP的通信过程
TCP连接的建立需要经过三次握手,连接的关闭需要经过四次挥手。读TCP/IP协议不是很好理解,通过工具手动抓包分析会对协议有更深刻的理解。因为工作中经常用到wireshark,所以就通过wireshark来分析,记录自己的学习过程。
TCP的整个通信过程如下图所示:
2. TCP的三次握手过程
下图是wireshark抓取的浏览器与web服务器之间的TCP通信过程,Filter是过滤框,图中是过滤的源IP和目的IP为1.192.194.198与客户端的通信。
(1)SYN 同步序列号,用来发起一个TCP连接,会携带一个随机序号seq=i,报文中的Flags值SYN=1,SYN=1的报文段不能携带数据,但是会消耗掉一个序号。此时客户端进入到SYN-SEND状态。
(2)服务器收到SYN之后,如果同意此次连接的建立会回复一个ACK,确认号ack=i+1,同时会选取一个序列号seq=j,报文中的Flags值SYN=1,ACK=1,此时服务器进入到SYN-RCVD状态。