Dzia艂anie MPLS

Jak dzia艂aj膮 klasy r贸wnowa偶no艣ci przekazywania (FEC), etykiety i 艣cie偶ki LSP.

Wprowadzenie: Wewn膮trz Silnika MPLS

Ustalili艣my, 偶e Wieloprotoko艂owe Prze艂膮czanie Etykiet (MPLS) to wysokowydajna technologia sieciowa, kt贸ra przekazuje ruch za pomoc膮 prostych etykiet zamiast z艂o偶onych adres贸w IP. Dzia艂a to jak nowoczesna us艂uga pocztowa, kt贸ra u偶ywa kolorowych, kodowanych naklejek (etykiet) do sortowania poczty, zamiast zmusza膰 ka偶dego pracownika do czytania pe艂nego, szczeg贸艂owego adresu na ka偶dym li艣cie. Ta fundamentalna zmiana pozwala routerom w rdzeniu sieci na przekazywanie pakiet贸w z niewiarygodn膮 pr臋dko艣ci膮 przy u偶yciu wyspecjalizowanego sprz臋tu.

Ale jak ten system dzia艂a w praktyce? Sk膮d routery wiedz膮, kt贸r膮 naklejk臋 umie艣ci膰 na pakiecie? Jak uzgadniaj膮, co ka偶da naklejka oznacza? I co dok艂adnie dzieje si臋 z t膮 naklejk膮, gdy pakiet podr贸偶uje przez sie膰? Ta strona dekonstruuje wewn臋trzne mechanizmy p艂aszczyzny przesy艂ania danych MPLS. Prze艣ledzimy podr贸偶 pojedynczego pakietu od pocz膮tku do ko艅ca, badaj膮c trzy fundamentalne koncepcje, kt贸re umo偶liwiaj膮 dzia艂anie MPLS: Klasy R贸wnowa偶no艣ci Przekazywania (FEC), Protok贸艂 Dystrybucji Etykiet (LDP) oraz podstawowe operacje na etykietach: Push, Swap i Pop.

Klasa R贸wnowa偶no艣ci Przekazywania (FEC): Sortowanie Poczty

Zanim jakakolwiek etykieta zostanie dodana, sie膰 musi najpierw zdecydowa膰, jak grupowa膰 pakiety. W MPLS grupa pakiet贸w, kt贸re maj膮 by膰 traktowane w ten sam spos贸b, nazywana jest Klas膮 R贸wnowa偶no艣ci Przekazywania (FEC). Wszystkie pakiety nale偶膮ce do tej samej klasy FEC otrzymaj膮 t臋 sam膮 etykiet臋 w punkcie wej艣cia do sieci i b臋d膮 podr贸偶owa膰 t膮 sam膮 艣cie偶k膮.

Analogia: Pojemnik na listy do miasta docelowego. Wyobra藕 sobie pierwsz膮 sortowni臋 pocztow膮 (Router Wej艣ciowy). Kiedy otrzymuje miliony list贸w, nie traktuje ka偶dego z nich indywidualnie. Zamiast tego sortuje je do pojemnik贸w na podstawie miasta docelowego. Wszystkie listy do Warszawy trafiaj膮 do jednego pojemnika, wszystkie do Krakowa do innego itd. Ten "pojemnik na miasto" to w艂a艣nie FEC. Router podejmuje jedn膮 z艂o偶on膮 decyzj臋 na pojemnik, a nie na ka偶dy list.

Jak jest Okre艣lany FEC?

Kryteria grupowania pakiet贸w w FEC s膮 elastyczne, ale zdecydowanie najcz臋stsz膮 metod膮 jest grupowanie na podstawie docelowego prefiksu sieci IP.

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.

Od tego momentu rdze艅 sieci MPLS nie dba ju偶 o indywidualne adresy IP. Interesuj膮 go tylko "FEC-A" i "FEC-B". Ta pocz膮tkowa klasyfikacja to jedyna z艂o偶ona decyzja routingowa Warstwy 3 podejmowana w ca艂ej domenie MPLS.

Etykiety i Nag艂贸wek MPLS: Naklejka

Gdy pakiet zostanie sklasyfikowany do FEC, otrzymuje swoj膮 "naklejk臋": etykiet臋 MPLS. Ta etykieta nie jest cz臋艣ci膮 oryginalnego pakietu IP. Jest to nowy, 32-bitowy (4-bajtowy) nag艂贸wek, kt贸ry jest wstawiany, czyli "wsuwany", pomi臋dzy nag艂贸wek Warstwy 2 (np. Ethernet) a nag艂贸wek Warstwy 3 (IP).

Anatomia Nag艂贸wka MPLS

32-bitowy nag艂贸wek MPLS zawiera cztery odr臋bne pola:

PoleRozmiar (bity)Opis
Warto艣膰 Etykiety20G艂贸wny identyfikator, sam "numer naklejki". Pole 20-bitowe pozwala na ponad 1 milion mo偶liwych etykiet.
Bity Eksperymentalne (EXP)3G艂贸wnie u偶ywane do Jako艣ci Us艂ug (QoS). Bity te mog膮 s艂u偶y膰 do oznaczania priorytetu pakietu.
Dno Stosu (S)1U偶ywany w zaawansowanych scenariuszach (jak MPLS VPN), gdzie wiele etykiet mo偶e by膰 "u艂o偶onych w stos". Ten bit jest ustawiany na 1 na ostatniej etykiecie w stosie.
Czas 呕ycia (TTL)8Mechanizm zapobiegania p臋tlom. Jest kopiowany z nag艂贸wka IP przy dodawaniu etykiety i dekrementowany przy ka偶dym LSR. Je艣li osi膮gnie 0, pakiet jest odrzucany.

Lokalne Znaczenie: Jest absolutnie kluczowe, aby zrozumie膰, 偶e warto艣膰 etykiety ma tylko znaczenie lokalne. Oznacza to, 偶e etykieta ma znaczenie tylko na jednym 艂膮czu mi臋dzy dwoma s膮siaduj膮cymi routerami. Etykieta `100` mo偶e oznacza膰 "wy艣lij do Routera B" na 艂膮czu z A do B, ale na 艂膮czu z B do C ta sama warto艣膰 `100` mo偶e oznacza膰 co艣 zupe艂nie innego lub by膰 nieu偶ywana. Routery renegocjuj膮 etykiet臋 dla danej klasy FEC na ka偶dym przeskoku.

LDP i LSP: Planowanie Trasy Ekspresowej

Sk膮d wi臋c wszystkie routery w sieci wiedz膮, jakich etykiet u偶ywa膰? Zarz膮dza tym Protok贸艂 Dystrybucji Etykiet (LDP). LDP to dedykowany protok贸艂, kt贸ry dzia艂a mi臋dzy routerami MPLS w celu automatycznej wymiany informacji o klasach FEC i etykietach, kt贸re chc膮 do nich przypisa膰. To zbiorowe porozumienie tworzy tunel od pocz膮tku do ko艅ca, czyli 艢cie偶k臋 z Prze艂膮czaniem Etykiet (LSP).

Analogia: Wewn臋trzna Notatka S艂u偶bowa. Zanim jakakolwiek poczta zostanie wys艂ana tras膮 ekspresow膮, kierownicy wszystkich sortowni na trasie musz膮 si臋 ze sob膮 skomunikowa膰. Kierownik w Krakowie wysy艂a notatk臋 do tego w Katowicach: "Dla ca艂ej poczty do Warszawy, prosz臋 u偶ywa膰 naklejki 'Niebieska 101' i wysy艂a膰 j膮 do mnie." Kierownik z Katowic wysy艂a notatk臋 do tego w 艁odzi: "Dla ca艂ej poczty do Warszawy, prosz臋 u偶ywa膰 naklejki 'Czerwona 202' i wysy艂a膰 j膮 do mnie." Ten 艂a艅cuch notatek ustanawia plan wymiany naklejek na ca艂ej trasie.

Proces LDP: Przyk艂ad Krok po Kroku

Proces dystrybucji etykiet dla danego celu (FEC) w rzeczywisto艣ci przebiega wstecz, od celu w kierunku 藕r贸d艂a.

  1. Egress LER Zaczyna: Egress LER, kt贸ry jest bezpo艣rednio pod艂膮czony do sieci docelowej (naszego FEC), rozpoznaje to z w艂asnej tablicy routingu. Poniewa偶 jest to ostatni przystanek, wie, 偶e b臋dzie musia艂 wykona膰 ostateczne wyszukiwanie IP, aby dostarczy膰 pakiet. Przydziela sobie specjaln膮, ukryt膮 etykiet臋 (Etykieta 3, reprezentuj膮c膮 instrukcj臋 zdj臋cia etykiety) i koncepcyjnie og艂asza to swojemu s膮siadowi, P2.
  2. P2 Tworzy Etykiet臋: Router P2 otrzymuje og艂oszenie od Egress LER. Teraz wie, 偶e ma wa偶n膮 艣cie偶k臋 do FEC. P2 generuje swoj膮 w艂asn膮, lokaln膮 etykiet臋 dla tego FEC, powiedzmy `Etykieta 300`. Instaluje to w swojej tablicy przekazywania: "Je艣li otrzymam pakiet z Etykiet膮 300, powinienem j膮 usun膮膰 i przekaza膰 pakiet do Egress LER." Nast臋pnie og艂asza to nowe mapowanie: (FEC, Etykieta 300), swojemu s膮siadowi, P1.
  3. P1 Tworzy Etykiet臋: Router P1 otrzymuje og艂oszenie od P2. Wie, 偶e ma wa偶n膮 艣cie偶k臋 do FEC przez P2. P1 generuje swoj膮 w艂asn膮, lokaln膮 etykiet臋, powiedzmy 'Etykieta 200'. Instaluje to w swojej tablicy: "Je艣li otrzymam pakiet z Etykiet膮 200, musz臋 zamieni膰 j膮 na Etykiet臋 300 i przekaza膰 do P2." P1 nast臋pnie og艂asza swoje mapowanie: (FEC, Etykieta 200), swojemu s膮siadowi, Ingress LER.
  4. Ingress LER Jest Gotowy: Ingress LER otrzymuje og艂oszenie od P1. Ma teraz etykiet臋 do u偶ycia dla wszystkich pakiet贸w nale偶膮cych do tego FEC. Instaluje regu艂臋: "Dla ka偶dego pakietu nale偶膮cego do tego FEC, na艂贸偶 Etykiet臋 200 i przeka偶 go do P1."

Na ko艅cu tego procesu zosta艂a utworzona kompletna 艢cie偶ka z Prze艂膮czaniem Etykiet (LSP) od pocz膮tku do ko艅ca. Ka偶dy router na 艣cie偶ce wie dok艂adnie, co robi膰 z pakietem dla tego FEC.

Podstawowe Operacje Przekazywania w MPLS

呕ycie pakietu w sieci MPLS jest definiowane przez trzy fundamentalne operacje:

PUSH

Dodawanie nowej etykiety (lub stosu etykiet) do pakietu IP. Wykonywane przez Ingress LER.

SWAP

Zast臋powanie przychodz膮cej etykiety na najwy偶szym poziomie now膮 etykiet膮 wychodz膮c膮. Wykonywane przez routery LSR w rdzeniu sieci.

POP

Usuwanie etykiety z najwy偶szego poziomu stosu z pakietu. Wykonywane przez Egress LER (lub router przed nim).

Pe艂na Podr贸偶 Pakietu

Prze艣led藕my nasz pakiet z wcze艣niejszego przyk艂adu przez LSP, kt贸re w艂a艣nie utworzyli艣my:

  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.
    Dzia艂anie MPLS | Teleinf Edu