April Fools' Day Request for Comments

Last updated

A Request for Comments (RFC), in the context of Internet governance, is a type of publication from the Internet Engineering Task Force (IETF) and the Internet Society (ISOC), usually describing methods, behaviors, research, or innovations applicable to the working of the Internet and Internet-connected systems.

Contents

Almost every April Fools' Day (1 April) since 1989, the Internet RFC Editor has published one or more humorous Request for Comments (RFC) documents, following in the path blazed by the June 1973 RFC 527 called ARPAWOCKY, a parody of Lewis Carroll's nonsense poem "Jabberwocky". The following list also includes humorous RFCs published on other dates.

List of April Fools' Day RFCs

1978

A parody of the TCP/IP documentation style. For a long time it was specially marked in the RFC index with "note date of issue".

1989

1990

Updated by RFC 2549 in 1999; see below. Describes protocol for transmitting IP packets by homing pigeon.
In 2001, RFC 1149 was actually implemented [1] by members of the Bergen Linux User Group.
See also RFC 6214, as noted below. Describes the adaptation of RFC 1149 for IPv6.

1991

1992

1993

1994

Attributed to William Shakespeare.

1995

1996

1997

1998

This RFC is not solely for entertainment; the described protocol has regularly been implemented at hacker events in Europe.

1999

2000

Concerning the practicalities of the infinite monkey theorem.

2001

2002

Parody of "Everything over IP and IP over Everything" [2] and the 2000–2001 California electricity crisis.

2003

Proposal for the 'evil bit', as an option in the IPv4 packet header. Later, this became a synonym for all attempts to seek simple technical solutions for difficult human social problems which require the willing participation of malicious actors.

2004

2005

Notable for containing PDP-10 assembly language code nearly 22 years after the manufacturer ceased production of the PDP-10, and for being technically possible as opposed to many of these other proposals.

2006

An April 1st RFC was not published this year, but an announcement on the IETF list about the appointment of the Sesame Street character Bert as member of the IAB appears to have been the April Fools' Day 2006 stunt.

2007

2008

2009

Implemented on Facebook by the author, in the process of writing the RFC. [3]

2010

2011

2012

2013

2014

Updates RFC   2324 for coffee machines which are also capable of brewing tea. Also defines the HTTP response code 418 I'm a Teapot, for teapots to use when unable to brew coffee.

2015

Green IT has become increasingly important. In a win-win proposition, for packets and the environment alike, this RFC defines a way to allow packets to be routed through the air, to get as much sunlight and fresh air possible. Sending packets over Wi-Fi or by pidgeons will help them escape their torturous routine of assembly and disassembly, and being shot through dark fibers and copper cables all the time.
In an approach similar to the now deprecated ICMP Source Quench, it reuses that packet's 'Type' field (4) to (really more explicitly than ECN) tell the sender to shut up. The user responsible for the traffic MUST be made aware of the contents of an RECN message by means of text-to-speech, or pop-ups if the audio channel is muted.

2016

An April 1st RFC was not published this year. [4]

2017

Takes a rather mathematical approach to use the 128-bit IPv6 address space in other ways than the traditional one, to ultimately arrive at Complex Addresses. You may use the imaginary part of a complex address (with polar coordinates as the real part) to reach Santa Claus, for example. It also proposes to use Flying Addresses for end hosts using IP over avian carriers.
As the Internet Architecture Board intends to relax requirements for compatibility with IPv4 for new or extended protocols, this RFC helps the adoption of IPv6 by setting the evil bit for all IPv4 packets to 1, making sure that dual stack hosts will favor IPv6, as will the Happy Eyeballs algorithm. To maintain functional equivalence between IPv4 and IPv6, the 'security flag' of RFC   3514 should be included in the IPv6 header. Advanced security options may be specified in a new hop-by-hop option header.
ASCII art in its most splendid form. Depicts and annotates fruit bats, the Loch Ness monster, some fundamental Bauhaus elements, and even a flock of avian carriers.

2018

A heartfelt cry to end packet discrimination at the IP level, where they frequently (even in this day and age) are terminated prematurely, based on color, [5] length, age, etcetera, or even by IP version!
Proposes to use 128-bit Unicode to facilitate internationalization of IPv6, since the 1.114.112 code points of the current implementation of Unicode is deemed insufficient for the future. IPv6 addresses may be represented by a single U+128 glyph, to reduce stress on the eyes of network administrators.
If implemented, it would obsolete RFC   8135, because "[i]t was found to be too complex to implement anyway".

2019

A 'response/request' protocol similar to HTTP/1.1 but where clients send a response to the server (e.g. "Hello World. My payload includes a trailing CRLF.") to which the server answers with a request (e.g. GET /hello.txt), like in the Jeopardy! game. The Hypertext Double Jeopardy Protocol (HTJ2P) (described in Appendix A) inverses the semantics of HTJP again.
The authors contend that the DNS (secured with DNSSEC) is most suited to globally and reliably provide information to help maintain a high quality of experience for CPE (among others). With the definition of four new DNS RR types (password, credit card number, social security number, and an SSN pointer record) they hope to create end-to-end, holistic network management.

2020

A proposal to use UTF-8 to obfuscate (and help replace) textual IP addresses, to coerce a small minority of people to use the DNS instead of sticking to (and mixing up) plain IP addresses.
Dismisses RFC   6921 with the notion that considering time travel for faster-than-light packet delivery is "amusing" but impossible as a concept. Instead, it focuses on real life quantum entanglement in relation to packet round trip times, which (depending on the observer) could reach zero. This may cause havoc among several protocols, which should be fixed "in time" before things break.

2021

Since the Internet Engineering Task Force claims it "is not the Protocol Police", it is formally established here. It polices various aspects of protocol definitions laid out by the RFC series, and enforces adherence to them. They are sanctioned to access walled gardens and may even resort to traffic imprisonment. By the way: if you are interested in joining the Protocol Police, contact your localhost.

2022

Discourages the practice of introducing software defects, to reduce costs and lessen security impacts. By introducing some best current practices the authors hope to get rid of them: "Authors MUST NOT implement bugs. If bugs are introduced in code, they MUST be clearly documented."
Known problems with hexadecimal representation of numbers can be avoided by replacing its alphabet of 0-9 and A-F with two octal ranges: 0-7 and the letters 'cjzwfsbv' (to represent values 8-15 in a bitwise elegant way).

2023

As is customary in light novels, a 'death flag' indicates the increased likelihood of a swift demise of the character. Transferred to TCP, the DTH flag in the packet header could lead to smoother and more attractive session narratives.
Finally, a formalized way (with a ABNF grammar description) to properly describe the interaction between cats and containers, including the occasional ball of yarn.
The AI Sarcasm Detection Protocol (ASDP) is a framework for detecting sarcasm in AI systems (written with the help of ChatGPT). Detecting sarcasm may help improve AI - human intercommunication.

2024

The recent advances in artificial intelligence (AI) such as large language models enable the design of the Faster than Light speed Protocol (FLIP) for Internet. FLIP provides a way to avoid congestion, enhance security, and deliver faster packets on the Internet by using AI to predict future packets at the receiving peer before they arrive. This document describes the protocol, its various encapsulations, and some operational considerations.

Other humorous RFCs

Transcript of a talk of the schizophrenic chatbot PARRY with the computer simulated psychiatrist ELIZA (a.k.a 'The Doctor') which both fail the Turing test with flying colours.
A very 'ARPA-ish' parody of Lewis Caroll's nonsense poem 'Jabberwocky'.
A poem that discusses problems that arise, and debugging techniques used, in bringing a new network into operation. It shows that array indexing is problematic since the olden days.
A parody of the Christmas carol 'The Twelve Days of Christmas', where computer problems pile up and the IT staff is swamped, like on a regular day.
Introducing the NULL encryption algorithm, mathematically defined as the Identity function: NULL(b) = I(b) = b, provides the means for Encapsulating Security Payload to provide authentication and integrity, but without confidentiality.

Submission of April Fools' Day RFCs

The RFC Editor accepts submission of properly formatted April Fools' Day RFCs from the general public, and considers them for publication in the same year if received at least two weeks prior to April 1st. [6] [7] This practice of publishing April Fool's Day RFCs is specifically acknowledged in the instructions memo for RFC authors, with a tongue-in-cheek note saying: "Note that in past years the RFC Editor has sometimes published serious documents with April 1 dates. Readers who cannot distinguish satire by reading the text may have a future in marketing." [6]

Related Research Articles

An Internet Protocol address is a numerical label such as 192.0.2.1 that is assigned to a device connected to a computer network that uses the Internet Protocol for communication. IP addresses serve two main functions: network interface identification, and location addressing.

<span class="mw-page-title-main">Internet Protocol version 4</span> Fourth version of the Internet Protocol

Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. IPv4 was the first version deployed for production on SATNET in 1982 and on the ARPANET in January 1983. It is still used to route most Internet traffic today, even with the ongoing deployment of Internet Protocol version 6 (IPv6), its successor.

<span class="mw-page-title-main">IPv6</span> Version 6 of the Internet Protocol

Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. IPv6 was developed by the Internet Engineering Task Force (IETF) to deal with the long-anticipated problem of IPv4 address exhaustion, and was intended to replace IPv4. In December 1998, IPv6 became a Draft Standard for the IETF, which subsequently ratified it as an Internet Standard on 14 July 2017.

A multicast address is a logical identifier for a group of hosts in a computer network that are available to process datagrams or frames intended to be multicast for a designated network service. Multicast addressing can be used in the link layer, such as Ethernet multicast, and at the internet layer for Internet Protocol Version 4 (IPv4) or Version 6 (IPv6) multicast.

<span class="mw-page-title-main">Subnet</span> Logical subdivision of an IP network

A subnetwork, or subnet, is a logical subdivision of an IP network. The practice of dividing a network into two or more networks is called subnetting.

In computer networking, localhost is a hostname that refers to the current computer used to access it. The name localhost is reserved for loopback purposes. It is used to access the network services that are running on the host via the loopback network interface. Using the loopback interface bypasses any local network interface hardware.

Generic Routing Encapsulation (GRE) is a tunneling protocol developed by Cisco Systems that can encapsulate a wide variety of network layer protocols inside virtual point-to-point links or point-to-multipoint links over an Internet Protocol network.

In Internet networking, a private network is a computer network that uses a private address space of IP addresses. These addresses are commonly used for local area networks (LANs) in residential, office, and enterprise environments. Both the IPv4 and the IPv6 specifications define private IP address ranges.

The Virtual Router Redundancy Protocol (VRRP) is a computer networking protocol that provides for automatic assignment of available Internet Protocol (IP) routers to participating hosts. This increases the availability and reliability of routing paths via automatic default gateway selections on an IP subnetwork.

In the Internet addressing architecture, the Internet Engineering Task Force (IETF) and the Internet Assigned Numbers Authority (IANA) have reserved various Internet Protocol (IP) addresses for special purposes.

Internet Control Message Protocol version 6 (ICMPv6) is the implementation of the Internet Control Message Protocol (ICMP) for Internet Protocol version 6 (IPv6). ICMPv6 is an integral part of IPv6 and performs error reporting and diagnostic functions.

In computer networking, a link-local address is a network address that is valid only for communications on a local link, i.e. within a subnetwork that a host is connected to. Link-local addresses are most often unicast network addresses assigned automatically through a process known as stateless address autoconfiguration (SLAAC) or link-local address autoconfiguration, also known as automatic private IP addressing (APIPA) or auto-IP. Link-local addresses are not all unicast; e.g. IPv6 addresses beginning with ff02:, and IPv4 addresses beginning with 224.0.0. are multicast addresses that are link-local.

The internet layer is a group of internetworking methods, protocols, and specifications in the Internet protocol suite that are used to transport network packets from the originating host across network boundaries; if necessary, to the destination host specified by an IP address. The internet layer derives its name from its function facilitating internetworking, which is the concept of connecting multiple networks with each other through gateways.

In computer networking, the Tunnel Setup Protocol (TSP) is an experimental networking control protocol used to negotiate IP tunnel setup parameters between a tunnel client host and a tunnel broker server, the tunnel end-points. A major use of TSP is in IPv6 transition mechanisms.

An IPv6 transition mechanism is a technology that facilitates the transitioning of the Internet from the Internet Protocol version 4 (IPv4) infrastructure in use since 1983 to the successor addressing and routing system of Internet Protocol Version 6 (IPv6). As IPv4 and IPv6 networks are not directly interoperable, transition technologies are designed to permit hosts on either network type to communicate with any other host.

<span class="mw-page-title-main">IPv6 address</span> Label to identify a network interface of a computer or other network node

An Internet Protocol Version 6 address is a numeric label that is used to identify and locate a network interface of a computer or a network node participating in a computer network using IPv6. IP addresses are included in the packet header to indicate the source and the destination of each packet. The IP address of the destination is used to make decisions about routing IP packets to other networks.

An IPv6 packet is the smallest message entity exchanged using Internet Protocol version 6 (IPv6). Packets consist of control information for addressing and routing and a payload of user data. The control information in IPv6 packets is subdivided into a mandatory fixed header and optional extension headers. The payload of an IPv6 packet is typically a datagram or segment of the higher-level transport layer protocol, but may be data for an internet layer or link layer instead.

NAT64 is an IPv6 transition mechanism that facilitates communication between IPv6 and IPv4 hosts by using a form of network address translation (NAT). The NAT64 gateway is a translator between IPv4 and IPv6 protocols, for which function it needs at least one IPv4 address and an IPv6 network segment comprising a 32-bit address space. The "well-known prefix" reserved for this service is 64:ff9b::/96.

<span class="mw-page-title-main">Rémi Després</span>

Rémi Després is a French engineer and entrepreneur known for his contributions on data networking.

References

  1. "RFC 1149 implemented". Blug.linux.no. Archived from the original on 2011-10-04. Retrieved 2012-03-18.
  2. D. Thaler; B. Aboba (July 2008). What Makes for a Successful Protocol?. Network Working Group. doi: 10.17487/RFC5218 . RFC 5218.Informational.
  3. E. Vyncke. "IPv6 over the Facebook Social Network".
  4. Flanagan, Heather (2 April 2016). "hey, guys, where 1 april 2016 RFC. Ups..." rfc-i (Mailing list).
  5. O. Aboul-Magd; S. Rabie (July 2005). A Differentiated Service Two-Rate, Three-Color Marker with Efficient Handling of in-Profile Traffic. Network Working Group. doi: 10.17487/RFC4115 . RFC 4115.Informational.
  6. 1 2 "Instructions to Request for Comments (RFC) Authors". Archived from the original on 2012-03-27. Retrieved 2012-03-18.
  7. "IETF RFC-Editor FAQ, Q20: How can I submit an April 1st RFC?". Rfc-editor.org. 2011-07-21. Retrieved 2012-03-18.

Further reading