三次握手四次挥手

1.知识点

TCP/IP协议  是全双工的(发送数据的同时也能够接收数据,两者同步进行。半双工:一个时间段内只有一个动作发生,如早期的对讲机就是半双工产品),因此每个方向都必须单独进行关闭。

三次握手    (同步连接双方的序列号和确认号并交换 TCP 窗口大小信息)

    第一次握手:建立连接时,     客户端发送syn包(syn=j)到服务器,         并进入SYN_SENT状态,等待服务器确认;

    第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也        发送一个SYN包(syn=k),即SYN+ACK包,       此时服务器进入SYN_RECV状态;

    第三次握手:客户端收到服务器的SYN+ACK包,        向服务器发送确认包ACK(ack=k+1),       此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

四次挥手    

(1) TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送。(中断连接端可以是Client端,也可以是Server端。)
(2) 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。(当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,"你发的FIN报文我收到了"。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手)
(3) 服务器关闭客户端的连接,发送一个FIN给客户端
(4) 客户端发回ACK报文确认,并将确认序号设置为收到序号加1。(等待了2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,我Client端也可以关闭连接了。Ok,TCP连接就这样关闭了!)

2.链接

计算机网络基础知识总结

简述TCP三次握手和四次挥手过程

TCP的三次握手与四次挥手(详解+动图)

TCP的三次握手与四次挥手理解及面试题(很全面)

3.相关文章

TTFB

 

posted @ 2018-10-19 17:40  justSmile2  阅读(144)  评论(0编辑  收藏  举报