计算机等级考试三级IP网络设计系列之-基本原则

文章作者 100test 发表时间 2007:04:11 22:50:39
来源 100Test.Com百考试题网


计算机等级考试训练软件《百宝箱》

导言

  一个优秀的网络设计是建立一切成功的网络应用的基础。本文是四篇讲座文章的第一篇,重点介绍基于IP的网络设计,因为IP实际上已经成为标准的桌面协议。高级IP网络支持的应用在本质上已经日益变得多元化。IP已经同传统的数据应用一起成为语音、视频和多媒体等实时应用的一种传输机制。由于当前应用有许多不同的性质,IP互联网设计从来没有像现在这样具有挑战性。 本文讨论在设计网络时应该遵循的一些基本原则。以后的文章将介绍用来熟练地进行网络设计的具体的局域网和广域网技术。

需要一个设计计划

  大多数IP互联网络从设计方面说都属于两大类之中的一类。一类显然是设计非常好的网络,另一类只是临时批凑起来的网络。这两类网络明显的区别显示了良好的设计的重要性。一个设计良好的网络的特点是在下面的每一个领域都有可预见性和一致性:

性能

  在主要网络性能参数方面能够保持不变的高水平性能。这些参数可能包括应用程序响应时间和响应时间的变化。

弹性

  网络应该为其支持的应用程序提供一个有弹性的平台。一个高度专用的网络比需要满足所有的应用程序的99%的可用性目标,并且能够满足重要任务应用程序“零关机时间”的要求。理想的情况是,任何一个连接的失败或者客户机至服务器之间的任何一台网络设备的故障都不应该导致客户机与服务器之间通信进程的丢失。自动绕过故障启用备份线路的功能应该在极短的时间内完成,这个时间的间隙应该足以把当前通信进程的影响降低到最小的程度。这个间隔时间称作“收敛时间”,可根据网络拓扑结构变化的时间长度来确定(如一个连接的丢失),直到网络上的每一台设备都知道这个变化。一个设计良好的网络总是一直保持较低的收敛时间。

可伸缩性

  一个具有可伸缩性的网络能够充分支持网络的扩容,而不需要进行重大的重新设计。在用户数量的增长方面,网络节点或者站点的数量必须能够满足可能增加新的应用程序和这些应用程序可能消耗更多的带宽的需求。要获得对你的网络的伸缩性的认识,你需要回答下列问题:如果用户数量增加一倍、节点数量增加一倍、并且有需要一倍带宽的应用程序,你该怎么办?一个具有伸缩性的网络能够容纳这种增长和变化,而不需要对基础设置进行全面修改。基础的网络拓扑结构和使用的技术不必为了容纳这些变化而进行重新设计。新的用户和节点可以用一个简单的构建模块的方式添加到一个可伸缩的网络中。例如,新的节点应该简单地把新的网段或者模块与作为网络核心和骨干的现有的网络结构结合在一起。应该采用根据需要适当地增加局域网和广域网带宽的方式来容纳增加的带宽。在增加网络路由器和交换机的内存和处理能力等网络寿命周期之间,某些运营的升级也许还是必要的。然而,不应该做的事情是,在网络的寿命周期内,不应该为了支持计划之中的增长而对这个网络基础设施进行全面的修改。这就是一开始就要有一个网络计划的根本原因之一。

运行成本

  成本是网络设计过程之中最基本的推动因素。这是一个不可回避的事实。网络不仅必须要满足某些技术规范,而且必须在设计和应用上更划算。拥有一个网络的主要成本通常是服务提供商提供的广域网的费用。那是帧中继、ATM、租赁线路或者ISDN技术的费用。

  网络设计的特点是权衡性能和可用性的成本。例如,要保证优化的应用程序平台可能需要更多的带宽,然而,这里有一个临界点,超过了这个限度去购买更多的带宽就不划算。

  同样,备份线路或者ISDN可以用来在客户机与服务器的通道之中保证网络的弹性,一旦主要数据通道出现故障,即可立即启用保证线路畅通。这种备份技术必须与主要连接线路的速度相同以避免在发生故障时降低服务质量。对于用户来说,在发生故障时降低服务质量是否可以容忍是一个经济性的决策。

  一个设计良好的网络不仅运行起来节省成本,而且还应该保持相对一致的运行成本。能够说明运行成本的一致性和可预见性的重要性的最佳例子之一是就是技术支持的成本问题。拥有网络的成本的第二大组成部分(仅次于广域网成本)就是技术支持的成本。这也是最容易忽略的一个成本要素,主要是因为技术支持的成本很难量化。例如,为了减少ATM服务提供商收取的广域网的费用,可以决定采用一种私人管理的应用ATM的方式。虽然这样做毫无疑问可以减少广域网成本,但是,这样做会导致技术支持费用的增加。要为一个专用ATM网络提供技术支持需要一个具有相当水平的技术人员。雇用和保留一个这样的技术人员是很昂贵的。然而,如果在公司内部没有这种技术人员,使用外部人员提供技术支持的费用将更高,例如使用外部的技术顾问或者使用第三方填补这个空缺以保证系统每天的顺利运行。

设计目标

  在设计开始的时候制定一个明确的设计目标是必不可少的。这些目标与用来评估网络设计的一些参数有关。关键的性能参数必须要确定下来,并且为这些参数分配目标值。这些性能的目标最终是由应用程序的要求规定的。要以有意义的方式分配这些目标,应用程序必须知道数量和质量的水平。必须评估应用程序消耗的带宽以便提供必要的容量来满足性能目标。必须清楚地了应用程序包对数据包丢失、数据包延迟和各种延迟的敏感性。这在支持多种应用程序的现代网络中是特别重要的。数据包丢失对于使用UDP协议传输的数据应用程序的影响比对需要可靠连接的TCP协议应用程序的影响还要严重。

  相反,对于数据包丢失、数据包延迟和各种延迟来说,语音、视频、和多媒体等实时应用程序能够更容忍数据包丢失。因此,对于不同的网络应用程序应该采用优先等级不同的质量参数。目标值应该设置网络的可用性或者关机时间。同性能目标一样,这个目标在设计过程中将作为一个质量的标准。

  允许的网络关机时间的水平与商业应用程序本身有很大的关系。应用程序不能使用造成的影响在不同的行业有很大区别,在金融行业可能造成每小时数万美元的损失,在医疗行业有可能造成性命的损失。

  对于网络可能升级的规模应该提供一个预测。这种预测目标应该包括网络用户增加的数量、网络节点的增加数量,地理位置数量的增加、以及更重要的应用程序通信量的增加等。网络设计师的任务就是制定一个能够容纳这些增长的网络计划。

  如果一个网络不是一个成本低效率高的解决方案,设计这种具有性能、弹性和可伸缩性的网络就是没有用处的。设计师必须要非常清楚地了解预算的限制,以便对权衡成本和可用性做出聪明的决策。

存档设计目标

  网络设计需要把对技术以及各种技术之间的关系等方面的理论知识与广泛的实践经验结合起来。实践经验是特别重要的,并且常常被人们忽略。按照我的观点,一个没有丰富的网络技术支持经验的网络工程师不能进行网络设计工作。能够让你达到设计目标的工具包含在技术本身。你需要有很好的这方面的知识和了解。例如,具有可伸缩性的路由协议、成本低效率高的广域网传输技术、网络管理等知识都需要掌握。我一直建议实验室的工作是进行概念证明测试。设计必须在实验室中进行,而不是理论上的纸上谈兵。这样多的技术一起使用和交叉使用太复杂了,在真正的测试平台以外的任何东西上都是不能验证的。

  下面这些步骤提供一个大概的指南,在设计过程中遵循这些步骤可以完成基本的设计任务:

1.确定性能参数,具体说明每一个设计目标。例如,应用程序响应时间、数据包损失百分比、延迟和应用程序可用性等。

2.找出任何设计的局限性。最明显的局限性是预算。其它局限性可能包括实施的时间表、老式设备的技术支持以及结合需要独特的网络规范和政策的专业部门。

3.在考虑到系统规定参数之后,制定相关网络参数的目标。

4.开始进行高水平的设计。这是要解决一些主要的问题,如选择广域网技术和设备、IP地址计划、使用路由而不使用交换的程度等等。

5.这种高水平设计应该与系统规定参数是一样的。如果这种系统规定参数不能满足迭代步骤的要求,就需要向下兼容。在满足系统规定参数的要求时,设计过程可以继续进行。

6.现在,具体的网络设计计划可以开始形成了。这要解决设计的全部技术细节和替代方法。

7.技术解决方案的每一个重要方面都要在实验室进行测试。应用程序的响应时间和可用性等特点要在实验室测试。这有助于逐步地精细调整这个技术解决方案。

8.在技术设计完全进行精细调整之后,这个设计就完成了。在某些情况下,最终的实验室测试结果可能表明,基本的性能目标或者系统规定参数是不切合实际的,必须要进行修改和采取折衷的方案。然而,这些参数最好在高水平设计阶段临时确定下来。

网络设计原则

  现在总结一下成功的网络设计必须要遵循的一些关键的原则。我看到过的最糟糕的网络应用的根本原因都是由于没有遵守这些网络设计原则。

  应用程序推动设计的需求。网络是保证应用程序顺利运行的结构。不了解应用程序的特点及其要求,网络就不能设计。

  网络设计需要有经验的人。网络设计工程师需要广泛的实践经验,同时从理论上了解技术和各种技术之间的相互关系。广泛的实践经验应该被认为是完成设计任务的先决条件。你不了解网络是如何工作的,你就不能设计网络。

  网络是在实验室设计的,而不是在纸上设计的。实验室是一个最重要的设计工具。考虑到更高级的网络设计的复杂性,一个设计方案没有经过实验室的验证就不是有效的设计。网络模型软件也是可以信赖的。互连网络包含了多种复杂的技术。这些技术必须能够成功地相互交流。按照我的观点,一个大型的或者复杂的网络设计采用模型是不可靠的。这种模型仅适用于高级设计。当解决具体的技术细节问题时,就需要实验室。

  网络设计通常包含许多权衡。成本与性能和可用性通常是最基本的设计权衡因素。

  不要设法借鉴公司结构。网络设计和拓扑结构经常反应了一个机构的公司结构。虽然没有必要阻止设法借鉴公司结构的方法,但是,网络设计师一定不要受这种结构的束缚。这种方法将导致网络设计出现最基本的错误。要记住,设计目标才是推动设计的惟一因素。

  不依赖于厂商。不鼓励采用专有的解决方案。应该自动避免出现上述情况。有很多例子表明,站主导地位的厂商能够提供最佳的解决方案。

  简单地说,不必要地增加复杂性可能会提高技术支持成本,使网络更难管理。而且,每一次不必要地采用复杂的解决方案,都可能增加使用有瑕疵的软件。应该永远采用最简单和最可行的解决方案。只有在有好处或者有要求的情况下增加网络的复杂性才是合理的。

  根据每一个网络本身的优点设计网络。不要使用一套严格的和可能过于全面的设计规则和模板。考虑到每一个网络都有自己的优点,避免因为表面上相似就简单模仿现有的解决方案。避免采用最高级的技术。对于网络上所有的设备都要采用成熟的和经过测试的软件和硬件。

  基本的设计计划必须要坚决执行。这个设计也许必须显示出某种程度的灵活性,并且随着网络一起发展。这与具有可伸缩性的设计有关。但是,基本的设计方案一定不能妥协。例如,如果你应用一个3层的广域网架构,你就不要增加另外一层而放弃基本的设计原则。无论是增加一层或者搭配其它一些层都是破坏原来的设计。如果为了“快速修复某些瑕疵”而频繁修改基本的设计,原来设计的基本原则就会淡忘,网络设计也就不再不存在了。网络设计如果不全面地、准确地按照原来的设计计划执行,网络设计就仅仅是一个学术研究活动。没有设计这个网络的工程师的许可,原来的设计方案不应该做任何改动。

  可预见性是一个优秀设计的质量证明。性能的可预见性和一致性,弹性和可升级性是一个设计良好的网络的特点。

  一次设计好,否则就要设计一千次!如果一个网络开始的时候没有好好设计,或者如果那个设计被改动了,那么,对这个排除故障和增加新设备等日常的任务本身就会变成设计任务。这是因为,没有一个一直被遵守的合法的设计,基本的网络变化就不是任何一个计划的一部分。因此,这些变化必须被当作单独的项目对待。没有可预见性并且偏离了设计计划,对这个网络进行的任何改变都必须要进行独立的评估。这就是我说的“设计一千次网络!”。

  设计需要一个有能力的一号人物负责,无论多有技术和多有经验,设计网络需要一个人的绝对权威。设计一个网络包括一般地和详细地平衡优先等级、权衡性能和解决广泛的技术问题。一个设计团队需要拥有不同专长和实力的人员。有些人负责解决一般的问题,有些人负责解决难题。然而,我强烈地强调指出,委员会不应该设计网络。一般事情归管理层领导的一组有能力的工程师应该能够解决网络设计过程中的细节问题。



相关文章


07年4月7日全国计算机等级考试成绩查询通知
计算机等级考试三级IP网络设计系列之-基本原则
计算机等级考试三级IP网络设计系列之-IP地址管理
计算机等级考试三级IP网络设计系列之-局域网设计
计算机等级考试四级:操作系统整章问题及解答
全国计算机四级考试经验谈
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛