为什么ospf引入的一些静态路由,在ospf lsdb中可以查看到,但是在ospf routering 中查看不到,为什么呢?

2024-11-28 02:27:23
推荐回答(2个)
回答1:

假设这不是一个马虎的简单问题。

你的意思应该是类型5的lsa装数据库,但不装路由表的问题。有种情况是类型5lsa的forwarding address不可达。

简单例子:

正常情况,R1会学到30.3.3.3/32的OE2并装表。

R1#sh ip os database external 

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

                Type-5 AS External Link States

  LS age: 134

  Options: (No TOS-capability, DC)

  LS Type: AS External Link

  Link State ID: 30.3.3.3 (External Network Number )

  Advertising Router: 2.2.2.2

  LS Seq Number: 80000001

  Checksum: 0x570E

  Length: 36

  Network Mask: /32

        Metric Type: 2 (Larger than any link state path)

        TOS: 0 

        Metric: 20 

        Forward Address: 3.3.3.3                    这是关键!!!!!!

        External Route Tag: 0

 

 

可见它的Forward Address: 3.3.3.3。我们通过过滤,让R1学不到3.3.3.3,也就是令3.3.3.3不可达,此时,数据库中有30.3.3.3,但不装路由表。

 

Forward Address的作用就是指出此lsa的真实始发路由器。以上面例子,30.3.3.3因为在R2上7切5,进入骨干区域,它的“Advertising Router: 2.2.2.2”,但实际最初产生它的是R3,通过Forward Address来标记。

 

为了避免此类问题,可以

R2(config-router)#area 1 nssa translate type7 suppress-fa

之后R1再看,30.3.3.3的Forward Address变为0.0.0.0,当然装路由表了。

 

 

回答2:

ospf routing table中显示的是通过ospf学习并计算出来的路由。

引入的路由,并不是通过ospf计算出来的,所以不会显示出来。

你问题中描述的现象,应该是在引入静态路由的那台路由器上看到的吧?

如果是在其他路由器上,ospf routing table中会显示出这几条路由。

希望能帮到你,不明白的可以追问!