Podstawy routingu

Transkrypt

Podstawy routingu
Sieci komputerowe
Podstawy routingu
dr Zbigniew Lipiński
Instytut Matematyki i Informatyki
ul. Oleska 48
50-204 Opole
[email protected]
Routing
Routing jest procesem wyznaczania najlepszej trasy (trasy o najniższym koszcie) i najlepszej metody
przesyłania datagramów (np. stosowanie równoważenia tras, load balancing) między użytkownikami
sieci.
Rola routerów:
•
wyznaczanie najlepszej trasy przesyłania pakietów,
•
tworzenie i przechowywanie tablic routingu,
•
przesyłanie datagramów IP między użytkownikami sieci.
Router jest urządzeniem warstwy 3 (sieci) modelu referencyjnego dla OSI.
Rodzaje tras:
•
trasy połączone bezpośrednio, trasy do sieci podłączonych do interfejsu routera,
•
trasy statyczne, stałe trasy przesyłania pakietów konfigurowane przez administratora,
•
trasy dynamiczne, trasy do zdalnych sieci tworzone za pomocą protokołów routingu dynamicznego.
2
Koszt trasy
Przy określaniu najlepszej trasy routery posługują się zbiorem parametrów (metrykami), które służą do
wyliczenia kosztu trasy.
Przykładowe parametry służące do wyliczania kosztu trasy:
•
liczba skoków, liczba routerów do odbiorcy pakietu, stosowany min. przez protokół RIP,
•
pasmo przenoszenia, różnica między maks. i min. częstotliwością transmisji sygnałów w sieci,
stosowany min. przez protokół OSPF,
•
opóźnienie, czas przejścia pakietu od nadawcy do odbiorcy (IGRP, EIGRP),
•
obciążenie sieci, stopień wykorzystania urządzeń i łącz (IGRP, EIGRP),
•
niezawodność, liczba błędów występujących na danej trasie (IGRP, EIGRP),
•
takty, opóźnienie w warstwie łącza danych, 1 takt = 1/18s, (IGRP, EIGRP),
•
parametry określane przez administratora, mogą być kombinacją różnych parametrów.
Jeżeli router znajdzie kilka tras o takim samym koszcie to rozkłada transmisję na kilka tras, równoważy
obciążenie tras (load balancing).
Możliwe jest też równoważenie obciążenia tras nierównorzędnych, tzn. o różnych kosztach.
Tego typu równoważenie obciążenia mogą stosować protokoły EIGRP i IGRP.
3
Tablice routingu
Struktura tablicy routingu (polecenie show ip route):
•
kod (C, S, I, R, M, B, D, EX, 0, IA, N1, …),
•
adres IP i maska sieci zdalnej lub połączonej bezpośrednio,
•
informacja o interfejsie wyjściowym lub informacja o adresie IP routera następnego skoku.
Przykłady kodów:
•
C, sieć połączona bezpośrednio,
•
S, routing statyczny,
•
I, IGRP,
•
R, RIP,
•
M, mobile,
•
B, BGP,
•
D, EIGRP,
•
EX, EIGRP external,
•
0, OSPF.
W systemie operacyjnym Windows polecenie route print służy do wyświetlania tablicy routingu.
4
Dystans administracyjny
Dystans administracyjny jest liczbą zakresu 0-255, służy do określenia wiarygodności trasy.
Wartość ‘0’ oznacza pełne zaufanie,
255 – brak zaufania.
Routery posługują się tym parametrem jeżeli uzyskują informacje o parametrach transmisji danej trasy z
kilku źródeł.
Dystans
administracyjny
0
1
5
20
90
100
110
115
120
200
255
Typ trasy
sieć bezpośrednio podłączona
trasa statyczna
EIGRP
Protokół eBGP (external BGP)
protokół EIGRP, wewnętrzny, (zewnętrzny 170)
protokół IGRP
protokół OSPF
protokół IS-IS
protokół RIP
protokół iBGP (internal BGP)
Nieznana
5z
Struktura tablic routingu
Trasa 1 poziomu, to trasa z maską podsieci równą lub krótszą niż maska klasy adresu sieciowego.
Trasa 1 poziomu może być:
•
trasą domyślną, trasa statyczna z adresem 0.0.0.0./0,
•
supersiecią, adres sieciowy z maską krótszą niż adres maski danej klasy,
•
trasą sieciową, adres maski jest równy adresowi maski danej klasy.
Trasa nadrzędna 1 poziomu, to trasa która w tablicy routingu nie ma informacji o
•
adresie następnego skoku,
•
interfejsie wyjściowym.
Wpisy o trasach nadrzędnych 1 poziomu są nagłówkami dla wpisów o trasach podrzędnych (trasach
2 poziomu).
Trasa podrzędna, zwana inaczej trasą 2 poziomu, to trasa, opisana klasowym adresem sieciowym.
Przykład adresu supersieci dla klasy adresowej C.
192.168.1.1/22 czyli 255.255.252.0 (11111111. 11111111. 11111100. 00000000)
192.168.1.1/24 czyli 255.255.255.0 (11111111. 11111111. 11111111. 00000000)
6
Struktura tablic routingu - przykład
Przykład. Wpis w tablicy routingu.
Trasa nadrzędna 1. poziomu
172.16.0.0 /24 is subneted, 1 subnets,
Trasa podrzędna 2. poziomu
C 172.16.3.0 is directly connected FastEtherent0/0
Trasa nadrzędna 1. poziomu:
•
klasowy adres IP podsieci,
•
maska podsieci, /24, jeżeli trasy podrzędne są adresowane metodą VLSM to we wpisie trasy
nadrzędnej nie będzie adresu maski podsieci,
•
is subneted, 1 subnets, trasa nadrzędna z 1 trasą podrzędną.
Trasa podrzędna 2. poziomu:
•
C, oznacza sieć połączoną bezpośrednio,
•
adres do podsieci z maską 172.16.3.0/24,
•
sieć połączona bezpośrednio z odlegością administracyjną 0,
•
interfejs wyjściowy.
Uwaga: maska /24 oznacza 255.255.255.0
7
Proces wyszukiwania trasy w tablicy routingu
Proces wyszukiwania trasy do odbiorcy danych:
•
router bada trasy 1 poziomu.
•
router szuka najlepszej trasy wśród tras podrzędnych.
•
sprawdza czy na routerze zaimplementowano routing klasowy czy bezklasowy.
•
jeżeli istnieje mniejsze dopasowanie z supersiecią lub trasą domyślną 1. poziomu to router używa tej
trasy.
•
jeżeli nie pasuje żadna trasa z tablicy routingu, router odrzuca pakiet.
8
Protokół trasowany, protokół routingu
Protokół trasowany - protokół, który do przesyłania pakietów wykorzystuje trasę.
Przykład protokołu trasowanego: protokół IP, protokół IPX.
Protokół routingu - protokół służący do wyznaczania najlepszej trasy przesyłania pakietu w sieci.
Protokoły routingu trasują pakiety protokołów trasowanych.
Protokół nierutowalny - protokół który nie jest rutowany przez router.
Przykład nierutowalnego protokołu: protokół netbios.
Domena routingu - zbiór routerów będący pod wspólną administracją.
9
Klasyfikacja protokołów
Protokoły routingu dzieli się ze względu obszar działania na:
•
protokoły wewnętrzne (Interior Gateway Protocols)
•
protokoły zewnętrzne (Exterior Gateway Protocols).
Protokoły wewnętrzne (IGP) wykorzystywane są przez routery znajdujące się wewnątrz dużych podsieci
(autonomicznych podsieci).
Protokoły zewnętrzne (EGP) wykorzystywane są przez routery łączące 'autonomiczne podsieci'.
Protokoły wewnętrzne
RIP, (ang.) Routing Information Protocol.
IGRP, (ang.) Interior Gateway Routing Protocol, następca RIP.
OSPF, (ang.) Open Shortest Path First.
IS-SI, (ang.) Intermediate System-to- Intermediate System.
EIGRP, (ang.) Enchanced IGRP.
Protokoły zewnętrzne
EGP, (ang.) Exterior Gateway Protocol
BGP, (ang.) Border Gateway Protocol, RFC 1163. Następca EGP.
10
Klasyfikacja protokołów
Protokoły routingu są wykorzystywane przez routery do pełnienia trzech podstawowych funkcji:
•
wyszukiwanie nowych tras,
•
przekazywanie do innych routerów informacji o znalezionych trasach,
•
przekierowywanie pakietów do routerów.
Podział protokołów routingu ze względu na sposób wyznaczania tras routingu:
•
protokoły wektora odległości,
•
protokoły stanu łącza,
•
protokoły hybrydowe.
11
Metody wyznaczania tras przesyłania datagramów
Dynamiczne tablice routingu.
Wyznaczanie tablic routingu na podstawie wektora odległości:
• protokół RIP,
• protokół IGRP, EIGRP,
• BGP.
Wyznaczanie tablic routingu na podstawie stanu łącza:
• protokół OSPF,
• protokół IS-IS.
Statyczne tablice routingu
Statyczne tablice routingu buduje i uaktualnia administrator.
12
Algorytmy wektora odległości
Algorytmy wektora odległości, distance vector algorithms.
Klasa algorytmów opisana w
Ford, L. R. Jr., and Fulkerson, D. R., "Flows in Networks",Princeton University Press, Princeton, N.J., 1962.
zwana również algorytmami Bellmana-Forda, ponieważ w tych algorytmach stosowane jest równanie Bellmana.
Bellman, R. E., "Dynamic Programming", Princeton University Press, Princeton, N.J., 1957.
Trasowanie może być oparte na algorytmach wektora odległości (algorytmy Bellmana-Forda).
W metodzie wektora odległości routery budują tablice routingu z tablic routingu routerów sąsiednich.
Routery okresowo przesyłają kopie tablic routingu do sąsiednich routerów.
Każdy odbiorca tablicy dodaje do niej wektor odległości (własną "wartość" odległości) i przesyła ją do swoich
sąsiadów.
Proces uaktualniania tablic umożliwia każdemu routerowi poznanie innych routerów oraz stworzenie mapy
'odległości' w sieci.
13
Trasowanie na podstawie stanu łącza
W metodzie stanu łącza każdy router buduje swoją tablice routigu na podstawie przesyłanych między
routerami informacji o trasach (wymiana pakietów LSP, Link-State Packet).
Protokoły wykorzystujące do budowy tablic routing stan łącza, określane jako protokoły SPF (ang.)
Shortest Path First, 'najpierw najkrótsza ścieżka'.
Protokoły stanu łącza służą do zbierania informacje o:
•
stanie routerów w sieci
•
sposobie ich połączenia (informacje o topologii sieci).
Routery komunikują się z sąsiednimi routerami wysyłając pakiety 'hello', routery odpowiadają pakietem
'hello' zawierającym informacje identyfikujące router.
Pakiety 'hello‘ wysyłane są w trybie połączenia:
•
point-to-point,
•
do grup multicastowych (routery nie korzystają z transmisji broadcastowej).
Każdy router, który wymienił pakiety LSP buduje na ich podstawie mapę topologii sieci.
Następnie wykorzystywany jest algorytm SPF w celu obliczenia dostępności punktów docelowych sieci.
Informacja ta jest wykorzystywana do uaktualnienia tablicy routingu.
14
Trasowanie na podstawie stanu łącza
Opisywany proces umożliwia wykrywanie zmian w topologii sieci, które mogły powstać w wyniku awarii
sieci lub jej rozbudowy.
Wymiana pakietów LSP następuje gdy router wykryje w swoim otoczeniu:
•
nowy router,
•
router zostanie wyłączony (zniknie trasa),
•
zmieni się koszt połączenia.
Standardowy pakiet odświeżający tablice routingu wysyłany jest co 30 min.
Cechy metody trasowania w oparciu o stan łącza:
•
w trakcie początkowego procesu poznawania sieci trasowanie może przeciążyć łącza,
•
metoda wymaga dużej pamięci i szybkiego procesora w routerze.
15
Trasowanie statyczne
Router zaprogramowany do trasowania statycznego przesyła pakiety przez z góry określone porty.
Trasowanie statyczne wykorzystywane jest w małych sieciach, w których przesyłanie danych odbywa się
po z góry określonych trasach.
Administrator w miarę rozrastania się sieci i powstawania dodatkowych tras musi ręcznie uaktualniać
tablice routingu.
16
Pętle routingu
Pętle routingu powstają gdy pakiet wysłany przez router nie dociera do odbiorcy, jest przekazywany
między kilkoma routerami i wraca do routera wysyłającego pakiet.
Przyczyny powstawania pętli routingu:
•
niewłaściwe skonfigurowane trasy statycznej,
•
niewłaściwe skonfigurowana redystrybucja tras,
•
niespójność tablic routingu.
Metody eliminacji przyczyn powstawania pętli routingu dla protokołów wektora odległości:
•
definiowanie maksymalnej metryki (aby zapobiec odliczaniu do nieskończoności),
•
uruchomienie licznika wstrzymania,
•
stosowanie techniki podzielonego horyzontu,
•
zatrucie trasy,
•
wyzwalanie aktualizacyjne.
17
Pętle routingu
Odliczanie do nieskończoności – z powodu błędnych aktualizacji tablicy routingu, router zwiększa
wartość metryki dla sieci do nieskończoności (każdy router ma inną definicję nieskończoności).
Aby zapobiec tego typu mechanizmowi ustala się maksymalną wielkość metryki, np. metryki ‘liczba
skoków’, protokół RIP ma maksymalną wartość 15 (16 router na trasie jest nieosiągalny).
Licznik wstrzymania - licznik wstrzymuje aktualizacje informacji trasach.
Podzielony horyzont – technika blokownia wysyłania danych z danego interfejsów, jeżeli dane te
zostały odebrane z tego interfejsu.
Zatrucie trasy – oznaczenie trasy jako nieosiągalnej poprzez przypisanie metryce maksymalnej
wartości, np. dla protokołu RIP metryka zatrutej trasy ma wartość 16 (liczba skoków).
Zatrucie wstecz wykorzystuje metodę zatrucia trasy i podzielonego horyzontu.
Aktualizacja wyzwalana (automatyczna, ang. triggered update), to aktualizacja wysyłana przez router
do innych routerów gdy:
•
interfejs zmieni stan (włączony/wyłączony),
•
trasa zmieniła stan na osiągalny/nieosiągalny,
•
pojawiła się nowa trasa w tablicy routingu.
18
Klasowe i bezklasowe protokoły routingu
Protokoły klasowe
RIPv1, (ang.) Routing Information Protocol.
IGRP, (ang.) Interior Gateway Routing Protocol, nastepca RIP.
Protokoły bezklasowe
RIPv2,
EIGRP, (ang.) Enchanced IGRP.
OSPF, (ang.) Open Shortest Path First.
IS-SI, (ang.) Intermediate System-to- Intermediate System.
BGP, (ang.) Border Gateway Protocol.
19
Classless Inter-Domain Routing (CIDR)
Routing:
• klasowy,
• bezklasowy.
Classless Inter-Domain Routing (CIDR)
W klasie adresowej A można zaadresować 127 sieci, w każdej sieci może być 224 -2 = 16 777 214 hostów.
W klasie adresowej B można zaadresować 214 -2 = 16 382 sieci, w każdej sieci może być 216 - 2= 65 534
hostów.
W klasie adresowej C można zaadresować 221 -2 = 2 091 750 sieci, w każdej sieci może być 254 hostów.
Problem wzrostu liczby rekordów w tablicach routingu dla małych sieci nazywany jest ‘routing table
explosion problem’.
Rozwiązaniem problemu jest wprowadzenie bezklasowego routingu CIDR (Classless Inter-Domain
Routing).
W bezklasowym routingu pakiety nie są kierowane do konkretnej sieci (adres sieci uzyskiwany jest poprzez
‘endowanie’ adresu IP odbiorcy danych z maską) ale do klasy sieci które mają ten sam prefix IP.
Problem CIDR opisany jest w dokumentach RFC 1518, 1519,1520.
20
Routing bezklasowy
Przykład. Wyznaczenie prefixu IP dla klasy 8 sieci 192.32.136.0, …, 192.32.143.0.
Dla klasy C struktura adresu ma postać 11000000.00000000.00000000.00000000
Maska od
11111111.11111111.11111111.00000000
Wyznaczenie prefixu IP.
192.32.136.0 (adres z klasy C)
11000000 00100000 10001000 00000000
11111111 11111111 11111000 00000000 255.255.248.0 (maska sieci)
============================================================ logiczne AND
11000000 00100000 10001000 00000000
192.32.136.0 (prefix IP)
11000000 00100000 10001111 00000000
192.32.143.0 (adres klasy C)
11111111 11111111 11111000 00000000 255.255.248.0 (network mask)
============================================================ logiczne AND
11000000 00100000 10001000 00000000
192.32.136.0 (prefix IP)
Do zaadresowanie bloku 8 adresów klasy C jednym rekordem w tablicy routingu stosuje się zapis
192.32.136.0 255.255.248.0 (prefixu IP maska sieci),
czyli sieci o adresach
192.32.136.0 - 192.32.143.0
identyfikowane są za pomocą
prefixu IP 192.32.136.0 i maski sieci 255.255.248.0.
21
Podumowanie tras
Trasa sumaryczna – to pojedyncza trasa używana do reprezentowania kilku tras.
Przykład:
Adresy 10.0.0.0/16, …, 10.255.0.0/16, mogą być reprezentowane za pomocą adresu 10.0.0.0/8.
Sieci reprezentowane w trasie sumaryczne nie muszą być ciągłe.
Podsumowanie tras statycznych do jednej trasy statycznej może być wykonane, gdy:
•
sieci docelowe mogą być podsumowane do jednego adresu sieciowego,
•
wszystkie trasy statyczne używają tego samego interfejsu wyjściowego lub adresu IP następnego
skoku.
22
Sumaryczne trasy statyczne
Przykład. Sumowanie tras.
Dodanie trzech tras do tablicy routingu
Router(config)# ip route 172.16.1.0 255.255.255.0 Serial 0/0/1
Router(config)# ip route 172.16.2.0 255.255.255.0 Serial 0/0/1
Router(config)# ip route 172.16.3.0 255.255.255.0 Serial 0/0/1
możne być zastąpione dodaniem jednej trasy sumarycznej
Router(config)# ip route 172.16.0.0 255.255.252.0 Serial 0/0/1
172.16.1.0
10101100.00010000.00000001.00000000
172.16.2.0
10101100.00010000.00000010.00000000
172.16.3.0
10101100.00010000.00000011.00000000
--------------------------------------------------------------------------172.16.0.0
10101100.00010000.00000000.00000000
255.255.252.0 11111111. 11111111. 11111100. 00000000
23
Automatyczne podsumowanie tras
Protokoły routingu mogą stosować automatyczne podsumowanie tras.
RIPv1, klasowy protokół routingu (maska podsieci nie jest dołączana do aktualizacji tablic routingu):
•
brak obsługi nieciągłych adresacji sieci przy automatycznym podsumowaniu,
•
podsumowania nie można wyłączyć.
Bezklasowy routing (CIDR) jest formą automatycznego podsumowania tras.
Stosowany np. przez protokół routingu RIPv2, EIGRP.
24

Podobne dokumenty