Multiprotocol Label Switching

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania
Miejsce MPLSa w modelu OSI
Przykładowy schemat działania sieci MPLS

MPLS (ang. Multiprotocol Label Switching) – technika stosowana przez routery, w której trasowanie pakietów zostało zastąpione przez tzw. przełączanie etykiet.

Pomimo że teoretycznie istnieje możliwość zastosowania MPLS do przełączania pakietów dowolnego protokołu trasowanego (na co wskazuje słowo Multiprotocol w nazwie), praktyczne zastosowania dotyczą jedynie protokołu IP. Uogólnieniem techniki przełączania etykiet na inne mechanizmy zwielokrotnienia jest GMPLS (Generalized MPLS).

MPLS nazywany jest "protokołem warstwy 2,5", ponieważ korzysta z zalet warstwy 2 (modelu OSI) – wydajności i szybkości oraz warstwy 3 – skalowalności. Łącząc je, poprawia działanie usług dostarczanych w sieciach IP. Umożliwia rezerwacje pasma dla przepływu ruchu, gwarantuje rozróżnienie wymagań Quality of Service i implementowanie Virtual Private Network.

MPLS, choć nie jest to konieczne, działa najlepiej na urządzeniach, które wymieniają etykiety sprzętowo. Jest to szybsze i lepsze, niż przełączanie w trakcie którego analizowany jest cały nagłówek, by odnaleźć miejsce następnego skoku.

Zasada działania[edytuj | edytuj kod]

Na brzegu sieci z protokołem MPLS do pakietu dołączana jest dodatkowa informacja zwana etykietą (ang. Label). Router po odebraniu pakietu z etykietą (jest to z punktu widzenia danego routera etykieta wejściowa) używa jej jako indeksu do wewnętrznej tablicy etykiet, w której znajduje się następny punkt sieciowy (ang. next hop) oraz nowa etykieta (etykieta wyjściowa). Etykieta wejściowa jest zastępowana wyjściową i pakiet jest wysyłany do następnego punktu sieciowego (np. do następnego routera). Jeżeli następny router nie obsługuje protokołu MPLS, etykieta jest usuwana.

Przypisanie pakietowi etykiety na brzegu sieci odbywa się w tzw. procesie klasyfikacji. Pakiety, które będą w jednakowy sposób routowane przez sieć MPLS, klasyfikowane są do jednej klasy FEC (ang. Forwarding Equivalence Class) i otrzymują tę samą etykietę. Przykładowo, klasy FEC mogą być budowane na bazie adresów docelowych IP w nagłówku pakietu w taki sposób, że każda klasa FEC pokrywa się z pojedynczym wpisem w tablicy trasowania routera.

Przyporządkowanie danej klasy FEC do etykiety jest sygnalizowane innym routerom za pomocą protokołu dystrybucji etykiet. Pozwala to routerom na zbudowanie tablic etykiet. W zależności od konkretnego zastosowania, jako protokół do dystrybucji etykiet używany jest LDP, albo odpowiednio rozszerzone protokoły: RSVP lub BGP.

W niektórych zastosowaniach korzystne jest dodawanie do pakietu więcej niż jednej etykiety, które tworzą tzw. stos etykiet. Stos etykiet zorganizowany jest na zasadzie kolejki LIFO (w pierwszej kolejności jest usuwana etykieta, która została dołączona do pakietu jako ostatnia). Routery podejmują decyzję o przełączeniu pakietu jedynie na podstawie zewnętrznej etykiety (ostatniej z dodanych). Tego typu stosy etykiet używane są w sieciach operatorskich tam, gdzie zastosowanie dodatkowej etykiety poza tzw. transportową (czyli używaną przez operatora do transportu ruchu pomiędzy jego routerami brzegowymi) pozwala dodatkowo rozdzielić ruch od wielu użytkowników (każdy należy do osobnej instancji VPN i otrzymuje osobną etykietę identyfikującą ten VPN).

Etykieta MPLS dla Ethernetu[edytuj | edytuj kod]

Etykieta może wyglądać różnie w zależności od protokołu warstwy 2. Dla Ethernetu wygląda następująco:

ID TC S TTL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Składa się z 32 bitów:

  • 20 bitów ID – to indeks, który reprezentuje szczególną klasę podczas przesyłania danych. Po odczycie ID ustalany jest, według tablicy etykiet (LIB – label information base) dla danego interfejsu, następny węzeł sieci oraz nowa etykieta, z którą pakiet opuści urządzenie.
  • 3 bity TC – przeznaczone są dla działania i implementacji QoS.
  • 1 bit S – oznacza czy dołączono wiele etykiet, czyli czy istnieje stos etykiet (obsługiwany na zasadzie kolejki LIFO). Jedynka logiczna znaczy, że stos istnieje.
  • 8 bitów TTL – pole informuje, przez ile punktów sieci pakiet przeszedł.

Realizowane usługi[edytuj | edytuj kod]

MPLS pozwala na realizację między innymi następujących usług:

  • MPLS IP VPN-y
  • TE (ang. Traffic Engineering Tunnels)
  • AToM (ang. Any Transport over MPLS)
  • VPLS (ang. Virtual Private LAN Services)

Zobacz też[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]

  • RFC3031 – Multiprotocol Label Switching Architecture (EN)
  • RFC3032 – MPLS Label Stack Encoding (EN)
  • OpenSimMPLS: symulator sieci MPLS wolne i otwarte dla nauczania, badań i projektowania.