Sklejanie VPN (różnych typów) Łukasz Bromirski Rafał Szarecki lbromirski@cisco.com rafal@juniper.net PLNOG, Kraków, październik 2012 1
Zawartość (z grubsza)* PW(VPWS) do VPLS L3VPN do VPLS PW(VPWS) do L3VPN Q&A * agenda może ulec zmianie bez ostrzeżenia, nawet w trakcie prezentacji
VPWS do VPLS
VPWS do VPLS PE-r PE-r PE-rs Jedna z opcji H-VPLS (RFC 4762 LDP based VPLS) Działa tylko dla Ethernet PW (J ) Dostępna też dla BGP-VPLS PE-r niezdolny do nauki MAC za mały FIB nie musi wiedzieć, że po drugiej stronie jest VPLS
VPWS do VPLS PE-rs widzi PWE3 w dół (do PE-r) i w górę (PE-rs) sieci. Split-horizon dla PW w górę zapobieganie pętlom PW w dół niesie więcej problemów: MPLS PW a jakby interfejsy abonenckie! Split-horizon = brak łączności pomiędzy (podłączonymi do PE-r) [czasem tego chcemy!] No Split-horizon = ryzyko pętli. + redundant-pw jest OK Skąd PE-rs wie, które PWE3 są w góre a które w dół? Juniper: konfiguracja (na dziś - prace w toku) Cisco: konfiguracja (na dziś - prace w toku)
VPWS do VPLS JUNOS (BGP-LDP) PEr1 Vc-id 1 Vc-id 2 PEr2 Vc-id 1 Vc-id 2 PE-rs [routing-instance]! PE-r1;! {! PE-r2;! instance-type vpls;! }! route-distinguisher 8717:1000;! pseudowire-status-tlv;! vrf-target target:8717:100;! vpls-id 1;! protocols {! }! vpls {! mesh-group PE-rX.1 {! site-range 10;! local-switching;! no-tunnel-services;! neighbor address {...}! site router-1 {! pseudowire-status-tlv;! site-identifier 1;! vpls-id 2;! mesh-group PE-rX.1 {! }! local-switching;! neighbor address {!
VPWS do VPLS JUNOS (BGP-LDP) PEr1 Vc-id 1 Vc-id 2 PEr2 Vc-id 1 Vc-id 2 PE-rs [routing-instance]! local-switching;! {! neighbor address {! instance-type vpls;! PE-r1;! protocols {! PE-r2;! vpls {! }! no-tunnel-services;! pseudowire-status-tlv;! vpls-id 100;! vpls-id 1;! neighbour {! }! PE-rsX;! mesh-group PE-rX.1 {! PE-rsY;! local-switching;! }! neighbor address {...}! mesh-group PE-rX.1 {! pseudowire-status-tlv;! vpls-id 2;! }!
VPWS do VPLS IOS-XR (BGP-LDP) PEr1 Vc-id 1 Vc-id 2 PEr2 Vc-id 1 Vc-id 2 PE-rs l2vpn! bridge group GrupaA! bridge-domain GA-vpls! neighbor 10.0.0.3 pw-id 103! pw-class PWCLASS_GrupaA!!! vfi GrA! neighbor 10.0.0.2 pw-id 102! pw-class PWCLASS_GrupaB!
VPLS do L3VPN
Stary problem L2 L2 V R F PE-r V R F PE-r VR F PE-rs V R F L3 L2 L2 L2 L3 switch IOS 9 (albo i wcześniej)
Co potrzebujemy IP lookup L2 encapsulation L2 lookup (D- MAC) L2 lookup (D-MAC) L2 decapsulation IP lookup
Wirtualny interfejs mostu.
Wirtualny interfejs mostu. l2 B VI ASIC l3 l2 B ASIC VI l3 B VI l2 ASIC l3 l2 B ASIC VI l3 Interfejs który jest wszędzie. Ma nieograniczone pasmo Nie ma shapingu/qos Ale są filtry
!! VPLS do L3VPN w JUNOS [edit]! routing-instances {! marketing-l2 {! instance-type vpls;! route-distinguisher 11.11.11.11:100;! }! vrf-target target:100:100;! interface ae0.100;! interface ae0.200;! routing-interface irb.1234;! marketing-l3 {! instance-type vrf;! route-distinguisher 11.11.11.11:10;! }! }! vrf-target target:100:1;! interface lo0.100;! interface xe-0/0/2.0;! irb.1234;!...!
VPLS do L3VPN w IOS-XR l2vpn! bridge group groupg! bridge-domain G42-vpls-bgp! interface GigabitEthernet0/0/0/15.42!!! routed interface bvi 20!!! vfi G42-vpls-bgp! vpn-id G40! autodiscovery bgp! rd auto! route-target import 10.0.0.2:102! route-target export 10.0.0.1:101! signaling-protocol bgp! ve-id 1!!!!!!!! interface bvi 20! vrf CUST_AA! ipv4 address 1.1.1.1/24!!!
Przypadek 99% 1% L3 VPN BVI X VPLS LAG VPLS BVI Y L3 VPN 1% 99% VPLS to instancja L2 MAC FLOW [S-MAC, D-MAC] Mamy tylko 2 MAC hash zawsze produkuje jedną wartość. Dodanie do funkcji hashującej adresów IP/portów
VPWS do L3VPN
VPWS do L3VPN VR F PEpw VR F VR F PEpw PE-rs VRF VR F PE-pw niezdolny do routingu L3 Za mały FIB Brak zaawansowanego QoS w dużej skali Brak funkcjonalności Nie musi wiedzieć, że po drugiej stronie jest L3VPN Np. DSLAM, stare urządzenia
VPWS do VPLS VR F PE-rs VRF widzi PWE3 w dół (do PE-r) i LSP w górę. W górę IP over LSP W dół IP over L2 over LSP PW == interfejs abonencki Naturalny punkt aplikacji polityk filtry QoS Anchor point (w odróżnieniu of IRB)
Pytania?