首页 > 代码库 > TCP连接的建立与终止
TCP连接的建立与终止
一 TCP是一个面向连接的协议。通常由客户端向服务端发送数据前建立。
连接的建立通过3次握手完成,客户端首先向服务端发送一个SYN,服务端响应一个SYN同时对客户端的SYN返回一个ACK,客户端再对服务端的SYN返回一个确认的ACK。至此一个TCP连接建立完毕。具体过程如下图所示:
从上图中我们可以看到在发送数据之前必须先通过3次握手来建立连接。之后可以正常的发送数据。在发送完数据之后需要通过4次握手来关闭一个TCP连接。客户端向服务端发送一个FIN表明没有数据再向服务端发送了(注意这个时候服务端还是可以向客户端发送数据的)同时进入FIN-WAIT-1状态。服务端对客户端的FIN返回一个ACK进行确认,进入CLOSE-WAIT状态。客户端收到次ACK后进入到FIN-WAIT-2状态。服务端的TCP连接会向应用层报告客户端已经没有数据发送了,再将自己剩余的数据发送给客户端之后也向客户端发送一个FIN,同时进入LAST-ACK状态。客户端收到服务端的FIN并发送次FIN的ACK之后进入TIME-WAIT状态,一般持续2MSL。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。