IPv6
This website is being run on a computer, somewhere. You don't have to have a degree in computer engineering to get that far. As for what that exactly means or what all those people are talking about when they say things like "the cloud" aren't important for what we're going to be talking about today (or in any other context, for that matter).
You probably found this website by entering (or clicking a link to) "atlasscripts.com"; I'm not here to judge your methods, but that alone is quite literally impossible for a computer to reach this website. You see, in the background there was a process of translating that serries of letters (and a period) into a number. That number is the IP address of the server that I own, who was kind enough to return the data required to show this beatiful website.
That number, the IP address is the communication standard of the world wide web. In fact, it might surprise you to know that there isn't even all that much of a difference between the inner workings of a postal office and the internet:
- In order to make use of this network, every 'node' needs to have an address in order to be reached.
- Any attempt to make use of the network must be accompanied by a 'return address' to send the responses of a request to.
- The network as a whole is segmented into smaller subnetworks so that responsibilities can also be segmented (The captain of a transatlantic freighter doesn't need to know the exact home addresses of the packages they're delivering)
The number assigned to a node on the internet is somewhere between 0 and 2^32 = 4,294,967,296. That's a lot of addresses... right? Well, not really. Turns out that since the 1980's, we've already foreseen the depletion of these addresses.
This depletion has lead to the introduction of private IP addresses - that is a range of addresses that aren't allowed to be used on the internet. That might sound counter-intuitive, but it actually is quite a brilliant system. By introducing private IP addresses, systems no longer had to refer to other computer by their global IP address. Imagine this: You want to ask your partner if your daughter is in her room. You might say something like "Hey, have you seen Sarah? Is she in her room?" instead of "Hey, have you seen Sarah? is she at Contrada Farin 12, Appartamento 24, San Teseo, TA 60501, second door on the right after going up the stairs?". The concept of "Her room" is something that only makes sense in the context of a conversation of two people who a. know Sarah, and b. know which room is hers. But given these prerequisites, it's perfectly fine to communicate in this way. If Sarah, however, wanted to order something off of the internet and entered "Sarah's room" into the delivery address box, she'd quickly understand the difference between local and global addressing space.
These days, global addresses are generally only used by routers. In much the same way that you share a global address to deliver parcels to with anyone else who might live with you, you share a global address with anyone else you share a router with to deliver packets to. When packets are received by your router, it uses local addresses ("Sarah's laptop") to decide for whom the packet shoud be forwarded.
This has as an effect that servers you're connecting to, such as this very website, aren't able to distinguish very well between different devices connecting from the same IP address. Other systems are in place to make sure sessions aren't confused with one another (So that both you and Sarah can log into their banking accounts without the server getting confused) but if your IP address gets banned from the Google email servers because Sarah was actually getting some extra money by setting up an email spam service, then don't expect your emails to be getting anywhere either.
Well, given that the the internet protocol (IP) is literally just that, a protocol (read: set of agreements we adhere to in order to make things work), what's stopping us from just making up a new protocol that allows for more of these numbers? As it turns out, nothing.
All the way back in 1995, IPv6 was released. It upgraded the number of publically routable addresses from 2^32 to 2^128, that's quite the upgrade. It means that there's about 6.5 billion addresses available for every person alive at time of writing. A block of 255 IPv4 addresses costs an internet service provider about eight thousand US dollars at time of writing, whereas IPv6 is basically free. The implementation of IPv6 would mean that you could start up your laptop, make a cool website, start a server, slap an IPv6 address on it and just like that, it's published to the entire world to see. You could have one IPv6 address that changes every now and again as a source address to reduce tracking and eliminate the problems introduced to Sarah's aspirations of becoming a cybernuisence, and you could have a static, unchanging IPv6 address for any services you want to keep exposed for the world to enjoy.
Best part is, you might already have an IPv6 address and not even know it. Many ISP's have already started rolling out IPv6 to their customers. You can expose any service you like right now and share it with everyone!
The only issue is that it's not incredibly well adopted as of yet. Right now, just under half of the world connects to Google over IPv6, and people generally don't feel any hurry to push that number up. Networking engineers generally feel uncomfortable by it because the longer length of an IPv6 address feels more iffy to work with and are generally more difficult to remember (for reference, an IPv4 address might look like 192.168.0.1, whereas an IPv6 address might look like 84e5:fdeb:ef2e:ade0:8803:8b40:2ac5:ac20). This, of course, barely makes since the absurd length allows us to no longer have to subnet our network and just use the same sized block for anything, and in the day and age of DNS, barely anyone even needs to remember and IP address off the top of their head.
It's becoming a lot more difficult for hobbyists to start services on the internet without stepping towards public cloud providers like Microsoft Azure and Amazon Web Services, and for good readson. Many ISP's don't even offer IPv4 addresses to consumers. Lots of people have some computer that could easily host a website, but to actually host it, they'd have to give up the address that they also use for their general day-to-day internet usage. Pushing IPv6 over the entire world could lead to a humbler, more accessible internet like the days of old from which my website also draws loads of inspiration.