TCP 的有限状态机
来源:互联网 发布:杭州市网络图书馆 编辑:程序博客网 时间:2024/05/08 16:50
TCP协议的操作可以使用一个具有11种状态的有限状态机(FiniteState Machine)来表示,图1描述了TCP的有限状态机,图中的圆角矩形表示状态,箭头表示状态之间的转换,各状态的描述如表1所示。图中用粗线表示客户端主动和被动的服务器端建立连接的正常过程:客户端的状态变迁用红色粗实线,服务器端的状态变迁用蓝色粗虚线。细线用于不常见的序列,如复位、同时打开、同时关闭等。图中的每条状态变换线上均标有“事件/动作”:事件是指用户执行了系统调用(CONNECT、LISTEN、SEND或CLOSE)、收到一个报文段(SYN、FIN、ACK或RST)、或者是出现了超过两倍最大的分组生命期的情况;动作是指发送一个报文段(SYN、FIN或ACK)或什么也没有(用“-”表示)。每个连接均开始于CLOSED状态。当一方执行了被动的连接原语(LISTEN)或主动的连接原语(CONNECT)时,它便会脱离CLOSED状态。如果此时另一方执行了相对应的连接原语,连接便建立了,并且状态变为ESTABLISHED。任何一方均可以首先请求释放连接,当连接被释放后,状态又回到了CLOSED。
表1TCP状态表
状 态
描 述
CLOSED
关闭状态,没有连接活动或正在进行
LISTEN
监听状态,服务器正在等待连接进入
SYNRCVD
收到一个连接请求,尚未确认
SYNSENT
已经发出连接请求,等待确认
ESTABLISHED
连接建立,正常数据传输状态
FINWAIT 1
(主动关闭)已经发送关闭请求,等待确认
FINWAIT 2
(主动关闭)收到对方关闭确认,等待对方关闭请求
TIMEDWAIT
完成双向关闭,等待所有分组死掉
CLOSING
双方同时尝试关闭,等待对方确认
CLOSEWAIT
(被动关闭)收到对方关闭请求,已经确认
LASTACK
(被动关闭)等待最后一个关闭确认,并等待所有分组死掉
图1
- TCP 的有限状态机
- TCP有限状态机
- TCP有限状态机
- TCP有限状态机
- TCP连接建立和释放的有限状态机
- TCP有限状态机分析
- tcp有限状态机分析
- tcp有限状态机分析
- tcp有限状态机分析
- tcp有限状态机分析
- tcp有限状态机分析
- tcp有限状态机分析
- tcp有限状态机分析
- TCP有限状态机分析
- TCP有限状态机转换
- 有限状态机的实现
- 有限状态机的实现
- 有限状态机的设计思想
- 嗯,很久没来CSDN了
- STM32的NVIC理解
- 226Invert Binary Tree
- 极大似然估计
- Access denied for user 'root'@'localhost' (using password: NO)
- TCP 的有限状态机
- leetcode[217&219&220]:Contains Duplicate I&II&III
- switch语句能否作用在byte上,能否作用在long上,能否作用在String上
- linux入门基础——linux软件管理基础:YUM
- LeetCode 225: Implement Stack using Queues
- 容器Set
- short s1 = 1; s1 = s1 + 1和short s1 = 1; s1 += 1的区别
- JVM的基本垃圾回收算法
- arp hook