MPLS czyli etykiety w sieci
- Andrzej Janikowski,
- 06.05.2002
MPLS (Multi-Protocol Label Switching) jest zbiorem procedur mających zapewniać lepsze dopasowanie między warstwą drugą a trzecią. Dzięki temu można odciążać urządzenia oraz efektywniej wykorzystywać trasowanie na obrzeżach sieci i przełączanie w jej szkielecie.
MPLS (Multi-Protocol Label Switching) jest zbiorem procedur mających zapewniać lepsze dopasowanie między warstwą drugą a trzecią. Dzięki temu można odciążać urządzenia oraz efektywniej wykorzystywać trasowanie na obrzeżach sieci i przełączanie w jej szkielecie.
Jeśli każdy pakiet otrzyma na wejściu do sieci specjalną etykietkę, to kolejne urządzenia będą mogły rozpoznawać jego przynależność do określonego przepływu, który jest obsługiwany na wcześniej ustalonych warunkach. W efekcie każda transmisja będzie obsługiwana stosownie do jej specyfiki i priorytetu. A o to głównie chodzi.
U podstaw architektury MPLS leży technologia Tag Switching, opracowana przez Cisco Systems. Jednak niektóre idee zostały zaczerpnięte z konkurencyjnych technologii: IP Switching (znanego dzieła firmy Ipsilon) i projektu ARIS koncernu IBM. W MPLS skumulowały się wszystkie najbardziej udane elementy tych technologii, dzięki temu (oraz wysiłkom IETF i wielu producentów sprzętu i oprogramowania) może on stać się podstawowym standardem Internetu o wyjątkowym znaczeniu.
MPLS w zarysie
W zarysie MPLS jest protokołem przypisywania pakietowi niewielkiej stałej etykiety o znaczeniu lokalnym. Etykieta ta zawiera zakodowany numer klasy równoważności przekazywania - FEC (Forwarding Equivalence Class) - do jakiej pakiet został zakwalifikowany w chwili wprowadzenia go do sieci. Klasy FEC tworzy się na podstawie różnych kryteriów, takich jak np.: jednakowy adres docelowy lub sieć, wybrany prefiks CIDR, adres źródłowy, takie same wartości bitów dla DiffServ czy QoS, to samo wyjście LSR. Każda klasa ma więc swoją etykietę i każdy pakiet należy do jakiejś klasy.
Etykiety nadaje ruter LSR (Label Switch Router), wiążąc je z klasą FEC, co zostaje odnotowane w bazie LIB (Label Information Base), którą dysponuje każdy LSR. Na ruterach spoczywa obowiązek wymiany zawartości LIB z sąsiadami. Mogą do tego celu użyć specjalnego protokołu LDP (Label Distribution Protocol) lub protokołów trasowania typu distance vector i RSVP. Algorytm distance vector (Bellman-Ford) umożliwia przesłanie całej tablicy trasowania, ale tylko do sąsiadujących ruterów. Dzięki temu sieć nie jest zalewana pakietami. Z kolei LDP, wzorem niektórych protokołów trasowania, używa pakietów Hello - multicastowych (poszukiwania) lub unicastowych (odpowiedź sąsiada, po której następuje sesja). Do odnajdywania sąsiedztwa korzysta on z protokołu UDP, a do sesji między sąsiadami - z protokołu TCP. Pakiet może przenosić wiele etykiet (stos etykiet). Ale jedynie ostatnia z nich, zewnętrzna, jest używana przy wysyłaniu. Tablica etykiet w LSR może spowodować usunięcie zewnętrznej etykiety. Jest to użyteczne przy tunelowaniu MPLS, które z kolei jest istotne w inżynierii ruchu. Dla ATM etykietą jest adresowanie VPI/VCI, a dla Frame Relay - identyfikator DLCI. W pakietach protokołu IPv6 etykietę można umieścić w polu Identyfikatora przepływu. Z kolei w sieci optycznej etykieta będzie przystosowana do światłowodu, a więc będzie użyta długość fali, być może w połączeniu z jakąś teraz dostępną etykietą.
Etykiety mogą być powiązane z pakietami przez kapsułkowanie w nagłówku warstwy łącza danych albo dołączone jako specyficzne pola pomiędzy nagłówkiem Data Link i jednostkami danych protokołowych Data Link. Dzięki takiej procedurze dowolny ruter LSR (Label Switch Router) na trasie takiego pakietu nie musi analizować całego nagłówka - który zawiera więcej informacji, niż potrzeba do wyznaczenia dalszej marszruty - lecz jedynie czyta etykietę i na podstawie swojej tablicy kieruje pakiet z nową etykietą do następnego rutera. Funkcje LSR mogą spełniać urządzenia obsługujące sterowanie IP (trasowanie, RSVP) i jednocześnie składniki ekspedycji przełączania etykietowego. Kanał w MPLS jest jednokierunkowy i nosi nazwę ścieżki przełączanej etykietowo - LSP (Label Switched Path). Koncepcja inżynierii ruchu utrudnia zestawienie takiej ścieżki, gdyż wręcz zmusza do uwzględniania różnych ograniczeń bądź przez operatora, bądź przez samą sieć. Protokół RSVP-TE umożliwia rezerwację zasobów na całej długości LSP.
Inżynieria ruchu
Inżynieria ruchu to w najprostszym ujęciu metodyka zapewniania równomiernego obciążania łączy, gwarantowania pasma dla różnych rodzajów ruchu, ograniczania ruchu na pewnych łączach lub kierowania go na łącza wybrane. W sieciach przesyłających dane i głos można dzięki tej inżynierii skierować ruch w stronę dostępnych zasobów. Inżynieria ruchu przebiega czteroetapowo: pomiary, znakowanie, modelowanie i dostarczanie ruchu do właściwego miejsca.