码迷,mamicode.com
首页 > 其他好文 > 详细

TCP连接的建立与终止

时间:2014-08-17 16:44:12      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:http   os   数据   .net   应用   sp   c   net   

一 TCP是一个面向连接的协议。通常由客户端向服务端发送数据前建立。

      连接的建立通过3次握手完成,客户端首先向服务端发送一个SYN,服务端响应一个SYN同时对客户端的SYN返回一个ACK,客户端再对服务端的SYN返回一个确认的ACK。至此一个TCP连接建立完毕。具体过程如下图所示:

bubuko.com,布布扣

从上图中我们可以看到在发送数据之前必须先通过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。

TCP连接的建立与终止,布布扣,bubuko.com

TCP连接的建立与终止

标签:http   os   数据   .net   应用   sp   c   net   

原文地址:http://www.cnblogs.com/nicganon/p/3917833.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!