您的位置:首页 > 理论基础 > 计算机网络

TCP/IP三次握手

2018-03-09 15:04 218 查看
三次握手服务器端的accept才会返回。

一般情况下服务器端在调用完socket,bind和listen后会调用accept并阻塞等待客户端发起连接l  第一次握手:客户端调用connect时,触发了连接请求,源主机发送一个同步标志位(SYN)置1的TCP数据段。此段中同时标明初始序号(Initial Sequence Number,ISN),假设ISN为J。向服务器发送了SYN(ISN=J)包,这时connect进入阻塞状态,等待服务器确认。l  第二次握手:服务器监听到连接请求,即收到SYN(ISN=J)包,目标主机发回确认数据段,此段中确认标志位(ACK)置1,确认序号字段(acknowledgement number)+1(即表明前一个数据段已收到并且没有错误)。同时同步标志位(SYN)同样被置1,而且标明初始序号ISN为K,开始第二次握手。该阶段发生在accept函数内,该函数接收请求向客户端发送确认ACK(ISN=J+1),同时发送一个SYN包(ISN=K),即SYN+ACK包,然后等待客户端确认。l  第三次握手:客户端收到服务器的SYN(ISN=K) ,ACK(ISN=J+1)之后,即对SYN(ISN=K)进行确认,发送ACK(ISN=K+1);服务器收到ACK(ISN=K+1)时,至此三次握手完毕,连接建立。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: