计算机网络(8) Finite State Machines(有限状态机)

一.建立连接(三次握手)

建立连接过程中的状态转换如下:

客户端:

发送SYN CLOSED >>>>>>>>>>>>>>SYN SENT(第一次握手)

接收SYN+ACK发送ACK SYN SENT>>>>>>>>>>>>>>ESTABLISHED(第三次握手)

服务端:

调用Listen() CLOSE>>>>>>>>>>>>>>>>LISTEN

接收SYN发送SYN+ACK LISTEN>>>>>>>>>>>>>>>>SYN RECEIVED(第二次握手)

收到ACK SYN RECEIVED>>>>>>>>>>>ESTABLISHED

二.关闭连接(四次挥手)

此阶段共有六个状态,可以分为主动关闭与被动关闭。主动关闭代表第一次主动发送FIN报文的一方的状态。被动关闭指最后关闭的连接通路(因为连接是双向的故而需要按照顺序关闭通道例如先关闭A->B再关闭B->A)。

主动关闭:

发送FIN ESTABLISHED>>>>>>>>>>>>>FIN WAIT 1

这时会出现三种情况,1)收到服务端FIN同时关闭2)只收到服务端ACK,此时服务端还可以向客户端传递消息,等待消息传输完毕3)收到服务端FIN+ACK,此时回应ACK

同时关闭 FIN WAIT 1>>>>>>>>>>>>CLOSING

收到ACK未收到FIN FIN WAIT 1>>>>>>>>>>>>FIN WAIT 2

.....其余状态转换见图中

相关推荐
高锰酸钾_10 小时前
计算机网络-链路层-介质访问控制
网络·计算机网络
Java成神之路-14 小时前
深入理解网络通信基石:网口、MAC 地址与 IP 地址如何分工协作
tcp/ip·计算机网络
高锰酸钾_14 小时前
计算机网络-链路层-差错控制
服务器·网络·计算机网络
Java成神之路-17 小时前
ARP、RARP与代理ARP详解
tcp/ip·计算机网络
夏乌_Wx19 小时前
计算机网络实践项目 | 云相册(文件互传与管理系统)
linux·计算机网络
剑锋所指,所向披靡!1 天前
计算机网络之网络层
运维·服务器·计算机网络
小明同学011 天前
计算机网络编程———手写 TCP 服务器(一)搞懂网络编程核心 API
服务器·网络·计算机网络
橙淮1 天前
- 现代网络基础设施的基石——交换机与路由器技术详解及重要性分析
计算机网络
深邃-1 天前
【Web安全】-计算机网络协议(2):请求方法,头部字段,DNS协议详解
linux·网络·网络协议·计算机网络·安全·web安全·网络安全
今天也是元气满满的一天呢2 天前
20260512-计网知识
计算机网络