Router PE

Transkrypt

Router PE
Słownik pojęć:
Typy urządzeń:
W sieci operatora (dostawcy usług sieciowych) można wyróżnić dwa rodzaje routerów:
Router P – router rdzeniowy (w środku sieci) ( P – Provider)
Router PE – router brzegowy (z routerami PE – Provider Edge). Do routerów PE podłączane są
routery klientów CE (ang. Customer Edge).
Routery P (Provider) = LSR (Label Switching Routers)
Routery PE (Provider Edge) = Edge
LSR
Protokoły:
Algorytm trasowania wektora odległości (ang. distance-vector routing algorithm) –
klasa algorytmów trasowania, w której router zna jedynie odległość wszystkich swoich sąsiadów do
każdego węzła docelowego w sieci (przy czym pojęcie odległość może być zdefiniowane w różny
sposób, niekoniecznie jako fizyczna odległość do pokonania - często jest to po prostu liczba węzłów
pośrednich - patrz protokół RIP).
Bazując na informacjach o swoich sąsiadach router może wyznaczyć drogę, która jest najkrótsza do
każdego celu i przez którego z sąsiadów przebiega. Router nie ma jednak pełnej informacji o
kolejnych routerach. W związku z tym, może się okazać, że droga najkrótsza nie będzie najlepsza.
Algorytmy trasowania wektora odległości są podatne na pętle trasowania, ale też są łatwiejsze do
realizacji niż algorytmy trasowania stanu łącza.
Opracował: Marcin Krysiński
www.krysinski.eu/materialy/
Algorytm trasowania stanu łącza –(ang. Link State routing algorithm) router przekazuje
okresowo do wszystkich routerów w sieci (nie tylko sąsiadów) już nie całą kopię tablicy routingu, a
jedynie informację o podsieciach bezpośrednio do niego przyłączonych wraz z ich metrykami.
Routery utrzymują złożone bazy danych z informacjami o topologii, mają pełną informację o
odległych routerach. Bazę topologii tworzą na podstawie zbierania informacji przez wysyłanie
pakietów LSA(ang. link-state adverisement). Po zebraniu informacji router oblicza najlepszą trasę do
pozostałych routerów tworząc drzewo SPF (ang. Shortest Path First) i wykorzystując algorytm Dijkstry
w celu znalezienia drogi o najmniejszym koszcie. Aktualizację bazy topologii są wyzwalane zmianami
zachodzącymi w sieci. W początkowej fazie zbierania danych na temat topologii sieci, sieć zalewana
jest pakietami LSA, co powoduje zmniejszenie wydajności łącza oraz wymaga dużej ilości pamięci i
mocy obliczeniowej routera. W tym celu protokół ten wymaga zhierarchizowanego projektu sieci w
celu zmniejszenia tablic topologii sieci
IGP - Interior Gateway Protocol - dowolny protokół, który wymienia informację o routingu między
routerami wewnątrz AS.
RIPv1 - Routing Information Protocol v1, standard RFC1058, protokół RIPv1 jest implementacją
protokołu distance-vector dla sieci lokalnych LAN, jest protokołem IGP (Interior Gateway Protocol),
czyli działa tylko wewnątrz AS.
RIPv2 - Routing Information Protocol v2, standard RFC1721, protokół RIPv2 jest implementacją
protokołu distance-vector dla sieci lokalnych LAN, jest protokołem IGP (Interior Gateway Protocol),
czyli działa tylko wewnątrz AS. Protokół RIPv2 jest następcą protokołu RIPv1, wprowadza kilka
ulepszeń takich jak: przesyłanie adresu Next HOP i maski sieci w aktualizacjach RIP, możliwość
uwierzytelnienia wiadomości RIP, a także routery z RIPv2 mogą komunikować się multicastowo.
OSPF
- (ang. Open Shortest Path First) , standard RFC2328, jest protokołem IGP (Interior Gateway
Protocol). Protokół OSPF określa najkrótszą ścieżkę do sieci przeznaczenia przez system AS,
wykorzystując algorytm SPF (Shortest Path First). Protokół OSPF jest protokołem typu link-state, w
związku z tym wykorzystuje wiadomości Link State Advertisements (LSAs) by poinformować inne
routery o zmianach w topologii, które wykrył.
IS-IS - Intermediate System to Intermediate System - protokół routingu IGP typu link state.
EIGRP - (ang. Enhanced Interior Gateway Routing Protocol) –protokół routingu Cisco Systems typu
distance-vector.
Label Distribution Protocol (LDP) Label Distribution Protocol - protokół sygnalizacyjny w MPLS.
LDP (Label Distribution Protocol) jest zbiorem procedur, dzięki którym routery działające z MPLS
(Multiprotocol label Switching) (LSR) informują inne routery LSR o przyporządkowaniu etykiet (labeli)
MPLS, których dokonały. LDP (Label Distribution Protocol) jest protokołem zaprojektowanym do
dystrybucji etykiet wzdłuż normalnie routowanej ścieżki, która została określona przez protokoły
Opracował: Marcin Krysiński
www.krysinski.eu/materialy/
routingu oparte o adres przeznaczenia (protokoły IGP), jest to czasem nazywane przekazywaniem
MPLS hop-by-hop.
BGP -
(ang. Border Gateway Protocol) zewnętrzny protokół trasowania (routingu). BGP w wersji
czwartej jest podstawą działania współczesnego internetu. Istnieje wiele rozszerzeń BGP
stosowanych przy implementacji MPLS VPN, IPv6 czy Multicast VPN.
Resource Reservation Protocol (RSVP) - (ang. Resource ReSerVation Protocol, pol. protokół
rezerwacji zasobów) – protokół dla sieci zintegrowanych usług IntServ (ang. Integrated Services),
które do transmisji danych wymagają określonej przepustowości łącza – np. dla
transmisji strumieniowych audio lub wideo poprzez Internet.
Protokół RSVP umożliwia
aplikacji
inicjującej transmisję danych strumieniowych zgłoszenie węzłom sieci (hostom) wymagań
dotyczących przepustowości łącza i na ich podstawie dokonuje rezerwacji zasobów na każdym węźle
wzdłuż trasy przesyłu danych, zapewniając potrzebną przepustowość całego połączenia oraz jakość
przekazu, QoS (ang. Quality of Service).
RSVP nie jest protokołem trasowania (rutującym), ale został zaprojektowany do współpracy z
obecnymi i przyszłymi protokołami trasowania.
Jego rozszerzenie, RSVP-TE, jest używany jako protokół dystrybucji etykiet w technologiach MPLS
LDP
(Label Distribution Protocol) - procedur, dzięki którym routery działające z MPLS
(Multiprotocol label Switching) (LSR) informują inne routery LSR o przyporządkowaniu etykiet (labeli)
MPLS, których dokonały. LDP (Label Distribution Protocol) jest protokołem zaprojektowanym do
dystrybucji etykiet wzdłuż normalnie routowanej ścieżki, która została określona przez protokoły
routingu oparte o adres przeznaczenia (protokoły IGP), jest to czasem nazywane przekazywaniem
MPLS hop-by-hop.
MPLS:
Opracował: Marcin Krysiński
www.krysinski.eu/materialy/
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.
Forwarding Equivalence Class (FEC) - 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.
Etykieta MPLS (ang. Label) - 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.
Opracował: Marcin Krysiński
www.krysinski.eu/materialy/
VRF
(Virtual Routing and Forwarding) - Łączenie dwóch oddziałów może napotkać pewne
problemy, jeśli w danej lokalizacji mamy dwa różne VPN stosujące tą samą przestrzeń adresową (np.
ten sam zakres adresów z prywatnej puli IP). Jest to bardzo częsta sytuacja, gdyż firmy stosują w
swych sieciach prywatną adresację IP. Oczywiście z punktu widzenia każdego z VPN, adresy te są
unikalne i nie powtarzające się. By temu przeciwdziałać, każdy router PE zarządza pewną liczbą
oddzielnych tablic przekazywania pakietów. Jedna z tych tablic jest domyślną tablicą przekazywania
(routingu) stosowaną w sieciach publicznych, natomiast pozostałe tablice są przeznaczone dla sieci
VPN, w których odbywa się także routing, ale odseparowany od pozostałych sieci VPN i sieci Internet.
W każdym routerze PE operator musi skonfigurować jedną tabelę VRF (VPN Routing and Forwarding
– routing i przekazywanie dla VPN) dla każdego VPN, do którego PE jest przyłączony.
Każdy interfejs łączący klienta z dostawcą, czyli PE z CE, jest skojarzony z jedną tabelą VRF. Jeśli
jakikolwiek pakiet przyjdzie od urządzenia klienta (nazywanego tu brzegiem klienta CE - Customer
Edge), to jego adres przeznaczenia jest wyszukiwany w skojarzonej tabeli VRF, by określić jak
routować pakiet przez szkielet dostawcy. Tabela VRF w routerze PE jest budowana na podstawie
informacji o trasach nauczonych od urządzeń brzegu klienta CE. Metoda BGP/MPLS nie standaryzuje
żadnej konkretnej metody nauki tras, PE może nauczyć się tras stosując zarówno protokół
dynamiczny routingu, jakim jest np., BGP lub OSPF (Open Shortest Path First) albo przez konfigurację
tras statycznych. PE muszą także nauczyć się tras od innych routerów PE w tym samym VPN.
Routery PE wykorzystują pojedynczy proces BGP do dystrybucji tras od różnych VPN, dlatego też
protokół BGP należy rozszerzyć o możliwość przekazywania nakłądających się, tych samych adresów
IP w sieciach VPN. W przeciwnym przypadku BGP zainstaluje w swojej tabeli tylko jeden adres czyniąc
pozostałe nieosiągalne, a tym samych uniemożliwiając komunikację w VPN o tych samych
przestrzeniach adresowych. Aby temu przeciwdziałać zastosowano nową rodzinę adresacji i kontroli
dystrybucji tras.
Istniejące rozszerzenia wieloprotokołowe
MP-BGP
(MultiProtocol BGP) umożliwiają BGP
przenoszenie tras z wielu rodzin adresacji. Techniki BGP/MPLS wprowadzają rodzinę adresów VPNIPv4. Adres VPN-IPv4 składa się 12-bajtowego pola, zaczynającego się 8-bajtami RD (Route
Distinguisher) i kończącego się 4-bajtowym klasycznym adresem IPv4. Jeśli kilka sieci VPN stosuje te
same prefiksy IPv4, to router PE może translować je na kilka unikalnych prefiksów adresu VPN-IPv4.
Jeśli router PE nauczy się klasycznej trasy IPv4 od routera CE, to konwertuje tą trasę na unikalną trasę
VPN, która jest eksportowana do BGP. BGP następnie rozgłasza tą trasę do innych routerów PE, które
potrzebują ją znać. Jeśli trasa VPN zostanie wybrana przez proces decyzyjny BGP, to jest ona
konwertowana znowu na postaci trasy IPv4 i importowana do właściwej tabeli VRF w odległym
routerze PE. Ostatecznie nauczona w ten sposób trasa przez VRF w zdalnym PE, zostanie rozgłoszona
do przyłączonych do niego routerów CE.
Adresy VPN-IPv6 są obsługiwane w tan sam sposób.
Oczywiście w każdym routerze PE należy skonfigurować dwa zbiory tras przeznaczeń dla każdego
VRF, tzw. export route targets dla tras, które należy rozgłaszać przez BGP i import route targets, by
określić, do którego VRF otrzymana trasa VPN ma zostać zainstalowana.
Opracował: Marcin Krysiński
www.krysinski.eu/materialy/
Kiedy router PE rozgłasza trasy VPN poprzez BGP do innych routerów PE, to także przypisuje do niej i
również rozgłasza etykietę MPLS (MPLS label), która nazywana jest etykietą VPN. Jeśli inne routery PE
wysyłają pakiety z danymi klienta do przeznaczenia identyfikowanego przez otrzymaną trasę BGP, to
dodają one tą etykietę MPLS VPN do nagłówka enkapsulowanego pakietu i tunelują go do routera PE
następnego skoku, który zapoczątkował trasę BGP. W tym routerze PE, etykieta lokalnie identyfikuje
kontekst IP VPN (VRF), przez który etykietowany pakiet musi zostać obsłużony.
Jak więc ostatecznie odbywa się przekazywanie? Po pierwsze, kiedy router PE otrzyma pakiet IP od
urządzenia CE, to wybiera odpowiednią tablicę VRF, w której przepatruje adres przeznaczenia
pakietu, w zależności od wejściowego interfejsu pakietu (skojarzenie PE-CE-VRF). Po drugie, pakiet
musi przejść przez szkielet dostawcy do oddalonego PE, który jest następnym skokiem BGP, tak jak to
zostało wyznaczone w odpowiedniej tabeli VRF. By to wykonać, pakiet jest formowany do postaci
pakietu MPLS z etykietą VPN dodaną do stosu etykiet. Pakiet jest tunelowany do routera następnego
skoku BGP. Ostatecznie, w oddalonym PE, kiedy pakiet opuści tunel, przeglądana jest etykieta MPLS
VPN. Zdalny PE określa na podstawie tej etykiety instancję VRF, w której następnie powinien zostać
przetworzony pakiet lub określa interfejs, przez który powinien być transmitowany pakiet do
prawidłowego urządzenia CE.
Tunelowanie etykietowanych pakietów IP VPN umożliwia utrzymywanie wszystkich tras VPN poza
routerami rdzeniowymi dostawcy. Jest to niezbędne by zapewnienia skalowalności tego
mechanizmu. Szkielet dostawcy nie musi znać tras do urządzeń CE, tylko zna do PE. Jeśli szkielet
obsługuje MPLS jako technologię tunelującą, to router PE dodaje tylko następną etykietę MPLS
(skojarzona z adresem zdalnego PE) do stosu etykiet pakietu, a następnie pakiet jest przełączany
przez szkielet sieci do zdalnego PE.
Etykieta MPLS dla Ethernetu
Etykieta może wyglądać różnie w zależności od protokołu warstwy 2. Dla Ethernetu wygląda
następująco:
ID
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
TC
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
S
2
3
2
4
TTL
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
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ł.
Opracował: Marcin Krysiński
www.krysinski.eu/materialy/