Monday, October 27, 2008

Resilient Overlay Networks

This well-known paper demonstrates that overlay networks controlled by the application can provide improvement in many network performance metrics over the standard routing in the Internet. The main metric considered is in resilience: the RON system manages to detect and route around multiple link failures over the real Internet, some of which lasted over 30+ minutes. However, RON can also provide improvements in latency, throughput and loss rate.

This paper is interesting not so much for its implementation details, but for the point that it makes: application-controlled routing can provide significant improvements over the standard Internet. The implementation is very simple, focusing on a very small network (O(10) hosts) with very simple paths (one-hop indirection). Even with this simple implementation, you can achieve significant improvements in various metrics. The paper thus lays the foundation for more advanced study of how to route over overlay networks, which could provide larger improvements, but its contribution is to bring this idea to the research community.

Apart from the idea as a whole working out, the most surprising thing for me was that two-hop paths are enough to provide significant performance benefits and to route around all the outages observed. This is something that I think would be non-obvious to anyone who is told about this idea without seeing the evaluation. The fact that the idea works at all is also somewhat surprising, but less so when you sit back and think about the goals that Internet routing was designed for - policy obedience and scalability. RON breaks both, although it is "good enough" at scalability that small organizations can consider using it.

I think that in practice, RON did not gain serious adoption, but it sparked a lot of discussion in the networking community. This could be perhaps because connectivity is "good enough" for most people, especially given that most people are not talking to random destinations on a RON, but rather to a small number of very well-provisioned global destinations (google.com, cnn.com, etc). However, there are also technical arguments against RON. One of them is that if everyone was using RONs to greedily optimize for throughput or latency or something similar, then routing would quickly oscillate, as underloaded links would quickly get overloaded, and then underloaded again, etc. Greedy behavior by each individual is not necessarily good for a stable, high-utilization, high-throughput system.

1 comment:

Randy H. Katz said...

While content distribution networks don't directly use RON-like ideas, the idea of redundant paths between sources and sinks is certainly exploited there to help insure most of the content gets retrieved most of the time.