TCP网络关闭的状态变换时序图
TCP共有11个网路状态,其中涉及到关闭的状态有5个。
在我们编写网络相关程序的时候,这5个状态经常出现。因为这5个状态相互关联,相互纠缠,而且状态变化触发都是由应用触发,但是又涉及操作系统和网络,所以正确的理解TCP 在关闭时网络状态变化情况,为我们诊断网络中各种问题,快速定位故障有着非常重要的作用和意义。
下是是根据W.Richard Stevens的《TCP/IP详解》一书的TCP状态转换图。
(转载本站文章请注明作者和出处 酷 壳 – CoolShell ,请勿用于任何商业用途)
《TCP网络关闭的状态变换时序图》的相关评论
问下,你画这类图是用的什么工具?推荐一个Linux下面的建模程序吧?
我这个是用visio画的。
个人一般比较爱用smartdraw和visio来画流程图。用staruml来画类图。
@ivan
Linux下有个画流程图的叫Dia,你可以试试。
@kyle
感觉dia画的图不是十分的美观。
@Neo,
提点修改建议:图中为“远程主机B”的最后一个状态应该为CLOSED状态(连接关闭)而非TIME_WAIT,即被动关闭的一方永远都不会出现TIME_WAIT状态。另外,TCP有11个状态,而不是9个。
@ivan
画sequence diagram可以考虑用www.websequencediagrams.com。推荐。
你指出的非常正确,网络状态是11,被动关闭端永远不会出现TIME_WAIT状态。
谢谢指正
多谢你
图18-13 是重复的
状态转换图中SYN_SENT到SYN_RCVD这个箭头,发送的应该只有ACK没有SYN了吧?SYN已经发送过了。