Frame-relay Hub-Spoke 纯IPv6环境下OSPF的配置

ipv6-ospf-frame-lab-hub-spoke

R1,R2,R3只配置IPv6地址,不配置任何IPv4地址,路由协议选用OSPFv3。
R1,R2,R3都使用主接口,IPv6地址设置为FEC0::X (X=1,2,3),默认网络类型。
R1,R2,R3各建立一个loopback 0接口,IPv6地址设置为FEC0:0:X::X/64  (X=1,2,3) 并在路由表中可见/64的路由条目,实现全网各个接口可以互相ping通。

在R1做如下配置:
ipv6 unicast-routing
!
interface Serial1/0
 no ip address
 encapsulation frame-relay
 ipv6 address FEC0::1/64
 ipv6 address FE80::1 link-local
 ipv6 ospf neighbor FE80::2
 ipv6 ospf neighbor FE80::3
 ipv6 ospf 1 area 0
 frame-relay map ipv6 FE80::2 102 broadcast
 frame-relay map ipv6 FEC0::2 102 broadcast
 frame-relay map ipv6 FE80::3 103 broadcast
 frame-relay map ipv6 FEC0::3 103 broadcast
 no frame-relay inverse-arp
!
interface Loopback0
 no ip address
 ipv6 address FEC0:0:1::1/64
 ipv6 ospf network point-to-point
 ipv6 ospf 1 area 0
!
ipv6 router ospf 1
 router-id 1.1.1.1
end

在R2上做如下配置:
ipv6 unicast-routing
!
interface Serial1/0
 no ip address
 encapsulation frame-relay
 ipv6 address FEC0::2/64
 ipv6 address FE80::2 link-local
 ipv6 ospf priority 0
 ipv6 ospf 1 area 0
 frame-relay map ipv6 FE80::3 201 broadcast
 frame-relay map ipv6 FEC0::3 201 broadcast
 frame-relay map ipv6 FE80::1 201 broadcast
 frame-relay map ipv6 FEC0::1 201 broadcast
 no frame-relay inverse-arp
interface Loopback0
 no ip address
 ipv6 address FEC0:0:2::2/64
 ipv6 ospf network point-to-point
 ipv6 ospf 1 area 0
end

在R3上做如下配置:
ipv6 unicast-routing
!
interface Serial1/0
 no ip address
 encapsulation frame-relay
 ipv6 address FEC0::3/64
 ipv6 address FE80::3 link-local
 ipv6 ospf priority 0
 ipv6 ospf 1 area 0
 frame-relay map ipv6 FE80::2 301 broadcast
 frame-relay map ipv6 FEC0::2 301 broadcast
 frame-relay map ipv6 FE80::1 301 broadcast
 frame-relay map ipv6 FEC0::1 301 broadcast
 no frame-relay inverse-arp
interface Loopback0
 no ip address
 ipv6 address FEC0:0:3::3/64
 ipv6 ospf network point-to-point
 ipv6 ospf 1 area 0
end

总结几个需要注意的问题:

  1. 和IPv4 FR环境下Hub-Spoke结构OSPF的配置一样在Hub上需要指定neighbor(对端的link-local地址),在spoke端的接口上需要将ospf priority设置为0,以避免spoke端成为DR。
  2. OSPFv3需要一个32位的数字来作为router-id,默认情况下会按照OSPFv2的方式来选择router-id;由于是纯IPv6的环境,没有任何接口配置了IPv4地址,因此无法自动生成router-id,需要手动指定每台路由器的router-id。
  3. 需要做frame-relay map相连的对端路由器的link-local地址,否则ospf的hello以及LSA都送不出去。
  4. 和OSPFv2一样,如果在loopback接口上不指定网络类型为point-to-point的话,会送出一条/128的主机路由:
    R2#sh ipv route
    IPv6 Routing Table – 8 entries
    Codes: C – Connected, L – Local, S – Static, R – RIP, B – BGP
           U – Per-user Static route
           I1 – ISIS L1, I2 – ISIS L2, IA – ISIS interarea, IS – ISIS summary
           O – OSPF intra, OI – OSPF inter, OE1 – OSPF ext 1, OE2 – OSPF ext 2
           ON1 – OSPF NSSA ext 1, ON2 – OSPF NSSA ext 2
    L   FE80::/10 [0/0]
         via ::, Null0
    C   FEC0::/64 [0/0]
         via ::, Serial1/0
    L   FEC0::2/128 [0/0]
         via ::, Serial1/0
    O   FEC0:0:1::1/128 [110/64]
         via FE80::1, Serial1/0

    C   FEC0:0:2::/64 [0/0]
         via ::, Loopback0
    L   FEC0:0:2::2/128 [0/0]
         via ::, Loopback0
    O   FEC0:0:3::/64 [110/65]
         via FE80::3, Serial1/0

    L   FF00::/8 [0/0]
         via ::, Null0
    *此时在R1的loopback接口上没有指定网络类型为point-to-point,而R3上指定了。
  5. 在spoke端需要互相map对端的link-local地址,从上路由表上可以看出路由器到达其他spoke loopback0接口的下一跳地址为其他spoke路由器的link-local地址。对于这个现象我存在疑问:在关闭frame-relay inverse-arp的情况下,spoke端互相map link-local地址实在是很麻烦,尤其在spoke端多的情况下,新增和减少spoke端都会是很麻烦的一件事情。当然出现这样的现象是可以想明白的,OSPF是链路状态协议,前几天做的同样拓扑的实验是RIP的,RIP是距离矢量协议,一个更新的是LSA,一个发的是自己的路由表,这里面的内容是不一样的。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据