DLACZEGO QoS ROUTING Reakcja na powstawanie usług multimedialnych: VoIP (Voice over IP) Wideo na żądanie Telekonferencja Potrzeba zapewnienia gwarancji transmisji przy zachowaniu odpowiedniego poziomu parametrów Kontrola wykorzystania i przydziału zasobów sieciowych Sieć zorientowana aplikacyjnie
PROBLEM DOBORU ALGORYTMU Problem wyboru trasy dla określonego poziomu QoS: Dwa podejścia : Unicast : nadawca - odbiorca Multicast : nadawca grupa odbiorców Jak dobrać trasę routingu, aby zapewnić na całej jej długości parametry Quality of Service?
ARCHITEKTURY QoS GWARANTOWANIE QoS Konwencjonalny routing best-effort Architektury specjalizowane Routing QoS Unicast Multicast IntServ MPLS DiffServ
KONCEPCJA ROUTINGU QoS - RFC2386 Dynamiczne zestawianie ścieżek o wymaganych parametrach QoS Optymalizacja wykorzystania zasobów sieciowych Uzyskanie korzystnego rozkładu wydajności transmisji Klasy algorytmów routingu Routing źródłowy - ścieżki wyliczane przez węzeł źródłowy Routing rozproszony ścieżki wyliczane przez każdy router Routing hierarchiczny węzły tworzą logiczne grupy na kilku poziomach hierarchii
METODY WYLICZANIA I WYBORU TRAS Pre-Computation Ścieżki wyliczane okresowo Potrzeba utrzymywania rozbudowanych tablic routingu Wymagania QoS grupowane w klasy Tolerancyjny wobec awarii i zmian topologii sieci trasy alternatywne Wydajny przy dużym natężeniu ruchu Duża złożoność Niska jakość wyboru ścieżki
METODY WYLICZANIA I WYBORU TRAS - CD On-Demand Ścieżki wyliczane w przypadku nadejścia żądania routingu Prostota i szybkość działania Możliwość przechowania wyliczonych ścieżek Niedostateczna obsługa przeciążeń Mała skalowalność
PROTOKÓŁ QoSPF - RFC2676 Rozszerzenie protokołu OSPF Korzysta z algorytmu Link State Należy do klasy algorytmów routingu rozproszonego Wylicza najkrótszą ścieżkę spełniającą wymagania przepustowości Koszt ścieżki obliczany na podstawie przepustowości i liczby hopów
DZIAŁANIE QoSPF Agregacja ruchu Monitor kolejki CBQ+WRR - 4 Mbit/s - 0.5 Mbit/s - 6 Mbit/s - 1.5 Mbit/s
DZIAŁANIE QoSPF - CD Zróżnicowanie tras pod względem długości oraz parametrów łącza Generowany ruch UDP w schemacie CBR Stałe opóźnienie na łączach 10ms Na każdym węźle monitor kolejki routera
METODY WYMIANY INFORMACJI W SIECIACH PAKIETOWYCH Unicast jeden nadawca i jeden odbiorca Broadcast jeden nadawca przesyła do wszystkich Multicast jeden nadawca i wielu (podzbiór wszystkich) odbiorców
TRANSMISJA MULTICASTINGOWA Adres multicastingowy nie identyfikuje ani konkretnej maszyny, ani też konkretnej podsieci i nie ma bezpośredniego związku z adresami IP innych klas identyfikujących dany komputer. Pula adresów IP dla multicastingu: 224.0.0.0 do 239.255.255.255 Uwaga: adres 224.0.0.0.0 jest zabroniony adres 224.0.0.1 określa grupę wszystkich maszyn korzystających z multicastingu w Internecie (ang. all host group). B C D F R 2 A R 1 E G D a t a g r a m m u l t i c a s t i n g o w y A d r e s I P = 1 1 1 0 + g r u p a m u l t i c a s t i n g u
GRUPY MULTICASTOWE grupę tworzą węzły posiadające identyczny tzw. adres grupowy IP (ang. IP multicast address) węzły tworzące grupę mogą znajdować się w różnych sieciach IP (tzn. mieć adresy unicastw różnych sieciach IP) Uwaga nadawca pakietu multicast nie musi być członkiem grupy
ADRESY KLASY D 1110 adres grupy multicast Zestaw hostów nasłuchujących nadejścia datagramu, wysyłanego pod danym adresem grupy multicast, nazywany jest grupą hostów. Grupa hostów może obejmować wiele sieci. Członkowie tej grupy są przydzielani dynamicznie host może przyłączyć się do grupy i ją opuścić, kiedy zechce. Nie ma żadnych ograniczeń liczby hostów w grupie, a hosty nie musza wysyłać komunikatów do grupy, aby do niej należeć. Niektóre grupy adresów multicast zatwierdzone są jako dobrze znane adresy i są nazywane stałymi grupami hostów. Obowiązuje przy tym zasada, że stały jest adres grupy multicast a nie jej członkowie, którzy mogą się dynamicznie zmieniać.
MULTICAST LOKALNY v RUTOWALNY Multicast lokalny (ang.link local multicast) gdy wszystkie węzły są w jednej sieci lokalnej Multicast rutowany(ang.routed multicast) gdy węzły tworzące grupę znajdują się w różnych sieciach lokalnych
ADRESY MULTICAST IP ORAZ MAC by warstwa 2 mogła rozpoznać ramki z pakietami multicast, muszą istnieć adresy grupowe MAC warstwa 2 automatycznie generuje adres grupowy MAC na podstawie adresu grupowego IP przełączniki przekazują ramki z adresami grupowymi MAC na wiele portów (mniej zaawansowane przełączniki rozgłaszają) stały prefiks 01-00-5E w adresie MAC oznacza adres grupowy bit 24 adresu MAC jest zawsze równy 0 pozostałe 23 bity są kopiowane z mniej znaczącej części adresu IP
ADRESY MULTICAST IP ORAZ MAC - CD Przekształcenie gubi informację o pięciu bitach adresu IP (XXXXXna rysunku) Przykład bez utraty informacji: IP 224.20.8.6 => MAC 01-00-5E-14-08-06 Przykład z utratą informacji: adresy z zakresu 224.0.0.1, 225.0.0.1, 226.0.0.1,..., 239.0.0.1 wszystkie odwzorowane są do adresu MAC 01-00-5E-00-00-01 Wniosek: dopiero warstwa 3 potrafi ostatecznie stwierdzić, czy pakiet trafił pod właściwy adres
PRÓG TTL interfejsowi rutera przypisywana jest stała wartość, którą ruter porównuje z wartością TTL w pakiecie;wartość ta nosi nazwę progu TTL (ang. TTLthreshold) pakiet zostanie przeniesiony przez wejściowy interfejs rutera, jeśli TTL w pakiecie jest większy niż próg TTL tego interfejsu mechanizm ten ogranicza zasięg pakietów multicast przy wyjściu z rutera parametr TTL w pakiecie multicast jest zmniejszany o 1, jak w każdym pakiecie IP Standardowe wartości TTL: 0 ograniczenie do maszyny; pakiet nie zostanie wysłany przez żaden interfejs 1 ograniczenie do sieci LAN; pakiet nie zostanie przeniesiony przezruter < 32 ograniczenie do jednej organizacji < 128 ograniczenie do jednego kontynentu < 255 zasięg nieograniczony, globalny
PROTOKÓŁ IGMP Protokół IGMP (ang. Internet Group Managment Protocol) przesyła swoje komunikaty za pośrednictwem oddzielnych datagramów IP (podobnie jak ICMP) datagram IP 20 bajtów 8 bajtów nagłówek IP Komunikat IGMP Format komunikatu IGMP Słowo 32 bitowe 4 bity 4 bity bajt Słowo 16 bitowe Wersja typ nieużywany suma kontrolna adres 32 bitowy klasy D Wartość 1 gdy dotyczą zapytania przez router multicast Wartość 2 gdy dotyczy odpowiedzi przesyłanej przez host Group Address - zawiera adres grupy będący dla hosta potwierdzeniem jego członkostwa w tej grupie.
Znaczniki (ang. Flags): Wskazują znaczniki ustawione w adresie grupowym. Wielkość tego segmentu wynosi 4 bity. Zgodnie z RFC 2373, jedynym zdefiniowanym znacznikiem jest Transient (T). Ustawiony na 0, znacznik T sygnalizuje iż adres grupowy jest na stałe przypisanym (dobrze znany) adresem grupowym ustalonym przez IANA. Ustawiony na 1, wskazuje tymczasowość przydzielonego adresu grupowego. ADRESY MULTICASTOWE W IPv6
ZASIĘG ADRESÓW MULTICAST IPv6 W celu identyfikacji węzłów dla zakresów node-local i link-local, zdefiniowano następujące adresy: FF01::1 (wszystkie węzły z zakresu node-local) FF02::1 (wszystkie węzły z zakresu link-local) W celu identyfikacji wszystkich routerów dla zakresów node-local, link-local, oraz site-local zdefiniowano następujące adresy: FF01::2 (wszystkie routery z zakresu node-local) FF02::2 (wszystkie routery z zakresu link-local) FF05::2 (wszystkie routery z zakresu site-local)
QoS W RUCHU MULTICASTOWYM Problem budowy drzewa multicast (SPR, MPR) Mechanizmy join/leave Wykorzystanie multicast w architekturze DiffServ SPR Single Path Routing właściwy dla ruchu best-effort (CBT, PIM) Buduje drzewa z jedną trasą do danego odbiorcy Znajduje najkrótszą trasę do routera źródłowego Niskie nakłady obliczeniowe MPR -Multiple Path Routing (Spanning-joins, QoSMIC) Buduje drzewa z wieloma ścieżkami do źródła Względnie wysokie nakłady obliczeniowe
MULTICASTING W ARCHITEKTURZE INTSERV ORAZ DIFFSERV Problemy generalne: Multicast routing bazuje na informacji o stanie grupy multicast na każdym węźle DiffServ nie posiada informacji o zasobach sieci Multicast routing zorientowany na odbiorcę a DiffServ zorientowany na nadawcę Współpraca RSVP z routingiem multicastowym Problem NRS Neglected Reserved Sub-tree Przekroczenie negocjowanego SLA Wymagania ruchu wychodzącego z domeny przekraczają wymagania związane z ruchem wchodzącym problem braku alokacji zasobów