提示:TCP建立连接和拆除连接过程是由TCP/IP协议栈自动完成的,不需要第三者的参与。
TCP三次握手
三次握手(Three-way Handshake),意为TCP连接需要Client和Server共发三个包,主要目的是连接服务器制定端口,建立可靠链路,并同步双方序列号和确认号以及交换TCP窗口大小信息。
第一次握手
客户端发送一个TCP的SYN标志位为1的包,指明客户端连接的服务里端口,以及初始序列号X,保存在包头的序列号(Sequnce Number)字段里
第二次握手
Server发送确认包(ACK)应答,即SYN标志位和ACK标志位均为1,确认序列号(AcknowledgementNumber)设置为Client的SN+1 X+1
第三次握手
Client发送确认包(ACK),SYN标志位为0,AKC标志位为1,确认序列号(AcknowledgementNumber)设置为Server的SN+1 Y+1 并在数据段X+1
TCP四次挥手
TCP的连接的拆除需要发送四个包,因此称为四次挥手(four-way handshake)。客户端或服务器均可主动发起挥手动作。