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