background image

Opis/ Materiały Prezentacja MPLS 

 
 
Co to jest MPLS i czemu został wprowadzony ? 
MPLS czyli  Multi Protocol Label Switching,  to technologia  mająca  na celu  utworzenie sieci 
logicznej  w  fizycznej  sieci  opartej  adresacje  warstwy  trzeciej  –  sieciowej,  najczęściej  IP  – 
gwarantującej  transparenty,  szybki  i  prosty  sposób  transportu  informacji.  Nazwa  tego 
protokołu jest ściśle związana z jego działaniem oraz funkcjonalnością, mianowicie: 

  Multi-protocol – odnosi się do charakteru działania tego protokołu jako że dzia ła on w 

umownie  ustalonej  warstwie  2,5  pomiędzy  warstwą  sieci  oraz  łącza  danych  dla 
modelu  referencyjnego ISO/OSI,  musi on  wspierać  usługę przenoszenia pakietów od 
wielu różnych  standardów przekazywanych  z  warstwy wyższej  – takich jak  IPv4 czy 
IPv6, jak  i być  w stanie wykorzystać  warstwy wyższe do transportu przez  sieć  –  np. 
ATM, FR, PPP czy też w końcu Ethernet.  

  Label  –  odnosi  się  do  etykiety,  która  to  jest  odpowiednikiem  adresu  na  podstawie 

którego  będziemy  kierować  pakiety  MPLS  wewnątrz  sieci  MPLS.  Ich  dokąłdna 
struktura jest opisana w dalszej części tego dokumentu 

  Switching – ponieważ jest to komutacja/przełączania a  nie  routowanie pakietów  i jest 

to  wykonywane  sprzętowo  bez  przymusu  analizowania  całego  pakietu  przeliczania 
sumy  kontrolnej  nagłówka  i  marnowania  bezsensownie  czasu  jak  ma  to  miejsce  w 
przypadku pakietów IPv4. Pakiet MPLS jest przesyłany dalej jak tylko jest to możliwe 
czyli po przeanalizowaniu  nagłówka MPLS a dokładniej  wartości etykiety kierowania 
i  znalezienia  w  tablicy  kierowania  –  LUT,  LookUp  Table  –  wpisu  pasującego  do 
przesłania  pakietu  dalej.  Dzięki  temu  oszczędzamy  czas  a  opóźnienia  wprowadzane 
przez routery MPLS oraz całą sieć są bardzo małe i pozawala to na świadczenie usług 
wymagających transportu Real-Time – takich jak mowa czy też video chat/streaming.  

Protokół  MPLS  jest  bardzo  dobrym  narzędziem  dla  środowiska  operatorskiego  do 
świadczenia  usług ponieważ pozwala on  na przesytłanie  informacji w trybie transparentnym 
czyli przeźroczystym – gdzie  informacje/dane klienta  nie SA  nawet analizowane przez węzły 
sieci. Dzięki temu a także mechanizmowi tunelowania możemy świadczyć usługi wirtualnych 
sieci prywatnych – VPN zarówno na poziomie warstwy trzeciej jak i warstwy drugiej.  
 
Powodami dla których powstała technologia MPLS oraz zaletami tej technologii były między 
innymi: 

 

Potrzeba stworzenia stabilnej i efektywnej platformy dla świadczenia usług  

  Konwergencja  sieci  –  która  łączyła  by  świadczenie  usług  dotychczas  w  większości 

opartych  i  kojarzonych  z  różnymi  typami  sieci  i  technologii  –  np.  sieć  SDH,  ATM 
zaprojektowane  doświadczenia  usług  telekomunikacyjnych  typu  głos/mowa  czy  też 
sieć  Internet,  w  której  większość,  jak  nie  prawie  cały  ruch  porównując  go  do  ogółu 
stanowią  przesyłane  pakiety  z  danymi  –  których  charakter  oraz  wymagania 
jakościowe  są  zupełnie  inne  niż  np.  dla  pakietów  zawierających  próbki  głosu  z 
rozmowy telefonicznej czy też telekonferencji. 

 

Elastyczne  i  skalowalne  rozwiązanie  –  którego  rozwinięcie  nie  wiązało  by  się  z 
dużymi zmianami oraz przede wszystkim kosztami wdrożenia tak jak miało to miejsce 
w technologii ATM czy też strukturach pierścieniowych SDH.  

 

Sieć wspierająca architekturę IP QoS – której celem było by zapewnienie jakości oraz 
gwarancji dostarczenia przy zadanych parametrach ruchowych danych klienta.  

 

Możliwość  zarządzania  pasmem  (zarówno  statycznie  jak  i  dynamicznie)  oraz 
możliwość  wprowadzenia  TE  -  Traffic  Engineering  –  czyli  inżynierii  ruchu,  dzięki 
której  możliwe  było  efektywne  oraz  precyzyjne  projektowanie  sieci  o  zadanych 

background image

wymaganiach  czy  też  zapobieganie  oraz  reakcja  na  zjawiska  natłoku  w  sieci  w  celu 
zapobiegnięciu straty pakietów/danych. 

 

Technologia  ta wspiera transmisję  multicast, która  może  zostać  użyta do świadczenia 
kolejnych usług takich jak np. telewizja czy też radio. 

 
Poniżej  został  przedstawiony  schemat  logiczny  w  odniesieniu  do  modelu  referencyjnego 
ISO/OSI,  sieci  MPLS  oraz  opis  przybliżający  sposób  przekazywania  pakietów  przez  sieć 
MPLS. 

 

Rys.1. Sposób działania węzłów MPLS w odniesieniu do modelu ISO/OSI.  

 
Jak  widać  na  rysunku  1,  na  brzegu  sieci  MPLS  pakiet  z  warstwy  wyższej  np.  IP  jest 
przekazywany  do  warstw  niższych  poprzez  warstwę  2,5  –  MPLS  -    gdzie  zostaje 
zaklasyfikowany  do  określonej  grupy  –  FEC,  Forwarding  Equalivence  Class,  o  którym 
bardziej szczegółowa mowa będzie w dalszej części dokumentu. Następnie na podstawie FEC 
pakietowi IP dodawany  jest  nagłówek MPLS  zawierający odpowiednia etykietę kierowania  i 
przy pomocy tablicy kierowania pakiet ten jest wpuszczany do sieci MPLS gdzie przełączany 
jest  na  podstawie  przydzielonej  mu  etykiety,  bez  jakiegokolwiek  zaglądania  czy  też 
analizowania  nagłówków  warstwy  wyższej  niż  2,5  czyli  MPLS.  Na  obrzeżu  sieci  MPLS, 
kiedy to pakiet dotrze do  sieci IP określonej przez destenation  address  zawarty  w  nagłówku 
pakietu IP router MPLS usuwa nagłówek oraz wszelkie informacje pochodzące z sieci MPLS 
i przesyła pakiet do warstw wyższych, które od tej pory zajmują się dalszym trasowaniem czy 
też analizą pakietu z danymi. 
W  taki  sposób  sieć  MPLS  tworzy  na  fizycznej  sieci  IP,  korzystając  z  jej  zasobów  oraz 
informacji  o  dostępnych  trasach,  osobną  sieć  logiczną,  która  to  przesyła  informacje  bez 
ingerencji wcześniej wymienionej warstwy trzeciej – w tym przypadku IP, korzystając z usług 
transportowych warstwy niższej, np. ATM, FR czy też Ethernet.   
 
 
Ele menty składające się na sieć MPLS: 

  IGP 
  MPLS Labels – Etykiety 
  Enkapsulacja Etykiet 
  FEC – Forwarding Equvalence Class  
  Dystrybucja Etykiet – LDP itp.  
 

Urządzenia – „Routery”  

 

MPLS

ATM/FR/PPP/Ethernet

L1

Warstwy 

wyższe

L3

L2

L1

Warstwy 

wyższe

L3

L2

L2,5 

MPLS

L2,5 

MPLS

L1

Warstwy 

wyższe

L3

L2

L2,5 

MPLS

L1

Warstwy 

wyższe

L3

L2

L2,5 

MPLS

IP

background image

W tej części dokumentu  zostały omówione już w  większych szczegółach  wspomniane wyżej 
oraz już  wcześniej  zagadnienia, dzięki którym praca  sieci MPLS jest  możliwa. Są  to  między 
innymi: 
 
Urządzenia – „Routery”  
Urządzenia  pracujące  w  sieci  MPLS  są  nazywane  routerami  LSR  czyli  Label  Switching 
Router, urządzenia te można podzielić ze względu na funkcjonalność na następujące: 

 

Rdzeniowe (Core, często oznaczane P) - których  zadaniem jest przełączanie pakietów 
MPLS  na  podstawie  zebranych  informacji  o  etykietach  związanych  z  dostępnymi 
ścieżkami LSP – Label Switching Path 

 

Brzegowe (Edge, często oznaczane PE) – których głównym zadaniem jest mapowanie 
pakietów  IP  na  odpowiednie  klasy  FEC  oraz  związane  z  tymi  klasami  etykiety 
kierowania. Ze względu na funkcjonalność możemy podzielić je na: 

Brzegowe  wejściowe  (ingress)  –  znajdujące  się  na  brzegu  sieci  od  strony 
źródła ruchu patrząc zgodnie z kierunkiem przesyłania informacji oraz, 

Brzegowe  wyjściowe  (outgress)  –  znajdujące  się  na  brzegu  sieci  od  strony 
docelowej  patrząc  zgodnie  z  kierunkiem  przesyłania  informacji  przez  sieć 
MPLS. 

Należy  jednak  pamiętać  iż  w  praktycznie  wszystkich  przypadkach  router  brzegowy 
będzie  spełniał  obydwie  z  wyżej  wymienionych  funkcji,  z  wyjątkiem  trasy  dla 
połączenia oraz transmisji jednostronnej. 

 
Architektura  logiczna  każdego  węzła  dzieli  się  na  płaszczyznę  danych  oraz  płaszczyznę 
sterowania. Płaszczyzna danych odpowiada  stricte  za przesyłanie pakietów MPLS przez sieć 
to  jest  analiza  etykiety  oraz  przełączanie/komutacja  pakietów  na  jej  podstawie.  Płaszczyzna 
sterowania  odpowiada  za  zdobywanie  oraz  poprawne  utrzymywanie  informacji  potrzebnych 
do  przesyłania  pakietów  przez  płaszczyznę  danych  tj.  zbieranie  informacji  o  Etykietach 
kierowania  oraz  routingu  IP    (czy  też  tras  dla  protokołu  warstwy  wyższej).  Poniżej 
przedstawiono architekturę dla węzła brzegowego sieci MPLS: 
 

 

Rys.2. Węzeł brzegowy sieci MPLS. 

 
Jak widać węzeł brzegowy sieci posiada  mechanizmy  umożliwiające  mu zbieranie  informacji 
o  trasach  dostępnych  na  poziomie  IP  oraz  etykietach  kierowania.  Węzeł  analizuje  pakietu 

Płaszczyzna sterowania

Płaszczyzna danych

Protokoły Routingu IP

Tablica IP

Sterowanie MPLS

Tablice Routingu IP

Tablica Etykiet

Informacje  o  trasach,  routingu 
wymieniane  pomiędzy  węzłami 
za pośrednictwem protokołu IGP 
(np. BGP, OSFP etc.)

Pakiet

Pakiet

Informacje  o  etykietach,  wymieniane 
pomiędzy węzłami za pośrednictwem 
protokołu dystrybuującego informacje 
o  etykietach  (np.  LDP,  TDP,  BGP 
etc.)

`

Pakiet IP

Pakiet IP

Pakiet IP

Pakiet MPLS z Etykietą

Pakiet MPLS z Etykietą

background image

protokołu  trasowania IGP, odpowiadającego  za autonomiczny routing  wewnątrz sieci  MPLS 
jak  i  informacje  pochodzące  z  protokołu  odpowiadającego  za  dystrybucje  informacji  o 
etykietach np. protokół LDP Label Distriburtion Protocol, który w szczegółach omówiony jest 
w  dalszej  części  dokumentu.  Informacje  w  ten  sposób  uzyskane  poprzez  płaszczyznę 
sterowania są udostępniane płaszczyźnie danych, która to wykorzystuje je do podjęcia decyzji 
o przełączaniu pakietów  zarówno MPLS jak  i routowaniu pakietów  IP. Węzeł brzegowy jest 
bardziej  skomplikowanym  przypadkiem  z  dwóch  typów  węzłów.  Jest  to  spowodowane 
wcześniej  wspomnianym  wymogiem obsługi przez węzeł  zarówno pakietów IP jak  i  MPLS. 
Węzeł  ten  może  przyjąć  pakiet  IP  i  na  podstawie  adresu  docelowego  podjąć  decyzje  o 
routowaniu  go  dalej  poprzez  sieć  IP  lub  też  zaklasyfikowaniu  go  oraz  przesłaniu  przez  sieć 
MPLS  z odpowiednią etykietą – do  tego służą odpowiednio  tablica IP oraaz  Tablica  Etykiet, 
do której  węzeł  ma dostęp.  Tak  samo analogicznie przychodzący pakiet MPLS  może  zostać 
przełączony  dalej  do  innego  węzła  LSR  w  sieci  MPLS  czy  też  w  przypadku  gdy  tablica  IP 
posiada  wpis  mówiący  o  dostępności  adresu  IP  w  sieci  podłączonej  bezpośrednio  do  węzła 
brzegowego, przekazać pakiet do warstwy wyższej np. w tym przypadku IP gdzie zostanie on 
przelutowany dalej. 
 
Poniżej przedstawiono architekturę węzła rdzeniowego sieci MPLS.  

 

Rys.3. Węzeł rdzeniowy sieci MPLS. 

 
Jak widać po powyższym rysunku architektura i działanie węzła rdzeniowego jest prostsza niż 
węzła  brzegowego.  Spowodowane  jest  to  prostym  faktem  iż  potrzebuje  on  tylko  informacji 
potrzebnych  do  poprawnej  komutacji  etykiet  MPLS  i  nie  będzie  on  routował  pakietów  IP. 
Poniższy schemat przedstawia umiejscowienie routerów LSR w sieci MPLS w odniesieniu do 
wcześniej ukazanego schematu.  

Płaszczyzna sterowania

Płaszczyzna danych

Protokoły Routingu IP

Sterowanie MPLS

Tablice Routingu IP

Tablica Etykiet

Informacje  o  trasach,  routingu 
wymieniane  pomiędzy  węzłami 
za pośrednictwem protokołu IGP 
(np. BGP, OSFP etc.)

Pakiet

Pakiet

Informacje  o  etykietach,  wymieniane 
pomiędzy węzłami za pośrednictwem 
protokołu dystrybuującego informacje 
o  etykietach  (np.  LDP,  TDP,  BGP 
etc.)

Pakiet IP

Pakiet MPLS z Etykietą

Pakiet MPLS z Etykietą

background image

 

Rys.4. Miejsce węzłów w sieci.  

 
IGP – Interior Gate way Protocol 
Jest to protokół, którego celem jest  zapewnienie osiągalności  urządzeń  na poziomie warstwy 
trzeciej i ma on dostarczać informacji dla sieci MPLS o trasach do sieci IP/ warstw wyższych 
niż MPLS  znajdujących się  na obrzeżach  sieci. Mogą  to być  między  innymi BGP, IS-IS czy 
też  OSPF.  Po  uzyskaniu  osiągalności  urządzeń  na  poziomie  warstwy  trzeciej  z  informacji 
zgromadzonych  właśnie  przez  IGP  korzystać  będzie  protokół  służący  do  dystrybucji 
Informacji o Etykietach taki jak np. LDP omówiony w dalszej części.  
 
Etykiety MPLS (Nagłówek)
  
Nagłówek  protokołu  MPLS,  zwany  także  klinem  (z  ang.  SHIM)  został  przedstawiony  na 
rysunku 5. Składa się on z 32 bitów i 4rech pól opisanych poniżej.  

 

Rys.5. Nagłówek MPLS. 

 

o  Etykieta – jest  to pole 20 bitowe  zawierające etykietę kierowania (Label) która  służy 

do  trasowania  pakietów,  na  jej  podstawie  węzeł  LSR  podejmuje  decyzje  o 
przełączeniu  pakietu  z  danego  wejścia  na  odpowiednie  wyjście  przy  pomocy  tablicy 
LUT – lookup table.  

o  Pole  EXP  –  Experimental  Value  –  3  bity  pola  dla  celów  eksperymentalnych  -    w 

praktyce używane do wprowadzenia zagadnień QoS czyli rozróżnienia ruchu na różne 
klasy w traktowania ich z różną jakością. Pole te brane jest z pola ToS nagłówka IP na 
wejściu sieci MPLS i odwzorowywane z znaczników DSCP czy też IP Precedence.  

MPLS

LAN/IP

LAN/IP

LSR Edge

LSR (Core)

Addr IP

Etykieta

ATM/FR/PPP/Ethernet

L1

Warstwy 

wyższe

L3

L2

L1

Warstwy 

wyższe

L3

L2

L2,5 

MPLS

L2,5 

MPLS

L1

Warstwy 

wyższe

L3

L2

L2,5 

MPLS

L1

Warstwy 

wyższe

L3

L2

L2,5 

MPLS

IP

1

20

32

24

23

21

25

LABEL 20BIT 

EXP 3BIT

S 1BIT

TTL 8BIT

background image

o  Bottom of Stack (BoS) czy  też często  nazywane  EoS –  end of stack – pole 1-bitowe 

mówiące  nam  o  dnie  stosu  etykiet  używanego  do  zagadnienia  tunelowania.  Bit  ten 
przyjmuje wartość 1 dla dna stosu. 

o  TTL – time to  live – pole  żywcem przekopiowane  z nagłówka IP brzegu sieci  mające 

na celu zapobiegnięcie wiecznego krążenia pakietu po sieci MPLS w razie problemu z 
routowaniem.  Na  brzegu  podczas  wyjścia    z  sieci  MPLS  pole  to  ma  wartość 
zmniejszoną o 1 po przejściu przez każdy  węzeł  na swojej drodze  i wartość  tego pola 
jest przekopiowywana do nagłówka IP w celu aktualizacji starego pola.  

 
Enkaps ulacja Nagłówka MPLS 
Na  rysunku  poniżej  przedstawiono  proces  enkapsulacji  nagłówka  MPLS-  jest  on  wsadzany 
pomiędzy  nagłówek  warstwy  drugiej  a  informacje  klienta  wraz  z  nagłówkiem  warstwy 
trzeciej. 

 

Rys.6. Enkapsulacja nagłówka MPLS. 

 
Aby  transport  był  możliwy  warstwa  druga,  z  której  pomocy  korzysta  MPLS  musi  mieć 
świadomość  iż transportuje  taką wiadomość  zawierająca  nagłówek warstwy 2,5 w  którym są 
informacje  o  trasowaniu  w  postaci  etykiet.  W  sieci  opartej  o  technologie  warstwy  drugiej 
Ethernet temu celu służy pole Ether Type (lub po prostu Type) nagłówka ramki Ethernet. Jest 
to 2 bajtowe pole które dla technologii MPLS przyjmuje następujące wartości.  
  
 
 
 
 
 
Dzięki  temu  węzeł  analizując  przyjętą  ramkę  Ethernet  ma  świadomość  co  z  nią  zrobić  –  tj. 
przekazać do płaszczyzny danych węzła  LSR, który  to podejmie decyzje  na bazie  nagłówka 
MPLS  o  dalszym  jej  losie.  Jak  wspomniano  nagłówek  MPLS  posiada  długość  32  bit, 
jednakże  jest  to  tylko  częściowo  prawdą  ponieważ  długość  części/sekcji  MPLS  jest 
wielokrotnością  32  bit  albowiem  w  danej  ramce  Ethernet  która  transportuje  pakiet  MPLS 
może  znajdować  się  więcej  niż  1  nagłówek  MPLS  –  takie  zjawisko  to  stos  etykiet,  który  to 
jest używany do usługi tunelowania przez sieć MPLS. Przedstawiono to poniżej.   

 

Rys.7. Stos etykiet w MPLS. 

 

Ether Type  Protocol 

0×8847 

MPLS unicast 

0×8848 

MPLS multicast 

background image

Stos  etykiet/tunelowania  polega  na  nakładaniu  na  siebie  etykiet  i  pozwala  na  transparentne/ 
przeźroczyste przesyłanie informacji  w sieci MPLS jak i jakikolwiek transport „over MPLS”. 
Polega  to  na  wprowadzeniu  pojęć  etykiety  wewnętrznej  (inner  label)  oraz  etykiety 
zewnętrznej (outer label). Przedstawiono to poniżej.  

 

Rys.8. Stos etykiet – etykiety wewnętrzne i zewnętrzne. 

 
Ostatnia  etykieta  posiada  wcześniej  wspomniany  bit  EoS  nagłówka  MPLS  ustawiony  na  1. 
Etykieta wewnętrzna odpowiada za aplikacje np. VPN (czemu służy tunel) natomiast etykieta 
zewnętrzna  służy  kierowaniu  pakietu  MPLS  w  sieci.  Przedostatni  router  na  drodze  tunelu 
ściąga  etykieta  zewnętrzną  i  przesyła  etykietę  odpowiadającą  za  Aplikację  do  routera 
końcowego  w tunelu  (np. routera brzegowego podłączonego do  lokalizacji docelowej  tunelu 
VPN). Sytuację tą przedstawiono poniżej. 

 

Rys.9. Tunelowanie w MPLS. 

 
Na  powyższym  rysunku  etykieta  z  kolorem  zielonym  przedstawia  etykietę  wewnętrzną 
odpowiadającą  za  aplikację  lub  też  np.  tunelowanie  „over  MPLS”.  Etykiety  kolorowe  to 
etykiety  zewnętrzne  odpowiedzialne  za  trasowanie  –  informacje  o  przełączaniu  –  na  ich 
podstawie  pakiet  MPLS  jest  przełączany  a  za  każdym  razem  numer  etykiety  zmieniany  po 
przejściu przez węzeł.  
 
Przy  zestawianiu  tunelu  end-to-end  znana  jest  nam  jego  długość  dlatego  dzięki  różnym 
wartością pola TTL dla nagłówków MPLS oraz bitowi EosS/BoS ustawionemu jako 1 dla dna 
stosu  przedostatni  router  na  drodze  tunelu  potrafi  usunąć  etykietę  i  przekazać  do  ostatniego 
routera  na  drodze  tunelu  sam  pakiet  MPLS  z  etykietą  odpowiadającą  za  tunel/aplikację. 

background image

Poniżej przedstawiono przykładowy pakiet  z dwoma etykietami  gdzie  można  zaobserwować 
Bit EoS oraz mała wartość pola TTL dla etykiety wewnętrznej.  
 

Ethernet II                                                   

    Destination: 00:03:a0:19:c0:c2 
    Source: 00:03:a0:19:c5:02 
    eType: MPLS Unicast (0x8847) 

MultiProtocol Label Switching Header                          

    MPLS Label: 16 
    MPLS Experimental Bits: 2 
    MPLS Bottom Of Label Stack: 0 
    MPLS TTL: 253 

MultiProtocol Label Switching Header                          

    MPLS Label: 16 
    MPLS Experimental Bits: 2 
    MPLS Bottom Of Label Stack: 1 
    MPLS TTL: 2 

AToM EoMPLS Header                                            

    AToM MPLS Control Word: 0x00000000  

Ethernet II                                                   

    Destination: aa:aa:aa:aa:aa:aa 
    Source: bb:bb:bb:bb:bb:bb 
    Type: 802.1Q Virtual LAN (0x8100)  

802.1q Virtual LAN                                            

    000. .... .... .... = Priority: 0  
    ...0 .... .... .... = CFI: 0 
    .... 0000 0110 0100 = ID: 100 
    Type: IP (0x0800) 
    Trailer: 00000000000000000000 

Internet Protocol                                             

    Version: 4 
    Header length: 20 bytes 
    ! Output omitted for brevity 
    Time to live: 255 
    Protocol: ICMP (0x01) 
    Header checksum: 0xa3fd (correct) 
    Source: 10.1.2.203 (10.1.2.203) 
    Destination: 10.0.0.201 (10.0.0.201)  

Internet Control Message Protocol                             

    Type: 8 (Echo (ping) request) 
    Code: 0 
    Checksum: 0xc15c (correct) 
    Identifier: 0x000f 
    Sequence number: 0x0000 
    Data (8 bytes) 

 
 
FEC – Forwarding Equivalence Class 
Jak już wspomniano  jest  to podobne do klasy ruchu, dla porównania  z technologią ATM jest 
to  adekwatne  z  ścieżką  VPI.  FEC  odpowiada  za  mapowanie  danego  ruchu  do  danego  LSP 
czyli  label switching PAth  na podstawie określonych/odpowiednio  wybranych  informacji,  jt. 
Np. adres IP docelowy/ prefix/  znaczniki DSCP. Dzięki temu  wiemy jakie etykiety  możemy 
przedzielić  danemu  pakietowi  IP.  FEC  odzwierciedla  LSP  jest  ot  grupa  takich  samych 
pakietów czyli klasa równoważności przekazywania – grupa pakietów IP tak zaklasyfikowana 
ze  w  sieci  MPLS  jest  nie  rozróżnialna  i  przenoszona  z  takimi  samymi  prawami  i  wg  takich 
samych zasad tą samą ścieżka LSP.  
 
LDP – Label Distribution Protocol 
 
Jest to  jeden  z protokołów służący dystrybucji etykiet w  sieci MPLS. Opisany  został  w  RFC 
3035 oraz 3036  i  jest  następcą starszego protokołu TDP –  Tag  Distribution Protocol. Używa 

background image

on  protokołu  warstwy  transportowej  TCP  oraz  UDP  na  porcie  646.  Oczywiście  nie  jes t  on 
jedyny  i  informacje  o  etykietach  w  sieci  MPLS  mogą  także  być  przenoszone  za 
pośrednictwem protokołu RSVP czy też BGP, spełniającego także funkcjonalność IGP.   
 
Jak  każdy  protokół,  LDP  posiada  swój  nagłówek.  Na  rysunku  poniżej  został  on 
przedstawiony jak widać składa on się z 10 bajtów i dzieli się na 3 pola. 

 

Rys.9. nagłówek protokołu LDP. 

 
Polami tymi są: 

 

Wersja protokołu – składająca się z 2 bajtów 

 

Rozmiar  PDU  wyrażony  w  bajtach  –  czyli  samej  przenoszonej  wiadomości  / 
informacji  protokołu  znajdującej  się  w  polu  użytecznym  poza  nagłówkiem-  pole  to 
zawiera 2 bajt i może określać wartość pomiędzy 0 a 4096 bajt. 

  LDP ID – będący identyfikacją nadawcy wiadomości LDP składa się na to pole 6 bajt 

w tym że dzieli się ono na odpowiedni 4 oraz 2 bajt opisanych poniżej: 

o  4  Bajt  –  Router  ID  –  identyfikujące  router  LSR,  jest  to  wg  zalecenia  oraz 

najczęściej skonfigurowany adres loopback urządzenia  

o  2  Bajt  –  Label  Space  ID  –  identyfikuje  to  przestrzeń  wymienianych  etykiet. 

Specyfikacja  wymienia  dwa  rodzaje  global  spac  znany  takżę  jako  platform-
wide  oraz  per  interface  space.  Per  interface  jest  używany  do  komunikacji 
pomiędzy  urządzeniami  podłączonymi  bezpośrednio  i  wymienia  etykiety 
unikalne  tylko  w  obrębie  tego  interfejsu  urządzenia.  Natomiast  global  space/ 
platform  wide  wymienia  informacje o etykietach  unikalnych w obrębie całego 
urządzenia  a  nie  tylko  jednego  interfejsu.  W  90  %  przypadków  komunikacja 
jest na zasadzie global space i w tym przypadku pole to ma wartość 0.  

 
Tworzenie Sesji  oraz zdobywanie etykiet przez LDP:  

  Pierwszym  krokiem,  do  wymiany  informacji  o  etykietach  pomiędzy  węzłami  jest 

wyszukanie  sąsiadów,  a  następnie  stworzenie  pomiędzy  nimi  sesji  TCP  mającej  na 
celu wymianę informacji o etykietach. W tym celu wysyłany jest multicast do węzłów 
LSR  za  pośrednictwem  protokołu  UDP  z  wiadomością  HELLO,  po  tym  następuje 
wymiana  informacji  pomiędzy  węzłami  za  pośrednictwem  protokołu  TCP  w  celu 
ustatnowenia  sesji  o  wynegocjowanych  warunkach.  Wyróżniamy  dwa  rodzaje  sesji  / 
wyszukiwania  sąsiadów  w  celu  utworzenia  sesji,  mianowicie:  Sesję  podstawową  – 
Basic  neighbor  Discovery  oraz  sesje  rozszerzoną  extended  neighbor  discovery. 
Różnica  w  tych  sesjach  polega  na  ich  zasięgu  –  sesja  podst.  Ma  miejsce  pomiędzy 
urządzeniami  bezpośrednio  połączonymi  natomiast  sesja  rozszerzo na  pomiędzy 
urządzeniami oddalonymi od siebie. Ilustrację tą obrazuje poniższy rysunek.  

background image

 

Rys.10. Sesje w LDP. 

 

 

Jako  wymiana  informacji  jest  pomiędzy  dwoma  węzłami  LSR  próbującymi  zestawić 
sesję  TCP, istniałaby  możliwość  zestawienia dwóch osobnych sesji co  mijało by się  z 
celem.  W  protokole  LDP  rozwiązano  ten  problem  następująco  –  po  wysłaniu 
wiadomości HELLO  z pomocą protokołu  UDP,   routery  analizują  wartość pola  LDP 
ID  w  nagłówku  LDP  która  to  identyfikuje  poszczególne  węzły.  Potem  sesje  TCP 
inicjalizuje  tylko  jeden  węzeł  mający  większy  router  ID.  Sesja  inicjalizowana  jest 
wiadomością  INIT  –  zawierającą  parametry  sesji  takie  jak  timery  czy  też  metody 
odpytywania  o  etykiety  Az  po  zakresy  etykiet,  które  będą  używane  w  ramach 
wymiany.  Router  otrzymujący  taka  wiadomość  może  zaakceptować  warunki  sesji  i 
zacząć  okresowo  wysyłać  wiadomość  Keepalive  (defaultowo  co  30  sec)  lub  też 
rozpocząć  proces  renegocjacji  warunków  –  tj  parametrów.  Powyżej  opisaną  sytuację 
przedstawia  rysunek  11  gdzie  czarne  strzałki  reprezentują  wiadomości  TCP  a 
czerwone UDP. 

 

Rzs.11. Sesja TCP na potrzeby protokołu LDP. 

 

 

Po utworzeniu sesji  następuje  mapowanie etykiet kierowania  czyli  ich  zdobywane  za 
pomocą jednej z dwóch metod: 

Metoda  nie  zamówiona – (unsoliciated downstream) – polega  na tym  iż router 
LSR  znajdujący  się  bliżej  celu  –  nazywany  także  routerem  następnym  (next 
router) – sam ogłasza i przekazuje routerowi poprzedniemu – czyli temu bliżej 
źródła pochodzenia pakietu – jakie etykiety posiada i jakie lokalizacje są przez 
niego dostępne wraz z informacją jakich etykiet używać aby się tam dostać.  

background image

o  Metoda  na  żądanie  -  (on  demand  downstream)  –  polega  na  tym  że  router 

poprzedni sam odpytuje router następny o etykiety dla danych lokalizacji, czyli 
jakich używać dla poszczególnych FEC – czyli klas ruchu.  

 

Ważnym  elementem  po  uzyskaniu  etykiet  jest  tworzenie  ścieżek  LSP  na  potrzeby 
przesyłania  pakietów  MPLS.  Wyróżniamy  dwa  tryby  tworzenia  ścieżek  za 
pośrednictwem protokołu LDP: 

o  Independent – czyli  tryb sterowania  niezależnego - tworzy  i przesyła  etykiety 

do routera poprzedniego od razu jak tylko widzi ze coś pasuje i on będzie mógł 
coś z tym pakietem zrobić. 

o  Ordered  –  czyli  tryb  sterowania  uporządkowanego  -  wysyła  informację  oraz 

przydziela  etykiety  tworząc  ścieżkę  LSP  tylko  gdy  ma  już  zapewnienie  o 
następnej  ścieżce  od  routera  następnego  (next  router)  czyli  jeszcze  kolejnego 
na  trasie  pakietu  albo  jak  jest  ostatnim  routerem  –  tzn.  brzegowym  i  jest 
wyjściem  z  sieci  MPLS  –  pozwala  to  na  szybsze  komutowanie  i  na 
zapewnienie  porządku,  ustawienie  własnych  tras  preferowanych  i  na 
zniwelowanie opóźnienia wyboru trasy przed inicjalizacja wysyłania, jednakże 
wszystko to jest uzyskane kosztem czasu zestawienia tej trasy.   

 
Przykład transport pakietów w sieci MPLS 
Poniżej  został  przedstawiony  rysunek  wraz  z  krokami  potrzebnymi  aby  transmisja  w  sieci 
MPLS była możliwa. 

 

Rys.12. Umożliwienie transmisji w sieci MPLS. 

 
Mając to na uwadze możemy przejść do analizy przykładu ukazanego na rysunku poniżej.  

background image

 

Rys.13. Przykład 1 – architektura sieci. 

 
Mając podłączone 3  sieci IP o  zsumaryzowanych adresach  ukazanych  na rysunku będziemy 
starali się stworzyć transmisję od routera LSR A do LSR C poprzez sieć MPLS. Jak zostało to 
pokazane  na  rysunku  12  pierwszym  krokiem  jest  zapewnienie  osiągalności  na  poziomie 
warstwy 3ciej – tutaj IPv4 – poprzez działanie protokołu  IGP.  Uzupełnia on  tablice routingu 
jak ukazano to na poniższym rysunku. 

 

Rys.14. Przykład 1 – tablice routingu. 

 
Po  tym  następuje  przydzielenie  oraz  wymiana  informacji  o  etykietach  za  pośrednictwem 
protokołu LDP jak ukazano to na poniższym schemacie. 

 

Rys.15. Przykłąd 1 – wymiana informacji o Etykietach. 

background image

Następnie informacje te zostają wpisane do tablic przełączania LUT służących węzłom MPLS 
do przełączania etykiet. Ukazano to na poniższym schemacie.  

 

Rys.15. Przykład 1 – tablica uzupełniona o etykiety kierowania. 

 
Teraz pakietowi IP  wchodzącemu do  węzła  LSR A,  zaadresowanemu do sieci 10.16.11.0/24 
znajdującej się przy  węźle  LSR C, przydzielana jest etykieta 2  i jest w postaci pakietu MPLS 
wysyłany do następnego węzła sieci MPLS prze interfejs Eth1. Węzeł LSR B widząc etykietę 
2  w  przychodzącym  pakiecie  MPLS  wysyła  ją  przez  interfejs  Eth1  zmieniając  wartość 
etykiety na 4. Na koniec węzeł  LSR C przyjmuje pakiet MPLS  i widząc  etykietę 4 wie  iż jest 
końcowym/brzegowym  węzłem  i  może  usunąć  nagłówek  MPLS  i  przekazać  pakiet  IP 
znajdujący się tam do warstwy wyższej.