计算机网络(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

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

相关推荐
IT 青年4 小时前
计算机网络 (57)改进“尽最大努力交付”的服务
计算机网络
Themberfue5 小时前
UDP/TCP ③-拥塞控制 || 滑动窗口 || 流量控制 || 快速重传
网络·网络协议·tcp/ip·计算机网络·udp
IT 青年8 小时前
计算机网络 (56)交互式音频/视频
计算机网络
乙己40715 小时前
计算机网络——网络层
运维·服务器·计算机网络
心平气和️16 小时前
HTTP 配置与应用(不同网段)
网络·网络协议·计算机网络·http
心平气和️17 小时前
HTTP 配置与应用(局域网)
网络·计算机网络·http·智能路由器
IT 青年21 小时前
计算机网络 (55)流失存储音频/视频
计算机网络
Like_wen1 天前
【Go面试】基础八股文篇 (持续整合)
java·后端·计算机网络·面试·golang·go·八股文
longze_71 天前
正向代理与反向代理的主要区别
计算机网络·cdn·反向代理·正向代理
酱学编程1 天前
【计算机网络】NAT应用
网络·计算机网络·智能路由器