Routing dynamiczny

Transkrypt

Routing dynamiczny
Routing dynamiczny
1
Routing dynamiczny
2
Miejsce w modelu OSI/ISO
Obsługuje funkcje związane
z określoną aplikacją
Warstwa aplikacji
Routing dynamiczny
Zapewnia przepływ danych
pomiędzy dwoma
komputerami, obsługując
znajdującą się nad nią
warstwę aplikacji
Warstwa prezentacji
Warstwa sesji
Warstwa transportu
Obsługuje ruch pakietów w sieci
Warstwa sieci
Zawiera programy obsługi
urządzeń i odpowiadające
im karty interfejsów
sieciowych. Odpowiada
za fizyczne dołączenie do
kabla sieciowego
Warstwa łącza
Warstwa łącza
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
3
Plan wykładu
Schemat adresacji CIDR
Routing statyczny kontra dynamiczny
Podział protokołów routingu
Protokoły wewnętrzne
Zawiera skojarzenie pomiędzy adresem IP przeznaczenia (może to być
zarówno pełny adres komputera jak i adres sieci) a adresem IP routera
następnego przejścia
R0
?
120.0.0.0
120.1.1.1
R1
130.2.0.0
0.0.5.5
R2
130.2.1.1 130.2.2.1
120.1.3.8
200.2.5.0
200.2.5.1
R3
200.2.5.2
150.2.0.0
150.2.1.2
120.1.3.8
– RIP, RIP2, IGRP
– OSPF
Sieć docelowa IP nast. przejścia
200.2.5.0
150.2.0.0
120.0.0.0
130.2.0.0
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Tablica routingu
•
•
•
•
•
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
© DSRG 2001-2003, Paweł Rzepa
130.2.2.1
130.2.2.1
bezp. dołączona
bezp. dołączona
Sieć docelowa IP nast. przejścia
120.0.0.0
150.2.0.0
130.2.0.0
200.2.5.0
130.2.1.1
200.2.5.2
bezp. dołączona
bezp. dołączona
www.cs.agh.edu.pl
4
Routing dynamiczny
5
• Routing IP jest dokonywany na podstawie kolejnych
przejść
• Router nie zna pełnej trasy do żadnego z punktów
przeznaczenia
• Routing jest możliwy dzięki przekazywaniu
datagramu do następnego routera. Zakłada się, że
kolejny router jest „bliżej” punktu przeznaczenia niż
komputer wysyłający informację oraz że wysyłający
komputer jest połączony z jakimś routerem, który
odbiera od niego datagramy.
Routing dynamiczny
www.cs.agh.edu.pl
Classless Inter-Domain
Routing (CIDR)
6
Classless Inter-Domain
Routing (CIDR)
Tablica routingu – wnioski
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
Schemat adresacji - po co go wprowadzamy ?
• Problem 1: brak wolnych adresów sieci
– np. tylko 16384 sieci klasy B
– rozwiązanie: „dzielenie” adresów klasy B na mniejsze
(odpowiadające klasie C)
• Problem 2: wzrost wielkości tablic routingu
– rozwiązanie: agregacja tablic routingu
w zależności od providera lub od lokalizacji geograficznej
7
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Podział Protokołów
Routingu
Struktura adresu CIDR
Prefix 13 do 27 bitów - numer sieci
Numer hosta
Nie mówimy o klasach adresów
• Podsumowanie:
Wewnętrzny
– Podobnie, CIDR służy oszczędzaniu adresów przez ich gęstą
alokację
– Techniki te są jednak środkami przejściowymi, jedynym
rozwiązaniem omówionych problemów jest nowy schemat
adresacji
© DSRG 2001-2003, Paweł Rzepa
Routing
Dynamiczny
Routing
Statyczny
www.cs.agh.edu.pl
Z wektorem
odległości
© DSRG 2001-2003, Paweł Rzepa
Stanu
łącza
Zewnętrzny
Z wektorem
odległości
Stanu
łącza
www.cs.agh.edu.pl
8
Routing dynamiczny
9
Hierarchiczny routing w sieci IP
Routing dynamiczny
10
AS- Autonomus System
Intra-AS border (exterior gateway) routers (routing zewnętrzny)
Wydzielony administracyjnie (przez przypisanie AS-id)
zbiór routerów, który realizuje ten sam protokół routingu
dynamicznego
Wprowadzenie AS zmniejsza wielkość tablic routingu oraz
Skraca czas ich wyznaczania przez protokoły routingu
Wprowadzenie AS (hierarchii) jest podstawą skalowalności
routingu w sieci Internet
Inter-AS interior (gateway) routers (routing wewętrzny)
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl 11
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 12
Intra-AS and Inter-AS Routing
border (exterior gateway) routers
Inter-AS
routing
C.b
between
A and B
A.a
b
a
A.c
C
Host
h1
A
b
c
Intra-AS routing
within AS A
Host
h2
c
a
B
a
d
B.a
b
Wymagania stawiane
protokołom routingu
Intra-AS routing
within AS B
interior (gateway) routers
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
13
Routing dynamiczny
14
Alternatywna ścieżka
Zbieżność
Zbieżność
X
N1
Router potrzebuje czasu na znalezienie alterantywnej
ścieżki w wypadku zmiany topologii sieci (np. awaria)
Czas, po którym routery będą miały jednakowy “obraz”
sieci jest zależny od konfiguracji (np. odstęp między
periodycznie rozsyłanymi pakietami)
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl 15
Równoważenie obciążenia
R1
Pierwotna ścieżka
Czas wykrywania awarii:
Łącza szeregowe:
natychmiastowo (przerwa w obwodzie)
Token Ring i FDDI: od razu
Ethernet: dwa lub trzy cykle zegara “keepalive”
Brak EIGRP Hello lub OSPF Hello
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
Równoważenie obciążenia
R2
T1
N1
R2
768K
T1
T1
N2
R1
T1
T1
R4
N1
R1
• Zbliżone koszty ścieżek
www.cs.agh.edu.pl
© DSRG 2001-2003, Paweł Rzepa
N2
512K
R3
• Równe koszty ścieżek
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl 16
T1
R4
R3
www.cs.agh.edu.pl
Routing dynamiczny
17
Routing
statyczny vs. dynamiczny
•
•
•
•
•
•
Przewidywalny – trasa po której
pakiet jest przesyłany jest
dobrze znana i może być
kontrolowana.
Łącza nie są dodatkowo
obciążone wiadomościami
służącymi do routowania.
Łatwe do skonfigurowania w
małych sieciach.
Brak skalowalności
Brak obsługi redundantnych
połączeń
Nieumiejętność dostosowania
się do dynamicznych zmian w
konfiguracji sieci
© DSRG 2001-2003, Paweł Rzepa
•
•
•
•
•
Skalowalność
Zdolność dostosowania się do
zmian topologii sieci
Łatwość konfiguracji – nie
popełniamy błędów
Większy stopień zawiłości działania
sieci. Im lepiej protokół reaguje na
zmiany w sieci tym bardziej
skomplikowany musi być –
trudności w implementacji –
różnice pomiędzy sprzętem od
różnych producentów
Konieczność okresowej wymiany
danych to z punktu widzenia
użytkownika niepotrzebne
obciążenie sieci.
Routing dynamiczny
www.cs.agh.edu.pl 19
Routing dynamiczny
18
Klasyfikacja protokołów
routingu dynamicznego
• Podział ze względu na obszary zastosowań
– protokoły wewnętrzne
– protokoły zewnętrzne
• Podział ze względu na charakter
wymienianych informacji
– protokoły z wektorem odległości
– protokoły stanu łącza
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 20
Protokoły routingu —
wewnętrzne i zewnętrzne
•
Wewnętrzne
–
–
–
–
•
Stosowane wewnątrz jednej domeny administracyjnej
Proste, w małym stopniu obciążają routery
Mało skalowalne
RIP (Routing Information Protocol), IGRP (Interior Gateway Routing
Protocol), OSPF (Open Shortest Path First),
Zewnętrzne
Protokoły z wektorem
odległości
ang. Distance Vector
– Odpowiadają za wymianę informacji pomiędzy dwiema niezależnymi
administracyjnie sieciami
– Dają się skalować, łatwo obsługują duże sieci
– Są skomplikowane, ilość dodatkowych informacji przesyłanych siecią może
szybko zablokować pracę małej lub średniej sieci
– EGP (exterior gateway protocol), BGP (border gateway protocol)
•
Można je zamieniać, ale nie jest to mądre, bo zostały przystosowane
do innego trybu pracy
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
21
Protokoły dystans-wektor
Routing dynamiczny
22
Distance Vector Routing Algorithm
• Based on Bellman-Ford algorithm
• Router regularnie wysyła wszystkim swoim sąsiadom
informacje na temat każdej dostępnej, znanej sobie
sieci:
– At node X, the distance to Y is updated by
D X (Y ) = min Z ∈N ( X ) (c( X , Z ) + D Z (Y ))
where DX(Y) denote the distance at X currently from X to Y,
N(X) the neighbors of node X, and c(X, Z) the distance of the direct link
from X to Z
– Jak daleko do niej jest (dystans)
• Czas podróży
• Liczba przeskoków
• Koszt przesyłu
• Properties
– distributed:
– Jak się można do niej dostać (wektor)
• each node communicates its routing table to its directly-attached neighbors
– iterative:
• Zwykle — „wyślij do mnie, bo ja wiem, jak to przesłać dalej”.
• Inny router. Np. gdy router docelowy nie obsługuje danego
protokołu routingu.
• continues periodically or when link changes, e.g. detects a link failure
– asynchronous:
• nodes need not exchange info/iterate in lock step!
– convergence in finite steps, independent of initial condition
• if the network is connected
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 23
Budowa tablic routingu
www.cs.agh.edu.pl 24
Protokół d-w — stan 0
• Routery otrzymują tablice od swoich sąsiadów
• Zapamiętują najlepszą znaną odległość do
określonego odbiorcy oraz router który
przesłał taką informację
• Uaktualniają wpis jeśli odbiorą informację o
lepszej odległości
• Obliczają minimalną odległość przyrostowo,
nie potrzebują przechowywać wszystkich
danych od sąsiadów
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
NHR
a0b0d0-
NHR
a0c0-
NHR
b0e0-
NH
a1
c1
U
V
X
a
b
NH
a1
c1
e
c
d
f
NHR
c0f0-
Y
© DSRG 2001-2003, Paweł Rzepa
Z
NHR
d0e0f0-
www.cs.agh.edu.pl
Routing dynamiczny
25
Routing dynamiczny
Protokół d-w — stan I
NHR
a0b0d0c1U
NHR
a0c0NH
a1
c1
U
Protokół d-w — stan I
NHR
b0e0-
V
NHR
a0c0-
NH
a1
b1
c2
d1
NH
a2
c1
f1
d
c
Z
NHR
d0e0f0-
NHR
c0f0a1U
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl 27
Y
Z
NHR
a0b0d0c1U
NH
a1
b1
c2
d1
U
V
c
U
Y
© DSRG 2001-2003, Paweł Rzepa
NH
a2
b2
c2
d1
e1
f1
c
e
d
f
Z
NH
a2
c1
f1
b
e
f
NHR
c0f0a1U
X
a
d
NHR
d0e0f0a1V
b1V
c1Y
NHR
c0f0a1U
www.cs.agh.edu.pl
Y
© DSRG 2001-2003, Paweł Rzepa
NHR
b0e0a1V
c2V
d1V
NH
a2
b1
c3
d2
e1
V
b
NH
a1
b1
c2
d1
www.cs.agh.edu.pl 28
NHR
a0b0d0c1U
NHR
a0c0b1V
d1V
f1Y
X
a
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
Protokół d-w — stan II
NHR
b0e0a1V
c2V
d1V
NH
a1
b1
c2
d1
NHR
d0e0f0-
NH
a2
c1
f1
Protokół d-w — stan II
NH
a2
c1
f1
e
d
f
Y
NHR
a0c0b1V
d1V
f1Y
b
NH
a1
b1
c2
d1
f
NHR
c0f0a1U
X
a
e
c
NHR
b0e0-
NH
a1
b1
c2
d1
V
b
NH
a1
c1
NHR
a0b0d0c1U
U
X
a
26
Z
NH
a2
b2
c2
d1
e1
f1
NHR
d0e0f0a1V
b1V
c1Y
NH
a2
b1
c3
d2
e1
NH
a2
b2
c2
d1
e1
f1
www.cs.agh.edu.pl
Routing dynamiczny
29
Routing dynamiczny
Protokół d-w — stan III
NHR
a0b0d0c1U
e1X
f1Z
NHR
a0c0b1V
d1V
f1Y
U
V
c
U
Y
NH
a2
b1
c3
e1
e
Z
NHR
d0e0f0a1V
b1V
c1Y
NH
a2
b2
c2
d1
e1
f1
NH
a2
b2
c2
d1
e1
f1
NHR
c0f0a1U
b2Z
d1Z
e1Z
www.cs.agh.edu.pl 31
Protokół d-w — stan IV
NHR
a0b0d0c1U
e1X
f1Z
NH
a1
b1
c2
d1
e2
f2
U
V
c
NH
a1
b1
c2
d1
e2
f2
c
Y
Z
NHR
c0f0a1U
b2Z
d1Z
e1Z
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl 32
NHR
a0b0d0c1U
e1X
f1Z
NHR
a0c0b1V
d1V
f1Y
e2Y
U
X
NHR
b0e0a1V
c2V
d1V
f1Z
V
X
a
b
e
e
d
c
d
f
Z
NH
a2
b3
c1
d2
e2
f1
NHR
d0e0f0a1V
b1V
c1Y
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
f
Y
e
d
NH
a2
b3
c1
d2
e2
f1
b
NH
a1
b1
c2
d1
e2
f2
X
b
Protokół d-w — stan ustalony
NHR
b0e0a1V
c2V
d1V
f1Z
NH
a1
b1
c2
d1
e2
f2
a
NH
a2
b3
c1
d2
e2
f1
V
f
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
NH
a2
b3
c1
d2
e2
f1
NHR
b0e0a1V
c2V
d1V
f1Z
NH
a1
b1
c2
d1
e2
f2
a
d
f
NHR
a0b0d0c1U
e1X
f1Z
NH
a1
b1
c2
d1
e2
f2
b
NH
a2
b2
c2
d1
e1
f1
NHR
a0c0b1V
d1V
f1Y
e2Y
NHR
a0c0b1V
d1V
f1Y
X
a
NHR
c0f0a1U
b2Z
d1Z
e1Z
Protokół d-w — stan III
NHR
b0e0a1V
c2V
d1V
f1Z
NH
a2
b1
c3
e1
30
NHR
d0e0f0a1V
b1V
c1Y
NHR
c0f0a1U
b2Z
d1Z
e1Z
www.cs.agh.edu.pl
Y
© DSRG 2001-2003, Paweł Rzepa
Z
•
NHR
d0e0f0a1V
b1V
c1Y
•
Sieć znajduje się w stanie
ustalonym
Kolejność wysyłania danych
przez routery była
przypadkowa
www.cs.agh.edu.pl
Routing dynamiczny
33
Routing Information Protocol
(RIP)
• Router wysyła informacje co 30s do
wszystkich swoich sąsiadów — pakiety typu
broadcast — o znanych sobie sieciach i
odległości do nich
• Miarą odległości jest liczba routerów jaką
należy przejść, żeby dostać się do danej sieci
• Po 180s nie odświeżona droga jest usuwana z
tablicy routingu
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl 35
Routing dynamiczny
Pakiet RIP — enkapsulacja
Pakiet RIP
Port 520
To Send/Rcv
Nagłówek IP
4
polecenie
(zapytanie/odpowiedź)
8
12
16
20
Nagłówek UDP Pole danych
Pole danych
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
24
28
31
N
wersja
musi być wypełnione zerami
identyfikator rodziny adresów
Sieć 1
musi być wypełnione zerami
R0
R1
R2
N
R3
H
Sieć 1 15
11
13
3
5
7
9
musi być wypełnione zerami
• Router R2 wysyła informacje o dostępności
sieci 1 co 30 sekund
• Po 180 sekundach R1 wpisuje do swojej
tablicy nową drogę do sieci 1
musi być wypełnione zerami
metryka
© DSRG 2001-2003, Paweł Rzepa
H
Sieć 1 16
10
12
14
2
4
6
8
adres IP
N
www.cs.agh.edu.pl 36
Wady RIP — liczenie do
nieskończoności
Pakiet RIP
0
34
www.cs.agh.edu.pl
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
37
RIP — zmniejszanie
prawdopodobieństwa wystąpienia
liczenia do nieskończoności
• Uaktualnianie z podzielonym horyzontem
Routing dynamiczny
RIP — dzielony horyzont
• Zmniejsza prawdopodobieństwo wystąpienia
zjawiska zliczania do nieskończoności
– router nie propaguje informacji o dostępności sieci na interfejs,
przez który prowadzi najlepsza trasa
N
• Wstrzymanie
• Odświeżanie wymuszone
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl 39
RIP — dzielony horyzont
Reverse-Poison
distance
table E sends
to its neighbors
E’s
distance
table
A
10
E
2
D
distance
© DSRG 2001-2003, Paweł Rzepa
R2
R3
N
H
Sieć 1 3
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl 40
RIP — dzielony horyzont
Reverse-Poison
1
To B
ToD,C
A: ∞
A: 1
A: 1
8, B
B: 8
B: ∞
B: 8
4, D
C: 4
C: 4
C: ∞
D: 2
D: 2
D: ∞
E: 0
E: 0
E: 0
2, D
R1
Nie zawsze zapobiega zliczaniu do nieskończoności
To A
1, A
2
8
1
C
R0
Sieć 1
R2 nie wysyła informacji o dostępności
Sieci 1 do R1 bo przez ten router
prowadzi najkrótsza trasa tej sieci
– w wypadku zmiany w tablicy router nie czeka 30s tylko
rozgłasza nową informację natychmiast
B
H
Najkrótsza trasa do 1
jest dostępna przez R1
Sieć 1 3
– router wstrzymuje się z akceptacją komunikatów o dostępności
sieci, o której awarii otrzymał informację
(zazwyczaj na 60 sek.)
7
38
1
1
1
through
neighbor
www.cs.agh.edu.pl
When the link between C and D fails, C will set its distance to D
as ∞
However, A will then use B to go to D, and B will use A to go to D
because there is no reverse-poison between them
After such updates, A (and B) will then report new path to C for
D, and C will use the path; we thus have the count-to-infinity
problem again
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
41
RIP — wstrzymanie
Routing dynamiczny
www.cs.agh.edu.pl 43
RIP i podsieci
•
10.1.0.0/24
10.2.0.0/24
© DSRG 2001-2003, Paweł Rzepa
•
• Pakiet RIP wysyłany jest natychmiast po
zaobserwowaniu zmiany
– czas zwykle jest opóźniony o kilka sekund, żeby
nie spowodować zalewania sieci
• Nie wysyłana jest cała tablica routingu a tylko
informacja o zmianach
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 44
Wady RIP — synchronizacja
Potrafi przekazywać informacje
jedynie o sieciach i pojedynczych
komputerach
– W polu hosta są same zera — sieć
– W przeciwnym przypadku — host
10.3.0.0/24
42
RIP — odświeżanie wymuszone
• Po otrzymaniu komunikatu od routera, że
poprzednio dostępna sieć jest niedostępna
włącza licznik (hold-down timer)
• Jeśli otrzyma komunikat od tego samego
routera, że sieć jest dostępna wyłącza licznik
• Jeśli otrzyma komunikat od innego routera
ogłaszający lepszą trasę wyłącza licznik
• Jeśli otrzyma gorsze trasy ignoruje je
• Po upłynięciu licznika kasuje wpis
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
Potrafi obsłużyć sytuację, w której
istnieją jednakowo długie podsieci
— na podstawie adresów swoich
interfejsów.
– Wszystkie routery zakładają, że w
sieci istnieje jedna długość maski
www.cs.agh.edu.pl
• Co 30 sekund w sieci opartej na protokole RIP następuje
znaczny spadek wydajności (synchronizacja
komunikatów o tablicach routingu)
– mniejsza przepustowość lub większy procent zagubionych
pakietów
• Rozwiązania:
– inicjowanie routerów w różnych momentach
– modyfikacja interwału (15s – 45s; średnio 30s) pomiędzy
wysyłaniem kolejnych informacji o zawartości tablicy routingu
(losowo)
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
45
Wady RIP — rozgłaszanie
• W przypadku Ethernetu lub FDDI — naturalna
metoda przesyłania informacji dotyczących
routingu
• W ISDN lub X.25 „milczenie jest złotem”
– Transmisja wymaga zestawienia kanału
transmisyjnego
– ISDN „B” — 64 kbps
– kanał wirtualny X.25 — 9,6 kbps
Routing dynamiczny
Wady RIP — rozgłaszanie
• Remedium: tablice routingu rozgłaszane są tylko
wtedy, gdy zachodzi taka konieczność
– transmisja z potwierdzeniem
– problem:
• jak stwierdzić, że połączenie z sąsiednim routerem działa?
– założenie osiągalności
– jeśli próba przesłania pakietu zawiedzie to przerwane
• „zapominanie” informacji o gorszych drogach
– po 30 sekundach się nie pojawią (!!!)
– rozwiązanie: przechowywanie listy tras wewnątrz routera
• przesłanie 2 pakietów RIP zajmuje około 1 sekundy (!)
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl 47
» stosowane nie tylko w przypadku łącz typu X.25
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
Wady RIP
10.3.0.0/24
– łącze X.25 i FDDI „tyle samo warte”
R1
• X.25 drogie i wolne
• FDDI tanie i szybkie
Sieć 1
B
C
20.0.0.0/8
Sieć 2
R2
R3
X.25
(9600 bps)
• R1 nie może przekazać
informacji o podsieci, bo na tym
interfejsie nie ma podsieci —
inne routery zinterpretowały by
jego komunikat jako drogę do
hosta 10.1.0.0
• R2 może nie znać poprawnej
drogi do hosta 10.1.1.1
10.1.1.1
10.2.0.0/24
10.0.0.0
• Dobry do sieci jednorodnych
© DSRG 2001-2003, Paweł Rzepa
10.0.0.0
10.1.0.0/24
100000000 bps
A
www.cs.agh.edu.pl 48
RIP i podsieci
• Zbyt prosta metryka
100000000 bps
46
www.cs.agh.edu.pl
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
49
Routing dynamiczny
RIP i podsieci
RIP-2
10.1.0.0/16
10.0.0.0/8
50
10.2.0.1
Pakiet zostanie utracony
• W ramce zawarta jest również maska podsieci
• Propaguje numer domeny routingu
• Propaguje adres następnego routera (next-hop)
sumaryzacja
10.0.0.0/8
10.2.0.0/16
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl 51
4
polecenie
(zapytanie/odpowiedź)
8
12
16
wersja
20
24
28
Wybrany do komunikacji
ze światem zewnętrznym
31
A
numer domeny routingu
identyfikator rodziny adresów
B
C
znacznik trasy
adres IP
N
www.cs.agh.edu.pl 52
RIP-2 — przykład
Pakiet RIP-2
0
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
D
F
E
maska podsieci
System autonomiczny „X”
System autonomiczny „Y”
next hop
• Na podstawie numeru domeny routingu wiadomo które pakiety
odbierać
• W protokole RIP w drodze od A do F przez D pakiet dwa razy
przesyłany jest przez ten sam Ethernet
• W RIP-2 router D może rozgłosić w domenie X adres E jako „nexthop” w drodze do F
metryka
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
53
RIP-2 — bezpieczeństwo
• Wada RIP-1
• Mechanizm autentykacji RIP-2
– w ramce RIP-2 można umieścić pole zawierające
„hasło” (rodzina adresów ‘FFFF’)
– nie powoduje to utraty kompatybilności
z RIP-1
Routing dynamiczny
www.cs.agh.edu.pl 55
RIP-2 — podsumowanie
• Oferuje znaczące rozszerzenia względem RIP-1
– routing bazujący na CIDR i podsieciach
– autoryzacja pakietów
– kompatybilność z RIP-1
• Nie eliminuje wszystkich wad RIP-1
– np. konieczność liczenia do nieskończoności w razie
awarii sieci
– bardzo prosta metryka
© DSRG 2001-2003, Paweł Rzepa
54
RIP-2 — rozgłaszanie
• Wada RIP-1
– w RIP-1 każdy komputer nadający z portu 520 jest
uznawany za router
– konieczna ręczna konfiguracja routingu: lista
autoryzowanych sąsiadów
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl
– używa broadcastowego adresu MAC do rozsyłania
informacji o dostępności do sieci
• RIP-2 używa do tego celu multicastowego
adresu IP klasy D (224.0.0.9)
– nie są konieczne mechanizmy rutowania pakietów
klasy D, bo informacje dotyczą tylko lokalnej sieci
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 56
Interior Gateway Routing
Protocol (IGRP)
• Jeden z częściej używanych obecnie protokołów
routingu
– przedstawiciel rodziny „dystans-wektor”
– periodyczne komunikaty o zawartości tablic routingu
(co 90 sekund)
– złożone metryki
• Właścicielem praw autorskich jest CISCO
• Zaprojektowany w roku 1986
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
57
Interior Gateway Routing
Protocol (IGRP)
Routing dynamiczny
58
Interior Gateway Routing
Protocol (IGRP)
• Metryki elementarne
Metryki
– statyczne
• opóźnienie (ang. delay, ozn. D)
elementarne
statyczne
opóźnienie
przepustowość
złożone
T - opóźnienie transmisji
M – pełna metryka
dynamiczne
niezawodność łącza
obciążenie łącza
liczba hopów
MTU
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 59
Interior Gateway Routing
Protocol (IGRP)
• Metryki elementarne - c.d.
– dynamiczne
• niezawodność łącza (ang. reliability, ozn. R)
– stopień pewności, że pakiet dotrze do celu
8 bitów:
1 odpowiada 0%
255 odpowiada 100%
(keep-alive 10 s mierzone w okresie 5 min)
• obciążenie łącza (ang. load, ozn. L)
– dotyczy najbardziej obciążonego łącza na ścieżce
8 bitów:
1 odpowiada 0%
255 odpowiada 100%
• liczba routerów na ścieżce (ang. hops, ozn. H)
• path MTU
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
– mierzone w dziesiątkach mikrosekund
– suma opóźnień pomiędzy routerem a adresem docelowym
• przepustowość (ang. bandwidth, ozn. B)
– najmniejsza z przepustowości pomiędzy routerem a adresem
docelowym
– jednostka: 10 000 000 / przepustowość w kbps
– liczba sekund potrzebna na przesłanie 10 mld. bitów
– 24 bity => zakres przepustowości
od 1200 bps do 10 Gbps
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl 60
Przepustowość
Bandwith
B IGRP parameter value
Satelite (500 Mbps)
Ethernet (10 Mbps)
Token Ring (4 Mbps)
Token Ring (16 Mbps)
FDDI (18 Mbps)
Serial links:
1.544 Mbps
64 kbps
56 kbps
10 kbps
1 kbps
20
1 000
2 500
625
100
© DSRG 2001-2003, Paweł Rzepa
6 476
156 250
178 571
1 000 000
10 000 000
www.cs.agh.edu.pl
Routing dynamiczny
61
Routing dynamiczny
Interior Gateway Routing
Protocol (IGRP)
Delay
Delay
D IGRP parameter value
Satelite (2 sec)
Ethernet (1 ms)
Token Ring (2.5 ms)
Token Ring (0.6 ms)
FDDI (0.1 ms)
Serial links:
1.544 (20 ms)
64 (20 ms)
56 (20 ms)
10 (20 ms)
1 (20 ms)
200 000
100
250
62.5
10
© DSRG 2001-2003, Paweł Rzepa
• Metryka złożona
– T - opóźnienie transmisji
• dla pakietów o długości 10 000 bitów
T = B+D
• dla pakietów o innej długości P
• przy uwzględnieniu obciążenia łącza
P*B
10000 + D
 256 
B *

256 − L 

T = P*
10000 + D
www.cs.agh.edu.pl 63
© DSRG 2001-2003, Paweł Rzepa
Interior Gateway Routing
Protocol (IGRP)
• Metryka złożona - c.d.
Routing dynamiczny
www.cs.agh.edu.pl 64
Interior Gateway Routing
Protocol (IGRP)
• Rzeczywista (pełna) metryka
– T - opóźnienie transmisji
B
K5


M =  K1* B + K 2 *
+ K 3* D  *
256 − L

 R + K4
• po uwzględnieniu współczynnika niezawodności
 256 
B *

256 − L  255

T = P*
*
10000 + D
R
•
• wada tego podejścia:
– krótkie okresy pomiaru obciążenia łącza powodują
destabilizację
© DSRG 2001-2003, Paweł Rzepa
T=
– dostępna jest tylko część przepustowości
20
20
20
20
20
Routing dynamiczny
62
dla K5=0
Współczynniki K1 - K5 są ustalane przez administratora
– np. ustalenie K5=0 powoduje, że współczynnik niezawodności nie jest
brany pod uwagę
– ustawienie domyślne (por. z opóźnieniem dla pakietu 10 000b):
• K1 = K3 =1
• K2 = K4 = K5 = 0
www.cs.agh.edu.pl
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
65
IGRP — rozważania
• Pakiety IGRP nie przekazują obliczonych
metryk tylko składowe wymagane do
obliczenia metryki — każdy router stosuje
swoje współczynniki
• Dobrze jest ustalić takie same współczynniki
we wszystkich routerach w danej domenie
routingu.
• Nieskończoność jest zakodowana jako
D=MAX
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 67
Mechanizmy IGRP
Routing dynamiczny
66
Interior Gateway Routing
Protocol (IGRP)
• Sposoby zapobiegania pętlom reakcja na zmianę
topologii
– „podzielony horyzont”
– „wstrzymanie (ang. path holddown)”
– „odświeżanie wymuszone”
• Routing wielościeżkowy
– dzielenie obciążenia między kilka możliwych ścieżek
– pozytywny „efekt uboczny”: zapasowa ścieżka w razie
awarii na najlepszym łączu
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 68
Enhanced IGRP (EIGRP)
Stabilność:
• path holddown – przez pewien czas po stwierdzeniu zmiany w topologii
(np. wyłączenie routera) nie jest przyjmowana żadna informacja dot. ścieżek,
które w wyniku tej zmiany stały się nieosiągalne
• split horizon – informacja o ścieżce nie jest wysyłana w kierunku w którym
prowadzi ta scieżka (dodatkowe zabezpieczenie)
• poisonous routing – jeśli router otrzyma informację od routera przez który
prowadzi droga do danej sieci, że odległość wzrosła to odrzuca tą drogę.
Zegary:
• update timer – jak często rozsyłane są wiadomości (standardowo: 90 sek.)
• invalid timer – jaki czas odczekać przed uznaniem ścieżki za nieważną
(3*update timer = 270 sek.)
• Wady IGRP
– synchronizacja
– nieefektywne algorytmy zapobiegania pętlom
• Algorytm DUAL (J.J. Garcia-Luna-Aceves)
(Diffusing Update ALgorithm)
– usuwanie pętli
– zastosowanie zarówno w protokołach dystanswektor, jak i w prot. stanu łącza
• hold-time – czas przetrzymywania ścieżki w stanie „holddown” (280 sek.)
• flush timer – czas, jaki ma upłynąć przed usunięciem ścieżki z tablicy routingu (630s.)
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
69
Routing dynamiczny
EIGRP
EIGRP
Neighbor Table
Tabela zawiera wszystkich sąsiadów danego routera.
Brak wiadomości HELLO powoduje modyfikacje tej tablicy.
Wiadomość HELLO zawiera HoldTime – czas po którym
Musi przyjść nowe HELLO. Brak HELLO oznacza zmianę
topologii
Typy pakietów EIGRP:
Hello/Acks ·
Updates ·
Topology Table
Queries ·
Zawiera wszystkie sieci docelowe rozgłaszane przez routery sąsiednie.
Rekord tej tablicy zawiera:
- adres celu
- lista (sąsiad, jego metryka do celu), węzłów które rozgłaszały
ten adres metryka do celu.
Replies ·
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
70
www.cs.agh.edu.pl 71
Enhanced IGRP (EIGRP)
Requests
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 72
Enhanced IGRP (EIGRP)
• Algorytm DUAL - c.d.
Niech d(k,j) - odległość między k oraz j,
l(i,k) - koszt łącza między i oraz jego sąsiadem k
– w przypadku protokołów d-w d(k,j) uzyskiwana od sąsiadów,
l(i,k) jest parametrem lokalnym
i
k
l(i,k)
© DSRG 2001-2003, Paweł Rzepa
– Router wybiera następny router x na ścieżce do sieci j tak, by
zminimalizować sumę
d(i, j) = l(i, x)+d(x, j)
– Przypuśćmy, że router otrzymuje uaktualnienie (update) jednej
z rozważanych wielkości (np. l’(i,k) lub d’(k,j))
• jeśli suma l’(i,k)+d’(k,j)<d(i,j) , to przyjmuje k jako następny krok
na ścieżce do j i rozsyła tą informacje do sąsiadów
• W przeciwnym wypadku nic nie robi, chyba, że k=x,
wtedy szuka w swoim otoczeniu akceptowalnego sąsiada k czyli
takiego, że
d(k, j) < d(i, j)
Spośród akceptowalnych sąsiadów wybiera się k takiego, że
j
d(k,j)
www.cs.agh.edu.pl
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
73
Routing dynamiczny
Enhanced IGRP (EIGRP)
74
DUAL cd.
d’(i,j) = l(i,k)+d(k,j)
przyjmuje najmniejszą wartość. Informację o nowym next hop
czyli „k” rozsyła się sąsiadom.
Gdy nie ma akceptowalnych sąsiadów to rozpoczyna
się proces dyfuzji
1. „i” wysyła zapytania o d(k,j) do wszystkich swoich sąsiadów
„k” za wyjątkiem x od którego otrzymał update. Zapytanie to
zawiera nowe l’(i,k)+d’(k,j),
2. Jeśli „k” nie przesyła informacji przez „i” to odpowiada
wysyłając swoją tablicę routingu, jeśli tak to węzeł „k”
rozpoczyna proces dyfuzji.
Akceptacja krótszej drogi nie może prowadzić do powstania pętli
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 75
DUAL cd.
B stracił akceptowalnego
sąsiada
Informuje o tym sąsiadów
Metryki
Dotyczą
Celu N
D ma akceptowalnego
sąsiada
Nie rozpoczna dyfuzji !
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 76
Enhanced IGRP (EIGRP)
• Wady IGRP
– synchronizacja
– Nieefektywna technika zapobiegania pętlom
• Zalety EIGRP
– Rozszerzenia względem protokołu IGRP:
• Komunikaty „hello” - poznawanie sąsiadów
– periodycznie wysyłane na adres multicastowy
– odpowiedzią jest pakiet „hello” sąsiada
Metryki
Dotyczą
Celu N
© DSRG 2001-2003, Paweł Rzepa
• Algorytm usuwania pętli (DUAL)
C nie ma akceptowalnego sąsiada
Rozpoczyna się proces dyfuzji !
www.cs.agh.edu.pl
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
77
Routing dynamiczny
78
Protokoły stanu łącza
• Router wysyła informację do wszystkich routerów o
stanie swoich łączy
• Router przechowuje w pamięci „mapę sieci”
Protokoły stanu łącza
– mapa jest regularnie uaktualniana
– możliwe centralne wyznaczanie ścieżki do celu
• Szybka reakcja na zmiany topologii
– relatywnie (w stosunku do protokołów
dystans-wektor) małe pakiety informacyjne
• Brak pętli
– brak konieczności „liczenia do nieskończoności”
• Możliwość stosowania wielu metryk
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 79
Tworzenie tablic routingu
• Wykrywanie sąsiadów
• Współdzielenie informacji o sąsiadach ze
wszystkimi routerami
• Tworzenie tablic zawierających pełną
informację o sieci (mapa sieci) oraz na ich
podstawie tablicy routingu
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 80
Open Shortest Path First
(OSPF)
• Wybrane cechy OSPF:
• zalewanie z potwierdzeniami
• zabezpieczanie pakietów z opisami sieci
• każdy rekord opisu łącza jest przechowywany tylko przez
określony czas
– jeśli do tego czasu nie zostanie odebrany komunikat
odświeżający, to rekord jest usuwany
• wszystkie rekordy zabezpieczone sumą kontrolną
• komunikaty mogą być autoryzowane
(np. przez podanie hasła)
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
81
Routing dynamiczny
Open Shortest Path First
(OSPF)
• Założenia projektantów protokołu (IETF):
•
•
•
•
separacja routerów od innych komputerów
obsługa sieci rozgłoszeniowych (Ethernet, FDDI)
obsługa sieci bez rozgłoszeń (X.25, ATM)
podział wielkich sieci na mniejsze
82
Open Shortest Path First
(OSPF)
• Obsługa sieci rozgłoszeniowych
– wybór jednego routera do pełnienia roli reprezentanta zmniejsza liczbę
rozgłaszanych ścieżek oraz liczbę wpisów w bazie topologii sieci
Designated Router
A
B
A
B
D
E
D
E
• Separacja routerów i innych komputerów
– łącze z sąsiednim routerem identyfikowane przez adres tego routera,
inne komputery adresowane przez numer sieci
www.cs.agh.edu.pl 83
Open Shortest Path First
(OSPF)
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
Rozmiar tablic LSD
• Obsługa sieci rozgłoszeniowych
– w przypadku łącz stosunkowo drogich za redukcją wykorzystania łącz
przemawiają nie tylko względy efektywności obliczeniowej, ale również
względy finansowe
– różnica polega na niewykorzystywaniu adresów rozgłoszeniowych,
w zamian wiele połączeń punkt-punkt
www.cs.agh.edu.pl
Bez
designated
router
Z designated
router
500
400
300
200
100
21
0
16
224.0.0.5
600
11
Token
Ring
Designated
router
• Obsługa sieci bez rozgłoszeń (X.25, ATM)
Liczba wpisów w LSD
700
– pakiety LSA (link state advertisement) rozsyłane są na adres
multicastowy 224.0.0.6 przeznaczony dla wybranych routerów
(all-designated-routers)
– jeśli pakiet zawiera nowe informacje, wybrany router rozsyła je do
innych tego typu urządzeń dołączonych do tej samej sieci (używając
adresu 224.0.0.5)
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl 84
OSPF — sieci rozgłoszeniowe
6
Routing dynamiczny
1
© DSRG 2001-2003, Paweł Rzepa
Liczba routerów
• Designated router traktuje routery jako sąsiadów
• Inne routery widzą jako sąsiada tylko designated router
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
85
OSPF — designated router
• Jeden z routerów uruchamia funkcjonalność
designated router
– Wybór przy wymianie pakietów HELLO
– Zwiększenie niezawodności poprzez wybranie
zapasowego designated router
• aktywuje się po awarii routera podstawowego
– Od designated do normalnego == 0
– Od normalnego do designated — wynika z sieci
– Suma jest poprawna
Routing dynamiczny
www.cs.agh.edu.pl 87
Wykrywanie sąsiadów
R1
(13) a
R4
b (13)
(12) c
R2
(11) e
d (11)
f (33)
(21) g
• Podział wielkich sieci na mniejsze
– liczba połączeń może rosnąć nawet z kwadratem liczby routerów
– czas obliczeń ścieżki jest jednym z newralgicznych wskaźników dla
efektywności sieci
– wielkość pamięci routera jest ograniczona
– OSPF pozwala wybrać ścieżkę według określonego kryterium, bądź
zbioru kryteriów spośród następujących:
•
•
•
•
minimalny koszt,
stopień pewności dotarcia pakietu do celu,
maksymalna przepustowość ścieżki,
minimalne opóźnienie
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl 88
Potwierdzenie pakietów HELLO
R1
R2
i (8)
R6
• R3 wysyła przez wszystkie swoje interfejsy
pakiet HELLO (‘Hello, to ja R3’)
• R3 otrzymuje od swoich sąsiadów pakiety
HELLO
• Pakiety HELLO muszą być potwierdzone
© DSRG 2001-2003, Paweł Rzepa
Open Shortest Path First
(OSPF)
R3
h(17)
R5
86
• Kryteria wyboru ścieżki
• Metryka
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl
• R1 może wysyłać pakiety, ale nie może ich
otrzymywać (np. uszkodzona karta sieciowa)
• R1 wysyła HELLO do R2
• R2 wysyła HELLO do R1
• R1 nie potwierdza HELLO od R2 — dla R2
trasa jest bezużyteczna
• Pakiet HELLO zawiera listę sąsiadów
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
89
Routing dynamiczny
Pakiety LSA
R1
R2
b (13)
(12) c
(13) a
(21) g
(11) e
Tablica LSD
R3
R1
i (8)
(13) a
h(17)
d (11)
R4
f (33)
R5
R6
R4
• Budowa pakietów LSA
(Link State Advertisment)
Dokąd
Sieć
Metryka
– Przykład dla routera R3
R2
f
33
• Zalewanie sieci pakietami
R5
g
21
R6
i
8
– Nowy pakiet
90
b (13)
(12) c
R2
(21) g
(11) e
d (11)
f (33)
R3
i (8)
h(17)
R5
R6
• Budowa tablic LSD (Link State Database)
Src
R1
R1
R2
R2
R2
R2
• Zapamiętany
• Przesłany na wszystkie łącza oprócz tego, które otrzymało pakiet
– Stary pakiet
Dest
R2
R4
R1
R4
R5
R3
Net
b
a
b
c
e
f
Dist
13
13
13
12
11
33
C.d.
R3 R2
R3 R5
R3 R6
R4 R1
R4 R2
R4 R5
f
g
i
a
c
d
33
21
8
13
12
11
C.d.
R5 R2
R5 R3
R5 R4
R5 R6
R6 R3
R6 R5
e
g
d
h
i
h
11
21
11
17
8
17
• Odrzucony
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl 91
© DSRG 2001-2003, Paweł Rzepa
Tworzenie tablicy routingu
R1
(13)a
b(13)
(12)c
SrcDestNetDist
R1 R2 b 13
R1 R4 a 13
R2 R1 b 13
R2 R4 c 12
R2 R5 e 11
R2 R3 f 33
C.d.
R5 R2
R5 R3
R5 R4
R5 R6
R6 R3
R6 R5
e
g
d
h
i
h
f(33)
(11)e (21)g
d(11)
R4
R2
R5
C.d.
R3 R2
R3 R5
R3 R6
R4 R1
R4 R2
R4 R5
11
21
11
17
8
17
© DSRG 2001-2003, Paweł Rzepa
i(8)
h(17)
f
g
i
a
c
d
R3
33
21
8
13
12
11
R6
• Algorytm Dijkstry
www.cs.agh.edu.pl
Oznaczenia:
– E - zbiór węzłów, dla których najkrótsza ścieżka jest znana
– R - zbiór pozostałych węzłów
– O - uporządkowana lista ścieżek
– Tworzenie drzewa
• Analizujemy budowę
drzewa z punktu
widzenia routera R3
www.cs.agh.edu.pl 92
OSPF - algorytm Dijkstry
•
• Korzeń — system tworzący
drzewo
• Gałęzie — połączenia do
innych systemów
Routing dynamiczny
•
Algorytm:
– (1) Niech E zawiera tylko węzeł początkowy - S, zaś R wszystkie
pozostałe
– (2) Niech O zawiera wszystkie jednosegmentowe ścieżki
rozpoczynające się w S, uporządkowane według metryki łącza
– (3) Jeśli O jest zbiorem pustym lub metryka pierwszej ścieżki w O
ma wartość nieskończoną, to wszystkie węzły w R są nieosiągalne.
STOP
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
93
Routing dynamiczny
OSPF - algorytm Dijkstry (c.d.)
•
Algorytm Dijkstry
R1
Algorytm - c.d.:
– (4) Dla ścieżki P - najkrótszej w O:
(13)a
• usuń P z O
• Niech V będzie końcem ścieżki P:
– jeśli V należy do E, skocz do (3)
– w przeciwnym wypadku, P jest najkrótszą ścieżką do V,
- przenieś V z R do E
R2
d(11)
C.d.
R5 R2
R5 R3
R5 R4
R5 R6
R6 R3
R6 R5
• N - liczba połączeń
Praktyczna złożoność obliczeniowa algorytmu zależy przede wszystkim od
implementacji operacji wstawiania
(13)a
b(13)
Routing dynamiczny
(12)c
R2
f(33)
www.cs.agh.edu.pl 95
(11)e (21)g
R3
e
g
d
h
i
h
C.d.
R3 R2
R3 R5
R3 R6
R4 R1
R4 R2
R4 R5
d(11)
R4
SrcDestNetDist
R1 R2 b 13
R1 R4 a 13
R2 R1 b 13
R2 R4 c 12
R2 R5 e 11
R2 R3 f 33
C.d.
R5 R2
R5 R3
R5 R4
R5 R6
R6 R3
R6 R5
e
g
d
h
i
h
R5
h(17)
0
R3
21
R5
R1
8
R2
21
R5
8
R6
– Tymczasowe — elementy, do
których jeszcze nie zna
lepszej (koszt) drogi
– Ostateczne — elementy do
których zna najkrótszą drogę
33
21
8
13
12
11
11
21
11
17
8
17
• Koszt — suma kosztów od
elementu do korzenia
Routing dynamiczny
b(13)
(12)c
R2
f(33)
www.cs.agh.edu.pl 96
(11)e (21)g
R3
d(11)
R4
R3
R4 R1 a 13
R4 R2 c 12
R4 R5 d 11
O ={R3R6R3:16, R3R5:21, R3R6R5:25, R3R2:33}
E ={R3, R6}
www.cs.agh.edu.pl
SrcDestNetDist
R1 R2 b 13
R1 R4 a 13
R2 R1 b 13
R2 R4 c 12
R2 R5 e 11
R2 R3 f 33
C.d.
R5 R2
R5 R3
R5 R4
R5 R6
R6 R3
R6 R5
e
g
d
h
i
h
R5
0
R3
21
R5
i(8)
33
R6
16
© DSRG 2001-2003, Paweł Rzepa
R3
• Tworzy drzewo tymczasowe
i ostateczne
R6
C.d.
11
21
11
17
8
17
R6
© DSRG 2001-2003, Paweł Rzepa
(13)a
R2
f
g
i
a
c
d
0
Algorytm Dijkstry
i(8)
33
R3
i(8)
h(17)
R5
Algorytm Dijkstry
R1
f(33)
(11)e (21)g
SrcDestNetDist
R1 R2 b 13
R1 R4 a 13
R2 R1 b 13
R2 R4 c 12
R2 R5 e 11
R2 R3 f 33
Teoretyczna złożoność obliczeniowa algorytmu: O(N log(N))
© DSRG 2001-2003, Paweł Rzepa
(12)c
R4
• koszt ścieżki: suma kosztów licząc od S
•
b(13)
33
– (5) Zbuduj zbiór nowych ścieżek przez połączenie P ze ścieżkami
wychodzącymi z V. Dodaj utworzone ścieżki do zbioru O.
Kontynuuj od kroku (3).
•
94
h(17)
R2
8
R6
R6
25
R5
C.d.
R4 R1 a 13
R4 R2 c 12
R4 R5 d 11
11
21
11
17
8
17
© DSRG 2001-2003, Paweł Rzepa
O ={R3R5:21, R3R6R5:25, R3R2:33}
E ={R3, R6}
www.cs.agh.edu.pl
Routing dynamiczny
97
Routing dynamiczny
Algorytm Dijkstry
R1
(13)a
b(13)
(12)c
R2
f(33)
(11)e (21)g
R3
d(11)
R4
SrcDestNetDist
R1 R2 b 13
R1 R4 a 13
R2 R1 b 13
R2 R4 c 12
R2 R5 e 11
R2 R3 f 33
C.d.
R5 R2
R5 R3
R5 R4
R5 R6
R6 R3
R6 R5
e
g
d
h
i
h
h(17)
R5
Algorytm Dijkstry
0
R3
21
R5
R1
i(8)
(13)a
33
R2
8
b(13)
(12)c
R6
d(11)
R4 R1 a 13
R4 R2 c 12
R4 R5 d 11
O ={R3R5R2:32, R3R5R4:32, R3R2:33, R3R5R6:38,
R3R5R3:42}
E ={R3, R6, R5}
www.cs.agh.edu.pl 99
C.d.
R5 R2
R5 R3
R5 R4
R5 R6
e
g
d
h
(13)a
b(13)
(12)c
SrcDestNetDist
R1 R2 b 13
R1 R4 a 13
R2 R1 b 13
R2 R4 c 12
R2 R5 e 11
R2 R3 f 33
C.d.
R5 R2
R5 R3
R5 R4
R5 R6
e
g
d
h
f(33)
(11)e (21)g
d(11)
R4
R2
R5
R3
0
R3
21
R5
R1
8
32
R4
R4 R1 a 13
R4 R2 c 12
R4 R5 d 11
© DSRG 2001-2003, Paweł Rzepa
R5
8
R6
R2
R4 R1 a 13
R4 R2 c 12
R4 R5 d 11
11
21
11
17
b(13)
(12)c
O ={ R3R5R4:32, R3R5R6:38, R3R5R3:42}
E ={R3, R6, R5, R2}
Routing dynamiczny
R2
f(33)
(11)e (21)g
d(11)
R4
C.d.
11
21
11
17
21
C.d.
www.cs.agh.edu.pl 100
R3
O ={ R3R5R4:32, R3R5R6:38, R3R5R3:42}
E ={R3, R6, R5, R2}
www.cs.agh.edu.pl
SrcDestNetDist
R1 R2 b 13
R1 R4 a 13
R2 R1 b 13
R2 R4 c 12
R2 R5 e 11
R2 R3 f 33
C.d.
R5 R2
R5 R3
R5 R4
R5 R6
e
g
d
h
R5
0
R3
21
R5
i(8)
R6
R6
R2 32
R2
R6
© DSRG 2001-2003, Paweł Rzepa
(13)a
32
R3
Algorytm Dijkstry
i(8)
h(17)
0
i(8)
h(17)
R5
Algorytm Dijkstry
R1
R3
33
R4
Routing dynamiczny
f(33)
(11)e (21)g
SrcDestNetDist
R1 R2 b 13
R1 R4 a 13
R2 R1 b 13
R2 R4 c 12
R2 R5 e 11
R2 R3 f 33
© DSRG 2001-2003, Paweł Rzepa
R2
R6
C.d.
11
21
11
17
8
17
98
h(17)
8
R6
R6
32
R2 32
R432
R6 38
C.d.
R4 R1 a 13
R4 R2 c 12
R4 R5 d 11
11
21
11
17
© DSRG 2001-2003, Paweł Rzepa
O ={ R3R5R4:32, R3R5R3:42}
E ={R3, R6, R5, R2}
www.cs.agh.edu.pl
Routing dynamiczny
101
Routing dynamiczny
Algorytm Dijkstry
R1
(13)a
b(13)
(12)c
SrcDestNetDist
R1 R2 b 13
R1 R4 a 13
R2 R1 b 13
R2 R4 c 12
R2 R5 e 11
R2 R3 f 33
C.d.
R5 R2
R5 R3
R5 R4
R5 R6
e
g
d
h
f(33)
(11)e (21)g
d(11)
R4
R2
Algorytm Dijkstry
0
R3
21
R5
R1
i(8)
h(17)
R5
R3
(13)a
8
R2 32
R4 42
R3
R4 R1 a 13
R4 R2 c 12
R4 R5 d 11
E ={R3, R6, R5, R2}
Routing dynamiczny
R2
SrcDestNetDist
R1 R2 b 13
R1 R4 a 13
R2 R1 b 13
R2 R4 c 12
R2 R5 e 11
R2 R3 f 33
(13)a
b(13)
(12)c
R4
C.d.
f(33)
(11)e (21)g
d(11)
SrcDestNetDist
R1 R2 b 13
R1 R4 a 13
R2 R1 b 13
R2 R4 c 12
R2 R5 e 11
R2 R3 f 33
R2
www.cs.agh.edu.pl 103
R5
R3
e
g
d
h
0
R3
21
R5
R1
8
32
45
11
21
11
17
8
R6
R2 32
R4
O ={ R3R5R4:32}
E ={R3, R6, R5, R2}
Routing dynamiczny
(12)c
R2
f(33)
(11)e (21)g
R4
d(11)
SrcDestNetDist
R1 R2 b 13
R1 R4 a 13
R5
www.cs.agh.edu.pl 104
R3
C.d.
www.cs.agh.edu.pl
R3
21
R5
i(8)
h(17)
8
R6
R6
32
45
R1
0
R2 32
R4
C.d.
R4 R1 a 13
R4 R2 c 12
R4 R5 d 11
R1
O ={R3R5R2R4:44, R3R5R2R1:45,
R3R5R2R5:43, R3R5R2R3:65}
E ={R3, R6, R5, R2, R4}
O ={R3R5R4:32, R3R5R2R4:44, R3R5R2R1:45,
R3R5R2R5:43, R3R5R2R3:65}
E ={R3, R6, R5, R2}
© DSRG 2001-2003, Paweł Rzepa
R5
R4 R1 a 13
R4 R2 c 12
R4 R5 d 11
b(13)
R4
C.d.
R4 R1 a 13
R4 R2 c 12
R4 R5 d 11
21
C.d.
R6
R6
R2 32
R3
R6
© DSRG 2001-2003, Paweł Rzepa
(13)a
32
0
Algorytm Dijkstry
i(8)
h(17)
R3
i(8)
h(17)
R5
Algorytm Dijkstry
R1
f(33)
(11)e (21)g
d(11)
C.d.
R5 R2
R5 R3
R5 R4
R5 R6
O ={ R3R5R4:32}
© DSRG 2001-2003, Paweł Rzepa
(12)c
R4
C.d.
11
21
11
17
b(13)
R6
R6
32
102
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
105
Routing dynamiczny
Algorytm Dijkstry
R1
(13)a
b(13)
(12)c
R4
f(33)
(11)e (21)g
d(11)
SrcDestNetDist
R1 R2 b 13
R1 R4 a 13
R2
R5
R3
Algorytm Dijkstry
0
R3
21
R5
R1
i(8)
h(17)
(13)a
8
b(13)
(12)c
R3
R4
R5
h(17)
0
R3
21
R5
i(8)
8
R6
R6
SrcDestNetDist
C.d.
32
R2 32
R4
C.d.
45
45
R1
C.d.
O ={}
E ={R3, R6, R5, R2, R4, R1}
Routing dynamiczny
www.cs.agh.edu.pl 107
Open Shortest Path First
(OSPF)
• Protokoły „wewnętrzne” OSPF
– Hello Protocol
• sprawdzenie, czy łącze funkcjonuje
• wybór reprezentanta spośród routerów przyłączonych do jednej sieci
(priorytet, identyfikator)
– Exchange Protocol
• synchronizacja zawartości baz danych opisujących topologię sieci
• asymetryczny (master-slave)
– Flooding Protocol
R1
• Zostało stworzone pełne drzewo — na
jego podstawie budujemy tablicę routingu
• Zawartość tablicy LSD nie jest usuwana!
C.d.
© DSRG 2001-2003, Paweł Rzepa
f(33)
(11)e (21)g
d(11)
R4
R2 32
R2
R6
R6
32
106
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 108
Protokoły stanu łącza
• Podstawowy problem: zapewnienie koherencji
routingu
– warunek konieczny: identyczność opisów topologii
sieci w każdym routerze
– przykłady zagrożeń:
• zagubiony pakiet informacji o sieci
• błędy pamięci
• rozmyślne działanie człowieka
– po podniesieniu łącza wymieniają między sobą
pakiety ‘database description’
• powiadamianie o zmianach w topologii sieci
• jeśli istniały rozdzielone segmenty nie wystarczy wysłać
informacji o podniesionym połączeniu – trzeba
zsynchronizować bazy
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
109
Routing dynamiczny
Protokoły stanu łącza
•
•
•
•
•
110
Protokoły stanu łącza
D - C - A - B: 1,5 Mbps; 295 ms opóźnienia
Możliwość wprowadzenia wielu
metryk
D - E - B: 64 kbps; 20 ms opóźnienia
Ścieżka D - C - A - B ma większą
przepustowość, ale nie można
A
B
jednoznacznie stwierdzić, że jest
lepsza od D - E - B
Ścieżka D - E - B ma mniejsze opóźnienie
Problem: router C może mieć inne
C
D
E
preferencje, niż D; potrzebny znacznik
w pakiecie, którą strategię wybrać
Kryteria wyboru ścieżki
• Możliwość dzielenia obciążenia między różne ścieżki
– ścieżki o zbliżonych metrykach mogą równocześnie służyć do
przesyłania pakietów
• pakiety nie zawsze dojdą w kolejności wysłania
• szybszy transfer informacji
– problem: wyznaczenie, jakie części ruchu powinny być
kierowane poszczególnymi ścieżkami
• rozwiązanie zagadnienia wymaga analizy grafu
(problem maksymalnego przepływu)
– OSPF pozwala wybrać ścieżkę według określonego kryterium, bądź zbioru
kryteriów spośród następujących:
•
•
•
•
minimalny koszt,
stopień pewności dotarcia pakietu do celu,
maksymalna przepustowość ścieżki,
minimalne opóźnienie
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 111
© DSRG 2001-2003, Paweł Rzepa
OSPF i organizacja sieci
Routing dynamiczny
www.cs.agh.edu.pl 112
Systemy autonomiczne
OSPF
• Sieć Internet można traktować jako jedną
całość
AS 1
– Każdy router wymienia informacje z każdym innym
•
•
•
•
OSPF
Setki tysięcy systemów
Obciążenie sieci
Olbrzymi rozmiar tablic LSD
Bardzo długi czas obliczania algorytmu Dijkstry
ATM
OSPF
Token Ring
• Wprowadzenie hierarchii
– Systemy autonomiczne
• Obszary
AS 2
© DSRG 2001-2003, Paweł Rzepa
OSPF
www.cs.agh.edu.pl
© DSRG 2001-2003, Paweł Rzepa
AS 3
• AS definiuje granice działania OSPF
• AS boundary router — router brzegowy
znajdujący się na granicy obszaru
autonomicznego
www.cs.agh.edu.pl
Routing dynamiczny
113
Routing dynamiczny
114
Hierarchical OSPF
Routery brzegowe dla AS
• Uzyskują informacje spoza AS
– Konfigurowane statycznie przez administratora
– Zewnętrzne protokoły routingu dynamicznego
• Router brzegowy rozgłasza informacje o
‘świecie zewnętrznym’ wewnątrz AS
– External LSA — specjalne pakiety LSA
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 115
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl 116
Obszary OSPF
Hierarchical OSPF
• Two-level hierarchy: local area, backbone.
– Link-state advertisements only in area
– each nodes has detailed area topology; only know
direction (shortest path) to nets in other areas.
• Area border routers: “summarize” distances to nets
in own area, advertise to other Area Border routers.
• Backbone routers: run OSPF routing limited to
backbone.
• Boundary routers: connect to other ASs.
• Podział dowolny
• AS może być zbyt duży
– Elementy obszaru
muszą być połączone
Obszar 2
• Wewnątrz obszaru
OSPF działa normalnie
• Area border router —
router brzegowy dla
obszaru OSPF
FR
Backbone
FDDI
– Rozgłasza summary
LSA o innych
obszarach
Obszar 3
Obszar 1
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
© DSRG 2001-2003, Paweł Rzepa
System autonomiczny
www.cs.agh.edu.pl
Routing dynamiczny
117
Routing dynamiczny
Backbone
•
•
•
•
Awaria backbone
Obszar o specjalnym znaczeniu
Koncentrator dla wszystkich obszarów
Wszystkie obszary są połączone z backbone
W przypadku straty połączenia pomiędzy
elementami istnieje możliwość
skonfigurowania wirtualnego połączenia
pomiędzy backbone router
Obszar 2
FR
Backbone
FDDI
Obszar 3
Obszar 1
Routing dynamiczny
© DSRG 2001-2003, Paweł Rzepa
118
www.cs.agh.edu.pl 119
© DSRG 2001-2003, Paweł Rzepa
Obszary końcowe
• Tworzenie
połączenia
backupowego
nie jest
realizowane
automatycznie
— jest to
rozwiązanie
tymczasowe
System autonomiczny
Routing dynamiczny
www.cs.agh.edu.pl 120
Inter-AS routing
• Tworzenie AS i obszarów zmniejsza ilość
rozgłaszanych LSA
– Jest ich dużo
• Stub area (obszar końcowy) — obszar
posiadający tylko jeden router brzegowy
– Brak external LSA
– Brak summary LSA
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
121
Internet inter-AS routing: BGP
Routing dynamiczny
122
Internet inter-AS routing: BGP
Suppose: gateway X send its path to peer gateway W
• BGP (Border Gateway Protocol): the de facto
standard
• Path Vector protocol:
– similar to Distance Vector protocol
– each Border Gateway broadcast to neighbors
(peers) entire path (I.e, sequence of ASs) to
destination
– E.g., Gateway X may send its path to dest. Z:
• W may or may not select path offered by X
– cost, policy (don’t route via competitors AS), loop
prevention reasons.
• If W selects path advertised by X, then:
Path (W,Z) = w, Path (X,Z)
• Note: X can control incoming traffic by controling it route
advertisements to peers:
– e.g., don’t want to route traffic to Z -> don’t advertise
any routes to Z
Path (X,Z) = X,Y1,Y2,Y3,…,Z
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 123
Internet inter-AS routing: BGP
• BGP messages exchanged using TCP.
• BGP messages:
– OPEN: opens TCP connection to peer and
authenticates sender
– UPDATE: advertises new path (or withdraws old)
– KEEPALIVE keeps connection alive in absence of
UPDATES; also ACKs OPEN request
– NOTIFICATION: reports errors in previous msg; also
used to close connection
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 124
Why different Intra- and Inter-AS routing
Policy:
?
• Inter-AS: admin wants control over how its traffic
routed, who routes through its net.
• Intra-AS: single admin, so no policy decisions needed
Scale:
• hierarchical routing saves table size, reduced update
traffic
Performance:
• Intra-AS: can focus on performance
• Inter-AS: policy may dominate over performance
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
125
Router Architecture Overview
Routing dynamiczny
126
Input Port Functions
Two key router functions:
• run routing algorithms/protocol (RIP, OSPF, BGP)
• switching datagrams from incoming to outgoing link
Physical layer:
bit-level reception
Data link layer:
e.g., Ethernet
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 127
Input Port Queuing
© DSRG 2001-2003, Paweł Rzepa
Decentralized switching:
• given datagram dest., lookup output port
using routing table in input port memory
• goal: complete input port processing at ‘line
speed’
• queuing: if datagrams arrive faster than
forwarding rate into switch fabric
Routing dynamiczny
www.cs.agh.edu.pl 128
Three types of switching fabrics
• Fabric slower that input ports combined -> queueing
may occur at input queues
• Head-of-the-Line (HOL) blocking: queued datagram at
front of queue prevents others in queue from moving
forward
• queueing delay and loss due to input buffer overflow!
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
129
Routing dynamiczny
Switching Via Memory
Switching Via Bus
First generation routers:
• packet copied by system’s (single) CPU
• speed limited by memory bandwidth (2 bus crossings
per datagram)
Input
Port
Memory
Output
Port
System Bus
Modern routers:
• input port processor performs lookup, copy into
memory
• Cisco Catalyst 8500
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 131
130
• datagram from input port memory
to output port memory via a shared
bus
• bus contention: switching speed
limited by bus bandwidth
• 1 Gbps bus, Cisco 1900: sufficient
speed for access and enterprise
routers (not regional or backbone)
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 132
Output Ports
Switching Via An Interconnection Network
• overcome bus bandwidth limitations
• Banyan networks, other interconnection nets initially
developed to connect processors in multiprocessor
• Advanced design: fragmenting datagram into fixed
length cells, switch cells through the fabric.
• Cisco 12000: switches Gbps through the
interconnection network
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
• Buffering required when datagrams arrive from fabric
faster than the transmission rate
• Scheduling discipline chooses among queued
datagrams for transmission
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
Routing dynamiczny
133
Routing dynamiczny
134
Podsumowanie
Output port queueing
• Protokoły stanu połączeń
–
–
–
–
Skomplikowane
Bardziej wydajne, skalowalne
Brak pętli
Dobra zbieżność
• buffering when arrival rate via switch exceeeds ouput
line speed
• queueing (delay) and loss due to output port buffer
overflow!
© DSRG 2001-2003, Paweł Rzepa
Routing dynamiczny
www.cs.agh.edu.pl 135
Literatura
• Routing in the Internet, Christian Huitema, Prentice
Hall PTR
• IPng and the TCP/IP Protocols Stephen A. Thomas
• Zarządzanie sieciami IP za pomocą routerów Cisco,
Scott M. Ballew, O’Reilly
• Sieci komputerowe TCP/IP, t.1, Douglas E. Comer,
Wydawnictwa Naukowo-Techniczne
• RFC 1058 (RIP), RFC 2453 (RIP-2),
RFC 1131 (OSPF-1), RFC 2178 (OSPF-2)
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl
© DSRG 2001-2003, Paweł Rzepa
www.cs.agh.edu.pl