my tech talk at google
Jan. 23rd, 2010 09:04 amI was hoping to get the url for the video before posting this, but that's probably not going to be available until Monday, oh well.
If anyone has been wondering what I've been up to lately (in addition to the Arisia Pocket Program and related works), I released a new software product on Monday. By "I", I mean I was the nominal tech lead and definite release engineer. By "new", I mean 1.0. By "software product", I mean this. By "Monday", I mean during Arisia; I did the release engineering Sunday night before going to parties, and I sent the announcement email from the bar Monday afternoon. (The press release was supposed to go out at the same time, might have gone out yesterday, might not have gone out yet, I don't know.)
Thursday (only somewhat coordinated with the release), at the invitation of Google, I gave a tech talk at their Cambridge office, which was googlecast to at least 4 other offices, and which will eventually be available on video.google. (I hadn't been there before, and was deeply amused to find them directly upstairs of Ambit Press, the people who have printed the Arisia souvenir book and pocket program for the past 5? years.) Anyway, only 4 people in the audience in Cambridge, but maybe a dozen in Oregon, 20ish in Mountain View, a few others elsewhere.
Many thanks to
lyonesse for being my test audience, and helping me tweak the talk. Still, I hadn't given the talk all the way through, uninterrupted, so I didn't know how long it was going to take. Since I don't do a lot of presentations, I tend to rush through them, losing the audience along the way, and we end up staring blankly at each other. This time, I went a little over my hour, and the questions showed that they clearly understood the implications of what I was saying. So it might have been a little dumbed down, but I didn't know what kind of background to expect. I spent a while selling the problem, before selling the solution.
To save yourself waiting for the video, and to save yourself an hour of watching me babble, the gist of the argument is this:
1) We're running out of IPv4 addresses.
1a) No really, we're serious this time.
1b) Geoff Huston estimates X-day at September 7, 2011 (out from Sep 5 when I gave the talk - we just gained a couple days grace time to do nothing about it).
1c) This is just the beginning of the end; IANA allocates free /8 blocks to the Regional Internet Registries, which in turn allocate sub-blocks to Local Internet Registries, etc.
1d) But eventually everything reaches zero, and it affects the end user.
2) IPv6 has always been the solution.
2a) But is as widely deployed as flying cars and gallium arsenide computers.
2b) Because there's been nothing driving the market towards IPv6, or away from IPv4.
2c) Except the larger address space.
2d) Which we haven't needed.
2e) Until now. (Or September '11.)
3) Even after September '11, the internet can't grind to a halt.
3a) In fact, the customer base is still growing.
3b) My 80 year old parents are on the internet. My phone is on the internet. My TV isn't on the internet, but yours probably is.
3c) Even assuming the universal deployment of IPv6, IPv4 will still be needed.
4) If ISPs can't provision every customer with an IPv4 address, they may have to institute address sharing.
4a) One approach is Dual-stack lite.
4b) This uses two mature and well-understood technologies: tunneling and NAT.
4c) Imagine your home gateway is provisioned with IPv6 only.
4d) Further imagine that your NAT is moved out of your home gateway, into the carrier core, and aggregated with every NAT in your neighborhood.
4e) So you and your neighbors are sharing a single IPv4 address.
4f) Everything gets a bit more complicated, but it still works as well as NAT ever did.
5) We have an implementation of this scheme.
5a) Initial development funded by Comcast.
5b) Who are not committing to actually deploy this scheme, much less our implementation.
5c) But they're serious enough about it to want at least proof of concept.
5d) It runs on commodity hardware (linux netbook and linux home gateway).
5e) With acceptable performance, even running single-threaded, in user mode.
Tried to post this last night, but "LiveJournal.com is currently undergoing scheduled maintenance. We'll be back as soon as we can!" for well over an hour, until I gave up and went to bed.
If anyone has been wondering what I've been up to lately (in addition to the Arisia Pocket Program and related works), I released a new software product on Monday. By "I", I mean I was the nominal tech lead and definite release engineer. By "new", I mean 1.0. By "software product", I mean this. By "Monday", I mean during Arisia; I did the release engineering Sunday night before going to parties, and I sent the announcement email from the bar Monday afternoon. (The press release was supposed to go out at the same time, might have gone out yesterday, might not have gone out yet, I don't know.)
Thursday (only somewhat coordinated with the release), at the invitation of Google, I gave a tech talk at their Cambridge office, which was googlecast to at least 4 other offices, and which will eventually be available on video.google. (I hadn't been there before, and was deeply amused to find them directly upstairs of Ambit Press, the people who have printed the Arisia souvenir book and pocket program for the past 5? years.) Anyway, only 4 people in the audience in Cambridge, but maybe a dozen in Oregon, 20ish in Mountain View, a few others elsewhere.
Many thanks to
To save yourself waiting for the video, and to save yourself an hour of watching me babble, the gist of the argument is this:
1) We're running out of IPv4 addresses.
1a) No really, we're serious this time.
1b) Geoff Huston estimates X-day at September 7, 2011 (out from Sep 5 when I gave the talk - we just gained a couple days grace time to do nothing about it).
1c) This is just the beginning of the end; IANA allocates free /8 blocks to the Regional Internet Registries, which in turn allocate sub-blocks to Local Internet Registries, etc.
1d) But eventually everything reaches zero, and it affects the end user.
2) IPv6 has always been the solution.
2a) But is as widely deployed as flying cars and gallium arsenide computers.
2b) Because there's been nothing driving the market towards IPv6, or away from IPv4.
2c) Except the larger address space.
2d) Which we haven't needed.
2e) Until now. (Or September '11.)
3) Even after September '11, the internet can't grind to a halt.
3a) In fact, the customer base is still growing.
3b) My 80 year old parents are on the internet. My phone is on the internet. My TV isn't on the internet, but yours probably is.
3c) Even assuming the universal deployment of IPv6, IPv4 will still be needed.
4) If ISPs can't provision every customer with an IPv4 address, they may have to institute address sharing.
4a) One approach is Dual-stack lite.
4b) This uses two mature and well-understood technologies: tunneling and NAT.
4c) Imagine your home gateway is provisioned with IPv6 only.
4d) Further imagine that your NAT is moved out of your home gateway, into the carrier core, and aggregated with every NAT in your neighborhood.
4e) So you and your neighbors are sharing a single IPv4 address.
4f) Everything gets a bit more complicated, but it still works as well as NAT ever did.
5) We have an implementation of this scheme.
5a) Initial development funded by Comcast.
5b) Who are not committing to actually deploy this scheme, much less our implementation.
5c) But they're serious enough about it to want at least proof of concept.
5d) It runs on commodity hardware (linux netbook and linux home gateway).
5e) With acceptable performance, even running single-threaded, in user mode.
Tried to post this last night, but "LiveJournal.com is currently undergoing scheduled maintenance. We'll be back as soon as we can!" for well over an hour, until I gave up and went to bed.
no subject
Date: 2010-01-23 03:09 pm (UTC)no subject
Date: 2010-01-23 03:36 pm (UTC)no subject
Date: 2010-01-23 06:10 pm (UTC)I'm not at all sure i see the real usefulness of this. Presumably, for ISPs to support this, they must have a functioning IPV6 network at their core. Surely we don't expect them to implement this using a purely local, non-globally routable part of the V6 address space, or do we? The V6 address my homecablemodem/DSLrouter/whatever receives *will* be globally routable, right?
If so, I see two classes of legacy IPV4-only devices; those that run servers, and those that don't.
The ones that run servers, seem to still be hosed, because presumably they are now sharing their V4 address, and without some sort of service discovery protocol, there is no way to deal with N instances of the same V4 address all running their webservers on the same port 80. Even if we have such a discovery protocol, these legacy servers and clients by definition don't have it.
The no-servers hosts now *also* seem to be hosed, as, well, they can still connect to V4 hosts on the other side of the tunnel, but since these destination addresses now have multiple personality disorder, what good does it do?
It seems that we may as well be *done* with it and just have a drop-dead date for V4, just as we had one for analog television. [Not that this won't suck massively]
What am I missing?
no subject
Date: 2010-01-23 06:15 pm (UTC)no subject
Date: 2010-01-23 06:19 pm (UTC)no subject
Date: 2010-01-23 06:22 pm (UTC)no subject
Date: 2010-01-24 04:09 am (UTC)no subject
Date: 2010-01-24 05:32 am (UTC)Go you for doing all that. I had no idea. You were clearly good at focusing elsewhere when appropriate.
no subject
Date: 2010-01-28 02:49 am (UTC)Couple of things I may not have mentioned above. One is that Comcast at least envisions doing IPv6 prefix delegation to the home, so that you'll get a /60 (I think), so you could run a multi-layered globally routable v6 network in your home. Of course, this doesn't require DS-lite to happen. And we'll see if they actually follow through on it.
The other thing is that this (or any other) address sharing scheme assumes a user base that is primarily client-only. There would be mechanisms to request port assignments (both statically, as in current NAT configurations, and dynamically, by extensions of UPnP and NAT-PMP), so you could still request port 80, but you wouldn't be guaranteed to get it. You might end up paying extra for a full IPv4 address, rather than a fractional address.