IPoAC

I have been studying for my Network+ for the last few months. In doing so I have learnt to appreciate the inner workings of networking infrastructure, and how the modern-day internet functions and came to be. Truly, just for you to be reading this page is nothing short of a miracle - There is an incredibly noisy world just out of the scope of our senses that most people will never get a chance to learn about.

What I did not anticipate is learning about is IPoAC. This (thank god) does not fall into the curriculum of Network+. It is not even really taken at all seriously as an actual standard, for obvious reasons. It is however something that made me chuckle, and I want to share it.

In the beginning

Allow me to introduce Columba Liva domestica or the humble Domestic Pigeon.

This should be a picture of a pigeon

Often called the rats of the sky, these feathered friends are derived from rock pigeons, the oldest domesticated bird on record. Records of these beaked brethren go all the way back to 5,000 years ago on Mesopotamian cuneiform tablets. They hold historic importance in human society, taking reverence as everything from food to holy animals. What is most important however is their homing ability.

The homing pigeon is a variety of domestic pigeons, selectivley bread for its ability to find its way home over an incredibly long distance (upwards of 1800km). This innate homing ability is chopped down to magnetoreception, which in layman’s terms means that the pigeon can detect the earth’s magnetic field.

One of the most common uses of this is message carrying, but there is also a booming pigeon racing industry (yes I’m serious). A name often attributed to using pigeons to carry messages is “pigeon post” or “war pigeons”. I would encourage you to watch the Disney film Valiant, as this is a great resource on this subject (please don’t actually watch it). Prior to the introduction of the telephone, this was a very effective way of transmitting communication.

The way it works is you have a pigeon being kept at a central location. You take the pigeon away, attach a note to its leg, and let it go. Generally, the pigeon will return home. I am sure many of you are questioning what this has to do with computer networking - well, I would say this. Is placing a message in a little container on a pigeon’s leg not essentially the same as encapsulating data into a frame, and then into a packet? Pigeons, my dear reader, are the Layer 3 Packets of the analogue world.

IPoAC aka RFC 1149

IPoAC stands for Internet Protocol over Avian Carriers. It is a proposal to carry IP packets by birds (i.e. pigeons), facilitating a high delay, low bandwidth, low altitude data transmission service. It does this using a single point-to-point connection for each carrier, with the opportunity to use many carriers without network uptime being affected (outside of certain times of the year). Due to the advantages of the underlying routing TPU, there is an inherent collision avoidance system, increasing availability compared to alternative systems like IEEE802.3.

The way the frames are formatted is that the IP datagram is printed on a small scroll of paper in hexadecimal, with each octet separated by a space. Example shown below

55 57 55 20 69 6D 20 61 20 73 75 73 73 79 20 62 61 6B 61

The scroll of paper is then wrapped around the carrier’s leg, or placed into a small metal circular attached to the leg. The bandwidth of this method is limited by the leg length of the carrier. The MTU is variable, but generally increases carrier age s carrier strength increases. Typically the MTU is 256 milligrams.

Other things of note

  • Multiple types of this service can be provided with a prioritised pecking order
  • Most carriers allow for built-in worm detection and eradication
  • IP only guarantees best-effort delivery, i.e. loss of a carrier can be tolerated
  • Given adequate time and a safe environment carriers are self-replicating
  • While broadcasting is not specified in the standard, storms can cause data loss
  • There is a persistent delivery retry until the carrier itself drops
  • Audit trail is automatically generated, and can generally be found on logs and cable trays

In later revisions i.e RFC 2549 and RFC 6214 this original RFC is built upon. Mostly with more bird puns that are also related to networking.

The beak-ernet

This, obviously, was written as a joke. It is one of the many examples of nerds making nerdy jokes about serious subjects. All this being said this has been proven to work, and can even provide very fast data transfer speeds under the right circumstances. On the 28th of April 2001, this was implemented by the Bergen Linux user group, where they sends night packets over a distance of 5km. This was rather beautifully represented by the below terminal output

Script started on Sat Apr 28 11:24:09 2001
$ /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 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


Script done on Sat Apr 28 14:14:28 2001

I do want to say that despite my fondness for this joke, I do not take it seriously. I think a lot of people think I am quirk bordering on nuts with the projects I take on. My friend Iron politely told me to touch grass the other day when I told him I was thinking about coding my own static site generator (he likely had a point).

However I will say this for IPoAC, *it can be a reasonable way to send massive amounts of data. There is a reason why Amazon has its AWS Snowmobile or Microsoft the Azure Databox. When the sheer amount of data you need to send is that massive, sometimes the sneakernet is the best way to do it. If two hackerspaces within a reasonable distance of one another decided to set up a pigeon coop and periodically drove a “homed” pigeon to one another, then they could set up (I am so sorry about this) a “beakernet”. Am I saying this is a practical way of communication? Absolutely not. I am however saying this would be incredibly funny.

Also, and I am not quite sure if this is more or less nerdy than the last suggestion, this also works in Dungeons and Dragons. I play Dungeons and Dragons every week at my local pub, which is a shock to absolutely nobody that fat arch user plays DND. In our last session, we found ourselves in a position where we had acquired a tavern, by scaring the previous owner away and declaring it now belonged to us. We then had an issue, how can we run a bar while staying on our adventures? We theoretically have a semi-soviet workforce of bugbears extracting minerals from Wave Echo Cave, and if we managed to get a message to them Gunk the foreman could send a bugbear over to man the bar. Of course, then I realised, what if we set up an ad-hoc internet across our DND world using IPoAC. If we set up a pigeon-post in every town we visited the network would grow, and before we knew it we had a DNDesk ISP on our hands. I assure you, I was wetting myself with laughter at this thought.

I suppose my overarching point in this post is this - Pigeons have an incredible knack for being funny when appropriately paired with networking technology.

whoami

A general purpose blog for me to braindump anything I might be thinking about. Please dont hesistate to reach out if you have any questions


2023-11-25