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/