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

TCP/IP 协议的三次握手和四次挥手

2016-06-20 17:10 615 查看
TCP/IP协议的三次握手和四次挥手:
        三次握手:



                三次握手是指建立TCP连接的过程,也就是说建立连接的过程需要Client和Server一共发送三个包进行确认连接。一般出现在socket编程中。

        1)1th step(第一次握手):client将标志位SYN=1并随机产生一个seq=?,将该数据包发送给server,同时client进入SYN_SENT状态,等待Server确认。

        2):server收到数据包后,由SYN=1知道了client想要建立连接,server将标志位SYN和应答码ACK=1,将ack=seq+1(注意和ACK不一样),随机产生一个seq=?,将>此数据包发送给client以确认连接请求!(注意是确认请求),然后server进入SYN_RCVD状态

        3):client收到server的确认数据包后,检查ack是否时seq(之前client发送的)+1,ACK是否为1.如果都正确,将ACK=1,ack=seq(server发送的)+1,将此数据

包发送给server,server检查ack是否是seq+1,ACK是否为1.若确认则建立连接

        四次挥手(全双工):



                四次挥手也就是断开TCP连接。需要client和server共发送4个数据包确认断开。通常也出现在socket编程中。

        1)第一次挥手:client发送一个FIN,告诉server断开两者之间的连接,随后client进入FIN_WAIT_1状态

        2)第二次挥手:server接受到FIN之后,发送一个ACK给Client。告诉Client确认收到序号+1(
4000
与SYN相同,一个FIN占用一个序号),server进入CLOSE_WAIT>状态。

        3)第三次挥手:server发送一个FIN,用来关闭server与client的连接,server进入LAST_ACK状态。

        4)第四次挥手:client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK 给server ,确认序号为收到序号+1,server进入CLOSED状态,完成断开。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: