TCP的三次握手与四次挥手一、TCP(Transmission Control Protocol 传输控制协议)
二、TCP报文段(封装在IP数据报中)
1、端口号 三、TCP三次握手(通过wireshark抓包分析)
PC1为真机,PC2为虚拟机CentOS,PC1与PC2绑定在同一块虚拟网卡VNet8上,PC1IP地址为192.168.90.10,PC2IP地址为192.168.90.40。提前在CentOS上搭建号网站,PC1访问PC2,然后通过抓包工具进行TCP的抓报,如下所示: 1、第一次握手
如上图,通过抓包工具抓包发现,源地址(source)为192.168.90.10,源端口号(source port)为55604,目的地址(destination)为192.168.168.90.40,目的端口号(destination port)为80。初始序列号(sequence number)和确认序列号(acknowledgment number)都为0。第一次握手PC1使用一个随机端口号向PC2的80端口发送建立连接的请求,此过程最典型的表示就是TCP的SYN控制位为1,其他五个控制位全为0。 2、第二次握手
如上图,第二次握手,源地址以及端口号和目的地址和端口与第一次握手相反,初始序列号为0,确认序列号为1,并且控制位中的ACK和SYN都为1。第二次握手实际上分两部分完成: 3、第三次握手
如图,源地址以及端口号和目的地址以及端口号与第一次握手相同,其中初始序列号即为第二次握手的确认序列号1,确认序列号即为第二次握手的初始序列号加1。PC1收到PC2的回复(包含请求和确认),也要向PC2回复一个确认信息,此过程最典型的标志就是TCP的ACK控制位为1,其他五个控制位为0,而且确认序列号是PC2的初始序列号加1。这样完成了三次握手,在PC1和PC2之间建立了TCP连接。 四、TCP连接终止的四次挥手
此时PC1为CentOS,对应的IP地址为192.168.90.40,PC2为真机,应该的IP地址为192.168.90.10,通过抓包来分析他断开连接的过程,如下所示: 1、第一次挥手
PC1(服务器)向PC2客户端发送FIN和ACK位为1的TCP报文段。 2、第二次挥手
PC2客户端向PC1服务器返回ACK位为1的TCP报文段。 3、第三次挥手
PC2客户端向PC1服务器发送FIN和ACK位为1的TCP报文段。 4、第四次挥手
PC1服务器向PC2客户端返回ACK位为1的TCP报文段,完成终止连接。
5、TCP四次挥手的半关闭概念(TCP一方终止发数据但可以接收) (责任编辑:IT) |