1.1 采用自顶向下的网络设计方法
自顶向下网络设计(第3版)
阿尔伯特·爱因斯坦曾说过:
“我们创造的世界是我们思维水平所能达到的结果,因此在很大程度上产生了在创造它们的同一水平上我们还不能解决的问题。”
我们可以这样改写爱因斯坦的话:网络专业人士有能力创建出一个相当复杂的网络,但当问题出现的时候,他/她们却不能采用构建网络时的思维来解决这些问题。再加上每次通过复杂甚至费解的思维对网络进行升级、打补丁和修改,很快你就会意识到很难掌握当前的网络,并且很难在这个网络中进行排错。以这种复杂需求为基础创建的网络通常无法如预期的那样运行,也无法随网络规模的不断增长(网络几乎永远在增长)而扩展,并且无法满足客户的需求。解决这一问题的方法就是使用流水线式的系统方法,通过自顶向下的方式来设计并升级网络。
当今使用的许多网络设计工具和网络设计的方法类似于我们儿时玩过的一种“连连看”游戏。这些工具让你将互连网络设备放置在调色板上,然后用LAN(局域网)或WAN(广域网)介质将它们连在一起。使用这种方法的缺点在于,它跳过了分析客户需求并基于客户需求选择设备和连接介质的几个步骤。
好的网络设计必须清楚客户的需求是由许多商业目标和技术目标构成的,这些目标包括可用性、可扩展性、可购买性、安全性和可管理性。许多客户还会指定所需的网络性能等级,通常称为服务等级(Service Level)。为了满足这些需求,当设计逻辑网络时,在选择物理设备或介质之前,就必须首先做出网络设计的选择和 评估。
当客户希望设计者尽快根据需求设计出网络环境时,若客户的应用和目标都已相当明确,那么设计者可以使用自底向上(连点)的网络设计方法。然而,网络设计者们经常认为自己已经十分明确客户的应用和需求了,但当网络实施完毕后,却发现他们实际上并未抓住客户最重要的需求。之后随着网络用户数量的增加,会遇到意想不到的可扩展性及性能问题。如果网络设计者在选择技术之前使用自顶向下的方法对需求进行分析,则可以避免这些问题。
自顶向下网络设计是一种设计网络的方法,这种方法从OSI参考模型的高层开始,再向较低的层次推进。自顶向下的方法关注应用、会话和数据传送,之后才会考虑OSI模型下面几层的操作,比如选择路由器、交换机和连接介质。
自顶向下网络设计过程包括探讨部门和团队结构,以便弄清网络将向谁提供服务,并弄清楚设计者应该从谁那里获取有用信息,以便使设计获得成功。
自顶向下网络设计也是周而复始的。为了避免过快地陷入具体细节,设计者需要先对客户需求有一个大致的了解,这非常关键。之后,可以再收集各个方面更细节的信息(比如协议行为、可扩展性需求、技术倾向性等)。自顶向下网络设计方法认为,逻辑模型和物理设计可以随着信息的不断收集而变化。
正因为自顶向下方法是周而复始的,所以本书中的某些主题会被多次提及。例如,本章讨论了网络应用,在第4章中对这一问题又进行了深入探讨,其中着重探讨了由应用使用模式和协议使用模式引起的网络流量。自顶向下的设计方法使网络设计者首先对目标网络产生大致轮廓,然后再螺旋式地深入到具体技术需求和规范等细节问题上。
1.1.1 使用结构化网络设计方法
自顶向下的网络设计是从结构化软件设计和结构化系统分析衍生出来的学科。结构化系统分析的主要目标是更准确地描述用户需求,这一点常常被设计者忽略或曲解。结构化系统分析的另一个目标是将整个项目分成多个易于维护和更换的模块,使整个项目易于管理。
结构化系统分析具有下列特性。
设计者依照自顶向下的顺序设计系统。
在设计项目期间,可以使用许多现有的技术和模型来描述现有系统的特征、确定新的用户需求并提出未来系统的结构。
重点关注数据流、数据类型、访问或更改数据的过程。
重点关注访问/修改数据和进程的用户位置和用户需求。
在设计物理模型前先开发逻辑模型。逻辑模型以功能为单位,描述大楼的基本模块和系统结构。物理模型则描述设备和具体技术以及实施计划。
明确的技术参数是通过自顶向下设计过程中,一开始收集到的需求得来的。
对于大型的网络设计项目,使用模块化的思想十分必要。设计者应该根据各种功能来进行设计,从而使项目更容易管理。例如,设计者可以分别分析下列各种网络所提供的功能:园区局域网(LAN)、远程访问网络、虚拟专用网(VPN)和广域网(WAN)。
Cisco推荐使用模块化方法,用三层模型来分析网络。这个模型把网络分成核心层,分布层和接入层。本书的第2部分中所讨论的Cisco企业安全体系(SAFE)架构是另一种设计网络的方法。
使用结构化的方法来设计网络,设计者可以分别设计每个模块,同时使每个模块之间相互关联。在选择物理设备和产品来实施设计方案之前,设计者应该自顶向下的方法来设计所有模块,并着重关注需求、应用和逻辑结构。
1.1.2 系统开发生命周期
学习系统分析的学生都熟悉一个概念,通常一个系统开发出来后会持续存在一段时间,这就是通常我们所说的系统开发生命周期。许多介绍系统分析的书籍使用首字母缩略词SDLC来表示系统的生命周期,这个词可能对高年级的网络专业学生并不陌生,但他/她们是把同步数据链路控制称为SDLC,这是一种用在同步串行链路上的面向比特、全双工协议,经常出现在传统的SNA(系统网络结构)环境中。无论如何,认识到这一点很重要,那就是包括网络系统在内的的大多数系统都会遵循设计、建设、测试和优化的一整套周而复始的过程。
来自系统用户的反馈会使系统再次经历重新设计或更改、测试和优化的过程。当有新用户加入到网络之后,又会出现新的需求。由于人们习惯于了使用新网络以及它提供的服务,因此他/她们很快就认为满足这些需求是理所当然的,并且期望这个网络能做得更多。
在这本书里,网络设计分成4个主要阶段,并以周而复始的方式执行。
分析需求:在这个阶段中,网络分析人员会当面与用户和技术人员沟通,以此明确新系统或升级系统所要达到的商业和技术目标。然后归纳出当前网络的特性,其中包括逻辑拓扑和物理拓扑,以及网络性能。这个阶段的最后一步是分析现在和将来的网络流量,其中包括数据流量和负载、协议行为和服务质量(QoS)的要求。
开发逻辑设计:这个阶段需要确定新网络或升级网络的逻辑拓扑、网络层编址、命名、交换协议和路由选择协议。逻辑设计还包括安全计划、网络管理设计、以及对服务提供商的初步调查,查看哪个服务提供商能够满足企业的WAN和远端访问需求。
开发物理设计:在物理设计阶段,设计者需要根据逻辑设计来选择具体的技术和产品。此外,在逻辑设计阶段开始对服务提供商的调查,必须在这个阶段完成。
测试、优化和整理设计文档:自顶向下网络设计的最后步骤是编写和实施测试计划、建造一个原型或者试验环境、优化网络设计、把所有网络设计的提议绘制成文档。
当用户反馈和网络监测建议增强网络功能或需要增加新的应用时,这些主要的网络设计阶段会不断周而复始地进行。图1-1显示了网络设计和实施的循环。
1.1.3 规划设计实现操作优化(PDIOO)的网络生命周期
Cisco文档为网络生命周期提出了PDIOO(计划、设计、实施、运作和优化)的各个阶段。事实上你使用哪个生命周期这并不碍事,只要你意识到应该采取结构化、有计划的、模块化的方法来设计网络,并且要将网络操作用户的反馈信息反映到增强的或者重新设计新的网络项目中。PDIOO生命周期中包含下列步骤。
计划(Plan):这个阶段确定了网络的需求。这个阶段还包括分析网络安装的区域和确定需要使用网络服务的用户。
设计(Design):在这个阶段中,网络设计者需要根据计划阶段收集的需求来完成逻辑设计和物理设计。
实施(Implement):在用户认可了设计方案后,便进入到实施阶段。工程师按照设计细节来构建网络,同时实施的过程也是对设计方案的验证过程。
运作(Operate):这是设计方案呈现效果的最后测试阶段。管理员在这个阶段会监测性能问题和其他错误,以便把数据提供给网络生命周期的优化阶段。
优化(Optimize):积极的网络管理是优化阶段的基础,积极的网络管理可以在网络由于任何原因中断之前,发现并解决问题。当网络中的问题太多时,可能需要在优化阶段重新设计网络,这些问题可能来自于设计方案中的错误,或者由于网络的性能和服务功能已跟不上当前需要的发展。在需求发生了非常大的改变时,可能也需要重新设计网络。
淘汰(Retire):当网络或者网络的一部分过时了,它就可能被淘汰。虽然淘汰没被合并进生命周期的命名(PDIOO)中,但这同样也是一个重要的阶段。淘汰阶段环绕着计划阶段,PDIOO生命周期随着网络需求的更新而不断循环。
图1-2显示了Cisco PDIOO网络生命周期的图例。