上篇我们讲到了OSPF通过交互不同的LSA(链路状态数据),最终形成LSDB(链路状态数据库)而后采用SPF算法来计算路由。那么到底有哪些LSA呢?每一种LSA又起到什么样的作用呢?
我们先来看一下常见的LSA类型:如图所示
以上就是我们在HCIP阶段常见的LSA类型。
1.Router LSA (路由器LSA)通常也称为1类LSA ,先看一下描述:每个设备都会产生,描述了设备的链路状态和开销,该LSA只能在接口所属的区域内泛洪。此处我们将以实验的形式来做说明,实验topu如下图所示:
建议可以将实验环境搭建出来,方便查看喔。
首先看一下AR1的配置,下图为接口IP地址配置:
下图为OSPF基础配置:
通过配置发现我们将Ethernet0/0/0.thernet0/0/1以及LoopBack 0 通告到了骨干区域(区域0) GigabitEthernet0/0/0口通告到了区域1。
了解到这些信息后,我们在来看1类LSA所描述的内容:每个设备都会产生,描述了设备的链路状态和开销,该LSA只能在接口所属的区域内泛洪。从上面的描述来看,这个时候AR1就会产生1类LSA,用来描述自身链路状态和开销。如下图所示(只需关注红色方框里面这一项就可以)
Type 项 表示LSA的类型 LinkState ID :与LSA中的LS Type和LSA description一起在路由域中描述一个LSA
AdvRouter 表示产生此条LSA的设备router id Age(链路状态老化时间):此字段表示LSA已经生存的时间,单位是秒。
Len:是一个包含LSA头部在内的LSA的总长度值 LS Sequence Number(链路状态序列号):当LSA每次有新的实例产生时,序列号就会增加。
如果大家有仔细看上面的LSDB表,那么不难发现我们上面看到的表项显示的仅为区域0的LSDB表,实际上通过图中命令我们应该可以看到不同区域的LSA。
那么这条1类LSA具体包含了哪些东西呢?是不是包含了全部的接口的信息呢?毕竟我们现在只看到了AR1产生了一条Router LSA 。
下图为我们查看的AR1设备自己产生的1类LSA
通过上图应该不难发现实际上AR1在区域1和区域0都有产生1类LSA , 通过观察可以看到区域0中的LSA只描述了三个接口的信息分别为:Ethernet0/0/0.thernet0/0/1以及LoopBack 0
区域1中的LSA则只描述了GigabitEthernet0/0/0的链路状态和接口信息。观察完这些信息,我想大家应该是能够理解router lsa的描述信息了吧(每个设备都会产生,描述了设备的链路状态和开销,该LSA只能在接口所属的区域内泛洪),依此内推,那么在区域1中我们应该可以看到AR1-4所产生的总计四条1类LSA(图中还有一条6.6.6.6产生的1类LSA,此处因为有虚链接。此处大家可以自行去观察一下这条LSA的具体信息。)
1类LSA详解:
到此如果大家能够理解 ,那么接下来要看的2类LSA就更好理解了。
Network LSA(2类LSA) :由DR产生,描述本网段的链路状态,在所属的区域内传播。
Network LSA 记录了该网段内所有与DR建立了邻接关系的OSPF路由器,同时携带了该网段的网络掩码。
通过上面的内容,我们解决了OSPF单区域的路由所需要的信息,但是无论是1类还是2类LSA都只能在接口所属的区域里面泛洪,那么也就带表着,我们没有信息去计算到达其他区域的路由。那么这个时候就有了3类LSA。OSPF区域间路由信息传递是通过ABR产生的Network Summary LSA(3类LSA)实现的。
大家可以看到3类LSA所携带的信息很简单,就是路由信息,这里是不是有点距离矢量路由协议的味道呢?