OSPF域内LSA与路由计算

LSA头部

上部分OSPF基础中学习完OSPF如何建立邻居与邻接关系,OSPF在建立邻接关系后已经搭建完成自己的LSDB数据库了,这时候就该进行路由计算来选出最优的路径。
在学习OSPF路由计算之前,我们先来看下LSA的种类。在OSPF中有许多的LSA类型,根据不同区域不同作用来进行区分。
不管是几类LSA,其都有相同的LSA头部,用来描述LSA简单信息.在这里插入图片描述
一个LSA的头部如上图所示:

LS age 此字段表示LSA已经生存的时间,单位是秒。
LS type 此字段标识了LSA的格式和功能。常用的LSA类型有五种。
Link State ID 此字段是该LSA所描述的那部分链路的标识,例如Router ID等。
Advertising Router 此字段是产生此LSA的路由器的Router ID。
LS sequence number 此字段用于检测旧的和重复的LSA。
LS checksum 此字段用于校验LSA头部完整性
Length 此字段表示该条LSA的大小

域内LSA

1.Router-LSA

1类LAS:Router-LSA(每台运行OSPF的路由器都都会产生)用来描述本区域内的链路信息
在这里插入图片描述
当前网络环境中,邻居关系与邻接关系均已建立,R2向R1发起LSR请求自己没有的LSA条目,R1发送LSU如下图:
在这里插入图片描述

LS Type 表示该LSA的类型为Router-LSA即1类LSA
LS Age 表示该LS条目的存活时间,单位s
Link State ID 链路状态ID,在1类LSA中表示本机Router ID
Advertising Router 表示发起此LSA的路由器的Router ID
Type 链接类型,描述P2P网络环境中为P2P,描述MA与NBMA网络环境中为TransNet,描述具体的网段为StubNet
Link ID/ID 此链接的对端标识,不同类型的Type此字段表示的含义不同,在Stub下,表示网段的网络地址
Data 此链接的附加信息,不同类型Tpye此字段表示的含义不同,在Stub下,表示网段的掩码
Metric 此链接的开销

2.Network-LSA

2类LSA:Network-LSA(只在MA网络环境且只有DR能产生)用来描述MA网络中的掩码信息
在这里插入图片描述
执行display ospf brief后可知我们的R1为DR,那么R2则为BDR
2类LSA是DR用来描述广播网络环境中的网络掩码信息
DR会发给组播224.0.0.5中所有成员LSA2类信息
本例中我们的R1发起组播,组播地址是224.0.0.5,发送的信息为2类LSA
在这里插入图片描述

Link State ID 链路状态ID,在2类LSA中表示DR的接口IP地址
Advertising Router 在2类LSA中表示DR的Router ID
NetMask 表示此网段的网络掩码
Attached Router 表示连接到该网段的路由器,或者说与DR相连的设备的RID,其中包括DR自身

拓扑信息与路由信息

这里要讲明一个概念:拓扑信息与路由信息
拓扑信息是整个网络环境的拓扑,或者说连接方式,包含了整个网络路径,所以在拓扑信息中到对端可以有多条路径,但是路由信息是被最终采用的最优的路由信息。
1类与2类LSA中既包含了拓扑信息又包含了路由信息,而所谓的路由计算就是根据拓扑信息与开销等参考值来计算最优的路由信息,然后放入IP路由表中使用。
在1类LSA中,Type字段显示的P2P和transnet则描述的是拓扑信息,Type字段为Stub则描述的是路由信息。
在2类LSA中,Attached描述了拓扑信息。Ls ID+net mask组成了路由信息。

eNSP模拟器环境下查看LSA

在这里插入图片描述
首先我们看下简单的拓扑
这里我们在R1上执行命令dis ospf lsdb router self-originate查看自己产生的1类LSA
在这里插入图片描述
这段信息表达的含义为,R1发送了1类LSA,LSid与Adv rtr都是自己的RID,描述了一个条链路信息,信息包括DR的接口IP地址,产生此LSA的接口IP地址以及接口开销。TransNet表示该链路环境为MA。
这时候我们来执行命令来查看所有能收到的1类LSA消息
在这里插入图片描述
我们这时候看到了2条,其中一条同上面看到的,这条信息是R1收到的R2发送的1类LSA
该信息的含义表示,R2发送的,LS id与Adv rtr都是2.2.2.2,然后R2的链路信息中描述了DR的接口IP地址以及发出该LSA的本地接口IP地址还有链路开销。
根据这些1类LSA我们就可以简单的构建一个拓扑信息,该网络环境只有2个设备,一个是1.1.1.1,而另一个是2.2.2.2,且1.1.1.1的接口IP地址为192.168.1.1,而2.2.2.2的接口IP地址为192.168.1.2,这时候我们还缺少掩码,那就要查看2类LSA来查看相关掩码信息,2类LSA是DR产生的,因此我们在R2上执行是不会有效果的,我这里的指的命令是dis ospf lsdb network self-originate 自己产生的2类LSA,R2还是会接收到R1发来的2类LSA。
我们在R1上执行命令:
在这里插入图片描述
可以看到2类LSA包含的信息:产生此LSA的DR接口IP地址,以及产生此LSA的RID,并且知道了该网段的网络掩码以及连接DR的设备。这样一个域内简单的网络环境拓扑我们就得知了。
然后根据开销选择最优的路径放入IP路由表中就完成路由的选路,不过我们的网络环境过于简单。这里我们再加几台设备进行SPF算法的学习。

OSPF路由计算过程

在这里插入图片描述
拓扑图如上所示:
其中的IP地址配置规范如R1-R2网段,R1的接口为192.168.12.1/24,R2的为192.168.12.2/24,以此类推。
OSPF计算路由的过程总的分为2步:
1.依据一类LSA中的Point to Point,TransNet以及二类LSA,构建SPF树。
2.依据一类LSA中的Stub以及二类LSA,计算最优路由。

首先第1步,我们以R1为根节点来构建R1的SPF树
首先查看R1的1类LSA(必须是自己产生的)
在这里插入图片描述
将TransNet即拓扑信息放入我们的候选表中,其中Link ID为放入候选列表,Metric放入总开销,Ls ID放入父节点,形成候选表如下:

候选列表 总开销 父节点
192.168.13.1 1 1.1.1.1
192.168.12.1 1 1.1.1.1

然后根据候选列表中开销值小的一项填入根节点下。如果开销相同就同时填入,形成如下拓扑:
在这里插入图片描述
被填入的条目要在候选列表中删除,因此此时候选列表为空。
然后我们查看192.168.13.1的2类LSA,查看方式可以直接在R1上进行查看,通过命令
dis ospf lsdb network 192.168.13.1查看该192.168.13.1接口产生的2类LSA
在这里插入图片描述
由于拓扑中已经有了1.1.1.1,因此我们不用管1.1.1.1,将3.3.3.3放入候选列表

候选列表 总开销 父节点
3.3.3.3 0+1 192.168.13.1

DR的接口开销为0,所以总开销为0+(1.1.1.1到192.168.13.1的开销 1)=1,父节点为192.168.13.1
将候选列表的条目填入树中并删除候选列表条目(候选列表为空):
在这里插入图片描述
然后查看192.168.12.1的2类LSA:
在这里插入图片描述

过程同上:

在这里插入图片描述
然后查看3.3.3.3的1类LSA:
同理可直接在R1上执行命令查看:dis ospf lsdb router 3.3.3.3
在这里插入图片描述
192.168.13.1已经在我们的树中了,所以我们将192.168.34.3放入候选列表

候选列表 总开销 父节点
192.168.34.3 1+0+1 3.3.3.3

然后将该条目放在3.3.3.3的下面:
在这里插入图片描述
同理查看2.2.2.2的1类LSA
在这里插入图片描述
将192.168.24.2放入2.2.2.2的下面:
在这里插入图片描述
然后查看192.168.34.3的2类LSA
在这里插入图片描述
将4.4.4.4放入192.168.34.3下面:
在这里插入图片描述
然后查看192.168.24.2的2类LSA,发现4.4.4.4也同样有
在这里插入图片描述
与192.168.34.3作比较的话:

候选列表 总开销 父节点
4.4.4.4 1+0+1+0 192.168.34.3
4.4.4.4 1+0+1+0 192.168.24.2

可以发现2个条目其实开销都相同,说明到达4.4.4.4的2条路径都是最优的因此将2条路径都放上:
在这里插入图片描述
然后查看4.4.4.4的1类LSA,发现所有的拓扑信息都已经弄完了,实际的拓扑如上图所示。
这时候我们的SPF树已经画完了,该进行计算路由了。
从根节点开始将LSA中路由信息填入
根节点中没有stub信息,因此没有路由信息,我们来看下192.168.13.1:
在这里插入图片描述
代表了一条路由信息,到达192.168.13.1/24,且开销为1

同理192.168.12.1,192.168.34.3,192.168.24.2:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后查看R1的路由表:
在这里插入图片描述
最后发现为什么只有2个条目属于OSPF呢??而我们前面却算出了4条ospf条目,这是因为192.168.12.0网段与192.168.13.0网段除了我们通过OSPF算出来的路由外还有因直连产生的direct路由,对于路由器来说他会选取最优的路由条目,明显直连要比我们的OSPF优,毕竟直连的优先级为0,而我们的OSPF优先级为10,所以查看IP路由表时只能看到24,34网段的OSPF路由且开销为1+0+1+0为2,没错。而12,13网段通过计算得到的OSPF开销为1,但是直连本身开销为0,因此在路由表中显示为直连且开销为0.

发布了8 篇原创文章 · 获赞 7 · 访问量 382

猜你喜欢

转载自blog.csdn.net/network_idiot/article/details/104560324