园区网OSPF规划与部署.docx
- 文档编号:10798989
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:25
- 大小:406.25KB
园区网OSPF规划与部署.docx
《园区网OSPF规划与部署.docx》由会员分享,可在线阅读,更多相关《园区网OSPF规划与部署.docx(25页珍藏版)》请在冰豆网上搜索。
园区网OSPF规划与部署
第6章园区网OSPF规划与部署
前言:
本文主要介绍了园区网中OSPF规划要点和部署OSPF的主要配置,对于OSPF协议原理和技术细节没有过多的阐述,适用于对于OSPF协议原理有一定了解的渠道工程师和网络维护人员。
6.1OSPF协议简单介绍
OSPF是由IETF的IGP工作组为IP网络开发的路由协议。
OSPF作为一种内部网关协议(InteriorGatewayProtocol,IGP),用于园区中的路由器之间发布路由信息。
它是一种链路状态协议,区别于距离矢量协议(RIP),OSPF具有支持大型网络、路由收敛快、占用网络资源少等优点,在目前应用的路由协议中占有相当重要的地位,锐捷公司产品实现OSPFv2。
6.2OSPF协议应用场合
在当前园区网络中,OSPF的应用场合基本上有以下三种:
(1)园区网中核心和汇聚都是支持OSPFv2的三层交换机
(2)园区核心或者汇聚层设备上建立了过多的静态路由,人工维护量过大
(3)园区中的三层设备支持OSPFv2但是仍然在使用RIP协议的可以考虑做协议迁移。
在日常工作中常见的情况只有
(1)和
(2)两种。
6.3OSPF协议基本规划
OSPF网络协议在所有内部网关协议中是比较复杂的一种,这种复杂性和OSPF的协议原理密切相关,那么在设计园区网中的OSPF我们具体需要考虑哪几方面的问题呢?
在本节中将会为您一一介绍。
6.3.1保持OSPF数据库的稳定性:
Router-id的选择
对于大型园区网络OSPF设计和实施中我们需要考虑的第一点,就是Router-id的选择。
这是因为OSPF作为一种链路状态路由协议其计算路由的依据是LSA(链路状态宣告报文)数据库,每个运行OSPF的路由器都会发送并泛洪LSA报文到整个网络,这样网络中每个运行OSPF的路由器都会收集到其他设备发送过来的LSA并且放入LSA数据库中,然后开始进行SPF(最短路径转发)运算,计算出一棵以自己为根到其他网络的无环树。
由此可以看出保持每个路由器LSA数据库的稳定性是保证OSPF网络稳定的前提。
那么在LSA数据库中对于不同OSPF设备发送来的LSA是如何进行区分的呢,答案就是使用Router-id。
如果一个路由器的Router-id发生变化,那么此路由器的会重新进行LSA泛洪,从而导致全网OSPF路由器都会更新其LSA数据库并且重新进行SPF计算,使得OSPF网络发生振荡。
因此选择一个稳定的Router-id是OSPF网络设计的首要工作。
了解了Router-id的重要性后,我们来看看一个OSPF路由器是如何选择Router-id的,其选举原则基本上可以归纳为以下两点:
(1)首先选择具有最高IP地址的环回接口
(2)如果没有环回接口的话则选择具有最高IP地址的激活物理接口。
在一个OSPF路由器选举出Router-id后,重启路由器或者重新配置OSPF进程都会导致Router-id的重新选举,如果OSPF路由器选择了一个激活物理接口的IP地址作为Router-id的话,那么一旦其down掉,就有可能引起OSPF路由器的Router-id发生变更,因此选择物理接口是一种危险的做法。
在实际工程中,锐捷网络的推荐做法是首先规划出一个私有网段用于OSPF的Router-id选择。
例如:
192.168.1.0/24.在启用OSPF进程前就在每个OSPF路由器上建立一个环回口,使用一个32位掩码的私有地址作为其IP,这个32位的私有地址不要发布在OSPF网络中.
6.3.2层次化的网络设计:
OSPF区域的规划
OSPF是一个需要层次化设计的网络协议,在OSPF网络中使用了一个区域的概念,从层次化的角度来看区域被分为两种:
骨干区域和非骨干区域。
骨干区域的编号为0,非骨干区域的编号从1到4294967295。
处于骨干区域和非骨干区域边界的OSPF路由器被称为ABR(区域边界路由器),处于非骨干区域的路由器被称为区域内部路由器。
由于OSPF的区域边界处于路由器上,因此对于每个非骨干区域中都会存在至少一个ABR。
实际上OSPF区域的规划也就是把网络中的OSPF路由器做归类的过程。
在设计OSPF区域时,我们首先需要考虑第一点的是网络的规模,对于小型的园区网络,例如只有几台S3550作为核心和汇聚的网络可以考虑只使用一个AREA0来完成OSPF规划。
这在本文中不予讨论。
但是在大型园区的OSPF网络中,网络的层次化设计是必须的。
对于大型的园区网络,一般在规划上都会遵循核心,汇聚,接入的分层原则,而OSPF骨干路由器的选择必然包含两种设备,一种是位于核心位置的设备,另一种是位于区域核心的汇聚设备,通常都是锐捷网络的高端产品如S6810E和S6806E.非骨干区域的范围选择则是根据地理位置和设备性能而定,如果在单个非骨干区域中使用了较多的低端三层交换产品,由于其产品定位和性能的限制,应该尽量减少其路由条目数量,把区域规划得更小一些。
值得注意的是在施工中对于非骨干区域的AREA号定义,锐捷网络推荐使用AREA10,20,30…来递增,这样可以提供AREA号上的冗余,便于客户增加区域。
6.3.3非骨干区域内部路由器的路由表项优化:
特殊区域的使用
前一节讲到在OSPF的非骨干区域中使用的一般都是较为低端的三层交换机,其产品定位使得其不可能承受过多的路由条目,为了精简其路由条目数量可以采用一些特殊区域模式来进行路由表项的优化。
锐捷网络产品支持OSPF协议中定义的全部三种特殊区域模型:
末梢区域(StubArea),完全末梢区域(TotallyStubArea)和非完全末梢区域(NSSAArea)。
由于NSSA区域应用非常少,下面简单介绍一下前两种特殊区域的区别和应用场合:
(1)末梢区域StubArea
处于末梢区域的内部路由器将不会出现重分布进入OSPF网络的外部路由条目,并且拥有一条指向区域外部的默认路由。
(2)完全末梢区域TotallyStubArea
处于完全末梢区域的内部路由器只有区域内部明细路由和指向区域外部的一条默认路由。
在绝大部分的情况下,园区网中的非骨干区域中都仅仅需要知道默认路由出口在哪里,因此锐捷网络推荐把非骨干区域统一设置成完全末梢区域,这样将极大的精简非骨干区域内部路由器的路由条目数量,并且减少区域内部OSPF交互的信息量。
对于极少数存在特殊需求的网络,请根据实际情况灵活使用几种区域类型。
6.3.4骨干区域路由器的路由表项优化:
非骨干区域IP子网规划和路由汇总
对于OSPF的非骨干区域来说使用特殊区域能够精简其内部路由器的路由表,那么对于OSPF的骨干区域的路由器来说又是如何优化其路由表的呢?
答案就是对非骨干区域使用的IP网段作出合理规划以便于区域边界的汇总。
对于IP网段的合理规划在本书中第三章《园区网IP地址规划设计》中已经有非常详细的说明,本章节就不再做过多的阐述。
锐捷网络推荐新建OSPF网络能够在前期就作出利于路由汇总的IP网络设计,对于扩建的网络尽量进行IP地址的重新规划,通过区域汇总能精简骨干区域路由器的路由表,减少骨干区域内OSPF交互的信息量,并且提高了路由表项的稳定性。
6.3.5OSPF默认路由的引入和选路优化:
重分布静态和cost调整
当前对于一个大型园区网络来说,很大一部分的业务流量并不在园区内部,而是通往INTERNET出口,因此默认路由的引入也是园区网络OSPF设计的一大要点。
对于OSPF网络的默认路由引入方式,锐捷网络推荐使用静态默认路由重分布到OSPF网络的方式进行。
在实际的大多数工程案例中,园区网的出口往往不止一个,如何有效的将出口流量分担到多条链路上就成为了OSPF设计中的一个难点。
虽然有很多种手段能够达到分担流量的目的,但是最简单也是最安全的方法是使用OSPF内建的选路机制。
因为OSPF路由器对一条路由的优劣衡量是通过计算其cost值来实现的,cost值小的路由会被路由器优先放入路由表。
通过调整OSPF接口的cost值可以使得路由器选择不同的链路出口来达到负载分担的目的。
不过在调整cost值之前还有一项必须要做的工作。
因为OSPFv2出现的时间较早,没有考虑到带宽的飞速发展,因此缺省情况下,OSPF计算cost值使用的参考带宽为100M,也就是说缺省情况下,OSPF把100M带宽以上的端口统统认为其cost是1。
很明显,在网络骨干带宽迈向10T的今天已经显得非常的不合时宜。
幸运的是锐捷网络设备提供了更改参考带宽的功能,使用auto-costreference-bandwidth命令选择一个合适的参考带宽成为OSPF网络建设中必须要做的一项工作。
对于OSPF网络的选路优化,锐捷网络推荐首先选择合适的参考带宽,然后通过调整OSPF接口cost值来实现。
6.3.6OSPF网络基本安全:
阻止发往用户的OSPF报文
对于一个大型园区网络来说,安全性是必须要考虑到的问题,对于园区网络的安全性设计请查阅本书的第九章《锐捷园区网安全功能的规划》,本节主要讨论的是如何避免终端用户通过Sniffer工具窥探到园区内OSPF报文信息。
首先谈谈为什么需要避免终端用户窥探OSPF报文信息,这是因为如果用户能截获OSPF报文,那就意味着他已经知道如何加入此OSPF网络。
此时要破坏这个OSPF网络已经是轻而易举的事,接入一台路由器到OSPF网络中,并且使得该路由器的OSPF进程处于不稳定的状态中,会导致整个OSPF网络发生振荡甚至瘫痪。
为了保证OSPF网络的安全与稳定,锐捷网络推荐在实际工程中使用闭塞接口(Passive-interface)的方式来阻止通往用户侧的OSPF报文。
6.4OSPF案例分析和部署
本章上一节对整个OSPF园区网络设计的六个基本原则作出了详细说明,下面我们来看看在实际工程中我们是如何运用这六个基本原则对OSPF进行设计和部署的。
图6-1某园区网络拓扑图
图6-1是某园区网络的物理拓扑图,可以看到这是一个大型园区网络,核心,汇聚,接入三层分明,拥有多出口到Internet,园区内部网络存在双链路冗余。
对于这种比较典型的网络结构,我们将如何进行OSPF的规划部署工作呢?
下面将根据上一节提出的六条基本原则逐步进行此网络的设计和部署。
6.4.1保持OSPF数据库的稳定性:
规划和部署Router-id.
部署OSPF的首要工作就是规划和部署Router-id,在Router-id仅仅是一个OSPF设备的标识,因此不需要占用公共IP,使用一个合适的私有IP地址段即可。
在此案例中我们选用的Router-id地址段为10.0.0.0/24.
选取完Router-id地址段后,接下来需要做的工作是在每个OSPF设备上建立相应的Loopback接口并设置相应的接口IP为10.0.0.X/32。
具体配置以一号楼的S3550-24交换机为例:
命令
含义
switch(config)#interfaceloopback0
创建环回接口
switch(config-if)#ipadd10.0.0.5255.255.255.255
使用32位掩码的私有地址
注意:
不要在OSPF进程中发布loopback0的接口地址,以减少无用的OSPF信息交互报文。
图6-2Router-id规划后的OSPF拓扑图
6.4.2层次化的网络设计:
OSPF的区域规划
在分配完Router-id后,接下来的工作就是对于整个OSPF网络进行区域划分。
对于这种层次分明的网络,OSPF的区域划分是非常容易的,直接把核心和区域汇聚交换机包含到区域0,再按照地理位置来区分非骨干区域。
唯一需要注意的是非骨干区域AREA号的冗余性,在实际工作中经常被忽视。
下图是做了AREA划分后的OSPF网络拓扑图:
图6-3AREA划分后的OSPF拓扑图
具体的设备配置以一号楼的S6806E交换机为例:
命令
含义
S6806E(config)#routerospf
建立OSPF进程
S6806E(config-router)#network10.0.1.00.0.0.3area0
将上联S6810E的接口放到骨干区域
S6806E(config-router)#network10.0.1.40.0.0.3area10
将下行到S3550的接口放到非骨干区域10
从配置命令中可以清楚的看到OSPF区域是以路由器为边界的,例如此拓扑中一号楼的S6806E上联接口属于Area0,下行接口属于Area10,也就是说,此路由器跨越了两个区域,是一个区域边界路由器。
注意:
在单个区域包含过多的低端路由器或者三层交换机是一种不好的设计,如果出现这种情况应该考虑缩小区域范围。
6.4.3非骨干区域内部路由器的路由表项优化:
特殊区域的使用
划分完OSPF网络区域,就应该开始考虑特殊区域的运用了。
本案例具有很强的代表性,象此类型的园区网络,锐捷网络推荐非骨干区域一律采用完全末梢区域.(TotallyStubArea).具体拓扑图如下:
图6-4采用特殊区域后的OSPF网络
具体设备配置以AREA10的S6806E和S3550为例
S3550配置如下表:
命令
含义
S3550(config)#routerospf
进入OSPF进程
S3550(config-router)#Area10stub
将AREA10设置成为stub区域
S6806E配置如下表:
命令
含义
S6806E(config)#routerospf
进入OSPF进程
S6806E(config-router)#Area10stubno-summary
将AREA10设置成为stub区域,
No-summary参数用在区域边界路由器上,设置此区域为完全末梢区域
6.4.4骨干区域路由器的路由表项优化:
非骨干区域IP子网规划和路由汇总
使用特殊区域后,非骨干区域内部路由器的路由表得到极大的精简并且减少了区域内部OSPF路由器之间的信息交互量。
在骨干区域我们也需要作出适当的操作来达到同样的目的,这就要对非骨干区域使用的IP子网作出合理规划并在区域边界路由器进行汇总操作。
在下图中显示了区域10作出合理的IP规划后往区域0通告的路由汇总表项:
图6-5区域边界路由汇总
区域路由汇总会抑制明细路由条目的通告,这样区域10的ABR就只会向区域0内注入一条汇总路由10.0.4.0/22,这样可以精简骨干路由器路由表项,减少AREA0的OSPF报文交互量和保证其路由表的稳定。
锐捷网络推荐在设计OSPF网络时就合理规划IP地址,在实施OSPF时进行区域汇总。
具体配置以Area10的S6806E为例
命令
含义
S6806E(config)#routerospf
进入OSPF进程
S6806E(config-router)#area10range10.0.4.0255.255.252.0
对Area10的路由进行汇总发布
注意:
Areaxrange命令只能用在区域边界路由上,区域内部路由器上不要使用此条命令,否则会造成路由表项的错误。
6.4.5OSPF默认路由的引入和选路优化:
重分布静态和cost调整
对于这种多出口的网络拓扑,引入默认路由和多出口流量分担是必须要考虑的问题。
引入默认路由的方式有多种,锐捷网络推荐的做法是在边界路由器上建立静态默认路由,并且重分布到OSPF进程中。
在本案例中两条默认路由被引入到OSPF网络后,对于汇聚层的S6806E设备来讲需要选择其中的一条链路投递IP报文,或者是在两条链路上实现负载均衡。
因为园区网内部使用的是私有地址,出口处必须做NAT转换,因此使用两条链路负载均衡的方式是不可行的。
只能通过调整cost值来使得S6806E把其中的一条上行链路作为主链路,另外一条作为备份链路。
具体项目中如何分配流量,请根据实际的网络情况灵活配置。
不过在做这项工作前,请记得首先更改OSPF网络的参考带宽。
图6-6中区域10的OSPF路由器在进行了选路调整后,对上行链路,核心交换机和出口都作出了合理的流量分担。
图6-6OSPF选路优化
图中各区域S6806E的上联链路实线部分表示为主链路,虚线部分表示此链路为备用链路。
默认路由引入的具体配置如下:
命令
含义
Router(config)#iproute0.0.0.00.0.0.0202.103.131.1
在出口路由器上建立一条指向电信路由器的静态默认路由
Router(configr)#routerospf
进入OSPF进程
Router(config-router)#redistributestatic
将静态路由引入OSPF
选路优化具体配置以Area10的S6806E,S6810E-1,S6810E-2为例
AREA10汇聚交换机S6806E的配置:
命令
含义
S6806E(config)#routerospf
进入OSPF进程
S6806E(config-router)#auto-costreference-bandwidth10000
将网络参考带宽改为10G
S6806E(config)#interfaceT1/1
进入S6806E到S6810E-1的上联接口
S6806E(config-if)#ipospfcost10
调整此接口的cost值为10
S6806E(config)#interfaceT1/2
进入S6806E到S6810E-2的上联接口
S6806E(config-if)#ipospfcost20
调整此接口的cost值为20
S6810E-1的配置:
命令
含义
S6810E-1(config)#routerospf
进入OSPF进程
S6810E-1(config-router)#auto-costreference-bandwidth10000
将网络参考带宽改为10G
S6810E-1(config)#interfaceT1/1
进入区域10S6806E的下行接口
S6810E-1(config-if)#ipospfcost10
调整此接口的cost值为10
S6810E-2的配置:
命令
含义
S6810E-2(config)#routerospf
进入OSPF进程
S6810E-2(config-router)#auto-costreference-bandwidth10000
将网络参考带宽改为10G
S6810E-2(config)#interfaceT1/1
进入区域10S6806E的下行接口
S6810E-2(config-if)#ipospfcost20
调整此接口的cost值为20
注意:
在做OSPF选路调整时注意两点:
一是更改OSPF参考带宽时必须保证全网设备一致,二是在链路两侧的设备上需要作出同样的cost调整,否则会形成不对称路由,引起网络故障。
6.4.6OSPF网络的基本安全:
阻止发往用户的OSPF报文
对于本案例来说,做完上面五步,实际上整个OSPF网络已经能够正常的运行,但是这个网络存在一个较大的安全漏洞。
即用户侧能够接收到OSPF的hello报文,使用Sniffer工具可以很轻易的获得基本的网络信息,并作出下一步的攻击行为。
为了实现OSPF网络的基本安全,在实际工程中锐捷网络推荐使用Passive接口的方式来阻止发往用户的OSPF报文。
如图6-7所示:
图6-7阻止发往用户的OSPF报文
具体配置以Area10中的一台S3550为例:
命令
含义
S3550(config)#routerospf
进入OSPF进程
S3550(config-router)#passive-interfacevlan10
阻塞发往用户vlan的OSPF报文
注意:
passive-interface命令会阻塞所有OSPF报文的发送,一般只会用于用户vlan的SVI接口上,千万不要阻塞OSPF路由器之间的链路,这将导致OSPF邻居无法建立。
6.5OSPF可选配置
本章节介绍了不太常见的OSPF配置,在实际工程中可以选择性使用。
6.5.1OSPF接口参数调整
OSPF接口参数是OSPF协议的一个组成部分,将直接影响协议的运行。
在绝大多数情况下,锐捷网络推荐不要去更改这些参数的默认值。
只有在某些特定应用环境中,比如运营商的网络,可能会需要调整OSPF的接口参数。
常见的OSPF接口参数有下面几种:
(1)OSPF网络类型
锐捷交换机支持两种OSPF网络类型:
point-to-point(点到点)和Broadcast(广播)。
这两种OSPF网络类型的主要区别在于Broadcast需要选举DR(指定路由器)和BDR(备用指定路由器),point-to-point不需要。
因此Broadcast类型的接口建立OSPF邻居关系花费的时间会更长一些。
缺省情况下,锐捷交换机的所有OSPF接口都是Broadcast类型。
(2)OSPF接口hello间隔和邻居死亡间隔
OSPF接口使用hello报文来发现邻居和维持邻居关系,在邻居死亡间隔内没有收到对端回复的OSPF报文,将会宣告邻居关系解除。
缺省情况下,锐捷交换的hello间隔为10秒,邻居死亡间隔4倍于hello间隔,也就是40秒。
(3)OSPF接口优先级
OSPF接口优先级用于Broadcast链路上的DR和BDR选择,在某些情况下,是需要通过调整接口优先级来保证DR和BDR位置的。
这里简单介绍一下DR和BDR在OSPF的广播网络链路上的作用和选举机制,大家知道在点对点链路上OSPF的邻居只会有一个,也就是说只需要建立一个邻居关系即可。
但是在广播链路上,由于可以同时存在多个OSPF路由器,那么会需要维护大量的邻居关系。
例如在一个拥有3台路由器的广播链路上需要建立3个邻居关系,但是在一个拥有4台路由器的广播链路上就会需要建立6个邻居关系,对于一个拥有N台路由器的广播链路来说,其邻居关系的数量为N×(N-1)/2。
维护过多的邻居关系会消耗大量的路由器资源和链路带宽。
为了减少这种消耗,就出现了DR和BDR的概念。
DR和BDR类似于广播链路的领导者和中转站,用于建立和维护普通路由器的邻居关系,这样就大大减少了邻居关系的维护量。
由此可以看出DR和BDR在广播链路中的作用,对于一个路由器数量较多的OSPF广播网络来说,保持DR和BDR的稳定性是非常重要的。
同时由于DR和BDR维护着这个网络的邻居关系,因此其性能要求也会高于普通路由器,一般DR和BDR都会选择相对高端的设备。
此时如果使用自动选举的方式,可能最终选举出的DR和BDR不是我们希望获得的结果,因此使用端口优先级进行调整来进行人工指定是工程中必要的手段。
更改接口参数具体配置如下:
(1)更改OSPF网络类型:
命令
含义
Switch(config)#interfacevlan10
进入OSPF接口Vlan10
Switch(config-if)#ipospfnetworkpoint-t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 园区网 OSPF 规划 部署
![提示](https://static.bdocx.com/images/bang_tan.gif)