tcp三次握手

tcp三次握手

tcp有六种标示:SYN(建立连接), ACK(确认), PSH(传送), FIN(结束), RST(重置), URG(紧急)

tcp三次握手.png
一、第一次握手

客户端向服务器发出连接请求报文,这时报文首部中的同步位SYN=1,同时随机生成初始序列号seq=x,此时,tcp客户端进程进入了SYN-SENT(同步已发送状态)状态。TCP规定,SYN报文段(STYN=1的报文段)不能携带数据,但需要消耗一个序列号。这个三次握手的开始,表示客户端想要和服务端建立连接。

第二次握手

TCP服务器收到请求以后,如果同意连接,则发出确认报文。确认报文中应该 ACK=1,SYN=1,确认号是ack=x+1,同时也要为自己随机初始化一个序列号 seq=y,此时,TCP服务器进程进入了SYN-RCVD(同步收到)状态。这个报文也不能携带数据,但是同样要消耗一个序号。这个报文带有SYN(建立连接)和ACK(确认标志),询问客户端是否准备好。

第三次握手

TCP客户端进程收到确认后,还要向服务器给出确认。确认报文的ACK=1,ack=y+1, 此时,TCP连接建立,客户端进入ESTABLISHED(已建立连接)状态。

TCP规定,ACK报文段可以携带数据,但是如果不携带数据则不消耗序号,这里客户端表示我已经准备好。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容