星空网 > 软件开发 > 操作系统

TCP的三次握手

第一次握手

客户端调用connect,向服务端发送连接请求报文。该报文是一个特殊报文,报文首部同步位SYN=1,同时确认位ACK=0,seq=x表示确认字段的值为x,该字段值由客户端选择,表示客户端向服务端发送数据的第一个字节编号为x+1。连接报文发送后,客户端的TCP连接状态由CLOSED转为SYN_SENT。

服务端调用accept,从lisent的连接请求队列中取出一个连接请求,并为之创建套接字和分配资源,开始建立连接。服务端的TCP连接状态由LISENT转为SYN_RCVD。

TCP的三次握手images/loading.gif' data-original="http://images2015.cnblogs.com/blog/922521/201604/922521-20160403221639832-1660045017.png" width="536" height="578">

第二次握手

服务端为连接分配资源,同意连接,向客户端发送SYN=1的确认报文。ACK=1表示确认号字段ack的值有效,ack=x+1表示希望收到第一个字节编号为x+1的若干数据,seq=y表示服务端向客户端发送数据的起始字节编号为y+1。客户端收到确认,TCP连接状态由SYN_SENT转为ESTABLISHED。

第三次握手

客户端TCP连接状态转为ESTABLISHED,立即向服务器发送确认报文,connect函数返回,连接建立成功。

服务端收到客户端的确认报文,TCP连接状态由SYN_RCVD转为ESTABLISHED,accept函数返回。

至此一个连接的三次握手结束,连接建立,客户端可以和服务端进行可靠通信。




原标题:TCP的三次握手

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

国内怎么开户买卖美国股票:https://www.goluckyvip.com/tag/56223.html
iPhone新品:https://www.goluckyvip.com/tag/5623.html
listing编辑:https://www.goluckyvip.com/tag/5624.html
产品模板下载:https://www.goluckyvip.com/tag/5625.html
提升产品排名:https://www.goluckyvip.com/tag/5626.html
英国的标志性建筑物是什么:https://www.goluckyvip.com/tag/56260.html
三百元以内千兆路由器怎么选择?:https://www.vstour.cn/a/363184.html
千岛湖绿城度假酒店的简介:https://www.vstour.cn/a/363185.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流