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
- 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.
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:
| Pole | Rozmiar (bity) | Opis |
|---|---|---|
| Wartość Etykiety | 20 | Identyfikator 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) | 3 | Pole przenosi oznaczenie klasy ruchu wykorzystywane między innymi przez mechanizmy QoS. |
| Dno Stosu (S) | 1 | Oznacza koniec stosu. Wartość 1 znajduje się w ostatnim wpisie stosu, na przykład pod etykietą transportową w pakiecie MPLS VPN. |
| Czas Życia (TTL) | 8 | Pole 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.
- 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.
- 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ę
300dla 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). - 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). - 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:
- 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.