补全:谁先关谁等

👁️ 3 人浏览 💬 0 人评论 ❤️ 添加收藏

本节的内存版 TCP 状态机(判题机不联网;真机上 ss -tan 看到的 State 就是这些名字):

TABLE[(状态, 事件)] = (新状态, 要发出去的段)   事件:listen / connect / close / timeout / retrans 是本机动作,SYN / SYN-ACK / ACK / FIN / RST 是收到的段
talk(script, drop=())     script 形如 ["B:listen", "A:connect", "A:close", "B:close"];一台主机发出的段立刻送到对面(序号在 drop 里的丢掉,轨迹里标 x),对面的回信再送回来
                          交回 (轨迹 ["A>B SYN", "B>A SYN-ACK", ...], {"A": 状态, "B": 状态})

补全 who_waits(script):跑一遍剧本,交回停在 TIME-WAIT 的那台主机名("A" 或 "B"),没有就交回 "-"。三个剧本:A 先关、B 先关、握手后谁都没关。

提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论