RFC 1149

Right then, a quick technical overview for those of you not in the know. RFCs are specifications that have been developed in research or in the course of work that people publish in order to receive peer review. They usually document important features of the Internet, such as how mailservers should talk to each other, or how a browser should behave when it connects to a webserver. The most important ones get promoted to standards, and in the course of a day’s work on the web you’ll have plenty of RFCs to thank for things running smoothly…

Naturally, with thousands of these standards and documents floating around, some sillier ones tend to get through, particularly around the beginning of April… some of my favourites include:

  •  RFC 3514 – The Security Flag in the IPv4 Header (the “Evil Bit”). A proposal that a flag be added to malicious Internet traffic that is set by the attacker to show whether the traffic is benign or evil.
  • RFC 2550 – Y10K and Beyond. Discussing how the Y2K ‘bug’ will again raise itself come the end of the year 9,999.
  • RFC 4824 – The transmission of IP Datagram packets over Semaphore. Networking with wavy arms and flags.

There are plenty more on Wikipedia. Then there’s RFC 1149, my favourite April Fools. This RFC discussion the transmission of IP over Avian Carriers. A serious discussion of networking with pigeons. A good humorous piece, with a good analysis of the issues (“storms can cause data loss”) and observations (“with time, the carriers are self-regenerating”).

Then I discovered that a Norwegian Linux group had actually successfully implemented RFC 1149. Their findings describe the process taken to implement the specification, with a ping log:

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

So, if you’re planning on using pigeon networking, it takes an age and there’s a lot of data loss (due to cage problems, apparently), but it’s possible!