本帖最后由 山东_朱文鑫 于 2022-10-21 10:28 编辑
大家好,我是打败,天行健,君子以自强不息。优质的帖子也在尽力中提供,也希望各位道友多多支持,让我引劫渡劫成功哈哈哈。
大白队口号就是:砸锅卖铁我最行,拼死拼活就要赢!!!!!!!!!!!!
今天继续完成OSPF的知识分享,今天分享的是开放式最短路径优先OSPF(Open Shortest Path First)区域间路由&NSSA案例详解集锦分享第二部,本次OSPF的区域间路由案例集锦还是比较有学习的价值,建议没有完成OSPF基础篇的小伙伴完成基础篇再进行区域间路由案例的学习会更加容易理解。
案例6:对比案例,特点分别是“一个非骨干区域被分段;一个骨干区域被分段”
(1)拓扑—“非骨干区域被分段”
观察R1的LSDB,发现:R1的LSDB中的3类LSA有2个,分别是LS ID=23.1.1.0和LS ID=34.1.1.0。
分析:“R1的LSDB中存在LS ID=34.1.1.0的3类LSA”这一实际情况,似乎与常理相违背,这个常理就是“区域内路由器的LSDB的3类LSA中不会有本区域的”。但其实不然,因为区域1是分段区域,且每个分段区域都有一个ABR,所以可以认为这是两个不同的区域。所以并不违背这一常理。
(2)拓扑—“骨干区域被分段”
观察R2的LSDB,发现:因为R2是ABR,同时属于区域1和区域0,所以R2维护两个LSDB,分别是区域0-LSDB和区域1-LSDB。区域1-LSDB中的3类LSA有两个,LS ID=12.1.1.0和LS ID=34.1.1.0;区域0-LSDB中的3类LSA有1个,LS ID=23.1.1.0。
观察R1的LSDB,发现:R1是区域0的内部路由器,其LSDB与R2的区域0-LSDB是一致的,即3类LSA有1个,LS ID=23.1.1.0。
分析----为什么左边区域0的LSDB中没有LS ID=34.1.1.0这一3类LSA?
理解1:R3通告LS ID=34.1.1.0的3类LSA给区域1,根据“ABR不会计算从非骨干区域接收到的3类LSA”这一规则,R2只是接收到了这个3类LSA,但R2本身并有重新生成LS ID=34.1.1.0的3类LSA,也就不会通告出去。所以左边区域0的LSDB中没有LS ID=34.1.1.0这一3类LSA。
理解2:区域0被分段了,相当于是两个OSPF域网络,左边区域0和区域1组成了一个OSPF域网络,右边区域0和区域1组成了另外一个OSPF域网络,这两个OSPF域网络有一个共同的区域1。所以左边区域0的LSDB的3类LSA中没有右边区域0的,同样右边区域0的LSDB的3类LSA中也没有左边区域0的,而区域1因为同属于两个OSPF域网络,所以区域1的LSDB的3类LSA中有左边区域0和右边区域0的。
理解1、理解2哪个准确?个人倾向于理解2更准确。
总结—熟记:
如果一个非骨干区域被分段,并且在每个分段区域都有一个ABR,那么这个网络不会产生通信问题。只不过分段区域之间的通信变成了域间通信,可以看作是变成了两个不同的区域。
如果一个骨干区域被分段,就会产生通信问题。相当于变成了多个骨干区域,一个OSPF域网络也就被分隔成了多个OSPF域网络。(本例中相当于两个OSPF域网络有共同的一个区域1,在正常网络设计中是不允许的)
一个好的网络设计,应该通过冗余等设计尽量避免因外因导致区域被分段,不论是骨干区域还是非骨干区域。
案例7:对比案例,特点分别是“一个没有配置虚链接;另一个,R1与R2通过区域3建立了虚链接”。
(1)“未配置虚链接”案例研究
①OSPF邻接关系
观察R1、R2、R3的OSPF邻接关系(dis ospf p b),发现:
R1:有3对邻接关系,R1的S1/0/0接口和R2的S1/0/1接口,R1的G0/0/1接口和R2的G0/0/1接口,R1的G0/0/1接口和R3的G0/0/1接口。
R2:有3对邻接关系,R2的S1/0/1接口和R1的S1/0/0接口,R2的G0/0/1接口和R1的G0/0/1接口,R2的G0/0/1接口和R3的G0/0/01接口。
R3:有2对邻接关系,R3的G0/0/1接口和R1的G0/0/1接口,R3的G0/0/1接口和R2的G0/0/1接口。
总结:OSPF的邻接关系是以接口为基准的,而不是路由器。
②R1的路由表
观察R1的路由表,发现:192.168.1.0/24这一路由条目的下一跳是12.1.1.2,而不是123.1.1.2。为什么?
因为“ABR不会计算从非骨干区域接收到的3类LSA(会接收LSA,但不会计算路由)”这一规定。具体解释如下:R2产生3类LSA“LSID=192.168.1.0”,并将该3类LSA分别发送到区域0和区域3。根据上述规定,R1接收到从区域0传来的该3类LSA后会进行路由计算,从而得出路由条目(目的:192.168.1.0/24;下一跳:12.1.1.2;COST:49);R1接收到从区域3传来的该3类LSA后不进行路由计算,所以不会产生该3类LSA对应的路由条目。因此,192.168.1.0/24这一路由条目的下一跳是12.1.1.2,而不是123.1.1.2。
③3类LSA
通过R1、R2、R3,观察各区域的LSDB中3类LSA的情况(dis ospf lsdb summary),发现:
R2:
区域0------
LSID advRouter Meric
123.1.1.0 123.1.1.1 1
123.1.1.0 123.1.1.2 1
192.168.1.0 123.1.1.2 1
区域3------
LSID advRouter Meric
12.1.1.0 123.1.1.1 48
192.168.1.0 123.1.1.1 49
12.1.1.0 123.1.1.2 48
192.168.1.0 123.1.1.2 1
区域2------
LSID advRouter Meric
12.1.1.0 123.1.1.2 48
123.1.1.0 123.1.1.2 1
根据3类LSA的传递特性,我们可以解释上述各区域LSDB中的3类LSA情况。比如,为什么区域0的LSDB中没有这么一条3类LSA“LSID=192.168.1.0 advRouter=123.1.1.1”?因为,该3类LSA由R2产生,从区域2传递到区域0,然后再由R1和R2传递到区域3,但根据“水平分割不传回”特性,该3类LSA不会再传回区域0,所以区域0的LSDB中没有R1通告的3类LSA LSID=192.168.1.0。
(2)“配置虚链接”案例研究
①OSPF邻接关系
观察R1、R2、R3的OSPF邻接关系(dis ospf p b),发现:
R1:有3对邻接关系,R1的S1/0/0接口和R2的S1/0/1接口,R1的G0/0/1接口和R2的G0/0/1接口,R1的G0/0/1接口和R3的G0/0/1接口。
R2:有3对邻接关系,R2的S1/0/1接口和R1的S1/0/0接口,R2的G0/0/1接口和R1的G0/0/1接口,R2的G0/0/1接口和R3的G0/0/01接口。
R3:有2对邻接关系,R3的G0/0/1接口和R1的G0/0/1接口,R3的G0/0/1接口和R2的G0/0/1接口。
总结:配置虚连接后,路由器间的邻接关系没有变化。
②R1的路由表
观察R1的路由表,发现:192.168.1.0/24这一路由条目的下一跳是123.1.1.2,而不是12.1.1.2。为什么?
建立虚链接之前:R2产生3类LSA“LSID=192.168.1.0”,并将该3类LSA分别发送到区域0和区域3。根据规定“ABR不会计算从非骨干区域接收到的3类LSA(会接收LSA,但不计算路由)”,所以,R1接收到从区域0传来的该3类LSA后会进行路由计算,从而得出路由条目(目的:192.168.1.0/24;下一跳:12.1.1.2; COST:49);R1接收到从区域3传来的该3类LSA后不进行路由计算,所以不会产生该3类LSA对应的路由条目。因此,192.168.1.0/24这一路由条目的下一跳是12.1.1.2,而不是123.1.1.2。
建立虚链接之后:同样,R2会产生3类LSA“LSID=192.168.1.0 ”,并将该3类LSA分别发送到区域0和区域3。R1接收到从区域0传来的该3类LSA后会进行路由计算,从而得出路由条目A(目的:192.168.1.0/24;下一跳:12.1.1.2;COST:49);R1接收到从区域3传来的该3类LSA后,会进行分析,因为R1与R2建立了虚连接,而逻辑上虚链接是属于区域0的,所以R1是从区域0收到的该3类LSA,因此,R1会对该3类LSA进行路由计算,从而得出路由条目B(目的:192.168.1.0/24;下一跳:123.1.1.2;COST:2)。比较路由条目A和B,路由条目B花费更小,所以路由条目B被优选进IP路由表中。因此,192.168.1.0/24这一路由条目的下一跳是123.1.1.2,而不是12.1.1.2。
联想1-----------------------------
本案例,也可以这样提问“正常情况下,R1中192.168.1.0/24这一路由条目的下一跳是12.1.1.2,但很明显,这并不是最优路由,最优路由的下一跳是123.1.1.2。为什么R1路由表中该路由条目的下一跳是12.1.1.2,而不是123.1.1.2?如何使R1中192.168.1.0/24这一路由条目的下一跳是123.1.1.2?”。
因为“ABR不会计算从非骨干区域接收到的3类LSA(会接收LSA,但不计算路由)”,所以,R1从区域3接收到R2发来的“LSID=192.168.1.0”的3类LSA后,不会计算相应路由,因此R1去往192.168.1.0的数据的下一跳不是123.1.1.2,而是12.1.1.2。
我们可以在R1和R2之间建立虚链接,Transit区域是area 3,这样配置后,R1中192.168.1.0/24这一路由条目的下一跳就是123.1.1.2了。具体原因上面有详细分析(关键就是虚连接是属于区域0的)。
③3类LSA
观察R1、R2、R3的LSDB中3类LSA的情况(dis ospf lsdb summary),发现(因为LSDB是基于区域的,而R2正好属于区域0、区域2和区域3,所以从R2的LSDB就可以看出整个OSPF域的LSDB情况):
R2:
区域0------ LSID advRouter Meric 123.1.1.0 123.1.1.1 1 123.1.1.0 123.1.1.2 1 192.168.1.0 123.1.1.2 1
区域3------ LSID advRouter Meric 12.1.1.0 123.1.1.1 48 12.1.1.0 123.1.1.2 48 192.168.1.0 123.1.1.2 1
区域2------ LSID advRouter Meric 12.1.1.0 123.1.1.2 48 123.1.1.0 123.1.1.2 1
分析研究1:为什么区域0-LSDB的3类LSA中没有“LSID=192.168.1.0 advRouter=123.1.1.1”的3类LSA??
建立虚链接前,区域0-LSDB的3类LSA中没有“LSID=192.168.1.0 advRouter=123.1.1.1”的3类LSA是因为,该3类LSA由R2产生,从区域2传递到区域0,然后再由R1和R2传递到区域3,但根据“水平分割不传回”特性,该3类LSA不会再传回区域0,所以区域0的LSDB中没有R1通告的3类LSA LSID=192.168.1.0。
建立虚链接后,不知道原因。
分析研究2:与配置虚连接前相比,区域3的3类LSA只有3个,少了一个“LSID=192.168.1.0 advRouter=123.1.1.1 Metric=49”,为什么?(下述解释太牵强)------------疑问
建立虚链接后,R2会产生3类LSA“LSID=192.168.1.0 ”,并将该3类LSA分别发送到区域0和区域3。R1接收到从区域0传来的该3类LSA后会进行路由计算,从而得出路由条目A(目的:192.168.1.0/24;下一跳:12.1.1.2;COST:49);R1接收到从区域3传来的该3类LSA后,会进行分析,因为R1与R2建立了虚连接,而虚链接是属于区域0的,所以从逻辑上说R1是从区域0收到的该3类LSA,因此,R1会对该3类LSA进行路由计算,从而得出路由条目B(目的:192.168.1.0/24;下一跳:123.1.1.2;COST:2)。比较路由条目A和B,路由条目B花费更小,所以路由条目B被优选进IP路由表中。因此,R1会产生“LSID=192.168.1.0 advRouter=123.1.1.1 Metric=2”的3类LSA,而不会产生“LSID=192.168.1.0 advRouter=123.1.1.1 Metric=49”的3类LSA。又因为虚链接的Transit区域是区域3,所以“LSID=192.168.1.0 advRouter=123.1.1.1 Metric=2”的3类LSA实际上是R2通过区域3发布给区域0的,根据水平分隔原则,该3类LSA不会传递回区域3。因此R1不会向区域3传递“LSID=192.168.1.0”的3类LSA。因此区域3中3类LSA只有如上所示的3个。
猜测1:3类LSA是根据ABR的路由表中的路由条目得来的。
延伸扩展&实验观察---------------------
(1)配置虚连接前,在R2的G0/0/1接口(123.1.1.2)抓包,观察LSU中3类LSA的情况,发现(实际启动顺序:R2、R3先成功启动,R1约5分钟后才启动成功。R3是DR,R2是BDR): R2(123.1.1.2)->224.0.0.5 3类LSA 12.1.1.0 48(R2) 192.168.1.0 1 (R2)
R3(123.1.1.3)->224.0.0.5 3类LSA 12.1.1.0 48(R1) 192.168.1.0 49(R1)
R1(123.1.1.1)->R2(123.1.1.2) 3类LSA 12.1.1.0 48(R2) 192.168.1.0 1 (R2)
分析发现:R1和R2传递给区域3的3类LSA有4个,
LSID advRouter Meric 12.1.1.0 123.1.1.1 48 192.168.1.0 123.1.1.1 49 12.1.1.0 123.1.1.2 48 192.168.1.0 123.1.1.2 1
(2)配置虚连接后,在R2的G0/0/1接口(123.1.1.2)抓包,观察LSU中3类LSA的情况,发现(实际启动顺序:R1、R3向成功启动,R2紧跟着启动成功。R3是DR,R1是BDR):
R1(123.1.1.1)->R2(123.1.1.2) 3类LSA 12.1.1.0 48(R1) 192.168.1.0 49(R1)
R2(123.1.1.2)->R1(123.1.1.1) 3类LSA 12.1.1.0 48(R2) 192.168.1.0 1 (R2)
R2(123.1.1.2)->R3(123.1.1.3) 3类LSA 12.1.1.0 48(R2) 192.168.1.0 1 (R2)
R3(123.1.1.3)->224.0.0.5 3类LSA 12.1.1.0 48(R2) 192.168.1.0 1 (R2)
R1(123.1.1.1)->224.0.0.5 3类LSA 192.168.1.0 49(R1)
分析发现:R1和R2传递给区域3的3类LSA也有4个,
LSID advRouter Meric 192.168.1.0 123.1.1.1 49 12.1.1.0 123.1.1.1 48 12.1.1.0 123.1.1.2 48 192.168.1.0 123.1.1.2 1
NSSA特殊区域案例:
结合实验X,观察分析:
(1)R1中,LSID=1.0.0.0的7类LSA中,FA字段的取值是什么?
在R1的LSDB中,有5个7类LSA,分别是三个直连网段和2个ABR始发的缺省7类LSA。其中,LSID=1.0.0.0的7类LSA的FA的取值为12.1.1.1(ASBR),代表了去往1.0.0.0网络的数据包将被转发到ASBR上。
比较:若该区域是普通区域,则1.0.0.0这一外部路由会通过一个5类LSA描述,其FA取值为0.0.0.0,代表了去往1.0.0.0网络的数据包将被转发到始发该5类LSA的路由器上。
(2)哪个ABR负责将7类LSA转换成5类LSA并发布到其它区域?
区域1是NSSA区域,ABR有两个,分别是R2和R5,因为R5的RID较大,所以R5负责将7类LSA转换成5类LSA并发布到其它区域。
(3)以LSID=1.0.0.0的7类LSA为例,R5将该7类LSA转换成5类LSA的过程中,FA的取值如何变化?
实验观察发现,FA的取值没有变化,依然为12.1.1.1。说明去往1.0.0.0的数据包将被转发到ASBR(12.1.1.1)上。
为什么7转5后,FA的值依然为12.1.1.1,而不是0.0.0.0??
因为FA是指到达目的地的数据包应该被转发到的地址,或者说最优转发点,最优的对外出口。本案例中,是在R1上做的引入AS外部路由,去往1.0.0.0的数据包最终通过R1转发出去,所以FA的值是R1上的某IP地址,这里为12.1.1.1(为什么是12.1.1.1,而不是R1其它的IP地址?FA的取值优先是loopback接口,其次是最先配置的物理接口的IP)。如果FA=0.0.0.0,那么数据包将会被转发到始发该5类LSA的路由器上。本案例中,始发该5类LSA的路由器是R5,R5并不是对外的出口,所以FA的值不能是0.0.0.0。
从另一个角度分析,R5将7类LSA转为5类LSA后,假设FA=0.0.0.0,那么R3会将去往1.0.0.0/24的数据发往R5(规则:如果FA为0,则将数据转发到始发该5类LSA的路由器),进而到达R1转发出去。但是这有可能不是最优路径(比如本例,经R2转发到R1才是最优路径)。这明显违背了FA的定义,所以7转5后,FA的取值保持不变。
(4)R3是区域0和区域2的ABR。当R3接收到LSID=1.0.0.0的5类LSA时,会泛洪该5类LSA到区域2,同时生成一个4类LSA泛洪到区域2。该4类LSA的LSID是什么?R1的RID还是R5的RID?
该4类LSA的LSID是R5的RID。从之前的知识点中我们知道,4类LSA描述的是去往ASBR的路由,但更确切的说4类LSA描述的是去往对应5类LSA的始发路由器的路由。
(5)作为ABR,R3的LSDB中有2个4类LSA,始发路由器为R3,发布到区域2。
疑问:为什么会有2个4类LSA,一个LSID是R5的RID,另外一个LSID是R2的RID??????????
(6)R4上去往1.0.0.0的数据包最终会被R1转发,数据包到R3后,R3上去往1.0.0.0的数据包会走哪一条路径?为什么?
观察发现,会走“R3-R2-R1的12.1.1.1”路径。为什么不走“R3-R5-R1”?因为FA=12.1.1.1,是R1上g0口的IP地址,走“R3-R2-R1的12.1.1.1”花费更小。所以R3上1.0.0.0的路由的下一跳是23.1.1.2。(疑问:为什么R3-R2-R1的12.1.1.1比R3-R5-R1的12.1.1.1的花费小??)
如果R1配置了一个环回接口loopback1,IP=11.1.1.1,那么R3上该5类LSA的FA=11.1.1.1,“R3-R2-R1的11.1.1.1”和“R3-R5-R1的11.1.1.1”两条路径的花费相同,所以R3上1.0.0.0的路由的下一跳是23.1.1.2和35.1.1.5,负载均衡。
(7)观察每个路由器的5类、7类LSA,发现:
R1:存在5个7类LSA,其中3个直连网络的7类LSA是本地R1始发的;没有5类LSA和4类LSA。
R2:与R1存在同样的5个7类LSA,其中1个默认7类LSA是本地R2始发的;有1个5类LSA,是R5始发的;没有4类LSA。
R5:与R1存在同样的5个7类LSA,其中1个默认7类LSA是本地R5始发的;与R2存在同样的1个5类LSA,该LSA是7类LSA转换成的,是本地R5始发的,该5类LSA的FA=12.1.1.1;没有4类LSA。
R3:没有7类LSA;存在1个5类LSA,与R2、R5上的相同;存在2个4类LSA,都是R3始发的,其中1个的LSID是R2的RID,另一个的LSID是R5的RID。(为什么会产生1个LSID是R2的RID的4类LSA?)
R4:没有7类LSA;存在1个5类LSA,与R2、R5、R3上的相同;存在2个4类LSA,与R3上的相同。
以上就是本次的OSPF(Open Shortest Path First)区域间路由&NSSA案例详解集锦分享第二部,知识点也是比较多,案例集锦分享完成,感谢大佬们的参阅,此贴先到这里后续会带上更加实用的帖子,感谢大家!
励志分享超清壁纸语句~~:
先天下之忧而忧,后天下之乐而乐。——范仲淹
好的今天就到这里,老样子,感谢各位大神的参阅,孩子为了挣豆子不容易,孩子家里穷没豆子吃饭了!!!
|