Cisco OSPF 外部路由记录的路由选择

OSPF 外部路由记录有E1 E2 N1 N2 4种类型。 如果一台路由器同时收到了到达同一目的的这4种路由记录,那么哪条或者哪几条才会被加入路由表呢?


见下图:

OSPF router-id :

R1: 1.1.1.1

R2: 2.2.2.2

R7: 7.7.7.7

R8: 8.8.8.8

R9: 9.9.9.9



第一步:

在 R8 上,使用“redistribute connected” 把Loopback 0接口重发布进OSPF,并设置metric-type 1 (E1) .

在Area 6里面,有2个ABR:R2和 R9 。按规矩办事,7类LSA 转换为5类LSA 的工作由多台ABR中具有

最大router-id的路由器负责, R9 的 router-id比 R2的大,所以这个例子里,LSA 7-》 LSA 5转换以及对

Area 0宣告E1记录的工作 由 R9完成。


好了,现在所有路由器上的OSPF进程全部装载结束了。 R2 收到了2条通往 81.0.0.0这个网络的记录

(因为R2同时是ABR,自己可以学到一条到N1类型的81.0.0.0的记录,另一条到81.0.0.0 的记录是自R9

重发布后宣告的 E1类型LSA 记录)。  这2条路由记录具有相同的度量值,但在R2上show ip ro 却只能

看到一条E1的记录。

 

R2#sh ip ospf database external 81.0.0.0

            OSPF Router with ID (2.2.2.2) (Process ID 10)

                Type-5 AS External Link States

  Routing Bit Set on this LSA
  LS age: 353
  Options: (No TOS-capability, DC)
  LS Type: AS External Link
  Link State ID: 81.0.0.0 (External Network Number )
  Advertising Router: 9.9.9.9
  LS Seq Number: 80000001
  Checksum: 0x51EC
  Length: 36
  Network Mask: /8
        Metric Type: 1 (Comparable directly to link state metric)
        TOS: 0
       Metric: 20
       
Forward Address: 172.30.156.6
        External Route Tag: 0

 

R2#sh ip ospf database nssa-external 81.0.0.0

            OSPF Router with ID (2.2.2.2) (Process ID 10)

                Type-7 AS External Link States (Area 6)

  LS age: 1804
  Options: (No TOS-capability, Type 7/5 translation, DC)
  LS Type: AS External Link
  Link State ID: 81.0.0.0 (External Network Number )
  Advertising Router: 8.8.8.8
  LS Seq Number: 80000001
  Checksum: 0xDA5D
  Length: 36
  Network Mask: /8
        Metric Type: 1 (Comparable directly to link state metric)
        TOS: 0
        Metric: 20
        Forward Address: 172.30.156.6
        External Route Tag: 0

 

O E1 81.0.0.0/8 [110/148] via 172.30.156.10, 00:05:39, Serial0/0.208

 

从这里可以看出,具有相同度量值的2条记录,N1 和 E1 ,  E1的优先级高于N1.


 

第二步:

 

在R7上配置loopback0接口到81.0.0.0子网并重发布进OSPF,激活R2和R7之间的链接(图中蓝色线段表示)。

把R7也丢到OSPF Area6里面.在R9上使用not-advertise命令拒绝掉Type 7 -> Type 5转换。

现在R2 上也学到2条通往81.0.0.0这个子网的路由,一条是R8发布的N1,另一条是R7发布的N1.


 

O N1 81.0.0.0/8 [110/148] via 172.30.156.14, 00:00:07, Serial0/0.207
                [110/148] via 172.30.156.10, 00:00:07, Serial0/0.208

 

R2对这两条N1路由做了负载均衡~~

 


 

总结一下:

 

1) N1和 E1 要优先与N2和 E2  。      N1,E1 > N2,E2

2) 当N1 和  E1 都到达相同目的时 , 具有最小cost/metric的路由才会被加入路由表。

3) 如果N1和E1 都到达相同的目的,并且N1和 E1的开销一样,那么E1会比N1优先加入路由表。

4) 当2条路由都是N1时 , p-bit =1的 优先于 p-bit=0的。(无法验证,思科设备不能改P值***)

5) 当p-bit相同, 又到达相同目的地,则这些路由即负载均衡。

 



***   当p-bit 为1的时候这条才是NSSA.  如果p-bit = 0 , 则这条就是E1了









原文:

Hi Guys,

 

To confirm all the points, i configured a lab with 5 routers R1,R2, R7, R8 and R9 as in the above topology.

 

Step 1:

 

On R8, i redstributed Loopback 0 interface in the OSPF by using "redstibute connected" command with metric-type 1. As, R2 and R9 both are acting as ABR for area 6, the type 7 to type 5 LSA translation will be performed by the router which has higher router id. In this case router 9 has router-id 9.9.9.9 and R2 has 2.2.2.2. So, translation is done by R9 and will advertise the route as E1 in area 0. Now R2 which is acting as ABR has 2 routes for network 81.0.0.0, one as N1 route advertised by R8 and other as E1 route translated by R9. Both have same metric. When i checked routing table on R2, it gave preference to E1 over N1 and put E1 route in the routing table as below:

 

 

R2#sh ip ospf database external 81.0.0.0

            OSPF Router with ID (2.2.2.2) (Process ID 10)

                Type-5 AS External Link States

  Routing Bit Set on this LSA
  LS age: 353
  Options: (No TOS-capability, DC)
  LS Type: AS External Link
  Link State ID: 81.0.0.0 (External Network Number )
  Advertising Router: 9.9.9.9
  LS Seq Number: 80000001
  Checksum: 0x51EC
  Length: 36
  Network Mask: /8
        Metric Type: 1 (Comparable directly to link state metric)
        TOS: 0
       Metric: 20
       
Forward Address: 172.30.156.6
        External Route Tag: 0

 

R2#sh ip ospf database nssa-external 81.0.0.0

            OSPF Router with ID (2.2.2.2) (Process ID 10)

                Type-7 AS External Link States (Area 6)

  LS age: 1804
  Options: (No TOS-capability, Type 7/5 translation, DC)
  LS Type: AS External Link
  Link State ID: 81.0.0.0 (External Network Number )
  Advertising Router: 8.8.8.8
  LS Seq Number: 80000001
  Checksum: 0xDA5D
  Length: 36
  Network Mask: /8
        Metric Type: 1 (Comparable directly to link state metric)
        TOS: 0
        Metric: 20
        Forward Address: 172.30.156.6
        External Route Tag: 0

 

O E1 81.0.0.0/8 [110/148] via 172.30.156.10, 00:05:39, Serial0/0.208

 

We can see the metric and forwarding address is same for nssa-external and external and preference has been given to the E1 as expected.

 

Step 2:

 

Then I configured the same network 81.0.0.0 as loopback 0 on router 7 also and redstributed that in OSPF. Then i activated the link b/w R2 and R7 as shown in blue in the topology and put that also in area 6 and i stopped R9 from doing translation from R7 to R5 by using not-advertise command. Now, R2 has 2 routes to network 81.0.0.0, both are N1, one advertised by R8 and other by R7 and got output as expected:

 

O N1 81.0.0.0/8 [110/148] via 172.30.156.14, 00:00:07, Serial0/0.207
                [110/148] via 172.30.156.10, 00:00:07, Serial0/0.208

 

R2 load balanced the link and used both the routes.

 

 

So, what could i undersatnd from all this is:

 

Final Summary:

 

1) N1 and E1 will be prefered over N2 and E2

2) When N1 & E1 have the same route to the destination, The one that have lower cost / Metric will win and get into the route table

3) If both N1 & E1 have the same cost, E1 will be prefered over N1 whatever the value of P is?

4) If both routes are N1, the route with p=1 will be prefered over p=0

5) If value of P is also same , then routes will be load balanced and both will be used.

 

Point 4, i have marked in red because i could not confirm this and not sure about it. Whenever we redstribute a network in NSSA, value of P is set to 1 automatically. I tried but did not find any command to change the value to 0. Could you please tell me the command to change value of P.




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值