Introduction to the Internet

July 7, 2020

For some of us the internet is the thing we use to post photos, chat with friends, and more recently, go to work or school on Zoom. For others, it might be the Ethernet port at the back of your modem. But how does it get there? Where does it come from? Is it possible to stop paying your ISP completely and become one yourself? These were some of the things I was wondering a few years ago, and after operating “my own ISP” of sorts, I can hopefully answer those questions for you as well.

The most important thing to realize about the internet is that it isn’t some cloud that comes out of your ISP. It’s also not exactly just a bunch of connected computers either. More accurately the internet could be defined as a group of interconnected discrete partially-autonomous networks working together for economic gain. Let’s break that down.

a group - The internet is made up of many networks that connect to each other. I’ll get into how this actually works later on.

discrete - These networks are independent of each other and are operated by many different companies and individuals.

partially-autonomous - The technical term for a network on the internet is an “Autonomous System”, meaning that the network is able to autonomously (without human intervention) rebuild itself in order to recover from damages. That of course only happens when it’s set up correctly.

working together for economic gain - This is the unfortunate part. The internet, although distributed by design, is wholly controlled by 5 entities which charge for their services and are governed by politics. These are called Regional Internet Registries, RIRs for short. Each RIR covers a certain geographic location and coordinates the assignment of numbers that are integral to the internet’s operation. These are Autonomous System Numbers (ASNs) and IP Addresses.

What is an Autonomous System?

An Autonomous System (AS) is the term for a network on the internet. Your ISP is likely its own AS, as well as many large companies such as Google, Amazon, and Microsoft. There are also many small companies such as the Oregon Ice Cream Company, which for unknown reasons operates multiple Autonomous Systems. An ASN, or Autonomous System Number, is the unique integer that is assigned to each AS on the internet. RIRs, Regional Internet Registries, keep a database of these numbers and the organizations that maintain them. For example, Google maintains AS 15169 (among others) which is managed by ARIN, the RIR for North America.

What is an IP address?

An IP address is a globally unique set of numbers that make up an address on the internet. Much like a house address, IPs are used as the identifier for a particular location. In the beginning of the internet, each computer had an IP address, and in order to connect to that computer, you would need to know its IP address. Now it’s more complicated than that, but we’ll get into that more later on. IP addresses are grouped into blocks, (also known as ranges) and just like ASNs, are managed by RIRs. There are 2 families of IPs, IPv4 and IPv6. Both accomplish largely the same thing, but there are many more IPv6 addresses than IPv4. IPv6 was created because IPv4 is just about used up.

What is the cloud?

“Cloud” is the general term for a group of servers (computers) that are designed in order to store and deliver content from the internet. For example, Netflix owns a large amount of servers that store their TV shows. When you stream Netflix, in reality your TV is connecting to one of Netflix’s servers to download whatever it is your watching. These servers live in datacenters, which is also where many networks come to talk to each other. More on that in a second. The internet is just a collection of servers, routers, and people that want to interact with that data. These people are known as “eyeballs” in the service provider space.

How do networks talk to each other?

Similar to sending a letter in the mail, data on the internet is forwarded through many locations. A letter may travel from Portland, to Dallas, and then arrive in Indianapolis. Data on the internet can do just the same. If someone living in Portland wants to access a server that’s located in Indianapolis, the data might flow through Dallas in order to get there. Devices that forward data are called routers, because they route internet (IP) data to its destination. Autonomous Systems use a protocol known as BGP in order to exchange routing information, much like postal carriers exchange information about where they are able to ship mail. Using BGP, an IP address block is “announced” by an ASN, which means that the ASN is announcing to other networks where it intends that IP to be routed to. Similarly to postal carriers, some networks want to be paid for routing that data, because it costs them money to maintain the hardware and cables that are needed to make the internet work.

Can I become my own ISP?

Yes! But maybe not in the way you would like. As discussed earlier, the internet is a group of networks. It is entirely possible to get an ASN, IP space, and using BGP, connect your network to many other networks in order to become an ISP. The real problem is the “last mile” between the datacenters where the internet is, and your house. This is why ISPs can charge so much, because they own the physical cabling that runs underground from the datacenter to your neighborhood. It’s also possible to do this with wireless signals, but that’s difficult as well.

Want to learn more?

There is a really neat project called DN42 that coordinates ASNs and IP addresses in a fake virtual internet. This is a great way to learn about how the internet works hands on by actually requesting IP addresses and an ASN, configuring BGP sessions, and building out your network. The big difference being DN42 is free, and RIRs for the real internet charge money. If you’re interested in moving on from DN42, it’s possible to get a real ASN that can be used on the global routing table. If you’re interested in perusing that path, feel free to drop me an email and I would be happy to help point you in the right direction.