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ę.
Kliknij pakiet, aby zobaczyć klasyfikację FEC
Legenda
Router Wejściowy (Ingress LER) otrzymuje trzy pakiety:
- Pakiet 1: Cel
- Pakiet 2: Cel
- Pakiet 3: Cel
Tablica routingu routera (poznana przez BGP lub IGP) wskazuje, że sieć jest osiągalna jedną ścieżką, a sieć inną. Router dokona więc następującej klasyfikacji:
- Pakiety 1 i 3 są oba przeznaczone do sieci . Są one grupowane w FEC-A.
- Pakiet 2 jest przeznaczony do sieci . 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.
Kliknij pole w nagłówku, aby zobaczyć szczegóły
Legenda
Anatomia Nagłówka MPLS
32-bitowy nagłówek MPLS zawiera cztery odrębne pola:
| Pole | Rozmiar (bity) | Opis |
|---|---|---|
| Wartość Etykiety | 20 | Główny identyfikator, sam "numer naklejki". Pole 20-bitowe pozwala na ponad 1 milion możliwych etykiet. |
| Bity Eksperymentalne (EXP) | 3 | Głównie używane do Jakości Usług (QoS). Bity te mogą służyć do oznaczania priorytetu pakietu. |
| Dno Stosu (S) | 1 | Uż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) | 8 | Mechanizm 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.
Krok 0: Dystrybucja LDP
1 z 5LDP 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
- 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.
- 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.
- 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.
- 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:
- 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.
- 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.
- 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).
- 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.