前文我们了解了OSPF的一类、二类、三类LSA,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15209829.html;今天我们来聊一聊OSPF的四类和五类LSA;
在说四类和五类LSA之前,我们先来说一说ospf中外部路由引入;所谓路由引入是指原本不属于ospf进程的路由,通过注入的方式,让其ospf进程能够学习到相关路由;我们把引入外部路由的路由器叫ASBR(自制系统边界路由器);
提示:如上图所示,A公司内部跑ospf,RTA上配置了一条静态路由,目标网络是达到B公司的网络10.1.60.0/24,下一跳是B公司的路由器RTF;对于A公司来说,除RTA的其他路由器要想和B公司网络通信,该怎么办呢?我们知道不同网段的主机通信,最基础的就是要有对应的路由;而配置路由的方式有两种,一种是静态配置;但静态配置这种方式太low,而且效率低下容易出错;第二种方式就是动态学习;对于动态学习来说,我们怎么将到达B公司的静态路由引入到ospf中呢?此时我们可以在RTA的OSPF进程下使用import-router static命令将RTA上的静态路由引入到ospf中,让其他OSPF路由器能够学习到;
实验:如下拓扑,配置ospf
提示:对于R3来说,lo3并不在ospf进程中宣告;我们通过导入的方式R1和R2能够学习到3.3.3.3的路由;
R1的配置
sys sys R1 int g0/0/0 ip add 12.0.0.1 24 ospf 1 router-id 1.1.1.1 area 0 net 12.0.0.0 0.0.0.255
R2的配置
sys sys R2 int g0/0/0 ip add 12.0.0.2 24 int g0/0/1 ip add 23.0.0.2 24 ospf 1 router-id 2.2.2.2 area 0 net 12.0.0.0 0.0.0.255 area 1 net 23.0.0.0 0.0.0.255
R3的配置
sys sys R3 int g0/0/0 ip add 23.0.0.3 24 int lo 3 ip add 3.3.3.3 32 ospf 1 router-id 3.3.3.3 area 1 net 23.0.0.0 0.0.0.255
在R1上查看ospf路由表
提示:可以看到R1上没有到达3.3.3.3的路由;此时如果R1要想和3.3.3.3通讯,除了写静态路由外,我们也可以将R3上的直连路由导入到ospf中;
在R3上导入直连路由至ospf中
提示:我们在R3的ospf进程下使用import-route dir命令就直接将R3的直连路由导入到ospf中,此时对于R1和R2来说就能通过ospf学习到到达3.3.3.3的路由;
验证:在R1或R2上查看ospf路由表,看看是否学习到3.3.3.3的路由呢?
提示:可以看到此时R1和R2都学习到了对应到达3.3.3.3的路由;从上面的显示可以看到对于3.3.3.3这条路由来讲,并不是原生ospf中的路由,而是通过导入的方式学习到的,所以它这里直接告诉我们3.3.3.3是外部路由(ase);
在R1上抓包,看看对应LSA内容
提示:我们在R1上抓包,抓到了2个LSA,其类型为AS-External-LAS;该LSA描述了目标网段,宣告者以及掩码;感觉和3类LSA没有区别;其实该LSA本质上和3类LSA没有什么不同,作用都是传递路由,不同的是,三类LSA产生者是ABR,从一个区域到另一个区域,对应ABR会将对应LSA的宣告者进行修改;而5类LSA的产生者是ASBR,从一个区域到另一个区域对应宣告者并不会变化,即五类LSA的泛洪范围是整个AS内部;那么问题来了,对于不是和ASBR同区域的路由器怎么知道ASBR呢?如上图,R1和R3不再同一个区域,那么R1怎么知道R3的呢?
提示:我们在R1上除了抓到了五类LSA,还抓到了上图中LSA类型为ASBR-summary-LSA的LSA;其中宣告者是R2,内容就是描述了R3的router id;其实该LSA的作用很简单,我们上面描述了和ASBR不在同区域的其他区域路由器光凭五类LSA并不能找到ASBR;而4类LSA的作用就是辅助和asbr不在同区域的其他路由器找到ASBR;当ospf路由器收到此类LSA,它会把对应从ASBR学习到的路由,下一跳指向4类LSA宣告者;这样一来对于和ASBR不在同区域的其他路由器就能知道怎么去找到ASBR;简单讲五类LSA就是在整个as内部传播,其宣告者为ASBR;作用就是描述外部路由信息;4类LSA的作用是辅助和ASBR不在同一区域的其他路由找到ASBR;其宣告者为ABR;传播范围是ABR所连接的区域(除ASBR所在区域);
在R3上抓包,看看是否有4类lsa产生?
提示:可以看到在R3上抓包并没有4类LSA产生,其原因是R3就是ASBR;其实和R3 在同一区域的其他路由器也不会抓到4类LSA,因为对于和ASBR在同区域的路由器,可以根据一类LSA就能找到对应ASBR,根本用不到4类LSA的辅助;这里还需要注意一点,五类LSA和3类LSA一样,一条LSA只能描述一条网段的路由,所以有多少外部路由引入,对应就会有几条5类LSA;
在R1上查看lsdb
在R2上查看发送的4类LSA内容
提示:lsid用于描述ASBR的router id;adv rtr 用于描述产生4类LSA的abr的router id;
在R3上查看自己发送的五类LSA
提示:五类LSA中lsid是用来描述对应目标网络地址,adv rtr用来描述ASBR的router id,net mask用来描述对应目标网络的子网掩码;
总结:4类和5类LSA只会有外部路由引入时才会产生,其中5类LSA是由asbr产生,传播范围是整个AS(宣告者不会发生变化);其作用是描述外部路由信息,一条LSA只能描述一个网段的路由;对于4类LSA来说,它是由abr产生,传播范围是abr所在区域(除asbr所在区域),当其他区域ABR收到4类LSA时,对应ABR会像3类LSA一样处理,修改宣告者,然后再向对应区域泛洪;4类LSA的作用是描述怎样能找到ASBR,4类LSA只会产生在非asbr所在区域;