首页 > 代码库 > TCP/IP三次握手详细过程

TCP/IP三次握手详细过程

TCP/IP三次握手详细过程


wKiom1RN-WPTtq_JAAE4KNKt7Ug876.jpg



次握手名词定义:

ACK :TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1


SYN(SYNchronization) :连接建立时用来同步序号,SYN=1ACK=0,表明这是一个连接请求报文,对方若同意建立连接,应在响应报文中使SYN=1ACK=1. 因此,  SYN1就表示这是一个连接请求或连接接受报文。


Seq:序号,4字节,范围为0^32—1^32,4284967296,达到时重新开始计算


次握手过程:

1,客户端向服务器发送请求连接,报文中包含SYN=1ACK=0seq=xACK=0

2,服务器收到用户请求并同意建立连接,随后回复客户端SYN=1,ACK=1,seq=y,ack=x+1ACK=1表示是响应报文,seq=y是产生服务器的包序号,ack=x+1是确认客户端序号有效


3,客户端收到服务器的确认信息,并回复服ACK=1,seq=x+1,ack=y+1,确认序列号为ack=y+1即在服务器序列号y基础上+1seq=x是将服务器发送的确认号当做 自己的seq序号,以确认服务器的确认号有效,这样客户端的请求和验证即告完成,服务器收到客户端第三次的请求后验证没有问题,随建立连接,并开始打开端口为客户端发送数据。


SYN(synchronous建立联机)             ACK(acknowledgement 确认)

PSH(push传送)                                    FIN(finish结束)

RST(reset重置)                                     URG(urgent紧急)                      

Sequence number(顺序号码)           Acknowledge number(确认号码)




本文出自 “Linux 学习” 博客,请务必保留此出处http://zhangshijie.blog.51cto.com/806066/1568487

TCP/IP三次握手详细过程