In online dating, you upload your picture, biography, and interests, and the site will match you with other users based on the details they’ve provided. Millions of users find potential partners and happily go on to exchange messages, build relationships, and live happily ever after.
However, it isn’t always that simple. Amidst the good people looking for love, bad people create fake profiles and identities, pretend to be someone or something they’re not, and/or initiate scams. While some dating sites have taken measures to check the profile accuracy, it remains remarkably easy to claim to be pretty much anything you want.
Imagine if all the networks that constitute the Internet matched with each other and built their relationships in the same way, without any sort of verification that their credentials are correct. Crazy, right? Imagine the chaos! Except, well, that is in fact how the global routing system largely operates today, despite it being a critical component of the Internet.
This is the first post in a 5-part series explaining why routing is needed, how it works, its security concerns, and how to fix things. Our intent is for this to be as non-technical as possible to help non-engineers understand this sometimes-complicated topic. First, let’s dig in with some basics about routing.
Routing: How Data Moves Around the Internet
The Internet is a global system of interconnected computer networks using a common language – TCP/IP – that specifies how data should be transmitted and received. Data – say, a love letter – gets split into smaller blocks of information known as packets. Each packet includes an IP address that identifies its intended destination. An IP addresses is a unique number that identifies each device on the Internet.
Think of the IP address like a mailing address. Each envelope has an address on the outside and part of a love letter on the inside. When every envelope gets to its destination, you can put it all together and read all about how much your partner loves you.
But how do the packets find their way across the Internet to their destination? For this, we need routing, which works like the postal service. The postal service collects envelopes and sorts them based on the destination zip or postal code, to be sent onwards to other sorting offices closer to their final destination. A letter might go to multiple sorting facilities before ending up at its destination.
Each network is connected to the rest of the Internet with at least one router, which is a specialised computing device that discovers other networks and forwards packets based on this knowledge. Routers are the postal services of the Internet. Routers forward packets to other routers and ultimately to their final destination based on the packet’s IP address, in accordance with the knowledge each router has about the next delivery step.
In some cases, a router is directly connected to the destination network, but in most cases, it will only know the best way to reach that next network over and will forward the packet to the next router along the delivery path, known as the next hop.
Much like the different parts of a zip or postal code allow mail to be forwarded to regional and then local sorting offices before eventual delivery to your house, routers use the first part of an IP address (the network prefix or simply prefix) to forward a packet to the destination network, with the remaining bits (the host identifier) used to actually deliver the packet to the destination device.
In tomorrow’s post, we’ll discuss how routers build the roadmap that tells them where to forward packets of data.