Sieci transportu danych
Część 3: MPLS

Sieci MPLS - Wprowadzenie

1/29
  • Witamy w trzeciej części cyklu "Sieci Transportu Danych".
  • Temat: MPLS (Multiprotocol Label Switching).
  • Technologia szkieletowa stosowana przez wszystkich dużych dostawców Internetu (ISP).
  • Pozwala na budowanie skalowalnych sieci, VPN-ów warstwy 2 i 3 oraz inżynierię ruchu (Traffic Engineering).
  • Łączy zalety szybkości przełączania warstwy 2 z elastycznością routingu warstwy 3.

Dlaczego powstał MPLS?

2/29
  • W latach 90. routery były stosunkowo wolne (routing programowy).
  • Przeszukiwanie tablicy routingu (Longest Prefix Match) dla każdego pakietu było kosztowne obliczeniowo.
  • Przełączanie po etykietach (Label Switching) jest prostsze i szybsze (Exact Match).
  • Dziś routery sprzętowe (ASIC) realizują routing IP z prędkością łącza, ale MPLS pozostał ze względu na funkcjonalności (VPN, TE), a nie tylko wydajność.

Warstwa 2.5

3/29
  • MPLS nazywany jest protokołem warstwy 2.5 modelu OSI.
  • Działa pomiędzy warstwą 2 (łącza danych - Ethernet) a warstwą 3 (sieci - IP).
  • Nagłówek MPLS (etykieta) jest wstawiany pomiędzy nagłówek Ethernet a nagłówek IP.
  • Router, analizując ramkę, najpierw widzi etykietę MPLS i na jej podstawie podejmuje decyzję - nie musi "zaglądać" do nagłówka IP.

Nagłówek MPLS (Label Stack)

4/29
  • Ma długość 32 bitów (4 bajty).
  • Label (20 bitów): wartość etykiety (0 - 1048575). Decyduje o trasie.
  • EXP / TC (3 bity): Experimental / Traffic Class. Używane do QoS (Quality of Service).
  • S (1 bit): Bottom of Stack. 1 oznacza ostatnią etykietę w stosie (przed pakietem IP).
  • TTL (8 bitów): Time To Live. Działa tak samo jak w IP - zapobiega pętlom.

Architektura: LSR i LER

5/29
  • LSR (Label Switching Router): router wewnątrz chmury MPLS. Przełącza pakiety TYLKO na podstawie etykiet. Bardzo szybki.
  • LER (Label Edge Router): router brzegowy. Stoi na styku sieci IP i MPLS.
  • LER (Ingress): otrzymuje pakiet IP, analizuje trasę, dodaje etykietę (PUSH) i wysyła do sieci MPLS.
  • LER (Egress): otrzymuje pakiet z etykietą, zdejmuje ją (POP) i wysyła czysty pakiet IP.

Role w sieci operatora (ISP)

6/29
  • P (Provider Router): router rdzeniowy (Core). Jest to LSR. Nie musi znać pełnej tablicy routingu Internetu (BGP), zna tylko trasy wewnętrzne (IGP) i etykiety.
  • PE (Provider Edge Router): router brzegowy operatora. Jest to LER. Podłączony do klienta. Obsługuje BGP, VRF, usługi. Najbardziej obciążony funkcjonalnie.
  • CE (Customer Edge): router klienta. Nie musi "wiedzieć" o MPLS. Komunikuje się z PE przez IP, OSPF lub BGP.

Płaszczyzny działania (Planes)

7/29
  • Control Plane (Mózg): wymiana informacji routingowych (OSPF, IS-IS, BGP) i etykiet (LDP, RSVP). Buduje tablice RIB (Routing Information Base) i LIB (Label Information Base).
  • Data Plane (Mięśnie): faktyczne przesyłanie pakietów na podstawie przygotowanych tablic FIB (Forwarding Information Base) i LFIB (Label Forwarding Information Base).
  • W MPLS decyzje są podejmowane w Control Plane, a egzekwowane w Data Plane.

Operacje na etykietach

8/29
  • PUSH (Imposition): dodanie nowej etykiety na szczyt stosu. Wykonuje to wejściowy router LER.
  • SWAP: zamiana etykiety przychodzącej na wychodzącą. Wykonuje to każdy LSR wewnątrz sieci.
  • POP (Disposition): zdjęcie etykiety ze szczytu stosu. Wykonuje to wyjściowy router LER (lub przedostatni router).

PHP - Penultimate Hop Popping

9/29
  • Optymalizacja wydajności ostatniego routera (Egress LER).
  • Zwykle Egress PE musiałby: 1. Zrobić POP (zdjąć etykietę). 2. Przeanalizować pakiet IP. 3. Wysłać IP. To podwójna operacja.
  • Dzięki PHP, router przedostatni (Penultimate) zdejmuje etykietę i wysyła czysty pakiet IP do ostatniego routera.
  • Dzieje się to dzięki "Implicit Null Label" (etykieta nr 3), którą Egress PE ogłasza sąsiadom.

LDP - Label Distribution Protocol

10/29
  • Protokół służący do automatycznej wymiany mapowań Etykieta <-> Prefiks IP.
  • Każdy router generuje lokalną etykietę dla każdego prefiksu w swojej tablicy routingu (np. dla adresów Loopback innych routerów).
  • Następnie rozgłasza te mapowania sąsiadom przez LDP.
  • Wymaga działającego routingu IGP (OSPF lub IS-IS) jako bazy.
  • Działa na porcie UDP/TCP 646.

Konfiguracja Cisco: Podstawy

11/29
  • Włączenie CEF (Cisco Express Forwarding) jest wymagane.
  • Aktywacja MPLS na interfejsach skierowanych do wnętrza sieci.
R1(config)# ip cef R1(config)# mpls ip ! Globalnie R1(config)# interface GigabitEthernet0/1 R1(config-if)# mpls ip ! Na interfejsie R1(config-if)# exit

Weryfikacja Cisco: LDP

12/29
  • Sprawdzenie sąsiedztwa i etykiet.
R1# show mpls ldp neighbor Peer LDP Ident: 2.2.2.2:0; Local LDP Ident 1.1.1.1:0 TCP connection: 2.2.2.2.646 - 1.1.1.1.49832 State: Oper; Msgs sent/rcvd: 15/14; Downstream R1# show mpls forwarding-table Local Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or VC or Tunnel Id Switched interface 16 17 2.2.2.2/32 0 Gi0/1 10.0.12.2 17 Pop Label 3.3.3.3/32 0 Gi0/1 10.0.12.2

Konfiguracja MikroTik: Podstawy

13/29
  • Konfiguracja LDP w RouterOS.
[admin@MikroTik] > /mpls ldp set enabled=yes transport-address=1.1.1.1 lsr-id=1.1.1.1 [admin@MikroTik] > /mpls ldp interface add interface=ether1 [admin@MikroTik] > /mpls ldp interface print Flags: X - disabled, I - invalid, D - dynamic, T - test # INTERFACE HELLO-INTERVAL HOLD-TIME TRANSPORT-ADDRESS 0 ether1 5s 15s 0.0.0.0

Weryfikacja MikroTik: Forwarding

14/29
  • Podgląd LFIB (Label Forwarding Information Base).
[admin@MikroTik] > /mpls forwarding-table print # LABEL VRF PREFIX PATH INTERFACE NEXTHOP 0 16 2.2.2.2/32 ether1 10.0.12.2 1 17 3.3.3.3/32 ether1 10.0.12.2

Usługi MPLS: VPN

15/29
  • Samo przesyłanie pakietów przez MPLS to dopiero początek.
  • Prawdziwą siłą MPLS jest możliwość tworzenia odseparowanych sieci prywatnych (VPN) wewnątrz tej samej infrastruktury.
  • Typy VPN:
    • L3VPN (Layer 3 VPN) - Klient widzi dostawcę jako kolejny skok routingu. Dostawca zarządza routingiem klienta.
    • L2VPN (Layer 2 VPN) - Klient widzi sieć dostawcy jako "długi kabel". Rozwiązanie przezroczyste dla warstwy 3.

MPLS L3VPN: VRF

16/29
  • VRF (Virtual Routing and Forwarding): wirtualny router wewnątrz fizycznego urządzenia PE.
  • Każdy klient ma swoją instancję VRF z własną tablicą routingu.
  • Dzięki VRF różni klienci mogą używać tych samych adresów IP (np. 192.168.1.0/24) i nie będą one ze sobą kolidować.
  • To podstawowy mechanizm separacji ruchu użytkowników.

MPLS L3VPN: RD i RT

17/29
  • RD (Route Distinguisher): unikalny identyfikator (64 bity) dodawany do prefiksu IP klienta. Tworzy unikalny adres VPNv4 (RD:IP), np. 100:1:192.168.1.0. Pozwala rozróżnić te same adresy IP różnych klientów.
  • RT (Route Target): atrybut BGP kontrolujący import i eksport tras do VRF. Określa przynależność trasy.
    • Export RT: dołączany do trasy wysyłanej do sieci.
    • Import RT: router przyjmuje trasę do VRF tylko wtedy, gdy pasuje ona do listy Import RT.

MPLS L3VPN: Rola MP-BGP

18/29
  • Zwykłe BGP przenosi tylko adresację IPv4.
  • MP-BGP (Multiprotocol BGP): rozszerzenie pozwalające przenosić adresy VPNv4 (RD+IP).
  • Routery PE wymieniają się informacjami o sieciach klientów za pomocą sesji iBGP.
  • Routery P (Core) nie posiadają wiedzy o VPN-ach. Zajmują się jedynie przełączaniem etykiet.
  • Stos etykiet w L3VPN składa się zazwyczaj z dwóch elementów:
    • Zewnętrzna (transportowa): pozwala dotrzeć do zdalnego routera PE (dzięki LDP).
    • Wewnętrzna (VPN): wskazuje konkretny VRF lub konkretnego klienta (dzięki MP-BGP).

MPLS L2VPN: VPWS (Pseudowire)

19/29
  • VPWS (Virtual Private Wire Service): znane też jako EoMPLS (Ethernet over MPLS) lub xConnect.
  • Emuluje bezpośrednie połączenie kablowe między dwoma punktami (Point-to-Point).
  • Wszystko, co "wpada" na port wejściowy jednego routera, "wypada" na porcie drugiego urządzenia.
  • Przenosi ramki Ethernet, tagi VLAN, STP, CDP - kompletny ruch warstwy 2.
  • Idealne rozwiązanie do łączenia oddziałów firmy w ramach jednej podsieci.

Konfiguracja L2VPN (MikroTik VPLS)

20/29
  • VPLS (Virtual Private LAN Service) to L2VPN w topologii Point-to-Multipoint.
  • Tworzymy tunel VPLS i dodajemy go do mostka (Bridge) razem z fizycznym portem.
[admin@MikroTik] > /interface vpls add name=vpls1 remote-peer=2.2.2.2 vpls-id=10 [admin@MikroTik] > /interface bridge add name=bridge1 [admin@MikroTik] > /interface bridge port add bridge=bridge1 interface=ether2 [admin@MikroTik] > /interface bridge port add bridge=bridge1 interface=vpls1
  • Teraz port ether2 jest "zmostkowany" z tunelem VPLS do routera 2.2.2.2.

Traffic Engineering (RSVP-TE)

21/29
  • Standardowe protokoły (OSPF/LDP) zawsze wybierają najkrótszą ścieżkę (Shortest Path).
  • Problem: najkrótsza ścieżka może być przeciążona, podczas gdy dłuższa pozostaje niewykorzystana.
  • MPLS TE pozwala ręcznie sterować ruchem i wymuszać konkretne trasy.
  • Wykorzystuje protokół RSVP (Resource Reservation Protocol).
  • Pozwala na rezerwowanie pasma (np. tunel Voice 10 Mb/s z gwarancją parametrów).
  • Tunel TE jest jednokierunkowy.

Fast Reroute (FRR)

22/29
  • Ochrona połączeń w czasie poniżej 50 ms (standard telekomunikacyjny).
  • OSPF potrzebuje sekund na przeliczenie trasy po awarii łącza - to zbyt długo dla usług VoIP czy IPTV.
  • MPLS TE FRR tworzy zapasowe tunele "na wszelki wypadek" wokół chronionych łączy lub węzłów.
  • W razie awarii router w czasie krótszym niż 50 ms przełącza ruch do gotowego tunelu zapasowego.

MPLS Ping i Traceroute

23/29
  • Zwykły ping może nie działać wewnątrz chmury MPLS (routery P nie muszą mieć tras do adresacji IP klienta).
  • Standardowy traceroute pokazuje routery MPLS, stosując pewien mechanizm pomocniczy.
  • Gdy TTL pakietu wygaśnie wewnątrz sieci MPLS, router generuje komunikat ICMP Time Exceeded i wysyła go do końca tunelu, skąd wraca on do nadawcy (ICMP Tunneling).
  • ping mpls ipv4 10.0.0.1 - specjalne narzędzie do testowania poprawności ścieżek LSP (Label Switched Path).

Problemy MTU w MPLS

24/29
  • Każda etykieta MPLS to dodatkowe 4 bajty w ramce.
  • Usługi L3VPN/VPLS używają dwóch etykiet, co daje 8 bajtów narzutu. TE-FRR może dodać ich więcej.
  • Standardowa ramka Ethernet ma 1500 bajtów danych. Z MPLS ramka rośnie do 1508 i więcej bajtów.
  • Dlatego w sieciach MPLS trzeba zwiększyć MTU na wszystkich łączach (np. do 1520 bajtów lub stosować Jumbo Frames).
  • Brak zgodności MTU powoduje fragmentację lub gubienie dużych pakietów.

VPLS vs VPWS vs L3VPN - Podsumowanie

25/29
  • L3VPN: routing po stronie operatora. Klient otrzymuje gotową usługę Internetu lub Intranetu. Rozwiązanie bardzo skalowalne.
  • VPWS (L2): "długi kabel" w topologii punkt-punkt. Proste rozwiązanie łączące dwie lokalizacje.
  • VPLS (L2): "długi przełącznik" w topologii punkt-wielopunkt. Wszystkie lokacje w jednej podsieci. Wiąże się z ryzykiem pętli (L2).

Następca: Segment Routing (SR)

26/29
  • Klasyczny MPLS posiada skomplikowaną warstwę sterowania (LDP + RSVP + BGP + IGP).
  • Segment Routing upraszcza tę architekturę - eliminuje potrzebę stosowania LDP i RSVP.
  • Informacje o etykietach (Segment ID) są przenoszone bezpośrednio przez protokoły IGP (rozszerzenia do OSPF/IS-IS).
  • Zamiast budować stan w każdym węźle sieci, instrukcja drogi jest zawarta w nagłówku pakietu (Source Routing).
  • To kierunek rozwoju nowoczesnych sieci sterowanych programowo (SDN).

Zalety MPLS

27/29
  • Jeden szkielet, wiele usług: Internet, IPTV, VoIP, VPN biznesowe w ramach jednej infrastruktury.
  • QoS: możliwość priorytetyzacji ruchu na podstawie bitu EXP.
  • Agnostycyzm: możliwość przesyłania dowolnego protokołu (IPv4, IPv6, Ethernet, ATM).
  • Bezpieczeństwo: separacja ruchu w ramach VPN jest tak samo skuteczna jak separacja fizyczna.

Praktyka: Przykład trasy pakietu

28/29
  • 1. Klient wysyła pakiet IP do routera PE1.
  • 2. PE1 sprawdza VRF, znajduje trasę BGP i wskazuje adres Next Hop (zdalny router PE2).
  • 3. PE1 wykonuje operację PUSH [Etykieta LDP dla PE2] + [Etykieta VPN]. Wysyła ramkę Ethernet z ethertype 0x8847 (MPLS Unicast).
  • 4. Routery P (rdzeniowe) wykonują operację SWAP tylko dla górnej etykiety.
  • 5. Ostatni router rdzeniowy wykonuje PHP (zdejmuje górną etykietę).
  • 6. PE2 otrzymuje pakiet z samą etykietą VPN, co pozwala mu skierować ruch do właściwego portu klienta.

Podsumowanie Części 3

29/29
  • MPLS to "klej" spajający nowoczesne sieci IP.
  • Kluczowe pojęcia: etykieta, LSR, LER, PUSH/POP/SWAP, LDP.
  • Zastosowania: L3VPN (korporacyjne sieci WAN), L2VPN (łączenie centrów danych).
  • Konfiguracja: wymaga aktywacji na interfejsach oraz poprawnego działania protokołów IGP i mechanizmu CEF.
  • W następnej i ostatniej części omówimy Sieci SDH (Synchronous Digital Hierarchy) - starszą, ale wciąż istotną technologię transmisyjną.