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

TCP连接的建立与关闭

2015-05-10 22:58 155 查看

TCP链接的建立与关闭

TCP作为一种面向连接的可靠性传输层协议,连接的建立与关闭需要一些额外工作:

TCP连接建立时的三次握手

握手双方分为主动打开端(调用connect系统调用)、被动打开端(bind系统调用后通过listen系统调用)。



第一次握手:

主动打开端会随机生成一个序号,并给被动打开端发送一个同步分节。

第二次握手:

被动打开端收到同步分节后将回复确认分节,并告诉本端希望下一个的分节序号,同时也随机生成一个序号发送一个同步分节给主动打开端。

第三次握手:

主动端回复被动端发送的同步分节,告诉下一个期望收到的分节序号。

为什么需要三次握手?

全双工,保证可靠性,通过握手协商出双端的初始分节序号,连接建立后两端完全对称,发送数据过程中依次给报文递增分配分节号,并且要求每个分节都得到对端的确认。

TCP连接关闭时的四次握手



主动关闭端调用系统调用close,等数据发送发送完毕将向被动关闭端发送FIN分节。此时被动关闭端将回复ACK,如果被动端收到FIN以后再调用read,将返回0,此时应该也调用close。

- TCP链接的状态机

TCP状态总共有11中状态,经过三次握手后TCP状态进入ESTABLISHED,其他的状态主要用于维护连接的建立与链接的关闭。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: