MPLS VPN Architektura i przegląd typów Łukasz Bromirski Rafał Szarecki lbromirski@cisco.com rafal@juniper.net PLNOG, Kraków, październik 2012 1
Zawartość (z grubsza)* VPNy z lotu ptaka Architektura VPNów realizowanych przez Operatora Taksonomia VPNów Q&A z przykładami * agenda może ulec zmianie bez ostrzeżenia, nawet w trakcie prezentacji
Klasyfikacja VPNów
Klasyfikacja VPNów VPN = Wirtualna Sieć Prywatna Adresy prywatne odrębne, mogą w innych VPNach się powtarzać Prywatna topologia Prywatna polityka routingu Oparte o Oparte o sieć operatora PE (PPVPN) PE PE PE PE Sieć operatora nie uczestniczy w tworzeniu VPN jedynie transportuje ruch Tunele L3 i L4, czasami L2 L2TPv3, GRE, IPsec, SSL VPN Często element usługi zarządzanej Konfiguracja i magia dzieje się na /CPE System NMS/OSS działa w VPNie, może nie zawsze być w stanie działać poprawnie Sieć i urządzenia klienta nie wiedzą nic o topologii polityce routingu Wiele rodzajów tuneli MPLS, GRE, IPSec, VLANy, Cała konfiguracja i złożoność na PE System NMS/OSS zarządzający VPNem monitoruje rozwiązanie od do
Klasyfikacja PPVPNów Przez wirtualne routery MPLS VPN VR Tunel dla danych i sesji kontrolnej (wg. RFC) VRF/ VE/ VC Wspólna dla VPNów sesja PE PE PE PE Tunel na dane Tunel transportowy Dosyć słabo się skaluje złożność w control plane O(#VR*#PE) Zwykle każdy VR to osobny proces programowy RFC: draft-ietf-l3vpn-vpn-vr-03.txt Ostatnia wersja 2006 rok Dobrze się skaluje O(#PE) Możliwość uruchomienia automatycznego odkrywania sąsiadów VRF/VE są 'kontekstami' RFCs: 4364, 4761, 4762, 6624, 4447, 6037, etc
Architektura VPNów realizowanych przez Operatora
Architektura transportu w MPLS VPN PE P P PE Węzły P (Provider) tworzą sieć dla węzłów PE. Nie przechowują żadnej informacji o VPNach Węzły PE (Provider Edge) przechowują informację o VPNach Węzły umieszczone są na brzegu sieci klienta. Mogą ale nie muszą należeć do sieci operatora. Łączą się z jednym lub wieloma PE operatora Tunel realizowany przez operatora Niezależny od technologii VPN MPLS LSP, GRE, IPsec Dla MPLS, może być realizowany przez LDP, RSVP, -LU czy nawet routing statyczny Adres zdalnego końca tunelu jest ważny (o tym później)
Architektura usługi w MPLS VPN Sesja sygnalizacyjna dla sesji 1 PE PE Instancja VPN na PE VRF/VE/VCT/xconnect Wspólna sesja sygnalizacyjna pomiędzy PE Można wykorzystać RR żeby zapewnić skalowanie i provisioning Zapewnia auto-discovery LDP Zapewnia dystrybucję etykiet dla prefiksów/id (FEC) VPNowych Adres końca sesji ( NH) jest używany do mapowania etykiet transportowych. Etykieta VPNowa pozwala na wyjściu wybrać VPN i interfejs fizyczny na PE w stronę
Taksonomia VPNów
Taksonomia MPLS VPN Unicast L3VPN Draft Rosen Multicast NG MVPN LDP FEC 128 MPLS VPN VPWS (VLLS, PW) LDP FEC 129 (ms-pw, autodiscovery) LDP FEC 128 L2VPN VPLS (TLS, E-LAN, VPSN) LDP FEC 129 (ms-pw, autodiscovery) E-VPN
L3VPN (unicast) Standaryzacja: Główne RFC: RFC 2547 à I-D 2547bis à RFC 4364 RFC 4577 (OSPF for PE-) RFC 4684 (Constrained VPN routing distribution; RT AFI) RFC 5462 (zmiana nazwy pola "EXP" na "Traffic Class") Tunel transportowy cokolwiek: Juniper i Cisco: RSVP-TE, LDP, -LU, GRE, IPsec, LDP over RSVP, RSVP over RSVP, -LU over LDP, -LU over RSVP, -LU over LDP over RSVP Dodatkowo na Cisco - L3VPN over mgre Kontrola usługi routingu VPNów (i) (tak jak w internecie) AFI 1/SAFI 128 Route Distinguisher Route Target Przydział etykiet do rozróżniania VPNów Juniper: per, per VRF Cisco: per prefiks, per, per VRF L3VPNy powinny bez problemu działać pomiędzy Juniperem a Cisco, problemem może być oczywiście skalowalność rozwiązania
L3VPN (unicast) porady projektowe Dla rozwiązań Hub&Spoke, zwróć uwagę na etykiety per-vrf na hubie Format RD może wpłynąć na: Skalowalnie (przy IP) z oddziałami podłączonymi redundantnie Dostępność, jeśli nie są unikalne InterAS i loopbacki z prywatnymi adresami Równoważenie ruchu jeśli RD wybrane z uwagi na RR i Inter-AS VPN Konwergencję VPNów jeśli RD wybrane z uwagi na RR i Inter-AS VPN Głębokość stosu etykiet ilość etykiet, którą wejściowe PE musi nałożyć Uwaga na możliwości sprzętu! J # etykiet Rodzaj tunelu 1 PE-PE back2back, GRE, IPSec 2 LDP, RSVP-TE bez ochrony 1:N 3 LDPoRSVP, -LUoLDP, -LUoRSVP-TE, RSVP-TE z ochroną 1:N 4 LDPoRSVP z ochroną 1:N, -LUoLDPoRSVP, -LUoRSVP-TE z ochroną 1:N 5 -LUoLDPoRSVP z ochroną 1:N
Taksonomia MPLS VPN Unicast L3VPN RFC 6037 Multiacst NG MVPN LDP FEC 128 MPLS VPN VPWS ( VLLS, PW) LDP FEC 129 (ms-pw, autodiscovery) LDP FEC 128 L2VPN VPLS (TLS, E-LAN, VPSN) LDP FEC 129 (ms-pw, autodiscovery) E-VPN
L3mVPN Długa seria draftów autorstwa Eda Rosena, zakończona RFC 6037 (wdrożenie w Cisco) Tunel mgre per-vpn (MDT) Routing multicastu w sieci operatora PIM dla VPNów Sygnalizacja wewnątrz VPN ilość sesji PIM (N*M) 2 N-ilość VPN, M-ilość PE PIM over mgre = PIM on LAN = 255 PE/VPN Model VR (nie MPLS/) Tak to się robiło wczoraj wciąż wiele (większość?) sieci pracuje w oparciu o tą technologię
L3mVPN MPLS VPN = NG-MVPN (RFC 6513 (Cisco & Juniper)) Tunel transportowy praktycznie cokolwiek: Juniper: RSVP-TE, mldp, SP PIM, replikacja na wejściu p2p Cisco: RSVP-TE, mldp (p2mp, mp2mp), replikacja na wejściu p2p Nie jest dzielone pomiędzy VPNy (jeszcze) Routing VPN - wspólne (i) AFI 5/SAFI 129 Route Distinguisher Route Target Przydział etykiet do demultipleksacji: Juniper: per VRF Cisco: per VRF L3mVPNy powinny bez problemu działać pomiędzy Juniperem a Cisco, problemem może być oczywiście skalowalność rozwiązania ( oraz zasoby sprzętowe) Rozdzielenie transportu i usługi B. Anszperger: http://data.proidea.org.pl/plnog/2edycja/materialy/prezentacje/b_anszperger.pdf R. Szarecki: http://data.proidea.org.pl/plnog/2edycja/materialy/prezentacje/pim_p2mp.pdf E. Gągała: http://data.proidea.org.pl/plnog/4edycja/materialy/prezentacje/ng_mvpn_plnog.pdf
Taksonomia MPLS VPN Unicast L3VPN RFC 6037 Multiacst NG MVPN LDP FEC 128 MPLS VPN VPWS (VLLS, PW) LDP FEC 129 (ms-pw, autodiscovery) LDP FEC 128 L2VPN VPLS (TLS, E-LAN, VPSN) LDP FEC 129 (ms-pw, autodiscovery) E-VPN
VPWS Virtual Private Wire Service (RFC 4664) Każde urządzenie otrzymuje zestaw VC p2p na końcu którego znajduje się inne urządzenie Tunel transportowy: Juniper: RSVP-TE, LDP, GRE Cisco: RSVP-TE, LDP, GRE Wykrywanie sąsiadów/końców usługi i sygnalizacja demux-label (VClabel): LDP FEC 128 = statyczna konfiguracja końców usługi, sygnalizacja po LDP LDP FEC 129 = autokonfiguracja z wykorzystaniem, sygnalizacja po LDP = AFI/SAFI 25/65 = autokonfiguracja i sygnalizacja z wykorzystaniem w jednym NLRI. RT kontroluje topologię VPN zestaw N-połączeń P2P
Taksonomia MPLS VPN Unicast L3VPN RFC 6037 Multiacst NG MVPN LDP FEC 128 MPLS VPN VPWS (VLLS, PW) LDP FEC 129 (ms-pw, autodiscovery) LDP FEC 128 L2VPN VPLS (TLS, E-LAN, VPSN) LDP FEC 129 (ms-pw, autodiscovery) E-VPN
VPLS Virtual Private LAN Service (RFC 4664) Usługa wirtualnego LANu oparta o tunele PWE3 Pseudo-Wire Emulation, Edge-to-edge Bazuje na tej samej technologii co VPWS Zakłada istnienie pełnej siatki połączeń LSP pomiędzy PE Split-horizon dla VPLS Konieczność obsługi Broadcast i Multicast Replikacja na wejściu P2MP/MP2MP (jak tunele transportowe dla mvpnów L3) MAC learning Stany przełączania (FIB) tworzone na podstawie przepływu danych Dla nieznanych adresów docelowych - flooding Pętle / sztormy E. Gągała: Advanced VPLS: http://data.proidea.org.pl/plnog/5edycja/materialy/prezentacje/emilgagala.pdf
VPLS - RFC 4762 xor RFC 4761 RFC 4762 RFC 4761 Dwie pod-implementacje: Pierwsza (niestandardowa): sygnalizowane przez LDP FEC128 statyczna konfiguracja obu końców każdego PWE3 (full mesh) Druga (standardowa): sygnalizowane przez LDP FEC129 Możliwość auto-discovery (osobny standard) via Redundancja VSI Sygnalizacja i auto-discovery w oparciu o w jednym NLRI. Redundancja na poziomie łącza dostępowego.
VPLS porady projektowe Jak dużo ruchu BUM? Czy warto stosować P2MP/MP2MP? Dla ARP i DHCP nie warto. Dla IPTV? Redundancja i Pętle Bez uzależnienia od 4762 (LDP) 4761 () Redundancja VSI L2 L2 L2 VSI PE PE VSI OK (ręczna kontrola) OK (via ) Redundancja AC L2 L2 L2 VSI PE PE VSI * Możliwe przy xstp/g.8032 pomiędzy L2 and PE NOK* OK (via )
Taksonomia MPLS VPN Unicast L3VPN RFC 6037 Multiacst NG MVPN LDP FEC 128 MPLS VPN VPWS (VLLS, PW) LDP FEC 129 (ms-pw, autodiscovery) LDP FEC 128 L2VPN VPLS (TLS, E-LAN, VPSN) LDP FEC 129 (ms-pw, autodiscovery) E-VPN
E-VPN Nauka MACów w control-plane rozgłaszanych przez MP- Dosyć prosta kontrola polityki Przekazywanie ruchu w szkielecie oparte o L3 LFIB Nie wymaga topologii pełnej siatki (jak VPLS) Równoważenie per-flow w szkielecie oraz w ringach L2 Dobre przekazywanie ruchu multicastowego dzięki drzewom mp2mp Z jawną sygnalizacją wycofania adresów (explicit withdraw) Wygodna agregacja usług wiele VLANów na jedną instancję E-VPN Dobre czasy konwergencji przy zastosowaniu dodatkowo PIC Emil prowadził na temat E-VPNów sesję na PLNOGu: http://www.data.proidea.org.pl/plnog/6edycja/materialy/prezentacje/ Emil_Gagala.pdf
Jaki VPN kiedy? 24
Wybór typu VPNu 1 2 3 L3VPN jeśli tylko możliwe L2VPN jeśli to możliwe skalowalność Ilość PWE3 to mniejszy problem dostępne auto-discovery Ilość łącz -PE (1:1 do PWE3) może stanowić problem E-VPN VPLS jeśli to konieczne Data-driven FIB Ryzyko pętli
Pytania?