MP-BGP也可以通过IPv4的会话同时传递IPv4和IPv6前缀的能力;因为IPv4和v6同属于互联网际协议(IP),所以MP-BGP也同时支持IPv4和v6地址建立TCP连接及BGP会话。
实验拓扑图如下:
R1的基础配置如下:
hostname R1
!
ipv6 unicast-routing
!
interface Loopback0
ip address 192.168.1.1 255.255.255.255
ipv6 address 2012:1111::1/64
!
interface Ethernet0/0
ip address 10.12.1.1 255.255.255.252
no sh
!
router bgp 1
no bgp default ipv4-unicast
neighbor 10.12.1.2 remote-as 2
!
address-family ipv6
network 2012:1111::/64
neighbor 10.12.1.2 activate
exit-address-family
!
end
R2的基础配置如下:
hostname R2
!
ipv6 unicast-routing
!
interface Loopback0
ip address 192.168.2.2 255.255.255.255
ipv6 address 2012:2222::2/64
!
interface Ethernet0/0
ip address 10.12.1.2 255.255.255.252
no sh
!
router bgp 2
no bgp default ipv4-unicast
neighbor 10.12.1.1 remote-as 1
!
address-family ipv6
network 2012:2222::/64
neighbor 10.12.1.1 activate
exit-address-family
!
end
完成最基本的配置查看BGP表如下:
验证IPv6单播BGP表时,关注路由下一跳,根据BGP下一跳属性规则,传递给eBGP对等体的路由下一跳属性会修改为自己的更新源地址,此时IPv4地址无法被作为IPv6路由的下一跳;故BGP表无法加载到路由表中,查看BGP路由表如下。
下一跳不能直接可达,所以路由表不会加载BGP信息。
在两台路由器上相互设置路由映射指向可达以太网接口的地址为下一跳。
添加R1配置如下:
conf t
interface Ethernet0/0
ipv6 address 2012::1/64
!
route-map NH permit 10
set ipv6 next-hop 2012::1
!
router bgp 1
address-family ipv6
neighbor 10.12.1.2 route-map NH out
exit-address-family
!
end
添加R2配置如下:
conf t
interface Ethernet0/0
ipv6 address 2012::2/64
!
route-map NH permit 10
set ipv6 next-hop 2012::2
!
router bgp 1
address-family ipv6
neighbor 10.12.1.1 route-map NH out
exit-address-family
!
end
为邻居修改为可达的IPv6下一跳后,查看两台路由器的BGP表如下:(添加完以上配置后别忘了刷新BGP邻居,不然会等很久,至少一个bgp timer时间)刷新IPv6邻居的软重建与IPv4相似。在特权模式下使用即可。
clear bgp ipv6 unicast * soft
依次查看两台路由器的BGP路由表如下:
测试连通性如下:
使用IPv4地址配置MP-BGP会话的同时传递IPv4和v6前缀能够节省网络资源,可以使得MP-BGP工作更加有效率。
PS:// 如果一个不支持路由刷新能力的BGP路由器更新了入站策略,则会导致BGP会话重建。两个BGP路由器之间建立了IPv4的邻居关系,当增加业务时,需要开启IPv6会话,这个操作会导致IPv4的邻居也重新建立。