导言
一个优秀的网络设计是建立一切成功的网络应用的基础。本文是四篇讲座文章的第一篇,重点介绍基于ip的网络设计,因为ip实际上已经成为标准的桌面协议。高级ip网络支持的应用在本质上已经日益变得多元化。ip已经同传统的数据应用一起成为语音、视频和多媒体等实时应用的一种传输机制。由于当前应用有许多不同的性质,ip互联网设计从来没有像现在这样具有挑战性。 本文讨论在设计网络时应该遵循的一些基本原则。以后的文章将介绍用来熟练地进行网络设计的具体的局域网和广域网技术。
需要一个设计计划
大多数ip互联网络从设计方面说都属于两大类之中的一类。一类显然是设计非常好的网络,另一类只是临时批凑起来的网络。这两类网络明显的区别显示了良好的设计的重要性。一个设计良好的网络的特点是在下面的每一个领域都有可预见性和一致性:
性能
在主要网络性能参数方面能够保持不变的高水平性能。这些参数可能包括应用程序响应时间和响应时间的变化。
弹性
网络应该为其支持的应用程序提供一个有弹性的平台。一个高度专用的网络比需要满足所有的应用程序的99%的可用性目标,并且能够满足重要任务应用程序“零关机时间”的要求。理想的情况是,任何一个连接的失败或者客户机至服务器之间的任何一台网络设备的故障都不应该导致客户机与服务器之间通信进程的丢失。自动绕过故障启用备份线路的功能应该在极短的时间内完成,这个时间的间隙应该足以把当前通信进程的影响降低到最小的程度。这个间隔时间称作“收敛时间”,可根据网络拓扑结构变化的时间长度来确定(如一个连接的丢失),直到网络上的每一台设备都知道这个变化。一个设计良好的网络总是一直保持较低的收敛时间。
可伸缩性
一个具有可伸缩性的网络能够充分支持网络的扩容,而不需要进行重大的重新设计。在用户数量的增长方面,网络节点或者站点的数量必须能够满足可能增加新的应用程序和这些应用程序可能消耗更多的带宽的需求。要获得对你的网络的伸缩性的认识,你需要回答下列问题:如果用户数量增加一倍、节点数量增加一倍、并且有需要一倍带宽的应用程序,你该怎么办?一个具有伸缩性的网络能够容纳这种增长和变化,而不需要对基础设置进行全面修改。基础的网络拓扑结构和使用的技术不必为了容纳这些变化而进行重新设计。新的用户和节点可以用一个简单的构建模块的方式添加到一个可伸缩的网络中。例如,新的节点应该简单地把新的网段或者模块与作为网络核心和骨干的现有的网络结构结合在一起。应该采用根据需要适当地增加局域网和广域网带宽的方式来容纳增加的带宽。在增加网络路由器和交换机的内存和处理能力等网络寿命周期之间,某些运营的升级也许还是必要的。然而,不应该做的事情是,在网络的寿命周期内,不应该为了支持计划之中的增长而对这个网络基础设施进行全面的修改。这就是一开始就要有一个网络计划的根本原因之一。
运行成本
成本是网络设计过程之中最基本的推动因素。这是一个不可回避的事实。网络不仅必须要满足某些技术规范,而且必须在设计和应用上更划算。拥有一个网络的主要成本通常是服务提供商提供的广域网的费用。那是帧中继、atm、租赁线路或者isdn技术的费用。
网络设计的特点是权衡性能和可用性的成本。例如,要保证优化的应用程序平台可能需要更多的带宽,然而,这里有一个临界点,超过了这个限度去购买更多的带宽就不划算。
同样,备份线路或者isdn可以用来在客户机与服务器的通道之中保证网络的弹性,一旦主要数据通道出现故障,即可立即启用保证线路畅通。这种备份技术必须与主要连接线路的速度相同以避免在发生故障时降低服务质量。对于用户来说,在发生故障时降低服务质量是否可以容忍是一个经济性的决策。
一个设计良好的网络不仅运行起来节省成本,而且还应该保持相对一致的运行成本。能够说明运行成本的一致性和可预见性的重要性的最佳例子之一是就是技术支持的成本问题。拥有网络的成本的第二大组成部分(仅次于广域网成本)就是技术支持的成本。这也是最容易忽略的一个成本要素,主要是因为技术支持的成本很难量化。
例如,为了减少atm服务提供商收取的广域网的费用,可以决定采用一种私人管理的应用atm的方式。虽然这样做毫无疑问可以减少广域网成本,但是,这样做会导致技术支持费用的增加。要为一个专用atm网络提供技术支持需要一个具有相当水平的技术人员。雇用和保留一个这样的技术人员是很昂贵的。然而,如果在公司内部没有这种技术人员,使用外部人员提供技术支持的费用将更高,例如使用外部的技术顾问或者使用第三方填补这个空缺以保证系统每天的顺利运行。
设计目标
在设计开始的时候制定一个明确的设计目标是必不可少的。这些目标与用来评估网络设计的一些参数有关。关键的性能参数必须要确定下来,并且为这些参数分配目标值。这些性能的目标最终是由应用程序的要求规定的。
要以有意义的方式分配这些目标,应用程序必须知道数量和质量的水平。必须评估应用程序消耗的带宽以便提供必要的容量来满足性能目标。必须清楚地了应用程序包对数据包丢失、数据包延迟和各种延迟的敏感性。这在支持多种应用程序的现代网络中是特别重要的。数据包丢失对于使用udp协议传输的数据应用程序的影响比对需要可靠连接的tcp协议应用程序的影响还要严重。