Saturday, November 21, 2015

Breaking the Internet

Back in the early 90's, a problem was discovered with the way we connect our computers to networks. The address space was (is) going to run out. Groups were put together to come up to a solution to the problem and by 1998 there was a protocol established called "IPv6". In 2004, revisions were made. The solution, in its entirety, has been fleshed out.

In the meantime, not all devices are connected to the relatively new "Internet". The problem was that while a household might have multiple devices, they could only receive a single line. A single address...

"Not a problem", you might say, "I can just 'share' the connection with the other computers". The way this is done is to use a reserved address space for inside your home/workplace, the same address space that can be used by your neighbours, and then to use something called NAT (Network Address Translation) to talk to the Internet. Essentially, it makes a computer, sitting between your 'computers' (tablets, phones, laptops etc.) and the Internet, responsible for receiving information from your internal network, changing it so that looks like it owns it all, and then send that information to the Internet and vice versa.

It's a solution but it breaks something. The end-to-end principle. That is, every device should be able to talk to every other device. There are solutions to this. The main problem here is one of "ports". If I want to run a web server, I need to be listening to requests on port 80 and port 443. Which means, that on that computer between me and the Internet (we'll just call this a router from here on in), I need to tell it where to send any requests to port 80.

Not that big a problem.

Let's get back to that great big problem from the beginning of this post. We're running out of addresses. The problem was defined. A solution proposed. And it was all done well before it actually was a problem. And NOW, we're running out of addresses. We haven't run out yet, but we're fast getting there.

It's now toward the end of 2015. We've got a roadmap and we've had it for quite some time! We can fix this thing! And this is where it all gets a little bit hinky:

In order to implement the IPv6 standard, it takes a whole lot of new equipment. Not a problem IF the issue it solves is being taken seriously. Investment can be made in new equipment and the business can continue to operate. However, if the new equipment is seen as an expense, rather than an investment, where is the motivation to spend that money?

Here's where we're at. ISP's need some way to reduce the number of addresses they're using because they haven't made that investment. IPv6 isn't really gaining any real traction because the investment hasn't been made. There needs to be a solution.

And here's were things get weird. That thing? The NAT stuff? The stuff that's useful for your own network? What if that were done on a larger scale? And that's exactly what's happening. Rather than use a long term solution, it's cheaper to just break the Internet!

The big difference between what an ISP is doing what you're probably doing at home through a humble little box that sits in a corner somewhere with a few flashing lights is the scale and amount of control.

If I wanted to run a web server, it was possible. I would just say to that little box "I'm expecting something on this port. Please pass it to this machine when you get it". But I'm not dealing with a humble little box anymore. I'm not dealing with just my network. Instead, the ISP rules the roost and they're dealing with a network that consists of my neighbours (people in my city/country). So asking them to pass on a packet that I'm expecting is a no go.

That end-to-end stuff? It might affect someones bottom line!

I've, for a long time, had a problem with the idea that somehow anything I choose to send is less valuable than what I receive. The Internet was meant to be a level playing field. All traffic was meant to be treated equally. But an ISP is essentially saying to me that my content is less valuable because I'm a home user. I'm meant to consume! Not produce! Now, ANYTHING I generate is worth even less. Either I pay more, to get my own address where I used to be handed one out every time I connected, or I can't make a choice to host my own stuff.

No comments:

Post a Comment