ãµã㪠Multi-AS ã§æ§æããããããã¯ãŒã¯ã«ãããŠã SR-MPLS + VPNv4 ã«ãã L3VPN ãå®çŸ IOS XR + Junos ã® Multi-vendor ç°å¢ã§åäœæ€èšŒã«æå ãã®èšäºã¯ Multi-AS SR æ€èšŒé£èŒã®ç¬¬ 2 åã§ããç®æ¬¡ã¯ ãã¡ã æŠèŠ ã€ãããŒã·ã§ã³ã»ã³ã¿ãŒã®å²©ç°ã§ããæ®æ®µã®æ¥åã§ã¯ Multi-AS Segment Routing ã«é¢ããæè¡æ€èšŒãããã³ãã£ãŒäŒæ¥ãžã®æè¡æ¯æŽã§ã¹ããŒããã©ã³ã¢ããªã±ãŒã·ã§ã³éçºæ¥åãªã©ãè¡ãªã£ãŠããŸãã æ¬èšäºã§ã¯æã
ã®æ€èšŒã®ã¡ã€ã³ã¿ãŒã²ããã§ãã Multi-AS/Multi-domain SR-MPLS ãçšãã L3VPN ã«ã€ããŠã玹ä»ããŸãã 第 0 åã®èšäº ã§ãã玹ä»ããéããæã
㯠Multi-AS/Multi-domain SR ã«ããæ¡åŒµæ§ã®ãããããã¯ãŒã¯ã®å®çŸã«ã€ããŠæ€èšãæ€èšŒããŠããŸããæ¬èšäºã®æµããšããŠã¯ããŸãã¢ã³ããŒã¬ã€ãè€æ°ã® AS ããã¡ã€ã³ã«åå²ããå©ç¹ã«ã€ããŠè¿°ã¹ãåå²ãã AS ãã©ã®ããã«æ¥ç¶ãããã«ã€ããŠæ€èšããŸãããã®åŸãMulti-AS/Multi-domain SR-MPLS ãçšãã L3VPN ã® Multi-vendor ç°å¢ã«ãããæ€èšŒäŸãããµã³ãã«ããããžãŒãèšå®äŸãæ·»ããªãã玹ä»ããŸãã L3VPN ã Segment Routing ã«ã€ããŠã¯ 第 1 åã®èšäº ã§èª¬æããŠããã®ã§ãããããŠã確èªãã ããã ã¢ã³ããŒã¬ã€ã Multi-AS/Multi-domain ã«åããå©ç¹ æ¬ç¯ã§ã¯ãMulti-AS/Multi-domain ã§ ã¢ã³ããŒã¬ã€ïŒUnderlayïŒãæ§ç¯ããå©ç¹ã«ã€ããŠèª¬æããŸãã ã¢ã³ããŒã¬ã€ã Multi-AS/Multi-domain ã«åããŠæ§ç¯ããæå€§ã®å©ç¹ã¯ãã¢ã³ããŒã¬ã€ã®æ¡åŒµæ§ãä¿å®æ§ãæ
ä¿ãããç¹ã§ãã ã¢ã³ããŒã¬ã€ ã®æ¡åŒµæ§ã®èгç¹ã§ã¯ãåäžã® SR domain ãæ§ç¯ããéã« IP éè€ã§ããªãå¶çŽãããããããã©ã€ããŒã IP ã䜿çšããŠããå Žåã ãšèŠæš¡ã®æ¡å€§ãšãšãã«èšèšã®å¶çŽãå¢å ããããšãã課é¡ãžã®å¯ŸåŠãå¿
èŠã«ãªããŸããAS ãåå²ããããšã«ãã£ãŠ AS éã§ã® IP éè€ãèããã«ãã¿ãŸãã ãŸãä¿å®æ§ã®èгç¹ããããå€§èŠæš¡ãããã¯ãŒã¯ã IGP ã§ç®¡çããŠããå Žåãæ©åšãã©ãã«ãªã©ãçºçãã«ãŒãã£ã³ã°ã«åœ±é¿ããã£ãéã®çœ¹éç¯å²ã倧ãããªããšãã課é¡ããããŸãããã¡ãã AS ã SR domain ãåå²ããããšã§çœ¹éç¯å²ã屿åã§ããŸãã ãã®ããã« AS ã SR domain ãè€æ°ã«åå²ããããšã§ãèšèšã®èªç±åºŠãä¿ã¡ IGP ã IBGP ã®åœ±é¿ç¯å²ã屿åã§ãããããæ¡åŒµæ§ãšä¿å®æ§ã®ãããããã¯ãŒã¯ãæ§ç¯ã§ããŸãã Inter-AS ã®æ¥ç¶æ¹åŒã«ã€ã㊠Multi-AS ã§ MPLS VPN ãè¡ãããã«ã¯ Inter-AS ã®æ¥ç¶æ¹åŒã«ã€ããŠèããå¿
èŠããããŸãã æ¬ç¯ã§ã¯ãRFC ã«ãŠæšæºåãããŠãã 3 ã€ã®æ¥ç¶æ¹åŒãšããããçµã¿åãããæ¹åŒã«ã€ããŠèª¬æããä»åã©ã®æ¹åŒãæ¡çšãããã«ã€ããŠèª¬æããŸãã æ¥ç¶æ¹åŒã®éžå®æ¹éã¯åç¯ã§èª¬æããéããèšèšã®èªç±åºŠãä¿ã¡ IGP ã IBGP ã®åœ±é¿ç¯å²ã屿åããæ¡åŒµæ§ãšä¿å®æ§ã®ãããããã¯ãŒã¯ãæ§ç¯ã§ãããã©ãããšããŸãã Multi-AS ã§ MPLS VPN ãå®çŸããæ¹æ³ãšããŠã¯ RFC4364 ã§æšæºåãããŠãã Option AãBãC ã®3ã€ã®æ¹åŒãšãA ãš B ãçµã¿åãããæ¹åŒ D ãç¥ãããŠããŸãã ãããã以äžã®ãããªç¹åŸŽããããŸãã Option A ASBR ã§é¡§å®¢æ¯ã« ãµãã€ã³ã¿ãã§ãŒã¹ãš VRF ãäœæã EBGP ã»ãã·ã§ã³çµç±ã§çµè·¯ã亀æãã ASBR éã®åãµãã€ã³ã¿ãã§ãŒã¹éã§ã¯åçŽãª IP ãã±ããã転éã AS ãæ¥ç¶ãã ASBR éã«é¡§å®¢ã®æ°ã ããµãã€ã³ã¿ãŒãã§ãŒã¹ãäœæããå¿
èŠããã EBGP ã»ãã·ã§ã³ã¯å VRF ã§è¡ããããåãµãã€ã³ã¿ãã§ãŒã¹ã«èšå®ãå¿
èŠã«ãªã Option B ASBR ã§åäžã®ã€ã³ã¿ãã§ãŒã¹ãçšã㊠EBGP ã»ãã·ã§ã³ã匵ã VPN çµè·¯ã亀æãã ASBR ã§ VPN ã©ãã«ã Swap ã ASBR éãå¥ã®ã©ãã«ãçšããŠè»¢éã AS ãæ¥ç¶ãã Option C VPN çµè·¯ã RR çµç±ã§äº€æããäºãã®ã¢ã³ããŒã¬ã€æ
å ±ãå
±æãã ASBR ã« VRF ãäžèŠ Multi-AS ã§ åäžã® SR domain ãæ§ç¯ã§ãã ã¢ã³ããŒã¬ã€ãå
±æããããå¶çŽãå¢ããåè¿°ã® Multi-AS ã®å©ç¹ã®ãã¡ã®æ¡åŒµæ§ã¯æžå°ãã Option DïŒA+BïŒ ASBR ã§åäžã®ã€ã³ã¿ãã§ãŒã¹ãçšã㊠EBGP ã»ãã·ã§ã³ã匵ã VPN çµè·¯ã亀æãã ïŒB ãšåæ§ïŒ ASBR éã¯é¡§å®¢æ¯ã«äœæãããµãã€ã³ã¿ãã§ãŒã¹éã§åçŽãª IP ãã±ããã®è»¢éãããããšã§ AS ãæ¥ç¶ãã ïŒA ãšåæ§ïŒ ASBR éã«é¡§å®¢ã®æ°ã ããµãã€ã³ã¿ãŒãã§ãŒã¹ãäœæããå¿
èŠãããïŒA ãšåæ§ïŒ VPN çµè·¯ã®äº€æã¯åäžã€ã³ã¿ãã§ãŒã¹ãçšããŠè¡ãããåã€ã³ã¿ãã§ãŒã¹ãžã®èšå®ãäžèŠïŒA ã§ã¯ã€ã³ã¿ãã§ãŒã¹æ¯ïŒ ãŸãšããŸããšä»¥äžã®ããã«ãªããŸãã A ïŒ ASBR ã«é¡§å®¢ããšã®ãµãã€ã³ã¿ãŒãã§ãŒã¹ã EBGP ã»ãã·ã§ã³ãªã©ã®èšå®ãå¿
èŠ B ïŒ AS ãå¶éå°ãªãç¬ç«ããŠååšã§ãã ASBR éãåäžã®ã»ãã·ã§ã³ã«ãªã C ïŒã¢ã³ããŒã¬ã€ ã AS éã§åºåããããããä»åã®ç®çã«äžåã A+BïŒDïŒïŒ A ã®ç¶æ³ã®ãã¡ãµãã€ã³ã¿ãŒãã§ãŒã¹ã®èšå®ãåæ§ã«æ®ã ãã®äžã§ããä»å㯠Option B ãæ¡çšããŸãããIGPãIBGP ã®è²¬ä»»ç¯å²ãçã«åé¢ããŠéçšã§ããæ¹åŒã§ãããæ¡åŒµæ§ã»ä¿å®æ§ãä»ã® Option ã«æ¯ã¹ãŠé«ãããšãéžæçç±ã§ãã ãã ãæ©åšãš SRãVPNãOption-B ãçµã¿åãã㊠ASBR ãšããŠçšããã«ã¯ãµããŒãç¶æ³ã«å·®ããããŸãã L3VPN ã«ã€ããŠã¯ãæã
ãæ€èšŒãå§ããæç¹ã§ã® ASR9901ïŒIOS XR 7.3.1ïŒ ã MX204ïŒJunos 21.2ïŒã§æ¢ã«ãµããŒããããŠããŸãã ããã L2VPNïŒEVPNïŒã¯ IOS XR 7.4.1 1 ããã®å¯Ÿå¿ã§ãJunos 㯠2022 幎 6 ææç¹ã§æªå¯Ÿå¿ã§ãã æ€èšŒäŸã®çŽ¹ä» ä»¥é㯠L3VPN ã®æ€èšŒäŸãå®éã®èšå®äŸãæ·»ãã€ã€ç޹ä»ããŸãã ãµã³ãã«ããããžãŒïŒæ³å®ãããŠãŒã¹ã±ãŒã¹ æ€èšŒã®ãããäžèšã®ãããªããããžãŒãäœæããŸãã 3 ã€ã®ã«ãŒã¿ãŒã«ãã AS ã 2 ã€æ¥ç¶ããã³ã¢ç¶²ã§ã顧客 A ãš B ãå容ããŸãã æ€èšŒç°å¢ã¯ Multi-vendor ã«æ§æããŸãã䜿çšããæ©åšã¯äžèšã®éãã§ãã SR Domain 1 PE1ãASBR1: Cisco IOS XR 7.4.1 ASBR2: Junos OS 21.3R1.9 SR Domain 2 ASBR3: Cisco IOS XR 7.4.1 PE2ãASBR4: Junos OS 21.3R1.9 ãã®åŸã¯äžèšã®æµãã«åŸã£ãŠèšå®ã玹ä»ããŸãã IS-IS èšå®ãšç¶æ
ç¢ºèª VRF ãš MP-BGP èšå®ãšç¶æ
ç¢ºèª PE éã® ping çéè©Šéš IS-IS - èšå® IS-IS ã® SR æ¡åŒµãå©çšããSR-MPLS ã® SID æ
å ±ãåºåããŸãã ãŸããéçšå¹çåã®ãã MPLS OAM ã®èšå®ãããŠãããŸãã IOS XRïŒäŸïŒ PE1ïŒ router isis 1 is-type level-2-only net 49.0000.0000.0aff.0001.00 segment-routing global-block 16000 23999 address-family ipv4 unicast metric-style wide segment-routing mpls ! interface Loopback0 address-family ipv4 unicast prefix-sid index 1 ! ! interface GigabitEthernet0/0/0/0 point-to-point address-family ipv4 unicast ! ! interface GigabitEthernet0/0/0/1 point-to-point address-family ipv4 unicast ! ! ! segment-routing ! JunosïŒäŸïŒ PE2ïŒ set protocols isis interface ge-0/0/0.0 level 2 metric 10 set protocols isis interface ge-0/0/0.0 point-to-point set protocols isis interface ge-0/0/1.0 level 2 metric 10 set protocols isis interface ge-0/0/1.0 point-to-point set protocols isis interface lo0.0 passive set protocols isis source-packet-routing srgb start-label 16000 set protocols isis source-packet-routing srgb index-range 8000 set protocols isis source-packet-routing node-segment ipv4-index 1 set protocols isis level 1 disable set protocols isis level 2 wide-metrics-only set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.1/30 set interfaces ge-0/0/0 unit 0 family iso set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 family inet address 10.0.1.1/30 set interfaces ge-0/0/1 unit 0 family iso set interfaces ge-0/0/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.255.0.1/32 set interfaces lo0 unit 0 family iso address 49.0000.0000.0aff.0001.00 SR Global BlockïŒSRGBïŒã®å€æŽåŸã¯åèµ·åãå¿
èŠã§ãã IS-IS - åäœç¢ºèª IS-IS ãã€ããŒã®ç¶æ
ãš SID Table ã確èªããŸãã IOS XR RP/0/RP0/CPU0:pe1#show isis neighbors Fri Jun 17 13:37:40.431 JST IS-IS 1 neighbors: System Id Interface SNPA State Holdtime Type IETF-NSF asbr1 Gi0/0/0/0 *PtoP* Up 24 L2 Capable asbr2 Gi0/0/0/1 *PtoP* Up 20 L2 Capable Total neighbor count: 2 RP/0/RP0/CPU0:pe1#show mpls forwarding Fri Jun 17 13:37:45.932 JST Local Outgoing Prefix Outgoing Next Hop Bytes Label Label or ID Interface Switched ------ ----------- ------------------ ------------ --------------- ------------ 16002 Pop SR Pfx (idx 2) Gi0/0/0/0 10.0.0.2 0 16003 Pop SR Pfx (idx 3) Gi0/0/0/1 10.0.1.2 324511 24000 Pop SR Adj (idx 1) Gi0/0/0/0 10.0.0.2 0 24001 Pop SR Adj (idx 3) Gi0/0/0/0 10.0.0.2 0 24004 Pop SR Adj (idx 1) Gi0/0/0/1 10.0.1.2 0 24005 Pop SR Adj (idx 3) Gi0/0/0/1 10.0.1.2 0 Junos user@pe2> show isis adjacency Interface System L State Hold (secs) SNPA ge-0/0/0.0 asbr3 2 Up 28 ge-0/0/1.0 asbr4 2 Up 26 user@pe2> show route protocol isis table mpls.0 mpls.0: 14 destinations, 14 routes (14 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 18 *[L-ISIS/14] 1d 03:49:30, metric 0 > to 10.0.1.2 via ge-0/0/1.0, Pop 18(S=0) *[L-ISIS/14] 1d 03:49:30, metric 0 > to 10.0.1.2 via ge-0/0/1.0, Pop 19 *[L-ISIS/14] 1d 03:48:12, metric 0 > to 10.0.0.2 via ge-0/0/0.0, Pop 19(S=0) *[L-ISIS/14] 1d 03:48:12, metric 0 > to 10.0.0.2 via ge-0/0/0.0, Pop 16002 *[L-ISIS/14] 00:08:15, metric 20 > to 10.0.0.2 via ge-0/0/0.0, Pop 16002(S=0) *[L-ISIS/14] 00:08:15, metric 20 > to 10.0.0.2 via ge-0/0/0.0, Pop 16003 *[L-ISIS/14] 1d 03:49:30, metric 10 > to 10.0.1.2 via ge-0/0/1.0, Pop 16003(S=0) *[L-ISIS/14] 1d 03:49:30, metric 10 > to 10.0.1.2 via ge-0/0/1.0, Pop Static RouteïŒIOS XRïŒ - æ©åšèšå® â»ãã¡ãããããã€ã³ããªã®ã§ã泚æãã ããã IOS XR ã§ Inter-AS ãè¡ãéã«ã¯ãASBR ã®ãã¢ã®çæ¹ã§ /32 ã® Static Route ãèšå®ããå¿
èŠããããŸãã ãããè¡ããªããšã³ã³ãããŒã«ãã¬ãŒã³ã¯ç«ã¡äžãããŸãããã©ãã£ãã¯ã転éãããŸããã 詳ãã㯠ãã¡ã ããåç
§ãã ããã router static address-family ipv4 unicast 10.100.0.2/32 GigabitEthernet0/0/0/2 ! ! Static RouteïŒIOS XRïŒ - åäœç¢ºèª RP/0/RP0/CPU0:asbr1#show route static Fri Jun 17 13:29:28.349 JST S 10.100.0.2/32 is directly connected, 1d02h, GigabitEthernet0/0/0/2 VRFãMP-BGP VPNv4 - æ©åšèšå® 顧客 AãB ã® VRF èšå®ãšãçµè·¯ãåºåãã MP-BGP L3VPN ãèšå®ããŸãã VPN ã®åãã©ã¡ãŒã¿ã¯äžèšã®éãã§ãã SR Domain 1 AS çªå·: 65000 VRF 100: RD/RT 65000:100 AS éã§ã® VPN çµè·¯åºåçš RT: 64999:100 VRF 200: RD/RT 65000:200 AS éã§ã® VPN çµè·¯åºåçš RT: 64999:200 SR Domain 2 AS çªå·: 65001 VRF 100: RD/RT 65001:100 AS éã§ã® VPN çµè·¯åºåçš RT: 64999:100 VRF 200: RD/RT 65001:200 AS éã§ã® VPN çµè·¯åºåçš RT: 64999:200 PEïŒIOS XR ïŒ PE1ïŒ vrf 100 description for simple L3VPN rd 65000:100 address-family ipv4 unicast import route-target 64999:100 65000:100 ! export route-target 64999:100 65000:100 ! ! ! vrf 200 description for simple L3VPN rd 65000:200 address-family ipv4 unicast import route-target 64999:200 65000:200 ! export route-target 64999:200 65000:200 ! ! ! interface GigabitEthernet0/0/0/2 vrf 100 ipv4 address 192.168.0.254 255.255.255.0 ! interface GigabitEthernet0/0/0/3 vrf 200 ipv4 address 192.168.0.254 255.255.255.0 ! router bgp 65000 bgp router-id 10.255.0.1 address-family vpnv4 unicast ! neighbor-group ibgp remote-as 65000 update-source Loopback0 address-family vpnv4 unicast ! ! neighbor 10.255.0.2 use neighbor-group ibgp ! neighbor 10.255.0.3 use neighbor-group ibgp ! vrf 100 rd 65000:100 address-family ipv4 unicast label mode per-vrf redistribute connected ! ! vrf 200 rd 65000:200 address-family ipv4 unicast label mode per-vrf redistribute connected ! ! ! PEïŒJunos ïŒ PE2ïŒ set policy-options policy-statement EXPORT-POLICY-100 term ROUTE-TARGET then community add VRF100-65001-RT set policy-options policy-statement EXPORT-POLICY-100 term ROUTE-TARGET then community add SHARED-100-RT set policy-options policy-statement EXPORT-POLICY-100 term REDIST-DIRECT from protocol direct set policy-options policy-statement EXPORT-POLICY-100 term REDIST-DIRECT then accept set policy-options policy-statement EXPORT-POLICY-200 term ROUTE-TARGET then community add VRF200-65001-RT set policy-options policy-statement EXPORT-POLICY-200 term ROUTE-TARGET then community add SHARED-200-RT set policy-options policy-statement EXPORT-POLICY-200 term REDIST-DIRECT from protocol direct set policy-options policy-statement EXPORT-POLICY-200 term REDIST-DIRECT then accept set policy-options policy-statement IMPORT-POLICY-100 term ROUTE-TARGET-65001 from community VRF100-65001-RT set policy-options policy-statement IMPORT-POLICY-100 term ROUTE-TARGET-65001 then accept set policy-options policy-statement IMPORT-POLICY-100 term ROUTE-TARGET-SHARED from community SHARED-100-RT set policy-options policy-statement IMPORT-POLICY-100 term ROUTE-TARGET-SHARED then accept set policy-options policy-statement IMPORT-POLICY-200 term ROUTE-TARGET-65001 from community VRF200-65001-RT set policy-options policy-statement IMPORT-POLICY-200 term ROUTE-TARGET-65001 then accept set policy-options policy-statement IMPORT-POLICY-200 term ROUTE-TARGET-SHARED from community SHARED-200-RT set policy-options policy-statement IMPORT-POLICY-200 term ROUTE-TARGET-SHARED then accept set policy-options community SHARED-100-RT members target:64999:100 set policy-options community SHARED-200-RT members target:64999:200 set policy-options community VRF100-65001-RT members target:65001:100 set policy-options community VRF200-65001-RT members target:65001:200 set routing-instances 100 instance-type vrf set routing-instances 100 protocols bgp family inet unicast set routing-instances 100 interface ge-0/0/2.0 set routing-instances 100 route-distinguisher 65001:100 set routing-instances 100 vrf-import IMPORT-POLICY-100 set routing-instances 100 vrf-export EXPORT-POLICY-100 set routing-instances 100 vrf-table-label set routing-instances 200 instance-type vrf set routing-instances 200 protocols bgp family inet unicast set routing-instances 200 interface ge-0/0/3.0 set routing-instances 200 route-distinguisher 65001:200 set routing-instances 200 vrf-import IMPORT-POLICY-200 set routing-instances 200 vrf-export EXPORT-POLICY-200 set routing-instances 200 vrf-table-label set routing-options router-id 10.255.0.1 set routing-options autonomous-system 65001 set protocols router-advertisement interface fxp0.0 set protocols bgp family inet unicast set protocols bgp family inet-vpn unicast set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 10.255.0.1 set protocols bgp group ibgp family inet-vpn unicast set protocols bgp group ibgp neighbor 10.255.0.2 set protocols bgp group ibgp neighbor 10.255.0.3 ASBRïŒIOS XR ïŒ ASBR1ïŒ vrf 100 description for simple L3VPN rd 65000:100 address-family ipv4 unicast import route-target 64999:100 65000:100 ! export route-target 64999:100 65000:100 ! ! ! vrf 200 description for simple L3VPN rd 65000:200 address-family ipv4 unicast import route-target 64999:200 65000:200 ! export route-target 64999:200 65000:200 ! ! ! router bgp 65000 bgp router-id 10.255.0.2 address-family vpnv4 unicast ! neighbor-group ibgp remote-as 65000 update-source Loopback0 address-family vpnv4 unicast next-hop-self ! ! neighbor-group 65001 remote-as 65001 address-family vpnv4 unicast route-policy pass-all in route-policy pass-all out ! ! neighbor 10.100.0.2 use neighbor-group 65001 ! neighbor 10.255.0.1 use neighbor-group ibgp ! neighbor 10.255.0.3 use neighbor-group ibgp ! vrf 100 rd 65000:100 address-family ipv4 unicast label mode per-vrf ! ! vrf 200 rd 65000:200 address-family ipv4 unicast label mode per-vrf ! ! ! ASBRïŒJunos : ASBR4ïŒ set policy-options policy-statement EXPORT-POLICY-100 term ROUTE-TARGET then community add VRF100-65001-RT set policy-options policy-statement EXPORT-POLICY-100 term ROUTE-TARGET then community add SHARED-100-RT set policy-options policy-statement EXPORT-POLICY-200 term ROUTE-TARGET then community add VRF200-65001-RT set policy-options policy-statement EXPORT-POLICY-200 term ROUTE-TARGET then community add SHARED-200-RT set policy-options policy-statement IMPORT-POLICY-100 term ROUTE-TARGET-65001 from community VRF100-65001-RT set policy-options policy-statement IMPORT-POLICY-100 term ROUTE-TARGET-65001 then accept set policy-options policy-statement IMPORT-POLICY-100 term ROUTE-TARGET-SHARED from community SHARED-100-RT set policy-options policy-statement IMPORT-POLICY-100 term ROUTE-TARGET-SHARED then accept set policy-options policy-statement IMPORT-POLICY-200 term ROUTE-TARGET-65001 from community VRF200-65001-RT set policy-options policy-statement IMPORT-POLICY-200 term ROUTE-TARGET-65001 then accept set policy-options policy-statement IMPORT-POLICY-200 term ROUTE-TARGET-SHARED from community SHARED-200-RT set policy-options policy-statement IMPORT-POLICY-200 term ROUTE-TARGET-SHARED then accept set policy-options community SHARED-100-RT members target:64999:100 set policy-options community SHARED-200-RT members target:64999:200 set policy-options community VRF100-65001-RT members target:65001:100 set policy-options community VRF200-65001-RT members target:65001:200 set routing-instances 100 instance-type vrf set routing-instances 100 protocols bgp family inet unicast set routing-instances 100 route-distinguisher 65001:100 set routing-instances 100 vrf-import IMPORT-POLICY-100 set routing-instances 100 vrf-export EXPORT-POLICY-100 set routing-instances 100 vrf-table-label set routing-instances 200 instance-type vrf set routing-instances 200 protocols bgp family inet unicast set routing-instances 200 route-distinguisher 65001:200 set routing-instances 200 vrf-import IMPORT-POLICY-200 set routing-instances 200 vrf-export EXPORT-POLICY-200 set routing-instances 200 vrf-table-label set routing-options router-id 10.255.0.3 set routing-options autonomous-system 65001 set protocols router-advertisement interface fxp0.0 set protocols bgp family inet-vpn unicast set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 10.255.0.3 set protocols bgp group ibgp neighbor 10.255.0.1 set protocols bgp group 65000 type external set protocols bgp group 65000 peer-as 65000 set protocols bgp group 65000 neighbor 10.100.1.1 MP-BGP VPNv4 - åäœç¢ºèª äžèš3ã¹ãããã§ L3VPN ã®çµè·¯åŠç¿ãšè»¢éåäœã確èªããŸãã ä»åã¯åãã³ããŒã® ASBR ã®çµã§åäœç¢ºèªããããã®ã§ãéžæãããããªã ASBR éã®ãªã³ã¯ãèœãšãããšã§éžæãããŸãã åäœç¢ºèªããã ASBR ã®çµä»¥å€ã® ASBR éã®ãªã³ã¯ãèœãšã BGP ããåä¿¡ããçµè·¯ãç¢ºèª ping ã«ããçéç¢ºèª IOS XR ã® ASBRïŒASBR1->ASBR3ïŒãå©çšããå Žå 顧客 AïŒVRF100ïŒãå©çšããå Žåãæ³å®ãåäœç¢ºèªãããŠãããŸãã Junos ã® ASBR éïŒASBR2<->ASBR4ïŒã®ãªã³ã¯ãèœãšããŸãã user@asbr2> configure Entering configuration mode [edit] user@asbr2# set interfaces ge-0/0/2 disable [edit] user@asbr2# show | compare [edit interfaces ge-0/0/2] + disable; [edit] user@asbr2# commit commit complete user@asbr2# exit Exiting configuration mode user@asbr2> ping 10.100.1.2 count 5 PING 10.100.1.2 (10.100.1.2): 56 data bytes ^C --- 10.100.1.2 ping statistics --- 5 packets transmitted, 0 packets received, 100% packet loss 次ã«ãPE1ïŒIOS XRïŒ ãåä¿¡ããçµè·¯ã確èªããŸãã RP/0/RP0/CPU0:pe1#show bgp vpnv4 unicast vrf 100 192.168.1.0/24 detail Mon Jun 20 14:14:13.121 JST BGP routing table entry for 192.168.1.0/24, Route Distinguisher: 65000:100 Versions: Process bRIB/RIB SendTblVer Speaker 62 62 Flags: 0x00001001+0x00000000; Last Modified: Jun 20 14:12:27.073 for 00:01:46 Paths: (1 available, best #1) Not advertised to any peer Path #1: Received by speaker 0 Flags: 0x2000000005060005, import: 0x80 Not advertised to any peer 65001 10.255.0.2 (metric 20) from 10.255.0.2 (10.255.0.2), if-handle 0x00000000 Received Label 24007 Origin IGP, localpref 100, valid, internal, best, group-best, import-candidate, imported Received Path ID 0, Local Path ID 1, version 62 Extended community: RT:64999:100 RT:65001:100 Source AFI: VPNv4 Unicast, Source VRF: default, Source Route Distinguisher: 65001:100 RP/0/RP0/CPU0:pe1#show route vrf 100 Mon Jun 20 12:35:07.389 JST Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, su - IS-IS summary null, * - candidate default U - per-user static route, o - ODR, L - local, G - DAGR, l - LISP A - access/subscriber, a - Application route M - mobile route, r - RPL, t - Traffic Engineering, (!) - FRR Backup path Gateway of last resort is not set C 192.168.0.0/24 is directly connected, 22:01:15, GigabitEthernet0/0/0/2 L 192.168.0.254/32 is directly connected, 22:01:15, GigabitEthernet0/0/0/2 B 192.168.1.0/24 [200/0] via 10.255.0.2 (nexthop in vrf default), 00:08:01 çµè·¯ãåä¿¡ã§ããŠããäºãšãASBR1ïŒIOS XRïŒãéžæãããŠããããšã確èªã§ããŸããã ping ã§çé確èªãè¡ãªã£ãŠã¿ãŸãã RP/0/RP0/CPU0:pe1#ping 192.168.1.254 vrf 100 Mon Jun 20 12:33:13.840 JST Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.1.254, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 2/6/12 ms ãã±ããã転éã§ããVPN ãæ§ç¯ã§ããŠããããšã確èªã§ããŸããã Junos ã® ASBRïŒASBR2->ASBR4ïŒãå©çšããå Žå ä»åºŠã¯é¡§å®¢ BïŒVRF200ïŒãå©çšããå Žåãæ³å®ãåäœç¢ºèªãããŠãããŸãã ãŸããIOS XR ã® ASBR éïŒASBR1<->ASBR3ïŒã®ãªã³ã¯ãèœãšããŸãã RP/0/RP0/CPU0:asbr1#configure Mon Jun 20 12:40:44.843 JST RP/0/RP0/CPU0:asbr1(config)#interface gigabitEthernet 0/0/0/2 RP/0/RP0/CPU0:asbr1(config-if)#shutdown RP/0/RP0/CPU0:asbr1(config-if)#show commit changes diff Mon Jun 20 12:41:02.632 JST Building configuration... !! IOS XR Configuration 7.4.1 + interface GigabitEthernet0/0/0/2 + shutdown ! end RP/0/RP0/CPU0:asbr1(config-if)#commit Mon Jun 20 12:41:06.779 JST RP/0/RP0/CPU0:asbr1(config-if)#exit RP/0/RP0/CPU0:asbr1(config)#exit RP/0/RP0/CPU0:asbr1#ping 10.100.0.2 Mon Jun 20 12:41:56.670 JST Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.100.0.2, timeout is 2 seconds: UUUUU Success rate is 0 percent (0/5) 次ã«ãJunos ãåä¿¡ããçµè·¯ã確èªããŸãã user@pe2> show route advertising-protocol bgp 10.255.0.3 detail 100.inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden) * 192.168.1.0/24 (1 entry, 1 announced) BGP group ibgp type Internal Route Distinguisher: 65001:100 VPN Label: 16 Nexthop: Self Flags: Nexthop Change Localpref: 100 AS path: [65001] I Communities: target:64999:100 target:65001:100 200.inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden) * 192.168.1.0/24 (1 entry, 1 announced) BGP group ibgp type Internal Route Distinguisher: 65001:200 VPN Label: 17 Nexthop: Self Flags: Nexthop Change Localpref: 100 AS path: [65001] I Communities: target:64999:200 target:65001:200 hanabi@pe2> show route receive-protocol bgp 10.255.0.3 table bgp.l3vpn.0 detail bgp.l3vpn.0: 2 destinations, 4 routes (2 active, 0 holddown, 0 hidden) * 65000:100:192.168.0.0/24 (2 entries, 0 announced) Import Accepted Route Distinguisher: 65000:100 VPN Label: 16 Nexthop: 10.255.0.3 Localpref: 100 AS path: 65000 ? Communities: target:64999:100 target:65000:100 * 65000:200:192.168.0.0/24 (2 entries, 0 announced) Import Accepted Route Distinguisher: 65000:200 VPN Label: 17 Nexthop: 10.255.0.3 Localpref: 100 AS path: 65000 ? Communities: target:64999:200 target:65000:200 user@pe2> show route 192.168.0.0/24 100.inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 192.168.0.0/24 *[BGP/170] 00:49:52, localpref 100, from 10.255.0.3 AS path: 65000 ?, validation-state: unverified > to 10.0.1.2 via ge-0/0/1.0, Push 16 200.inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 192.168.0.0/24 *[BGP/170] 00:49:52, localpref 100, from 10.255.0.3 AS path: 65000 ?, validation-state: unverified > to 10.0.1.2 via ge-0/0/1.0, Push 17 bgp.l3vpn.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 65000:100:192.168.0.0/24 *[BGP/170] 00:49:52, localpref 100, from 10.255.0.3 AS path: 65000 ?, validation-state: unverified > to 10.0.1.2 via ge-0/0/1.0, Push 16 65000:200:192.168.0.0/24 *[BGP/170] 00:49:52, localpref 100, from 10.255.0.3 AS path: 65000 ?, validation-state: unverified > to 10.0.1.2 via ge-0/0/1.0, Push 17 çµè·¯ãåä¿¡ã§ããŠããäºãšãASBR4ïŒJunosïŒã® ã«ãŒãããã¯ã¢ãã¬ã¹ïŒ10.0.1.2ïŒã nexthop ãšããŠéžæãããŠããããšã確èªã§ããŸããã ping ã§çé確èªãè¡ãªã£ãŠã¿ãŸãã user@pe2> ping 192.168.0.254 routing-instance 200 count 5 PING 192.168.0.254 (192.168.0.254): 56 data bytes 64 bytes from 192.168.0.254: icmp_seq=0 ttl=253 time=4.264 ms 64 bytes from 192.168.0.254: icmp_seq=1 ttl=253 time=10.481 ms 64 bytes from 192.168.0.254: icmp_seq=2 ttl=253 time=11.079 ms 64 bytes from 192.168.0.254: icmp_seq=3 ttl=253 time=6.493 ms 64 bytes from 192.168.0.254: icmp_seq=4 ttl=253 time=3.516 ms --- 192.168.0.254 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 3.516/7.167/11.079/3.114 ms ãã±ããã転éã§ããVPN ãæ§ç¯ã§ããŠããããšã確èªã§ããŸããã ããã§ãASBR ã IOS XR ã®å ŽåãšãJunos ã®å Žåå
±ã«ãVPN ãæ§ç¯ã§ããŠããããšã確èªã§ããŸããã ãŸãšã æ¬èšäºã§ã¯ã Multi-AS/Multi-domain ã§ã® ã¢ã³ããŒã¬ã€ æ§ç¯ã®å©ç¹ãSR-MPLS ãçšãã L3VPN å®è£
æã® Inter-AS æ¹åŒã玹ä»ãããšãšãã«ã Multi-vendor ç°å¢ã«ããã Multi-AS ã§ã® L3VPN ã®æ€èšŒçµæã玹ä»ããŸããã æ¬¡åã®èšäºã§ã¯ãSR-MPLS EVPN in Single/Multi-AS ã«ã€ããŠç޹ä»äºå®ã§ãã ïŒ2022/07/11 远èšïŒ å
¬éããŸããïŒ [Multi-AS Segment Routing æ€èšŒé£èŒ #3] SR-MPLS L2VPN (EVPN) in Single-/Multi-AS åèè³æ ãã®æ€èšŒã®äžéšã¯åŒããŒã ã®ç°å³¶ãäžå³¶ããããã MPLS JAPAN 2021 ã瀟å€å匷äŒã§çºè¡šããŸããã以äžã«è³æãå
¬éããŠããŸãã®ã§äœµããŠã芧ãã ããã ãã«ãASãã€ãã«ããã³ãã«ãããSR-MPLS TEã®å®çŸ ïŒç°å³¶ïŒ ãã«ãAS/ãã«ããã¡ã€ã³ãªSegment Routingã®å®çŸ ïŒäžå³¶ïŒ Release Notes for Cisco ASR 9000 Series Routers, IOS XR Release 7.4.1 https://www.cisco.com/c/en/us/td/docs/routers/asr9000/software/asr9k-r7-4/general/release/notes/b-release-notes-asr9000-r741.html ↩