三体版的TCP状态转移图

news/2024/5/17 19:19:04 标签: tcp

近日在对学员们讲解TCP状态转移时,看到他们一脸懵逼的表情,甚是心疼。

昨日灵感来了,想起《三体》里地球三体组织和三体时间的通信正适合用来描述TCP状态转移,并且询问了手里的几个学员是否看过《三体》,令人惊喜的是,大家都是《三体》小说的爱好者。

所以今天就用三体描述了TCP的状态转移,如下:



文字版:

三体世界地球世界
S1
appl: passive open 1379号监听员被三体世界派驻到监听站聆听着宇宙间可能存在的智慧文明的信息。
D1
appl: passive open 中国政府建立第一红岸基地,开始监听来自宇宙的信息。
 D2 
app1: send data 第一红岸基地对外星文明发送信件。
send: SYN 叶文洁第一次利用“太阳能量镜面增益反射”发送信息。
S2
recv: SYN 1379号监听员第一次读到来自地球世界的信息。
send: SYN, ACK 1379号监听员向地球信息的来源方向发送了一条简短的信息:“不要回答(SYN)! 这个世界收到了你们的信息(ACK)。”。
 
 D3
recv: SYN, ACK 叶文洁第一次读到来自地球世界的信息,确定了三体世界的存在,并定位了三体世界的位置(ACK)。从信息里,叶文洁同时还得到了不要回答的警告(SYN)。
send: ACK 叶文洁不顾警告,向三体世界发送了第二条信息,暴露了地球的位置。
S3
recv: ACK 三体世界收到了叶文洁发送的第二条信息,定位了地球的位置。
 
S4
三体世界与地球三体组织利用电波相互通信
D4
叶文洁和伊文斯成立了地球三体组织,并建立了第二红岸基地,与三体世界通信。
S5
appl: close 三体世界已经向地球发送了智子,不再需要与地球三体组织在电波上进行通信。
send: FIN 三体世界向地球三体组织发送关闭电波通信的命令。
 
 D5
recv: FIN 地球三体组织得知三体世界向地球发送了智子,收到关闭电波通信的命令。
send: ACK 地球三体组织向三体世界确认收到了关闭电波通信的命令。
S6
recv: ACK 三体世界收到了地球三体组织对关闭电波通信命令的答复。
 
 D6
appl: close 地球三体组织在一华工厂聚会时,被史强带领的军队包围,叛军首领叶文洁被捕。第二红岸基地也随机被摧毁。
send: FIN 在地球的智子将地球三体组织被打击的消息传递回三体世界。
S7
recv: FIN 得到地球三体组织被打击的消息
send: ACK 利用智子向地球世界发出了宣战:“你们是虫子!”
 
 D7
recv: ACK 地球世界收到了来自三体世界的宣战。


http://www.niftyadmin.cn/n/1277259.html

相关文章

运维经验分享(二)-- Linux Shell之ChatterServer服务控制脚本二次优化

运维经验分享作为一个专题,目前共7篇文章《运维经验分享(一)-- Linux Shell之ChatterServer服务控制脚本》《运维经验分享(二)-- Linux Shell之ChatterServer服务控制脚本二次优化》《运维经验分享(三&…

tablib(tld)

标签库的目的在于让开发人员能像使用html标签一样的标签来完成前端的逻辑控制和内容显示,而把那些繁琐、复杂的java代码隐藏在背后。 标签库的组成: (1)jar文件包。这个部分是标签库的功能实现部分,由java来实现。 …

Programming Ruby学习笔记 Day 1

调用类的构造函数创建对象的方式如下: song1 Song.new(“Ruby Tuesday”) song2 Song.new(“Enveloped in Python”) 方法调用,即是向对象发送消息,格式为:接收者.消息名,例如: “ginjoint”.length “Ri…

用vs2013开发node.js的addon.

下载node.js的源代码。https://github.com/joyent/node 如果用svn下载,后面加上/trunk,以免把用不着的branches也下载下来,浪费时间。 安装VS, express版本也可以。我安装的是vs2013 ultimate. 安装python 2.x http://www.python.org/download/ 注意不能…

常用java面试题推荐(网址)

Java面试题上篇 https://blog.csdn.net/jackfrued/article/details/44921941Java面试题中篇 https://blog.csdn.net/jackfrued/article/details/44931137Java面试题下篇 https://blog.csdn.net/jackfrued/article/details/44931161阿里巴巴Java开发工程师面试总结 https://blog…

算法提高——基础算法(常见贪心策略)

文章目录 一、例题士兵二、解题思路:三、贪心证明:总结一、例题 士兵 格格兰郡的 N 名士兵随机散落在全郡各地。 格格兰郡中的位置由一对 (x,y) 整数坐标表示。 士兵可以进行移动,每次移动,一名士兵可以向上,向下,向左或向右移动一个单位(因此,他的 x 或 y 坐标也将…

2016年总结

完成第一个房子的装修换了一家公司,换了一个行业收入上了一个台阶,职位上了个台阶,有了自己的团队结实了四个新的朋友坚持每周1KM游泳半年成功把父亲接出西昌,接到北京治病,成功把父亲安顿到重庆成功带我父母去了我的大…

Programming Ruby学习笔记 Day 2

Ruby的数组和hashs都是索引集合:数组用位置作为索引的key,hashs用对象作为索引的key.一个数组和hashs里可以存放不同类型的对象。创建数组a [ 1, cat, 3.14 ] # array with three elements # access the first element a[0] 1 # set the third eleme…