interas mpls-vpn with ryubgp

21
Inter-AS環境におけるボーダールータとして Ryu BGP機能を試してみた @ttsubo 2014.8.31 1

Upload: toshiki-tsuboi

Post on 22-May-2015

3.702 views

Category:

Technology


0 download

DESCRIPTION

InterAS MPLS-VPNにおけるボーダールータとして、Ryu SDN FrameworkにおけるBGP機能を配備した場合の動作を試してみました

TRANSCRIPT

Page 1: InterAS MPLS-VPN with RyuBgp

Inter-AS環境におけるボーダールータとして Ryu BGP機能を試してみた

@ttsubo

2014.8.31

1

Page 2: InterAS MPLS-VPN with RyuBgp

試してみたいこと

Ryu BGPを使ったポリシールーティングが どの程度、動作するのか?

http://ttsubo.hatenablog.com/entry/2014/08/16/000248

これまでの経緯は、 こちらのブログ記事を参考にしてください

2

Page 3: InterAS MPLS-VPN with RyuBgp

まずは、実際のCiscoルータの挙動を確認してみました

GNS3によるCisco エミュレータですけど

3

Page 4: InterAS MPLS-VPN with RyuBgp

■まずは、目標感 -> InterAS MPLS VPNでのポリシールーティングの動作確認

PE2

PE1 P1

P2

ASBR3

CE3

CE4CE1

CE2

AS 65010(既設)

AS 65001

AS 65002ASBR4

RR

PE3

CE5AS 65011(増設)

ASBR1

ASBR2

LocalPreference で制御

MED で制御

LocalPreference で制御

通常時は、AS間のトラフィックを片側リンクに寄せたい AS間での故障時は、もう片側のリンクに迂回させたい

ポリシールーティング実現方法4

Page 5: InterAS MPLS-VPN with RyuBgp

eBGP

eBGPStatic経路

Static経路

Static経路

■検証構成 -> InterAS MPLS VPNにおける各BGPルータでのBGPテーブルを  確認してみる

PE2

PE1 P1

P2

ASBR3

CE3

CE4CE1

CE2

AS 65010(既設)

AS 65001

AS 65002ASBR4

RR

PE3

CE5AS 65011(増設)

ASBR1

ASBR2

5

Page 6: InterAS MPLS-VPN with RyuBgp

PE2

PE1 P1

P2

ASBR3

CE3

CE4CE1

CE2

AS 65010(既設)

AS 65001

AS 65002ASBR4

RR

PE3

CE5AS 65011(増設)

ASBR1

ASBR2

PE1#show bgp vpnv4 unicast all BGP table version is 34, local router ID is 10.0.0.1 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 Route Distinguisher: 65010:101 (default for vrf customerA) *> 10.10.10.1/32 192.168.1.1 0 0 65001 ? *>i 10.10.10.2/32 10.0.0.4 0 100 0 65002 ? *>i 10.10.10.3/32 10.0.0.3 100 200 0 65011 ? *>i 10.10.10.4/32 10.0.0.3 100 200 0 65011 ? *>i 10.10.10.5/32 10.0.0.3 100 200 0 65011 ? * 192.168.1.0/30 192.168.1.1 0 0 65001 ? *> 0.0.0.0 0 32768 ? *>i 192.168.2.0/30 10.0.0.4 0 100 0 ? *>i 192.168.3.0/30 10.0.0.3 100 200 0 65011 ? *>i 192.168.4.0/30 10.0.0.3 100 200 0 65011 ? *>i 192.168.5.0/30 10.0.0.3 100 200 0 65011 ? *> 192.168.201.0 192.168.1.1 0 0 65001 i *>i 192.168.202.0 10.0.0.4 0 100 0 65002 i *>i 192.168.203.0 10.0.0.3 100 200 0 65011 ? *>i 192.168.204.0 10.0.0.3 100 200 0 65011 ? *>i 192.168.205.0 10.0.0.3 100 200 0 65011 ? PE1#

6

Page 7: InterAS MPLS-VPN with RyuBgp

PE2

PE1 P1

P2

ASBR3

CE3

CE4CE1

CE2

AS 65010(既設)

AS 65001

AS 65002ASBR4

RR

PE3

CE5AS 65011(増設)

ASBR1

ASBR2

ASBR3#show bgp vpnv4 unicast all BGP table version is 22, local router ID is 10.0.0.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 Route Distinguisher: 65010:101 *>i 10.10.10.1/32 10.0.0.1 0 100 0 65001 ? *>i 10.10.10.2/32 10.0.0.4 0 100 0 65002 ? *> 10.10.10.3/32 192.168.101.102 100 200 0 65011 ? *> 10.10.10.4/32 192.168.101.102 100 200 0 65011 ? *> 10.10.10.5/32 192.168.101.102 100 200 0 65011 ? *>i 192.168.1.0/30 10.0.0.1 0 100 0 ? *>i 192.168.2.0/30 10.0.0.4 0 100 0 ? *> 192.168.3.0/30 192.168.101.102 100 200 0 65011 ? *> 192.168.4.0/30 192.168.101.102 100 200 0 65011 ? *> 192.168.5.0/30 192.168.101.102 100 200 0 65011 ? *>i 192.168.201.0 10.0.0.1 0 100 0 65001 i *>i 192.168.202.0 10.0.0.4 0 100 0 65002 i *> 192.168.203.0 192.168.101.102 100 200 0 65011 ? *> 192.168.204.0 192.168.101.102 100 200 0 65011 ? *> 192.168.205.0 192.168.101.102 100 200 0 65011 ? ASBR3#

7

Page 8: InterAS MPLS-VPN with RyuBgp

PE2

PE1 P1

P2

ASBR3

CE3

CE4CE1

CE2

AS 65010(既設)

AS 65001

AS 65002ASBR4

RR

PE3

CE5AS 65011(増設)

ASBR1

ASBR2

ASBR1#show bgp vpnv4 unicast all BGP table version is 34, local router ID is 10.0.1.1 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 Route Distinguisher: 65010:101 (default for vrf customerA) *> 10.10.10.1/32 192.168.101.101 100 200 0 65010 65001 ? *> 10.10.10.2/32 192.168.101.101 100 200 0 65010 65002 ? *>i 10.10.10.3/32 10.0.1.3 0 100 0 ? *> 10.10.10.4/32 192.168.4.2 0 32768 ? *>i 10.10.10.5/32 10.0.1.2 0 100 0 ? *> 192.168.1.0/30 192.168.101.101 100 200 0 65010 ? *> 192.168.2.0/30 192.168.101.101 100 200 0 65010 ? *>i 192.168.3.0/30 10.0.1.3 0 100 0 ? *> 192.168.4.0/30 0.0.0.0 0 32768 ? *>i 192.168.5.0/30 10.0.1.2 0 100 0 ? *> 192.168.201.0 192.168.101.101 100 200 0 65010 65001 i *> 192.168.202.0 192.168.101.101 100 200 0 65010 65002 i *>i 192.168.203.0 10.0.1.3 0 100 0 ? *> 192.168.204.0 192.168.4.2 0 32768 ? *>i 192.168.205.0 10.0.1.2 0 100 0 ? ASBR1#

8

Page 9: InterAS MPLS-VPN with RyuBgp

PE2

PE1 P1

P2

ASBR3

CE3

CE4CE1

CE2

AS 65010(既設)

AS 65001

AS 65002ASBR4

RR

PE3

CE5AS 65011(増設)

ASBR1

ASBR2

ASBR2#show bgp vpnv4 unicast all BGP table version is 34, local router ID is 10.0.1.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 Route Distinguisher: 65010:101 (default for vrf customerA) *>i 10.10.10.1/32 10.0.1.1 100 200 0 65010 65001 ? * 192.168.102.101 200 100 0 65010 65001 ? *>i 10.10.10.2/32 10.0.1.1 100 200 0 65010 65002 ? * 192.168.102.101 200 100 0 65010 65002 ? *>i 10.10.10.3/32 10.0.1.3 0 100 0 ? *>i 10.10.10.4/32 10.0.1.1 0 100 0 ? *> 10.10.10.5/32 192.168.5.2 0 32768 ? *>i 192.168.1.0/30 10.0.1.1 100 200 0 65010 ? * 192.168.102.101 200 100 0 65010 ? *>i 192.168.2.0/30 10.0.1.1 100 200 0 65010 ? * 192.168.102.101 200 100 0 65010 ? *>i 192.168.3.0/30 10.0.1.3 0 100 0 ? *>i 192.168.4.0/30 10.0.1.1 0 100 0 ? *> 192.168.5.0/30 0.0.0.0 0 32768 ? *>i 192.168.201.0 10.0.1.1 100 200 0 65010 65001 i * 192.168.102.101 200 100 0 65010 65001 i *>i 192.168.202.0 10.0.1.1 100 200 0 65010 65002 i * 192.168.102.101 200 100 0 65010 65002 i *>i 192.168.203.0 10.0.1.3 0 100 0 ? *>i 192.168.204.0 10.0.1.1 0 100 0 ? *> 192.168.205.0 192.168.5.2 0 32768 ? ASBR2#

9

Page 10: InterAS MPLS-VPN with RyuBgp

PE2

PE1 P1

P2

ASBR3

CE3

CE4CE1

CE2

AS 65010(既設)

AS 65001

AS 65002ASBR4

RR

PE3

CE5AS 65011(増設)

ASBR1

ASBR2

PE3#show bgp vpnv4 unicast all BGP table version is 34, local router ID is 10.0.1.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 Route Distinguisher: 65010:101 (default for vrf customerA) *>i 10.10.10.1/32 10.0.1.1 100 200 0 65010 65001 ? *>i 10.10.10.2/32 10.0.1.1 100 200 0 65010 65002 ? *> 10.10.10.3/32 192.168.3.2 0 32768 ? *>i 10.10.10.4/32 10.0.1.1 0 100 0 ? *>i 10.10.10.5/32 10.0.1.2 0 100 0 ? *>i 192.168.1.0/30 10.0.1.1 100 200 0 65010 ? *>i 192.168.2.0/30 10.0.1.1 100 200 0 65010 ? *> 192.168.3.0/30 0.0.0.0 0 32768 ? *>i 192.168.4.0/30 10.0.1.1 0 100 0 ? *>i 192.168.5.0/30 10.0.1.2 0 100 0 ? *>i 192.168.201.0 10.0.1.1 100 200 0 65010 65001 i *>i 192.168.202.0 10.0.1.1 100 200 0 65010 65002 i *> 192.168.203.0 192.168.3.2 0 32768 ? *>i 192.168.204.0 10.0.1.1 0 100 0 ? *>i 192.168.205.0 10.0.1.2 0 100 0 ? PE3#

10

Page 11: InterAS MPLS-VPN with RyuBgp

つぎに、ASBRにRyuBGPを適用した場合、 BGPの挙動を確認してみました

11

Page 12: InterAS MPLS-VPN with RyuBgp

■Ryu BGPを適用した検証構成 -> AS:65011のボーダールータとしてRyu BGPを配意してみる。

PE2

PE1 P1

P2

ASBR3

CE3

CE4CE1

CE2

AS 65010(既設)

AS 65001

AS 65002ASBR4

RR

PE3

CE5AS 65011(増設)

MED で制御

LocalPreference で制御

通常時は、AS間のトラフィックを片側リンクに寄せたい AS間での故障時は、もう片側のリンクに迂回させたい

ポリシールーティング実現方法

Ryu BGP1

Ryu BGP2

LocalPreference で制御

12

Page 13: InterAS MPLS-VPN with RyuBgp

import eventlet import time !eventlet.monkey_patch() !import logging import sys logging.basicConfig(level=logging.INFO) !from ryu.services.protocols.bgp.bgpspeaker import BGPSpeaker !def dump_remote_best_path_change(event): print 'the best path changed:', event.remote_as, event.prefix,\ event.nexthop, event.is_withdraw !if __name__ == "__main__": speaker = BGPSpeaker(as_number=65011, router_id='10.0.1.1', best_path_change_handler=dump_remote_best_path_change, ssh_console=True, label_range=(1000,1999)) ! speaker.neighbor_add('192.168.101.101', 65010, enable_ipv4=True, enable_vpnv4=True, multi_exit_disc=100) speaker.neighbor_add('192.168.104.102', 65011, enable_ipv4=True, enable_vpnv4=True, next_hop='10.0.1.1') speaker.neighbor_add('10.0.1.3', 65011, enable_ipv4=True, enable_vpnv4=True, next_hop='10.0.1.1') speaker.vrf_add('65010:101', ['65010:101'], ['65010:101']) eventlet.sleep(5) speaker.prefix_add('192.168.4.0/30', next_hop='0.0.0.0', route_dist='65010:101') speaker.prefix_add('10.10.10.4/32', next_hop='192.168.4.2', route_dist='65010:101') speaker.prefix_add('192.168.204.0/30', next_hop='192.168.4.2', route_dist='65010:101') ! while True: eventlet.sleep(5)

Ryu BGP1のサンプルコード

13

Page 14: InterAS MPLS-VPN with RyuBgp

import eventlet import time !eventlet.monkey_patch() !import logging import sys logging.basicConfig(level=logging.INFO) !from ryu.services.protocols.bgp.bgpspeaker import BGPSpeaker !def dump_remote_best_path_change(event): print 'the best path changed:', event.remote_as, event.prefix,\ event.nexthop, event.is_withdraw !if __name__ == "__main__": speaker = BGPSpeaker(as_number=65011, router_id='10.0.1.2', best_path_change_handler=dump_remote_best_path_change, ssh_console=True, label_range=(2000,2999)) ! speaker.neighbor_add('192.168.102.101', 65010, enable_ipv4=True, enable_vpnv4=True, multi_exit_disc=200) speaker.neighbor_add('192.168.104.101', 65011, enable_ipv4=True, enable_vpnv4=True, next_hop='10.0.1.2') speaker.neighbor_add('10.0.1.3', 65011, enable_ipv4=True, enable_vpnv4=True, next_hop='10.0.1.2') speaker.vrf_add('65010:101', ['65010:101'], ['65010:101']) eventlet.sleep(5) speaker.prefix_add('192.168.5.0/30', next_hop='0.0.0.0', route_dist='65010:101') speaker.prefix_add('10.10.10.5/32', next_hop='192.168.5.2', route_dist='65010:101') speaker.prefix_add('192.168.205.0/30', next_hop='192.168.5.2', route_dist='65010:101') ! while True: eventlet.sleep(5)

Ryu BGP2のサンプルコード

14

Page 15: InterAS MPLS-VPN with RyuBgp

eBGP

eBGP

■BGP経路構成(Ryu BGP起動後)

Ryu BGP2

Ryu BGP1

Static経路

Static経路

Static経路

PE2

PE1 P1

P2

ASBR3

CE3

CE4CE1

CE2

AS 65010(既設)

AS 65001

AS 65002ASBR4

RR

Ryu BGP1

Ryu BGP2

PE3

CE5AS 65011(増設)15

Page 16: InterAS MPLS-VPN with RyuBgp

PE2

PE1 P1

P2

ASBR3

CE3

CE4CE1

CE2

AS 65010(既設)

AS 65001

AS 65002ASBR4

RR

PE3

CE5AS 65011(増設)

Ryu BGP1

Ryu BGP2

PE1#show bgp vpnv4 unicast all BGP table version is 466, local router ID is 10.0.0.1 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 Route Distinguisher: 65010:101 (default for vrf customerA) *> 10.10.10.1/32 192.168.1.1 0 0 65001 ? *>i 10.10.10.2/32 10.0.0.4 0 100 0 65002 ? *>i 10.10.10.3/32 10.0.0.3 0 200 0 65011 ? *>i 10.10.10.4/32 10.0.0.3 100 200 0 65011 ? *>i 10.10.10.5/32 10.0.0.3 100 200 0 65011 ? * 192.168.1.0/30 192.168.1.1 0 0 65001 ? *> 0.0.0.0 0 32768 ? *>i 192.168.2.0/30 10.0.0.4 0 100 0 ? *>i 192.168.3.0/30 10.0.0.3 0 200 0 65011 ? *>i 192.168.4.0/30 10.0.0.3 100 200 0 65011 ? *>i 192.168.5.0/30 10.0.0.3 100 200 0 65011 ? *> 192.168.201.0 192.168.1.1 0 0 65001 i *>i 192.168.202.0 10.0.0.4 0 100 0 65002 i *>i 192.168.203.0 10.0.0.3 0 200 0 65011 ? *>i 192.168.204.0/30 10.0.0.3 100 200 0 65011 ? *>i 192.168.205.0/30 10.0.0.3 100 200 0 65011 ? PE1#

PE3で生成した経路情報に限り、MED値が表示されない

16

Page 17: InterAS MPLS-VPN with RyuBgp

PE2

PE1 P1

P2

ASBR3

CE3

CE4CE1

CE2

AS 65010(既設)

AS 65001

AS 65002ASBR4

RR

PE3

CE5AS 65011(増設)

ASBR3#sh bgp vpnv4 unicast all BGP table version is 331, local router ID is 10.0.0.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 Route Distinguisher: 65010:101 *>i 10.10.10.1/32 10.0.0.1 0 100 0 65001 ? *>i 10.10.10.2/32 10.0.0.4 0 100 0 65002 ? *> 10.10.10.3/32 192.168.101.102 0 200 0 65011 ? *> 10.10.10.4/32 192.168.101.102 100 200 0 65011 ? *> 10.10.10.5/32 192.168.101.102 100 200 0 65011 ? *>i 192.168.1.0/30 10.0.0.1 0 100 0 ? *>i 192.168.2.0/30 10.0.0.4 0 100 0 ? *> 192.168.3.0/30 192.168.101.102 0 200 0 65011 ? *> 192.168.4.0/30 192.168.101.102 100 200 0 65011 ? *> 192.168.5.0/30 192.168.101.102 100 200 0 65011 ? *>i 192.168.201.0 10.0.0.1 0 100 0 65001 i *>i 192.168.202.0 10.0.0.4 0 100 0 65002 i *> 192.168.203.0 192.168.101.102 0 200 0 65011 ? *> 192.168.204.0/30 192.168.101.102 100 200 0 65011 ? *> 192.168.205.0/30 192.168.101.102 100 200 0 65011 ? ASBR3#

Ryu BGP1

Ryu BGP2

PE3で生成した経路情報に限り、MED値が表示されない

17

Page 18: InterAS MPLS-VPN with RyuBgp

PE2

PE1 P1

P2

ASBR3

CE3

CE4CE1

CE2

AS 65010(既設)

AS 65001

AS 65002ASBR4

RR

PE3

CE5AS 65011(増設)

bgpd> show rib vpnv4 Status codes: * valid, > best Origin codes: i - IGP, e - EGP, ? - incomplete Network Labels Next Hop Reason Metric LocPrf Path *> 65010:101:192.168.5.0/30 [2000] 10.0.1.2 Only Path 100 ? *> 65010:101:10.10.10.5/32 [2001] 10.0.1.2 Only Path 100 ? *> 65010:101:192.168.205.0/30 [2001] 10.0.1.2 Only Path 100 ? *> 65010:101:192.168.1.0/30 [28] 192.168.101.101 Only Path 100 65010 ? *> 65010:101:192.168.2.0/30 [29] 192.168.101.101 Only Path 100 65010 ? *> 65010:101:192.168.202.0/24 [30] 192.168.101.101 Only Path 100 65010 65002 i *> 65010:101:10.10.10.1/32 [31] 192.168.101.101 Only Path 100 65010 65001 ? *> 65010:101:10.10.10.2/32 [32] 192.168.101.101 Only Path 100 65010 65002 ? *> 65010:101:192.168.201.0/24 [33] 192.168.101.101 Only Path 100 65010 65001 i *> 65010:101:192.168.4.0/30 [1000] 0.0.0.0 Only Path ? *> 65010:101:10.10.10.4/32 [1001] 192.168.4.2 Only Path ? *> 65010:101:192.168.204.0/30 [1001] 192.168.4.2 Only Path ? *> 65010:101:192.168.3.0/30 [19] 10.0.1.3 Only Path 0 100 ? *> 65010:101:192.168.203.0/24 [20] 10.0.1.3 Only Path 0 100 ? *> 65010:101:10.10.10.3/32 [18] 10.0.1.3 Only Path 0 100 ? bgpd>

Ryu BGP1

Ryu BGP2

LocalPreference が付与できない

18

Page 19: InterAS MPLS-VPN with RyuBgp

PE2

PE1 P1

P2

ASBR3

CE3

CE4CE1

CE2

AS 65010(既設)

AS 65001

AS 65002ASBR4

RR

PE3

CE5AS 65011(増設)

Ryu BGP1

Ryu BGP2

bgpd> show rib vpnv4 Status codes: * valid, > best Origin codes: i - IGP, e - EGP, ? - incomplete Network Labels Next Hop Reason Metric LocPrf Path *> 65010:101:192.168.3.0/30 [19] 10.0.1.3 Only Path 0 100 ? *> 65010:101:192.168.203.0/24 [20] 10.0.1.3 Only Path 0 100 ? *> 65010:101:10.10.10.3/32 [18] 10.0.1.3 Only Path 0 100 ? *> 65010:101:192.168.5.0/30 [2000] 0.0.0.0 Only Path ? *> 65010:101:10.10.10.5/32 [2001] 192.168.5.2 Only Path ? *> 65010:101:192.168.205.0/30 [2001] 192.168.5.2 Only Path ? *> 65010:101:192.168.202.0/24 [30] 192.168.101.101 MED 100 65010 65002 i * [33] 192.168.102.101 200 65010 65002 i *> 65010:101:192.168.201.0/24 [33] 192.168.101.101 MED 100 65010 65001 i * [36] 192.168.102.101 200 65010 65001 i *> 65010:101:192.168.204.0/30 [1001] 10.0.1.1 Only Path 100 ? *> 65010:101:10.10.10.4/32 [1001] 10.0.1.1 Only Path 100 ? *> 65010:101:192.168.2.0/30 [29] 192.168.101.101 MED 100 65010 ? * [29] 192.168.102.101 200 65010 ? *> 65010:101:10.10.10.1/32 [31] 192.168.101.101 MED 100 65010 65001 ? * [34] 192.168.102.101 200 65010 65001 ? *> 65010:101:192.168.1.0/30 [28] 192.168.101.101 MED 100 65010 ? * [28] 192.168.102.101 200 65010 ? *> 65010:101:10.10.10.2/32 [32] 192.168.101.101 MED 100 65010 65002 ? * [35] 192.168.102.101 200 65010 65002 ? *> 65010:101:192.168.4.0/30 [1000] 10.0.1.1 Only Path 100 ? bgpd>

AS65010側で生成した経路情報を、i-BGP経由で受信した場合には、MED値が表示されない

19

Page 20: InterAS MPLS-VPN with RyuBgp

PE2

PE1 P1

P2

ASBR3

CE3

CE4CE1

CE2

AS 65010(既設)

AS 65001

AS 65002ASBR4

RR

PE3

CE5AS 65011(増設)

Ryu BGP1

Ryu BGP2

PE3#show bgp vpnv4 unicast all BGP table version is 58, local router ID is 10.0.1.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 Route Distinguisher: 65010:101 (default for vrf customerA) * i 10.10.10.1/32 192.168.101.101 100 0 65010 65001 ? * i 10.10.10.2/32 192.168.101.101 100 0 65010 65002 ? *> 10.10.10.3/32 192.168.3.2 0 32768 ? *>i 10.10.10.4/32 10.0.1.1 100 0 ? *>i 10.10.10.5/32 10.0.1.2 100 0 ? * i 192.168.1.0/30 192.168.101.101 100 0 65010 ? * i 192.168.2.0/30 192.168.101.101 100 0 65010 ? *> 192.168.3.0/30 0.0.0.0 0 32768 ? *>i 192.168.4.0/30 10.0.1.1 100 0 ? *>i 192.168.5.0/30 10.0.1.2 100 0 ? * i 192.168.201.0 192.168.101.101 100 0 65010 65001 i * i 192.168.202.0 192.168.101.101 100 0 65010 65002 i *> 192.168.203.0 192.168.3.2 0 32768 ? *>i 192.168.204.0/30 10.0.1.1 100 0 ? *>i 192.168.205.0/30 10.0.1.2 100 0 ? PE3#

AS65010側で生成した経路情報の最適パスが表示されない

20

AS65010から受信した経路情報に対して、LoopBackアドレスへの書き換えが行われていない

Page 21: InterAS MPLS-VPN with RyuBgp

わかったこと、

> 現段階のRyu BGPは、BGPピアの終端点への配備を  前提とした機能具備がなされている。

> BGPピアの中継点に配備する場合には、BGPパラメータ  の伝搬に関わる留意点を想定する必要がある。> OSPFルーティングドメイン等との連携については、  使い手が自前で準備する必要がある。  -> NextHopへの到達性への対応も別途必要  -> データプレーン連携に関わる対応も別途必要  ちなみに、今回は、すべて静的ルーティング設定を事前に  行うことで対応した。

> 現段階のRyu BGPは、i-BGPピアに関わる機能配備には  適用が困難そうだと感じた。