OSPF中Forward Address:0.0.0.0 和非0.0.0.0问题

在OSPF中,Forward Address地址有两种状态,一种是地址为0.0.0.0,另一种是具体的到达外部路由的下一跳地址,即非0.0.0.0 。下面我们来讨论这两种状态分别都是在什么情况下产生。

    一,Forward Address:0.0.0.0


                                           总拓扑图

       在R2上双向重分发,

       R2:router ospf 1

           network 10.10.2.1 0.0.0.0 area0

           redistribute rip metric 50 subnets

           router rip

           network 10.10.3.0

           version 2

           redistribute ospf 1 metric 1

           

       我们可以在R1 上看到3.3.3.3 为外部路由

       R1:show ip ospf database external 3.3.3.3

       我们可以看到Forward Address:0.0.0.0

    二,Forward Address:非0.0.0.0

       1)如果修改R2的配置如下:

       R2:router ospf 1  

           network 10.10.3.2 0.0.0.0 area0

       R1:show ip ospf database external 3.3.3.3

       我们可以看到Forward Address:10.10.3.3

       2)在R5重分发直连路由

       R5:router ospf 1

           redistribute connected subnets

       我们可以在R1 上看到5.5.5.5为外部路由

       R1:show ip ospf database external 5.5.5.5

       我们可以看到Forward Address:10.10.1.5

    总结:

外部LSA的Forward Address是一个其它LSA没有的特征,每一条外部LSA都带有一个Forward Address,该地址是用来告诉收到此LSA的路由器如何到达外部路由。在ASBR的路由表中,外部路由的下一跳地址是什么,那么在外部路由的LSA中Forward Address就是什么,但是OSPF内部路由器是通过Forward Address来到达外部路由的,如果它们连这个Forward Address都到达不了,比如Forward Address本身就是外部路由而不包含在OSPF进程中,那么可想而知,Forward Address的意义等于0.

所以:如果ASBR的路由表中,外部路由的下一跳地址是OSPF进程自己的路由,那么外部路由LSA的Forward Address就是该地址,所有OSPF内部路由器则通过该地址去往外部路由,但如果ASBR的路由表中,外部路由的下一跳地址不在OSPF进程中,那么该地址对于其它所有OSPF路由器都不可达,这时,ASBR就将外部路由LSA的Forward Address设置为0.0.0.0,所有OSPF路由器通过外部LSA的Router-ID去往外部路由。

你可能感兴趣的:(Address,forward,ospf,forwardaddress)