technical report for ipv6 routing w/ bgp4+ (part2)

24
“BGP4+”を用いた IPv6ルーティング のお勉強メモ 1 2014.9.21 @ttsubo ~その2~

Upload: toshiki-tsuboi

Post on 25-May-2015

260 views

Category:

Technology


4 download

DESCRIPTION

“BGP4+”を用いた IPv6ルーティング のお勉強メモ ~その2~

TRANSCRIPT

Page 1: Technical report for IPv6 Routing w/ bgp4+ (part2)

“BGP4+”を用いた IPv6ルーティング のお勉強メモ

1

2014.9.21

@ttsubo

~その2~

Page 2: Technical report for IPv6 Routing w/ bgp4+ (part2)

2

まず、“BGP4+”を用いたIPv6ルーティングによるIPv6プレフィックスの経路広告の様子

を確認してみる

Page 3: Technical report for IPv6 Routing w/ bgp4+ (part2)

BGP4+

Native IPv6 (OSPF v3)

Native IPv6 (OSPF v3)

2001:1:3:1::/64

2001:1:3:2::/64

2001:1:3:3::/64

BGP4+

CE3#show bgp ipv6 unicast BGP table version is 7, local router ID is 10.10.10.3 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found ! Network Next Hop Metric LocPrf Weight Path *> 2001:1:1:1::/64 2001:1:1:3::1 0 65000 9598 65001 ? *> 2001:1:1:2::/64 2001:1:1:3::1 0 65000 9598 65002 ? *> 2001:1:1:3::/64 :: 0 32768 ? *> 2001:1:3:1::/64 2001:1:1:3::1 0 65000 9598 65001 ? *> 2001:1:3:2::/64 2001:1:1:3::1 0 65000 9598 65002 ? *> 2001:1:3:3::/64 :: 0 32768 ?

3

Page 4: Technical report for IPv6 Routing w/ bgp4+ (part2)

4

IPv6プレフィックスの経路広告の様子が確認できたので、CE3からCE1への疎通確認を

行ってみる

Page 5: Technical report for IPv6 Routing w/ bgp4+ (part2)

宛先

2001:1:3:1::/64

2001:1:3:2::/64

2001:1:3:3::/64

CE3#ping ipv6 2001:1:1:1::1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:1:1:1::1, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) !CE3#traceroute ipv6 2001:1:1:1::1 Type escape sequence to abort. Tracing the route to 2001:1:1:1::1 ! 1 2001:1:1:3::1 8 msec 4 msec 20 msec 2 2001:2:2:1::1 88 msec 36 msec 72 msec 3 2001:1:1:4::1 88 msec 64 msec 104 msec 4 * * * 5 * * * ..(snip)

×Drop!!

送信元5

Page 6: Technical report for IPv6 Routing w/ bgp4+ (part2)

6

CE3からのICMP Echoが、 CE1に到達できない!!

なぜ、失敗する?

Page 7: Technical report for IPv6 Routing w/ bgp4+ (part2)

宛先

2001:1:3:1::/64

2001:1:3:2::/64

2001:1:3:3::/64×Drop!!

送信元

IPv6バックボーンのコアルータでは、BGP4+によるIPv6プレフィックスが伝搬されないので、IPルーティングの経路学習を行わないためだった。

失敗した理由

7

Page 8: Technical report for IPv6 Routing w/ bgp4+ (part2)

8

じゃあ、どうやって解決するか

Page 9: Technical report for IPv6 Routing w/ bgp4+ (part2)

2001:1:3:1::/64

2001:1:3:2::/64

2001:1:3:3::/64

IPv6バックボーンのコアルータでも、BGP4+によるIPv6プレフィックスが伝搬されるように、BGPピアに参加する

解決策1

9図中では、RouteReflectorとのiBGPピア関係のみを記載

Native IPv6 (OSPF v3)

Native IPv6 (OSPF v3)

Page 10: Technical report for IPv6 Routing w/ bgp4+ (part2)

2001:1:3:1::/64

2001:1:3:2::/64

2001:1:3:3::/64

10

P1#show bgp ipv6 unicast BGP table version is 19, local router ID is 10.0.0.2 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found ! Network Next Hop Metric LocPrf Weight Path *>i 2001:1:1:1::/64 2001:1:2::FFFF:1 0 100 0 65001 ? *>i 2001:1:1:2::/64 2001:1:2::FFFF:4 0 100 0 65002 ? *>i 2001:1:1:3::/64 2001:1:2::FFFF:3 0 100 0 65000 65003 ? *>i 2001:1:3:1::/64 2001:1:2::FFFF:1 0 100 0 65001 ? …(snip)

IPv6バックボーンのコアルータでも、 BGP4+によるIPv6プレフィックスが 伝搬されるようになった

Page 11: Technical report for IPv6 Routing w/ bgp4+ (part2)

宛先

2001:1:3:1::/64

2001:1:3:2::/64

2001:1:3:3::/64

CE3#ping ipv6 2001:1:1:1::1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:1:1:1::1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 160/190/220 ms !CE3#traceroute ipv6 2001:1:1:1::1 Type escape sequence to abort. Tracing the route to 2001:1:1:1::1 ! 1 2001:1:1:3::1 20 msec 72 msec 68 msec 2 2001:2:2:1::1 144 msec 156 msec 436 msec 3 2001:1:1:4::1 296 msec 444 msec 212 msec 4 2001:1:2:2::1 448 msec 120 msec 108 msec 5 2001:1:2:1::1 144 msec 140 msec 152 msec 6 2001:1:1:1::1 [AS 65001] 264 msec 224 msec 152 msec

送信元CE3からの疎通確認のICMP EchoがCE1に到達できるようになった

11

Page 12: Technical report for IPv6 Routing w/ bgp4+ (part2)

2001:1:3:1::/64

2001:1:3:2::/64

2001:1:3:3::/64

IPv6バックボーンのエッジルータにて、BGP4+によるIPv6プレフィックス情報をOSPFルーティングに変換してコアルータに配布する

解決策2

12

ipv6 router ospf 9598 redistribute connected redistribute bgp 9598 !

ipv6 router ospf 9598 redistribute bgp 9598 !

Page 13: Technical report for IPv6 Routing w/ bgp4+ (part2)

2001:1:3:1::/64

2001:1:3:2::/64

2001:1:3:3::/64

13

P1#show ipv6 route IPv6 Routing Table - default - 26 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP H - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea IS - ISIS summary, D - EIGRP, EX - EIGRP external, ND - ND Default NDp - ND Prefix, DCE - Destination, NDr - Redirect, l - LISP O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 OE2 2001:1:1:1::/64 [110/20] via FE80::1, FastEthernet1/0 OE2 2001:1:1:2::/64 [110/20] via FE80::1, FastEthernet1/0 OE2 2001:1:1:3::/64 [110/1] via FE80::2, FastEthernet1/1 !…(snip)

IPv6バックボーンのコアルータでも、 BGP4+経由のIPv6プレフィックスが 配布されるようになった

Page 14: Technical report for IPv6 Routing w/ bgp4+ (part2)

宛先

2001:1:3:1::/64

2001:1:3:2::/64

2001:1:3:3::/64

CE3#ping ipv6 2001:1:1:1::1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:1:1:1::1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 132/188/260 ms !CE3#traceroute ipv6 2001:1:1:1::1 Type escape sequence to abort. Tracing the route to 2001:1:1:1::1 ! 1 2001:1:1:3::1 20 msec 4 msec 16 msec 2 2001:2:2:1::1 84 msec 144 msec 400 msec 3 2001:1:1:4::1 428 msec 100 msec 104 msec 4 2001:1:2:2::1 128 msec 112 msec 104 msec 5 2001:1:2:1::1 200 msec 172 msec 172 msec 6 2001:1:1:1::1 [AS 65001] 260 msec 196 msec 176 msec

送信元CE3からの疎通確認のICMP EchoがCE1に到達できるようになった

14

Page 15: Technical report for IPv6 Routing w/ bgp4+ (part2)

2001:1:3:1::/64

2001:1:3:2::/64

2001:1:3:3::/64

IPv6バックボーン内で、LDPv6によるMPLSパスを有効にして、コアルータでのIPv6プレフィックのルックアップ処理が不要になるようにする。(エッジルータ間データプレーンでは、マルチホップを防止する)

解決策3

15

LDPv6

ちなみに、IPv4バックボーンでは実績豊富な解決策

本来、本解決策が望ましいが、Cisco実装が LDPv6に対応していないみたい

Page 16: Technical report for IPv6 Routing w/ bgp4+ (part2)

2001:1:3:1::/64

2001:1:3:2::/64

2001:1:3:3::/64

16

IPv4バックボーン化

解決策4IPv4バックボーン化を前提とした6PE(IPv6 over MPLS)を構築する。IPv4バックボーン内で、LDPv4によるMPLSパスを有効にして、コアルータでのIPv6プレフィックのルックアップ処理が不要になるようにする。

LDPv4

6PE(IPv6 over MPLS)の挙動を確認してみる

Page 17: Technical report for IPv6 Routing w/ bgp4+ (part2)

17

Native IPv4 (LDPv4)

Native IPv4 (LDPv4)

BGP4+

BGP4+

CE3#show bgp ipv6 unicast BGP table version is 7, local router ID is 10.10.10.3 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found ! Network Next Hop Metric LocPrf Weight Path *> 2001:1:1:1::/64 2001:1:1:3::1 0 65000 9598 65001 ? *> 2001:1:1:2::/64 2001:1:1:3::1 0 65000 9598 65002 ? *> 2001:1:1:3::/64 :: 0 32768 ? *> 2001:1:3:1::/64 2001:1:1:3::1 0 65000 9598 65001 ? *> 2001:1:3:2::/64 2001:1:1:3::1 0 65000 9598 65002 ? *> 2001:1:3:3::/64 :: 0 32768 ?

2001:1:3:1::/64

2001:1:3:2::/64

2001:1:3:3::/64

6PE(IPv6 over MPLS)でのIPv6プレフィックス情報の経路広告

Page 18: Technical report for IPv6 Routing w/ bgp4+ (part2)

18

2001:1:3:1::/64

2001:1:3:2::/64

2001:1:3:3::/64

宛先

送信元

CE3#ping ipv6 2001:1:1:1::1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:1:1:1::1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 192/239/324 ms

LDPv4

Native IPv4 (LDPv4)

Native IPv4 (LDPv4)

6PE(IPv6 over MPLS)を介したエンドエンド疎通確認

Page 19: Technical report for IPv6 Routing w/ bgp4+ (part2)

19

6PE Deep Dive

Page 20: Technical report for IPv6 Routing w/ bgp4+ (part2)

2001:1:3:1::/64

2001:1:3:2::/64

2001:1:3:3::/64

Native IPv4 (LDPv4)

Native IPv4 (LDPv4)

20

AS65003側のIPv6プレフィックス情報が、AS65001に経路広告される様子と、PE1エッジルータで保持している経路情報(採用されたNextHopアドレス)を確認してみた。 さらに、データプレーン転送の様子も確認してみた。

”BGP4+”を用いたIPv6プレフィックス経路広告 の振る舞い調査

BGP4+

データプレーン

Page 21: Technical report for IPv6 Routing w/ bgp4+ (part2)

21

2001:1:3:1::/64

2001:1:3:2::/64

2001:1:3:3::/64

Native IPv4 (LDPv4)

Native IPv4 (LDPv4)

mp-iBGP通信(ASBR3 -> PE1)RouteReflector経由

調査1

router bgp 9598 bgp log-neighbor-changes no bgp default ipv4-unicast neighbor 10.0.0.7 remote-as 9598 neighbor 10.0.0.7 update-source Loopback0 neighbor 2001:1:1:1::1 remote-as 65001 ! address-family ipv4 exit-address-family ! address-family ipv6 neighbor 10.0.0.7 activate neighbor 10.0.0.7 next-hop-self neighbor 10.0.0.7 send-label neighbor 2001:1:1:1::1 activate exit-address-family

Page 22: Technical report for IPv6 Routing w/ bgp4+ (part2)

PE1側で取得したmp-iBGP(UPDATE)通信キャプチャ

PE1#show mpls forwarding-table Local Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or Tunnel Id Switched interface 16 21 10.0.0.7/32 2454 Fa1/1 172.16.1.2 17 25 10.0.0.6/32 0 Fa1/1 172.16.1.2 18 16 10.0.0.5/32 2432 Fa1/1 172.16.1.2 19 Pop Label 10.0.0.4/32 6161 Fa2/0 172.16.5.2 20 22 10.0.0.3/32 1220 Fa1/1 172.16.1.2 21 Pop Label 10.0.0.2/32 0 Fa1/1 172.16.1.2 22 20 172.16.3.0/30 0 Fa1/1 172.16.1.2 23 19 172.16.4.0/30 0 Fa1/1 172.16.1.2 24 23 172.16.7.0/30 0 Fa1/1 172.16.1.2 25 Pop Label 172.16.2.0/30 0 Fa1/1 172.16.1.2 26 Pop Label 172.16.6.0/30 0 Fa1/1 172.16.1.2 27 Pop Label 172.16.8.0/30 0 Fa1/1 172.16.1.2 28 No Label 2001:1:1:1::/64 570 aggregate 29 No Label 2001:1:3:1::/64 570 Fa1/0 FE80::C805:1EFF:FE50:1C

22

データプレーン転送時、NextHopに、 シングルホップで到達できるように、 LDPラベルが挿入される

データプレーン転送時、IPv6プレフィックスに対応したBGPラベルが挿入される

Page 23: Technical report for IPv6 Routing w/ bgp4+ (part2)

23

2001:1:3:1::/64

2001:1:3:2::/64

2001:1:3:3::/64

Native IPv4 (LDPv4)

Native IPv4 (LDPv4)

データプレーン通信(CE1->CE3)調査2送信元 宛先

LDPv4

PE1#show mpls forwarding-table Local Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or Tunnel Id Switched interface 16 21 10.0.0.7/32 2454 Fa1/1 172.16.1.2 17 25 10.0.0.6/32 0 Fa1/1 172.16.1.2 18 16 10.0.0.5/32 2432 Fa1/1 172.16.1.2 19 Pop Label 10.0.0.4/32 6161 Fa2/0 172.16.5.2 20 22 10.0.0.3/32 1220 Fa1/1 172.16.1.2 21 Pop Label 10.0.0.2/32 0 Fa1/1 172.16.1.2 22 20 172.16.3.0/30 0 Fa1/1 172.16.1.2 23 19 172.16.4.0/30 0 Fa1/1 172.16.1.2 24 23 172.16.7.0/30 0 Fa1/1 172.16.1.2 25 Pop Label 172.16.2.0/30 0 Fa1/1 172.16.1.2 26 Pop Label 172.16.6.0/30 0 Fa1/1 172.16.1.2 27 Pop Label 172.16.8.0/30 0 Fa1/1 172.16.1.2 28 No Label 2001:1:1:1::/64 570 aggregate 29 No Label 2001:1:3:1::/64 570 Fa1/0 FE80::C805:1EFF:FE50:1C

PE1#show bgp ipv6 unicast labels Network Next Hop In label/Out label 2001:1:1:1::/64 2001:1:1:1::1 28/nolabel 2001:1:1:2::/64 ::FFFF:10.0.0.4 nolabel/28 2001:1:1:3::/64 ::FFFF:10.0.0.3 nolabel/28 2001:1:3:1::/64 2001:1:1:1::1 29/nolabel 2001:1:3:2::/64 ::FFFF:10.0.0.4 nolabel/29 2001:1:3:3::/64 ::FFFF:10.0.0.3 nolabel/29 !!!!!!!!

データプレーン転送時、NextHopに、 シングルホップで到達できるように、 LDPラベル[22]が挿入される

データプレーン転送時、 IPv6プレフィックスに 対応したBGPラベル[28] が挿入される

Page 24: Technical report for IPv6 Routing w/ bgp4+ (part2)

PE1側で取得したICMP通信キャプチャ

24

BGPラベル[28]が挿入されている

LDPラベル[22]が挿入されている