青海省住房和建设门户网站,北京做网站的工作室,网站免费的,知名个人网站三次握手
第一次握手#xff1a;
客户端发出 请求报文其中SYN应1#xff0c;选择一个序列号x
第二次握手#xff1a;
服务端接收到之后回复 确认报文#xff0c;其中SYN应1#xff0c;ACK1#xff0c;确认号是x1#xff0c;同时为自己初始化序列号y
第三次握手
客户端发出 请求报文其中SYN应1选择一个序列号x
第二次握手
服务端接收到之后回复 确认报文其中SYN应1ACK1确认号是x1同时为自己初始化序列号y
第三次握手
客户端收到请求之后给出 确认报文ACK1,acky1,自己的序列号x1
为什么要进行三次握手呢
简单来说就是通过三次握手可以证明客户端和服务端的收发能力均正常
第一次握手证明客户端发送能力正常
第二次握手证明服务器的接收能力和发送能力正常
第三次握手证明客户端接收能力正常
四次挥手 第一次挥手
客户端发出 释放报文释放数据报文首部FIN1其序列号为seqx
第二次挥手
服务器端接收到连接释放报文后发出确认报文ACK1ackx1并且带上自己的序列号seqy
第三次挥手
客户端接收到服务器端的确认请求后服务器将最后的数据发送完毕后就向客户端发送连接释放报文FIN1,发送序列码w,企ackx1
第四次挥手
客户端收到服务器的连接释放报文后必须发出确认ACK1ackw1而自己的序列号是seqx1经过2MSL后最长报文寿命客户端进入CLOSED关闭状态服务器端接收到确认报文后会立即进入CLOSED关闭状态到这里TCP连接就断开了四次挥手完成 等待2MSL的意义是防止新连接上不会出现旧的连接请求报文