How do you explain IP routing to a non-technical audience? Compare it to sending posted mail. Many routing concepts translate over directly — the envelope encapsulates the letter just as the IP header encapsulates the packet’s payload. The envelope and the IP header each have the sender address, destination address, etc. Postal services around the world route mail based on these addresses just as IP routers around the world route IP packets using their analogues.
Say what you will about email supplanting “snail mail.” Believe it or not, in 2016 the United States Postal Service (USPS) alone handled over 150 billion pieces of mail. And all this comes from a system that started by shuttling letters between colonies using riders on horseback.
One of 128 Technology’s founding principles is that routers and routing protocols — largely unchanged for decades — were not designed with today’s network architectures in mind. In July 2013, we set out to build something fundamentally different — a next-generation routing platform that obviates the need for bolt-on middleboxes by adding intelligence directly into the routing layer.
Fifty years earlier, in July 1963, the USPS faced a routing challenge of its own. Processing an ever-increasing volume of mail due to massive post-WWII population growth, they adopted a new system to make their mail handling more efficient — the ZIP Code (“ZIP” stands for Zone Improvement Plan, but was almost assuredly selected as a clever backronym). The new system asked that senders write a five digit code at the end of each address, both the sender and receiver. Interestingly, these ZIP Codes break the neat “IP routing” analogy. When someone addresses an envelope — and puts the recipient’s ZIP Code on it — that person is directly influencing the path that the letter takes.
ZIP Codes are generally issued based on geographical location. Clusters of neighboring states will share the first digit in common. For example, in the northeast part of the United States — where our office is — the first digit is 0. Within this cluster of states are various “sectional center facilities,” which are large postal distribution centers that are indicated by the second and third digits. The last two digits represent the local post office within the town, municipality, or village where the recipient lives.
Thus, when you’re sending a letter to your grandmother who lives on the other coast of the United States, you are indicating to the USPS various “waypoints” that the letter will pass through. (A subsequent “enhancement” to the ZIP Code system adds four more digits to the end called “ZIP+4.” This helps pinpoint a delivery location, such as a specific mailbox within an apartment complex, or within a local post office region.)
In computer networking, this type of path selection technique is known as source routing. Within the Internet at large, source routing is generally shunned and typically blocked due to insecurities inherent in its implementation in IPv4. (There are well-known probing attacks where malicious agents can deduce a network’s topology or bypass security appliances by crafting a series of packets that specify a particular path they should take.)
At 128 Technology, we’ve adopted a source routing model, but implemented it securely. Each router uses strong HMAC authentication using pre-shared keys to validate it to each successive hop, eliminating the possibility of malicious intent. Furthermore, rather than letting the sender choose the path — or some Eye of Providence such as a Path Computation Engine — the network itself dynamically chooses the most appropriate waypoints.
The 128T Networking Platform (128T) measures link quality — both actively and passively. The active measurements come in the form of Bidirectional Forwarding Detection (BFD) packets, that are exchanged between 128Ts to get an accurate picture of round trip time, jitter, and reordering. The passive measurements are sent by a neighboring 128T, indicating its current level of utilization and health. These measurements, coupled with session policy, give the 128T a complete picture of the current network health between an endpoint issuing a request into the network and a device delivering that service to it, allowing it to make informed, source-based routing decisions independently, and for every session.
Think of it as the Internet’s Zone Improvement Plan.