TCP的状态变迁图,做个记录,以待查阅。
这个图中所说的服务器和客户其实是相对来说的,也就是说TCP的两端都既可以是服务器也可以是客户端,图中所说的只不过是作为服务器和客户端的时候正常的状态变迁。一端如果主动发起了一个动作,那么这一端就可以被理解为服务器,另外一端就被理解为客户端。
两个导致进入ESTABLISHED状态的变迁对应打开一个连接,两个导致从ESTABLISHED状态离开的变迁对应关闭一个连接。ESTABLISHED状态时连接双方能够进行双向数据传递的状态。(TCP是全双工的)CLOSE状态不是一个真正的状态,而是这个状态图的假想的起始点和终点。
从LISTEN到SYN_SENT的变迁是正确的,但是有一些TCP的实现却并不支持这种状态的变迁(例如伯克利版本的TCP实现)。
只有当SYN_RCVD状态时从LISTEN状态(正常情况)进入,而不是从SYN_SENT状态(同时打开)进入时,从SYN_RCVD回到LISTEN的状态变迁才是合法的。这意味着如果我们执行被动打开(进入LISTEN),收到一个SYN,发送一个带ACK的SYN(进入SYN_RCVD),然后收到的是一个RST(复位报文段),而不是一个ACK,便又会回到LISTEN状态并等待一个另一个连接请求的到来。
TIME_WAIT状态也称为2MSL等待状态。每个具体的TCP实现必须选择一个报文段最大生存时间MSL(max segment lifetime)。它是任何报文段被丢弃前在网络中的最长时间。我们知道这个时间是有限的,因为TCP报文段以IP数据报在网络内传输,而IP数据报则有限制其生存时间的TTL字段。
对于一个具体实现所给定的MSL值,处理原则是:当TCP执行一个主动关闭,并发回最后一个ACK,该连接必须在TIME_WAIT状态停留的时间为2倍的MSL。这样做是为了防止对收到的FIN作出应答的ACK由于某种原因没有到达接收端,等待这个时间可以保证能够接收到另一端超时重发的FIN。如果在这段时间内收到了另一端超时重发的FIN,那么就会重新新发送一个ACK作为应答。
- 大小: 146 KB
分享到:
相关推荐
TCP状态变迁图 TCP状态变迁图-描述各个状态之间变迁
TCP的状态变迁图,用于了解TCP原理。
TCP的状态变迁图.jpg 描述的非常详细
TransmissionControlProtocol/InternetProtocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。...
详解TCP协议建立连接全过程状态变迁图.doc 详解TCP协议建立连接全过程状态变迁图.doc
描述tcp变迁详细流程图,希望能够帮助用到的人,大家要支持哦
TCP的状态变迁图 主要是建链拆链,同时建链拆链各种情况
介绍TCP IP连接时的三次握手和断开时的四次挥手
详细介绍tcp连接过程的3次握手,还有tcp关闭的4次握手,过程很详细,能帮助想要了解tcp的
2.4 状态变迁图 27 2.5 T/TCP的扩展状态 28 2.6 小结 30 第3章 T/TCP使用举例 31 3.1 概述 31 3.2 客户重新启动 31 3.3 常规的T/TCP事务 33 3.4 服务器收到过时的重复SYN 34 3.5 服务器重启动 35 3.6 请求或应答超出...
2.4 状态变迁图 2.5 T/TCP的扩展状态 2.6 小结 第3章 T/TCP使用举例 3.1 概述 3.2 客户重新启动 3.3 常规的T/TCP事务 3.4 服务器收到过时的重复SYN 3.5 服务器重启动 3.6 请求或应答超出报文段最大长度MSS 3.7 向后...
2.4 状态变迁图 27 2.5 T/TCP的扩展状态 28 2.6 小结 30 第3章 T/TCP使用举例 31 3.1 概述 31 3.2 客户重新启动 31 3.3 常规的T/TCP事务 33 3.4 服务器收到过时的重复SYN 34 3.5 服务器重启动 35 3.6 请求或应答超出...
2.4 状态变迁图 27 2.5 T/TCP的扩展状态 28 2.6 小结 30 第3章 T/TCP使用举例 31 3.1 概述 31 3.2 客户重新启动 31 3.3 常规的T/TCP事务 33 3.4 服务器收到过时的重复SYN 34 3.5 服务器重启动 35 3.6 请求或应答超出...
2.4 状态变迁图 27 2.5 T/TCP的扩展状态 28 2.6 小结 30 第3章 T/TCP使用举例 31 3.1 概述 31 3.2 客户重新启动 31 3.3 常规的T/TCP事务 33 3.4 服务器收到过时的重复SYN 34 3.5 服务器重启动 35 3.6 请求或应答超出...
18.6 TCP的状态变迁图 182 18.6.1 2MSL等待状态 183 18.6.2 平静时间的概念 186 18.6.3 FIN_WAIT_2状态 186 18.7 复位报文段 186 18.7.1 到不存在的端口的连接请求 187 18.7.2 异常终止一个连接 187 18.7.3 检测半...
2.4 状态变迁图 27 2.5 T/TCP的扩展状态 28 2.6 小结 30 第3章 T/TCP使用举例 31 3.1 概述 31 3.2 客户重新启动 31 3.3 常规的T/TCP事务 33 3.4 服务器收到过时的重复SYN 34 3.5 服务器重启动 35 3.6 请求或应答超出...
18.6 TCP的状态变迁图 182 18.6.1 2MSL等待状态 183 18.6.2 平静时间的概念 186 18.6.3 FIN_WAIT_2状态 186 18.7 复位报文段 186 18.7.1 到不存在的端口的连接请求 187 18.7.2 异常终止一个连接 187 18.7.3 检测半...
2.4 状态变迁图 27 2.5 T/TCP的扩展状态 28 2.6 小结 30 第3章 T/TCP使用举例 31 3.1 概述 31 3.2 客户重新启动 31 3.3 常规的T/TCP事务 33 3.4 服务器收到过时的重复SYN 34 3.5 服务器重启动 35 3.6 请求或应答超出...
2.4 状态变迁图 27 2.5 T/TCP的扩展状态 28 2.6 小结 30 第3章 T/TCP使用举例 31 3.1 概述 31 3.2 客户重新启动 31 3.3 常规的T/TCP事务 33 3.4 服务器收到过时的重复SYN 34 3.5 服务器重启动 35 3.6 请求或应答超出...