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'm writing from a Lufthansa jet right now, travelling from Munich to Boston. This plane offers the (relatively) new Connexion by Boeing wifi + satellite Internet service. It's seriously cool stuff - high latency, but absolutely functional. I've been aware of it for a while since the Boeing folks did a NANOG presentation about it last year. But this is the first time I've been able to use it.
Renesys has been tracking Internet updates for a very long time. We set realtime routing alerts to tell us when changes in the Internet's structure are a violation of someone's routing or security policy. We have known that due to satellite connectivity, the Internet routing tables could be used for tracking aircraft and the like. But this is the first time I've been on an Internet-connected vehicle, travelling 950kph, that changed its connection to the Internet. If this interconnection architecture is used by others, this could signal the rise of all kinds of interesting uses of the global Internet for monitoring.
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 Boeing engineers faced some interesting challenges in designing this system. They wanted a wifi-delivered platform that was easy to use. They also wanted fully-functional connectivity. They were targetting business customers so simple web connectivity was not enough: customers would want VPNs, ssh and all manner of connections to corporate applications. And finally, if this service was going to work properly, it would have to be as low-latency as possible, not just high bandwidth.
Most Internet users have heard about latency (almost always in the context of gaming) but don't really understand much about it. Latency is the delay in a single bit (or packet - on fast circuits there's not much queuing delay so there's not much difference) getting from one place to another and back. Latency is almost always the result of path selection and limitations of the speed of light. For example, if my best path to your server goes from NYC to London and back, then I will have a *minimum* latency of around 60ms and likely more like 80. Not terrible but not great.
Large latencies impact all kinds of uses of the Net, including connection set-up, interactive typing or screen-refresh and throughput. The main problem that the Boeing engineers faces is that geostationary satellites (that maintain their position above a particular spot on the earth - almost all communications satellites fit this description) are really high up. In fact, they are at least 300ms unidirectional latency all by themselves (that's aircraft->satellite->Europe).
One simple architecture for the Connexion service would have been to just put a network operations center in one place, and drag all the traffic from all the planes back to it. The problem is that that would add unacceptable latency. For example, if they located a network operations center in California (an obvious place to put it), trans-pacific customers talking to a server in Europe would have a total of almost 600ms unidirectional latency (300 satellite, 130ms East Asia -> North America, 70ms across North America, 80ms North America->Europe). That means that a simple TCP connection (which every web session involves hundreds of) would take 2 seconds to set up. This is muy malo.
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. So each connection set-up now takes 1s instead of 2. Now, granted, 1s connection set-up time is not fantastic, but it is perfectly usable.
When I found out I was going to be on a plane with the Connexion service, I was excited that I could finally try it out. It only costs $27 for the whole flight, which is clearly a good deal if you have some work (or blogging) to do. :-) As soon as I got connected, I woke up some of my colleagues at Renesys and got them to set BGP alarms on the network prefix for my plane. The IP addresses on the plane are all NATted (Network Address Translation - this means they use private addresses described in RFC1918 for the customer laptops), but the plane itself still has a visible /24 of address space. In my case this was 83.210.35.0/24.
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.
Here are screenshots from the Renesys Routing Intelligence application showing the routing update (open in new window):
Fun stuff. Of course, I know the capabilities of Renesys's platform. I explain it to customers (and prospective customers) all the time. But there's a world of difference between that and seeing it detect my plane crossing the Atlantic Ocean. That is visceral and seriously cool.
We'll be landing in about an hour, so I'll proof and post this blog from the air. Because that's pretty cool, too. I seriously do wonder what else can be tracked via the global routing tables using this kind of approach. And what value that might have to people. Suggestions?



Comments
How did you deal with the timezone changes on your computer? Does the plane carry an NTP server that speeds/slows clocks as you travel east/west (resp.)?
Posted by: Anonymous | April 28, 2006 01:11 PM
I suppose World of Warcraft players had better avoid dungeon instances when they're travelling westbound 2 hours from Ireland. I wonder is the service even fast enough to play a MMORPG on? Great article.
Posted by: bugsbane | April 28, 2006 07:40 PM
Why not just use IPv6 ... ;-)
Posted by: Catonic | April 28, 2006 07:53 PM
You`ve been dugg. =P
Posted by: nvez | April 28, 2006 07:58 PM
What an interesting thing to do. I work for Connexion and actually spend a great deal of time poring over telemetry logs to monitor system performance. When I get in Monday I'm going to pull that track and we'll see how close you came.
-jkc
Posted by: jkc | April 28, 2006 09:25 PM
Kindda similar to 802.11 roaming on a wlan. that is very cool.
How much extra do they charge for this kind of access?
Posted by: [GEEKS ARE SEXY] Tech. News | April 28, 2006 09:44 PM
Oh this is so cool. I just tried to telnet to 83.210.35.2 and I get a prompt like this:
RR Port Engine 2 - NCC Rev 2.4
==============================
(S)tatus
(P)urge fuel
(R)eset
(U)pgrade firmware*
Option: _
* FAA Warning: Plane must be grounded, electronic devices switched off and seatbacks upright before this option is used.
Anybody knows what this is?
Posted by: lostgweilo | April 28, 2006 10:35 PM
"How did you deal with the timezone changes on your computer?"
Uh, you don't. Your computer is set to one time zone, for example PST. It's the same time in that time zone no matter where you are.
Unless you want to keep updating the current time zone as you fly... but what's the point of that?
Posted by: steve | April 28, 2006 10:36 PM
Great article. An increase in technology on planes will certainly make dull Melbourne - Singapore, Singapore - Beijing flights bearable.
Posted by: VR88 | April 29, 2006 03:51 AM
Moin,
"How did you deal with the timezone changes on your computer? Does the plane carry an NTP server that speeds/slows clocks as you travel east/west (resp.)?"
You don't need to. There is only one time for the whole of the world (relativistic effects aside) and the "time zone" is just a local view on that time.
Regardless of wherever you are, "Sat Apr 29 11:12:24 UTC 2006" is the exact same point in time. The time zone is more or less like a unit in the rest of physics: 1000 g, 1 kg and 2.2046... pounds are really the same thing. So are "Sat Apr 29 11:15:11 UTC 2006" and "Sat Apr 29 06:15:11 EST 2006".
Since there is only one time, your computer will only need one time and never ever will you need to change your clock to compensate for different time zones. Simply set it to display the time in whatever zone you like (just as you would set an electronic scale to display the weight in your favourite unit). You could even have different users loggend in via remote terminals and each could see his or her local time!
That being said, there really are some folks and/or operating systems that can't quite grasp this concept and do things like running the 'real time clock' in local time and even change it on each switch to/from daylight savings time. The horror.
--
Henryk Plötz
Grüße aus Berlin
Posted by: Henryk Plötz | April 29, 2006 07:29 AM
I am hoping one of these days it will be implemented on most international carrier aircrafts. I hope this service can be extended to economy class customers as well, and not just first or business class travellers.
Posted by: Keith | April 29, 2006 07:44 AM
So you tracked your plane from the European gateway to the US gateway and it took about 2 minutes?
That would plot out to be a straight line and you would be travelling roughly 4000mi/5min = 48,000mph!
Posted by: John | April 29, 2006 03:13 PM
Interesting article.
I did some work for Boeing a few years ago when CBB wasn't quite ready for prime time but was being used as a way to get the Internet onto some planes owned by the U.S. government. I used the commercial version for the first time last week and again yesterday on ANA flights 1 and 2 between Washington, DC and Tokyo. Seems like they've got the bugs worked out of it, and $27 is a bargain for 14 hours worth of entertainment. Being able to stream Sirius onto the plane was wunderbar.
The block my connections came from was on 60.253.39.0/24, so there's another data point to watch for announcements.
--Mark
Posted by: Mark | April 29, 2006 03:40 PM
cool
Posted by: Anonymous | May 7, 2006 05:16 PM
Why not IPv6? IPv6 does not support this kind of multihoming. Not by design, but by policy.83.210.35.0/24 People fear that there might be a real demand for IPv6 once independently routable prefixes are handed over to end users, and that the routers explode because they can't handle the routing table size. Not very realistic, of course.
I wonder how much of this is actually a configuration error. Technically, the handover does not need to be visible globally. This could be an unwanted IGP leak.
Posted by: Florian Weimer | May 11, 2006 02:46 PM
Screenshots are boring, try the wonderful BGPlay applet.
Posted by: Simon Leinen | May 12, 2006 11:23 AM
hi..i need to also setup a somehow small scale tracking mechanism in my computer..for a start what are my requirements?
Posted by: keith | June 9, 2006 02:07 AM