问鼎OSPF8千古一帝终大成路由天下群雄颂.docx

上传人:b****5 文档编号:5616741 上传时间:2022-12-29 格式:DOCX 页数:19 大小:1.31MB
下载 相关 举报
问鼎OSPF8千古一帝终大成路由天下群雄颂.docx_第1页
第1页 / 共19页
问鼎OSPF8千古一帝终大成路由天下群雄颂.docx_第2页
第2页 / 共19页
问鼎OSPF8千古一帝终大成路由天下群雄颂.docx_第3页
第3页 / 共19页
问鼎OSPF8千古一帝终大成路由天下群雄颂.docx_第4页
第4页 / 共19页
问鼎OSPF8千古一帝终大成路由天下群雄颂.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

问鼎OSPF8千古一帝终大成路由天下群雄颂.docx

《问鼎OSPF8千古一帝终大成路由天下群雄颂.docx》由会员分享,可在线阅读,更多相关《问鼎OSPF8千古一帝终大成路由天下群雄颂.docx(19页珍藏版)》请在冰豆网上搜索。

问鼎OSPF8千古一帝终大成路由天下群雄颂.docx

问鼎OSPF8千古一帝终大成路由天下群雄颂

问鼎OSPF(8)-千古一帝终大成,路由天下群雄颂

新帝立,群雄服,IGP进入新时代。

与兄弟,入园区,各领风骚数百年。

结佳人,闯私网,再续VPN不了缘。

至此时,终大成,徒留余香与君勉。

前面7篇问鼎OSPF系列技术贴已经跟大家介绍了OSPF的基础知识,例如OSPF的基本运行机制、OSPF邻居建立过程、OSPF的LSA详解、OSPF特殊区域、OSPF防环机制等等。

看过这些OSPF基础知识以后您是否想尝试实际规划部署一个OSPF网络呢?

在OSPF典型网络是如何规划部署的呢?

OSPF在典型网络中是如何应用的呢?

本篇问鼎OSPF我们以一个典型OSPF网络规划部署案例来给您介绍OSPF网络规划设计原则及部署注意事项。

1.OSPF网络规划设计原则

OSPF路由协议在所有内部网关协议中是比较复杂的一种,这种复杂性和OSPF协议的原理密切相关,那么在设计典型OSPF网络的时候我们具体需要考虑哪几方面的问题呢?

在本节中将会为您一一介绍。

1.1保持OSPF网络的稳定性:

RouterID的规划

在典型OSPF网络设计和实施中我们需要考虑的第一点,就是RouterID的选择。

这是因为OSPF作为一种链路状态路由协议其计算路由的依据是LSA(链路状态通告),每个运行OSPF的路由器都会发送并泛洪LSA报文到整个网络,这样网络中每个运行OSPF的路由器都会收集到其他设备发送过来的LSA并且放入LSBD(链路状态数据库),然后开始进行SPF(最短路径算法)运算,计算出一棵以自己为根到其他网络的无环树。

由此可以看出保持每个路由器LSDB的稳定性是保证OSPF网络稳定的前提。

那么在LSDB中对于不同OSPF设备发送来的LSA是如何进行区分的呢,答案就是使用RouterID。

如果一个路由器的RouterID发生变化,那么此路由器会重新进行LSA泛洪,从而导致全网OSPF路由器都会更新其LSDB并且重新进行SPF计算,使得OSPF网络发生振荡。

因此选择一个稳定的RouterID是OSPF网络设计的首要工作。

了解了RouterID的重要性后,我们来看看一个OSPF路由器是如何选择RouterID的。

路由器的RouterID可以手工配置,如果没有通过命令指定RouterID,系统会从当前接口的IP地址中自动选取一个作为路由器的RouterID。

其选择顺序是:

优先从Loopback地址中选择最大的IP地址作为路由器的RouterID,如果没有配置Loopback接口,则在接口地址中选取最大的IP地址作为路由器的RouterID。

只有当被选举为RouterID的接口IP地址被删除或修改后,才会进行RouterID的重新选举。

在实际工程中,推荐手工指定OSPF路由设备的RouterID。

具体做法是首先规划出一个私有网段用于OSPF的RouterID选择。

例如:

192.168.1.0/24。

在启用OSPF进程前就在每个OSPF路由器上建立一个Loopback接口,使用一个32位掩码的私有地址作为其IP地址,这个32位的私有地址即作为该路由设备的RouterID。

如果没有特殊要求,这个Loopback接口地址可以不发布在OSPF网络中。

1.2层次化的网络设计:

OSPF区域的规划

OSPF是一个需要层次化设计的网络协议,在OSPF网络中使用了一个区域的概念,从层次化的角度来看区域被分为两种:

骨干区域和非骨干区域。

骨干区域的编号为0,非骨干区域的编号从1到4294967295。

处于骨干区域和非骨干区域边界的OSPF路由器被称为ABR(区域边界路由器)。

实际上OSPF区域的规划也就是把网络中的OSPF路由器做归类的过程。

在设计OSPF区域时,我们首先需要考虑的第一点是网络的规模,对于小型的典型网络,例如只有几台路由设备作为核心和汇聚的网络可以考虑仅规划一个骨干区域Area0。

但是在大型的OSPF网络中,网络的层次化设计是必须要考虑的。

对于大型的OSPF网络,一般在规划上都会遵循核心,汇聚,接入的分层原则,而OSPF骨干路由器的选择必然包含两种设备,一种是位于整网核心位置的核心设备,另一种是位于区域核心的汇聚设备,通常都是高端路由设备,例如华为NE系列高端路由器,或者华为S77&97系列高端路由交换机。

非骨干区域的设计则是根据地理位置和设备性能而定,如果在单个非骨干区域中使用了较多的低端三层交换产品,由于其产品定位和性能的限制,应该尽量减少其路由条目数量,把区域规划得更小一些或者使用特殊区域。

实际工程中对于非骨干区域的Area编号的规划也是有讲究的,尽量不要使用类似Area1、2、3……这种连续的编号,推荐使用Area10、20、30……这种递增方式,这样主要是考虑提供Area编号上的冗余,在后期网络扩容的时候便于用户增加区域编号。

1.3非骨干区域的路由表项优化:

特殊区域的使用

在问鼎OSPF(6)中我们曾经讲过,特殊区域的使用可以达到优化非骨干区域的路由表项的目的。

实际上对于非骨干区域,一般可能存在如下两种诉求需要减少路由表项的规模:

1、非骨干区域仅有一个ABR做出口,任何访问区域外的流量都要经过这个出口设备,此时其实这个区域内的路由器没必要了解外部网络的细节,仅需要有个出口能够出去即可。

2、有些时候非骨干区域的设备可能使用了一些较为低端的三层交换机,其产品定位使得其不可能承受过多的路由条目,为了精简其路由条目数量可以采用配置特殊区域的方法进行路由表项的优化。

华为路由器和交换机产品支持OSPF协议中定义四种特殊区域类型:

Stub区域,TotallyStub区域,NSSA区域,TotallyNSSA区域。

各种特殊区域的LSA及路由管理规则在问鼎OSPF(6)中已经有详细的介绍,这里就不再赘述。

在绝大部分的情况下,典型OSPF网络的非骨干区域中都仅仅需要知道缺省路由出口在哪里,因此建议把非骨干区域统一规划成TotallyNSSA区域,这样将极大的精简非骨干区域内部路由器的路由条目数量,并且减少区域内部OSPF交互的信息量。

对于少数存在特殊需求的网络,请根据实际情况灵活使用几种区域类型。

1.4骨干区域的路由表项优化:

非骨干区域IP子网规划和路由汇聚

由于OSPF骨干区域需要负责区域之间的路由交互,所以骨干区域设备的路由表规模往往会比较大,因此骨干区域的路由表规模同样需要考虑精简和优化的问题。

对于OSPF的非骨干区域来说,使用特殊区域能够精简其内部路由器的路由表,那么对于OSPF骨干区域的路由器来说又是如何优化其路由表的呢?

答案就是对非骨干区域使用的IP网段作出合理规划以便于区域边界的路由汇聚。

建议新建OSPF网络能够在前期就作出利于路由汇总的IP网络设计,对于扩建的网络尽量进行IP地址的重新规划,通过区域汇总能精简骨干区域路由器的路由表,减少骨干区域内OSPF交互的信息量。

同时,路由汇总以后,单点的链路故障或者网络震荡不至于影响整个网络的路由更新,因此路由汇聚还可以提高网络的稳定性。

1.5上行流量的引导:

OSPF缺省路由的引入和选路优化

对于一个大型OSPF网络来说,很大一部分的业务流量并不在网络内部,而是通往Internet出口,因此缺省路由的设计也是典型OSPF网络的一大设计要点。

在实际的大多数工程案例中,典型网络的出口往往不止一个,如何有效的将出口流量分担到多条链路上就成为了OSPF设计中的一个难点。

虽然有很多种手段能够达到分担流量的目的,但是最简单也是最安全的方法是使用OSPF内在的选路机制。

因为OSPF路由器对一条路由的优劣衡量是通过计算其cost值来实现的,cost值小的路由会被路由器优先放入路由表。

通过调整OSPF接口的cost值可以使得路由器选择不同的链路出口来达到负载分担的目的。

不过在调整cost值之前还有一项必须要做的工作。

因为OSPFv2出现的时间较早,没有考虑到带宽的飞速发展,因此缺省情况下,OSPF计算cost值使用的参考带宽为100M,也就是说缺省情况下,OSPF把100M带宽以上的端口统统认为其cost是1。

很明显,在网络骨干带宽迈向10T的今天已经显得非常的不合时宜。

幸运的是设备提供了更改参考带宽的功能,使用bandwidth-referencevalue命令选择一个合适的参考带宽成为OSPF网络建设中必须要做的一项工作。

对于OSPF网络的选路优化,推荐首先选择合适的参考带宽,然后通过调整OSPF接口cost值来实现。

1.6路由汇总场景下的防环设计:

黑洞路由的使用

图1路由汇总场景下的防环设计:

黑洞路由的使用

宇宙中的黑洞被科学家定义为一个连光线都吸食的魔鬼。

而在路由器中黑洞路由类似于宇宙中的黑洞,凡是命中黑洞路由的报文都统统被丢弃,而且不向发送者反馈任何差错信息。

黑洞路由的这种巨大魔力使得它在防止路由环路方面有着广泛的应用。

在很多场景下路由聚合确实能够做到精简路由,提高网络稳定性的作用,但是任何事物都具有两面性,路由聚合也不例外,路由聚合带来的缺陷就是容易产生路由环路,而黑洞路由可以用来弥补这种缺陷。

所以典型OSPF网络设计中,路由聚合和黑洞路由往往是配合使用的,这个我们会在下面的OSPF网络规划部署案例中给出详细的设计方法,请读者继续往下看。

1.7OSPF网络基本安全:

OSPF静默接口的使用

对于一个大型OSPF网络来说,安全性是必须要考虑到的问题。

在OSPF网络设计中,通常会禁止将OSPF报文发往用户端,这是为什么呢?

这主要是为了防止终端用户窥探OSPF报文信息,因为如果用户能截获OSPF报文,那就意味着他可能知道如何加入此OSPF网络。

此时要破坏这个OSPF网络已经是轻而易举的事,例如接入一台路由器到OSPF网络中,并且使得该路由器的OSPF进程处于不稳定的状态中,就会导致OSPF网络发生振荡甚至瘫痪。

在实际工程中,为了保证OSPF网络的安全与稳定,推荐在OSPF网络的边缘设备上使用静默接口的的方式来阻止通往用户侧的OSPF报文。

具体做法是在OSPF网络的边缘设备上配置silent-interface命令,用来禁止该接口接收和发送OSPF报文。

禁止接口收发OSPF报文后,该接口的直连路由仍可以发布出去,但接口的Hello报文将被阻塞,接口上无法建立邻居关系。

这样用户侧就无法窥探到网络中的OSPF报文。

2OSPF网络设计部署案例

俗话说“纸上得来终觉浅,绝知此事要躬行”。

上一节中我们对典型OSPF网络设计的七个基本原则作出了详细说明,下面我们通过一个案例来看看在实际工程中是如何运用这七个基本原则对OSPF网络进行设计和部署的。

图2典型园区网络的拓扑图

图2是一个典型园区网的拓扑图,可以看到这是一个大型园区网络,核心、汇聚、接入三层分明,有多出口到Internet,网络内部存在双链路冗余,核心、汇聚交换机部署集群保护等。

这种大型园区网络,园区出口设备一般选用华为NE系列高端路由器,核心交换机选用华为S9700交换机集群,汇聚交换机选用S7700交换机集群。

用户网关部署在汇聚层上,汇聚层作为二层和三层的分界点。

对于这种比较典型的大型园区网络,OSPF的设计与部署工作是怎样一步一步进行的呢?

下面将根据上一节提出的七条基本原则逐步进行此网络的设计和部署。

由于上述典型园区网络中核心交换机和汇聚交换机都属于集群系统,因此他们在逻辑上相当于一台设备,多链路捆绑在逻辑上也属于一条链路。

由于集群和链路聚合的内容不在本帖的讨论范围内,因此为了简化问题的描述我们把上述网络拓扑经过抽象形成图3所示的逻辑拓扑图,园区网中可能存在很多幢楼,这里我们以3幢为例进行描述。

图3典型园区网络的逻辑扑图

2.1保持OSPF网络的稳定性:

RouterID的规划

部署OSPF的首要工作就是设计和部署RouterID,一般情况下,使用一个合适的私有IP地址段即可。

在此案例中我们选用的RouterID地址段为10.0.0.0/24。

选取完RouterID地址段后,接下来需要做的工作是在每个OSPF设备上创建相应的Loopback接口并配置接口IP为10.0.0.X/32。

具体配置以核心交换机S9700集群为例:

命令

含义

[S9700]interfaceLoopBack0

创建环回接口0

[S9700-LoopBack0]ipaddress10.0.0.332

为环回接口0配置32位掩码的IP地址

[S9700-LoopBack0]quit

退出当前视图

[S9700]ospf1router-id10.0.0.3

创建OSPF进程1并设置RouterID为10.0.0.3

注意:

如无特殊要求,建议不要在OSPF进程中发布loopback0的接口地址,以减少无用的OSPF信息交互报文

规划RouterID以后的网络拓扑如图4所示:

图4规划RouterID以后的网络拓扑

2.2层次化的网络设计:

OSPF区域的规划

在分配完RouterID后,接下来的工作就是对于整个OSPF网络进行区域划分。

对于这种层次分明的网络,OSPF的区域划分是非常容易的,直接把核心和汇聚交换机包含到Area0,再按照地理位置来区分非骨干区域。

唯一需要注意的是非骨干区域Area编号的冗余性,在实际工作中经常被忽视。

本案例中我们按照地理位置,把出口路由器和汇聚交换机划分到骨干区域,把每栋楼的汇聚交换机划分为一个非骨干区域,图5是做了Area划分后的OSPF网络拓扑图:

图5规划区域以后的网络拓扑

具体配置以核心交换机S9700集群的Area0和Area10的配置为例:

命令

含义

[S9700]ospf1

进入OSPF进程视图

[S9700-ospf-1]area0

进入area0区域视图

[S9700-ospf-1-area-0.0.0.0]network10.200.10.00.0.0.3

将上行口的网段发布进Area0

[S9700-ospf-1-area-0.0.0.0]network10.200.20.00.0.0.3

将上行口的网段发布进Area0

[S9700-ospf-1-area-0.0.0.0]quit

退出当前视图

[S9700-ospf-1]area10

进入area10区域视图

[S9700-ospf-1-area-0.0.0.10]network10.100.10.00.0.0.3

将下行口的网段发布进Area10

从配置命令中可以清楚的看到OSPF区域是以路由器为边界的,例如此拓扑中核心交换机S9700集群上行接口属于Area0,下行接口属于Area10,也就是说,此路由器跨越了两个区域,是一个区域边界路由器ABR。

注意:

在单个区域包含过多的低端路由器或者三层交换机是一种不好的设计,如果出现这种情况应该考虑缩小区域范围。

2.3非骨干区域的路由表项优化:

特殊区域的使用

划分完OSPF网络区域,我们可以看到非骨干区域的路由表项的规模相对较大,而如果非骨干区域的设备性能较低的情况下,用户不希望路由表项规模过大,此时可以考虑特殊区域的运用了。

本案例具有很强的代表性,像此类典型网络,推荐非骨干区域一律采用完全NSSA区域(TotallyNSSA区域)具体拓扑如图6所示:

图6非骨干区域划分特殊区域以后的网络拓扑

TotallyNSSA区域具体设备配置以Area10的S9700集群和S7700-1为例。

S9700集群的关键配置如下:

命令

含义

[S9700]ospf1

进入OSPF进程视图

[S9700-ospf-1]area10

进入area10区域视图

[S9700-ospf-1-area-0.0.0.10]nssano-summary

ABR设备需要配置nssano-summary

S7700-1的关键配置如下:

命令

含义

[S7700-1]ospf1

进入OSPF进程视图

[S7700-1-ospf-1]area10

进入area10区域视图

[S7700-1-ospf-1-area-0.0.0.10]nssa

非ABR设备配置nssa即可

下面我们看一下配置TotallyNSSA区域前后,非骨干区域路由表项的优化效果:

图7非骨干区域优化前S7700-1的路由表

图8非骨干区域优化后S7700-1的路由表

通过图7与图8的对比可以明显看出,配置了TotallyNSSA区域以后,Area10的路由表的规模得到了明显的降低,说明在非骨区域通过配置TotallyNSSA区域可以达到降低路由表项规模的作用。

2.4骨干区域的路由表项优化:

非骨干区域IP子网规划和路由汇聚

在非骨区域通过配置TotallyNSSA区域后,非骨干区域内部路由器的路由表得到极大的精简并且减少了区域内部OSPF路由器之间的信息交互量。

在骨干区域我们也需要作出适当的操作来达到同样的目的,这就要对非骨干区域使用的IP子网作出合理规划并在ABR(区域边界路由器)进行汇总操作。

在下图中显示了区域10作出合理的IP规划后往区域0通告的路由汇总表项:

图9通过路由汇总实现骨干区域的路由表项优化

区域路由汇总会抑制明细路由条目的通告,这样区域10的ABR就只会向区域0内注入一条汇总路由10.10.0.0/16,这样可以精简骨干路由器路由表项,减少Area0的OSPF报文交互量和保证其路由表的稳定。

建议在设计OSPF网络时就合理规划IP地址,已方便进行路由汇总。

路由汇总的配置以Area10的ABR设备S9700集群为例如下:

命令

含义

[S9700]ospf1

进入OSPF进程视图

[S9700-ospf-1]area10

进入area10区域视图

[S9700-ospf-1-area-0.0.0.10]abr-summary10.10.0.0255.255.0.0

ABR设备进行路由汇总

注意:

abr-summary命令只能用在ABR(区域边界路由器)上,区域内部路由器上不要使用此条命令,否则会造成路由表项的错误。

下面我们通过查看路由表项来对比一下路由汇总前后的效果。

图10路由汇总前骨干区域有用户网段的明细路由

图11路由汇总后骨干区域仅有用户网段的汇总路由

通过图10和图11的对比可以看出路由汇总之前骨干区域内有用户网段的明细路由,在ABR上做路由汇总以后骨干区域的NE40E-1设备上只有一个16位掩码的汇总的用户网段路由,这样在用户网段很多的情况下通过汇总能在很大程度上精简骨干区域的路由,同时减少了骨干区域和非骨干区域的LSA交互数量,提高了网络的稳定性。

2.5上行流量的引导:

OSPF缺省路由的引入和选路优化

在第一节的OSPF典型网络规划原则的时候我们曾经提到过,对于一个园区网络,很大一部分流量是流向Internet的,因此对于这种多出口的网络拓扑,引入缺省路由和多出口流量分担是必须要考虑的问题。

引入缺省路由的方式有多种,这里我们建议的做法是在边界路由器上通过OSPF非强制下发缺省路由来实现。

江湖小贴士:

一般推荐使用OSPF“非强制”下发缺省路由的方式,即只有边界路由器自身的IP路由表中存在缺省路由的时候才能发布缺省路由,否则就不能发布,之所以这样要求主要是防止在特殊场景下产生环路或者次优路由,这个问题我们会在OSPF番外篇-OSPF的缺省路由综合应用案例中详细讲解,请持续关注。

在本案例中两个边界路由器发布缺省路由以后,对于核心交换机S9700集群来说会收到两条缺省路由,下一跳分别指向两个出口路由器。

此时核心交换机S9700集群可以选择其中一条链路作为上行,也可以选择两条上行链路负载分担,具体项目中如何分配流量,请根据实际的网络情况灵活配置。

S9700集群的缺省路由和流量的走向如图12所示。

图12通过缺省路由引导核心交换机S9700集群的上行流量

NE4-E-1和NE40E-2上发布缺省路由的具体配置如下,以NE40E-1为例,NE40E-2上需要做类似的配置。

命令

含义

[NE40E-1]iproute-static0.0.0.00.0.0.0202.10.10.1

首先在NE40E-1上手工配置一条下一跳指向电信运营商的公网地址的缺省路由

[NE40E-1]ospf1

进入OSPF进程视图

[NE40E-1-ospf-1]default-route-advertise

发布缺省路由,注意不要携带always参数,即非强制下发缺省路由。

上述配置完成以后,S9700上将会学习到两条等价的缺省路由,此时S9700的上行流量将会采取负载分担的方式进行,详细如图13所示:

图13S9700集群上有两条等价的缺省路由

如果用户想让S9700上行的两条链路采取主备份的形式,正常情况下走NE40E-1这边上行,当NE40E-1故障的时候流量自动切换到NE40E-2这边。

这个需求怎么实现呢?

根据第一节的介绍,最简单直接的方法就是使用OSPF自身的选路机制,通过修改cost值来影响S9700集群的选路。

为了实现路由的主备份,可以修改S9700到达NE40-2这条链路的cost,使得S9700到达NE40-2这条链路的cost值大于S9700到达NE40-1这条链路。

详细配置如下:

S9700侧的配置如下:

命令

含义

[S9700]interfacevlanif50

进入OSPF接口视图

[S9700-Vlanif50]ospfcost10

修改该接口的OSPFcost值为10

NE40E-2的配置如下:

命令

含义

[NE40E-2]interfaceGigabitEthernet0/0/1

进入OSPF接口视图

[NE40E-2-GigabitEthernet0/0/1]ospfcost10

修改该接口的OSPFcost值为10

由于缺省情况下百兆带宽以上的链路OSPF的cost默认为1,所以我们将S9700到NE40E-2之间的链路的OSPFcost值修改为10以后,S9700将优选NE40E-1这边的链路作为上行流量的出口,此时S9700的IP路由表中将会仅存在一条指向NE40E-1的缺省路由。

详细如图14所示:

图14S9700集群上有仅有一条缺省路由

江湖小贴士:

在做OSPF选路调整时注意:

如果需要调整cost值来影响OSPF的选路,则在链路两侧的设备上需要作出同样的cost调整,否则会形成不对称路由,引起网络故障。

2.6路由汇总场景下的防环设计:

黑洞路由的使用

经历了上述5个步骤的规划与部署,这个典型OSPF网络的基本功能已经具备了,而且我们也通过了一些手段进行了路由表项的优化,但是这个网络现在是否还存在问题呢?

是否还需要做进一步的优化呢?

答案是肯定的,这个网络中当前是存在一种产生环路的风险的,第一节的规划原则中我们也曾经提到过,路由汇总通常容易产生环路,而黑洞路由通常可以用来和路由汇总相结合来防止路由环路。

下面我们来看一下这个环路是如何产生的。

对于园区网来说,来自内部的网络攻击是很常见的,假设1号楼内的某台主机受到病毒攻击,这种攻击会导致主机扫描访问10.0.0.0网段的IP地址。

那么此时就有很大的风险产生环路。

假设主机扫描到10.10.50.1这个地址(1号楼实际上不存在这个地址)。

1、这个数据包将会发送至主机的网关即S7700-1。

2、S7700-1上不存在这个目的地址

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 日语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1