购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.2 网络体系设计原则及演变

第3.1节以TCP/IP为例,介绍了网络协议的架构体系。网络体系结构的设计变化是一个非常严谨的过程,不同的设计倾向会导致不同的发展方向。本节以设计原则为出发点,挖掘网络体系设计原则变化的内在逻辑和设计原则。本节的分析主要讨论了两个时间节点的体系设计原则的变化,分析这两个时间节点上网络体系设计原则是什么及其演变的趋势。

3.2.1 TCP/IP网络体系设计初始原则

网络的实践先行于设计原则,设计原则又指导实践的向前演进。在网络建立发展20年后,即20世纪80年代,陆续有学者对网络发展、演进的内在逻辑原则进行思考总结。1988年,David Clark结合TCP/IP演进成功的实践经验,整理发表了自己对于互联网设计原则的思考,对DARPA早期研究和建设互联网时的主要需求和目标进行了总结。

互联网的设计目标共分为8条,1条核心目标和7条次级目标。互联网的核心目标是开发一个使现有不同类型的网络互联起来,并充分利用的有效技术。在此之前,各种不同类型的网络互相通信是困难且复杂的。网络设计人员很早便开始了网络连接的研究。TCP/IP由于其开放性、中立性和简洁的优势,获得了快速的部署和发展。除了互联网架构设计的核心目标,其余7条次级目标按重要程度排序如下:

(1)互联网必须保障面临故障时的生存能力;

(2)互联网必须支持不同类型的通信服务;

(3)互联网必须支持不同类型的网络接入;

(4)互联网必须支持自由的分布式管理;

(5)互联网结构必须成本效益较高;

(6)互联网结构必须允许主机非常容易接入网络;

(7)互联网结构中的资源必须是可以计费的。

这些目标是基于重要程度依次递减。如果顺序发生改变,将会导致完全不同的网络架构。

在互联网发展早期阶段,互联网多为军用。在战争时期,互联网的建造者更关心如何将收集的信息可靠、高效地传输到目的地;同时,在一定网络故障环境下,网络有相应的生存能力,而不考虑通信费用。这意味着保障通信生存能力是首要目标,而计费管理能力排在最后,即安全保障大于经济效益。所以网络的初始设计并不关心资源的计费管理,但对于商用网络架构设计而言,资源的计费管理应放在靠前位置。同理,成本效益因素也是目标之一,但是排在资源的分布式管理和支持不同类型网络接入的目标之后。一些流行的商用网络会专门针对特定的传输介质做优化,例如,基于长途电话线实现的存储转发网络可以在很低的成本下保持良好通信,但对于其他类型的网络支持可能很差。以下选择3条重要的互联网设计原则进行分析。

(1)互联网必须保障面临故障时的生存能力

互联网设计之初的目标就是持续性地提供通信服务,即使网络或网关出现故障。具体来说,在两个实体进行通信的过程中,当某些原因导致网络临时中断时,网络之间可以重新配置沟通的服务,而非重新建立更高层的会话。在传输层之上的网络,只有在网络完全不通时才会告知上层应用通信失败,从架构角度防止产生任何短暂性的网络错误。

基于这个设计理念,互联网采取了分组交换技术让网络互联。分组交换技术通过统计复用方式,提高资源利用效率。当出现线路故障时,分组交换技术可通过重新选路进行重传,提高了可靠性。分组交换技术在当时之所以获得成功,主要是由于互联网初始设计原则中的一个重要要求是,保证网络在遭受打击导致部分内容失效的情况下仍然能够继续运行。这种情况不适合采用面向连接、独占通信线路的电路交换技术。而通过采取分组交换技术处理线路故障问题时,数据可以重新选路进行重传,提高了网络的生存性。

(2)互联网必须支持不同类型的通信服务

互联网应该在传输业务层支持多种多样的业务。不同类型的通信服务在传输速度、时延、可靠性等方面要求差异大。例如,远程登录和文件传输就是一对典型:远程登录要求较高的时效性,但是对于带宽的要求较低,而文件传输更多地需要带宽,对于时延问题不做过多考虑。互联网在架构设计之初就有满足传输多样性服务的目标,需要兼容不同的服务共同传输。互联网架构中对于多种服务的支持算法不应该由下层网络提供,而是由主机和网关提供,以此将各种服务从基本的数据报服务中抽象出来,下层基于各种服务所需的网络诉求提供资源能力。

(3)互联网必须支持不同类型的网络接入

互联网架构获得成功的一个重要原因是可以整合不同的技术,包括军事和商业设施。互联网需要支持长途网、局域网、卫星广播网等不同类型、不同速率的网络接入。网络架构通过对网络提供的功能做出最低限度的假设,以适应不同类型的网络。基本假设是网络可以传送数据包。数据包必须是合理的大小,最小为100byte,合理并完美地可靠传送。如果不是点对点连接,则网络必须具有合适的寻址方式。有很多服务明确不是由下层网络承载的,这些服务包括可靠或有序传送,网络级的广播或多播,报文传送的优先级排名,多种业务类型的支持和内部对失败、速率或者时延的认知。如果这些服务要求被提出,为了在互联网内适配,无论是网络直接支持这些业务,还是在网络末端提供网络接口软件模拟这些业务来得到加强,看起来都不是好的做法,因为这些服务必须在多种不同网络及其连接网络的主机上重新设计实现。例如,通过TCP可靠传输,工程必须且只能进行一次,并且每台主机必须且只能做一次。在这之后,为每个新网络的软件接口做的实施通常是很简单的。

以上3个互联网设计目标对于互联网架构设计的影响最为深刻,其余的目标在TCP/IP设计之初的重要性相对低一些,并且在设计或实践中也不完善,工程化不够完全。但从目前的互联网发展来看,当时的互联网架构是成功的。然而随着时代和科技的进步,网络体系结构的设计原则也需要不断更新、与时俱进。这就是协议与技术需要不断调整和更新的主要原因。

早期的互联网设计中,一个重要的设计理念是“端到端”原则,即网络高层次的功能应尽可能地实现在网络边缘(终端设备),网络核心框架只提供最基本的、标准的服务。在计算机发展早期阶段,如何界定每个部分应该提供的功能是一个核心问题。美国麻省理工学院(MIT)的计算机科学(CS)实验室在1981年针对这个问题进行了研究,并发表了重要论文《End to End Arguments in System Design》对各个功能进行界定划分。它的理念是让客户机承担应用的开发和创新,让网络本身尽可能简单。网络的框架主要采用结构分层、接口开放的设计思想,将网络系统的功能进行垂直分割,并将网络协议按“后入先出”的栈结构进行组织,因此又称为网络协议栈。在规划每层功能时网络框架需要考虑代价和性能两个核心因素。一些功能放在底层可以提高其针对的性能,例如校验重传机制。在当时的网络基础设施背景下,作者认为网络传输是不可靠的,即错误的复制或缓存、硬件处理器或记忆短暂的错误等多种原因会导致数据出现丢包和损坏,因此在网络最核心的传输部分应该只做数据的传输,而数据是否传输正确则应该放到上层去检查和判断。端到端的设计原则保证了互联网底层功能的最简化,使互联网核心保持了一个相对精简而有效的状态。

3.2.2 TCP/IP网络体系设计原则演进

随着网络基础技术的提升、网络应用需求的改进以及大量实践经验的积累,网络已经发生了天翻地覆的变化。网络发展也带来了新的问题,并伴随着网络体系设计原则的改变。例如端到端原则进行功能划分的重要参考指标代价和性能,随着网络环境的发展,一些传输介质能力、路由芯片能力的提升,许多功能和原则也需要调整。21世纪初,针对当时的互联网状态,David Clark对网络设计原则展开回顾,一些在设计之初并未考虑的问题如安全、质量等也被提出。

21世纪初,大量应用不断产生,网络需要针对不断发展的网络应用需求进行演变革新,并且在演变过程中进一步考虑商业化需求。在21世纪初网络协议需要考虑且遵从的设计原则如下。

一是网络运行环境逐渐变得不可靠,因此需要增加安全方面的技术能力。在运行初期,网络接入节点经过严格的物理身份验证,保证节点不会恶意操作。但是随着网络的商业化,网络接入用户数量繁多,来源更加复杂,网络管理者很难通过物理手段来判定接入对象的可靠性。因此,网络无法确定接入的节点是否都会按照预期行事,且不会对网络进行破坏性攻击。同时,网络节点需要判断接收信息的节点是否是伪造的、收到的信息是否是合法的以及交互的信息是否会被窃听等。网络在设计之初缺乏对于安全性的考虑,因此在发展过程中需要增加相应的安全能力,以保证网络上的节点的信息安全。

二是网络需要适配多种类型的应用服务,应用服务对于网络质量有了更高的需求。最初网络应用以电子邮件、文件传输和远程登录等为主,此类应用可以容忍网络速率产生较大波动,并且尽力而为的简单服务模型使得网络层开发变得更加便捷。但是随着网络的发展,网络上一些以音频、视频为主的流应用逐渐兴起,这些应用需要网络对于传输质量有相应的保障。例如,在网络速率有波动的情况下,在线视频应用经常会发生卡顿现象,导致用户体验感不好。网络需要设计相关的协议来保障某些应用的网络质量要求,适应网络应用的发展。

三是用户群体的改变。网络最初的用户主要是一批有较高网络基础知识的专家,随着网络的商业化,有较少网络背景知识的普通用户逐渐接入网络。网络的安装、配置、升级和维护对于普通用户而言是极为复杂且困难的。普通用户单独进行网络设置和网络问题修复基本上是不可能的,并且用户的配置错误也可能导致整个网络发生连锁性灾难。因此,网络需要将某些配置策略进行管控,同时需要把可以下放的管理能力变得尽可能地便于配置,且具有一定的自我配置和自我修复能力。

四是第三方监控的介入。随着个人用户接入互联网,不可避免地产生法律和一些公共安全问题,例如网络诈骗、信息泄露等。政府机构或因特网服务提供方(ISP)管理员希望可以对网络进行一定程度的监控及管理,以便在发生问题时得到及时的响应及处理。基于传统的端到端原则设计的网络无法提供第三方介入的功能,另一方面,在网络设计时也需要考虑第三方监控的滥用。

上述这些问题和应用发展的趋势引导着网络设计原则的变革,许多在网络设计之初并不重要的功能,现在却成为一个不可或缺的部分,例如,IPv6相较于IPv4增加了安全方面的考虑。网络协议的发展及变化需要结合应用发展需求,21世纪初,许多网络设计原则的演变都建立于网络从学术领域逐步扩展到商业领域所面临的问题。同时,网络协议体系的设计需要符合当时的基础硬件能力水平,在21世纪初时分析20年前的网络协议,就会明显发现很多设计冗余且僵化的字段。 FyxfsHVHcTNViAESAKrwOsXZY2mcCuUvWnEXyvMzn+tN4gC66P0nU8PT5IXDoRqm

点击中间区域
呼出菜单
上一章
目录
下一章
×