TCP的三次握手
服务端---->syn----->客户端
客户端---->syn/ack----->服务端
服务端---->ack----->客户端
为什么要三次握手?
三次握⼿的⽬的是建⽴可靠的通信信道,说到通讯,简单来说就是数据的发送与接收,⽽三次握⼿最主要的⽬的就是双⽅确认⾃⼰与对⽅的发送与接收是正常的。
第一次握手,服务端什么都确认不了,客户端确认到服务端发送正常,自己接收正常。
第二次握手,服务端确认自己发送正常,自己接收正常,客户端发送正常,客户端接收正常,客户端确认到服务端发送正常,自己接收正常。
第三次握手,双发均确定发送接受正常。
TCP的四次挥手
客户端-发送⼀个 FIN,⽤来关闭客户端到服务器的数据传送
服务器-收到这个 FIN,它发回⼀ 个 ACK,确认序号为收到的序号加1 。和 SYN ⼀样,⼀个FIN 将占⽤⼀个序号
服务器-关闭与客户端的连接,发送⼀个FIN给客户端
客户端-发回 ACK 报⽂确认,并将确认序号设置为收到序号加1
为什么要四次挥手
任何⼀⽅都可以在数据传送结束后发出连接释放的通知,待对⽅确认后进⼊半关闭状态。当另⼀⽅也没有数据再发送的时候,则发出连接释放通知,对⽅确认后就完全关闭了TCP连接。