■MP-BGP ( BGP4+ )
MP-BGPはBGPのマルチプロトコル対応バージョンです。IPv4ではIPv4専用のBGP4が利用されていました。MP-BGPではIPv4以外の情報も取り扱えるようにするため、MP_REACH_NLRIとMP_UNREACH_NLRIのパス属性が追加されました。この2つの属性情報がBGP4に追加されたことによってアドレスファミリーの識別が可能になり、IPv6だけでなく、その他のプロトコルにも対応可能になりました。
MP-BGPをIPv6で利用する際のポイントは以下のとおりです。
項目 | 説明 |
ルータID | ネイティブIPv6の環境であってもルータIDにはIPv4が用いられます。 |
経路情報の交換 | BGPはTCP上でPeerを認識します。 IP層はPeer情報を運ぶための手段でしかありません。 このため例えトランスポート層にIPv4が利用されていてもTCP層で MP-BGPのパス属性を交換することでIPv6の経路情報の交換を行うことが可能です。 |
ネクストホップ | MP-BGPではIGPと異なりネクストホップアドレスにグローバルユニキャストアドレスと リンクローカルアドレスの両方を使用することが可能です。 |
実際にMP-BGPの設定を行なってみます。前提のなるネットワーク構成は以下です。
上記の中のR1の設定は以下のようになります。
[R1の設定] ipv6 unicast-routing ipv6 cef interface FastEthernet0/1 ipv6 address FE80::2 link-local ipv6 address 2001:DB8:0:254::254/64 router bgp 100 bgp router-id 1.1.1.1 no bgp default ipv4-unicast bgp log-neighbor-changes timers bgp 30 90 neighbor 2001:DB8:0:254::1 remote-as 200 ! address-family ipv6 neighbor 2001:DB8:0:254::1 activate neighbor 2001:DB8:0:254::1 default-originate exit-address-family ipv6 route ::/0 2001:DB8:0:254::1 |
続いてR2の設定は以下のようになります。R2ではIGPのOSPFv3も合わせて設定しています。
[R2の設定] ipv6 unicast-routing ipv6 cef interface FastEthernet0/0 ipv6 address FE80::1 link-local ipv6 address 2001:DB8:0:1::1/64 ipv6 ospf 110 area 0.0.0.0 ! interface FastEthernet0/1 ipv6 address FE80::1 link-local ipv6 address 2001:DB8:0:254::1/64 router bgp 200 bgp router-id 2.2.2.2 no bgp default ipv4-unicast bgp log-neighbor-changes timers bgp 30 90 neighbor 2001:DB8:0:254::254 remote-as 100 ! address-family ipv6 neighbor 2001:DB8:0:254::254 activate neighbor 2001:DB8:0:254::254 prefix-list DefaultRoute in neighbor 2001:DB8:0:254::254 prefix-list MyRoute out redistribute ospf 110 include-connected no synchronization exit-address-family ipv6 router ospf 110 router-id 2.2.2.2 log-adjacency-changes default-information originate ipv6 prefix-list DefaultRoute seq 5 permit ::/0 ipv6 prefix-list MyRoute seq 5 permit 2001:DB8:0:1::/64 |
両者に共通して設定している「no bgp default ipv4-unicast」は、デフォルトだとIPv4しか有効にならない機能を無効にするものです。要はIPv6を有効にする設定と思っていただければと思います。
IPv6関連の設定はrouter bgpの中でaddress-familyの中に設定します。最低限必要なのはactivateです。これを設定しないとピアリングができませんので注意してください。
この状態でR1 / R2のステータスがどのようになっているかIPv6のshowコマンドの紹介を兼ねて見てみます。まずR1からです。
R1# show ipv6 route bgp IPv6 Routing Table - 5 entries Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP U - Per-user Static route, M - MIPv6 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 D - EIGRP, EX - EIGRP external B 2001:DB8:0:1::/64 [20/0] via FE80::1, FastEthernet0/1 R1# show bgp ipv6 unicast summary BGP router identifier 1.1.1.1, local AS number 100 BGP table version is 2, main routing table version 2 1 network entries using 152 bytes of memory 1 path entries using 76 bytes of memory 2/1 BGP path/bestpath attribute entries using 248 bytes of memory 1 BGP AS-PATH entries using 24 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory BGP using 500 total bytes of memory BGP activity 1/0 prefixes, 1/0 paths, scan interval 60 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 2001:DB8:0:254::1 4 200 69 69 2 0 0 00:32:52 1 |
続いてR2を見てます。コマンドの体系が多少違うだけで内容的にはIPv4と同一です。
R2# show ipv6 route IPv6 Routing Table - 7 entries Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP U - Per-user Static route, M - MIPv6 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 D - EIGRP, EX - EIGRP external B ::/0 [20/0] via FE80::2, FastEthernet0/1 C 2001:DB8:0:1::/64 [0/0] via ::, FastEthernet0/0 L 2001:DB8:0:1::1/128 [0/0] via ::, FastEthernet0/0 O 2001:DB8:0:2::1/128 [110/10] via FE80::2, FastEthernet0/0 C 2001:DB8:0:254::/64 [0/0] via ::, FastEthernet0/1 L 2001:DB8:0:254::1/128 [0/0] via ::, FastEthernet0/1 L FF00::/8 [0/0] via ::, Null0 R2# show bgp ipv6 unicast BGP table version is 4, local router ID is 2.2.2.2 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> ::/0 2001:DB8:0:254::254 0 0 100 i *> 2001:DB8:0:1::/64 :: 0 32768 ? *> 2001:DB8:0:2::1/128 :: 10 32768 ? R2# show bgp ipv6 unicast summary BGP router identifier 2.2.2.2, local AS number 200 BGP table version is 4, main routing table version 4 3 network entries using 456 bytes of memory 3 path entries using 228 bytes of memory 4/3 BGP path/bestpath attribute entries using 496 bytes of memory 1 BGP AS-PATH entries using 24 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory Bitfield cache entries: current 1 (at peak 1) using 32 bytes of memory BGP using 1236 total bytes of memory BGP activity 3/0 prefixes, 3/0 paths, scan interval 60 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 2001:DB8:0:254::254 4 100 102 102 4 0 0 00:49:22 1 R2# show bgp ipv6 unicast neighbors 2001:DB8:0:254::254 advertised-routes BGP table version is 4, local router ID is 2.2.2.2 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 2001:DB8:0:1::/64 :: 0 32768 ? Total number of prefixes 1 |