RFC 5984
Increasing Throughput in IP Networks with ESP-Based Forwarding: ESPBasedForwarding
Increasing Throughput in IP Networks with ESP-Based Forwarding: ESPBasedForwarding ๐ฆ
RFC 5984 ยท Independent Submission ยท Category: Experimental ยท ISSN 2070-1721 ยท Author: K-M. Moller ยท Date: 1 April 2011 ยท It doesn't list any RFCs it obsoletes or updates, so it's solo, no drama ๐
Abstract โจ
okay so this doc proposes an experimental way to hit infinite bandwidth in IP networks using ESP-based forwarding. yes, infinite. we're not being dramatic (we are a little dramatic) ๐
Status of This Memo ๐
this is NOT an Internet Standards Track spec. it's published for examination, experimental implementation, and evaluation, so think of it as a draft-ish vibe check ๐ง
it defines an Experimental Protocol for the Internet community. it's a contribution to the RFC Series, independent of any other RFC stream. the RFC Editor chose to publish it at their discretion and makes no statement about its value for implementation or deployment. docs approved by the RFC Editor aren't candidates for any level of Internet Standard, see Section 2 of RFC 5741 ๐ธ
for current status, errata, and how to send feedback, check http://www.rfc-editor.org/info/rfc5984 ๐ฅ
Copyright Notice ๐
Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved.
this doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as in effect on the date of publication. please actually read those, bestie, they explain what you're allowed to do with this doc ๐
Table of Contents ๐
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements Language . . . . . . . . . . . . . . . . . . . 2
2. Background . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1. Experiments with Black Fiber . . . . . . . . . . . . . . . 3
2.2. Schrodinger's Cat Experiment . . . . . . . . . . . . . . . 3
3. ESP-Based Forwarding . . . . . . . . . . . . . . . . . . . . . 4
3.1. Principle of Operation . . . . . . . . . . . . . . . . . . 4
3.2. Architectural Components . . . . . . . . . . . . . . . . . 4
3.2.1. DPAUI . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2.2. PPG . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2.3. IID . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2.4. CFE . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2.5. PPS . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2.6. ND . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4. End User Considerations . . . . . . . . . . . . . . . . . . . . 7
5. TCP Slow-Start Considerations . . . . . . . . . . . . . . . . . 7
6. Market Considerations . . . . . . . . . . . . . . . . . . . . . 7
7. Security Considerations . . . . . . . . . . . . . . . . . . . . 7
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
8.1. Normative References . . . . . . . . . . . . . . . . . . . 8
8.2. Informative References . . . . . . . . . . . . . . . . . . 8
1. Introduction โจ
okay so mechanisms for efficient packet forwarding have been evolving for years, and the demand for bandwidth just keeps climbing ๐. instead of tweaking forwarding performance and link capacity one tiny step at a time, this doc introduces a brand new concept in packet forwarding. the vibe is unsurpassed end-user performance no matter the link capacity, the distance, or how many hops you've got ๐
1.1. Requirements Language
the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119] ๐
2. Background ๐ธ
so the last few years brought a lot of upgrades to packet forwarding. software and hardware optimizations, plus bigger link capacities, have cut down round-trip times ๐ฅ. even so, lots of users are frustrated, because their demand for bandwidth has grown faster than the supply ๐ญ
the current incremental approach to lower latency and raise capacity is about to hit the end of the road. this has been known for a while and is stated in RFC 1925 [RFC1925] clause 2:
"(2) No matter how hard you push and no matter what the priority, you can't increase the speed of light."
BUT our research finally got around that boundary by building zero-latency network paths โจ
inspired by RFC 1072 [RFC1072], where a network containing a long, fat pipe is called an LFN (pronounced "elephan(t)"), we're calling an internet path with zero latency "infinitely fat" ๐, and a network containing that path an "IFN" (pronounced "infan(t)") ๐ง
before we landed on this forwarding principle, the team tried a few experimental methods too. we're sharing the failed attempts so other people don't make the same mistakes we did ๐. these two got dismissed:
- Black Fiber
- Schrodinger's cat experiment
2.1. Experiments with Black Fiber ๐ฆ
using black fiber to push past the speed-of-light limit looked super promising at first. shortly after starting, the team noticed a lack of light in the black fiber. they read that as proof of data transmission faster than light. after popping the champagne ๐พ, these problems showed up:
- No data reached the receiver.
- The fiber was not connected at the transmitting side.
this clearly spoiled the mood of the party ๐
2.2. Schrodinger's Cat Experiment ๐โโฌ
the Schrodinger's netcat experiment tried to implement the method described by E. Schrodinger [Schrodinger35]. the original procedure involves locking cats in boxes with radioactive materials and poisonous gas. the team added data communication to the experiment by using netcat ๐ต. the research team was dumbfounded that the cat experiment seemed to work and not work at the same time. a friend of Wigner's [Wigner] also confirmed this ๐คฏ
a detailed analysis showed that the probability vectors collapsed whenever traffic was sent to the box. the conclusion was that this approach only works without traffic, which kills every practical application ๐ค
3. ESP-Based Forwarding ๐ฎ
experiments with ESP-based (Extra Sensory Perception) forwarding have successfully removed the limitation in RFC 1925 [RFC1925] ๐
the whole ESP-based forwarding scheme is built on reducing latency through precognitive datagram detection and generation. with this tech, latency won't just reach zero, it might even go negative ๐
Benjamin Libet's experiments [Libet85] on the readiness potential (Bereitschaftspotential) conclude that the end user's latency from impulse to conscious mind is approximately 350 - 400 ms ๐ง . so to get the highest possible data transport without confusing the end user, it's important to factor that latency in ๐
3.1. Principle of Operation โญ
traffic between the end user and the server reaches the ESP-enabled router. inside the ESP-based router, the data stream is first analyzed by the DPAUI (Deep Packet And User Inspection). the DPAUI sends a signal to the PPG (Deep Packet And User Inspection), which generates uplink IP datagrams supported by the IID (Infinite Improbability Drive). the generated IP datagram goes to the CFE (Clairvoyant Forwarding Engine), which forwards it. finally, the "real" uplink, the end user datagram, is received and forwarded to the ND (Null Device) ๐ซถ
3.2. Architectural Components ๐งฉ
the current ESP-based forwarding architecture includes these components:
- DPAUI
- PPG
- IID
- CFE
- PPS
- ND
3.2.1. DPAUI ๐
the DPAUI (Deep Packet And User Inspection) monitors the data streams for every individual user. it works by running a learning agent that analyzes each user one by one ๐ค. its output is a signal that says an IP datagram will be sent by the end user within a couple of seconds โฑ๏ธ
3.2.2. PPG ๐ฎ
the PPG (Precognitive Packet Generator) exists to generate the IP datagram that the end user is about to trigger. to craft that datagram, the PPG does a lookup based on the offset and length parameters generated by the IID. the PPG generates the future packet with this function:
struct mbuf * CopyDatagramFromPi(
insane long offset,
unsigned int len);
CopyDatagramFromPi() returns a pointer to an mbuf containing the IP datagram. the offset value and len match a corresponding offset and length in the decimal digits of pi that hold the bit pattern for the future datagram. this turns the complicated business of precognitive packet generation into a simple lookup ๐ฅนโจ
some people raised concerns that the full decimal set of pi needs an infinite amount of memory, which could hurt the router's manufacturing cost ๐ฌ. those concerns were handled by using a perfectly circular buffer, which cut the previously stated memory requirements by at least half ๐
3.2.3. IID ๐
the IID (Infinite Improbability Drive) helps the PPG and PPS deal with improbable probabilities (and the other way around). it was originally invented by Douglas Adams [Adams79]. the original implementation hooked up the logic circuits of a Bambleweeny 57 sub-meson Brain to an atomic vector plotter, suspended in a strong Brownian motion producer (aka a nice hot cup of tea) โ
the research team struggled to build the strong Brownian motion producer. honestly, most of the research budget was wasted before everyone fully accepted that a warm cup of tea and router equipment rarely mix ๐
then the gastronomical department (working on the Bistromathic Drive) helped the team attach a brownie on top of a radio controlled hovercraft full of eels ๐ฆ. this caused plenty of noise and disarray, but also a sufficient amount of Brownian motion. the team is still working on an entirely software-based solution, and hopefully the eel-filled hovercraft gets replaced with a different type of python script ๐
3.2.4. CFE ๐ฐ๏ธ
after the PPG has produced the IP datagram, the CFE (Clairvoyant Forwarding Engine) tries to find the right route. since that route might not exist yet, direct access to a routing table can result in routing errors ๐ง
the CFE is very straightforward. any off-the-shelf routing stack with a routing table and a routing daemon can be used, and a standard Ouija board is simply put on top of the routing table ๐ป. for each datagram, the CFE starts an Ouija board session that establishes a connection with the routing daemons. the CFE seeks guidance for the future of the IP datagram, then sends it along for a low cost, to meet a tall, dark server rack ๐ค
more of this iconic chaos is coming in part 2 ๐ง๐
3.2.5. PPS โจ
okay so the PPS (Pre-Preemptive Scheduler) ๐ฎ gets synced up using an NTP connection to the IID based NTP server ๐ฐ๏ธ and this is literally the coolest part: it makes sure the ESP process runs ten seconds ahead of local time (layman's term: "into the future") ๐๐. bestie, that's a whole vibe! ๐ The ten-second lead should keep things working even with very long Round Trip Times, and it should also account for the end user's readiness potential ๐ซถ. slay ๐
the pre-preemptive scheduler doesn't just give you a separate user space, it gives you a separate dimension to execute in ๐๐ฆ ngl this is so unhinged. The dimension alignment is based on string theory ๐งตโจ and it's been implemented in C, just by including string.h and then using strcpy to copy the PPS function pointer into an eleven-dimensional array ๐๐. iconic, no notes.
3.2.6. ND ๐ณ๏ธ
okay after a little time (less than the 'end user to server' Round-trip time, or RTT ๐), the real end user datagram reaches the ingress side of the ESP-based router, because the datagram was already sent, routed and returned ๐โจ. Then it gets directly routed to the ND (Null Device) ๐ซฅ and the ingress packet counter gets decremented ๐. not me being impressed ๐ญ
experimentation showed that the ND is a perfect source of entropy ๐ฒ and it can store all digits of pi ๐ฅง๐คฏ. the research team had huge hopes of shrinking the memory footprint for the PPG even more, but they ran into problems with read access times ๐ฅฒ. the ND is readily available in most operating systems ๐
4. End User Considerations ๐ฎ
end user considerations and differentiated traffic classes, bestie ๐ :
- in order to give end users a pleasant gaming experience ๐ฎ๐ฅ, packets headed for the spinal cord (force feedback info, etc.) MUST be delayed by 350 ms so they line up with the traffic the end user routes to the cerebrum and cortex ๐ง โจ.
- RFC 1216 [RFC1216], Section 3.3 says that "bad news travels fast" ๐ฐ๐. So extra delay MUST be added when the end user is browsing news sites ๐๏ธ. Negative latency might make the end user suspect the news is even worse than the news sites say ๐ณ๐.
- Machine-to-Machine (M2M) communication might have reduced performance because the DPAUI has trouble working correctly ๐ค. When the concept starts working for M2M communication, that can be read as a sign that a technological singularity might be near ๐๐.
5. TCP Slow-Start Considerations ๐ข
the lack of RTT of IFNs might cause some problems with TCP slow-start ๐ฌ. More precisely, it will most likely not be slow at all ๐๏ธ๐จ. This might be handled by implementing a congestion avoidance mechanism, but that needs further study ๐๐ซถ.
6. Market Considerations ๐๏ธ
unfortunately, we foresee that this product will never be ready for the market ๐ญ๐. This is especially true for the Pre-preemptive Scheduler, which by nature will always be slightly ahead of its time โฐ๐ฎ.
7. Security Considerations ๐
โ ๏ธ bestie, these are serious, so read them carefully!
- introducing an end user RTT delay of zero might cause crashes in badly implemented TCP/IP stacks ๐ฅ. This is because division by zero might occur when calculating the bandwidth-delay product โ๐.
- ESP forwarding of traffic generated by psychics might lead to problems with recursiveness ๐ฎ๐.
- Lawful Intercept of the Deep User and Intention Inspection might violate personal integrity ๐ซฃ๐จ.
- terrorist organizations might exploit the "bad news travels fast" loophole in RFC 1216 [RFC1216] ๐จ๐. Please be careful, babe ๐ฅบ๐ซถ.
8. References ๐
8.1. Normative References ๐
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
8.2. Informative References ๐ฆ
[Adams79] Adams, D., "Hitchhiker's guide to the galaxy.",
1979.
[Libet85] Libet, B., "Unconscious cerebral initiative and the
role of conscious will in voluntary action.", 1985.
[RFC1072] Jacobson, V. and R. Braden, "TCP extensions for
long-delay paths", RFC 1072, October 1988.
[RFC1216] Richard, P. and Kynikos, "Gigabit network economics
and paradigm shifts", RFC 1216, April 1991.
[RFC1925] Callon, R., "The Twelve Networking Truths",
RFC 1925, April 1996.
[RFC1928] Leech, M., Ganis, M., Lee, Y., Kuris, R., Koblas,
D., and L. Jones, "SOCKS Protocol Version 5",
RFC 1928, March 1996.
[Schrodinger35] Schrodinger, E., "The Present Situation In Quantum
Mechanics", 1935,
<http://www.tu-harburg.de/rzt/rzt/it/QM/cat.html>.
[Wigner] Wikipedia, "Wikipedia: Wigner's friend.",
<http://en.wikipedia.org/wiki/Wigner's_friend>.
Author's Address ๐ก
Karl-Magnus Moller
Tankesaft
EMail: kalle@tankesaft.se
๐ฆ where this page comes from
- ietf: rfc5984 2011-03
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms