Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Routing dynamiczny © DSRG 2001-2003, Paweł Rzepa www.cs.agh.edu.pl.

Podobne prezentacje


Prezentacja na temat: "Routing dynamiczny © DSRG 2001-2003, Paweł Rzepa www.cs.agh.edu.pl."— Zapis prezentacji:

1 Routing dynamiczny © DSRG , Paweł Rzepa

2 Miejsce w modelu OSI/ISO
Obsługuje funkcje związane z określoną aplikacją Warstwa aplikacji 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 © DSRG , Paweł Rzepa

3 Plan wykładu Schemat adresacji CIDR
Routing statyczny kontra dynamiczny Podział protokołów routingu Protokoły wewnętrzne RIP, RIP2, IGRP OSPF © DSRG , Paweł Rzepa

4 Tablica routingu R0 ? R1 R2 R3 IP nast. przejścia Sieć docelowa
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 ? R1 R2 R3 bezp. dołączona IP nast. przejścia Sieć docelowa bezp. dołączona IP nast. przejścia Sieć docelowa © DSRG , Paweł Rzepa

5 Tablica routingu – wnioski
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. © DSRG , Paweł Rzepa

6 Classless Inter-Domain Routing (CIDR)
Schemat adresacji - po co go wprowadzamy ? Problem 1: brak wolnych adresów sieci np. tylko 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 © DSRG , Paweł Rzepa

7 Classless Inter-Domain Routing (CIDR)
Struktura adresu CIDR Prefix 13 do 27 bitów - numer sieci Numer hosta Nie mówimy o klasach adresów Podsumowanie: 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 , Paweł Rzepa

8 Podział Protokołów Routingu
Dynamiczny Routing Statyczny Wewnętrzny Zewnętrzny Z wektorem Stanu odległości łącza Z wektorem Stanu odległości łącza © DSRG , Paweł Rzepa

9 Hierarchiczny routing w sieci IP
Intra-AS border (exterior gateway) routers (routing zewnętrzny) Inter-AS interior (gateway) routers (routing wewętrzny) © DSRG , Paweł Rzepa

10 AS- Autonomus System 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 © DSRG , Paweł Rzepa

11 Intra-AS and Inter-AS Routing
border (exterior gateway) routers Inter-AS routing between A and B a b C A B d c A.a A.c C.b B.a Host h2 Host h1 Intra-AS routing within AS B Intra-AS routing within AS A interior (gateway) routers © DSRG , Paweł Rzepa

12 Wymagania stawiane protokołom routingu
© DSRG , Paweł Rzepa

13 Zbieżność 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) © DSRG , Paweł Rzepa

14 X Zbieżność Czas wykrywania awarii: Alternatywna ścieżka N1 R1
Pierwotna ścieżka Alternatywna ścieżka X 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 © DSRG , Paweł Rzepa

15 Równoważenie obciążenia
T1 T1 N2 N1 R1 T1 R4 T1 Równe koszty ścieżek R3 © DSRG , Paweł Rzepa

16 Równoważenie obciążenia
768K T1 N2 N1 512K R1 T1 R4 Zbliżone koszty ścieżek R3 © DSRG , Paweł Rzepa

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 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. Obciążenie sieci: Sieć ma 200 segmentów. RIP. Co 30 sekund wysyłane są wiadomości o dostępności wszystkich sieci. Zapis o każdej sieci zajmuje ok. 16 bajtów -> co 30 sekund każdy z 200 routerów wysyła 3Kb informacji. Skalowalność: Sieć ma 200 segmentów i kilkanaście routerów. Zastosowanie routowania statycznego wymaga policzenia routerów następnego przeskoku dla każdego z segmentów na każdym z routerów -> ok tras! © DSRG , Paweł Rzepa

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 , Paweł Rzepa

19 Protokoły routingu — wewnętrzne i zewnę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 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 , Paweł Rzepa

20 Protokoły z wektorem odległości ang. Distance Vector
© DSRG , Paweł Rzepa

21 Protokoły dystans-wektor
Router regularnie wysyła wszystkim swoim sąsiadom informacje na temat każdej dostępnej, znanej sobie sieci: Jak daleko do niej jest (dystans) Czas podróży Liczba przeskoków Koszt przesyłu Jak się można do niej dostać (wektor) 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. © DSRG , Paweł Rzepa

22 Distance Vector Routing Algorithm
Based on Bellman-Ford algorithm At node X, the distance to Y is updated by 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 Properties distributed: each node communicates its routing table to its directly-attached neighbors iterative: 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 , Paweł Rzepa

23 Budowa tablic routingu
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 , Paweł Rzepa

24 Protokół d-w — stan 0 U V X a b e c d f Y Z N H R - a c b d e f N H a
c b d e f N H a 1 c U V X a b e c d f Y Z © DSRG , Paweł Rzepa

25 Protokół d-w — stan I U V X a b e c d f Y Z N H R N H R - a - b N H R
- b N H R - b - e - a - d - c U c 1 N H a 1 c 1 U V X a b N H a 1 e c 1 c d f Y Z N H R N H R - d - c - e - f - f U a 1 © DSRG , Paweł Rzepa

26 Protokół d-w — stan I U V X a b e c d f Y Z N H R N H R - a - b N H R
- b N H R - b - e - a N H N H - d - c a 1 a 1 U c 1 b 1 b 1 c 2 c 2 d 1 d 1 U V X a b N H a 1 b 1 e c 2 N H c d 1 d a 2 c 1 f 1 f Y Z N H R N H R - d - c N H - e - f a 2 - f U a 1 c 1 f 1 © DSRG , Paweł Rzepa

27 Protokół d-w — stan II U V X a b e c d f Y Z N H R N H R - a - b N H R
- b N H R - b - e - a N H N H - d V a 1 - c a 1 a 1 U c 1 V c 2 V b 1 b 1 b 1 V d 1 V d 1 c 2 c 2 Y f 1 d 1 d 1 U V X a b N H a 1 b 1 e c 2 N H c d 1 d a 2 c 1 f 1 f Y Z N H R N H R - d - c N H - e - f a 2 - f U a 1 c 1 V a 1 f 1 V b 1 Y c 1 © DSRG , Paweł Rzepa

28 Protokół d-w — stan II U V X a b e c d f Y Z N H R N H R - a - b N H R
- b N H R N H - b - e - a a 2 - d V a 1 - c b 1 U c 1 V c 2 V b 1 c 3 V d 1 V d 1 d 2 Y f 1 e 1 U V X a b N H N H a 2 a 2 b 2 e b 1 c 2 c 3 c d 1 d d 2 e 1 e 1 f 1 f N H a 2 Y Z b 2 N H R N H R c 2 - d - c N H d 1 - e - f a 2 e 1 - f U a 1 b 2 f 1 V a 1 c 2 V b 1 d 1 Y c 1 e 1 f 1 © DSRG , Paweł Rzepa

29 Protokół d-w — stan III U V X a b e c d f Y Z N H R N H R - a - b N H
- b N H R N H - b - e - a a 2 - d V a 1 - c b 1 U c 1 V c 2 V b 1 c 3 X e 1 V d 1 V d 1 e 1 Z f 1 Z f 1 Y f 1 U V X a b N H N H a 2 a 2 b 2 e b 1 c 2 c 3 c d 1 d e 1 e 1 f 1 f N H a 2 Y Z b 2 N H R N H R c 2 - d - c N H d 1 - e - f a 2 e 1 - f U a 1 b 2 f 1 V a 1 Z b 2 c 2 V b 1 Z d 1 d 1 Y c 1 Z e 1 e 1 f 1 © DSRG , Paweł Rzepa

30 Protokół d-w — stan III U V X a b e c d f Y Z N H R N H R - a - b N H
- b N H R N H N H - b - e - a a 1 a 1 - d V a 1 - c b 1 b 1 U c 1 V c 2 V b 1 c 2 c 2 X e 1 V d 1 V d 1 d 1 d 1 Z f 1 Z f 1 Y f 1 e 2 e 2 f 2 f 2 U V X a b N H N H a 2 a 1 b 3 b 1 e c 1 c 2 d 2 c d 1 d e 2 e 2 f 1 f 2 f Y Z N H R N H R - d - c N H - e - f a 2 - f U a 1 b 3 V a 1 Z b 2 c 1 V b 1 Z d 1 d 2 Y c 1 Z e 1 e 2 f 1 © DSRG , Paweł Rzepa

31 Protokół d-w — stan IV U V X a b e c d f Y Z N H R N H R - a - b N H R
- b N H R N H N H - b - e - a a 1 a 1 - d V a 1 - c b 1 b 1 U c 1 V c 2 V b 1 c 2 c 2 X e 1 V d 1 V d 1 d 1 d 1 Z f 1 Z f 1 Y f 1 e 2 e 2 Y e 2 f 2 f 2 U V X a b N H N H a 2 a 1 b 3 b 1 e c 1 c 2 d 2 c d 1 d e 2 e 2 f 1 f 2 f Y Z N H R N H R - d - c N H - e - f a 2 - f U a 1 b 3 V a 1 Z b 2 c 1 V b 1 Z d 1 d 2 Y c 1 Z e 1 e 2 f 1 © DSRG , Paweł Rzepa

32 Protokół d-w — stan ustalony
H R N H R - a - b N H R - b - e - a - d V a 1 - c U c 1 V c 2 V b 1 X e 1 V d 1 V d 1 Z f 1 Z f 1 Y f 1 Y e 2 U V X a b e c d f Sieć znajduje się w stanie ustalonym Kolejność wysyłania danych przez routery była przypadkowa Y Z N H R N H R - d - c - e - f - f U a 1 V a 1 Z b 2 V b 1 Z d 1 Y c 1 Z e 1 © DSRG , Paweł Rzepa

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 © DSRG , Paweł Rzepa

34 Pakiet RIP — enkapsulacja
Port 520 Nagłówek UDP Pole danych To Send/Rcv Pakiety RIP muszą być nadawane na port 520. Odpowiedzi muszą być nadawane z portu 520; zapytania nie. Jeśli zapytanie jest nadawane z portu <> 520 to odpowiadają na nie także silent nodes. Nagłówek IP Pole danych © DSRG , Paweł Rzepa

35 Pakiet RIP 4 8 12 16 20 24 polecenie (zapytanie/odpowiedź) wersja musi być wypełnione zerami identyfikator rodziny adresów musi być wypełnione zerami adres IP N musi być wypełnione zerami musi być wypełnione zerami Polecenie – pakietem rozgłaszanym okresowo przez routery jest odpowiedź. Zapytanie służy do uzyskania tablicy routingu od sąsiada – np przy uruchamianiu routera może on poprosić swoich sąsiadów o ich pełne tablice routingu. The request is processed entry by entry. If there are no entries, no response is given. There is one special case. If there is exactly one entry in the request, with an address family identifier of 0 (meaning unspecified), and a metric of infinity (i.e., 16 for current implementations), this is a request to send the entire routing table. In that case, a call is made to the output process to send the routing table to the requesting port. The packet format is intended to allow RIP to carry routing information for several different protocols. Thus, each entry has an address family identifier to indicate what type of address is specified in that entry. This document only describes routing for Internet networks. The address family identifier for IP is 2. None of the RIP implementations available to the author implement any other type of address. However, to allow for future development, implementations are required to skip entries that specify address families that are not supported by the implementation. (The size of these entries will be the same as the size of an entry specifying an IP address.) Processing of the message continues normally after any unsupported entries are skipped. metryka © DSRG , Paweł Rzepa

36 Wady RIP — liczenie do nieskończoności
Sieć 1 N H Sieć 1 10 N H Sieć 1 8 N H Sieć 1 12 N H Sieć 1 16 N H Sieć 1 4 N H Sieć 1 14 N H Sieć 1 6 N H Sieć 1 2 R0 R1 R2 R3 N H Sieć 1 13 N H Sieć 1 11 N H Sieć 1 9 N H Sieć 1 5 N H Sieć 1 7 N H Sieć 1 15 N H Sieć 1 3 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 © DSRG , Paweł Rzepa

37 RIP — zmniejszanie prawdopodobieństwa wystąpienia liczenia do nieskończoności
Uaktualnianie z podzielonym horyzontem router nie propaguje informacji o dostępności sieci na interfejs, przez który prowadzi najlepsza trasa Wstrzymanie router wstrzymuje się z akceptacją komunikatów o dostępności sieci, o której awarii otrzymał informację (zazwyczaj na 60 sek.) Odświeżanie wymuszone w wypadku zmiany w tablicy router nie czeka 30s tylko rozgłasza nową informację natychmiast © DSRG , Paweł Rzepa

38 RIP — dzielony horyzont
Zmniejsza prawdopodobieństwo wystąpienia zjawiska zliczania do nieskończoności Najkrótsza trasa do 1 jest dostępna przez R1 Sieć 1 N H Sieć 1 3 R0 R1 R2 R3 R2 nie wysyła informacji o dostępności Sieci 1 do R1 bo przez ten router prowadzi najkrótsza trasa tej sieci © DSRG , Paweł Rzepa

39 RIP — dzielony horyzont Reverse-Poison
distance table E sends to its neighbors E’s distance table 1, A 8, B 4, D 2, D A E D C B 7 8 1 2 10 To A A:  B: 8 C: 4 D: 2 E: 0 To B A: 1 B:  C: 4 D: 2 E: 0 ToD,C A: 1 B: 8 C:  D:  E: 0 distance through neighbor © DSRG , Paweł Rzepa

40 RIP — dzielony horyzont Reverse-Poison
Nie zawsze zapobiega zliczaniu do nieskończoności 1 1 1 1 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 , Paweł Rzepa

41 RIP — wstrzymanie 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 , Paweł Rzepa

42 RIP — odświeżanie wymuszone
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 , Paweł Rzepa

43 RIP i podsieci Potrafi przekazywać informacje jedynie o sieciach i pojedynczych komputerach W polu hosta są same zera — sieć W przeciwnym przypadku — host 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 /24 /24 /24 © DSRG , Paweł Rzepa

44 Wady RIP — synchronizacja
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 , Paweł Rzepa

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 przesłanie 2 pakietów RIP zajmuje około 1 sekundy (!) © DSRG , Paweł Rzepa

46 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 stosowane nie tylko w przypadku łącz typu X.25 © DSRG , Paweł Rzepa

47 Wady RIP Zbyt prosta metryka Sieć 1 Sieć 2 Dobry do sieci jednorodnych
łącze X.25 i FDDI „tyle samo warte” X.25 drogie i wolne FDDI tanie i szybkie bps B bps Sieć 1 Sieć 2 A C X.25 (9600 bps) Dobry do sieci jednorodnych © DSRG , Paweł Rzepa

48 RIP i podsieci /24 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 R2 może nie znać poprawnej drogi do hosta R1 /24 /8 R2 R3 /24 © DSRG , Paweł Rzepa

49 RIP i podsieci /16 /8 Pakiet zostanie utracony sumaryzacja /8 /16 © DSRG , Paweł Rzepa

50 RIP-2 W ramce zawarta jest również maska podsieci
Propaguje numer domeny routingu Propaguje adres następnego routera (next-hop) © DSRG , Paweł Rzepa

51 polecenie (zapytanie/odpowiedź) identyfikator rodziny adresów
Pakiet RIP-2 4 8 12 16 20 24 polecenie (zapytanie/odpowiedź) wersja numer domeny routingu identyfikator rodziny adresów znacznik trasy adres IP N maska podsieci next hop In the Address Family Identifier field, there are two values which can be seen.  A value of two indicates the subnet is using the IP protocol.  When using the IP protocol, the Route Tag Field indicates if the information in the packet is destined for the AS network on which the router operates (Internal Gateway Protocol) or an external network (Exterior Gateway Protocol). Another explanation (RFC 1388) The Route Tag (RT) field exists as a support for EGPs. The contents and use of this field are outside the scope of this protocol. However, it is expected that the field will be used to carry Autonomous System numbers for EGP and BGP. Any RIP system which receives a RIP entry which contains a non-zero RT value must re- advertise that value. Those routes which have no RT value must advertise an RT value of zero. metryka © DSRG , Paweł Rzepa

52 RIP-2 — przykład Wybrany do komunikacji ze światem zewnętrznym A B C D E F System autonomiczny „X” System autonomiczny „Y” 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 „next-hop” w drodze do F © DSRG , Paweł Rzepa

53 RIP-2 — bezpieczeństwo Wada RIP-1 Mechanizm autentykacji RIP-2
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 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 Jeśli rodzina adresów to ‘FFFF’ to pole ‘znacznik trasy’ zawiera informację jakiego rodzaju autentykacja zostanie użyta. Podstawowy to ‘2’ — hasło. Istnieje jeszcze rozszerzenie w którym autentykuje się poprzez MD5 (RFC 2082) © DSRG , Paweł Rzepa

54 RIP-2 — rozgłaszanie Wada RIP-1
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 ( ) nie są konieczne mechanizmy rutowania pakietów klasy D, bo informacje dotyczą tylko lokalnej sieci © DSRG , Paweł Rzepa

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 , Paweł Rzepa

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 , Paweł Rzepa

57 Interior Gateway Routing Protocol (IGRP)
Metryki elementarne złożone T - opóźnienie transmisji M – pełna metryka statyczne dynamiczne niezawodność łącza obciążenie łącza liczba hopów MTU opóźnienie przepustowość © DSRG , Paweł Rzepa

58 Interior Gateway Routing Protocol (IGRP)
Metryki elementarne statyczne opóźnienie (ang. delay, ozn. D) 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: / przepustowość w kbps liczba sekund potrzebna na przesłanie 10 mld. bitów 24 bity => zakres przepustowości od 1200 bps do 10 Gbps © DSRG , Paweł Rzepa

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: 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 liczba routerów na ścieżce (ang. hops, ozn. H) path MTU © DSRG , Paweł Rzepa

60 Przepustowość Bandwith 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 B IGRP parameter value 20 1 000 2 500 625 100 6 476 © DSRG , Paweł Rzepa

61 Delay D IGRP parameter value Delay 200 000 Satelite (2 sec) 100
250 62.5 10 20 Delay 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) © DSRG , Paweł Rzepa

62 Interior Gateway Routing Protocol (IGRP)
Metryka złożona T - opóźnienie transmisji dla pakietów o długości bitów T = B+D dla pakietów o innej długości P przy uwzględnieniu obciążenia łącza dostępna jest tylko część przepustowości © DSRG , Paweł Rzepa

63 Interior Gateway Routing Protocol (IGRP)
Metryka złożona - c.d. T - opóźnienie transmisji po uwzględnieniu współczynnika niezawodności wada tego podejścia: krótkie okresy pomiaru obciążenia łącza powodują destabilizację © DSRG , Paweł Rzepa

64 Interior Gateway Routing Protocol (IGRP)
Rzeczywista (pełna) metryka 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 b): K1 = K3 =1 K2 = K4 = K5 = 0 © DSRG , Paweł Rzepa

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 , Paweł Rzepa

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 , Paweł Rzepa

67 Mechanizmy IGRP Stabilność: Zegary:
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.) 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.) Powiedzieć o tym co się stanie jeśli nie będzie ‘invalid timer’ tylko od razu został by wpis usunięty z tablicy. (Wolniejsza zbieżność) © DSRG , Paweł Rzepa

68 Enhanced IGRP (EIGRP) 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 dystans-wektor, jak i w prot. stanu łącza © DSRG , Paweł Rzepa

69 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 Topology Table 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. © DSRG , Paweł Rzepa

70 EIGRP Typy pakietów EIGRP: Hello/Acks · Updates · Queries · Replies ·
Requests © DSRG , Paweł Rzepa

71 Enhanced IGRP (EIGRP) 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 j l(i,k) d(k,j) © DSRG , Paweł Rzepa

72 Enhanced IGRP (EIGRP) Algorytm DUAL - c.d.
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 © DSRG , Paweł Rzepa

73 Enhanced IGRP (EIGRP) 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 „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), 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 , Paweł Rzepa

74 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 , Paweł Rzepa

75 DUAL cd. Metryki Dotyczą Celu N C nie ma akceptowalnego sąsiada
Rozpoczyna się proces dyfuzji ! © DSRG , Paweł Rzepa

76 Enhanced IGRP (EIGRP) Wady IGRP Zalety EIGRP 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 Algorytm usuwania pętli (DUAL) © DSRG , Paweł Rzepa

77 Protokoły stanu łącza © DSRG , Paweł Rzepa

78 Protokoły stanu łącza Router wysyła informację do wszystkich routerów o stanie swoich łączy Router przechowuje w pamięci „mapę sieci” 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 , Paweł Rzepa

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 , Paweł Rzepa

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 , Paweł Rzepa

81 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 Separacja routerów i innych komputerów łącze z sąsiednim routerem identyfikowane przez adres tego routera, inne komputery adresowane przez numer sieci © DSRG , Paweł Rzepa

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 D E B A D E B © DSRG , Paweł Rzepa

83 Open Shortest Path First (OSPF)
Obsługa sieci rozgłoszeniowych pakiety LSA (link state advertisement) rozsyłane są na adres multicastowy 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 ) Obsługa sieci bez rozgłoszeń (X.25, ATM) 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 © DSRG , Paweł Rzepa

84 OSPF — sieci rozgłoszeniowe
Token Ring Designated router Designated router traktuje routery jako sąsiadów Inne routery widzą jako sąsiada tylko designated router © DSRG , Paweł Rzepa

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 Metryka Od designated do normalnego == 0 Od normalnego do designated — wynika z sieci Suma jest poprawna © DSRG , Paweł Rzepa

86 Open Shortest Path First (OSPF)
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 Kryteria wyboru ścieżki 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 , Paweł Rzepa

87 Wykrywanie sąsiadów R1 R2 R3 R6 R5 R4 a b c d e f g h i (8) (13) (12) (33) (21) (17) (11) 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 , Paweł Rzepa

88 Potwierdzenie pakietów HELLO
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 , Paweł Rzepa

89 Pakiety LSA Budowa pakietów LSA (Link State Advertisment)
c d e f g h i (8) (13) (12) (33) (21) (17) (11) Budowa pakietów LSA (Link State Advertisment) Przykład dla routera R3 Zalewanie sieci pakietami Nowy pakiet Zapamiętany Przesłany na wszystkie łącza oprócz tego, które otrzymało pakiet Stary pakiet Odrzucony R2 f 33 Dokąd Sieć Metryka R5 g 21 R6 i 8 © DSRG , Paweł Rzepa

90 Tablica LSD Budowa tablic LSD (Link State Database) Src Dest Net Dist
f g h i (8) (13) (12) (33) (21) (17) (11) Budowa tablic LSD (Link State Database) Src Dest Net Dist R1 R2 b 13 R4 a c 12 R5 e 11 R3 f 33 R3 R2 f 33 R5 g 21 R6 i 8 R4 R1 a 13 c 12 d 11 C.d. R5 R2 e 11 R3 g 21 R4 d R6 h 17 i 8 C.d. © DSRG , Paweł Rzepa

91 Tworzenie tablicy routingu
d e f g h i (8) (13) (12) (33) (21) (17) (11) Algorytm Dijkstry Tworzenie drzewa Korzeń — system tworzący drzewo Gałęzie — połączenia do innych systemów Analizujemy budowę drzewa z punktu widzenia routera R3 Src Dest Net Dist R1 R2 b 13 R4 a C.d. R2 R1 b 13 R4 c 12 R5 e 11 R3 f 33 R3 R2 f 33 R5 g 21 R6 i 8 R4 R1 a 13 R2 c 12 R5 d 11 C.d. R5 R2 e 11 R3 g 21 R4 d R6 h 17 R6 R3 i 8 R5 h 17 © DSRG , Paweł Rzepa

92 OSPF - algorytm Dijkstry
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 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 , Paweł Rzepa

93 OSPF - algorytm Dijkstry (c.d.)
Algorytm - c.d.: (4) Dla ścieżki P - najkrótszej w O: 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 (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). koszt ścieżki: suma kosztów licząc od S Teoretyczna złożoność obliczeniowa algorytmu: O(N log(N)) N - liczba połączeń Praktyczna złożoność obliczeniowa algorytmu zależy przede wszystkim od implementacji operacji wstawiania © DSRG , Paweł Rzepa

94 Algorytm Dijkstry Tworzy drzewo tymczasowe i ostateczne
b c d e f g h i (8) (13) (12) (33) (21) (17) (11) R3 R2 33 R5 21 R6 8 Tworzy drzewo tymczasowe i ostateczne Tymczasowe — elementy, do których jeszcze nie zna lepszej (koszt) drogi Ostateczne — elementy do których zna najkrótszą drogę Koszt — suma kosztów od elementu do korzenia Src Dest Net Dist R1 R2 b 13 R4 a c 12 R5 e 11 R3 f 33 R3 R2 f 33 R5 g 21 R6 i 8 R4 R1 a 13 c 12 d 11 C.d. R3 R2 f 33 R5 g 21 R6 i 8 R5 R2 e 11 R3 g 21 R4 d R6 h 17 i 8 C.d. © DSRG , Paweł Rzepa

95 Algorytm Dijkstry O ={R3R6R3:16, R3R5:21, R3R6R5:25, R3R2:33}
b c d e f g h i (8) (13) (12) (33) (21) (17) (11) R3 R2 33 R5 21 R6 8 R3 16 Src Dest Net Dist R1 R2 b 13 R4 a c 12 R5 e 11 R3 f 33 C.d. R4 R1 a 13 R2 c 12 R5 d 11 R5 R2 e 11 R3 g 21 R4 d R6 h 17 i 8 C.d. O ={R3R6R3:16, R3R5:21, R3R6R5:25, R3R2:33} E ={R3, R6} R6 R3 i 8 R5 h 17 © DSRG , Paweł Rzepa

96 Algorytm Dijkstry O ={R3R5:21, R3R6R5:25, R3R2:33} E ={R3, R6} R1 R2
b c d e f g h i (8) (13) (12) (33) (21) (17) (11) R3 R2 33 R5 21 R6 8 R5 25 Src Dest Net Dist R1 R2 b 13 R4 a c 12 R5 e 11 R3 f 33 C.d. R4 R1 a 13 R2 c 12 R5 d 11 R5 R2 e 11 R3 g 21 R4 d R6 h 17 i 8 C.d. O ={R3R5:21, R3R6R5:25, R3R2:33} E ={R3, R6} R6 R3 i 8 R5 h 17 © DSRG , Paweł Rzepa

97 Algorytm Dijkstry O ={R3R5R2:32, R3R5R4:32, R3R2:33, R3R5R6:38,
b c d e f g h i (8) (13) (12) (33) (21) (17) (11) R3 R2 33 R5 21 R6 8 Src Dest Net Dist R1 R2 b 13 R4 a c 12 R5 e 11 R3 f 33 C.d. R4 R1 a 13 R2 c 12 R5 d 11 R5 R2 e 11 R3 g 21 R4 d R6 h 17 i 8 C.d. O ={R3R5R2:32, R3R5R4:32, R3R2:33, R3R5R6:38, R3R5R3:42} R6 R3 i 8 R5 h 17 E ={R3, R6, R5} © DSRG , Paweł Rzepa

98 Algorytm Dijkstry O ={ R3R5R4:32, R3R5R6:38, R3R5R3:42}
b c d e f g h i (8) (13) (12) (33) (21) (17) (11) R3 R2 33 R5 21 R6 8 R2 32 Src Dest Net Dist R1 R2 b 13 R4 a c 12 R5 e 11 R3 f 33 C.d. R4 R1 a 13 R2 c 12 R5 d 11 C.d. R5 R2 e 11 R3 g 21 R4 d R6 h 17 R5 R2 e 11 R3 g 21 R4 d R6 h 17 O ={ R3R5R4:32, R3R5R6:38, R3R5R3:42} E ={R3, R6, R5, R2} © DSRG , Paweł Rzepa

99 Algorytm Dijkstry O ={ R3R5R4:32, R3R5R6:38, R3R5R3:42}
b c d e f g h i (8) (13) (12) (33) (21) (17) (11) R3 R5 21 R6 8 R4 32 Src Dest Net Dist R1 R2 b 13 R4 a c 12 R5 e 11 R3 f 33 R2 32 C.d. R4 R1 a 13 R2 c 12 R5 d 11 C.d. R5 R2 e 11 R3 g 21 R4 d R6 h 17 R5 R2 e 11 R3 g 21 R4 d R6 h 17 O ={ R3R5R4:32, R3R5R6:38, R3R5R3:42} E ={R3, R6, R5, R2} © DSRG , Paweł Rzepa

100 Algorytm Dijkstry O ={ R3R5R4:32, R3R5R3:42} E ={R3, R6, R5, R2} R1 R2
b c d e f g h i (8) (13) (12) (33) (21) (17) (11) R3 R5 21 R6 8 R4 32 Src Dest Net Dist R1 R2 b 13 R4 a c 12 R5 e 11 R3 f 33 R2 32 R6 32 38 C.d. R4 R1 a 13 R2 c 12 R5 d 11 C.d. R5 R2 e 11 R3 g 21 R4 d R6 h 17 R5 R2 e 11 R3 g 21 R4 d R6 h 17 O ={ R3R5R4:32, R3R5R3:42} E ={R3, R6, R5, R2} © DSRG , Paweł Rzepa

101 Algorytm Dijkstry O ={ R3R5R4:32} E ={R3, R6, R5, R2} R1 R2 R3 R6 R5
b c d e f g h i (8) (13) (12) (33) (21) (17) (11) R3 R5 21 R6 8 R4 32 R3 42 Src Dest Net Dist R1 R2 b 13 R4 a c 12 R5 e 11 R3 f 33 R2 32 C.d. R4 R1 a 13 R2 c 12 R5 d 11 C.d. R5 R2 e 11 R3 g 21 R4 d R6 h 17 R5 R2 e 11 R3 g 21 R4 d R6 h 17 O ={ R3R5R4:32} E ={R3, R6, R5, R2} © DSRG , Paweł Rzepa

102 Algorytm Dijkstry O ={ R3R5R4:32} E ={R3, R6, R5, R2} R1 R2 R3 R6 R5
b c d e f g h i (8) (13) (12) (33) (21) (17) (11) R3 R5 21 R6 8 R4 32 Src Dest Net Dist R1 R2 b 13 R4 a c 12 R5 e 11 R3 f 33 R2 32 C.d. R4 R1 a 13 R2 c 12 R5 d 11 C.d. R5 R2 e 11 R3 g 21 R4 d R6 h 17 R5 R2 e 11 R3 g 21 R4 d R6 h 17 O ={ R3R5R4:32} E ={R3, R6, R5, R2} © DSRG , Paweł Rzepa

103 Algorytm Dijkstry O ={R3R5R4:32, R3R5R2R4:44, R3R5R2R1:45,
b c d e f g h i (8) (13) (12) (33) (21) (17) (11) R3 R5 21 R6 8 R4 32 Src Dest Net Dist R1 R2 b 13 R4 a c 12 R5 e 11 R3 f 33 R2 32 R1 45 C.d. R2 R1 b 13 R4 c 12 R5 e 11 R3 f 33 R4 R1 a 13 R2 c 12 R5 d 11 C.d. O ={R3R5R4:32, R3R5R2R4:44, R3R5R2R1:45, R3R5R2R5:43, R3R5R2R3:65} E ={R3, R6, R5, R2} © DSRG , Paweł Rzepa

104 Algorytm Dijkstry O ={R3R5R2R4:44, R3R5R2R1:45,
b c d e f g h i (8) (13) (12) (33) (21) (17) (11) R3 R5 21 R6 8 R4 32 Src Dest Net Dist R2 32 R1 R2 b 13 R4 a R1 45 C.d. R4 R1 a 13 R2 c 12 R5 d 11 R4 R1 a 13 R2 c 12 R5 d 11 C.d. O ={R3R5R2R4:44, R3R5R2R1:45, R3R5R2R5:43, R3R5R2R3:65} E ={R3, R6, R5, R2, R4} © DSRG , Paweł Rzepa

105 Algorytm Dijkstry O ={} E ={R3, R6, R5, R2, R4, R1} R1 R2 R3 R6 R5 R4
b c d e f g h i (8) (13) (12) (33) (21) (17) (11) R3 R5 21 R6 8 R4 32 Src Dest Net Dist R2 32 R1 R2 b 13 R4 a R1 R2 b 13 R4 a R1 45 C.d. C.d. O ={} E ={R3, R6, R5, R2, R4, R1} © DSRG , Paweł Rzepa

106 Algorytm Dijkstry R1 R2 R3 R6 R5 R4 a b c d e f g h i (8) (13) (12) (33) (21) (17) (11) R3 R5 21 R6 8 R4 32 Src Dest Net Dist R2 32 R1 45 C.d. A propos zawartości tablicy — usunąłem wpisy z tablicy tylko po to, żeby było wiadomo, które już zostały przetworzone. Zostało stworzone pełne drzewo — na jego podstawie budujemy tablicę routingu Zawartość tablicy LSD nie jest usuwana! C.d. © DSRG , Paweł Rzepa

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 powiadamianie o zmianach w topologii sieci © DSRG , Paweł Rzepa

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’ jeśli istniały rozdzielone segmenty nie wystarczy wysłać informacji o podniesionym połączeniu – trzeba zsynchronizować bazy © DSRG , Paweł Rzepa

109 Protokoły stanu łącza D - C - A - B: 1,5 Mbps; 295 ms opóźnienia
D - E - B: 64 kbps; 20 ms opóźnienia Możliwość wprowadzenia wielu metryk Ścieżka D - C - A - B ma większą przepustowość, ale nie można 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 preferencje, niż D; potrzebny znacznik w pakiecie, którą strategię wybrać Kryteria wyboru ścieżki 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 A B C D E © DSRG , Paweł Rzepa

110 Protokoły stanu łącza 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) © DSRG , Paweł Rzepa

111 OSPF i organizacja sieci
Sieć Internet można traktować jako jedną całość Każdy router wymienia informacje z każdym innym Setki tysięcy systemów Obciążenie sieci Olbrzymi rozmiar tablic LSD Bardzo długi czas obliczania algorytmu Dijkstry Wprowadzenie hierarchii Systemy autonomiczne Obszary © DSRG , Paweł Rzepa

112 Systemy autonomiczne AS definiuje granice działania OSPF
ATM OSPF OSPF Token Ring AS 3 AS definiuje granice działania OSPF AS boundary router — router brzegowy znajdujący się na granicy obszaru autonomicznego AS 2 © DSRG , Paweł Rzepa

113 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 , Paweł Rzepa

114 Hierarchical OSPF © DSRG , Paweł Rzepa

115 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. © DSRG , Paweł Rzepa

116 Obszary OSPF AS może być zbyt duży Podział dowolny
Elementy obszaru muszą być połączone Wewnątrz obszaru OSPF działa normalnie Area border router — router brzegowy dla obszaru OSPF Rozgłasza summary LSA o innych obszarach Obszar 2 FR Backbone FDDI Obszar 3 Obszar 1 System autonomiczny © DSRG , Paweł Rzepa

117 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 © DSRG , Paweł Rzepa

118 Awaria backbone Tworzenie połączenia backupowego nie jest realizowane automatycznie — jest to rozwiązanie tymczasowe Obszar 2 FR Backbone FDDI Obszar 3 Obszar 1 System autonomiczny © DSRG , Paweł Rzepa

119 Obszary końcowe 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 , Paweł Rzepa

120 Inter-AS routing © DSRG , Paweł Rzepa

121 Internet inter-AS routing: BGP
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: Path (X,Z) = X,Y1,Y2,Y3,…,Z © DSRG , Paweł Rzepa

122 Internet inter-AS routing: BGP
Suppose: gateway X send its path to peer gateway W 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 © DSRG , Paweł Rzepa

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 , Paweł Rzepa

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 , Paweł Rzepa

125 Router Architecture Overview
Two key router functions: run routing algorithms/protocol (RIP, OSPF, BGP) switching datagrams from incoming to outgoing link © DSRG , Paweł Rzepa

126 Input Port Functions Decentralized switching: Physical layer:
bit-level reception 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 Data link layer: e.g., Ethernet © DSRG , Paweł Rzepa

127 Input Port Queuing 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 , Paweł Rzepa

128 Three types of switching fabrics
© DSRG , Paweł Rzepa

129 Switching Via Memory First generation routers:
packet copied by system’s (single) CPU speed limited by memory bandwidth (2 bus crossings per datagram) Input Port Output Memory System Bus Modern routers: input port processor performs lookup, copy into memory Cisco Catalyst 8500 © DSRG , Paweł Rzepa

130 Switching Via Bus 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 , Paweł Rzepa

131 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 , Paweł Rzepa

132 Output Ports Buffering required when datagrams arrive from fabric faster than the transmission rate Scheduling discipline chooses among queued datagrams for transmission © DSRG , Paweł Rzepa

133 Output port queueing buffering when arrival rate via switch exceeeds ouput line speed queueing (delay) and loss due to output port buffer overflow! © DSRG , Paweł Rzepa

134 Podsumowanie Protokoły stanu połączeń Skomplikowane
Bardziej wydajne, skalowalne Brak pętli Dobra zbieżność © DSRG , Paweł Rzepa

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 , Paweł Rzepa


Pobierz ppt "Routing dynamiczny © DSRG 2001-2003, Paweł Rzepa www.cs.agh.edu.pl."

Podobne prezentacje


Reklamy Google