title: The broken Internet --- pub_date: 2020-09-02 --- author: Nico Schottelius --- twitter_handle: NicoSchottelius --- _hidden: no --- _discoverable: no --- abstract: --- body: ## TL;DR The Internet is broken and IPv6 can repair part of it. ## The Internet is broken If you are working in IT or if you computer scientist, you probably have mumbled this sentence already before yourself: "the network is broken", or more specific, "the Internet is broken". But what is really wrong with the Internet? ## Computers are not reachable by default One of the most bizarre and weird things in the Internet is that computers cannot reach each other. You might have a question mark reading this claim, so I'll try to elaborate a bit: While you are reading this article, checkout your IP address on your computer. Does it start with 192.168., 10. or 172.16.? It probably does and that means your computer is configured to use a **private**, or **degraded** IPv4 address. These addresses are being filtered on the Internet and are used, because your provider does not have enough **proper, public** IPv4 addresses. ## What is the problem with degraded IP addresses? The first problem is that these IP addresses are used multiple times. You, your neighbor, people in different cities - they all use the same IP address. So if you want to reach their computer you need to tell your computer "I want to reach that computer on 192.168.1.42", but your computer is already on the same address! How can it send to 192.168.1.42? It can't! The second problem with these degraded IP addresses is that you cannot use them on the Internet. Because these IP addresses are private and not supposed to be seen in the Internet, they are filtered by ISPs. You might be puzzled reading this, because you are in the Internet reading this article, aren't you? ## You are not in the Internet Practically seen, having a private IP address, you are a second class citizen of the Internet. You cannot tell anybody else "this is my IP address, just download a file from my computer". If you want to download a file from a friend, you will need to use an external service, like cloud storage. If you want to chat with someone, you again cannot just connect to the computer or mobile phone of the person you want to connect to. Instead you will need to use another intermediary party. This is not the Internet. The Internet is a network of networks, which allows anyone to connect anywhere. You want to access your own NAS that is in your home? You'll again need to connect it to someone else to be able to reach it. ![](/u/image/ipv4doublenat.png) All those intermediate services introduce latency and cost into your daily routine. For many of us above scenario sounds like a normal thing to do. However, it is a very degraded version of the Internet that we are using. ## No public IP addresses left So why are using private IP addresses anyway? Basically your ISP, like almost all ISPs in the world does not have enough public IP addresses to give every of your device a public IP address. So instead of connecting you directly to the Internet, you are given a maximum of 1 public IPv4 address for all your devices. However even 1 public IPv4 address per customer was too much for some ISPs. So they started repeating the NAT process, making the network more complex, slower and also putting you further away from other participants of the Internet. ![](/u/image/ipv4natandcgnat.png)