IP over Avian Carriers (de l'anglais signifiant littéralement « IP sur transporteurs aviaires »), abrégé par le sigle IPoAC, est une proposition humoristique de méthode de transport du trafic IP (Internet Protocol) par des oiseaux tels que des pigeons voyageurs. Le protocole a été initialement décrit dans la RFC 1149 rédigée par David Waitzman pour l'Internet Engineering Task Force, comme poisson d'avril pour l'année 1990. Waitzman en a ensuite amélioré la description (en intégrant la « qualité de service ») dans un second poisson d'avril, en 1999, avec la RFC 2549.
Le 28 avril 2001, IP over Avian Carriers a été implémenté par le groupe d'utilisateurs Linux de Bergen, en Norvège. Ils ont envoyé 9 paquets sur une distance approximative de cinq kilomètres, chacun porté par un seul pigeon et contenant un ping (ICMP Echo Request), et ont reçu 4 réponses. De manière prévisible, les résultats furent mauvais : 55 % des paquets perdus, et un temps de réponse compris entre 3 000 et 6 000 secondes.
Cette mise en œuvre montre les proportions réelles de l'absurdité évidente de l'énoncé : comme on le verra plus loin, il pourrait être tout à fait utile de s'échanger des données via des cartes mémoire de grande capacité portées par des pigeons voyageurs, les mémoires actuelles permettant à ce mode de transmission de ridiculiser les réseaux classiques. Mais cela ne fonctionne que pour les fichiers de taille importante, avec une communication à sens unique. Au contraire, le protocole internet utilise une grande quantité de messages de taille négligeable pour s'assurer que la communication fonctionne bien. Reproduire rigoureusement ce protocole si on communique par pigeon voyageurs est donc absurde.
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
Un groupe de Suédois s'est inspiré de cette RFC pour imaginer un système de communication qui utiliserait les pigeons de la ville de Göteborg.
Cette RFC est par ailleurs souvent évoquée à des fins pédagogiques pour illustrer le fait que le protocole IP est indépendant du support, et que virtuellement n'importe quelle couche de liaison peut convenir.
Cette RFC peut également être utilisée pour vérifier l'attention d'un partenaire commercial. Ainsi, une entreprise européenne a publié en 2000 un appel d'offres en demandant aux prestataires qui y répondraient, d'indiquer quelles RFCs ils supportaient parmi une longue liste, au sein de laquelle se trouvait la RFC 1149. Plusieurs entreprises n'ont pas remarqué le piège, tandis que Juniper Networks a souligné que cette RFC « n'était pas sérieuse », et que Cisco a indiqué la supporter uniquement le 1er avril.