Działanie MPLS

Jak działają klasy równoważności przekazywania (FEC), etykiety i ścieżki LSP.

Wprowadzenie: Wewnątrz Silnika MPLS

Ustaliliśmy, że Wieloprotokołowe Przełączanie Etykiet (MPLS) to wysokowydajna technologia sieciowa, która przekazuje ruch za pomocą prostych etykiet zamiast złożonych adresów IP. Działa to jak nowoczesna usługa pocztowa, która używa kolorowych, kodowanych naklejek (etykiet) do sortowania poczty, zamiast zmuszać każdego pracownika do czytania pełnego, szczegółowego adresu na każdym liście. Ta fundamentalna zmiana pozwala routerom w rdzeniu sieci na przekazywanie pakietów z niewiarygodną prędkością przy użyciu wyspecjalizowanego sprzętu.

Ale jak ten system działa w praktyce? Skąd routery wiedzą, którą naklejkę umieścić na pakiecie? Jak uzgadniają, co każda naklejka oznacza? I co dokładnie dzieje się z tą naklejką, gdy pakiet podróżuje przez sieć? Ta strona dekonstruuje wewnętrzne mechanizmy płaszczyzny przesyłania danych MPLS. Prześledzimy podróż pojedynczego pakietu od początku do końca, badając trzy fundamentalne koncepcje, które umożliwiają działanie MPLS: Klasy Równoważności Przekazywania (FEC), Protokół Dystrybucji Etykiet (LDP) oraz podstawowe operacje na etykietach: Push, Swap i Pop.

Klasa Równoważności Przekazywania (FEC): Sortowanie Poczty

Zanim jakakolwiek etykieta zostanie dodana, sieć musi najpierw zdecydować, jak grupować pakiety. W MPLS grupa pakietów, które mają być traktowane w ten sam sposób, nazywana jest Klasą Równoważności Przekazywania (FEC). Wszystkie pakiety należące do tej samej klasy FEC otrzymają tę samą etykietę w punkcie wejścia do sieci i będą podróżować tą samą ścieżką.

Analogia: Pojemnik na listy do miasta docelowego.Wyobraź sobie pierwszą sortownię pocztową (Router Wejściowy). Kiedy otrzymuje miliony listów, nie traktuje każdego z nich indywidualnie. Zamiast tego sortuje je do pojemników na podstawie miasta docelowego. Wszystkie listy do Warszawy trafiają do jednego pojemnika, wszystkie do Krakowa do innego itd. Ten "pojemnik na miasto" to właśnie FEC. Router podejmuje jedną złożoną decyzję na pojemnik, a nie na każdy list.

Jak jest Określany FEC?

Kryteria grupowania pakietów w FEC są elastyczne, ale zdecydowanie najczęstszą metodą jest grupowanie na podstawie docelowego prefiksu sieci IP.

Przykład Klasyfikacji FEC

Klasyfikacja FEC na Routerze Wejściowym

Router Wejściowy (Ingress LER) klasyfikuje przychodzące pakiety IP do Klas Równoważności Przekazywania (FEC) na podstawie prefiksu docelowego. Kliknij pakiet, aby zobaczyć jego klasyfikację.

Sieć klientaDomena MPLSTablica routingu198.51.100.0/24 -- FEC-A203.0.113.0/24 -- FEC-BFEC-A198.51.100.0/24[Pkt 1, 3]FEC-B203.0.113.0/24[Pkt 2]IngressLERIP --> FECPakiet 1198.51.100.50Pakiet 2203.0.113.10Pakiet 3198.51.100.99

Kliknij pakiet, aby zobaczyć klasyfikację FEC

Legenda

Pakiet IPFEC-A (198.51.100.0/24)FEC-B (203.0.113.0/24)Ingress LER
Zdefiniowano w
RFC 3031
Koncepcja
FEC
Podstawa
Prefiks IP
Punkt decyzyjny
Ingress LER

Router Wejściowy (Ingress LER) otrzymuje trzy pakiety:

  • Pakiet 1: Cel 198.51.100.50198.51.100.50
  • Pakiet 2: Cel 203.0.113.10203.0.113.10
  • Pakiet 3: Cel 198.51.100.99198.51.100.99

Tablica routingu routera (poznana przez BGP lub IGP) wskazuje, że sieć 198.51.100.0/24198.51.100.0/24 jest osiągalna jedną ścieżką, a sieć 203.0.113.0/24203.0.113.0/24 inną. Router dokona więc następującej klasyfikacji:

  • Pakiety 1 i 3 są oba przeznaczone do sieci 198.51.100.0/24198.51.100.0/24. Są one grupowane w FEC-A.
  • Pakiet 2 jest przeznaczony do sieci 203.0.113.0/24203.0.113.0/24. Jest on grupowany w FEC-B.

Od tego momentu rdzeń sieci MPLS nie dba już o indywidualne adresy IP. Interesują go tylko "FEC-A" i "FEC-B". Ta początkowa klasyfikacja to jedyna złożona decyzja routingowa Warstwy 3 podejmowana w całej domenie MPLS.

Etykiety i Nagłówek MPLS: Naklejka

Gdy pakiet zostanie sklasyfikowany do FEC, otrzymuje swoją "naklejkę": etykietę MPLS. Ta etykieta nie jest częścią oryginalnego pakietu IP. Jest to nowy, 32-bitowy (4-bajtowy) nagłówek, który jest wstawiany, czyli "wsuwany", pomiędzy nagłówek Warstwy 2 (np. Ethernet) a nagłówek Warstwy 3 (IP).

Nagłówek Shim MPLS: struktura 32-bitowa

Etykieta MPLS to 32-bitowy nagłówek wstawiony między nagłówki Warstwy 2 i Warstwy 3. Kliknij na dowolne pole, aby poznać jego funkcję, lub kliknij warstwę w widoku struktury pakietu.

Nagłówek Shim MPLS(łącznie 32 bity)
048121620232432Etykieta20 bityTCKlasa Ruchu (TC)3 bitySDno Stosu (S)1 bityTTL8 bity

Kliknij pole w nagłówku, aby zobaczyć szczegóły

Struktura pakietu
Ethernet (W2)14+ bajt.MPLS Shim4 bajtyIP (W3)20+ bajt.ŁadunekzmiennyWarstwa 2 -- MPLS Shim (Warstwa 2.5) -- Warstwa 3 -- Dane

Legenda

Wartość Etykiety (20 bity)Klasa Ruchu (TC) (3 bity)Dno Stosu (S) (1 bity)Czas Życia (TTL) (8 bity)
Zdefiniowano w
RFC 3032
Rozmiar nagłówka
32 bity (4 bajty)
EtherType
0x8847
Pozycja
L2 i L3 (Warstwa 2.5)

Anatomia Nagłówka MPLS

32-bitowy nagłówek MPLS zawiera cztery odrębne pola:

PoleRozmiar (bity)Opis
Wartość Etykiety20Główny identyfikator, sam "numer naklejki". Pole 20-bitowe pozwala na ponad 1 milion możliwych etykiet.
Bity Eksperymentalne (EXP)3Głównie używane do Jakości Usług (QoS). Bity te mogą służyć do oznaczania priorytetu pakietu.
Dno Stosu (S)1Używany w zaawansowanych scenariuszach (jak MPLS VPN), gdzie wiele etykiet może być "ułożonych w stos". Ten bit jest ustawiany na 1 na ostatniej etykiecie w stosie.
Czas Życia (TTL)8Mechanizm zapobiegania pętlom. Jest kopiowany z nagłówka IP przy dodawaniu etykiety i dekrementowany przy każdym LSR. Jeśli osiągnie 0, pakiet jest odrzucany.

Lokalne Znaczenie:Jest absolutnie kluczowe, aby zrozumieć, że wartość etykiety ma tylko znaczenie lokalne. Oznacza to, że etykieta ma znaczenie tylko na jednym łączu między dwoma sąsiadującymi routerami. Etykieta `100` może oznaczać "wyślij do Routera B" na łączu z A do B, ale na łączu z B do C ta sama wartość `100` może oznaczać coś zupełnie innego lub być nieużywana. Routery renegocjują etykietę dla danej klasy FEC na każdym przeskoku.

LDP i LSP: Planowanie Trasy Ekspresowej

Skąd więc wszystkie routery w sieci wiedzą, jakich etykiet używać? Zarządza tym Protokół Dystrybucji Etykiet (LDP). LDP to dedykowany protokół, który działa między routerami MPLS w celu automatycznej wymiany informacji o klasach FEC i etykietach, które chcą do nich przypisać. To zbiorowe porozumienie tworzy tunel od początku do końca, czyli Ścieżkę z Przełączaniem Etykiet (LSP).

Analogia: Wewnętrzna Notatka Służbowa.Zanim jakakolwiek poczta zostanie wysłana trasą ekspresową, kierownicy wszystkich sortowni na trasie muszą się ze sobą skomunikować. Kierownik w Krakowie wysyła notatkę do tego w Katowicach: "Dla całej poczty do Warszawy, proszę używać naklejki 'Niebieska 101' i wysyłać ją do mnie." Kierownik z Katowic wysyła notatkę do tego w Łodzi: "Dla całej poczty do Warszawy, proszę używać naklejki 'Czerwona 202' i wysyłać ją do mnie." Ten łańcuch notatek ustanawia plan wymiany naklejek na całej trasie.

Proces LDP: Przykład Krok po Kroku

Proces dystrybucji etykiet dla danego celu (FEC) w rzeczywistości przebiega wstecz, od celu w kierunku źródła.

Dystrybucja etykiet LDP i podróż pakietu

Prześledź pełny cykl życia pakietu MPLS. Obserwuj, jak LDP dystrybuuje etykiety wstecz od Egress LER, a następnie śledź podróż pakietu z operacjami Push, Swap i Pop.

Sieć docelowaEtykieta 200Etykieta 300Etykieta 3LERIngress LERP1P1 (LSR)P2P2 (LSR)LEREgress LER<--- Etykiety dystrybuowane wstecz (Egress do Ingress) <---

Krok 0: Dystrybucja LDP

1 z 5

LDP ustanowił LSP. Etykiety dystrybuowane wstecz: Egress sygnalizuje implicit null (Etykieta 3) do P2. P2 tworzy Etykietę 300 i ogłasza do P1. P1 tworzy Etykietę 200 i ogłasza do Ingress LER.

Legenda

Ingress LER (Router Brzegowy)Core LSR (Router Przejściowy)Egress LER (Router Brzegowy)
Protokół etykiet
LDP (RFC 5036)
Operacje
Push, Swap, Pop
PHP
RFC 3032
Implicit Null
Etykieta 3
  1. Egress LER Zaczyna: Egress LER, który jest bezpośrednio podłączony do sieci docelowej (naszego FEC), rozpoznaje to z własnej tablicy routingu. Ponieważ jest to ostatni przystanek, wie, że będzie musiał wykonać ostateczne wyszukiwanie IP, aby dostarczyć pakiet. Przydziela sobie specjalną, ukrytą etykietę (Etykieta 3, reprezentującą instrukcję zdjęcia etykiety) i koncepcyjnie ogłasza to swojemu sąsiadowi, P2.
  2. P2 Tworzy Etykietę: Router P2 otrzymuje ogłoszenie od Egress LER. Teraz wie, że ma ważną ścieżkę do FEC. P2 generuje swoją własną, lokalnąetykietę dla tego FEC, powiedzmy `Etykieta 300`. Instaluje to w swojej tablicy przekazywania: "Jeśli otrzymam pakiet z Etykietą 300, powinienem ją usunąć i przekazać pakiet do Egress LER." Następnie ogłasza to nowe mapowanie: (FEC, Etykieta 300), swojemu sąsiadowi, P1.
  3. P1 Tworzy Etykietę: Router P1 otrzymuje ogłoszenie od P2. Wie, że ma ważną ścieżkę do FEC przez P2. P1 generuje swoją własną, lokalnąetykietę, powiedzmy 'Etykieta 200'. Instaluje to w swojej tablicy: "Jeśli otrzymam pakiet z Etykietą 200, muszę zamienić ją na Etykietę 300 i przekazać do P2." P1 następnie ogłasza swoje mapowanie: (FEC, Etykieta 200), swojemu sąsiadowi, Ingress LER.
  4. Ingress LER Jest Gotowy:Ingress LER otrzymuje ogłoszenie od P1. Ma teraz etykietę do użycia dla wszystkich pakietów należących do tego FEC. Instaluje regułę: "Dla każdego pakietu należącego do tego FEC, nałóż Etykietę 200 i przekaż go do P1."

Na końcu tego procesu została utworzona kompletna Ścieżka z Przełączaniem Etykiet (LSP) od początku do końca. Każdy router na ścieżce wie dokładnie, co robić z pakietem dla tego FEC.

Podstawowe Operacje Przekazywania w MPLS

Życie pakietu w sieci MPLS jest definiowane przez trzy fundamentalne operacje:

PUSH

Dodawanie nowej etykiety (lub stosu etykiet) do pakietu IP. Wykonywane przez Ingress LER.

SWAP

Zastępowanie przychodzącej etykiety na najwyższym poziomie nową etykietą wychodzącą. Wykonywane przez routery LSR w rdzeniu sieci.

POP

Usuwanie etykiety z najwyższego poziomu stosu z pakietu. Wykonywane przez Egress LER (lub router przed nim).

Pełna Podróż Pakietu

Prześledźmy nasz pakiet z wcześniejszego przykładu przez LSP, które właśnie utworzyliśmy:

  1. W Ingress LER: Pakiet IP przybywa z przeznaczeniem do FEC. Router wykonuje wyszukiwanie IP, klasyfikuje go i widzi, że musi użyć Etykiety 200 i przekazać do P1. Wykonuje operację PUSH, dodając nagłówek MPLS z etykietą 200.
  2. W Routerze P1: Pakiet przybywa z etykietą 200. P1 nie patrzy na nagłówek IP. Patrzy tylko na etykietę. Jego tablica przekazywania mówi: "Etykieta przychodząca 200 oznacza etykietę wychodzącą 300, przekaż do P2." Wykonuje operację SWAP, zamieniając etykietę 200 na 300.
  3. W Routerze P2: Pakiet przybywa z etykietą 300. P2 patrzy do swojej tablicy: "Etykieta przychodząca 300 oznacza zdejmij etykietę i przekaż do Egress LER." Wykonuje operację POP, całkowicie usuwając nagłówek MPLS. (Jest to optymalizacja zwana Penultimate Hop Popping, gdzie ostateczna zamiana i zdjęcie odbywa się jeden przeskok wcześniej).
  4. W Egress LER: Przybywa zwykły pakiet IP. Egress LER wykonuje ostateczne wyszukiwanie IP i dostarcza pakiet do jego docelowej sieci. Pakiet pomyślnie przemierzył całą domenę MPLS bez potrzeby analizy jego nagłówka IP przez jakikolwiek router w rdzeniu.