Encrypted OTR chat initiated. natfriedman: i'm on an airplane over the atlantic they have wifi on these things now this is unbelievable jwz: dude! natfriedman: dude! jwz: that's pretty rad natfriedman: it is so cool! jwz: is it porn-blocked? natfriedman: haha well nat.org and jwz.org load so probably not jwz: if I ask you about the explosives and box-cutters, will you get a visit from the air marshall right now? natfriedman: oh my god! you bastard :-) the guy next to me is so fat he can't put the arm rest down i wish my camera weren't in the overhead bin i would be webcasting this shit the valium is on way too strong for me to do anything about that right now
And then today I read: Tracking Plane Flight on Internet
I just saw my plane cross the mid-Atlantic, not by looking out the window, but by watching routing updates cascade across the Internet. [...] I was able to see the mid-Atlantic shift because the plane I'm on withdrew its routes from the European communications satellites and re-announced them in North America.
The main problem that the Boeing engineers faced is that geostationary satellites are really high up. In fact, they are at least 300ms unidirectional latency all by themselves (that's aircraft->satellite->Europe).
So how did they solve it? They assigned a /24 (256 globally visible IP addresses) to each plane. They announce that network from the origin site (in my case, Europe since I took off from Germany). When the plane is between the two satellites and in view of each, it is programmed to re-connect to the North American satellite. So traffic is always getting to the ground the fastest it can, minimizing latency. In the example above, they were able to cut that latency in half by utilizing this strategy.
The IP addresses on the plane are all NATted, but the plane itself still has a visible /24 of address space.
About 2 hours west of Ireland, my connectivity froze for about two minutes. I had a ping running in the background and it just hung. I waited until it restored, reconnected to my screen session, and sure enough, colleagues at home reported massive routing change associated with that network: Boeing had withdrawn that prefix from their European ground station and advertised it from the North American one. This showed up as a change of origin alert as well as a series of announcement and path change alerts.
Previously, Timekeeping in the Interplanetary Internet.
Using BGP4 to do dynamic routing is clever but sure sounds inefficient. Is it really that important that every BGP4-connected router in the world have information about the location of every trans-oceanic plane flight? Sounds like a scalability nightmare. Plus it requires the waste of IP space since almost nobody would accept a route update for something smaller than a /24.
I think it would be so much easier to just have the plane have an IP address from each of the ground stations. For each new flow the NAT would just pick the publically-visible IP address corresponding to whatever ground station it is currently communicating with.
The disadvantage of course is that long-lived flows would take a latency hit when you lose connectivity to a ground station (the connection wouldn't break since you could backhaul the packets on the ground but would get a little slower) That sounds like a reasonable compromise to me.
Why is even that necessary? Couldn't you just put the actual NAT at a single ground site, and then only the routers there have to deal with this nonsense?
Did you read TFA? The point is that they're trying to save every bit of latency they can. Latency is already bad due to the satellite thing, sending the traffic across the ocean and back unnecessarily makes it even worse.
My observation is that it'd be so much easier to just optimize new flows. Most of the benefit, very little of the cost.
NAT doesn't add more than an infinitesimal amount of latency. I agree, this could have been done with internal routing protocols instead. Their scheme, while interesting, doesn't necessarily minimize ground-hop latency because Boeing has no way of predicting ex ante where in the world relative to the plane a user will be establishing connections.
> NAT doesn't add more than an infinitesimal amount of latency.
This has nothing to do with NAT latency. There's one NAT gateway in either case.
> Boeing has no way of predicting ex ante where in the world relative to the plane a user will be establishing connections.
Also completely irrelevant to the discussion at hand. I don't think you are understanding what they are trying to optimize here.
Remember that internet communication is two-way... you send a packets to a web server but then it sends some back to you Boeing does know what ground station is actually able to communicate with the plane at a given time. What they're trying to do is give the network enough information that it gets those return packets to the right ground station.
How does giving each plane a /24 fall under: efficiently using IP assignments? Does ARIN and/or RIPE know about this? How are they going to get new IPs assigned when they are only using 1 IP out of every 256 for a NATting router? It would be one thing if they gave each passenger their own static IP during the flight so more than one of them could run a SSL encrypted webserver, but I don't think that is happening.
At least historically (aka in the distant past when I actually had to deal with this shit) the delegation authorities gave you some leeway when you were dealing with BGP4-limitations. For instance if you couldn't quite qualify for a /19 you could probably talk your way into getting one if you needed a prefix that short for multihoming.
Also there's the "internet on a plane? Cool!" factor which probably works in their favor.
The /19 comment is exactly what I just went through, so I was trying to imagine what kind of argument would need to be presented to say, "I need to multihome (how ever many intercontinental flights are in the air at one time) sites."
I agree it was probably the latter, "Oh, these sites will be moving between continents a couple times a day at 400 MPH."
I wonder if they have a pool of networks that are assigned as-needed to in-use planes, or if each plane has a full-time network assigned to it. ARIN alone shows a couple dozen networks assigned (just search for 'Connexion'). Anyone have a guess as to how many commercial Boeing jets are in service?
it's possible to dynamically assign public IP addresses, and would make sense if there's not going to be 255 people online at once, which is probable.
Interesting that he says Germany. <lj user="khelair"> kept logging in from the air when flying to/from Germany recently, and messaging me, and I was kind of amazed. The only airline that I know so far that has it is Lufthansa, but man, what a selling point.
Sort of blows the whole "zOMG RFI WILL MAKE THE PLANE CRASH" theory out of the water.
FWIW I IRC'ed over modem via airfone years ago. Admittedly I didn't blog, though (I don't think so). But that wasn't the point of your story.
i wish they had wifi on domestic.
amazing. just listening to a guy, who's speaking from an airplane using VoIP.
Did he survive the entire flight, or did the people around him kill him halfway through your conversation?
I'm not sure what those people were thinking, but afaik he's still alive ;)
What apps do you use for encrypted chatting?
Adium has OTR built in: ships cyphertext through AOL's AIM servers. I think GAIM comes with it as well, but I don't remember. There are plugins for other clients.
Webcasting from a plane is totally the shit.