Archive for April 2007

Some thoughts of the Future Internet design

I have now been to enough meetings regarding the Future Internet network design that I can write something that makes some sense. Here are some thoughts:

“Learn from P2P Systems”:

One thing that it is clear to me is that there are several lessons to be learnt from P2P systems. In fact, I would argue that most of the innovations in networking space during the last years have come from P2P systems (new routing algorithms, swarming protocols, NAT traversal, overlay naming, etc).

Why? well, I guess because people got tired of waiting for THE network to support IP multicast, anycasting, content-based naming, full host reachability, etc. Users got frustrated to hear that to test their ideas they had to change all routers in the world, build a new infrastructure overlay, or yet, convince all ISPs in the Internet. Instead, users realized the power of deploying new services with a simple piece of software that turned their personal computers into network elements. And voila, there you have it, some of the most successful and scalable systems ever deployed, Skype, BitTorrent, and more to come.

The beauty of P2P systems is that one can deploy hugely scalable services completely bypassing ISPs and without the need for end2end multicast, in a similar way that the Internet created a network that could route packets without having to go through the centralized control of phone operators. Going forward, such highly distributed systems are likely to have a big impact in other parts of the network, e.g. enterprise networks or datacenter networks.

 

“Storage in the Network”:

P2P or even Content Distribution networks have become so successful because they filled in a design gap. The Internet was not designed to optimize data delivery. Instead, it was designed to provide good support for end2end host communication. However, today’s Internet is mostly used for data diffusion, in many cases to millions of users. Delivering data is a quite different task than reaching a particular host. Actually, users do not care where the data comes from. As a result, things like distributing content have become unnecessarily hard, and have required the deployment of systems like Akamai or Bittorrent that had not been previously foreseen. One can say, though, that the beauty of the Internet is that it was designed to be flexible enough to enable content distribution networks to emerge without having to change the network infrastructure. Still, if today we were to design things from scratch, we would probably be adding massive storage capacity at each Internet router.

Why not democratize scalable content dissemination and make it part of the Internet core in the same way that connectivity was democratized as IP emerged?

 

“Diversity Everywhere”:

Another theme that emerges very strongly in the Future Internet design is the use of diversity and coding, especially in routing. Diversity has been used in many areas very successfully. For instance, P2P systems use a large number of diverse idle Internet paths to aggregate edge resources. Similar opportunities exist for wireless mesh networks where the wireless broadcast nature of the channel makes things even easier.

This is what I call spatial network multiplexing, where information is divided into small units and sent across the network using multiple paths. This can be thought of as an evolution of statistical time multiplexing, where packets share the same channel over time and is the basis of data networks.

One drawback of using diversity is that you now need to worry about which packet you should send through which path or which data got lost where. However, if you randomize information with things like network coding, then, you do not even need to worry about that. Another complication is that often paths are not disjoint, but shared — making congestion control and fairness much more complicated. This concept has some very powerful implications. For instance, how important is it to find the best path from the source to the destination for non real time applications? Should we redesign routing to include more diversity and coding?

For thoughts on this and others, see the recent NSF/EU meeting in Berlin: NeXtworking’07

I would also very much recommend Van Jacobson’s talk on a “New way to look at Networking“. Specially, the beginning of the talk has some “not to be missed” points.


Google -Van Jacobson’s talk at Google on a New look at Networking

P2P and CDNs, a marriage made in heaven!

Akamai bought Red Swoosh last week. I think it was about time that CDNs realized that the best way to fight your enemy is to join him, and that is exactly what Akamai has done here. CDNs were struggling to compete with P2P content distribution since P2P was, well basically free. This is a good move for Akamai, at least as a defensive strategy to control the P2P space and prevent other P2P players from eating into their business.

From a technical point of view, it also makes a lot of sense. P2P systems cannot provide the sort of service level guarantees that content producers demand (e.g. movie studios). Peer upload capacity is quite limited, and fluctuates greatly depending on the number of peers, etc. CDNs can instead provide assured capacity since their servers sit in well-provisioned data centers, kicking in to assure a certain SLA when P2P fails to do so. Not just that. Using CDNs also helps ISPs better manage their networks since less upstream traffic is generated. Traffic flows from the center of the network to the network edges, fitting well with current ISPs traffic engineering models which assumes that most traffic is downstream.

Overall, to me CDN and P2P is a marriage made in heaven. The next battle will be which P2P system becomes a standard (bittorrent, red swoosh, …) ? What about an HTTP-based P2P system and we all stop re-inventing the wheel?

Pablo Rodriguez

two girls one cup 2 girls 1 cup 2 girls one cup

Warning: (null)() [ref.outcontrol]: output handler 'ob_gzhandler' cannot be used twice in Unknown on line 0