Ograniczenia podstawowego routingu IP
Komputer dzieli dane na małe . Każdy pakiet zawiera nagłówek z adresem docelowym IP, informacjami kontrolnymi i ładunkiem danych. Zadaniem sieciowych, czyli urządzeń warstwy 3, jest odbieranie, analizowanie i przekazywanie pakietów między różnymi sieciami.
W tradycyjnym routingu IP każdy router na trasie wykonuje podstawowe operacje przekazywania:
- Odebrać pakiet.
- Przeanalizować adres docelowy IP oraz istotne pola nagłówka.
- Wyszukać adres w tablicy routingu i wybrać trasę z najdłuższym zgodnym prefiksem. Przy dużej liczbie tras stosuje się wyspecjalizowane struktury danych i układy sprzętowe.
- Wybrać następny skok oraz interfejs wyjściowy i przekazać pakiet.
Ten proces powtarza się w każdym routerze, jaki pakiet napotka na swojej drodze. We wczesnych wdrożeniach część tych operacji wykonywał procesor, lecz współczesne routery używają także sprzętowych tablic przekazywania. Wraz ze wzrostem szybkości i złożoności sieci ujawniły się następujące ograniczenia klasycznego modelu:
- Koszt operacji przekazywania: Dopasowanie najdłuższego prefiksu i analiza nagłówka mogą wymagać wyspecjalizowanych tablic i układów sprzętowych, aby osiągnąć szybkość łącza.
- Ograniczone sterowanie ruchem: Zwykłe decyzje routingu wynikają głównie z adresu docelowego i metryk protokołu. Inżynieria ruchu może narzucać dodatkowe warunki, lecz MPLS-TE zapewnia do tego jawne ścieżki LSP. Pozwala to omijać przeciążone odcinki, gdy istnieje inna dostępna trasa.
- Separacja usług wymaga dodatkowych mechanizmów: Sam routing IP nie zapewnia izolacji klientów ani klasyfikacji ruchu. VPN, etykiety i pola klasy ruchu pozwalają rozdzielać usługi oraz obsługiwać priorytety.
Rozwiązanie MPLS: przekazywanie na podstawie etykiet
Wieloprotokołowe Przełączanie Etykiet (MPLS) opracowano, aby ułatwić przewidywalne przekazywanie pakietów oraz inżynierię ruchu i usługi VPN. Wprowadza ono identyfikatory FEC i etykiety, które mogą być obsługiwane w tablicach przekazywania.
Główna idea MPLS jest prosta. Przypisz pakiet do klasy FEC, a następnie używaj lokalnego identyfikatora do przekazywania w kolejnych węzłach.
W MPLS, gdy pakiet wchodzi do domeny, router wejściowy klasyfikuje go do FEC i nakłada etykietę (ang. label). Sposób wyznaczenia LSP zależy od płaszczyzny sterowania, na przykład od LDP lub MPLS-TE. Etykieta wskazuje lokalne działanie przekazywania, lecz nie jest globalnym adresem ścieżki.
Kolejny router w rdzeniu może użyć etykiety do wyszukania lokalnego działania, zwykle zamiany etykiety i przekazania pakietu do następnego węzła. Jest to przełączanie etykiet. Płaszczyzna sterowania nadal korzysta z routingu IP i protokołów sygnalizacyjnych. Etykieta może zostać usunięta przez router penultimate hop albo przez LER wyjściowy, zależnie od konfiguracji.
Wartość etykiety ma znaczenie lokalne. LSR mapuje etykietę wejściową na etykietę wyjściową, interfejs i operację, taką jak zamiana, nałożenie lub usunięcie etykiety. Wartość liczbowa może więc zmieniać się na kolejnych odcinkach. Płaszczyzna sterowania tworzy te mapowania, a płaszczyzna danych stosuje je do pakietów.
Stos etykiet może zawierać kilka wpisów. Jedna etykieta może identyfikować kontekst VPN, a druga transportową ścieżkę LSP.
Terminologia MPLS
Świat MPLS ma własne słownictwo. Te terminy opisują sposób działania protokołu.
- Router Przełączający Etykiety (LSR):
To każdy router w sieci z włączonym MPLS. Wszystkie LSR-y mają zdolność do przekazywania pakietów na podstawie ich etykiet.
- Brzegowy LSR (LER - Label Edge Router):
To specjalny LSR, który znajduje się na granicy sieci MPLS. LER-y są punktami wejścia i wyjścia.
- Ingress LER to miejsce, gdzie pakiet IP wchodzi do domeny MPLS i otrzymuje swoją pierwszą etykietę.
- Egress LER to miejsce, gdzie pakiet opuszcza domenę MPLS. Może otrzymać pakiet bez etykiety po operacji PHP albo usunąć etykietę pozostałą na pakiecie.
- Etykieta (Label):
Krótki, lokalnie znaczący identyfikator używany do kierowania pakietów przez sieć MPLS. W podstawowym wpisie shim etykieta ma 20 bitów, a pola klasy ruchu, stosu i TTL zajmują pozostałe bity 32-bitowego wpisu.
- Klasa Równoważności Przekazywania (FEC):
FEC to grupa pakietów IP, które są traktowane w sieci w ten sam sposób. Pakiety należące do tej samej klasy FEC otrzymują mapowanie etykiety i są przekazywane zgodnie z tym samym planem LSP. Decyzja o grupowaniu pakietów w FEC jest podejmowana na wejściu domeny, zazwyczaj na podstawie docelowej sieci IP.
Analogia: FEC to miasto docelowe. Wszystkie listy wysyłane do Krakowa są traktowane tak samo i otrzymują tę samą naklejkę w punkcie wejścia.
- Ścieżka z Przełączaniem Etykiet (LSP):
LSP to jednokierunkowa ścieżka przez sieć MPLS, którą mogą podążać pakiety należące do określonej klasy FEC. Może być ustanowiona hop-by-hop przez LDP albo wyznaczona jawnie przez mechanizmy inżynierii ruchu. W praktyce pełni rolę ścieżki przekazywania od Ingress LER do Egress LER.
- Protokół Dystrybucji Etykiet (LDP):
To protokół, którego używają LSR-y do dystrybucji mapowań FEC-etykieta. Mapowania te koordynują budowę LSP w całej sieci.
Funkcje MPLS wykraczające poza podstawowy routing IP
Model oparty na etykietach ułatwia realizację kilku funkcji, których nie zapewnia sam klasyczny routing IP.
Operacje przekazywania
Jednym z pierwotnych celów MPLS było użycie prostych operacji na etykietach w sprzętowych tablicach przekazywania. Współczesne routery IP również wykonują dopasowanie prefiksów w układach sprzętowych, dlatego MPLS nie gwarantuje samo w sobie wyższej szybkości. Etykiety pozostają przydatne do określania FEC, LSP i usług VPN.
Inżynieria Ruchu (TE)
Standardowy IGP, taki jak OSPF, wybiera trasę zgodnie ze swoją metryką. MPLS-TE może ustanowić jawną ścieżkę LSP z dodatkowymi ograniczeniami, także poza trasą wybraną przez zwykły IGP. Ułatwia to równoważenie obciążenia i unikanie zatorów. Jeśli trasa preferowana przez IGP jest zatłoczona, administrator może skierować ruch o niższym priorytecie na dłuższą, mniej obciążoną trasę zapasową.
Wirtualne Sieci Prywatne (VPN)
MPLS ułatwia tworzenie skalowalnych sieci VPN warstwy 3 dla klientów. Stos dwóch etykiet może zawierać etykietę wewnętrzną do identyfikacji celu klienta i zewnętrzną do przeprowadzenia pakietu przez rdzeń dostawcy. Dostawca przenosi ruch wielu klientów przez tę samą infrastrukturę, a osobne tablice VPN i etykiety rozdzielają ich konteksty przekazywania. Separacja ta nie zapewnia szyfrowania, które wymaga dodatkowych protokołów.
Jakość Usługi (QoS)
MPLS nie jest protokołem QoS, ale jego nagłówek zawiera 3-bitowe pole Traffic Class (TC), historycznie nazywane polem Experimental (EXP). Pole TC może przenosić oznaczenie klasy ruchu wykorzystywane przy wyborze sposobu kolejkowania i odrzucania pakietów. Sposób interpretacji wartości zależy od konfiguracji operatora.
Dlaczego nazywa się „wieloprotokołowe”?
Litery "MP" w MPLS oznaczają Wieloprotokołowe. Odnosi się to do jego zdolności do pracy z różnymi protokołami zarówno na Warstwie Sieciowej (Warstwa 3), jak i na Warstwie Łącza Danych (Warstwa 2).
- Na Warstwie 3: Chociaż głównie używany do przekazywania pakietów IPv4, koncepcja FEC jest ogólna. MPLS może być również używany do tworzenia LSP dla ruchu IPv6, a nawet dla protokołów innych niż IP.
- Na Warstwie 2: Etykieta MPLS jest umieszczana między nagłówkiem Warstwy 2 a nagłówkiem Warstwy 3. Oznacza to, że MPLS nie jest przywiązany do jednej technologii Warstwy 2. Może działać przez Ethernet, a także przez technologie takie jak Frame Relay, ATM czy PPP przez SONET/SDH. Zapewnia mechanizm przekazywania niezależny od podstawowej technologii łącza.
Tę pozycję MPLS często opisuje się jako warstwę 2.5. Jest to określenie umowne, ponieważ MPLS nie definiuje osobnej warstwy modelu OSI. W praktyce łączy funkcje przekazywania etykiet z warstwą routingu.