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 cefR1(config)#mpls ip!
GlobalnieR1(config)#interface GigabitEthernet0/1R1(config-if)#mpls ip!
Na interfejsieR1(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; DownstreamR1#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
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.
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).