TCP三次握手和四次挥手
三次握手和四次挥手 转载链接: https://blog.csdn.net/hyg0811/article/details/102366854 带着如下问题进行阅读,收获会更大。 请画出三次握手和四次挥手的示意图 1 为什么连接的时候是三次握手? 2 什么是半连接队列? 3 ISN(Initial Sequence Number)是固定的吗? 4 三次握手过程中可以携带数据吗? 5 如果第三次握手丢失了,客户端服务端会如何处理? 6 SYN攻击是什么? 7 挥手为什么需要四次? 8 四次挥手释放连接时,等待2MSL的意义 1. 三次握手 三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。实质上其实就是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号,交换TCP窗口大小信息。 刚开始客户端处于 Closed 的状态,服务端处于 Listen 状态。 进行三次握手: 第一次握手:客户端给服务端发一个 SYN 报文,并指明客户端的初始化序列号 ISN。此时客户端处于 SYN_SENT 状态。 首部的同步位SYN=1,初始序号seq=x,SYN=1的报文段不能携带数据,但要消耗掉一个序号。