Monday, September 1, 2008

The Design Philosophy of the DARPA Internet Protocols

Key points of the paper:
1. Goals of the original DARPA Internet
Reliability was most important criteria. It must handle transient failure such as failure of a router. This directly resulted in the end to end approach (fate sharing) instead of replication being taken in the design.
2. Different applications have different requirement for transport protocol, and thus we have TCP and UDP.
3. Generality over specialized implementations allows Internet to handle different types of private networks being connected together.
4. Performance of protocol implementation is difficult to evaluate, and it leaves potentially broken network stacks to hurt the overall performance of the network.

Thoughts on the paper:
1. Design for generality over specialization: TCP/IP stack was designed to work with most services, and therefore it may not be the best answer for specialized environment such as data centers and sensor networks. That's why there has been a lot of research to tweak or completely replace these transport protocols in non-traditional networks.
2. Because the middle points of the network are designed to be "dumb", this allows malicious hosts to inject traffic into network that hurts its performance. Firewall is a great example of state in the network, between hosts.
3. The author was worried about implementation differences in end hosts leading to bad network performance. This has not really happened because of aggressive code reuse and sharing.

No comments: