MPLS

Działanie MPLS

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

Wprowadzenie do działania MPLS

Wieloprotokołowe Przełączanie Etykiet (MPLS) przekazuje pakiety na podstawie etykiet powiązanych z klasą równoważności przekazywania, zamiast wykonywać pełną analizę adresu IP na każdym węźle tranzytowym. Router brzegowy LER klasyfikuje pakiet i nakłada etykietę, a routery LSR w rdzeniu korzystają z wpisów przekazywania dla etykiety. Takie rozdzielenie klasyfikacji i tranzytowego przekazywania upraszcza decyzje podejmowane w rdzeniu oraz pozwala korzystać ze sprzętowej obsługi MPLS. Egress LER usuwa etykiety zgodnie z wpisem dla FEC i przekazuje pakiet do sieci docelowej.

MPLS łączy klasyfikację pakietów i obsługę stosu etykiet z płaszczyzną sterowania, która rozprowadza powiązania między FEC i etykietami. Droga pakietu od routera wejściowego do wyjściowego zależy od przypisania do Klasy Równoważności Przekazywania (FEC). Protokół Dystrybucji Etykiet (LDP) może rozprowadzać powiązania etykiet, a operacje Push, Swap i Pop modyfikują stos podczas przekazywania. Rozróżnienie LER i LSR opisuje funkcję w ścieżce i nie oznacza osobnego formatu pakietu.

Klasa równoważności przekazywania (FEC)

Przed dodaniem etykiety sieć przypisuje pakiet do grupy o wspólnym sposobie przekazywania. W MPLS taka grupa nazywa się Klasą Równoważności Przekazywania (FEC). Pakiety należące do tej samej FEC mogą otrzymać tę samą etykietę na wejściu do domeny i są obsługiwane według tego samego powiązania FEC, choć lokalne etykiety mogą zmieniać się na kolejnych routerach. Klasa określa także właściwości przekazywania, takie jak następny skok, interfejs wyjściowy i ewentualne wymagania dotyczące obsługi ruchu.

Router wejściowy może przypisać wiele pakietów do jednej FEC na podstawie wspólnych kryteriów przekazywania. W typowym przypadku kryterium stanowi prefiks docelowy, ale definicja FEC może uwzględniać także wymagany sposób obsługi ruchu lub inną właściwość używaną przez konkretną implementację. W ten sposób późniejsze wpisy przekazywania dotyczą całej klasy pakietów zamiast pojedynczych adresów.

Jak określa się FEC?

Kryteria grupowania pakietów w FEC są elastyczne, jednak najczęściej stosuje się docelowy prefiks sieci IP. Powiązanie z prefiksem wynika z tablicy routingu routera wejściowego.

Przykład klasyfikacji FEC

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.

W dalszej części LSP routery rdzeniowe mogą używać powiązania etykiety z FEC i przekazywać pakiet bez ponownego wykonywania pełnego wyszukiwania prefiksu IP. Router wejściowy nadal podejmuje decyzję warstwy 3, a router wyjściowy może wykonać końcowe wyszukiwanie IP przed dostarczeniem pakietu do sieci docelowej.

Etykieta MPLS i stos etykiet

Po przypisaniu pakietu do FEC router może dodać wpis stosu MPLS. Pojedynczy wpis ma 32 bity (4 bajty) i w przypadku enkapsulacji z nagłówkiem Ethernet znajduje się między nagłówkiem warstwy 2 a nagłówkiem warstwy 3. Stos może zawierać kilka takich wpisów, gdy potrzebne są równocześnie etykieta transportowa i etykieta usługi. Etykieta na szczycie jest przetwarzana jako pierwsza, a bit S informuje, gdzie kończy się stos.

Pola wpisu stosu MPLS

32-bitowy wpis stosu MPLS zawiera cztery pola:

PoleRozmiar (bity)Opis
Wartość Etykiety20Identyfikator używany do wyboru wpisu przekazywania. Pole 20-bitowe daje 2^20 wartości, z uwzględnieniem wartości zarezerwowanych przez standard.
Klasa ruchu (TC, dawniej EXP)3Pole przenosi oznaczenie klasy ruchu wykorzystywane między innymi przez mechanizmy QoS.
Dno Stosu (S)1Oznacza koniec stosu. Wartość 1 znajduje się w ostatnim wpisie stosu, na przykład pod etykietą transportową w pakiecie MPLS VPN.
Czas Życia (TTL)8Pole używane do ograniczania czasu życia pakietu. Sposób ustawiania i zmniejszania TTL zależy od modelu przetwarzania TTL. W modelu uniform wartość jest przekazywana między nagłówkami i zmniejszana w kolejnych węzłach. Po osiągnięciu zera pakiet jest odrzucany.

Znaczenie lokalne: Wartość etykiety jest interpretowana w lokalnej przestrzeni etykiet routera. Etykieta 100 może oznaczać przekazanie do Routera B na odcinku A do B, a ta sama wartość 100 na odcinku B do C może mieć inną funkcję lub nie być używana. Każdy LSR instaluje własne powiązanie etykiety przychodzącej z etykietą wychodzącą, zgodnie z informacjami dystrybuowanymi dla danej FEC.

Dystrybucja etykiet przez LDP i LSP

Powiązania między FEC i etykietami są dystrybuowane przez Protokół Dystrybucji Etykiet (LDP). Routery MPLS wymieniają informacje o etykietach, które mogą przyjąć dla określonych FEC. LDP wykrywa sąsiadów przez komunikaty Hello, a sesję między routerami utrzymuje z użyciem TCP. Przy typowym wykorzystaniu LDP wybór kolejnych skoków wynika z tablicy IGP, a z tych powiązań powstaje Ścieżka z Przełączaniem Etykiet (LSP).

LDP przekazuje mapowania FEC do etykiet między sąsiednimi LSR. Router po stronie celu może ogłosić etykietę dla FEC, a router wcześniejszy wybiera własną etykietę i przekazuje odpowiednie mapowanie dalej w kierunku wejścia. W ten sposób każdy odcinek LSP otrzymuje lokalny wpis przekazywania, a jego operacja może być inna, na przykład Swap albo Pop.

Proces LDP: przykład dystrybucji

Przykład pokazuje dystrybucję mapowań od routera obsługującego docelową FEC w kierunku routera wejściowego. Szczegóły czasu i trybu dystrybucji zależą od konfiguracji LDP.

  1. Egress LER zaczyna: Egress LER, bezpośrednio połączony z siecią docelową FEC, rozpoznaje tę FEC w swojej tablicy routingu. Na końcu LSP może wykonać wyszukiwanie IP i dostarczyć pakiet do sieci docelowej. Ogłasza sąsiadowi P2 wiązanie z etykietą implicit-null o wartości 3, które pozwala zastosować usunięcie etykiety na poprzednim skoku.
  2. P2 tworzy wpis: Router P2 otrzymuje ogłoszenie od Egress LER i ma informację o osiągalności FEC. W przykładowej instalacji wybiera lokalną etykietę 300 dla ruchu przychodzącego od P1. Instaluje wpis: pakiet z etykietą 300 zostaje przekazany do Egress LER po wykonaniu Pop zgodnie z ogłoszeniem implicit-null. Następnie ogłasza P1 mapowanie (FEC, etykieta 300).
  3. P1 tworzy wpis: Router P1 otrzymuje mapowanie od P2 i zna następny skok do FEC. Wybiera własną, lokalną etykietę 200. Jego tablica określa: pakiet z etykietą 200 należy zamienić na etykietę 300 i przekazać do P2. P1 ogłasza Ingress LER mapowanie (FEC, etykieta 200).
  4. Ingress LER jest gotowy: Ingress LER otrzymuje mapowanie od P1. Ma etykietę do użycia dla pakietów należących do tej FEC i instaluje regułę: dla takiego pakietu wykonać Push etykiety 200 oraz przekazać go do P1.

Po zainstalowaniu tych mapowań LSP ma wpisy od Ingress LER do Egress LER. Każdy router na ścieżce zna operację dla pakietu należącego do tej FEC, a domena może przekazywać go na podstawie etykiet.

Podstawowe Operacje Przekazywania w MPLS

Przekazywanie pakietu w sieci MPLS opiera się na trzech podstawowych operacjach:

PUSH

Dodanie etykiety lub stosu etykiet do pakietu. Operację wykonuje zwykle Ingress LER.

SWAP

Zastąpienie etykiety znajdującej się na szczycie stosu etykietą wychodzącą. Operację wykonują LSR, często w rdzeniu sieci.

POP

Usunięcie etykiety ze szczytu stosu. Operację może wykonać Egress LER albo router poprzedzający go w ramach PHP.

Przebieg pakietu przez LSP

Poniższy przykład przedstawia przebieg pakietu z wcześniejszego przykładu przez ustanowione LSP:

  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.

Powiązane artykuły