一、拓扑:
要求:利用 ospf igp配置,使两个 Spoke 之间的流量经过 Hub 端
二、配置思路:
1、基本环境搭建:
SW1 起 vlan 10、20、30;
配置 G0/0/1、2、3 接口分别为 hybrid 类型(默认,可不配),其中:
G0/0/1 口pvid 为10,untagged vlan 为 20、30;
G0/0/2 口 pvid 为 20,untagged vlan 为10、20;
G0/0/3 口 pvid 为 30,untagged vlan 为 10、30
R1 G0/0/1 口 IP 地址10.1.123.1/24
R2 G0/0/1 口 IP 地址10.1.123.2/24
R3 G0/0/1 口 IP 地址10.1.123.3/24
2、ospf 配置:
R1、2、3 分别起 ospf ,area 0,通告本网段地址 10.1.123.0/24;
R1、2、3 接口分别配置网络类型为 nbma;
R1 配置 dr-priority 255,强制优先级最高,为 DR
R2、3 分别配置 dr-priority 0,为 DR-Other,不参与 DR 选举,避免抢占
3、Spoke 端配置静态 mac 绑定到 Hub IP 上:
因为 ospf 路由表生成后,两个 Spoke 之间的路由都指向 Hub 端,但互 ping 时,发给 Hub ,Hub 发现目的 IP 不是自己的,于是拒收,导致两个 Spoke 之间无法互访。解决方法:是在两个 Spoke 上静态绑定对端的 IP 的 mac 地址为 Hub 的 mac 地址。Hub 在二层收到后,查路由表,走三层,转发给相应的 Spoke
对于盒式,可使用 dis bridge mac-addess 查; 对于框式,可用 dis system-macaddress 查
4、全部配置如下:
[SW1]:
vlan batch 10 20 30
#
interface GigabitEthernet0/0/1port hybrid pvid vlan 10port hybrid untagged vlan 10 20 30
#
interface GigabitEthernet0/0/2port hybrid pvid vlan 20port hybrid untagged vlan 10 20
#
interface GigabitEthernet0/0/3port hybrid pvid vlan 30port hybrid untagged vlan 10 30
#[R1]:
interface GigabitEthernet0/0/0ip address 10.1.123.1 255.255.255.0 ospf network-type nbmaospf dr-priority 255
#
ospf 1 router-id 1.1.1.1 peer 10.1.123.2peer 10.1.123.3area 0.0.0.0 network 10.1.123.0 0.0.0.255
#[R2]:
interface GigabitEthernet0/0/0ip address 10.1.123.2 255.255.255.0 ospf network-type nbmaospf dr-priority 0
#
ospf 1 router-id 2.2.2.2 peer 10.1.123.1area 0.0.0.0 network 10.1.123.0 0.0.0.255
#
arp static 10.1.123.3 00e0-fc24-1b5a
#[R3]:
interface GigabitEthernet0/0/0ip address 10.1.123.3 255.255.255.0 ospf network-type nbmaospf dr-priority 0
#
ospf 1 router-id 3.3.3.3 peer 10.1.123.1area 0.0.0.0 network 10.1.123.0 0.0.0.255
#
arp static 10.1.123.2 00e0-fc24-1b5a
#
三、检查实验现象:
1、 分别从两个 Spoke 端 ping 对端,在三个路由器接口上抓包,可以看到,流量都经过 R1 端口,而且一个 ping 包来回都要转两次:
2、再路由跟踪一下:
四、总结和扩展:
当链路层协议是 FR、X.25、ATM 时,缺省情况下,OSPF 默认网络类型是 NBMA
在该类型的网络中,以单播形式发送所有协议报文:Hello、DD、LSR、LSU、LSAck
以上例子中,我们在 Hub 上配了 N个 Spoke Peer,在 Spoke 上配了 N 个 DR-Piriority = 0、N 个 指向 Hub 的 Peer、N * (N-1)个 静态 ARP 条目
为了减少资源消耗,我们推荐使用 P2MP 的网络接口类型,这种模式下,主动发组播 Hello 包,不选举 DR、BDR,不需配置 N个 DR-Priority、N 个 peer、N*(N-1)个静态ARP。OSPF 自动将原先直接指向对端的下一跳变为 32 位指向 Hub 端的主机路由,配置如下:
[SW1]:同上
#[R1]:
interface GigabitEthernet0/0/0ip address 10.1.123.1 255.255.255.0 ospf network-type p2mp
#
interface LoopBack0ip address 1.1.1.1 255.255.255.255
#
ospf 1 router-id 1.1.1.1 area 0.0.0.0 network 1.1.1.1 0.0.0.0 network 10.1.123.0 0.0.0.255
#[R2]:
interface GigabitEthernet0/0/0ip address 10.1.123.2 255.255.255.0 ospf network-type p2mp
#
interface LoopBack0ip address 2.2.2.2 255.255.255.255
#
ospf 1 router-id 2.2.2.2 area 0.0.0.0 network 2.2.2.2 0.0.0.0 network 10.1.123.0 0.0.0.255
#[R3]:
interface GigabitEthernet0/0/0ip address 10.1.123.3 255.255.255.0 ospf network-type p2mp
#
interface GigabitEthernet0/0/1
#
interface LoopBack0ip address 3.3.3.3 255.255.255.255
#
ospf 1 router-id 3.3.3.3 area 0.0.0.0 network 3.3.3.3 0.0.0.0 network 10.1.123.0 0.0.0.255
#
五、问题:
Why 最后计算出 router-id 1.1.1.1 为 Hub 端呢?
因为经过计算,到达 Spoke 端只有通过 Hub 的路由迭代查询后才能过去!