`

TCP状态详解(转)

    博客分类:
  • TCP
 
阅读更多
CLOSED: 表示初始状态。
LISTEN: 表示服务器端的某个SOCKET处于监听状态,可以接受连接。
SYN_SENT:在服务端监听后,客户端SOCKET执行CONNECT连接时,客户端发送SYN报文,此时客户端就进入SYN_SENT状态,等待服务端的确认.
SYN_RCVD: 表示服务端接受到了SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,基本上用netstat你是很难看到这种状态的,除非你特意写了一个客户端测试程序,故意将三次TCP握手过程中最后一个ACK报文不予发送。因此这种状态时,当收到客户端的ACK报文后,它会进入到ESTABLISHED状态。
ESTABLISHED:表示连接已经建立了。
FIN_WAIT_1: 这个是已经建立连接之后,其中一方请求终止连接,等待对方的FIN报文。FIN_WAIT_1状态是当SOCKET在ESTABLISHED状态时,它想主动关闭连接,向对方发送了FIN报文,此时该SOCKET即进入到FIN_WAIT_1状态。而当对方回应ACK报文后,则进入到FIN_WAIT_2状态,当然在实际的正常情况下,无论对方何种情况下,都应该马上回应ACK报文,所以FIN_WAIT_1状态一般是比较难见到的,而FIN_WAIT_2状态还有时常常可以用netstat看到。
FIN_WAIT_2:实际上FIN_WAIT_2状态下的SOCKET,表示半连接,也即有一方要求close连接,但另外还告诉对方,我暂时还有点数据需要传送给你,稍后再关闭连接。
TIME_WAIT: 表示收到了对方的FIN报文,并发送出了ACK报文,就等2MSL后即可回到CLOSED可用状态了。如果FIN_WAIT_1状态下,收到了对方同时带FIN标志和ACK标志的报文时,可以直接进入到TIME_WAIT状态,而无须经过FIN_WAIT_2状态。
CLOSING: 这种状态比较特殊,实际情况中应该是很少见,属于一种比较罕见的例外状态。正常情况下,当你发送FIN报文后,按理来说是应该先收到(或同时收到)对方的ACK报文,再收到对方的FIN报文。但是CLOSING状态表示你发送FIN报文后,并没有收到对方的ACK报文,反而却也收到了对方的FIN报文。什么情况下会出现此种情况呢?其实细想一下,也不难得出结论:那就是如果双方几乎在同时close一个SOCKET的话,那么就出现了双方同时发送FIN报文的情况,也即会出现CLOSING状态,表示双方都正在关闭SOCKET连接。
CLOSE_WAIT: 这种状态的含义其实是表示在等待关闭。怎么理解呢?当对方close一个SOCKET后发送FIN报文给自己,你系统毫无疑问地会回应一个ACK报文给对方,此时则进入到CLOSE_WAIT状态。接下来呢,实际上你真正需要考虑的事情是察看你是否还有数据发送给对方,如果没有的话,那么你也就可以close这个SOCKET,发送FIN报文给对方,也即关闭连接。所以你在CLOSE_WAIT状态下,需要完成的事情是等待你去关闭连接。
LAST_ACK: 这个状态还是比较容易好理解的,它是被动关闭一方在发送FIN报文后,最后等待对方的ACK报文。当收到ACK报文后,也即可以进入到CLOSED可用状态了。
 

 

分享到:
评论

相关推荐

    tcp连接状态详解 描述了tcp协议常用的命令

    TCP 连接状态详解 TCP 连接状态是指在 TCP 协议中,连接的不同阶段所对应的状态。这些状态包括 LISTEN、SYN-SENT、SYN-RECEIVED、ESTABLISHED、FIN-WAIT-1、FIN-WAIT-2、CLOSE-WAIT、CLOSING、LAST-ACK、TIME-WAIT...

    TCP-IP详解(三卷全)

    《TCP/IP详解》是网络通信领域的一部经典之作,由W. Richard Stevens撰写,共分为三卷,全面而深入地探讨了TCP/IP协议族的各个方面。这套书籍是网络工程师、系统管理员以及对网络技术感兴趣的学者不可或缺的参考资料...

    tcp-ip详解卷1:协议.TCP-IP详解卷2:TCP-IP详解卷3:TCP事务协议,HTTP,NNTP和UNIX域协议

    《TCP/IP详解》系列是网络通信领域的经典之作,由W. Richard Stevens著,全面而深入地探讨了TCP/IP协议族的各个层面。本系列分为三卷,每卷都包含了丰富的技术知识,对于理解网络通信机制及其应用至关重要。 卷1:...

    TCP-IP详解(卷一、二、三)超清pdf电子版

    深入TCP/IP实现细节,TCP连接的建立和拆除过程中“三次握手”和“四次挥手”的机制保证了通信双方的状态同步和数据的完整传输。拥塞控制算法如慢启动、拥塞避免等策略,则是防止网络过载和保障通信质量的重要手段。...

    TCP-IP详解卷[1,2,3]卷.完整版.中文版.pdf

    《TCP/IP详解》是计算机网络领域的一本经典著作,由W. Richard Stevens撰写,全面而深入地探讨了TCP/IP协议族的各个方面。该书分为三卷,分别涵盖了网络接口层、互联层和传输层,以及应用层的重要概念和技术。这里...

    TCP状态机详细描述

    ### TCP状态机详解 #### 一、引言 TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。本文旨在深入解析TCP状态机的工作原理及其背后的逻辑,以便读者能够更好地理解和...

    详解10种TCP连接状态详解.zip

    详解10种TCP连接状态详解.zip LISTEN服务器在等待进入呼叫 CLOSED无连接是活动的或正在进行 SYN_SENT应用已经开始,打开一个连接 ESTABLISHED 表示正常数据传输状态 ...

    TCP状态转换图详解.pdf

    TCP状态转换图详解.pdf

    TCP有限状态机

    ### TCP有限状态机详解 #### 一、引言 TCP(传输控制协议)是一种面向连接的、可靠...了解TCP状态机对于理解TCP协议的工作原理至关重要,尤其对于网络工程师而言,掌握这些基础知识对于解决实际网络问题非常有帮助。

    TCP-IP详解卷三

    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 请求或应答超出报文段最大长度MSS ...

    modbus_tcp_详解

    ### MODBUS TCP详解 #### 开放型MODBUS-TCP规范概览 MODBUS TCP是一种将传统的MODBUS协议与TCP/IP网络结合的通信标准,旨在提供一种高效、可靠且易于实施的自动化设备通信方式。该规范最初由施耐德电气公司的Andy ...

    TCP/IP协议详解全三卷 下载

    《TCP/IP协议详解》这套书籍分为三卷,详细地介绍了TCP/IP协议的各个方面。第一卷《TCP/IP协议》主要关注协议层面,包括网络接口层(如以太网)、互联网层(IP协议、ICMP、ARP/RARP)和传输层(TCP、UDP),以及它们...

    TCP/IP详解 卷1完整版

    非扫描版TCP/IP详解卷一,你值得拥有: 《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序...

    TCP/IP详解(卷一)

    7. **TCP状态机**:详细展示了TCP连接在不同阶段的状态转换,包括CLOSED、LISTEN、SYN_SENT、SYN_RCVD、ESTABLISHED、FIN_WAIT_1、FIN_WAIT_2、CLOSE_WAIT、CLOSING、LAST_ACK和TIME_WAIT等状态。 8. **UDP的应用**...

    tcp协议详解及其规范

    TCP在实际应用中可能遇到各种问题,如延迟开窗(Slow Start)、TCP中间宿主机问题、TIME_WAIT状态等,这些问题都需要通过理解和优化TCP机制来解决。 综上所述,TCP协议的详解涵盖了连接建立、数据传输、可靠性保障...

    TCP/IP详解 卷1:协议--源代码

    该资料是《TCP/IP详解 卷1:协议》的源代码 对应的书籍资料见: TCP/IP详解 卷1:协议(09年度畅销榜TOP50)(08年度畅销榜TOP50) http://download.csdn.net/detail/fksec/4657587 基本信息 原书名: TCP/IP ...

    tcp ip 详解第三卷

    《TCP/IP详解第三卷》是深入理解TCP协议及其相关应用的重要教材,对于网络通信和互联网技术的从业者或学习者来说,具有极高的参考价值。本书主要涵盖了TCP事务协议、HTTP、NNTP以及UNIX域协议等内容,以下是这些知识...

Global site tag (gtag.js) - Google Analytics