路由协议OSPF学习笔记分享(3)

2024-01-07 22:14:24


LSDB链路状态数据库

思科命令:show ip ospf database


show ip ospf database database-summary 显示LSDB中基于区域和LSA分类的LSA统计信息。


LSA在LSDB中老化时间是增大的,如果到1小时,就会从LSDB中清除,每30分钟一次的LSR refreshTime 链路状态重刷新可解决。源路由器扩散一个此LSA的新拷贝(序列号加1),来重刷新。


Router LSA(1类)

思科命令:show ip ospf database router

每台路由器都会产生,列出了路由器所有链路和接口,并指明了状态和出站开销。以及该链路上所有已知邻居。

泛洪范围始发它们的area内部。

LinkStateID 来源是RID、


Network LSA(2类)

思科命令:show ip ospf database network

多路访问网络上DR产生,描绘多路访问网络和此网络上所有路由器。

泛洪范围始发area内。

没有度量值字段。(与1类不同),因为LSA中表示伪节点到任何相连的路由器开销为0.

LinkStateID来源于DR接口的IP地址。


Summary LSA(3类)

思科命令:show ip ospf database summary

ABR始发。ABR发送一个3类到另外一个区域,这些LSA就是ABR告诉在与之相连的区域内的IR它所能到达其他area目的地的一直方法。它描述了域间通信的目的地址。

ABR发3类时,将包括它本身到正在通告的这条LSA的目的地所耗费的cost,ABR有多条路由到达目的地是选择cost最低的。

当一台router收到3类,并不运行SPF算法,只是简单加上从它到ABR的路由cost(部门SPF计算)由于此LSA没有详细的链路状态信息,所以区域间是距离矢量特效。

LinkStateID为目的网络号。


ASBR summary LSA (4类)

思科命令:show ip ospf database asbr-summary

ABR始发,通告的目的地址是一台ASBR Router,目的地为主机地址,掩码为0,它是一条到达一台router的路由。有ASBR时才有。

LinkStateID为ASBR的RID。


AS external LSA(5类)

思科命令:show ip ospf database external

始发于ASBR,通告到达OSPF自主系统外部目的地。不具体与区域相关联的LSA,在整个OSPF中扩散。

LinkStateID为外部网络号。


NSSA external LSA(7类)

思科命令:show ip ospf database nssa-external

始发与NSSA中的ASBR,几乎和5类相同,只在始发这个LSA的NSSA区域内泛洪,这些外部前缀发往其他区域,ABR会将此7类转为5类。

LinkStateID为外部网络号。


1类、2类只在始发他们本区域泛洪。

3类、4类、5类全OSPF选择域中泛洪。

7类只在始发它的NSSA区域内泛洪。


E-bit:始发路由器为ASBR时,置1。

B-bit:始发路由器为ABR时,置1。


OSPF区域


区域0:汇总每个区域的网络拓扑到其他区域。所有的域间通信量必须通过骨干区域,非骨干区域不能直接交换数据包。

路由器类型:IR、BR、ABR、ASBR

IR:所有接口都属于同一个区域的路由器。

BR:至少有一个接口是与骨干area0相连的路由器。Area0 不一定是骨干区域,但骨干区域一定是area0,要成为骨干必须有一个邻接关系在里面。

ABR:连接其他区域到骨干区域,至少一个接口属于骨干区域。

ASBR:OSPF域外部的通信量进入OSPF域的网络路由器。


OSPF的虚链路

一条通过非骨干区域连接到骨干区域的链路。通过非骨干区域修复分段的骨干区域。它是逻辑通道,通过最优路路径到达另一端。

1、它必须配置带两台ABR之间。

2、虚链路所经过的区域必须有全部路由选择信息,就是传送区域。

3、传送区域,不能是末梢区域。

4、虚链路是属于骨干区域。


OSPF特殊区域:

Stub area:不允许AS外部LSA通告在其内部进行泛洪扩散的区域,也不能有虚链路。无类型4和类型5.这区域的ABR向网络内通告一条summary LSA,这条summary LSA为缺省路由0.0.0.0。如果存在多余一个的ABR可能会产生次优路径。不存在ASBR,骨干区域不能成为stub。

Stub area 内hello包中可选项E-bit被置0.

Stub area 内的路由器不接受任何E-bit=1的hello包。这样就确保了stub area 内的路由器有相同的LSDB。

area area-id stub确保区域内所有的路由器都配置此命令。否则无法建立邻居,一直处于down状态。

area area-id default-cost ? 外部网络通告到stub ABR上的度量值。


Totally stub area:阻塞类型3、类型4、类型5.这样更节省内存,使用缺省路由到达除这个区域以外的所有目的地址!ABR只通告一条类型3的缺省路由,其他类型3不通告。

Area area-id stub no-summary 只需要在ABR上配置加上no-summary


NSSA:允许外部路由通告到OSPF自主系统内部,同时也保留自主系统其余部门的末梢区域特征。NSSA内的ASBR始发7类LSA通告那些外部网络地址。类型7会被ABR阻塞,被转换为5类。

P-bit:NSSA的ASBR会设置或清除这个位。P-bit=1,NSSA的ABR收到后会将7类转为5类通告。p-bit=0,不会7转5.就是不通告,其他区域无法知道,只有一种情况p-bit=0就是NSSA去的ABR进行重分布的时候。

Area area-id nssa translat type7 suppress-fa(7转5后将FA字段变为0.0.0.0,FA=forward address)

Area area-id nssa default-information-originate 向NSSA以类型7(N2)的方式注入一条默认路由。ABR上设置!(必须,否则没有缺省)

Area area-id nssa no-redistribute 如果ABR也是ASBR这可以阻止ABR向NSSA内部通告类型7.


Totally NSSA:和NSSA相同,只是在NSSA内部也没有类型3LSA。只用在ABR上就可以了。

Area area-id nssa no-summary 只会向NSSA内通告一个3类的缺省路由到NSSA区域。


总结:

正常区域:有1类、2类、3类、4类、5类

stub area:有1类、2类、3类

totally stub:有1类、2类、3类只有缺省

NSSA:有1类、2类、3类、7类。

Totally NSSA:有1类、2类、3类只有缺省、7类。


SPF的计算:

完整的SPF计算:

以自己为根,对目标网段的LSA进行详细的链路层计算和网络层计算,得出到达目的地的最佳路由。Area内是完整的SPF计算。


部分SPF计算:计算到达area外的目的地。因为外部LSA和汇总LSA没有详细的链路状态信息(只路由可达信息),只计算到ABR的SPF算法。

关注 网络工程师阿龙