IP网络设计
导言
一个优秀的网络设计是建立一切成功的网络应用的基础。本文是四篇讲座文章的第一篇,重点介绍基于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层的广域网架构,你就不要增加另外一层而放弃基本的设计原则。无论是增加一层或者搭配其它一些层都是破坏原来的设计。如果为了“快速修复某些瑕疵”而频繁修改基本的设计,原来设计的基本原则就会淡忘,网络设计也就不再不存在了。网络设计如果不全面地、准确地按照原来的设计计划执行,网络设计就仅仅是一个学术研究活动。没有设计这个网络的工程师的许可,原来的设计方案不应该做任何改动。
可预见性是一个优秀设计的质量证明。性能的可预见性和一致性,弹性和可升级性是一个设计良好的网络的特点。
一次设计好,否则就要设计一千次!如果一个网络开始的时候没有好好设计,或者如果那个设计被改动了,那么,对这个排除故障和增加新设备等日常的任务本身就会变成设计任务。这是因为,没有一个一直被遵守的合法的设计,基本的网络变化就不是任何一个计划的一部分。因此,这些变化必须被当作单独的项目对待。没有可预见性并且偏离了设计计划,对这个网络进行的任何改变都必须要进行独立的评估。这就是我说的“设计一千次网络!”。
设计需要一个有能力的一号人物负责,无论多有技术和多有经验,设计网络需要一个人的绝对权威。设计一个网络包括一般地和详细地平衡优先等级、权衡性能和解决广泛的技术问题。一个设计团队需要拥有不同专长和实力的人员。有些人负责解决一般的问题,有些人负责解决难题。然而,我强烈地强调指出,委员会不应该设计网络。一般事情归管理层领导的一组有能力的工程师应该能够解决网络设计过程中的细节问题。
IP地址管理是成功的逻辑设计的基础。本讲座的这一部分将介绍如何制定一个能够支持网络随时扩容的可伸缩性的IP地址管理计划。这部分还将介绍可变长度子网掩码和路由汇聚等关键工具的使用和重要性。选择适当的路由协议是同等重要的。用于评估一个路由协议的适宜性参数也在这里进行研究和讨论。IP路由协议的不同特点将与路由信息协议(RIP)和开放最短路径优先协议(OSPF)等行业标准协议的运行一起介绍。
可变长度子网掩码
可变长度子网掩码(VLSM)的含义是在一个网络的同一个主要类别中使用一个以上的子网掩码。它能够更有效率地在主机和子网中使用IP地址空间。在一个没有充裕的IP地址空间的网络中,VLSM是非常重要的。
为了在同一个主要网络使用不同的子网掩码,需要一个支持VLSM的路由协议。这种路由协议称作无类路由协议。这些协议在路由广播中携带子网掩码信息,因此能够支持一个以上的子网掩码。无类路由协议的例子包括OSPF、RIP第二版、思科的EIGRP(增强型内部网关路由协议)、BGP(边界网关协议)和IS-IS(中间系统-中间系统协议)。
考虑一个使用VLSM的例子。假设需要一个B类地址172.16.0.0支持一个总共拥有200个站点的网络。这个最繁忙的局域网可能最多支持100台主机,并且最多可以有400个点对点的广域网连接。因此,需要600个子网,每一个子网最多可以有100台主机。即使采用B类地址,在不使用VLSM的情况下也没有足够的地址空间来满足这种需求。
在规划一个VLSM解决方案的时候,你应该首先使用最短的子网掩码。换句话说,你应该计划让这个子网支持最多的主机。这一般是用于大多数或者全部局域网网段中的子网掩码。在这个例子中,有200个局域网网段,每个网段最多可支持100台主机。虽然7个“host bits”(主机地址的二进制位数)或者一个25位掩码就能够满足这种需求,但是,从管理方面说,使用一个24位掩码会更方便。由于在这个例子中使用了VLSM,网络地址是非常充裕的。局域网网段可以使用172.16.1.0/24至172.16.200.0/24的地址。
现在是进入VLSM第二个阶段的时候了。这个阶段包括选择可用的子网和进一步划分子网。这个阶段有时候称作“划分子网”。重要的是要记住,子网划分只能在一个或者更多的子网没有用尽的情况下才能实施。
172.16.201.0这个地址范围是空闲的,可以使用30位掩码进行划分,在这个地址范围内创建一个额外的64个子网。同样,172.16.202.x/30地址范围可以创建适用于点对点连接的64个以上的子网。每一个最多可包含172.16.207.x/30的地址范围都可以为400个串行连接提供足够的子网地址空间。这就意味着满足了地址管理的要求,并且还有许多空闲的地址空间。
如果有可能,应该使用连续的子网。虽然这并不重要,但是,选择一个连续范围的地址并且为这些地址分配一个特定的子网掩码是非常有意义的。正如下一节将要重点介绍的那样,在讨论路由汇聚的时候,高效率的IP地址分配不会仅仅是为了整洁而做的,这样做通常对于良好的网络设计是必不可少的。
路由汇聚
路由汇聚的含义是把一组路由汇聚为一个单个的路由广播。路由汇聚的最终结果和最明显的好处是缩小网络上的路由表的尺寸。这样将减少与每一个路由跳有关的延迟,因为由于减少了路由登录项数量,查询路由表的平均时间将加快。由于路由登录项广播的数量减少,路由协议的开销也将显著减少。随着整个网络(以及子网的数量)的扩大,路由汇聚将变得更加重要。
除了缩小路由表的尺寸之外,路由汇聚还能通过在网络连接断开之后限制路由通信的传播来提高网络的稳定性。如果一台路由器仅向下一个下游的路由器发送汇聚的路由,那么,它就不会广播与汇聚的范围内包含的具体子网有关的变化。例如,如果一台路由器仅向其临近的路由器广播汇聚路由地址172.16.0.0/16,那么,如果它检测到172.16.10.0/24局域网网段中的一个故障,它将不更新临近的路由器。
这个原则在网络拓扑结构发生变化之后能够显著减少任何不必要的路由更新。实际上,这将加快汇聚,使网络更加稳定。为了执行能够强制设置的路由汇聚,需要一个无类路由协议。不过,无类路由协议本身还是不够的。制定这个IP地址管理计划是必不可少的,这样就可以在网络的战略点实施没有冲突的路由汇聚。
这些地址范围称作连续地址段。例如,一台把一组分支办公室连接到公司总部的路由器能够把这些分支办公室使用的全部子网汇聚为一个单个的路由广播。如果所有这些子网都在172.16.16.0/24至172.16.31.0/24的范围内,那么,这个地址范围就可以汇聚为172.16.16.0/20。这是一个与位边界(bit boundary)一致的连续地址范围,因此,可以保证这个地址范围能够汇聚为一个单一的声明。要实现路由汇聚的好处的最大化,制定细致的地址管理计划是必不可少的。
选择路由协议
选择正确的IP路由协议的重要性已经间接地提到了。现在,我介绍一下评估一个路由协议的具体问题。让我们考察一下判断一个路由协议所依据的一些特点。
稳定性
路由协议必须具备防止出现路由环路问题的稳定性。路由环路是由网络拓扑结构发生变化之后立即出现的虚假路由信息广播引起的,可造成网络的崩溃。RIP等不太高级的协议使用保持计时器(holddown timer)来提高稳定性。如果一个子网性能下降,所有的路由器在保持计时器运行期间将忽略那个子网的任何更新。
这个路由协议在网络拓扑结构发生变化之后有效地采取了“观望”的方法来保证网络的稳定。然而,由于RIP协议没有保持网络快速和可靠地汇聚的足够信息,使用保持计时器的缺点是降低汇聚的速度。这是一个不得已的缺点。
汇聚速度
当网络拓扑结构发生变化时,例如失去和增加一个子网,网络上的每一台路由器知道这个变化都有一个延时。在这个间隔时间(称作汇聚时间)内,有些路由器将根据不一致的信息运行。因此,汇聚时间也可以认为是从网络拓扑结构发生变化之后到网络中所有的路由器都知道与受影响的子网有关的一致信息的时间间隔。
一个网络的汇聚速度根据许多因素的不同有很大的区别。这些因素与路由协议本身的运行特点没有关系。OSPF等高级的链路状态路由协议保持一个网络中所有的子网的链路状态数据库,详细说明连接到这些子网的路由器是什么。如果一个链接出现故障,直接连接到这个链接的路由器将立即向邻近的路由器发送一个链路状态通告(LSA),这个公告信息将潮水般地发送到整个网络。收到LSA信息之后,每一台路由器都将查询其数据库并且在网络拓扑结构发生变化之后独立地重新计算路由表。
由于OSPF保存了比路由表更广泛的网络拓扑结构信息,汇聚的速度是很快和很可靠的。这与RIP等比较简单的协议是不同的。正如以前讨论过的那样,这些比较简单的协议要求在网络拓扑结构发生变化之后使用保持定时器以确保没有环路的汇聚。
衡量标准
一台知道通向一个特定目标网络(通过路由协议)的多条路径的路由器将选择路由表中拥有最佳衡量指标和位置的路径。如果最佳衡量指标不止一条路径,那么,这些低价路径中的每一条路径都将放在路由表中,并且将进行等价负载均衡测试。
不同的路由协议使用不同的衡量标准。换句话说,各种路由协议每一种协议都有自己的方法选择最佳的通往目的地的路径。这个衡量标准应该是非常高级的,以保证路由协议对最佳路径的解释是切实可行的。RIP协议使用跳跃计数作为其衡量标准。这是对这个特定的路由协议的另一种限制。例如,如果一台路由器有两条路径通向一个目的地,一条路径是56K的线路,另一条路径是T-1线路,如果路由器的跳数相同,RIP协议就会认为这两条路径是等价的。因此,RIP协议会负载均衡,尽管一条路径比另一条路径的速度快23倍。
OSPF协议使用管理成本作为衡量标准。这个标准可以强制性设定。在思科路由器中,这个衡量标准是自动计算机的,与链路的带宽成反比。北电网络采用一种替代的方法,通过在所有的链路上设置默认值来保证OSPF的等价。
VLSM
VLSM(可变长度子网掩码)的重要性已经做了说明。无类路由协议支持VLSM,因为他们在路由更新中携带掩码。标准化的无类IP路由协议包括OSPF和RIP第二版。RIP第一版是一种有类路由协议,因为它在路由更新中不包含子网掩码。
路由汇聚
一个路由协议应该支持可设置的路由汇聚。能够在网络的战略点上设置路由汇聚的意义已经介绍过了。除了可设置的路由汇聚之外,一些协议还具有自动路由汇聚功能。这种功能没有听起来那样好,有时候还是重要的故障原因。RIP第一版等有类路由协议在主要网络边界广播时根据类别自动进行汇聚。
例如,如果一台路由器正在属于这个特定的B类网络的一个链路上发布链接通告,地址为172.16.0.0的子网将作为一个单个的路由发送给B类网络172.16.0.0/16。这需要使用可分类的路由协议,因为这种协议不传送子网掩码。如果那台路由器没有那个主要网络的接口,下游的路由器将没有办法推测这个子网掩码。因此,必须假设(通常是错误的假设)没有划分子网。
如果在网络中的一个以上的点出现汇聚的话,自动路由汇聚可能会引起故障,因为汇聚的路由可能会出现冲突。当一台路由器从相反的两个方向收到相同的汇聚路由的时候会出现这种情况,而且这种情况通常被称作不连续的网络。你可以把不连续的网络想象为被另一个网络“切断了”。如果诸如172.16.0.0之类的主要网络是不连续的,那么,在中间网络(也就是说,其地址为B类181.40.0.0的一部分)上的路由器就会从相反的方向收到172.16.0.0/16汇聚路由。这些路由器会试图在这些路由中进行负载共享。在实际的例子中,这可能出现严重的连接问题。基于TCP的应用程序会要求重新发送每一个错误的路由选择,而基于UDP协议的应用程序根本就不能工作!
有类与无类
有类与无类路由协议的区别是非常简单的。无类协议包括在更新中的子网掩码,而有类协议不包含这种子网掩码。然而,前面的讨论应该强调了这样的事实:这种简单的区别的后果是非常重要的。RIP第一版等有类协议不支持VLSM、不连续网络或者可设置的路由汇聚,因此,不适用于现代的网络。
可伸缩性
可伸缩性的问题与路由协议支持网络升级的能力有关。也就是在网络增加更多的IP子网的时候,路由槟芄怀浞种С稚锻绲脑诵小;憔鬯俣取⒅С諺LSM和可设置路由汇聚等问题最终将决定这个路由协议的可伸缩性。路由协议交换的效率也与可伸缩性相关。RIP等距离矢量协议定期向相邻的路由器广播整个路由表。一旦最初的路由信息发生变化,更高级的协议仅广播事件驱动的网络拓扑结构变化,这显然是一种更有效率的机制。
开放最短路径优先协议(OSPF)是一个非常复杂的IP路由协议。对于这个协议的工作情况做出全面的解释超出了本文的范围。然而,值得总结一下这个协议提供的比RIP等距离矢量路由协议还要好的优势。如果需要用一个词汇说明使用OSPF协议的合理性,这个词汇就是可伸缩性。OSPF协议适用于大型和不断扩大的网络有许多理由,这些理由在很多时候都是相互关联的。
分层结构:OSPF支持把网络划分为多个拥有某种程度的自主权的区域。在这种结构中,有一个骨干区域(总是指0区域),而且许多其它的区域都必须直接附加在0区域(特殊情况除外)。一个规划良好的分层结构设计是每一个区域的路由都可以汇聚为连续的网段。OSPF还支持汇聚另一个路由协议重新发布的路由的能力。
汇聚速度:每一台运行OSPF协议的路由器都维护一个这个网络逻辑拓扑结构的数据路。这个数据库拥有关于每一个链接、局域网网段和网络上的路由器的详细数据。OSPF协议日益提高的智能化意味着它汇聚的速度更快,而且不必借助距离矢量协议的低级的汇聚方法。
高效率更新处理:当网络拓扑结构发生变化并且不采用定期更新的方法时,要发送增强的更新信息。OSPF还使用众所周知的多播地址而不是广播来传送路由信息。
VLSM:由于它是一个有类协议,OSPF支持VLSM允许更充分地使用IP地址空间。
好了,现在我介绍完了OSPF的全部好处。然而,几乎每一个网络协议在某种程度上都是一把双刃剑,OSPF协议也不例外。OSPF协议有两个潜在的缺陷值得考虑。
资源利用:OSPF协议提高了路由器的存储容量需求,因为每一台OSPF路由器都要维护一个这个网络的拓扑结构的数据库。路由表是根据这个数据库的信息计算的。这个计算过程消耗的内存比路由表本身消耗的内存还要多。
运行OSDF协议还将增加路由器CPU的平均使用率。为了在网络拓扑结构发生变化之后重新计算路由表,要运行最短路径优先算法。这是一种处理器密集型的工作,可能限制低端路由器的性能。
设计的局限性:对于需要保留增长空间的大型网络来说,通常应该使用多个OSPF区域。还有一些关于通信如何在这些区域之间进行的规则,这就增加了一些设计局限性。
OSPF提供了一种把网络分为多个区域的设施。支持这个概念的整个思路是减少与运行这个协议有关的内存和处理器的开销。一台在多区域网络环境中运行OSPF协议的路由器只保存本地区域的数据库,而不是保留整个网络的数据库。这就减少了内存的消耗。这个原理利用了这样一个事实:在一个设计良好的网络中,一般没有必要让一台路由器掌握非常遥远的一个网段的全部细节。出于同样的理由,在网络拓扑结构发生变化时,更新仅仅在本地区域发送,从而减少路由通信量并且减少通常与不必要的路由重新计算相关的CPU消耗。