《The Design Philosophy of The DARPA Internet Protocols》阅读这篇论文中作者对TCP/IP协议设计及其演变有着最深刻的理解。论文给出了当初网络结构设计所要达到的目标,即:1. 即使网络和网关失效,网络通信也必须能够继续;2. 互联网必须支持多种通信服务;3. 互联网结构必须能够适应多种网络硬件;4. 互联网结构必须允许资源的分布式管理;5. 互联网结构的花费必须是有效的;6. 互联网结构必须能够方便地进行主机互连;7. 互联网结构使用的资源必须是可以统计的。为解决网络失败问题,网络结构选择将状态信息保存在终端节点,称为命运共享,只有在终端节点失效时,状态信息才会丢失。命运共享简单,便于工程实现。论文作者开始分析DARPA网络体系结构的设计初衷,以及设计的指导思想。这些设计思想的产生与演变在论文中得到了很好的论述。DARPA的设计者们在最初为了完成网络互联的需要,设计了很多目标,然而在不同的应用环境下这些目标的重要性又不尽相同。如何处理好这些需求的优先级以及协议关系非常重要。论文从一开始就说明DARPA的出发点,提出了一个最基本的目的:为了开发一个能够充分利用现存网络的高效的技术,这也决定了互联网络的结构是一个高度可适的结构。因此网关、存储-转发机制等技术及其相关技术被付诸实践至今。网络体系结构该如何设计,和我们需要达到的目的有非常紧密的联系。并且,当我们改变了设计并且优化了某方面的性能时,我们很可能正在把另外几个方面的性能的优先级排到了后面。我们既要保证数据传输的稳定性还要有时效性,同时还需要互联网能提供多样的服务以适应不同的需求。读完这篇经典论文,我感觉收获挺大,初步理解了今天互联网络如此设计的原因及其演进,加深了对网络结构的理解。