RFC 1149

Interesting storys, rants, info clips and links to all things related to old computers, retro gaming, mods and computers. You can leave comments only in this forum.

RFC 1149

Postby crustyasp46 » Fri Apr 06, 2012 11:16 pm

RFC 1149

A Standard for the Transmission of IP Datagrams on Avian Carriers

1990's addition to the hallowed tradition of April Fool RFCs was RFC 1149, A Standard for the Transmission of IP Datagrams on Avian Carriers. This sketched a method for transmitting IP packets via carrier pigeons.

Eleven years later, on 28 April 2001, the Bergen Linux User's Group successfully demonstrated CPIP (Carrier Pigeon IP) between two Linux machines running on opposite sides of a small mountain in Bergen, Norway. Their network stack used printers to hex-dump packets onto paper, pigeons to transport the paper, and OCR software to read the dumps at the other end and feed them to the receiving machine's network layer.

rfc1.jpg


Here is the actual log of the ping command they successfully executed. Note the exceptional packet times.

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 450 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

rfc2.jpg


A web page documenting the event, with pictures, is at http://www.blug.linux.no/rfc1149/. In the finest Internet tradition, all software involved was open-source; the custom parts are available for download from the site.

The informal report from the RFC 1149 event.

Finally, rfc 1149 is implemented! On saturday 28th of april 2001, the worlds very first rfc 1149 network was tested. The weather was quite nice, despite being in one of the most rainy places in Norway.

The ping was started approximately at 12:15. We decided to do a 7 1/2 minute interval between the ping packets, that would leave a couple of packets unanswered, given ideal situations. Things didn't happen quite that way, though. It happened that the neighbour had a flock of pigeons flying. Our pigeons didn't want to go home at once, they wanted to fly with the other pigeons instead. And who can blame them, when the sun was finally shining after a couple of days?

But the instincts won at last, and after about an hour of fun, we could see a couple of pigeons breaking out of the flock and heading in the right direction. There was much cheering. Apparantly, it WAS our pigeons, because not long after, we got a report from the other site that the first pigeon was sitting on the roof.

And finally, the first return pigeon arrived. The packet was carefully removed from the leg, unrolled and scanned. After manually verifying the OCR and correcting the few mistakes (gocr is quite good, but it *did* have problems recognizing F's in my end), the packet was accepted as a valid packet, and there was much cheering about what we saw:

64 bytes from 10.0.3.1: icmp_seq=0 ttl=255 time=6165731.1 ms
The remaining pigeons arrived simultaneously. Two of them didn't have any IP packets, though, it turned out that things had been so busy at the other end that they forgot to shut the pigeon cage, and the remaining two pigeons escaped without an IP packet. There was only six return pigeons, thus we got four ping replys, with ping times varying from 3211 to 6389 seconds. I guess this is a new record for ping times...

The implementation was declared a success. Now, we're waiting for someone to write other implementations, so that we can do interoperability tests, and maybe we finally can get the RFC into the standards track...

While all acknowledged the magnitude of this achievement, some debate ensued over whether BLUG's implementation was properly conformant to the RFC. It seems they had not used the duct tape specified in 1149 to attach messages to pigeon legs, but instead employed other methods less objectionable to the pigeons. The debate was properly resolved when it was pointed out that the duct-tape specification was not prefixed by a MUST, and was thus a recommendation rather than a requirement.

The perpetrators finished their preliminary writeup in this wise: “Now, we're waiting for someone to write other implementations, so that we can do interoperability tests, and maybe we finally can get the RFC into the standards track... ”.

The logical next step should be an implementation of RFC2549.

The wonders of imagination, initiative and humour in the world of computing. I love seeing things like this being done. I think a visit to the link above is well worth the effort.

Rating : Five thumbs up. What do you think?
User avatar
crustyasp46
He's Everyones Daddy
He's Everyones Daddy
Next LVL Up at : 1750
Next LVL Up at : 1750
 
Posts: 1716
Joined: Sun Jun 06, 2010 11:06 pm
Has thanked: 2653 times
Been thanked: 1006 times

Return to Retro Computer Ramblings BLOG

Who is online

Users browsing this forum: No registered users and 3 guests