区域内:依靠SPF算法防环,依靠LSA1和LSA2,经过SPF算法计算去往每一个网段的最优路径;算法
区域间:全部区域都必须与骨干区域链接,区域间路由需经由骨干区域中转;ide
区域间水平分割原则,参考https://blog.51cto.com/xxy12345/2559508oop
区域外:LSA5的访问依赖LSA4spa
Area 0被Area1分割,AR3与AR6创建vlink,AR1的loopback ip为1.1.1.1,AR7为7.7.7.7,其余类推。翻译
AR7的loopbackip经过network发布,AR1的loopbackip同理设计
area 0.0.0.0router
network 7.7.7.7 0.0.0.0blog
AR3与AR6作了Vlink,这样双边的Area0就链接起来了。AR1能够学到AR7的路由,AR7也能够学到AR1的路由。接口
AR1的1.1.1.1访问AR7的7.7.7.7ip
1. 由于AR3是ABR,所以AR1访问7.7.7.7的下一跳为AR3,(由于7.7.7.7是Area0的LSA,所以不走AR2)
2. AR3与AR6作了Vlink,但数据走向并不必定走Vlink,AR3是ABR,它有Area0(R1和R7所在的Area0)和传输区域Area1的所有LSA,因此计算路径时会都考虑Area0和Area1里的LSA,R5通告的LSA(7.7.7.7)cost是1,R6通告的cost是10,所以接受R5的,去R5走R4最近。
3. R4选择区域间路由选择COST最小下一跳R5
4. R5根据Area0的LSA1选择直连R7的下一跳。
5. 所以,AR1(1.1.1.1)访问AR7(7.7.7.7)的路径AR1--AR3--AR4--AR5--AR7.
AR7(7.7.7.7)访问AR1(1.1.1.1)
1. 由于AR6是ABR,经过Vlink学到1.1.1.1/32的Area0的LSA1,所以R7去往1.1.1.1走AR6(注:AR5访问1.1.1.1也走R7,再走AR6)
2. AR6根据传输区域Area1里的cost分析,走cost最小的AR5
3. AR5是ABR,可是没有vlink,AR1(1.1.1.1/32)是骨干区域Area0的路由,访问走骨干区域Area0,所以下一跳给AR7,造成环路。
4. AR7-->AR1的路径AR7--AR6--AR5--AR7,造成环路。
1. Vlink设计不当会造成环路。
2. ABR会忽略从非骨干区域收到的LSA3/4,他只会放入Database中而不会被加入SPF算法。在vlink状况下,使用Area0中的置V的路由器做为访问其余非直连区域的出口,但若是ABR是Vlink的端点,则能够根据Area1中的LSA3计算到骨干区域的路由,即Area0以置V的路由器做为出口,而置V路由器自己能够按照非骨干区域的LSA3计算到骨干区域的路由。
3. Vlink表明控制平面,数据平面不必定通过Vlink,数据平面和控制平面是分开的。
设备AR1的loop0地址为1.1.1.1,其余设备类推。
设备AR1的loop0地址经过network发布
设备AR1的loop1地址为100.100.100.100,经过import direct发布,模拟NSSA引入外部路由。
Area1 为NSSA区域。
1. 在NSSA区域中,AR2和AR3都为ABR,同时也是ASBR,R3的router id大,所以由R3进行LSA7/5翻译。
2. AR2收到Area1的LSA7(100.100.100.100),收到Area0的LSA5(100.100.100.100),根据LSA5(FA=1.1.1.1,cost-type=2,cost=1,advrtr=3.3.3.3)和LSA7(FA=1.1.1.1,cost-type=2,cost=1,advrtr=1.1.1.1)的比较,根据选路规则,外部成本一致(cost=1)的状况下比对内部成本,LSA5的内部成本是AR2去往FA通过Area0的路径成本,LSA7的内部成本是AR2去往FA通过Area1的路径成本。从图中能够看出,LSA7优于LSA5。所以路由的下一跳为10.10.12.1(AR1的接口IP)。
3. 同理AR4收到LSA5 LSA5(FA=1.1.1.1,cost-type=2,cost=1,advrtr=3.3.3.3),AR4上FA地址的下一跳是AR2(LSA3学到),所以AR4访问100.100.100.100的路径为AR4-->AR2-->AR1.
若是有要求Area0访问外部路由只能通过AR3,出了经过修改Cost外,还能够经过在AR3上进行7/5时抑制FA地址。nssa suppress-forwarding-address,该命令将7/5后的FA地址设置为0.0.0.0.
1. 那么如今在R2上LSA对好比下:
LSA5(FA=0.0.0.0,cost-type=2,cost=1,advrtr=3.3.3.3)
LSA7(FA=1.1.1.1,cost-type=2,cost=1,advrtr=1.1.1.1)
根据选路规则,外部成本一致(cost=1)的状况下比对内部成本,LSA5的FA为0.0.0.0,所以内部成本是AR2去往advrtr=3.3.3.3的成本,cost=1,LSA7的内部成本是AR2去往FA通过Area1的路径成本cost=10,所以选择LSA5路由,使用Area0转发,所以下一跳为AR4。
2. AR4去往100.100.100.100的下一跳为AR3(LSA5学到),AR3的下一跳为AR2(LSA7),AR2的下一跳又为AR4,造成环路。
1. OSPF 区域内是无环的,
2. 区域间如果LSA3路由,能够经过区域结构和水平分割来避免环路(固然也要考虑vlink环路状况)
3.如果LSA5/7路由,则经过FA路由来避免环路,但FA地址可能会在传递过程当中被修改,丢失原始路径信息,则可能致使环路。