掘金 阅读 ( ) • 2023-04-01 18:06

2023年IPoAC“鸟联网”仍然是最好的数据传输方式!

时过境迁,互联网发展不断,如今已是2023年。TCP/IP 网络模型已经能很好的保证网络信息的传输,但是他们相比于 IPoAC 还是“落后”了很多😀,它可以说是点对点通讯技术的鼻祖,今天就大家来了解一下这个协议😉。

勤奋的鸽子🕊

数千年以来,人类一直在利用信鸽传递信息。尤其是在战争时期,信鸽扮演了举足轻重的角色。据称凯撒、成吉思汗与惠灵顿公爵(在滑铁卢战役中)都曾使用禽类进行信息传递。而在第一次世界大战期间,美国陆军通信兵与海军就随军配备鸽舍。法国政府甚至在凡尔登战役期间为一只名为Cher Ami的美国信鸽授勋,用以奖励她作出的卓越贡献。而到第二次世界大战期间,英国共投入超过25万只信鸽,其中32只获得Dickin奖章这一专门为战争中的动物设立的荣誉嘉奖。

对于打算建立鸽子网络的人们而言,我们只需要训练它们学会在两点之间飞行,拿出时间并准备好吃的作为奖励。通过在一个地方喂养鸽子,并将它们放在另一个位置,鸽子们很快就能掌握这条路线。事实上,经过训练,鸽子们甚至能够从完全陌生的位置返回家园。在最顶尖的赛事当中,信鸽甚至能够飞行长达1800公。

img

RFC 1149

由来

RFC1149 的创作背景可以追溯到1990年代,当时互联网还没有像今天这样普及,各种新奇的想法和实验都在进行之中。在1990年代初期,互联网标准化机构 IETF 发布了 RFC1149。

这份文档最初由两名 IETF 成员,即戴夫·卡罗尔和戴夫·布里德福德共同创作,他们为这份文档起了一个有趣的名字——"IP over Avian Carriers with Quality of Service"。这份文档是在1990年4月1日发布的,也就是愚人节,因此 RFC1149 更被视为一种愚人节的玩笑。它描述了一种名为 “IP over Avian Carriers” 的网络协议,也就是所谓的 “鸟联网” 。虽然这是一份幽默的文档,但它反映了互联网标准化过程中的自由和创意,也提醒我们,即使在技术最为严谨的环境中,仍有空间让我们发挥想象力和幽默感🤭。

具体实现

RFC1149描述的协议流程如下:

  • 准备数据包:将要传输的数据打印在小型纸片上,或者写在卡片或者其他轻量级载体上。
  • 绑定载体:将纸片或者其他载体绑在鸟类身上。这通常需要一个小型的背包或者类似的装置。
  • 释放鸟类:释放鸟类并让它自由飞行到目的地。建议在鸟类身上附上发件人和收件人的地址和联系方式,以便鸟类到达目的地后能够被找到。
  • 收集数据包:在鸟类到达目的地后,收集数据包,并进行解码和处理。

优势

  • 鸟类能够进行洲际飞行,因此提供了比电缆调制解调器或DSL更高的带宽。
  • 可以提供高吞吐量和低成本的大批数据传输能力,鸟类可以携带几十克重量的SD卡,单次能够携带300TB甚至以上的数据。

劣势

  • 传输速度慢,鸽子会以平均每小时70公里的速度持续飞行。而在短距离之内,短程赛鸽的速度可达到每小时177公里,如果想实现几千公里距离的传输需要几个小时才能到达。
  • 传输可靠性差,鸟类容易受到天气和环境等因素的影响,如遇极端天气,丢包率可高达100%。

一种常见的丢包方式:

img

RFC 2549

RFC2549 是一份正式的标准化文档,在1999年4月1日发布,它是对 RFC1149 的一次改进和完善,提出了一些新的概念和方法,使得 “鸟联网” 这一概念更加具体化和可行化。

可以使用其他动物进行传输:

  • 候鸟,可以借助其实现双向传输,候鸟一般会有认巢的习惯,到达新的栖息地之后,还会寻找之前的巢穴。
  • 企鹅🐧,不建议使用,因为不会飞。

存在的风险:

  • 鹰,有时候信息载体可能会进入🦅鹰的体内,导致数据被损坏。

RFC 6214

在2011年4月1日,互联网国际标准机构再发表了《RFC 1149在IPv6的应用》,并完善更多内容。

但是仍有以下缺陷:

  • 缺乏可用的本地载体,在某些地方,例如新西兰,绝大多数的载体只能进行短程跳跃,并且仅会在背景光子辐射极低的情况下进行。(鹬鸵无法飞行以及只在夜间活动)
  • 载体有感染 H5N1 的风险。
  • 多播通讯受限与载体的归巢能力,可能会陷入“路由循环”。

可行性实验

超远距离传输

2001年9月7日,一个名为格雷厄姆·特朗西(Graham Troup)的计算机工程师带领了一个由南非的技术学院学生组成的团队,他们试图验证一种基于鸟类的互联网协议(IP over Avian Carriers,简称IPoAC)的可行性。这个团队在南非的一个小镇的邮局将一只名为温斯顿(Winston)的信鸽放飞,它带着一个小存储设备和一份1.7KB的数据文件。这份数据需要传输到距离南非12000英里以外的英国。信鸽温斯顿一路飞行,途中经历了风暴和高山等艰险的路途,最终于两天后到达了目的地。整个过程的数据传输速度非常慢,但是信鸽在这个过程中成功地克服了所有的障碍,完成了数据传输任务。

较高的丢包率

在2001年4月28日,IPoAC曾被卑尔根的一个Linux用户组成功实验,当时该协议被命名为CPIP(Carrier Pigeon Internet Protocol, 鸽载互联网协议)。他们往一个距离约5公里远的目标发送了9个数据包,每个数据包中包含一条ping报文(ICMP Echo Request),各由一只鸽子承载,最后收到了4条响应。

脚本开始于 2001年 4月 28日 星期六 11:24:09
$ /sbin/ifconfig tun0
tun0      Link encap:Point-to-Point Protocol
          inet addr:10.0.3.2  P-t-P:10.0.3.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:150  Metric:1
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0
          RX bytes:88 (88.0 b)  TX bytes:168 (168.0 b)
​
$ ping -c 9 -i 900 10.0.3.1
PING 10.0.3.1 (10.0.3.1): 56 字节的数据。
64 字节,来自 10.0.3.1: icmp_seq=0 ttl=255 时间=6165731.1 毫秒
64 字节,来自 10.0.3.1: icmp_seq=4 ttl=255 时间=3211900.8 毫秒
64 字节,来自 10.0.3.1: icmp_seq=2 ttl=255 时间=5124922.8 毫秒
64 字节,来自 10.0.3.1: icmp_seq=1 ttl=255 时间=6388671.9 毫秒
​
--- 10.0.3.1 ping 统计 ---
已发送 9 个包, 已接收 4 个包, 55% packet loss
round-trip min/avg/max = 3211900.8/5222806.6/6388671.9 ms
​
脚本结束于 2001年 4月 28日 星期六 14:14:28

结语

即使经过了数千年,这些看似不起眼的可爱小鸟仍然保有自己的崇高地位。🕊🕊🕊

参考文献:

参考文章:

发布时间:

  • RFC1149:1990.4.1
  • RFC2549:1999.4.1
  • RFC6214:2011.4.1
  • 2023年IPoAC“鸟联网”仍然是最好的数据传输方式:2023.4.1

⛄:愚人节快乐😀,😏👍。