ospf forwarding address 实验配置
前两天在和同事讨论一个ospf的问题的时候,说起了ospf的 forwarding address,今天特贴出来记录下。
首先转摘来自H3C 刘宇写的一个FAQ文档里面的描述:
Q:OSPF的type 5的外部路由中的Forwarding Address有什么用?是如何填写的?
A:和RIPv2,EIGRP,BGPv4等其它比较“聪明”的路由协议一样,OSPF type 5 LSA中的Forwarding Address(以下简称FA)的作用是通告本路由域内部路由器如何能到达Type5 LSA描述的引入的AS外部网络的更快捷的下一跳,以免内部路由器在广播网络上以自己为下一跳路由到自己,自己再转发到同一广播网络上的外部路由域的路由器上,而产生“额外”的一跳。
ASBR引入外部路由产生的Type 5 LSA中,FA可能是0,也可能是非0的
很遗憾,RFC 2328并没有明确规定FA如何填写,这个也是很多人不熟悉的地方。VRP3.0的实现是很早前在我的建议下参考Cisco IOS的实现修改大致类似的。
规则如下:
如果ASBR引入路由,但OSPF没有在这些路由的下一跳接口上启动(enable),FA设置为0.0.0.0。
而在满足如下所有条件的情况下FA设置为非0.0.0.0:
1. OSPF在ASBR的下一跳接口被启动;
2. ASBR的下一跳接口没有被设置为被动接口(大家都知道VRP叫silent interface,IOS就passive了)
3. ASBR的下一跳接口不是OSPF P2P或P2MP类型的;
4. ASBR的下一跳接口地址落在OSPF协议配置的network命令范围内
除此之外,其它情况FA都填为0.0.0.0。
本次试验没有真机环境,在模拟器里面搭建(说白了屌丝的节奏)
试验拓扑图如下:
试验拓扑描述:RT2\RT3\RT4属于一个ospf进程,RT1\RT2\RT3D的G0/0/0口属于一个网段,RT2上有一条去往10.10.10.10/32的静态路由,在RT2的ospf进程中引入这条静态路由,RT2作为ASBR。
1、配置好相应接口IP地址,让RT3\RT3\RT4形成ospf邻居关系。
2、在RT2上配置去往10.10.10.10/32的下一跳指向10.1.123.1
3、在RT1上配置回程路由下一跳指向10.1.123.2
4、在RT2上的ospf进程中 import-route static
5、查看LSDB
<RT3>dis ospf lsdb ase
OSPF Process 1 with Router ID 3.3.3.3
Link State Database
Type : External
LS ID : 10.10.10.10
Adv Rtr : 2.2.2.2
LS Age : 190
Len : 36
Options : E
Seq# : 80000001
Checksum : 0xc256
Net Mask : 255.255.255.255
TOS 0 Metric: 1
E Type : 2
Forwarding Address : 10.1.123.1
Tag : 1
<RT3>
<RT2>dis ospf lsdb ase
OSPF Process 1 with Router ID 2.2.2.2
Link State Database
Type : External
LS ID : 10.10.10.10
Adv Rtr : 2.2.2.2
LS Age : 162
Len : 36
Options : E
Seq# : 80000001
Checksum : 0xc256
Net Mask : 255.255.255.255
TOS 0 Metric: 1
E Type : 2
Forwarding Address : 10.1.123.1
Tag : 1
<RT2>
6、查看RT4\RT3\RT2路由表
<RT4>DIS IP routing-table Routing Tables: Public Destinations : 9 Routes : 9 Destination/Mask Proto Pre Cost NextHop Interface 2.2.2.2/32 OSPF 10 2 10.1.34.3 GE0/0/1 3.3.3.3/32 OSPF 10 1 10.1.34.3 GE0/0/1 4.4.4.4/32 Direct 0 0 127.0.0.1 InLoop0 10.1.34.0/24 Direct 0 0 10.1.34.4 GE0/0/1 10.1.34.4/32 Direct 0 0 127.0.0.1 InLoop0 10.1.123.0/24 OSPF 10 2 10.1.34.3 GE0/0/1 10.10.10.10/32 O_ASE 150 1 10.1.34.3 GE0/0/1 127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0 127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0 <RT4>
[RT3]DIS IP routing-table Routing Tables: Public Destinations : 10 Routes : 10 Destination/Mask Proto Pre Cost NextHop Interface 2.2.2.2/32 OSPF 10 1 10.1.123.2 GE0/0/0 3.3.3.3/32 Direct 0 0 127.0.0.1 InLoop0 4.4.4.4/32 OSPF 10 1 10.1.34.4 GE0/0/1 10.1.34.0/24 Direct 0 0 10.1.34.3 GE0/0/1 10.1.34.3/32 Direct 0 0 127.0.0.1 InLoop0 10.1.123.0/24 Direct 0 0 10.1.123.3 GE0/0/0 10.1.123.3/32 Direct 0 0 127.0.0.1 InLoop0 <span style="color: #ff0000;">10.10.10.10/32 O_ASE 150 1 10.1.123.1 GE0/0/0</span> 127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0 127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0 [RT3]
[RT2]DIS IP routing-table Routing Tables: Public Destinations : 9 Routes : 9 Destination/Mask Proto Pre Cost NextHop Interface 2.2.2.2/32 Direct 0 0 127.0.0.1 InLoop0 3.3.3.3/32 OSPF 10 1 10.1.123.3 GE0/0/0 4.4.4.4/32 OSPF 10 2 10.1.123.3 GE0/0/0 10.1.34.0/24 OSPF 10 2 10.1.123.3 GE0/0/0 10.1.123.0/24 Direct 0 0 10.1.123.2 GE0/0/0 10.1.123.2/32 Direct 0 0 127.0.0.1 InLoop0 10.10.10.10/32 Static 60 0 10.1.123.1 GE0/0/0 127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0 127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0 [RT2]
7、修改RT2\RT3的G0/0/0接口ospf的网络类型为P2P
# interface GigabitEthernet0/0/0 port link-mode route ip address 10.1.123.2 255.255.255.0 ospf network-type p2p
# interface GigabitEthernet0/0/0 port link-mode route ip address 10.1.123.3 255.255.255.0 ospf network-type p2p
8、查看修改后的LSDB
<RT2>DIS ospf lsdb ASE
OSPF Process 1 with Router ID 2.2.2.2
Link State Database
Type : External
LS ID : 10.10.10.10
Adv Rtr : 2.2.2.2
LS Age : 36
Len : 36
Options : E
Seq# : 80000003
Checksum : 0xf0ad
Net Mask : 255.255.255.255
TOS 0 Metric: 1
E Type : 2
Forwarding Address : 0.0.0.0
Tag : 1
<RT2>
<RT3>DIS ospf lsdb ASE
OSPF Process 1 with Router ID 3.3.3.3
Link State Database
Type : External
LS ID : 10.10.10.10
Adv Rtr : 2.2.2.2
LS Age : 49
Len : 36
Options : E
Seq# : 80000003
Checksum : 0xf0ad
Net Mask : 255.255.255.255
TOS 0 Metric: 1
E Type : 2
Forwarding Address : 0.0.0.0
Tag : 1
<RT3>
9、查看RT4\RT3\RT2路由表
<RT4>DIS IP routing-table Routing Tables: Public Destinations : 9 Routes : 9 Destination/Mask Proto Pre Cost NextHop Interface 2.2.2.2/32 OSPF 10 2 10.1.34.3 GE0/0/1 3.3.3.3/32 OSPF 10 1 10.1.34.3 GE0/0/1 4.4.4.4/32 Direct 0 0 127.0.0.1 InLoop0 10.1.34.0/24 Direct 0 0 10.1.34.4 GE0/0/1 10.1.34.4/32 Direct 0 0 127.0.0.1 InLoop0 10.1.123.0/24 OSPF 10 2 10.1.34.3 GE0/0/1 10.10.10.10/32 O_ASE 150 1 10.1.34.3 GE0/0/1 127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0 127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0 <RT4>
[RT3]DIS IP routing-table Routing Tables: Public Destinations : 10 Routes : 10 Destination/Mask Proto Pre Cost NextHop Interface 2.2.2.2/32 OSPF 10 1 10.1.123.2 GE0/0/0 3.3.3.3/32 Direct 0 0 127.0.0.1 InLoop0 4.4.4.4/32 OSPF 10 1 10.1.34.4 GE0/0/1 10.1.34.0/24 Direct 0 0 10.1.34.3 GE0/0/1 10.1.34.3/32 Direct 0 0 127.0.0.1 InLoop0 10.1.123.0/24 Direct 0 0 10.1.123.3 GE0/0/0 10.1.123.3/32 Direct 0 0 127.0.0.1 InLoop0 <span style="color: #ff0000;">10.10.10.10/32 O_ASE 150 1 10.1.123.2 GE0/0/0</span> 127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0 127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0 [RT3]
[RT2]DIS IP routing-table Routing Tables: Public Destinations : 9 Routes : 9 Destination/Mask Proto Pre Cost NextHop Interface 2.2.2.2/32 Direct 0 0 127.0.0.1 InLoop0 3.3.3.3/32 OSPF 10 1 10.1.123.3 GE0/0/0 4.4.4.4/32 OSPF 10 2 10.1.123.3 GE0/0/0 10.1.34.0/24 OSPF 10 2 10.1.123.3 GE0/0/0 10.1.123.0/24 Direct 0 0 10.1.123.2 GE0/0/0 10.1.123.2/32 Direct 0 0 127.0.0.1 InLoop0 10.10.10.10/32 Static 60 0 10.1.123.1 GE0/0/0 127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0 127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0 [RT2]
10、RT3的forwarding address地址避免了网络中产生了次优路由。
通过修改ospf接口类型可以在RT3上看出前后去往同一个地址段10.10.10.10/32的下一跳不一样(文中红色标注)