1 / 41

Technologie sieciowe 2 (TS2) Wykład 3: Trasowanie a efektywność wykorzystania zasobów sieci

Technologie sieciowe 2 (TS2) Wykład 3: Trasowanie a efektywność wykorzystania zasobów sieci. dr inż. Andrzej Szwabe Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki Poznańskiej e-mail: Andrzej.Szwabe@put.poznan.pl. Plan wykładu.

saeran
Télécharger la présentation

Technologie sieciowe 2 (TS2) Wykład 3: Trasowanie a efektywność wykorzystania zasobów sieci

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Technologie sieciowe 2 (TS2) Wykład 3: Trasowanie a efektywność wykorzystania zasobów sieci dr inż. Andrzej Szwabe Instytut Automatyki i Inżynierii Informatycznej, Wydział Elektryczny Politechniki Poznańskiej e-mail: Andrzej.Szwabe@put.poznan.pl

  2. Plan wykładu • Podstawy rutingu (trasowania) • Ruting a przekazywanie pakietów IP (IPforwarding) • ClasslessInterdomainRouting (CIDR) • Systemy autonomiczne w rutingu • Routery wewnętrzne i zewnętrzne oraz ich najważniejsze protokoły • Identyfikatory ruterów, numerowane i nienumerowane połączenia • Dystrybucja informacji o trasach w sieci • Ruting wg wektorów odległości (distancevectors) • Ruting wg stanu połączeń (link state routing) • Wektory ścieżek i polityki • Algorytmy wyznaczania ścieżek: • OpenShortestPath First (OSPF), • ConstrainedShortestPath First (CSPF), • EqualCostMultipath (ECMP)

  3. Podstawy rutingu (trasowania)

  4. Ruting a przekazywanie pakietów IP (IP forwarding) • Routery dokonują wyboru trasy na podstawie informacji zapisanej w tablicy tras. • Router działa na podstawie aktualizowanej zawartości tablicy tras – w ogólności trasy się zmieniają w czasie -> poza hostami końcowymi konieczne jest trasowanie dynamiczne. • Trasowanie (ruting) dynamiczne jest złożeniem funkcji: • Pozyskiwania od innych ruterów rozproszonych danych o dostępnych trasach przekazywania pakietów („wejście danych sterujących”) • Lokalnego wyznaczania przez rutery dostępnych tras przekazywania pakietów („przetwarzanie danych sterujących -> podejmowanie decyzji”) na podstawie danych o rutingu (RIB) • Lokalnego przekazywania pakietów pomiędzy posieciami („wykonanie pracy”) na podstawie danych o przekazywaniu pakietów (FIB) • Udostępniania innym ruterom danych o dostępnych trasach przekazywania pakietów („wyjście danych sterujących”)

  5. Dane o rutingu (RIB) a dane o przekazywaniu pakietów (FIB)

  6. Bezklasowe trasowanie międzydomenowe (CIDR) • ClasslessInterdomainRouting • Środek zaradczy wobec rosnącej liczby wpisów w tablicach trasowania dla rutingu bazującego na klasach adresów IP • Agregacja tras umożliwia dalszą redukcję liczby wpisów w tablicach trasowania dzięki reprezentowaniu wielu podsieci przez pojedynczy wpis. • W przykładzie podsieci 176.19.168.16/28 176.19.168.32/28 mogą być dla potrzeb trasowania reprezentowane jako pojedyncza podsieć 176.19.168.32/27.

  7. Systemy autonomiczne w rutingu • System autonomiczny – wyodrębniona grupa integralnie zarządzanych sieci i routerów. • Routery wewnątrz systemu autonomicznego zarządzają trasami w sposób niewidoczny dla hostów spoza systemu autonomicznego • Rutery działające wewnątrz systemu to tzw. bramki wewnętrzne (interior gateways). • W obrębie systemu autonomicznego funkcjonują rutery przeznaczone do komunikacji z innymi systemami autonomicznymi • Routery odpowiedzialne za komunikację z innymi systemami autonomicznymi to tzw. bramki zewnętrzne albo brzegowe (exteriorgateways) - odpowiadają one za przekazywanie do innych systemów informacji o osiągalności sieci wewnątrz „swojego” systemu.

  8. Systemy autonomiczne w rutingu

  9. Routery wewnętrzne i zewnętrzne oraz ich najważniejsze protokoły • Do protokołów używanych do komunikacji między routerami zewnętrznymi należą BGP (BorderGatewayProtocol) i EGP (ExteriorGatewayProtocol) • Ruter zewnętrzny komunikuje się z sąsiednim routerem zewnętrznym, „ustalając” wzajemne sąsiedztwo i wymieniając informacje o ścieżkach łączących sieci. • Ruter cyklicznie weryfikuje działanie sąsiednich ruterów. • Sąsiednie rutery wymieniają komunikaty umożliwiające aktualizację tablice rutingu - komunikat zawiera listę znanych danemu routerowi sieci (łączących rutery wewnętrzne) i odległości do nich. • Do protokołów używanych do komunikacji między routerami wewnętrznymi należą RIP i OSPF • Najpowszechniej stosowanym porotokołemrutinguwg wektorów odległości (distancevectorsroutingprotocol) jest RIP (RoutingInformationProtocol) • Najpowszechniej stosowanym porotokołemrutinguwg stanu połączeń (link state routingprotocol) jest OSPF (Open SPF Protocol, nie mylić protokołu z algorytmem OpenShortestPath First!) • W sieciach typu wirelessmultihopstsosuje się podobny do OSPF protokół OLSR

  10. Identyfikatory ruterów i połączeń • Przykład prostej sieci z połączeniem wielodostępowym (multi-access link), numerowanym połączeniem dwudostępowym (numberedpoint-to-point link) i połączeniem nienumerowanym.

  11. Dystrybucja informacji o trasach w sieci

  12. Ruting według wektorów odległości (distance vector routing) • Algorytm trasowania według wektorów odległości • Router przechowuje w tablicy wszystkie znane mu routery. • Router przy starcie tworzy tablicę sieci bezpośrednio dostępnych. • Każdy wpis w tablicy zawiera informację o odległości do danej sieci. • Co jakiś czas router wysyła tablicę tras do wszystkich bezpośrednio dostępnych routerów, a one aktualizują swoje tablice tras zgodnie z uzyskaną informacją. • Podstawowa zasada działania trasowania z użyciem protokołu RIP

  13. Ruting według wektorów odległości • Ograniczona szybkość propagacji danych o trasach

  14. Ruting według wektorów odległości • Ograniczona szybkość propagacji danych o trasach

  15. Problem „liczenia w nieskończoność” • Nawet w przypadku niewielkiej sieci trasowanie według wektorów odległości może teoretycznie prowadzić do wystąpienia zjawiska „liczenia w nieskończoność”.

  16. Prosty środek zaradczy wobec „liczenia w nieskończoność” • Zastosowanie w sieci z trasowaniem według wektorów odległości progu dopuszczalnej odległości wpisu jest prostym środkiem zaradczym wobec problemu „liczenia w nieskończoność”.

  17. Ruting według stanów połączeń (link state routing) • Podstawowa zasada: trasy wyznaczane przez węzły niezależnie od siebie (w sposób rozproszony) na podstawie współdzielonych danych o połączeniach, a nie trasach. • Podstawowe funkcje trasowania według stanów połączeń: • „Odkrywanie” (discovery) sąsiednich (w sensie warstwy drugiej) ruterów • Rozgłaszanie informacji o połączeniach (Link State Advertisement, LSA) na zasadzie „powodzi” (link state flooding) • „Starzenie się” wpisów w lokalnej bazie rutera • Cykliczne ponawianie („odświeżanie”) LSA • Selektywne odświeżanie lokalnych baz danych o stanie połączeń • Wykrywanie przerwanych połączeń • Sprzętowe, na poziomie warstwy fizycznej • Na poziomie warstwy łącza danych • Na poziomie warstwy sieciowej (niepowodzenie komunikacji z użyciem protokołu Hello) • Algorytmy wyznaczania ścieżek w sieciach z trasowaniem według stanów połączeń: • Open Shortest Path First (OSPF) – algorytm Dijsktry wyznaczania najkrótszej trasy • Constrained Shortest Path First (CSPF) – dodatkowe parametry połączeń jako podstawę wykluczenia ich w procesie wyznaczania najkrótszej trasy • Equal Cost Multipath (ECMP) – umożliwia równoległe stosowanie wielu alternatywnych tras o równym koszcie (długości liczonej w węzłach pośredniczących)

  18. Ruting według stanów połączeń • Podstawowe funkcje trasowania według stanów połączeń: • „Odkrywanie” (discovery) sąsiednich (w sensie warstwy drugiej) ruterów • Rozgłaszanie informacji o połączeniach i odświeżanie lokalnych baz danych o stanie połączeń • Informowanie węzłów sąsiednich o przerwaniu połączenia

  19. Obszary w sieci z trasowaniem według stanów połączeń • Problem złożoności obliczeniowej algorytmów wyznaczania tras według stanów połączeń • Duża liczba wpisów w bazach danych o połączeniach może ograniczać szybkość działania algorytmu. • Złożoność obliczeniową algorytmu można przybliżyć funkcją liczby połączeń n jako większą od n*log(n), ale mniejszą od n^2. • Technika sprzyjająca skalowalności algorytmów wyznaczania tras według stanów połączeń – obszary sieci (areas) połączone ruterami ABR- jako jedynymi znającymi połączenia wewnątrz obszarów (niekiedy będącymi bramami zewnętrznymi).

  20. Trasowanie według wektorów ścieżek (path vector routing) • Trasowanie według wektorów ścieżek zakłada przekazywanie w komunikatach o trasach danych o całych ścieżkach, co m.in. umożliwia łatwą identyfikację pętli i zapobiega problemowi liczenia do nieskończoności. • Wadą jest znacznie większy niż w przypadku rutingu według wektorów odległości rozmiar komunikatach o trasach. • Zaletą jest umożliwienie dokonywania przez ruter wyboru trasy nie tylko w oparciu o dane o dystansie lub koszcie trasy, ale z uwzględnieniem również innych atrybutów ruterów i połączeń tworzących ścieżki • Możliwe jest podejmowanie decyzji o wyborze tras zgodnie z lokalnymi regułami, tzw. politykami (policies). • Możliwe jest uwzględnienie informacji o tym, że np. pewne połączenia są bardziej zawodne, mniej bezpieczne lub droższe. • Stosowanie zbyt uproszczonych polityk, niedopasowanych do polityk stosowanych w innych ruterach może doprowadzić do powstawania pętli.

  21. Trasowanie według wektorów ścieżek (path vector routing) • Jedna z podstawowych zasad trasowania według wektorów ścieżek: redukcja ilości danych rutingowych dystrybuowanych w sieci dzięki mechanizmowi „streszczania tras” (route summarization) – trasy są rozgłaszane jako sekwencje ścieżek.

  22. Trasowanie według wektorów ścieżek (path vector routing) • Druga podstawowa zasad trasowania według wektorów ścieżek: agregacja tras dzięki funkcji grupowania ścieżek w grupy (path sets).

  23. Współdziałanie protokołów o różnych metodach trasowania • Niezależność technologiczna systemów autonomicznych

  24. Współdziałanie protokołów o różnych metodach trasowania • Rola ruterów ASBR (Autonomous System Border Router) – ruterów realizujących zarówno funkcje protokołów IGP jak i EGP.

  25. Porównanie najważniejszych metod trasowania • ...

  26. Algorytmy wyznaczania ścieżek: OSPF, CSPF, ECMP

  27. Algorytm wyznaczania ścieżek Open Shortest Path First • s - wierzchołek źródłowy, w(i,j) - waga krawędzi (i,j) w grafie • d - tablica odległości od źródła dla wszystkich wierzchołków grafu • Algorytm Dijkstry - znajdowanie najkrótszej ścieżki z pojedynczego źródła w grafie o nieujemnych wagach krawędzi: Dijkstra(G,w,s): dla każdego wierzchołka v w V[G] wykonaj d[v] := nieskończoność poprzednik[v] := niezdefiniowane d[s] := 0 Q := V dopóki Q niepuste wykonaj u := Zdejmij_Min(Q) dla każdego wierzchołka v – sąsiada u wykonaj jeżeli d[v] > d[u] + w(u, v) to d[v] := d[u] + w(u, v) poprzednik[v] := u • Złożoność algorytmu Dijkstry: , N – liczba węzłów, l – liczba połączeń

  28. Algorytm Dijkstry (1) • Algorytm ma na celu odnalezienie najkrótszej drogi (w sensie sumy kosztów trasy) z a do każdego z pozostałych węzłów. • Wartości kosztu połączeń niekoniecznie są symetryczne.

  29. Algorytm Dijkstry (2) • Czerwone strzałki wskazują drogę do węzłów osiągalnych z jedynego węzła o już ustalonej finalnie odległości (startowego, zaznaczonego na niebiesko). • Odległość do d jest najmniejszą możliwą ponieważ każda inna trasa przez węzły zaznaczone na czerwono („w trakcie sprawdzania”) będzie większa -> wezeł d uznaje się za „ostatecznie sprawdzony” i zaznacza kolorem pomarańczowym.

  30. Algorytm Dijkstry (3) • Czerwone strzałki wskazują drogę do węzłów osiągalnych z węzłów o już ustalonej finalnie odległości (pomarańczowych). • Spośród węzłów o tymczasowo określonej odległości (b=4, e=33, g=23) tym o najmniejszej odległości jest węzeł b (b=4) – każda inna ścieżka do węzła b niż ta odpowiadająca odległości 4 musi prowadzić przez jeden z pozostałych węzłów o tymczasowo określonej odległości, a więc jest dłuższa niż 4. • Węzeł b zostanie zaznaczony na pomarańczowo jako węzeł o już ustalonej finalnie odległości (odległość od a do b zostaje uznana za równą 4)

  31. Algorytm Dijkstry (4) • Odległości wynoszą aktualnie: c=6, e=16, g=23. • Uwaga: tymczasowa „estymata” odległości od węzła a do węzła e uległa zmianie. • Węzeł c ma najmniejszą odległość od węzła a, a więc wartość 6 uznaje się za ostatecznie wyznaczoną odległość od węzła a do węzła c.

  32. Algorytm Dijkstry (5) • Odległości wynoszą aktualnie: e=16, f=80, g=23, j=18. • Węzeł e ma najmniejszą odległość od węzła a i nie jest wskazywany przez żadną inną czerwoną strzałkę. • Wartość 16 uznaje się za ostatecznie wyznaczoną odległość od węzła a do węzła e.

  33. Algorytm Dijkstry (6) • Odległości wynoszą aktualnie: f=80, g=23, h=49, j=18. • Węzeł j ma najmniejszą odległość od węzła a - każda inna ścieżka do węzła j niż ta odpowiadająca odległości 18 musi prowadzić przez jeden z pozostałych węzłów o tymczasowo określonej odległości, a więc jest dłuższa niż 18. • Wartość 18 uznaje się za ostatecznie wyznaczoną odległość od węzła a do węzła j.

  34. Algorytm Dijkstry (7) • Odległości wynoszą aktualnie: f=26, g=23, h=49. • Uwaga: tymczasowa „estymata” odległości od węzła a do węzła f uległa zmianie. • Węzeł g ma najmniejszą odległość od węzła a - każda inna ścieżka do węzła g niż ta odpowiadająca odległości 23 musi prowadzić przez jeden z pozostałych węzłów o tymczasowo określonej odległości, a więc jest dłuższa niż 23. • Wartość 23 uznaje się za ostatecznie wyznaczoną odległość od węzła a do węzła g.

  35. Algorytm Dijkstry (8) • Odległości wynoszą aktualnie: f=26, h=49. • Węzeł f ma najmniejszą odległość od węzła a - każda inna ścieżka do węzła f niż ta odpowiadająca odległości 26 musi prowadzić przez jeden z pozostałych węzłów o tymczasowo określonej odległości, a więc jest dłuższa niż 26. • Wartość 26 uznaje się za ostatecznie wyznaczoną odległość od węzła a do węzła f.

  36. Algorytm Dijkstry (9) • Odległości wynoszą aktualnie: h=33, i=37. • Węzeł h ma najmniejszą odległość od węzła a - każda inna ścieżka do węzła g niż ta odpowiadająca odległości 33 musi prowadzić przez jeden z pozostałych węzłów o tymczasowo określonej odległości, a więc jest dłuższa niż 33. • Wartość 33 uznaje się za ostatecznie wyznaczoną odległość od węzła a do węzła h.

  37. Algorytm Dijkstry (10) • Odległość węzła i od węzła a równa jest 37. • Węzeł i nie jest wskazywany przez żadną alternatywną czerwoną strzałkę. • Wartość 37 uznaje się za ostatecznie wyznaczoną odległość od węzła a do węzła i.

  38. Algorytm Dijkstry (11) • Algorytm zakończył działanie – pomarańczowe strzałki wskazują trasy o najmniejszych odległościach od węzła a, a wartości odległości podane są jako liczby opisujące węzły.

  39. Algorytmy wyznaczania ścieżek CSPF i ECMP • Constrained Shortest Path First (CSPF) – dodatkowe parametry połączeń jako podstawę wykluczenia ich w procesie wyznaczania najkrótszej trasy • Equal Cost Multipath (ECMP) – umożliwia równoległe stosowanie wielu alternatywnych tras o równym koszcie (długości liczonej w węzłach pośredniczących)

  40. Wybrane pozycje literaturowe • The Internet And ItsProtocols, A ComparativeApproach, Adrain Farrel, Morgan Kaufmann, Elsevier, San Francisco, 2004 • Sieci komputerowe i intersieci, D. E. Comer, WNT, Warszawa 2001 • Computer Networks, A. Tanenbaum, Prentice-Hall, 1996 • http://www.dgp.toronto.edu/people/JamesStewart/270/9798s/Laffra/DijkstraApplet.html • A. Szwabe, DANUMS: The First Delay-AwareUtilityMaximization System for Wireless Networks, In Procs. of 2009 NEM Summit, September 2009, Saint-Malo, France, ss. 59-64 • A. Szwabe, P. Misiorek, Integration of multi-pathOptimized Link State ProtocolwithMax-WeightScheduling, In Proc. of 2009 International Conference on Information and Multimedia Technology (ICIMT 2009), Jeju Island, South Korea, December 2009, ss. 458-462. • Zalecane samodzielne wyszukiwanie informacji w specyfikacjach (np. RFC) i publikacjach naukowych dostępnych w Internecie (potencjalny temat konsultacji)

  41. Dziękuję za uwagę. Proszę o pytania.

More Related