鳥類キャリアによるIP
ジョークRFC
From Wikipedia, the free encyclopedia
概要
最初に鳥類キャリアによるIPに関しての規格文書が発表されたのは1990年4月1日に発表された[3] RFC 1149 "A Standard for the Transmission of IP Datagrams on Avian Carriers"(鳥類キャリアによるIPデータグラムの伝送規格)である[4]。この文書はわずか2ページの短い文書であるが、随所に通信用語と日常用語の重なる部分を織り交ぜて書かれている。
例えば次のような例が挙げられる。
さらに1999年のエイプリルフールに発表された RFC 2549 "IP over Avian Carriers with Quality of Service"(鳥類キャリアによるIPのサービス品質)は[5]、この通信にQoSを規定するという内容である(1990年との違いとして、Linuxの普及を背景としたペンギンのジョークや、キャリアの鳥を描いたアスキーアートも入っている)[6]。
2011年4月1日には、RFC 6214 " Adaptation of RFC1149 for IPv6"(RFC1149のIPv6対応について)が発表され、RFC1149をIPv6に対応するために、さまざまな観点から考察が行われている(新たに発見されたウイルスの脅威など)。
プロトコル詳細
この伝送規格では、以下のような手順でIPデータグラムが送信される。
- 伝送すべき IP データグラムを、小さな巻物型の紙に16進数で印字する。
- その小さな巻物を鳥類キャリアの肢に巻き付け、データグラムの端をテープで止める。
受信側は、以下の手順を実行する。
- 鳥類キャリアの肢のデータグラムからテープを取り除く。
- 巻物に書き写されたデータグラムを光学的に読み取り、電子転送ができるようにする。
実装例
2001年4月28日にノルウェーの BLUG(Bergen Linux User Group)と Vesta Pigeon Racing Club によって、このプロトコルがCPIP(Carrier Pigeon Internet Protocol)という名前で実装された[7][8]。
約5キロメートル離れた通信先に送信された(つまり伝書鳩よって運ばれた)9つのパケットにはそれぞれ1つの Ping(ICMPエコー要求)が含まれていた。
9パケットの要求に対して、4つの応答が受信された。 実際には、6羽の鳩が帰ってきたが、そのうち2羽にはIPパケットがなかった。これは反対側のオペレータが忙しかったため、IPパケットを付ける前に、鳩がケージから逃げてしまったためであった。
最終的なパケット損失率は55%(オペレータのミスを含む)、応答時間は約3000秒(50分)から約6000秒(100分)という結果だった。
BLUGは、実装は成功したと宣言し、相互運用性テストを実施するために別実装を誰かが作成するのを待つ、としている。
以下は、実装実験時の ping のログである。
Script started on Sat Apr 28 11:24:09 2001
vegard@gyversalen:~$ /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)
vegard@gyversalen:~$ ping -i 900 10.0.3.1
PING 10.0.3.1 (10.0.3.1): 56 data bytes
64 bytes from 10.0.3.1: icmp_seq=0 ttl=255 time=6165731.1 ms
64 bytes from 10.0.3.1: icmp_seq=4 ttl=255 time=3211900.8 ms
64 bytes from 10.0.3.1: icmp_seq=2 ttl=255 time=5124922.8 ms
64 bytes from 10.0.3.1: icmp_seq=1 ttl=255 time=6388671.9 ms
--- 10.0.3.1 ping statistics ---
9 packets transmitted, 4 packets received, 55% packet loss
round-trip min/avg/max = 3211900.8/5222806.6/6388671.9 ms
vegard@gyversalen:~$ exit
Script done on Sat Apr 28 14:14:28 2001
また、本プロトコルによる実装ではないが、2009年9月9日、南アフリカのIT企業は伝書鳩によるデータ伝送を行った[9]。結果、生後11ヶ月の鳩Winstonは80km先の地点へ4GBのデータを転送するのに2時間6分57秒を要した(データを取り出す時間を含む)。この間、インターネットを経由した通信はその4%を転送するにとどまったという[10]。
関連RFC
この文書はジョーク系RFCの中でも比較的人気があり、しばしば他のRFC文書に引用されている。
例えば1998年のエイプリルフールに発表された同じジョーク系のRFCである RFC 2322(洗濯ばさみ DHCP による IPアドレスの管理)では遠隔地の通信には鳥類キャリアを使用するということが記述されている[11]。
また RFC文書の書き方を説明しているRFC 2223(RFCの書き方)の付録でnroffのマクロを説明する際のサンプル文書として RFC1149 が登場する。
その他、以下の RFC などで直接的、あるいは間接的に言及されている。
- RFC 2321 "RITA -- The Reliable Internetwork Troubleshooting Agent" (1998年4月1日)
- RFC 4041 "Requirements for Morality Sections in Routing Area Drafts" (2005年4月1日)
- RFC 6217 "Regional Broadcast Using an Atmospheric Link Layer" (2011年4月1日)
- RFC 7511 "Scenic Routing for IPv6" (2015年4月1日)
- RFC 8140 "The Arte of ASCII: Or, An True and Accurate Representation of an Menagerie of Thynges Fabulous and Wonderful in Ye Forme of Character" (2017年4月1日)
- RFC 9225 "Software Defects Considered Harmful" (2022年4月1日)
