Rivew of The Design Philosophy of the DARPA Internet Protocols
这篇文章聚焦于网络的设计逻辑,网络目标的底层设计,讲解了不同网络层的底层设计目标,包括一些替换方法,很简单易读。介绍了一些很基础的网络设计idea,比如datagram,无连接服务,IP/TCP等
Fundamental Goal:
介绍了DARPA设计的关键目标。介绍DARPA对底层结构存在的分歧,部分人认为应该采用电路交换,有人认为应该分组交换,以及不同网络的连接问题,最终top level assumption是:网络应该被交换机(switch)连接起来,也称为gateway,这里也诞生计算机网络中特别经典的一句话:: a packet switched communications facility in which a number of distinguishable networks are connected together using packet communications processors called gateways which implement a store and forward packet forwarding algorithm. :网络是一个分组交换通信设施,使用网关的数据通信处理器将可区分的网络连接在一起,这些处理器实现了存储和转发数据包转发算法。
key idea: 存储,转发,分组交换
Second Level Goals
由于top level 目标仅仅提供了一个高效的idea,但是没有设计细节,这一节更加详细的说明了一些细节,提出了一组优先级的规范:
- Internet communication must continue despite loss of networks or gateways.(尽管丢失存在,但是不能因为丢失而终止网络连接,当然目前TCP协议有错误控制,很多底层协议也有checksum能够帮助验证数据包的正确性,或者采用了overhead更大的纠正错误的算法)
- The Internet must support multiple types of communications service.(毋庸置疑需要能够支持多种类型,比如层级结构,application直接和应用层沟通,隔离了底层的细节)
- The Internet architecture must accommodate a variety of networks.(同上)
- The Internet architecture must permit distributed management of its resources.(分布式管理)
- The Internet architecture must be cost effective.(开销不能过大)
- The Internet architecture must permit host attachment with a low level of effort.
- The resources used in the internet architecture must be accountable.(需要记录数量,个人认为这里和操作系统中计数信息一样重要)
作者在这里说: this is not a “motherhood” list, but a set of priorities which strongly colored the design decisions within the Internet architecture. 这里面是一组重要的设计优先级的应该遵循的规范。
Survivability in the Face of Failure
这一节讲了网络需要能够对于当网络传输出现问题时能够维持运作,作者在这里主要说了可以通过冗余或者动态的重新路由的方法,当然这两个方法也很常见。
但是作者这里没有提到可能引发的问题:冗余会带来网络风暴,持续的重新路由会导致开销性能。
目前有很多协议来解决这些问题:
- 对于冗余: 数据链路层可以采用STP/RSTP/MSTP避免
- 路由可以采用一些 live 的计数来避免频繁的路由
Types of Service
解释了在传输层上支持不同服务的必要,提出了不同的服务需求级别。曾经是要求TCP支持所有的服务,这当然无法满足要求(曾经TCP/IP是同一个设计协议,但是无法满足要求,所以分开了)。
TCP provided one particular type of service, the reliable sequenced data stream, while IP attempted to provide a basic building block out of which a variety of types of service could be built. Since the reliability associated with the delivery of a datagram was not guaranteed, but “best effort,” it was possible to build out of the datagram a service that was reliable (by acknowledging and retransmitting at a higher level), or a service which traded reliability for the primitive delay characteristics of the underlying network substrate
这里说明了TCP,IP特点,也是国内教材网络中的翻译原文:TCP提供可靠服务,UDP提供尽力而为的服务。
Varieties of Networks
这一节说了网络的兼容性,灵活性所遇到的问题和挑战。提出了网路需要有寻址能力等。
Architecture and Implementation
说了目前面临的一些其他的问题。
Datagrams:
网络的基础架构是需要使用数据包贯穿底层的传输,说明了数据报的重要性。
1.消除中间节点的连接状态,意味着网络可以失败后重建
- 数据报提供了多种服务的可能。
- 数据报代表了最小的网络服务猜想,数据报允许将各种的网络合并到互联网的具体实现中。
TCP
这一节讲了TCP的前世今生,介绍了TCP发展,设计决策,发展过程。说明了TCP在网络中的地位。
每一节都提供了一个深度的insight关于网络的考虑,面临的问题,网络的发展路径等。其中提出的优先级列表可以作为网络协议设计的规范。
[1]: D. Clark. 1988. The design philosophy of the DARPA internet protocols. In Symposium proceedings on Communications architectures and protocols (SIGCOMM '88). Association for Computing Machinery, New York, NY, USA, 106–114. https://doi.org/10.1145/52324.52336
本文详细探讨了DARPA互联网协议的设计理念,涉及基本目标、面对失败的生存策略、不同类型的服务需求、网络兼容性和TCP的发展历程。作者强调了网络设计的优先级和原则,如冗余与动态路由,以及数据报在灵活网络架构中的关键作用。
1127

被折叠的 条评论
为什么被折叠?



