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