路由配置与管理——OSPF路由配置与管理2

来源:互联网 发布:直线插补算法 编辑:程序博客网 时间:2024/05/19 04:52

配置OSPF基本功能

动态路由有一个共同的特点,就是整个协议功能比较复杂,但是最基本的网络配置却比较简单。在配置OSPF的基本功能之前,需配置接口的网络层地址,使各相邻节点网络层可达。

OSPF基本功能的配置任务和流程如下:

①创建OSPF进程

②创建OSPF区域

③使能OSPF

④(可选)创建虚连接

⑤(可选)配置对OSPF更新LSA的泛洪限制。

一、创建OSPF进程

OSPF是支持多进程的,要使用OSPF协议,首先就要创建一个OSPF协议进程。创建OSPF进程的同时要指定路由器的路由器ID,因为一台路由器如果要运行OSPF协议必须存在路由器ID。路由器ID是一个IP地址方式的32位无符号整数,是一台路由器在一个AS中的唯一标识。

创建OSPF进程的方法,仅需在系统视图下通过ospf [process-id | router-idrouter-id | vpn-instancevpn-instance-name]*命令配置即可。配置此命令后将启动对应的OSPF进程,进入OSPF视图。

①procees-id:可多选参数,指定要启动的OSPF进程的编号,取值范围1~65535的整数,缺省值为1。OSPF路由器支持多进程,进程号是本地概念,不影响与其他路由器之间的报文交换。因此不同的路由器之间,即使进程号不同也可以进行报文交换

②router-id router-id:可多选参数,指定本地路由器的路由器ID,为点分十进制格式。可以单独用router  id router-id系统视图命令创建。

缺省情况下,在没有手动配置路由器ID情况下,系统会优先从已配置的Loopback接口IP地址中选择最大的IP地址作为设备的路由器ID,没有配置Loopback接口,则在其他物理接口IP地址中选取最大的IP作为路由器ID。手动配置路由器ID时,必须保证同一AS中任意两台路由器的路由器ID不相同。通常做法是将路由器ID配置为与该设备某个接口的IP地址一致。要注意的是,在每台OSPF路由器中要为每个OSPF进程配置一个全网唯一的路由器ID(但同一路由器的不同进程中的路由器ID可以相同),否则会导致邻居不能正常建立、路由信息不正确的问题。

③vpn-instancevpn-instance-name:可多选参数,指定所启动的OSPF进程所属的VPN实例的名称。如果不指定VPN实例,所启动的OSPF进程属于公网实例。

缺省,系统不运行OSPF协议,可用undoospf process-id [flush-waiting-timer time]命令关闭指定的OSPF进程,并可通过可选参数flush-waiting-timertime设定让其他端设备删除原来保留的该设备上的LSA的时间,取值范围1~40的整数秒。

在关闭OSPF进程时选择了flush-waiting-timertime时,设备在设定的时间内再次产生自己的LSA,并将其age字段置为3600(让此LSA立即老化)。其他设备收到age字段为3600的LSA后,会立刻删除与本设备相关的LSA。否则,其他设备会一直保留这个OSPF进程中早先产生的已无效的LSA,直到这些LSA超时。

在名为huawei的VPN实例中启动OSPF 100进程,进入OSPF视图:

<hauwei>system-view

[huawei]ospf 100router-id 10.10.10.1 vpn-instance huawei

二、创建OSPF区域

网络规模扩大,设备增多,导致LSDB非常庞大,设备负担重。OSPF协议通过将自治系统划分成不同的区域(Area)来解决上述问题。区域是从逻辑上将设备划分为不同的组,每个组用区域号(Area ID)来标识。OSPF协议将自治系统划分成不同的区域后,同一区域内的多台设备的功能(如定时器、过滤、聚合等)就可以以区域为单位进行统一规划和配置,从而减少LSDB的规模,提高网络性能。要注意:OSPF区域的边界是设备,而不是链路,即互联设备的整个链路(包括两端的接口)只能属于一个区域,每个运行OSPF的接口必须指明属于哪一个区域

OSPF区域的创建是在对应的OSPF视图下进行的,使用area area-id命令配置。参数area-id用来指定区域的标识,可以采用十进制整数或IPv4地址形式输入,但显示时使用IPv4地址形式。0固定为骨干区域的ID,而且在一个多区域的OSPF网络中必须至少有一个区域ID为0的骨干区域(单区域OSPF网络中的区域ID可随意)。骨干区域负责区域之间的路由,非骨干区域之间的路由信息必须通过骨干区域来转发。缺省系统未创建OSPF区域,可用undo area area-id指令删除指定区域。

在OSPF 100进程下创建骨干区域0,进入区域视图:

<hauwei>system-view

[huawei]ospf 100

[huawei-ospf-100]area0

[huawei-ospf-100-area-0.0.0.0]

三、使能OSPF

创建OSPF进程后,还需要配置区域所包含的网段,就是用network命令进行“网络宣告”。该处的网段是指运行OSPF协议接口的IP地址所在的网段,一个网段只能属于一个区域,OSPF中网络宣告可以是子网和超网宣告,而不一定需要采用自然网段进行宣告。

OSPF路由器会对接收到的Hello报文做网络掩码检查,当接收到的Hello报文中携带的网络掩码和本设备上宣告的网络掩码不一致时,则丢弃这个Hello报文,即不能建立邻居关系。

OSPF的使能既可以在具体区域下一次性对一个或多个接口进行配置,也可在具体的OSPF接口下对一个接口进行配置。如果用两种配置方式同时配置,则对应OSPF接口下的配置优先级高于区域中为该接口的配置。

1、在OSPF区域视图下配置

在OSPF区域下是通过network ip-address wildcard-mask命令对指定网段范围的所有OSPF接口一次性使能OSPF,并指定所属的OSPF区域。

①ip-address:指定要使能OSPF的网段IP地址。接口的IP地址掩码长度必须>=本命令宣告网段的掩码长度。

②wildcard-mask:IP地址的反掩码,相当于将IP地址的子网掩码反转(0变1,1变0)。它是用来与参数一起确定要使能OSPF的网段范围的,其中,“1”表示忽略IP地址中对应的位,“0”表示必须匹配的位,这样就可以在一个区域内配置一个或多个接口,对应接口的主IP地址必须在命令指定的网段范围之内。

对于Loopback接口,缺省情况下OSPF是以32位主机路由方式对外发布其IP地址,与接口上配置的掩码长度无关。但是如果要发布Loopback接口的网段路由,需要在接口下执行ospf network-type {broadcast | nbma}命令配置网络类型为广播或NBMA。

在同一个实例的不同进程之间,或者同一个进程的不同区域之间,不能同时配置具有包含关系的两个网段。假设一个ABR有两个接口同在Area1区域,分别连接的是192.168.1.0/24和192.168.3.0/24网段,而另一个接口属于Area0区域,连接的网段为192.168.4.0/24,这时在两个区域中宣告网段时均不能采用192.168.0.0/16,因为这样两个区域中宣告的网段是重叠的,属于包含关系。

在接口下通过ospf enable[process-id] area area-id命令在具体接口上使能OSPF,则优先级高于本命令的全局使能配置。

缺省情况下,接口不属于任何区域,可用undonetwork address wildcard-mask命令从该区域中删除运行OSPF协议的对应接口。

指定接口主IP地址位于网段192.168.1.0/24的接口使能OSPF,并加入Area2.

<huawei>system-view

[hauwei]ospf 100

[huawei-ospf-100]area 2

[huawei-ospf-100-area-0.0.0.2]network192.168.1.0 0.0.0.255

2、在接口视图下配置

在接口视图下使能ospf enable[process-id] area area-id命令使能对应接口的OSPF功能,指定所启动的OSPF进程和所加入的OSPF区域。

在创建OSPF进程和配置本命令时要注意:

①如果先执行本命令配置接口使能OSPF,然后再创建对应的OSPF进程,虽然也可进行,但是不会自动创建对应的OSPF进程。且在创建进程的时候,进程所属的VPN必须和本命令的接口保持一致。

②如果先创建进程,然后执行本命令配置接口使能OSPF,则需要检查该接口使能的进程与已经存在的进程VPN是否一致,如果不一致,是不允许配置的。

③如果没有创建进程,属于不同VPN实例的接口不能被使能到相同的OSPF进程。

缺省情况下,接口没有使能OSPF

使能接口GE1/0/0的OSPF功能,并把它加入到OSPF1进程的骨干区域0中。

<huawei>syste-view

[hauwei]interface gigabitethernet 1/0/0

[hauwei-GigabitEthernet1/0/0]ospf enable 1area 0

四、创建虚连接

因为OSPF规定,在划分OSPF区域后,非骨干区域之间的OSPF路由更新是通过骨干区域交换完成的,所以要求所有非骨干区域必须与骨干区域保持连通,并且骨干区域之间也要保持连通。有时实际网络环境达不到这个要求,如有些区域不能与骨干区域进行直接连接,而有时骨干区域又是分离的,这时就需要通过配置OSPF“虚连接”来解决。

虚连接支持验证,以防非法建立虚连接。具体配置是在中间穿越虚连接的传输区域两端分别连接骨干区域和普通区域或分离的骨干区域的ABR对应区域视图下通过vlink-peerrouter-id [smart-discover | hello hello-interval | retransmit retransmit-interval | trans-delaytrans-delay-interval | dead dead-interval| [simple[plain plain-text | [cipher]cipher-text] | {md5 | hmac-md5 | hmac-sha256} [key-id {plain plain-text | [cipher] cipher-text}] | authentication-null  |keychainkeychain-name]]*命令进行配置。参数说明:

1)router-id:指定建立虚连接的对端设备的路由器ID

2)smart-discover:可多选项,设置主动发送Hello报文。

3)hellohello-interval:可多选参数,指定接口发送Hello报文的时间间隔,取值1~65535,缺省10s。但该值必须与建立虚连接路由器上的hello-interval值相等。

4)retransmitretransmit-interval:可多选参数,指定接口在发送LSU报文后,多长时间没有收到LSAck应答报文即重传原来发送的LSA报文,取值1~3600,缺省5s。

5)trans-delaytrans-delay-interval:可多选参数,指定接口延迟发送LSA(为避免频繁发送LSA而造成设备CPU负担过重)的时间间隔,取值1~3600,缺省1s。

6)deaddead-interval:可多选参数,指定在多长时间没收到对方发来的Hello报文后即宣告对方路由器失效,缺省40s。该值必须与对端设备的该参数值相等,并至少为hello-interval参数值的4倍。

7)simple:多选一可选项,设置采用简单验证模式。

8)plainplain-text:二选一可选参数,指定采用明文密码类型。此时只能键入明文密码,查看配置文件时也是以明文方式显示密码的。

9)ciphercipher-text:指定采用密文密码类型。可以键入明文或密文密码,查看配置文件时以密文方式显示。Simple验证模式缺省是cipher密码类型。

10)md5:设置采用MD5验证模式。缺省md5验证模式缺省是cipher密码类型

11)hmac-md5:设置采用HMAC-MD5验证模式缺省是cipher密码类型

12)hmac-sha256:设置采用HMAC-SHA256验证模式缺省是cipher密码类型

13)key-id:指定接口密文验证的验证字标识符,取值范围为1~255整数,必须与对端的验证字标识符一致。

14)authentication-null:设置采用无验证模式

15)keychainkeychain-name:设置采用Keychain验证模式,并指定所使用的Keychain的名称。采用此验证模式前,需首先通过keychain keychain-name命令创建一个keychain,并分别通过key-id key-id、key-string {[plain] plain-text | [cipher] cipher-text}和algorithm {hmac-md5| hmac-sha-256 | hmac-sha1-12 | hmac-sha1-20 | md5 | sha-1 | sha-256 | simple}命令配置该keychain采用的key-id、密码及其验证算法,否则会造成OSPF验证始终为失败状态。

在Area2区域连接骨干区域和另一个普通区域的两端ABR上创建虚连接,对端路由器ID为1.1.1.1。

<huanwei>system-view

[huawei]ospf 100

[huawei-ospf-100]area 2

[hauwei-ospf-100-area-0.0.0.2]vlink-peer1.1.1.1

五、配置对OSPF更新LSA的泛洪限制

当邻居数量或者需要泛洪的LSA报文数量较多时,邻居路由器会在短时间内收到大量LSU更新报文。如不能及时处理,可能因处理更新报文而丢弃Hello报文,造成邻居断开。重建邻居时,交互的报文更大,情况进一步恶化。此时可通过对OSPF更新LSA的泛洪进行限制。

对OSPF更新LSA的泛洪限制是在对应的OSPF进程下通过 flooding-control [numbertransmit-number | timer-intervaltransmit-interval]*命令进行配置。通过本命令可设置本地设备每次泛洪更新LSA的数量和泛洪更新LSA的时间间隔。配置本命令后,对OSPF更新LSA泛洪的限制功能将立刻生效。

1)numbertransmit-number:设置每次泛洪更新LSA的数量,取值范围为1~1000的整数,缺省50。

2)timer-intervaltransmit-interval:设置每次泛洪更新LSA的时间间隔,取值范围30~100000ms,缺省30。

设置每次泛洪更新LSA的数量为100:

<huawei>system-view

[Huawei]ospf 1

[Huawei-ospf-1]flooding-control number 100

六OSPF基本功能管理

①display ospf[process-id] peer:查看指定进程或所有进程下的OSPF邻居信息。

②display ospf[process-id] interface:查看指定进程或所有进程下的OSPF接口信息。

③display ospf[process-id] routing:查看指定进程或所有进程下的OSPF路由表信息。

④display ospf[process-id] lsdb:查看指定进程或所有进程下的OSPF LSDB信息。

七、OSPF基本功能配置示例


如上图,所有路由器都运行OSPF,并将整个自治系统划分为3个区域,其中RouterA和RouterB作为ABR来转发区域之间的路由。配置完后,每台路由器都应学到AS内到所有网段的路由。

1、基本配置思路分析

OSPF基本功能配置很简单,先创建OSPF进程,创建所需区域,在路由器或者对应接口上使能OSPF。在此之前还需要配置好各路由器接口IP地址。

2、具体配置步骤

①配置各路由器接口IP地址。以RouterA为例。


②配置OSPF基本功能。本例中都是单进程,所以在创建OSPF进程时,进程号可以不写,都采用缺省的1号进程。

RouterA上的配置:RouterA属于ABR,所以要分别创建所连接的两个区域,并在每个区域中宣告区域中接口所连接的网段。


在配置OSPF基本功能时,最关键的一点就是各OSPF接口的网段通告。在OSPF网段通告时要特别注意,在不同区域、不同进程中所通告的网段路由不能有包含、交叉关系,当然更不能是完全重叠关系(这种情况主要发生在连接多个区域的ABR上)。如本例中RouterA上的GE1/0/0接口所连接的网段是192.168.0.0/24,GE2/0/0接口连接的网段是192.168.1.0/24,如果它们是在同一区域中,则完全可以用192.168.0.0/16的路由进行通告,但因为现在它们是在不同区域中,所以两个区域中都不能这样宣告,只能分别宣告,以避免重叠。同时,如果两个接口位于不同OSPF进程,也一样不能宣告成192.169.0.0/16路由的,因为这样两个进程所宣告的网段就是重叠的了。


通过以上配置就完成了整个网络的OSPF基本路由配置。通过displayospf peer查看各自的OSPF邻居。


RouterA与RouterB和RouterC建立了完全(Full)的邻接关系。

使用display ospf routing查看各自的OSPF路由信息。


RouterA建立了到达所有非直连网段(直连网段的路由不会在OSPF路由表中出现,仅会出现在IP路由表中)的OSPF路由。

通过display ospf lsdb查看各路由器的LSDB:


RouterA上分别为所连接的Area0和Area1保存LSDB,其中LinkStateID代表链路ID,但不同LSA所代表的含义不同,AdvRouter为发布对应LSA的源路由器的路由器ID。

八、OSPF虚连接配置示例


如上图拓扑,Area2没有与骨干区域直接相连。Area1被用作传输区域(Transit Area)来连接Area2和Area0.为了使Area2与骨干区域连通,需要在RouterA和RouterB之间配置一条虚连接(Virtual Link)。

    1、基本配置思路分析

OSPF虚连接需要在配置OSPF基本功能的基础上进行配置,所以首先需要配置各路由器的OSPF基本功能,使各路由器通过OSPF协议三层互通,然后在RouterA和RouterB上分别配置虚连接,使非骨干区域与骨干区域连通。

2、具体配置步骤

①配置各路由器接口的IP。


②配置OSPF基本功能。


通过display ospfrouting视图命令查看RouterA的OSPF路由表。由于Area2没有与Aera0直接相连,所以ROuterA的路由表中没有Area2中的路由。


③配置虚连接,需要在RouterA和RouterB上同时配置:


通过display ospf routing查看RouterA上的OSPF路由表:


发现RouterA已通过OSPF学习到了Area2中的路由。证明虚连接配置成功。

配置OSPF邻居或邻接的会话参数

在OSPF网络中,所有链路状态信息都在邻居或邻接中传递、交换。在实际网络中,合理配合参数对整个网络的稳定性有重要作用。本项配置为可选配置,因为都有缺省值。

1)配置OSPF报文重传限制。

2)使能在DD报文中填充接口的实际MTU。在配置OSPF邻居或邻接关系的会话参数前,需要完成以下任务:

①配置链路层协议

②配置接口的网络层地址,使各相邻节点网络层可达

③配置OSPF的基本功能。

1、配置OSPF报文重传限制

OSPF路由器在发送完DD、LSR和LSU三种报文后,如果没有在规定时间内收到相应的LSAck,报文会再次重传。当到达限定报文重传次数后,本端就断开和对方的邻接关系。为此可调整最大的DD、LSR和LSU报文的重传次数,以避免频繁出现邻居关系断开的现象。

配置的方法仅需在对应的OSPF进程下使用retransmission-limit[max-number]命令配置,max-number取值范围是2~255,缺省30。

使用display ospf [process-id] retrans-queue[interface-type interface-number] [neighbor-id] [low-level-of-retrans-times-rangemin-time] [high-level-of-retrans-times-rangemax-time]

在OSPF进程100下配置最大的报文重传限制数为40:

<Huawei>system-view

[Huawei]ospf 100

[Huawei-ospf-100]retransmission-limit 40

2、使能在DD报文中填充接口的实际MTU

DD报文中的InterfaceMTU字段填写的是接口的MTU值,缺省为0(代表不配置),但是在网络中存在不同厂商设备,建立虚连接时,不同的设备制造商可能使用不同的MTU缺省值。使用在对应接口视图下执行ospf mtu-enable命令,使能接口发送DD报文时填充MTU值,即使用接口的实际MTU值填写。配置本命令后,系统会自动重启OSPF进程,也会使邻居关系重新建立,所以通常不建议修改。

指定GE1/0/0接口在发送DD报文时,填写实际的MTU值:

<Huawei>system-view

[Huawei]interface gigabitethernet 1/0/0

[Huawei-GigabitEthernet1/0/0]ospfmtu-enable

配置OSPF在不同网络类型中的属性

OSPF支持Broadcast、NBMA、P2P、P2MP 4中类型的网络,通过配置OSPF接口的网络类型和调整属性可以灵活组建OSPF网络。

4种网络类型的差异主要集中在发送报文形式不同,所以在4种网络类型中配置的OSPF协议,主要区别就是体现在协议报文的发送形式上。在不同网络类型属性的配置中,主要包括以下三项配置任务,且配置接口的网络类型是配置P2MP和NBMA网络属性的前置。

①配置接口的网络类型。

②配置P2MP网络属性。

③配置NBMA网络属性。

同样,在配置OSPF在不同网络类型中的属性之前,需完成以下任务:

①配置接口的网络层地址,使各相邻节点网络层可达。

②配置OSPF的基本功能。

一、配置接口的网络类型

在对应接口视图下通过ospfnetwork-type {broadcast | nbma | p2mp | p2p}命令配置。四个多选项分别代表广播网络类型、NBMA网络类型、P2MP网络类型和P2P网络类型。

缺省情况下,接口的网络类型是根据物理接口类型而定的,即以太网接口的网络类型为广播,串口和POS口(封装PPP协议或HDLC协议时)的网络类型为P2P,ATM和Frame-relay(帧中继)接口的网络类型为NBMA,可用undo ospf network-type命令恢复缺省。

可根据实际情况配置接口的网络类型,但也不是随意的,具体要考虑一下几个方面:

①如果同一网段内只有两台设备运行OSPF协议,也可以将接口的网络类型改为P2P。

②如果接口的网络类型是广播,但在广播网络上有不支持组播地址的路由器,可以将接口的网络类型改为NBMA。

③如接口的网络类型是NBMA,且网络是全连通的,即任意两台路由器都直接可达,此时,可以将接口类型改为Broadcast,并且不必在配置邻居路由器。

④如果接口的网络类型是NBMA,但网络不是全连通的,必须将接口的网络类型改为P2MP。这样,两台不能直接可达的路由器就可以通过一台与两者都直接可达的路由器来交换路由信息。接口的网络类型改为P2MP网络后,不必再配置邻居路由器。

⑤如果同一网段内只有两台路由器运行OSPF,建议将接口的网络类型改为P2P。

注意的几点:P2MP网络类型必须是由其他的网络类型强制更改的;一般情况下,链路两端的OSPF接口的网络类型必须一致,否则不可以建立起邻居关系;当链路两端的OSPF接口的网络类型一端是Broadcast,另一端是P2P时,仍可正常建立起邻居关系,但互相学习不到路由信息;当链路两端的OSPF接口的网络类型一端是P2MP,另一端是P2P时,仍可以正常的建立起邻居关系,但互相学习不到路由信息。为了互相学习到路由信息,此时需要在链路两端的OSPF接口上配置相同的Hello报文发送间隔和邻居失效时间。

示例:将GE1/0/0接口设置为NBMA类型

<Huawei>system-view

[Huawei]interface gigabitethernet 1/0/0

[Huawei-GigabitEthernet1/0/0]ospfnetwork-type nbma

在Broadcast网络中可通过ospf dr-priority priority接口视图命令配置路由器的优先级,用于DR和BDR选举,其值越大,优先级越高。如果一台设备的接口优先级为0,则他不会被选举为DR或BDR。在广播或NBMA网络中,也可以通过配置接口的DR优先级来影响网络中DR或BDR的选举。

示例:设置GE1/0/0接口在选举DR时的优先级为8。

<Huawei>system-view

[Huawei]interface gigabitethernet 1/0/0

[Huawei-GigabitEthernet1/0/0]ospfdr-priority 8

二、配置P2MP网络属性

缺省情况下,在P2MP网络上,接口IP地址的子网掩码长度不一致的设备不可以建立邻居关系。但可以通过配置设备间忽略对Hello报文中网络掩码的检查,就可以正常建立OSPF邻居关系了。在P2MP网络中,当两台路由器之间存在多条链路时,通过对出方向的LSA进行过滤可以减少LSA在某些链路上的传送,减少不必要的重传。


GR(Graceful Restart,平滑启动)是一种冗余容错技术,被广泛使用在主备切换和系统升级方面。OSPF通过增加Grace-LSA来支持GR功能。这种LSA用于在开始GR和退出GR时向邻居通告GR的时间、原因以及接口地址等内容。

三、配置NBMA网络属性

1、(可选)配置NBMA网络类型

当确定某OSPF接口连接的是NBMA网络时,可以配置该接口的网络类型为NBMA。要注意的是,NBMA网络必须是全连通的,网络中任意两台路由器之间都必须直接可达(无需经过其他中间路由器)。如果这个要求无法满足,则必须通过命令强制将网络的类型改为P2MP。

2、(可选)配置NBMA网络发送轮询报文的时间间隔

在NBMA网络上,当邻居失效后,路由器将按设置的轮询时间间隔定期发送Hello报文。

3、配置NBMA网络的邻居

当网络类型为NBMA(如X.25或帧中继)时,可通过配置映射使整个网络达到全连通状态(即网络中任意两台设备之间都存在一条虚电路且直接可达)。这样,OSPF就可看做是广播网络进行DR、BDR选举等。但由于无法通过广播Hello报文的形式动态发现相邻设备,必须手动通过peer命令指定相邻设备的IP地址以及用于DR选举的优先级。


四、OSPF网络属性管理

1)display ospf[process-id] lsdb [brief]或display ospf [process-id] lsdb [{router | network | summary | asbr |ase | nssa | opaque-link | opaque-area | opaque-as} [link-state-id]][originate-router[advertising-router-id] | self-originate][age { min-value min-age-value|max-value max-age-value}*]:查看指定的或者所有OSPF的链路状态数据库(LSDB)信息。

2)display ospf[process-id] peer [[interface-type interface-number] neighbor-id | brief |last-nbr-down]:查看指定或者所有OSPF邻居的信息。

3)display ospf[process-id] nexthop:查看指定进程或者所有进程下OSPF的下一跳信息。

4)display ospf[process-id] routing router-id [router-id]或display ospf[process-id] routing [ip-address [mask | mask-length]][interface interface-typeinterface-number][nexthop nexthop-address]:查看指定或所有OSPF路由表的信息。

5)display ospf[process-id] interface [all | interface-type interface-number] [verbose]:查看指定或所有OSPF的接口信息。

五、OSPF的DR选举配置示例


如上图拓扑,在一个广播型OSPF网络中,配置RouterA的优先级为100,这是网络上最高优先级,被选举为DR;RouterC优先级第二高,被选举为BDR;RouterB优先级为0,无法成为DR或BDR,RouterD没有配置优先级,取默认值1。

1、基本配置思路

首先需要在各路由器上配置OSPF的基本功能,使整个网络通过OSPF协议可达,然后分别按照要求为RouterA、RouterB和RouterC配置用于DR、BDR选举的优先级。要注意,选举了DR和BDR后,区域内路由器仅与DR、BDR交互LSA,DROther之间不需要交互LSA的。

2、具体配置步骤

①配置各接口的IP地址

②分别在4台路由器上配置OSPF基本功能,均采用缺省的OSPF进程1,所以在创建进程时不用写具体的进程号。然后宣告各区域中的接口所在网段,配置各自的路由器ID。


此时可通过display ospf peer查看各路由器的邻居信息。因为此时都是采用的缺省优先级,DR和BDR角色的选举依据是路由器ID,高的为DR或者BDR,最终RouterD为DR,RouterC为BDR。


当两台路由器接口的DR优先级相同时,路由器ID高的为DR或者BDR,但DR、BDR已选举完毕,当一台新路由器加入后,即使他的优先级值最大,也不会立即成为该网段中的DR,也就是不会进行DR角色抢占。

③重新按照要求进行配置A、B、C接口上的DR优先级。


通过display ospf peer查看DR/BDR状态:


尽管DR优先级进行了修改,但是DR和BDR角色仍没变化,需要重启OSPF进程才能进行新的DR选举。

④在各路由器用户视图下,同时执行reset ospf 1 process命令,以重启OSPF进程。在通过display ospf peer命令查看OSPF邻居状态:


现在以RouterA为DR,RouterC为BDR,如果邻居状态是Full,说明他和邻居之间形成了邻接关系;如果停留在2-way的状态,则说明它们都不是DR或BDR,两者之间不需要交换LSA。

还可通过命令查看OSPF接口的状态,如果OSPF接口的状态是DROther,则说明它们既不是DR,也不是BDR。


 

配置OSPFStub/Totally Stub/NSSA/TotallyNSSA区域

通过将位于AS边缘的一些非骨干区域配置成Stub区域(包括TotallyStub区域)或NSSA区域(包括Totally NSSA区域),可以缩减LSDB和路由表规模,减少需传递的路由信息数量。

配置Stub区域需注意几点:

①骨干区域(Area0)不能配置成Stub区域或NSSA区域

②如果要将一个区域配置成Stub区域或者NSSA区域,则该区域中的所有路由器都要配置Stub区域或NSSA区域属性。

③Stub区域内不能有ASBR,即自治系统外部的路由不能在Stub区域内传播,且只有一个ABR;NSSA区域可以有一个或多个ABR和ASBR,允许自孩子系统外部的路由通过Type7 LSA在NSSA区域内传播,然后在NSSA区域的ABR上转换成Type5 LSA向其他OSPF区域传播。

④Stub区域和NSSA区域内都不能存在虚连接。

一、配置OSPF的Stub/TotallyStub区域

Stub区域的配置主要包括两项任务:①配置当前区域为Stub区域;②(可选)配置发送到Stub区域缺省路由的开销。如果想配置为Totally Stub区域,则还可在ABR上禁止Type3 LSA向区域内泛洪。当区域配置为Stub或者Totally Stub区域后,为保证到达外部自治系统,或者同时包括到达其他区域(仅在配置为Totally Stub区域时)的路由可达,Stub区域的ABR将自动生成一条缺省路由,并发布给Stub区域内的其他路由器。


二、配置OSPF的NSSA/TotallyNSSA区域

NSSA区域配置包括两项配置任务:①配置当前区域为NSSA区域;②(可选)配置发送到NSSA区域缺省路由的开销。如想配置为Totally NSSA区域,则还可在ABR上禁止Type3 LSA向区域内泛洪。当区域配置为NSSA或者Totally NSSA区域后,为保证到达非本区域直连的外部自治系统,或同时包括到达其他区域(仅当配置为Totally NSSA区域时)的路由可达,NSSA区域的ABR将自动生成一条缺省路由,并发布给NSSA区域中的其他路由器。


三、Stub区域和NSSA区域管理

①display ospf[process-id] routing [ip-address [mask | mask-length]] [interface interface-typeinterface-number] [nexthop nexthop-address]或display ospf[process-id] routing router-id [router-id]:查看指定或所有的OSPF路由表的信息。

②display ospf[process-id] abr-asbr [router-id]:查看OSPF ABR和ASBR信息。

③display ospf[process-id] interface [all | interface-type interface-number] [verbose]:查看指定或所有进程下的指定或所有OSPF接口信息。

四、OSPF的Totally Stub区域配置示例


所有路由器都运行OSPF,整个自治系统划分为3个区域。其中RouterA和RouterB作为ABR,用来转发区域之间的路由,RouterD作为ASBR引入了外部静态路由(可见ASBR不一定要位于区域边缘)。现要求将Area1配置为Totally Stub区域,以最大限度的减少通告到此区域内的LSA数量,但又不影响与AS外部和其他区域间的路由的可达性。

1、基本配置思路

①配置Area1为Stub区域(需要在Area1内所有的路由器上配置)。

②在RouterA上配置禁止向Stub区域通告Type3 LSA,使Area1成为Totally Stub区域,以进一步减少向区域内通告的LSA。

③在RouterD上配置静态路由,并在OSPF进程中引入,以此来验证当把Area1配置为Totally Stub区域后,区域内的各部路由器的OSPF路由表中不能见到所引入的外部路由。

2、具体配置步骤

①配置各路由器接口的IP地址。


②在整个OSPF网络中的各路由器上配置OSPF基本功能,实现OSPF路由互通。


③在RouterD上配置一条到达200.0.0.0/8的“黑洞”(以NULL0接口为出接口)静态路由,使到达200.0.0.0/8网络的报文均直接丢弃,并在OSPF 1进程中引入。用来说明在把Area1配置为Totally Stub区域后,该区域内各路由器上见不到由OSPF引入的这条外部静态路由。


通过display ospf abr-asbr命令查看RouterC的ABR/ASBR信息,可看到RouterA为ABR,RouterD为ASBR。


通过display ospf routing命令查看RouterC的OSPF路由表。此时当RouterC所在区域Area1作为普通区域时,可以看到路由表中存在AS外部的路由,即RouterD上引入的静态路由,其他路由器的OSPF路由表中也可见。


通过display ospf routing命令查看RouterC的OSPF路由表。此时当RouterC所在区域Area1作为普通区域时,可以看到路由表中存在AS外部的路由,即RouterD上引入的静态路由,其他路由器的OSPF路由表中也可见。


再通过display ospf routing查看C的OSPF的OSPF路由表。可发现,当把C所在区域配置为Stub区域时,已经看不到AS外部的路由,取而代之的是一条缺省路由:


⑤再在Area1的ABR——RouterA上配置禁止向Stub区域通告Type3 LSA,把Area1配置成Totally Stub区域。


通过display ospf routing查看C的OSPF路由表,可看出,禁止向Stub区域通告Summary LSA后,Stub路由器的路由表项进一步减少,凡是区域间的路由都没有了,只保留一条通往区域外部的缺省路由:


五、OSPF的NSSA区域配置示例


如上拓扑结构,所有路由器都运行OSPF,整个自治系统划分为两个区域。其中RouterA和RouterB作为ABR,用来转发区域之间的路由,RouterD作为ASBR引入了外部路由(以静态路由为例)。现要求将Area1配置为NSSA区域。配置NSSA区域中的RouterA和RouterB为转换路由器,配置RouterD为引入外部路由(静态路由)的ASBR,且路由信息可正确的在AS内传播。

1、基本配置思路分析

①配置Area1为NSSA区域(需要在Area1内所有的路由器上配置)。

②在RouterD上配置静态路由,并在OSPF进程中引入,以此来验证当把Area1配置为NSSA区域后各区域内部路由器的OSPF路由表中可见到所引入的外部路由。

③配置RouterA作为NSSA区域中的转换路由器,使NSSA区域中引入的外部路由转换通过RouterA向其他区域中的路由器(如RouterC)进行通告,验证转换器的配置。

2、具体配置步骤

①配置各路由器接口的IP地址。


②配置OSPF基本功能,实现OSPF路由互通。


③在各路由器上配置Area1区域为NSSA区域,以A为例:


④在RouterD上配置一条到达100.0.0.0/8的“黑洞”(以NULL0接口为出接口)静态路由,并在OSPF 1进程中引入。


通过display ospf routing查看RouterC的OSPF路由表。可看到NSSA区域引入的AS外部路由的发布路由器的路由器ID为2.2.2.2。虽然在Area1中有两个ABR,但OSPF会选举RouterID较大的ABR作为转换路由器,所以最终的转换器是RouterB。


通过display ospf lsdb查看RouterC的OSPF LSDB,可看到所引入的外部LSA:


⑤配置RouterA为转换路由器


在RouterC上通过display ospf routing查看OSPF路由表,可看到NSSA区域引入的AS外部的路由的发布路由器的RouterID变为1.1.1.1,即RouterA成为了转换路由器。


再在RouterC上通过display ospf lsdb,可以发现外部LSA也是通过RouterA来进行通告:


0 0
原创粉丝点击