`
Mysun
  • 浏览: 273891 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

TCP的状态变迁

 
阅读更多

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状态变迁图及其各个状态之间的转换。 1. **CLOSED**: 这是TCP连接的初始状态,表示连接未建立,没有活动的数据传输。 2. **LISTEN**: 当一个服务器端进程准备接收客户端连接请求时,它会进入...

    详解TCP协议建立连接全过程状态变迁图.doc

    TCP状态变迁图中还包括其他状态,例如: 1. CLOSED:初始状态,表示连接关闭。 2. LISTEN:服务器端等待客户端连接请求的状态。 3. FIN_WAIT_1:当一方主动关闭连接时,会先发送FIN,然后进入此状态,等待对方的ACK...

    TCP的状态变迁图

    TCP的状态变迁图,用于了解TCP原理。

    剖析TCP连接的状态变迁图

    TCP连接的状态变迁图是理解TCP工作原理的关键,它有助于排查和解决网络或系统故障。 TCP连接的建立通常通过三次握手完成: 1. 客户端发送带有SYN标志的TCP报文,请求建立连接。 2. 服务器响应,返回一个SYN+ACK报文...

    TCP 的状态变迁图

    TCP的状态变迁图.jpg 描述的非常详细

    Socket状态变迁图

    Socket编程是网络编程中的核心部分,它为应用程序提供了一种在网络间进行通信的接口。在进行Socket编程时,理解Socket的状态...同时,开发者还需要了解TCP的三次握手和四次挥手过程,这些都是Socket状态变迁的基础。

    tcp变迁详细流走向程图

    描述tcp变迁详细流程图,希望能够帮助用到的人,大家要支持哦

    TCP/IP状态迁移图

    - 超时:一些状态的变迁是因为超时事件的发生。 由于文档扫描时出现了一些文字识别错误,但基于上下文信息,可以合理推断出以下含义: - 在SYN-RECEIVED状态,服务器接收到了一个连接请求并发送了一个确认响应。 -...

    TCP IP 三次握手及状态变迁图

    标题:“TCP IP 三次握手及状态变迁图” 描述:“介绍TCP IP连接时的三次握手和断开时的四次挥手” ### TCP/IP三次握手详解 TCP/IP协议是互联网的基础,其核心之一是TCP(传输控制协议),一种面向连接、可靠的...

    TCP建链拆链状态图

    TCP的状态变迁图 主要是建链拆链,同时建链拆链各种情况

    (2021-2022年)专题资料完美版高级服务器设计和实现1--基础与进阶.ppt

    2. **TCP状态变迁与Socket API**: TCP连接经历了如SYN_SENT、SYN_RCVD、ESTABLISHED、FIN_WAIT_1、FIN_WAIT_2、CLOSE_WAIT、CLOSING、LAST_ACK、TIME_WAIT等不同状态,这些状态对应着socket API的不同操作。 3. *...

    socket状态变迁图

    详细介绍tcp连接过程的3次握手,还有tcp关闭的4次握手,过程很详细,能帮助想要了解tcp的

    EC20状态机代码TCP传GPS数据 _CAN通讯

    每个状态对应一组特定的操作,通过状态转换函数来控制状态的变迁。 TCP连接建立时,我们需要配置EC20的AT命令集,设置APN、用户名、密码,以及TCP客户端或服务器模式。例如,`AT+CGDCONT`用于设置PDP上下文,`AT+...

    TCP协议实验1

    TCP协议的复杂性体现在其状态维护和变迁上,而TCP连接的状态通过传输控制块(TCB)来管理和控制。 **TCP中序号的处理方式**: TCP协议使用序列号来确保数据包的顺序。每个TCP段都有一个序列号,标识了数据段在发送方...

    TCP/IP详解 卷3:TCP事务协议、HTTP、NNTP和UNIX域协议

    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 向后...

    TCP-IP详解卷三

    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 请求或应答超出...

    TCP协议及工作原理浅析

    通过对TCP协议的工作原理及其运行机制的研究,我们可以了解到TCP是如何通过三次握手和四次挥手来确保数据的可靠传输,以及TCP连接的各种状态变迁。这对于理解网络通信的底层机制以及进行网络编程有着至关重要的作用...

    TCP-IP详解卷三:TCP事务协议,HTTP,NNTP和UNIX域协议——高清文字(china-pub经典系列)

    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 请求或应答超出...

    轻松跟我学 图说TCP-TP技术

    通过图示学习TCP/IP,可以使抽象的网络概念变得更加形象,例如,可以使用流程图展示TCP连接的建立与释放过程,用拓扑图表示网络结构,用状态机描绘TCP连接的状态变迁,用数据包结构图解释IP头部和TCP头部的各个字段...

Global site tag (gtag.js) - Google Analytics