Half-baked idea: local-only ISPs
I had another one of my really wacko half-baked ideas this morning. This one is probably a very bad idea. Of course, that won't stop someone from trying to bring it to market some day. Like so many of these things, I tend to write them up just so that when it happens, I can point back at a post and say "see!" ...
Right now, when you connect to some random consumer ISP, like a cable or DSL provider, it's understood that you'll get IP connectivity to the rest of the world. If there's some network you can't reach, chances are there's some temporary problem and it's not intentional. Sometimes, these guys play "chicken" with each other over peering agreements, but it doesn't seem to affect ordinary home users that often.
As a result, it doesn't really matter which networks are between you and the rest of the world. You effectively have a free pass across enough of them to where you can get things done. If your ISP hasn't arranged some deal, then their provider has, or the other side has worked something out, or whatever. You get the idea.
Anyway, what I imagined this morning was a world where ordinary end users did not automatically have transit across the various backbone type providers. For instance, you might be connected to Comcast and you could theoretically reach other people who also are on Comcast, but that wouldn't be very interesting. Your favorite cat picture sites are hooked up to some other providers and you need to cross their networks to get there.
So, in this topsy-turvy world, end users would have to work out their own connectivity with a transit provider. Their home ISP -- that is, the company which actually runs the local fiber or copper -- would only take them as far as some kind of local "termination point" for that provider. It would be up to you to make use of it.
This got me thinking about how you might design such a crazy system. One way would be to have the transit providers run their own VPN servers, and either route them (and nothing else), or just park a bunch of those things every place they peer with a "last mile" provider. The end user would get their local IP from whoever, but they'd then tunnel through that to a VPN concentrator which was connected to their local IP provider. From there, they'd be able to cross the transit provider's network and go out to the rest of the world.
Again, to be clear, nothing about this seems like a good idea.
Still, doesn't this sound a little like the way long distance dialing works in the US, particularly with "dialaround"? Assuming normal old-school POTS, you get a dial tone from a local provider. You can talk to other people who are also attached to that same provider in the same area. However, if you need to go beyond that local area (even if they happen to be on the same provider, thanks to LATA boundaries), you need an IXC to get there.
This leads to the whole "PIC" thing, where you have a default provider for your "1 plus" calls, so when you dial out, it automatically gets relayed to them by your local telco and they bill you later. Or, you dial some kind of access code to purposely route it one way or the other (dialaround), and then some other company handles it.
Obviously, circuit switching vs. packet switching makes this different. You don't normally place phone calls to hundreds of different end stations in the matter of a couple of seconds, but when you visit a web site, you're blasting packets to all sorts of destinations. Just think about how many different networks you hit when you load a page laden with "social sharing" buttons, user tracking 1x1 pixels, advertisements, media delivered from a CDN vendor, and so on. That's a bunch!
If you're wondering what gets me thinking about this kind of craziness, I will try to unwind the "stack trace" which got me here.
Earlier this morning, I was awakened by my lovely weather radio alarm, and yes, it was in fact for an AMBER alert. Someone made off with a car in San Jose and there was an 11 month old inside. Bad stuff.
A few minutes after that, my phone started ringing. On the display was the number 999-999-9999. I've seen a lot of phone number craziness, but that's a new one. I hit the "lock" button once to shut it up and figured I'd check it out later. A few seconds after that, I heard the usual "zzt-zzt" of a new text message arriving. It was from some 5 digit "short code" which I had never seen before. How curious!
I did some digging, and it turns out this is all related. I had signed up for an "AlertSCC" service which allows various county agencies to push notices to me. They had apparently picked every single method of distribution, since I got that radio alert, a robo call (which successfully left a voicemail), a text message, and yes, even an e-mail.
It seems the company which pushes these things deliberately sets their calling number to 999-999-9999. This isn't exactly difficult if you have the right sort of telco service, but it is a little weird for a legitimate service to be doing.
This in turn got me thinking about what can be done about so-called "caller-id spoofing". I remembered reading about some company which thought they had come up with their own Secret Sauce which would put an end to such things. From what little I could discover, it seemed they were "plugged in" at a level which gave them full-blown SS7 data for calls and not just a 10 digit number. Then they'd do some magic with this to see if it was legitimate or not.
This was some years ago, and I don't remember who it was. I can't seem to find anything useful about it now, either.
Anyway, to continue the "stack trace", this got me thinking about how calls transit the telephone network, and the kinds of agreements which must exist between companies, and then ... aha ... the agreements which exist between companies and end users. They have to deal with long distance companies directly, or at least, they did. The lines are blurry now, but for a while there was a clear separation.
Then I wondered what that might look like on the Internet, and the rest you can see above.
That's been a hop, skip, and a jump through my brain, cooking up a half-baked idea, and serving it up as a post. Enjoy.
March 26, 2013: This post has an update.