NP、OSPF链路状态数据库

OSPF是一种基于链路状态的动态路由协议,每台OSPF路由器都会生成相关的LSA,并将这些LSA通告出去。路由器收到LSA后,会将它们存放在链路状态数据库LSDB中。
LSA有多种不同类型,不同类型的LSA的功能和作用是不同的。
Type-1 LSA(Router LSA):每台路由器都会产生,用来描述路由器的直连链路状态和开销值。Type-1 LSA只能在所属区域内部泛洪,不能泛洪到其它区域。

Type-2 LSA(Network LSA):它是由DR产生的,主要用来描述该DR所在网段的网络掩码以及该网段内有哪些路由器。Type-2 LSA 只能在所属区域内部泛洪,不能泛洪到其它区域。

Type-3 LSA(Network Summary LSA):它是由ABR(Area Boundary Router)产生的,ABR路由器将所连区域的Type-1和Type-2 LSA 转换为Type-3 LSA,用来描述区域间的路由信息。Type-3 LSA 可以泛洪到整个AS(Autonomous System,自治域)内部,但不能泛洪到Totally Stub 区域和 Totally NSSA(Not-So-Stubby Area)区域。

Type-4 LSA(ASBR Summary LSA):它是由ASBR(Autonomous System Boundary Router)所在区域的ABR产生,用来描述到ASBR的路由。Type-4 LSA 可以泛洪到整个AS内部,但不能泛洪到Stub区域、Totally Stub 区域、NSSA区域和Totally NSSA区域中。

Type-5 LSA(AS External LSA):它是由ASBR产生的,用来描述到AS外部网络的路由。Type-5 LSA 可以泛洪到整个AS内部,但不能泛洪到 Stub 区域、Totally Stub 区域、NSSA区域和Totally NSSA区域中。

Type-6 LSA(Group Membership LSA):在MOSPF中用于标识组播成员使用的用户组播路由。

Type-7 LSA(NSSA LSA):它是由NSSA区域或Totally NSSA区域的NSSA ASBR 产生的,用来描述到AS外部的路由。Type-7 LSA 只能出现在所属NSSA 区域或Totally NSSA 区域内部。

//理解OSPF中不同类型的LSA的作用
//熟悉OSPF中不同类型的LSA的泛洪范围
//熟悉LSA中重要字段的含义

//下面是一个模拟企业网总部与两个分支结构的网络场景,R1、R4的Loopback 1 接口用来表示有合作伙伴加入时的网络。区域1为普通区域,区域2为NSSA区域。在区域0中,R5为DR、R2为BDR、R3为DRother。接下来在实验过程中大量地展示和分析链路状态数据库。开始吧!
在这里插入图片描述

//接口配置部赘述
//在每台路由器上配置OSPF路由协议,R1、R2之间属于区域1,R3、R4之间属于区域2,R2、R3、R5属于区域0,区域2是NSSA区域。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

//在R2、R5的G0/0/0接口上修改接口优先级的值,使R5成为DR,R2成为BDR。(reset ospf process 重启OSPF进程)
在这里插入图片描述
在这里插入图片描述

//在R3上查看OSPF的DR\BDR的选举情况。(DR为R5,BDR为R2)
在这里插入图片描述

//查看R1上的路由表。(可以看到已经获得了非直连网段的路由条目)
在这里插入图片描述
//ping 各个路由 Loopback 接口地址。(正常通信)
在这里插入图片描述
//区域1是普通区域,区域2是NSSA区域,区域1的R1和区域2的R4都需要引入Loopback 1接口所连接的外部网络路由。在R1和R4上使用 Route-Policy 精确匹配 Loopback 1 接口的直连路由并引入OSPF进程。
在这里插入图片描述
在这里插入图片描述

//在R5上查看由R1、R4引入的两条路由。
在这里插入图片描述
//可以看到,这两条路由都显示为 O_ASE ,且优先级与开销也相同。不同之处是这两条路由的下一跳,因为它们是由不同的路由器发送给R5的。

//查看Type-1 LSA、Type-2 LSA、Type-3 LSA。在区域0的R5上查看LSDB。
在这里插入图片描述
//观察到,R5的LSDB中共有5种LSA,它们分别是Router LSA(或称Type-1 LSA)、Network LSA(或称Type-2 LSA)、Sum-Net LSA(Type-3 LSA,Network Summary LSA)、Sum-Asbr LSA(或称Type-4 LSA,ASBR Summary LSA)和 External LSA(或称Type-5 LSA。 AS External LSA)

//在R5上查看Router-ID为10.0.2.2产生的 Router LSA 的详细信息。
在这里插入图片描述
//Type:显示信息中,Type表示了LSA的类型,这里表示的是Router LSA。不同类型的LSA的作用和泛洪范围是不相同的。Router LSA 描述了路由器的直连链路或接口,泛洪范围为所在区域的内部,以使本区域的其它路由器了解其直连链路或接口的状态信息。
//Ls id:对于Router LSA,Ls id 就是产生该Router LSA 的路由器的 Router-ID。
//Adv rtr:Adv rtr 描述了LSA是由哪台路由器产生的。对于 Router LSA 来讲,Adv rtr 就是产生该 Router LSA 的路由器的 Router-ID。
//Ls age:Ls age 是指LSA的老化时间,用来表示LSA已经存活了多长时间,最大值为3600s。当一台路由器产生一条LSA的时候,路由器会将LSA的老化时间设置为0。LSA在产生之后,无论是停留在路由器的LSDB内,还是在传递过程中,老化时间都会不断增加。为了防止因LSA的过期而造成路由回馈,路由器会每隔30min泛洪自己产生的LSA。若序列号与效验和的比较都不能确定出最新的LSA时,则会比较老化时间。在LSDB中,如果老化时间相差大于15min以上,则Ls age 的值越小,说明LSA 越新;如果相差在15min以内,则认为两条LSA是一样的。
//Seq#:每一条LSA都会维护一个Seq#(序列号),产生这条LSA的路由器默认会以30s的周期泛洪这条LSA,每次泛洪时,序列号就加1。LSA的序列号越大,表明这条LSA越新。
//Chksum:校验和用来校验LSA的完整性。所有的LSA都保存在路由器的LSDB中, 每5min会计算一次。如果路由器收到同一条LSA,且序列号相同,则会比较它们的校验和,校验和越大就被认为相应的LSA越新。

//在上面的显示信息中,Link count 以上的参数信息通常被称为LSA头部信息,Link count 及以下部分为具体的链路描述信息。Link count 标识了这条LSA描述的链路信息的数量。对于P-2-P链路类型,Link ID 是指链路上邻居接口的IP地址;对于TransNet链路类型,Link ID 是指DR接口的IP地址。Data 是指自身接口的IP地址,Link Type 是指接口的链路类型,Metric 是指路由器自己到达这条链路的Cost值。需要说明的是,OSPF协议会把Broadcast和NBMA这两种具有多路访问能力的网络都认为是TransNet网络。
从上得知,R2的Router LSA 描述了自己连接到了某个TransNet网络,网络的DR接口的IP地址为10.0.235.5(R5),自己使用10.0.235.2连接到该网络中,且到达这个网络的Cost值为1.
//Network LSA是由DR产生的,它的主要作用是描述TransNet网络的掩码信息和连接到TransNet网络的路由器信息。在多路访问网络中,每台路由器都产生Network LSA 是没有必要的,因为这会导致Network LSA 的重复。

//R5是TransNet 网络的DR,在R5上查看它产生和发送的Network LSA 的详细信息。
在这里插入图片描述
//可以看到,这条Network LSA 说明了TransNet 网络的掩码为255.255.255.0,连接到这个TransNet 网络的路由器有10.0.5.5(R5)、10.0.2.2(R2)、10.0.3.3(R3)。Network LSA中没有携带路径的开销,原因是Router LSA 已经描述了自己到TransNet 网络的Cost 值。

//查看R2、R3、R5区域0的LSDB。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
//可以发现,R2、R3、R5的LSDB中区域0 的Router LSA 和 Network LSA 是完全一样的。Router LSA 和 Network LSA 可以完全描述本区域的网络拓扑,但这些LSA不能泛洪到其他区域。当OSPF网络包含多个区域时,通过Router LSA 和 Network LSA 就无法进行区域间路由的计算了。区域间路由的计算需要利用Sum-Net LSA 来实现,ABR路由器会将自己相连区域的Router LSA 和 Network LSA 转换为Sum-Net LSA,然后泛洪到其它区域。

//R2同时连接了区域0和区域1,所以是一台ABR路由器。查看R2的LSDB。
在这里插入图片描述
//可以发现,R2的区域0中有一条LinkState ID 为10.0.12.0 的Sum-Net LSA,它的AdvRouter为10.0.2.2。网段10.0.12.0/24本是属于区域1的网络,现在被ABR路由器R2转换到Sum-Net LSA 并泛洪到了区域0中。10.0.235.0/24本是属于区域0的网络,现在被ABR路由器R2转换为Sum-Net LSA 并泛洪到区域1中。实际上,Sum-Net LSA 是ABR利用自己相连区域的Router-LSA 和 Network-LSA 来计算得到的路由信息。

//在R2上查看LinkState ID 为 10.0.12.0 的这条 Sum-Net LSA 的详细信息。
在这里插入图片描述
//可以看到,这条LSA的Type为Sum-Net,Ls id 表明了目的网络地址为10.0.12.0,Net mask 表明了目的网段的掩码为255.255.255.0,Metric 表明了ABR路由器R2去往目的网络的Cost值为1。

//R5上查看LSDB,并查看关于10.0.12.0/24的路由信息。
在这里插入图片描述
// 可以看到,R5的LSDB中存在10.0.12.0这条Sum-Net LSA,R5的路由表中关于10.0.12.0/24的这条路由信息表明R5去往10.0.12.0/24的Cost为2。R5通过这条Sum-Net LSA 得知网络中存在10.0.12.0/24网段,这个网段的AdvRouter 为10.0.2.2(R2),R2自己到达10.0.12.0/24的Cost为1。R5、R2同属于区域0,所以R5可以通过Router LSA 和 Network LSA 计算出自己到R2的Cost为1,因此,R5可以计算出自己到10.0.12.0/24的Cost值为1+1=2
区域间的路由是根据Sum-Net LSA 并结合Router LSA及Network-LSA 计算出来的。对于某个区域的一台OSPF路由器来说,它无需了解其它区域的链路状态信息但可以通过Sum-Net LSA 并结合 Router LSA 及 Network-LSA 计算出区域间路由;计算区域间路由时,采用的不再是链路状态算法,而是距离矢量算法。

//在R2上查看LinkState ID为10.0.34.0/24这条LSA的信息。
在这里插入图片描述
//可以看到,10.0.34.0/24是属于区域2的网络,ABR路由器R3将关于10.0.34.0/24的路由信息以Sum-Net LSA 的方式通告进了区域0,Cost为1。然后,ABR路由器R2又继续将此信息以Sum-Net LSA 的方式通告进了区域0。
//对于ABR来说,如果在自己相连的某个区域的LSDB中存在某条Sum-Net LSA,并且该Sum-Net LSA的AdvRouter 不是自己的Router-ID时,就会将这条Sum-Net LSA 的AdvRouter 修改为自己的Router-ID,并重新计算自己到达这条Sum-Net LSA 的Cost值,然后将之泛洪到与自己相连的其它区域中。

// R1的Loopback 1 是外部路由,被ASBR路由器R1引入到了OSPF网络中。查看R1的LSDB。
在这里插入图片描述

//可以看到,R1的LSDB中存在一条Type为External,LinkState ID 为192.168.1.0,AdvRouter 为10.0.1.1 的LSA。在R1上查看这条LSA的具体信息。
在这里插入图片描述
//看到这条LSA的Type是External,AdvRouter 为10.0.1.1(R1),这条LSA实际上是一条目的网络为192.168.1.0/24的AS外部路由,显示信息中的E Type 的值为2。
External LSA 可以在整个AS内部泛洪(但不能泛洪到Stub区域、Totally Stub区域、NSSA区域和Totally NSSA区域中),在泛洪过程中其各个参数不会被改变。查看R2、R3、R4、R5的LSDB中是否也存在这条LSA。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
//可以看到,R2、R3、R5的LSDB 中都存在这条External LSA,而且AdvRouter(10.0.1.1)等参数信息没有任何变化。而R4的LSDB中没有这条External LSA,这是因为R4处于NSSA区域中,而External LSA 是不允许进入NSSA区域的。
R5通过Link id 为192.168.1.0的External LSA得知,从自己去往192.168.1.0/24 是可以通过10.0.1.1(R1)到达的,并且知道从R1去往192.168.1.0/24的Cost 为1。然而,R5并不知道从自己去往ASBR 路由器R1的路由及Cost,所以R5还无法计算出从自己到达外部网络192.168.1.0/24 的路由及Cost。在OSPF协议中,Sum-Asbr LSA是用来描述去往ASBR的路由信息的。


//查看R5的LSDB 中LinkState ID 为10.0.1.1 的Sum-Asbr LSA 的具体信息。
在这里插入图片描述
//可以看到这条Sum-Sabr LSA 的AdvRouter 是ABR路由器R2(10.0.2.2),并且表明了从ABR路由器R2到ABR路由器R1(10.0.1.1)的Cost值为1。

//在R5上使用Display ospf abr-asbr 命令查看到达ABR和ASBR的Cost值。
在这里插入图片描述
//可以看到,从R5到达ABR路由器R2的Cost 值为1,从R5到达ASBR路由器R1的Cost 值为2。得知,R5其实是通过Router LSA 和 Network LSA 先计算出到达ABR路由器R2的Cost值,然后加上Sum-Asbr LSA 所表示的从ABR 路由器R2到达ASBR 路由器R1的Cost 值,最终得出从自己到达ASBR路由器R1的Cost值。
Sum-Net LSA 和 Sum-Asbr LSA 的相同点是它们都由ABR产生,并 且其AdvRouter 在泛洪过程中会作相应的改变,不同点在于Sum-Net LSA 是用来计算区域间路由的,而Sum-Asbr LSA 是用来计算到达ASBR 的路由的。如果网络中不存在ASBR,那就不会产生Sum-Asbr LSA,这也说明有External LSA存在时,才会有Sum-Asbr LSA。


//在R1上使用undo import-route 取消路由的引入。
[R1]ospf 10
[R1-ospf-10]undo import-route direct

//在R5上查看LSDB。
在这里插入图片描述
//可以看到,LinkState ID 为192.168.1.0的External LSA消失了,LinkState ID 为10.0.1.1的Sum-Asbr LSA也随之消失。


//查看Type-7 LSA NSSA区域是不允许External LSA 存在的,但NSSA区域允许通过import-route 命令引入外部路由,那么如何来描述在NSSA区域中上网AS外部路由呢?NSSA区域引入的外部路由不能以External LSA 的形式出现,取而代之的是使用NSSA LSA 来描述NSSA区域中的AS外部路由,且NSSA LSA 只能出现在NSSA区域中。NSSA LSA 由 NSSA 区域中的NSSA ASBR 产生。
R4为NSSA区域的ASBR,查看R4的LSDB。
在这里插入图片描述

//可以看到,R4为外部路由172.16.1.0 产生了相应的NSSA LSA。在R4上查看这条LSA的详细信息。
在这里插入图片描述
//注意到,NSSA LSA 的参数信息基本上和External LSA 相同。
NSSA LSA 是特殊类型的LSA,只会出现在NSSA 区域中,不能泛洪到其它任何区域,那么其他区域的路由器又是如何计算去往NSSA LSA 所表示的外部网络的路由呢?原来,NSSA区域的ABR会将NSSA LSA 转换为External LSA,并泛洪到其他区域。

//R3为NSSA区域的ABR路由器,在R3上查看LSDB信息。
在这里插入图片描述
//可以看到,由10.0.4.4 产生的NSSA LSA 被R3转换成了External LSA,并泛洪到其他区域。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值