`
hooray520
  • 浏览: 113980 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

TCP状态变迁

 
阅读更多
连接建立:连接建立分要经过三次握手过程:
引用

1)客户端发送一个SYN段到指明客户打算连接的服务器的端口,报文段中要设置客户端初始序号。
2)服务器发回包含服务器的初始序号的SYN报文段作为应答。同时,将确认序号设置为客户的初始序号加1,并设置ACK位标志报文段为确认报文段。
3)客户端必须将确认序号设置为服务器初始序号加1,对服务器的SYN报文段进行确认。


关闭连接:
引用

当客户端请求关闭连接时,客户端发送一个FIN包后,客户端就进入FIN_WAIT_1状态,等待对方的确认包,
服务器发送一个ACK包给客户,客户端收到ACK包后结束FIN_WAIT_1状态,进入FIN_WAIT_2状态,等待服务器发过来的关闭请求,
服务器发一个FIN包后,进入CLOSE_WAIT状态,
当客户端收到服务器的FIN包,FIN_WAIT_2状态就结束,然后给服务器端的FIN包给以一个确认包,客户端这时进入TIME_WAIT,
当服务器收到确认包后,CLOSE_WAIT状态结束了,
这时候服务器端真正的关闭了连接.但是客户端还在TIME_WAIT状态下,


引用

什么时候结束呢.我在这里再讲到一个新名词:2MSL等待状态,其实TIME_WAIT就是2MSL等待状态,
为什么要设置这个状态,原因是有足够的时间让ACK包到达服务器端,如果服务器端没收到ACK包,超时了,然后重新发一个FIN包,直到服务器收到ACK 包.

TIME_WAIT状态等待时间是在TCP重新启动后不连接任何请求的两倍.
大家有没有发现一个问题:如果对方在第三次握手的时候出问题,如发FIN包的时候,不知道什么原因丢了这个包,然而这边一直处在FIN_WAIT_2状 态,而且TCP/IP并没有设置这个状态的过期时间,那他一直会保留这个状态下去,越来越多的FIN_WAIT_2状态会导致系统崩溃.






状态:描述
  • CLOSED:无连接是活动的或正在进行
  • LISTEN:服务器在等待进入呼叫
  • SYN_RECV:一个连接请求已经到达,等待确认
  • SYN_SENT:应用已经开始,打开一个连接
  • ESTABLISHED:正常数据传输状态
  • FIN_WAIT1:应用说它已经完成
  • FIN_WAIT2:另一边已同意释放
  • ITMED_WAIT:等待所有分组死掉
  • CLOSING:两边同时尝试关闭
  • TIME_WAIT:另一边已初始化一个释放
  • LAST_ACK:等待所有分组死掉
  • 描述: TCP状态变迁图
  • 大小: 33.5 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