admin 管理员组

文章数量: 887021

HCIP

HCIP-5.4OSPF路由聚合、缺省路由

  • 1、路由聚合
  • 1.1、路由聚合算法:
  • 1.2、案例:
  • 1.3、OSPF 缺省路由
  • 1.3.1、向普通区域注入缺省路由
  • 1.3.2、Stub区域ABR动态生成发布Type3缺省Summary LSA。
  • 1.3.3、NSSA区域或Totally-NSSA区域生成缺省路由。

1、路由聚合

OSPF 是一种链路状态路由协议,因此 OSPF路由器不传输路由,而是传输链路状态信息。因此,OSPF 路由通过汇总 LSA 来控制链路状态信息的传输,从而减小 LSDB 数据库的大小,进而控制路由的汇总。

由于OSPF路由分为区域内路由、区域间路由和外部路由(即引入OSPF进程的路由),所以区域内路由不需要汇总。

路由聚合是指ABR可以将具有相同前缀的路由信息聚合到一起,只发布一条路由到其它区域。

区域间通过路由聚合,可以减少路由信息,从而减小路由表的规模,提高设备的性能。

OSPF有两种路由聚合方式:
1、ABR聚合
ABR向其它区域发送路由信息时,以网段为单位生成Type3 LSA。如果该区域中存在一些连续的网段,则可以通过命令将这些连续的网段聚合成一个网段。这样ABR只发送一条聚合后的LSA,所有属于命令指定的聚合网段范围的LSA将不会再被单独发送出去。

![在这里插入图片描述](.png#pic_center =600x200
2、ASBR聚合
配置路由聚合后,如果本地设备是自治系统边界路由器ASBR,将对引入的聚合地址范围内的Type5 LSA进行聚合。当配置了NSSA区域时,还要对引入的聚合地址范围内的Type7 LSA进行聚合。

如果本地设备既是ASBR又是ABR,则对由Type7 LSA转化成的Type5 LSA进行聚合处理。

对于NSSA区域,当该区域的ABR将Type-7LSA转换为Type-5LSA时,该ABR也可以充当ASBR的角色,并对Type-5LSA进行聚合。

1.1、路由聚合算法:

案例1:

IP地址二进制
172.18.129.0/24129:10000001
172.18.130.0/24130:10000010
172.18.132.0/24132:10000100
172.18.133.0/24133:10000101
前5位10000 后3位不同

相同的前缀有21位,保留相同位数,将相同比特后面的数(到末尾)填充为0将不相同的3个001比特填充为0,得到10000000,根据8\4\2\1法计算出,十进制为128。

结果:路由汇聚的Ip地址就是172.18.128.0,172.18.128.0/21。掩码=8+8+5,前21位比特为1不能变,变化为后11位。

不变的10000:128+64+32+16+8=128+80+40=248掩码为255.255.248.0。

案例2:

IP地址二进制
202.113.79.128/27128:1000 0000
202.113.79.160/27160:1010 0000
202.113.79.192/27192:1100 0000
202.113.79.224/27133:1110 0000

相同的前缀有25位,保留相同位数,将不相同比特后面的数(到末尾)填充为0。

将不相同的比特填充为0,得到10000000,根据8\4\2\1法计算出,十进制为128。

结果:路由汇聚的Ip地址就是202.113.79.128。202.113.79.128/25。掩码=8+8+8+1,前25位比特为1不能变,变化为后7位。
可用地址数为2^7-2=126。

案例3:

IP地址相同位不同位
172.16.12.0/2410101100 00010000 00001100 00000000
172.16.13.0/2410101100 00010000 00001101 00000000
172.16.14.0/2410101100 00010000 00001110 00000000
172.16.15.0/2410101100 00010000 00001111 00000000
聚合路由172.16.120/22 22=8+8+6

1.2、案例:


交换机配置:

vlan batch 2 3 4 5
int Vlanif 2
ip add 172.16.1.100 24
int vlanif 3
ip add 172.16.2.100 24
int vlanif 4
ip add 172.16.3.100 24
int vlanif 5
ip add 172.16.4.1 24int g0/0/1
port link-type access 
port default vlan 2
int g0/0/2
port link-type access 
port default vlan 3
int g0/0/3
port link-type access 
port default vlan 4
int g0/0/4
port link-type access 
port default vlan 5

OSPF配置:

R1
ospf router-id 172.16.6.6
area 1
network 172.16.1.0 0.0.0.255
network 172.16.2.0 0.0.0.255
network 172.16.3.0 0.0.0.255
network 172.16.4.0 0.0.0.255
network 172.16.6.6 0.0.0.0R2
ospf router-id 10.0.2.2
area 0
network 10.0.12.0 0.0.0.255
area 2
network 10.0.24.0 0.0.0.255
network 10.0.2.2 0.0.0.0R3
ospf router-id 10.0.3.3
area 0
network 10.0.13.0 0.0.0.255
area 2
network 10.0.3.3 0.0.0.0
network 10.0.34.0 0.0.0.255
R4
ospf router-id 10.0.4.4
area 2
network 10.0.4.4 0.0.0.0
network 10.0.24.0 0.0.0.255
network 10.0.46.0 0.0.0.255
network 10.0.34.0 0.0.0.255
network 10.0.45.0 0.0.0.255

配置area2为NSSA区域

[R2]ospf 1
[R2-ospf-1]area 2
[R2-ospf-1-area-0.0.0.2]nssa
[R3]ospf 1
[R3-ospf-1]area 2
[R3-ospf-1-area-0.0.0.2]nssa 
[R4]ospf 1
[R4-ospf-1]area 2
[R4-ospf-1-area-0.0.0.2]nssa

配置去往外部网络的静态路由,并进行引入。

R4
ip route-static 10.100.5.1 32 10.0.46.6
ip route-static 10.100.5.2 32 10.0.46.6
ip route-static 10.100.5.3 32 10.0.46.6
ospf 
import-route static


查看DR和BDR及邻接关系

<R1>dis ospf peerOSPF Process 1 with Router ID 10.0.1.1Neighbors Area 0.0.0.0 interface 10.0.12.1(GigabitEthernet0/0/1)'s neighborsRouter ID: 10.0.2.2         Address: 10.0.12.2       State: Full  Mode:Nbr is  Master  Priority: 1DR: 10.0.12.1  BDR: 10.0.12.2  MTU: 0    Dead timer due in 40  sec Retrans timer interval: 5 Neighbor is up for 00:36:52     Authentication Sequence: [ 0 ]

查看R1上路由表

<R1>dis ip rou
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface10.0.12.0/24  Direct  0    0           D   10.0.12.1       G0/0/110.0.12.1/32  Direct  0    0           D   127.0.0.1       G0/0/110.0.13.0/24  Direct  0    0           D   10.0.13.1       G0/0/210.0.13.1/32  Direct  0    0           D   127.0.0.1       G0/0/210.0.24.0/24  OSPF    10   2           D   10.0.12.2       G0/0/110.0.34.0/24  OSPF    10   2           D   10.0.13.3       G0/0/210.0.46.0/24  OSPF    10   3           D   10.0.13.3       G0/0/210.100.5.1/32  O_ASE   150  1           D   10.0.13.3       G0/0/210.100.5.2/32  O_ASE   150  1           D   10.0.13.3       G0/0/210.100.5.3/32  O_ASE   150  1           D   10.0.13.3       G0/0/2172.16.1.0/24  OSPF    10   2           D   172.16.4.1      G0/0/0172.16.2.0/24  OSPF    10   2           D   172.16.4.1      G0/0/0172.16.3.0/24  OSPF    10   2           D   172.16.4.1      G0/0/0172.16.4.0/24  Direct  0    0           D   172.16.4.2      G0/0/0172.16.4.2/32  Direct  0    0           D   127.0.0.1       G0/0/0

查看LSA

<R2>dis ospf lsdb
Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
一类LSARouter    10.0.3.3        10.0.3.3          1742  36    80000006       1Router    10.0.2.2        10.0.2.2          1793  36    80000006       1Router    10.0.1.1        10.0.1.1           437  48    8000000D       1
二类LSANetwork   10.0.13.1       10.0.1.1           437  32    80000004       0Network   10.0.12.1       10.0.1.1           522  32    80000004       0
三类LSASum-Net   10.0.34.0       10.0.3.3          1742  28    80000003       1Sum-Net   10.0.24.0       10.0.2.2          1793  28    80000003       1Sum-Net   10.0.24.0       10.0.3.3          1704  28    80000002       2Sum-Net   172.16.3.0      10.0.1.1           229  28    80000004       2Sum-Net   172.16.2.0      10.0.1.1          1380  28    80000001       2Sum-Net   172.16.1.0      10.0.1.1          1712  28    80000005       2Sum-Net   172.16.4.0      10.0.1.1           646  28    80000003       1Sum-Net   10.0.46.0       10.0.3.3          1001  28    80000001       2AS External DatabaseType      LinkState ID    AdvRouter          Age  Len   Sequence   MetricExternal  10.100.5.1      10.0.3.3           296  36    80000001       1External  10.100.5.3      10.0.3.3           295  36    80000001       1External  10.100.5.2      10.0.3.3           299  36    80000001       1

案例中ABR聚合
只有在ABR上才能经行区域间路由聚合。
R1上使用abr-summary配置区域间路由聚合
172.16.1.0 00000001
172.16.2.0 00000010
172.16.3.0 00000011
172.16.0.0/22
配置:

ospf
area 1
abr-summary 172.16.0.0 255.255.252.0

R2查看路由表:

<R2>dis ip rou
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface172.16.0.0/22  OSPF    10   3           D   10.0.12.1       G0/0/1172.16.4.0/24  OSPF    10   2           D   10.0.12.1       G0/0/1

案例中ASBR聚合
配置外部路由聚合

[R4]ospf 1
[R4-ospf-1]a 2
[R4-ospf-1-area-0.0.0.2]asbr-summary 10.100.5.0 255.255.255.252

查看R2数据库表:

<R2>dis ospf lsdbOSPF Process 1 with Router ID 10.0.2.2Link State Database Area: 0.0.0.2Type      LinkState ID    AdvRouter          Age  Len   Sequence   MetricRouter    10.0.2.2        10.0.2.2           368  36    80000005       1Sum-Net   10.0.34.0       10.0.2.2            13  28    80000004       3Sum-Net   10.0.13.0       10.0.2.2            67  28    80000004       2Sum-Net   10.0.12.0       10.0.2.2            67  28    80000004       1Sum-Net   172.16.0.0      10.0.2.2           473  28    80000001       3Sum-Net   172.16.4.0      10.0.2.2            67  28    80000004       2Sum-Net   10.0.46.0       10.0.2.2          1074  28    80000002       4NSSA      0.0.0.0         10.0.2.2            67  36    80000004       1AS External DatabaseType      LinkState ID    AdvRouter          Age  Len   Sequence   MetricExternal  10.100.5.0      10.0.3.3            45  36    80000001       2

R2的LSDB中没有明细Type-5LSA和Type-7LSA,只有聚合后的Type-5LSA和Type-7LSA,R2的路由表中没有外部网络的明细路由,只有聚合后的路由。

在NSSA区域的ABR上配置外部路由聚合

由于区域2 是NSSA区域,该区域的ABR路由器会将Type-7LSA转换为Type-5LSA,并泛洪到区域0。

先删除R4上的路由聚合配置,然后再区域2的ABR路由器R2上配置外部路由聚合。

[R4-ospf-1]undo asbr-summary 10.100.5.0 255.255.255.252
[R2-ospf-1]asbr-summary 10.100.5.0 255.255.255.252
[R3-ospf-1]asbr-summary 10.100.5.0 255.255.255.252

注意:
R2和R3都ABR,这时是选取Router-ID较大的路由器作为ABR路由器,R3的上聚合才能生效,但是人我们还是会在R2配置asbr-summary,是作为备份使用,一旦R3路由发生中断事故,R2将作为ABR。

1.3、OSPF 缺省路由

通常企业网与ISP(互联网服务提供商)相连访问外部网络。通常情况下企业网络设备与ISP设备之间不会运行某种动态交换路由信息。企业无需知道和维护外部网络,而是通过缺省路由的方式来实现对外网的访问,这样可以精简路由表规模,同时当外部网络发生故障时,企业内部网络也不会受到影响,从而增强企业网络的安全性。

缺省路由是指目的地址和掩码都是0的路由。当设备无精确匹配的路由时,就可以通过缺省路由进行报文转发。由于OSPF路由的分级管理,Type3缺省路由的优先级高于Type5或Type7路由。

Type3缺省路由> Type5缺省路由or Type7缺省路由。

OSPF动态注入缺省路由通常应用于下面两种情况:

发布者描述
区域边界路由器(ABR)发布Type3缺省Summary LSA,用来指导区域内设备进行区域之间报文的转发。
自治系统边界路由器(ASBR)发布Type5外部缺省ASE LSA,或者Type7外部缺省NSSA LSA,用来指导自治系统(AS)内设备进行自治系统外报文的转发。

OSPF缺省路由的发布原则如下:

  • OSPF路由器只有具有对区域外的出口时,才能够发布缺省路由LSA。
  • 如果OSPF路由器已经发布了缺省路由LSA,那么不再学习其它路由器发布的相同类型缺省路由。即路由计算时不再计算其它路由器发布的相同类型的缺省路由 LSA,但数据库中存有对应LSA。
  • 外部缺省路由的发布如果要依赖于其它路由,那么被依赖的路由不能是本OSPF路由域内的路由,即不是本进程OSPF学习到的路由。因为外部缺省路由的作用是用于指导报文的域外转发,而本OSPF路由域的路由的下一跳都指向了域内,不能满足指导报文域外转发的要求。

1.3.1、向普通区域注入缺省路由

[R4]ip route-static 0.0.0.0 0.0.0.0 202.103.68.1
[R4]ospf 100
[R4-ospf-100]import-route static

LSDB没有出现0.0.0.0的LSA,表示OSPF网络规定不允许通过import-router static命令注入缺省路由。

在ASBR已经有缺省路由,执行default-route-advertise命令,将在整个OSPF区域中通告缺省路由0.0.0.0。

在R4上使用default-route-advertise命令注入一条缺省路由。

命令用来将缺省路由通告到普通OSPF区域。
[R4-ospf-100]default-route-advertise

查看LSA
[R4]dis ospf lsdb

这里可以看到LSDB引入了0.0.0.0的Type-5 LSA的缺省路由,因为Type-5的泛洪范围是整个OSPF网络,说明default-route-advertise命令注入缺省路由的方法已经生效了。

但是,在实际场景中,R4 与R5之间的链路出现故障,就会导致R4的静态缺省路由失效,那么R4路由表就会失去这条缺省路由,进而导致default-route-advertise发布的缺省路由也随之失效.当恢复之后,静态缺省路由又会出现在路由表中,而表示这条缺省路由大的Type-5 LSA又会再次被发布到OSPF中,这样链路不稳定,会造成缺省路由和路由表的不稳定。

为了避免链路不稳定带来的影响,提高网络的可靠性,我们希望R4上是否已经存在缺省路由,R4都能够向整个OPF网络注入缺省路由。

[R4]ospf 100
[R4-ospf-100]default-route-advertise always    //总是将缺省路由通告到普通OSPF区域。

OSPF可以配置多种下发方式:

  • 在ABR上下发
  • 在ASBR上下发
  • 强制下发
  • 非强制下发

OSPF下属非自动强制路由:

区域类型配置命令产生者LSA类型范围有没有缺省路由
普通default-route-advertiseASBR5路由域
普通default-route-advertise alwaysASBR5路由域

缺省情况下,在普通OSPF区域内的OSPF设备不产生缺省路由。

import-route (OSPF)命令不能引入外部路由的缺省路由。当需要引入其他协议产生的缺省路由时,必须在ASBR上配置default-route-advertise命令,发布缺省路由到整个普通OSPF区域。

ASBR已经有缺省路由,执行default-route-advertise命令,将在整个OSPF区域中通告缺省路由0.0.0.0。

配置always参数,无论ASBR是否有缺省路由都将在整个OSPF区域中通告缺省路由0.0.0.0,并且不再计算来自其他设备的缺省路由。

1.3.2、Stub区域ABR动态生成发布Type3缺省Summary LSA。

Area 2区域 R2、R3为Stub区域。ABR动态生成发布Type3缺省Summary LSA。
查看LSA
[R3]dis ospf lsdb

Sum-Net   0.0.0.0       10.0.3.3          1742  28    80000003       1
Sum-Net   10.0.34.0       10.0.3.3          1793  28    80000003       1

Area 2区域配置成为Totally STUB区域

[R3]ospf 100
[R3-ospf-100]area 2
[R3-ospf-100-area-0.0.0.1]stub no-summary

查看LSA
[R3]dis ospf lsdb

Sum-Net   0.0.0.0       10.0.3.3          53  28    80000024       1

其它三类LSA不存在,只剩一条Type3缺省Summary LSA。

区域类型配置命令产生者LSA类型范围有没有缺省路由
STUB自动产生ABR3STUB域
Totally STUB自动产生ABR3STUB域

1.3.3、NSSA区域或Totally-NSSA区域生成缺省路由。

配置NSSA区域或Totally NSSA区域时,该区域会自动向该区域注入表示缺省路由的Type-7LSA。

[R1]ospf 100
[R1-ospf-100]area 1
[R1-ospf-100-area-0.0.0.2]nssa
[R3]ospf 100
[R3-ospf-100]area 1	
[R3-ospf-100-area-0.0.0.2]nssa

[R3]dis ospf lsdb

 NSSA      0.0.0.0         10.0.3.3            67  36    80000004       1

配置区域2为Totally NSSA区域

[R3-ospf-100-area-0.0.0.2]nssa no-summary

结果是和上面Nssa是一样的。

1、Totally NSSA区域
Totally NSSA区域不允许携带区域间路由,ABR会自动生成一条第3类的缺省路由在完全NSSA区域内传播。

2、NSSA区域内两种缺省路由:

  • ABR产生的第三类缺省路由;
  • ASBR产生的第七类缺省路由。

1)、NSSA区域七类缺省路由:如果想让外部路由只通过本区域的NSSA ASBR到达,可以在ASBR上配置产生一条Type 7类的缺省路由0.0.0.0,该缺省路由的传播区域是整个NSSA区域内部。

  • 外部路由只通过NSSA ASBR到达NSSA区域内部。
[R3]ospf 100
[R3-ospf-100]area 1	
[R3-ospf-100-area-0.0.0.2]nssa
[R3-ospf-100-area-0.0.0.2]nssa default-route-advertise //在ASBR上配置产生缺省的Type7 LSA到NSSA区域

nssa default-route-advertise(ASBR)
注意:需要在本路由器上已存在一条其他路由协议产生或静态配置的缺省路由时,才会发布Type 7类缺省路由

  • 非自治系统的外部路由,NSSA ASBR的其它外部路由通过ABR传入其它区域。NSSA ABR上配置产生Type 7类的缺省路由0.0.0.0通告给整个NSSA区域内的路由器。

nssa default-route-advertise(ABR)
不论是否存在其他路由协议产生或静态配置的缺省路由,都会发布Type 7类的缺省路由。

2)、NSSA区域上ABR的缺省路由:
nssa no-summary(ABR)
自动产生第三类缺省路由。

在NSSA区域配置产生的是Type 7类或Type 3类缺省路由,传播的区域是整个NSSA区域。如果同时收到第三类缺省路由和Type 7类缺省路由,将会优选Type 3类缺省路由加入路由表。

区域类型配置命令产生者LSA类型范围有没有缺省路由
NSSAnssa default-route-advertiseASBR7NSSA域
NSSAnssa default-route-advertiseABR7NSSA域
Totally-NSSA自动产生ABR3NSSA域

3)、NSSA区域缺省路由配置错误可能产生的路由环路。

在NSSA区域的ABR在发布第三类缺省路由的同时也会学习其它ASBR发布的第七类缺省路由,配置时如果不注意将会在NSSA区域产生路由环路。

如上图,在ABR上配置NSSA区域为完全NSSA区域,因此ABR会自动在NSSA区域内发布Type 3类缺省路由;在ASBR上配置一条静态路由指向外部,同时配置nssa default-route-advertise命令发布Type 7类缺省路由。

对于R2来说,它会同时收到R1发来的ABR发布的Type 3类缺省路由和R3ASBR发布的Type 7类缺省路由,Type 3类优先,因此它会选择Type 3类缺省路由加入它的路由表,R3的路由表中缺省路由0.0.0.0的下一跳指向ABR。

对于R1来说,由于ABR会接收ASBR发布的Type 7类缺省路由,所以它会把Type 7类的缺省路由加入自己的路由表中,R1ABR到R3ASBR的下一跳是R2,因此R1的路由表中缺省路由0.0.0.0的下一跳指向R2;

这样在R1和R2之间就存在一条由缺省路由0.0.0.0产生的环路,导致R1和R2到外部区域的数据均不能正确转发。

本文标签: HCIP