【はじめに】
AOS-CXバージョン10.16から、BGP unnumbered設定がサポートされました。
近年のデータセンターにおけるファブリックネットワークでは、レイヤ3ネットワーク上にオーバーレイとしてレイヤ2ネットワークを構成するEVPN/VXLANが広く利用されており、多数のテナント、サーバ、サービスを収容しています。
コントロールプレーンとなるEVPNでは、BGPを用いて各テナントのMACアドレスおよびIPアドレス情報をファブリック装置間で交換・管理します。
しかし、ファブリックを構成する機器台数が増加すると、それに伴いBGP設定の追加・修正が膨大となり、運用負荷が高まります。
この課題に対し、BGP Unnumberedを利用することで、インタフェースのIPv6リンクローカルアドレスを使用し、ピアを明示的に指定することなく自動でBGPピアを確立できます。
これにより、必要となる設定や設定ミスを削減でき、安定したファブリックの構築と運用が期待できます。
【10.16での機能まとめ】
バージョン10.16 におけるBGP Unnumberedの設定方法、動作、および実装状況は以下のとおりです。
- BGPピアおよびリモートASの自動検出を、明示的なneighbor IP 設定なしで実現。
- unnumbered機能をサポートするために、neighbor <インタフェース名> コマンドを追加。
- ネイバのIPv6リンクローカルアドレスを学習するために、「ipv6 address link-local」 と 「no ipv6 nd supress-ra」 の設定が必要。
- BGPは、ネイバのIPv6 リンクローカルアドレスを使用してセッションを確立する。
- IPv4/IPv6 address-familyおよび EVPNアンダーレイの両方をサポート。
- eBGPセッションは、シングルホップでのみ確立可能。
- remote-asの設定は任意。
- スプリットインターフェースおよびサブインターフェースをサポート。
【動作確認構成】
*動作確認を容易にするために、IPv6リンクローカルアドレスを手動で設定しています。
[CX1]
!
interface 1/1/1
no shutdown
ipv6 address link-local
ipv6 address link-local fe80::1/64
no ipv6 nd suppress-ra
!
interface loopback 0
ip address 1.1.1.1/32
!
router bgp 64521
bgp router-id 1.1.1.1
neighbor 1/1/1
address-family ipv4 unicast
neighbor 1/1/1 activate
redistribute local loopback
exit-address-family
!
[CX2]
!
interface 1/1/1
no shutdown
ipv6 address link-local
ipv6 address link-local fe80::2/64
no ipv6 nd suppress-ra
!
interface loopback 0
ip address 1.1.1.2/32
!
router bgp 64522
bgp router-id 1.1.1.2
neighbor 1/1/1
address-family ipv4 unicast
neighbor 1/1/1 activate
redistribute local loopback
exit-address-family
!
【動作確認(BGPの動作)】
互いのリンクローカルアドレスを用いて eBGPピアが確立できています。
[CX1]
CX1# show ipv6 interface 1/1/1
Interface 1/1/1 is up
Admin state is up
IPv6 address:
IPv6 link-local address: fe80::1/64 [VALID]
IPv6 virtual address configured: none
IPv6 multicast routing: disable
IPv6 Forwarding feature: enabled
IPv6 multicast groups locally joined:
ff02::1 ff02::1:ff00:1 ff02::1:ff00:0 ff02::2
IPv6 multicast (S,G) entries joined: none
IPv6 MTU 1500
IPv6 unicast reverse path forwarding: none
IPv6 load sharing: none
Encapsulation dot1q ID:
CX1#
CX1# show bgp ip unicast summary
Codes: * Dynamic Neighbor
VRF : default
BGP Summary
-----------
Local AS : 64521 BGP Router Identifier : 1.1.1.1
Peers : 1 Log Neighbor Changes : No
Cfg. Hold Time : 180 Cfg. Keep Alive : 60
Confederation Id : 0
Neighbor Remote-AS MsgRcvd MsgSent Up/Down Time State AdminStatus
fe80::2%1/1/1 64522 4741 4740 02d:20h:41m Established Up
CX1#
[CX2]
CX2# show ipv6 interface 1/1/1
Interface 1/1/1 is up
Admin state is up
IPv6 address:
IPv6 link-local address: fe80::2/64 [VALID]
IPv6 virtual address configured: none
IPv6 multicast routing: disable
IPv6 Forwarding feature: enabled
IPv6 multicast groups locally joined:
ff02::1 ff02::1:ff00:2 ff02::1:ff00:0 ff02::2
IPv6 multicast (S,G) entries joined: none
IPv6 MTU 1500
IPv6 unicast reverse path forwarding: none
IPv6 load sharing: none
Encapsulation dot1q ID:
CX2#
CX2# show bgp ip unicast summary
Codes: * Dynamic Neighbor
VRF : default
BGP Summary
-----------
Local AS : 64522 BGP Router Identifier : 1.1.1.2
Peers : 1 Log Neighbor Changes : No
Cfg. Hold Time : 180 Cfg. Keep Alive : 60
Confederation Id : 0
Neighbor Remote-AS MsgRcvd MsgSent Up/Down Time State AdminStatus
fe80::1%1/1/1 64521 4735 4737 02d:20h:42m Established Up
CX2#
CX1とCX2 が持つループバックインタフェース(loopback0)のアドレスを、IPv6リンクローカルアドレスをネクストホップとして、BGPテーブルに登録されています。
[CX1]
CX1# show bgp ip unicast
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, e external S Stale, R Removed, a additional-paths
Origin codes: i - IGP, e - EGP, ? - incomplete
VRF : default
Local Router-ID 1.1.1.1
Network Nexthop Metric LocPrf Weight Path
*> 1.1.1.1/32 0.0.0.0 0 100 0 ?
*>e 1.1.1.2/32 fe80::2 0 100 0 64522 ?
Total number of entries 2
CX1#
[CX2]
CX2# show bgp ip unicast
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, e external S Stale, R Removed, a additional-paths
Origin codes: i - IGP, e - EGP, ? - incomplete
VRF : default
Local Router-ID 1.1.1.2
Network Nexthop Metric LocPrf Weight Path
*>e 1.1.1.1/32 fe80::1 0 100 0 64521 ?
*> 1.1.1.2/32 0.0.0.0 0 100 0 ?
Total number of entries 2
CX2#
【動作確認(IPv4ルーティングテーブルとIPv6ネイバテーブルの状態)】
[CX1]
CX1# show ip route
Displaying ipv4 routes selected for forwarding
Origin Codes: C - connected, S - static, L - local
R - RIP, B - BGP, O - OSPF, D - DHCP
U - Unnumbered
Type Codes: E - External BGP, I - Internal BGP, V - VPN, EV - EVPN
IA - OSPF internal area, E1 - OSPF external type 1
E2 - OSPF external type 2
VRF: default
Prefix Nexthop Interface VRF(egress) Origin/ Distance/ Age
Type Metric
--------------------------------------------------------------------------------------------------------
1.1.1.1/32 - loopback0 - L [0/0] -
1.1.1.2/32 fe80::2 1/1/1 - B/E [20/0] 23h:36m:49s
Total Route Count : 2
CX1#
CX1# show ipv6 neighbors
IPv6 Address MAC Port Physical Port State
-------------------------------------------------------------------------------------------------------------------------------------------
fe80::2 08:00:09:0a:18:d4 1/1/1 1/1/1 reachable
Total Number Of IPv6 Neighbors Entries Listed: 1.
-------------------------------------------------------------------------------------------------------------------------------------------
CX1#
[CX2]
CX2# show ip route
Displaying ipv4 routes selected for forwarding
Origin Codes: C - connected, S - static, L - local
R - RIP, B - BGP, O - OSPF, D - DHCP
U - Unnumbered
Type Codes: E - External BGP, I - Internal BGP, V - VPN, EV - EVPN
IA - OSPF internal area, E1 - OSPF external type 1
E2 - OSPF external type 2
VRF: default
Prefix Nexthop Interface VRF(egress) Origin/ Distance/ Age
Type Metric
--------------------------------------------------------------------------------------------------------
1.1.1.1/32 fe80::1 1/1/1 - B/E [20/0] 23h:38m:52s
1.1.1.2/32 - loopback0 - L [0/0] -
Total Route Count : 2
CX2#
CX2# show ipv6 neighbors
IPv6 Address MAC Port Physical Port State
-------------------------------------------------------------------------------------------------------------------------------------------
fe80::1 08:00:09:f6:14:10 1/1/1 1/1/1 reachable
Total Number Of IPv6 Neighbors Entries Listed: 1.
-------------------------------------------------------------------------------------------------------------------------------------------
CX2#
【経路学習したループバックアドレス宛への疎通確認】
互いのループバックアドレス宛てに疎通できています。
[CX1]
CX1# ping 1.1.1.2 source 1.1.1.1
PING 1.1.1.2 (1.1.1.2) from 1.1.1.1 : 100(128) bytes of data.
108 bytes from 1.1.1.2: icmp_seq=1 ttl=64 time=1.26 ms
108 bytes from 1.1.1.2: icmp_seq=2 ttl=64 time=1.01 ms
108 bytes from 1.1.1.2: icmp_seq=3 ttl=64 time=3.51 ms
108 bytes from 1.1.1.2: icmp_seq=4 ttl=64 time=4.47 ms
108 bytes from 1.1.1.2: icmp_seq=5 ttl=64 time=3.65 ms
--- 1.1.1.2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 1.008/2.777/4.466/1.384 ms
CX1#
[CX2]
CX2# ping 1.1.1.1 source 1.1.1.2
PING 1.1.1.1 (1.1.1.1) from 1.1.1.2 : 100(128) bytes of data.
108 bytes from 1.1.1.1: icmp_seq=1 ttl=64 time=3.49 ms
108 bytes from 1.1.1.1: icmp_seq=2 ttl=64 time=4.47 ms
108 bytes from 1.1.1.1: icmp_seq=3 ttl=64 time=1.77 ms
108 bytes from 1.1.1.1: icmp_seq=4 ttl=64 time=4.13 ms
108 bytes from 1.1.1.1: icmp_seq=5 ttl=64 time=1.36 ms
--- 1.1.1.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 1.355/3.042/4.473/1.257 ms
CX2#
#Blog #Wired
-------------------------------------------