公众号旧文

你一定知道TCP/IP,但你大概率不知道CPIP(鸽载互联网协议)

作者:胖子阅读 —

如果我说历史上真的有人用鸽子传输过数据,你可能会觉得是在开玩笑。

但这件事,不仅是真的,还写进了互联网标准文档 RFC 1149 里。

一、什么叫“用鸽子传输数据”?

先翻译一下 RFC 1149 的名字:

IP over Avian Carriers(通过鸟类承载 IP 数据)

也就是把数据写进存储设备,让鸽子叼着飞过去。

听起来像段子,但在技术上,它其实是成立的。

因为互联网的本质就是把数据从 A 点传到 B 点。

至于中间是:

  • 光纤
  • 网线
  • 还是鸽子

理论上都可以。

二、它真的写进了官方标准?

是的,而且还是由 IETF 发布的正式文档。

发布时间是:1990 年 4 月 1 日

也就是36年前的今天,愚人节。

作者是:David Waitzman

后面甚至还有升级版本:

  • RFC 2549(加入服务质量)
  • RFC 6214(支持 IPv6)

连版本迭代都安排上了。

三、最离谱的是真的有人实现了

2001 年,一群爱好者做了一个实验:

基于CPIP(Carrier Pigeon Internet Protocol, 鸽载互联网协议)

用鸽子传输 9 个数据包(ping)

脚本开始于 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

结果如下:

  • 发送:9 个
  • 收到:4 个
  • 丢包率:55%
  • 延迟:50~100 分钟

虽然网络极慢,丢包严重,但它确实成功传输了数据。

四、甚至鸽子还有可能打败宽带

现实中鸽子在某些情况下,比网络还快。

比如:

  • 用鸽子运送存储卡(几GB数据)
  • 几十公里内,一小时左右送达

换算下来平均带宽可以达到 Mbps 级别。

五、这其实不是笑话,而是一个严肃原理

这个“鸽子互联网协议”背后,是在说明一个重要概念:带宽 ≠ 延迟。

我们平时理解的网络快,其实包含两个维度:

1️⃣ 带宽(一次能传多少)

鸽子可以一次带几十GB数据,带宽极高。

2️⃣ 延迟(多久到)

鸽子需要飞几十分钟甚至几小时,延迟极大。

六、现实中的“鸽子互联网”一直存在

你可能没意识到,你偶尔也在用类似方式,比如:

👉 U盘拷数据 👉 硬盘邮寄 👉 快递服务器

在计算机领域,这还有个名字:Sneakernet(偷渡网络)

意思是用物理方式搬运数据,而不是通过网络传输。

甚至在一些场景下这是最优解,比如:

  • 数据中心迁移(PB级数据)
  • 网络极慢地区
  • 离线备份

七、RFC 1149 的真正意义

所以,这个看似搞笑的 RFC,是在表达一个很深刻的思想:

互联网的本质不是“在线”,而是“数据传输”。

它还顺便讽刺了一件事:

再高级的网络,如果带宽不够,还不如用物理方式搬数据。


你可能感兴趣的其他文章:

SSH 登录时看到的欢迎信息是从哪儿来的?

为什么水银有毒,却长期被用来做体温计?

为什么浏览器总说 HTTP 不安全?

域名在哪家买,就一定要用哪家的 DNS 吗?