• Nie Znaleziono Wyników

DANYCH PRZEŁĄCZANIE W WARSTWIE ŁĄCZA

N/A
N/A
Protected

Academic year: 2021

Share "DANYCH PRZEŁĄCZANIE W WARSTWIE ŁĄCZA"

Copied!
71
0
0

Pełen tekst

(1)

PRZEŁĄCZANIE W

WARSTWIE ŁĄCZA

DANYCH

(2)

Mosty i przełączniki

• Można łączyć różne sieci LAN i w ten sposób budować większą sieć lokalną za pomocą połączeń

międzysieciowych realizowanych przez urządzenia zwane mostami (ang. bridge).

• Przełączniki ethernetowe są w zasadzie nowoczesną odmianą mostów.

• Mosty działają w warstwie łącza danych, więc w celu skutecznego przekazywania ramek pomiędzy sieciami dokonują analizy adresów tej warstwy. Ponieważ z

założenia nie mają sprawdzać ładunku użytecznego przekazywanych ramek, mogą z powodzeniem

obsługiwać pakiety IP, jak i pakiety dowolnych innych rodzajów.

(3)

Zastosowania mostów

• Potrzeba interakcji autonomicznych sieci.

• Podział sieci lokalnej i zainstalowanie mostów

łączących wyodrębnione części – sposób skutecznie zwielokrotnić zasięg takiej sieci.

• Radzenie z obciążeniem. Mosty pozwalają na łatwe łączenie sieci LAN przy zachowaniu ich sumarycznej pojemności.

• Zastosowanie mostów zwiększa też niezawodność

przesyłu danych, ponieważ w pojedynczej sieci LAN

jeden uszkodzony węzeł może zatkać ją całą.

(4)

Mosty przezroczyste

• Instalacja przezroczystego mostu sprowadza się do podłączenia kabli do portów. Obecność mostu nie powinna w żaden sposób wpływać na działanie pojedynczej sieci LAN.

• Wykorzystuje się do tego dwa algorytmy (802.1D):

• algorytm poznawania wstecz (nauki przez pamięć), pomocny w decydowaniu o przekazywaniu albo

nieprzekazywaniu danej ramki pomiędzy sieciami

• algorytm drzewa rozpinającego pozwalający na przerywanie ewentualnych cykli powstających przy niektórych bardziej zawiłych połączeniach pomiędzy przełącznikami sieciowymi

(5)

Podstawy działania mostów

• Wszystkie stacje podłączone do tego samego portu mostu należą do tej samej niezależnej domeny

kolizyjnej. W przypadku gdy do portu podłączona jest więcej niż jedna stacja, do rozsyłania ramek

wykorzystuje się protokół rywalizacji CSMA/CD.

• Do pojedynczego mostu można zazwyczaj podłączać kable sieciowe różnego typu.

(6)

Podstawy działania mostów

• Każdy z mostów operuje w trybie nasłuchu: odbiera

wszystkie ramki transmitowane przez podłączone stacje niezależnie od tego, do kogo są adresowane.

• Most musi następnie zdecydować, czy ma daną ramkę przekazać na któryś z pozostałych portów, czy może ją odrzucić. Decyzję tę podejmuje na podstawie adresu przeznaczenia zaszytego w ramce.

• Decyzję tego rodzaju najprościej jest podjąć na

podstawie dużej tablicy przemieszczania utrzymywanej w pamięci mostu.

• Tablica ta powinna wymieniać wszystkie możliwe adresy docelowe z oznaczeniem portów, do których podłączone są stacje o danych adresach.

(7)

Algorytm poznawania wstecz (backward learning)

• W chwili podłączenia mostów wszystkie tablice przemieszczania są puste.

• Most używa algorytmu rozpływowego – każda ramka przychodząca przeznaczona dla nieznanego odbiorcy jest wysyłana do wszystkich portów, do których most jest

podłączony, z wyjątkiem tego, z którego ramka przyszła.

• Most działa w trybie nasłuchu, więc widzi każdą ramkę wysianą do każdego ze swoich portów.

• Sprawdzając adresy źródłowe, może określić, które komputery są dostępne na których portach.

• Wprowadzi więc odpowiednie adresy do swojej tablicy przemieszczania.

• Gdy adres jest już znany, ramki przeznaczone dla niego zostają po prostu wysłane do właściwego portu.

(8)

Aktualizacja tablicy przemieszczania

• Topologia może się zmieniać, dlatego most przy dokonywaniu każdego wpisu w tablicy

przemieszczania notuje godzinę dotarcia ramki.

• Za każdym razem, gdy do mostu dociera ramka mająca już wpis w tablicy, wpis ten jest

aktualizowany przez wprowadzenie bieżącego czasu.

• Okresowo proces w moście przegląda tablicę

przemieszczania i usuwa wszystkie wpisy mające

więcej niż kilka minut.

(9)

Procedura routingu ramek

• Procedura routingu przychodzących ramek jest zależna od portu źródłowego, i od adresu

docelowego:

1. Jeśli port dla adresu docelowego jest taki sam jak port źródłowy, ramka jest odrzucana.

2. Jeśli port dla adresu docelowego i port dla adresu źródłowego są różne, ramka jest przekazywana do portu docelowego.

3. Jeśli port docelowy jest nieznany, ramka jest wysyłana rozpływowo do wszystkich portów z wyjątkiem

źródłowego.

(10)

Przełączanie w locie

• W miarę napływania kolejnych ramek dla każdej z nich trzeba zastosować opisany algorytm; zazwyczaj

implementuje się go w postaci specjalizowanych układów wysokiej skali integracji (VLSI).

• Przekazywanie może zostać zainicjowane natychmiast po odebraniu pola adresu przeznaczenia z nagłówka ramki, jeszcze przed nadejściem jej reszty. Takie

przekazywanie nosi miano przełączania w locie (cut- through switching, wormhole routing) i zwykle

implementuje się je sprzętowo na szybkich układach specjalizowanych. Dzięki temu opóźnienia

przekazywania ramek przez most są minimalne i minimalna jest liczba ramek, którą most musi buforować w pamięci.

(11)

Protokoły uczestniczące w pracy mostu

• Most jest urządzeniem warstwy łącza danych. Most o k portach implementuje k egzemplarzy warstw MAC i fizycznej.

• Zasadniczo przekaźniki operujące na danej warstwie mogą przepisywać zawartość nagłówków dotyczących tej warstwy (np. VLAN). Most jednak w żadnym

przypadku nie powinien ingerować (ani nawet zaglądać) w dane wewnątrz ramki.

(12)

Drzewa częściowe mostów

• Aby zwiększyć niezawodność, pomiędzy mostami można zestawić połączenia nadmiarowe.

• Niemniej jednak taka nadmiarowość wprowadza

dodatkowy problem, ponieważ tworzy pętlę w

topologii sieci.

(13)

Drzewa częściowe mostów

• Rozwiązanie tego problemu polega na

komunikowaniu się mostów ze sobą i nałożeniu na faktyczną topologię drzewa częściowego.

• W wyniku tego pewne potencjalne połączenia

pomiędzy mostami są ignorowane.

(14)

Algorytm drzewa częściowego

• Do budowy drzewa częściowego stosuje się w mostach rozproszony algorytm, w ramach którego każdy z

mostów okresowo rozgłasza na wszystkie swoje porty komunikat konfiguracji, a następnie przetwarza

wszystkie odebrane komunikaty od innych mostów.

• Najpierw mosty muszą wybrać spośród siebie jeden most główny (root bridge) albo korzeń drzewa

częściowego. Mosty wybierają na most główny most o najmniejszym identyfikatorze (adresie fizycznym MAC).

• Następny etap polega na wybraniu najkrótszych ścieżek od mostu głównego do wszystkich innych mostów. Jako ścieżka najkrótsza wybierana jest ścieżka z mostem

pośrednim o najmniejszym identyfikatorze.

(15)

Algorytm drzewa częściowego (2)

• Wytypowanie najkrótszych ścieżek odbywa się poprzez umieszczanie w komunikatach konfiguracji odległości od mostu głównego. Każdy z mostów zapamiętuje najkrótszą ścieżkę do mostu głównego, a następnie wyłącza porty, które nie wchodzą w jej skład.

• Wyłączanie portów w ramach typowania najkrótszej ścieżki powoduje odcięcie niektórych połączeń i tym samym

wyeliminowanie potencjalnych cykli.

• Po rozplanowaniu drzewa częściowego algorytm jest

okresowo powtarzany, dzięki czemu mosty mogą reagować na zmiany topologii i automatycznie aktualizować drzewo.

• Algorytm drzewa częściowego został ustandaryzowany jako IEEE 802.1D. W roku 2001 został przerobiony, aby szybciej wyszukiwał drzewo częściowe po zmianie topologii sieci.

(16)

Wzmacniaki, koncentratory, mosty, przełączniki, routery i bramy

• Wzmacniaki to urządzenia analogowe operujące na sygnałach

przesyłanych kablami. Sygnał odebrany z jednego kabla jest oczyszczany, wzmacniany i propagowany do drugiego kabla.

• Koncentratory różnią się od wzmacniaków tym, że (zazwyczaj) nie wzmacniają przychodzących sygnałów i są skonstruowane tak, aby obsługiwały wiele linii wejściowych.

• Współczesne mosty działają zazwyczaj dla sieci jednego typu, a do łączenia sieci różnych typów używa się routerów.

• Brama w warstwie transportowej może kopiować pakiety z jednego połączenia do drugiego, w razie potrzeby zmieniając ich format.

• Bramy w warstwie aplikacji rozumieją format i zawartość danych i tłumaczą komunikaty z jednego formatu na drugi.

(17)

Wirtualne sieci LAN

• Schemat okablowania pozwala na logiczne, a nie tylko fizyczne konfigurowanie sieci lokalnej

• Bezpieczeństwo

• Obciążenie sieci – niektóre sieci LAN są wykorzystywane bardziej intensywnie od innych i warto je odseparować

• Ruch rozgłoszeniowy – utrzymywanie ograniczonych rozmiarów sieci LAN pozwala więc na zredukowanie obciążenia ruchem rozgłoszeniowym

• „Burza transmisyjna” (broadcast storm) – (1) zajęcie całej zdolności przepustowej LAN przez te ramki i (2) sparaliżowanie wszystkich komputerów w połączonych ze sobą sieciach przez przetwarzanie i odrzucanie

wszystkich rozgłaszanych ramek.

(18)

Wirtualne sieci LAN

• Wirtualna sieć lokalna (VLAN – Virtual LAN), jest sposobem całkowicie programowych zmian

„okablowania”.

• Wirtualne sieci lokalne buduje się z użyciem odpowiednich przełączników.

• Aby wirtualna sieć lokalna mogła działać prawidłowo, należy zdefiniować tablice konfiguracyjne w mostach.

Tablice te informują, które VLAN są dostępne przez

które porty. Port może być oznaczony kilkoma kolorami VLAN.

(19)

Standard IEEE 802.1Q

• Dla skutecznego działania mosty muszą wiedzieć, do jakiej wirtualnej sieci LAN należy przychodząca ramka.

• IEEE 802.1Q – wydany w roku 1998, zmienił nagłówek Ethernetu: zawiera znacznik VLAN.

• Nowe karty Ethernet są zgodne z 802.1Q i potrafią prawidłowo wypełniać pola VLAN.

• Standard 802.1Q podnosi ograniczenie rozmiaru ramki do 1522 bajtów.

• Standard 802.1Q opisuje, jak dynamicznie tworzyć tablice konfiguracyjne, głównie odwołując się do odpowiednich fragmentów standardu 802.1D.

(20)

Sieć lokalna tylko częściowo obsługująca VLAN-y

• Potencjalna obecność w sieci komputerów (i

przełączników) nieobsługujących sieci wirtualnych wymusza to, że pierwszy most obsługujący sieci

VLAN powinien wypełnić pola VLAN ramki, a ostatni

obsługujący je most powinien te pola usunąć.

(21)

Metody nadawania kolorów VLAN

• Standard 802.1Q mówi, że ramki koloruje się zależnie od portu, z którego są odbierane. Żeby to działało, wszystkie komputery podłączone do danego portu

muszą wchodzić w skład tej samej wirtualnej sieci LAN.

• Dodatkowo most może wybierać kolor za pomocą protokołu wyższej warstwy. W ten sposób ramki przybywające do danego portu mogą być

rozmieszczane w różnych wirtualnych sieciach lokalnych na przykład zależnie od tego, czy niosą pakiety IP, czy ramki PPP.

• Możliwe są też inne metody nadawania kolorów, ale nie wchodzą one w skład 802.1Q. Np. do wyboru koloru

sieci VLAN może posłużyć adres MAC przybywającej ramki.

(22)

Format ramki 802.1Q

Ramka ethernetowa Preambuła

(8 bajtów)

MAC docelowy (6 bajtów)

MAC źródłowy (6 bajtów)

EtherType (2 bajty)

Pole danych (46-1500 bajtów)

CRC (4 bajty) Ramka ethernetowa oznaczona 802.1Q

Preambuła (8 bajtów)

MAC docelowy (6 bajtów)

MAC źródłowy (6 bajtów)

TPID 0x8100

TCI (2 bajty)

EtherType (2 bajty)

Pole danych (46-1500 bajtów)

CRC (4 bajty)

• TPID (Tag Protocol Identyfier) – zawiera ID protokołu VLAN i zawsze ma wartość 0x8100

• TCI (Tag Protocol Information):

• Identyfikator VLAN – 12 najmłodszych bitów.

• Priorytet – priorytetyzacja (3 bity)

• CFI (Canonical Format Indicator) – kanoniczny identyfikator formatu (adresu)

(23)

WARSTWA SIECIOWA

(24)

PROBLEMY PROJEKTOWE

WARSTWY SIECIOWEJ

(25)

Zadanie warstwy sieciowej

• Zadaniem warstwy sieciowej jest przenoszenie

pakietów na całej trasie od źródła do celu. Warstwa łącza danych – przeniesienie ramki z jednego końca kabla na drugi.

• Warstwa sieciowa musi znać topologię sieci i wybierać odpowiednią trasę poprzez tę sieć, niezależnie od jej rozmiarów. Musi też tak wybierać trasy, aby unikać przeciążania części linii komunikacyjnych i routerów.

• Problemy projektowe warstwy sieciowej – usługi

udostępniane warstwie transportowej i wewnętrzna struktura sieci.

(26)

Komutacja pakietów z buforowaniem

• Host, który ma pakiet do przesłania, nadaje go do najbliższego routera: albo we własnej sieci lokalnej, albo przez łącze dwupunktowe do operatora.

• Pakiet jest tu przechowywany, dopóki nie dotrze w

całości, aby można było zweryfikować sumę kontrolną.

• Następnie zostaje przekazany dalej do następnego routera na trasie – i tak dalej aż do hosta docelowego

• Jest to komutacja pakietów z buforowaniem (inaczej pamiętająco-wysyłająca).

(27)

Usługi świadczone na rzecz warstwy transportowej

1. Usługi powinny być niezależne od technologii routerów.

2. Warstwa transportowa powinna być izolowana od liczby, typu i topologii obecnych routerów.

3. Adresy sieciowe udostępniane warstwie

transportowej powinny stosować jednolity plan numerowania, nawet na różnych końcach sieci lokalnych i rozległych.

• Dyskusja toczy się wokół kwestii, czy warstwa sieciowa powinna świadczyć usługi połączeniowe, czy

bezpołączeniowe.

(28)

Usługi połączeniowe, czy bezpołączeniowe?

• Społeczność Internetu – zadaniem routerów jest

przenoszenie pakietów i nic więcej. Sieć jest z natury zawodna, hosty powinny same zajmować się kontrolą błędów oraz sterowaniem przepływem.

• Usługa sieciowa powinna być bezpołączeniowa, zawierać tylko operacje elementarne wysyłania i odbioru pakietu.

• Przede wszystkim nie powinno się w niej odbywać porządkowanie pakietów i sterowanie przepływem, ponieważ hosty i tak się tym zajmują.

• Każdy pakiet musi zawierać pełny adres docelowy, ponieważ jest przenoszony niezależnie od swoich ewentualnych poprzedników.

(29)

Usługi połączeniowe, czy bezpołączeniowe?

• Firmy telefoniczne – sieć powinna świadczyć niezawodne usługi połączeniowe, jakość usług jest czynnikiem

dominującym, a bez połączeń w sieci bardzo trudno ją osiągnąć, zwłaszcza w ruchu w czasie rzeczywistym (glos, wideo).

• Wczesne powszechnie stosowane siecie komputerowy, jak X.25 (w latach 70.), a potem Frame Relay (w 80.) –

połączenia.

• Od początku Internetu – bezpołączeniowe warstwy sieciowe (protokół IP). Za to sieć internetowa obrasta w mechanizmy typowe dla sieci połączeniowych, przede wszystkim – jakości obsługi QoS.

• Przykładami popularnych technologii połączeniowych mogą być natomiast MPLS (Multiprotocol Label Switching) oraz VLAN.

(30)

Usługi połączeniowe, czy bezpołączeniowe?

• Usługa bezpołączeniowa – pakiety są wprowadzane do sieci indywidualnie i kierowane niezależnie od siebie.

• Nie ma potrzeby uprzedniej konfiguracji połączenia.

• W tym kontekście pakiety często nazywa się

datagramami, a sieć nosi nazwę sieci datagramowej.

• Usługa połączeniowa – przed wysłaniem jakichkolwiek pakietów musi zostać zestawiona trasa z routera

źródłowego do docelowego.

• Połączenie takie to tzw. obwód wirtualny (VC – virtual circuit), a sieć nosi nazwę sieci obwodów wirtualnych.

(31)

Routing w sieci datagramowej

• Każdy router ma wewnętrzną tablicę informującą, gdzie wysyłać pakiety dla każdego możliwego odbiorcy.

• Algorytm zarządzający tablicami i podejmujący decyzje o wyborze tras nosi nazwę algorytmu routingu lub

algorytmu wyznaczania tras. Algorytmy routingu są jednym z głównych tematów warstwy sieciowej.

(32)

Routing w podsieci obwodów wirtualnych

• Obwody wirtualne są używane, aby unikać wybierania nowej trasy dla każdego wysyłanego pakietu.

• W usłudze połączeniowej każdy pakiet zawiera identyfikator obwodu wirtualnego.

(33)

Przełączanie etykiet

• Aby unikać konfliktów routery muszą zastępować

identyfikatory połączenia w pakietach wychodzących.

• W niektórych kontekstach działanie takie nosi nazwę

„etykietowanie” lub „przełączanie etykiet”.

• Przykładem takiej połączeniowej usługi sieciowej jest MPLS (ang. MultiProtocol Label Switching). Używa się jej w sieciach operatorów ISP do przesyłania pakietów IP opakowanych w nagłówek MPLS w celu ułatwiania nawiązywania długotrwałych połączeń dla wzajemnej wymiany dużej ilości danych.

(34)

Porównanie sieci obwodów wirtualnych i datagramowych

Problem Sieć datagramowa Sieć obwodów wirtualnych

Zestawianie obwodu Niepotrzebne Wymagane

Adresowanie Każdy pakiet zawiera pełny adres

źródłowy i docelowy Każdy pakiet zawiera krótki numer VC Informacje o stanie Routery nie pamiętają danych stanu

połączeń

Każdy VC wymaga w tablicach

routerów miejsca na każde połączenie Routing Każdy pakiet jest kierowany niezależnie Trasa wybierana przy zestawianiu VC;

podążają nią wszystkie pakiety Skutki problemów z

routerem

Żadne poza pakietami utraconymi w chwili awarii

Wszystkie VC przechodzące przez ten router zostają zerwane

Zapewnienie jakości

usług Trudne Łatwe, jeśli dla każdego VC można z

góry przydzielić wystarczające zasoby Kontrola przeciążeń Trudna Łatwa, jeśli dla każdego VC można z

góry przydzielić wystarczające zasoby

(35)

ALGORYTMY ROUTINGU

(36)

Algorytmy routingu

• W większości sieci pakiety do ukończenia podróży wymagają wielu przeskoków.

• Algorytmy wybierające trasy i używane przez nie struktury danych są ważnym obszarem

projektowania sieci.

• Przekazywanie (ang. forwarding) – proces, który obsługuje każdy przychodzący pakiet, szukając dla niego w tablicach routingu linii wyjściowej.

• Algorytmy routingu – odpowiadają za wypełnianie i

aktualizację tablic routingu.

(37)

Algorytmy routingu: właściwości

• Poprawność

• Prostota

• Odporność (radzenie sobie ze zmianami w topologii i ruchu bez żądania przerwania wszystkich zadań

we wszystkich hostach)

• Stabilność (stabilny algorytm dochodzi do stanu ustalonego i pozostaje w nim)

• Sprawiedliwość

• Skuteczność (sprawiedliwość i skuteczność są

często cele sprzeczne ze sobą)

(38)

Algorytmy routingu: klasy

• Algorytmy nieadaptacyjne nie opierają swoich

decyzji o wyborze tras na jakichkolwiek pomiarach i szacunkach bieżącej topologii i ruchu. Wybór trasy jest wyliczany z góry i informacje są ładowane do routerów przy starcie sieci – routing statyczny.

• Algorytmy adaptacyjne zmieniają decyzje o trasach zależnie od zmian w topologii sieci, a niekiedy

również w zależności od ruchu w sieci. Takie

algorytmy routingu dynamicznego różnią się tym,

skąd pobierają informacje, kiedy zmieniają trasy,

oraz parametrami używanymi do optymalizacji.

(39)

Algorytmy routingu: zasada optymalności

• Zasada optymalności (Bellman, 1957) – jeśli router J znajduje się na optymalnej trasie od routera I do

routera K, to optymalna ścieżka od J do K przebiega tą samą trasą.

• Z zasady optymalności  zbiór optymalnych tras z wszystkich źródeł do jednego celu tworzy drzewo z korzeniem w węźle docelowym (tzw. drzewo ujścia).

• Zadaniem wszystkich algorytmów routingu jest wykrycie i używanie drzew ujścia dla wszystkich routerów.

(40)

Algorytm z wyborem najkrótszej ścieżki

• Obliczanie optymalnych ścieżek dla zadanego kompletnego schematu sieci.

• Aby wybrać trasę pomiędzy daną parą routerów, algorytm znajduje w grafie najkrótszą ścieżkę

pomiędzy nimi.

• Jednym ze sposobów pomiaru długości ścieżki jest liczenie przeskoków. W ogólnym przypadku etykiety krawędzi mogą być obliczane jako funkcja

odległości, przepustowości, średniego obciążenia, kosztów połączenia, zmierzonego opóźnienia i

innych czynników.

(41)

Algorytm Dijkstry (1959) obliczający

najkrótszą ścieżkę przez graf

(42)

Routing rozpływowy

• Przy realizacji algorytmu wyznaczania tras każdy z routerów powinien podejmować decyzje w oparciu o dostępną mu lokalnie wiedzę, bez odwoływania się do globalnego obrazu sieci.

• Prostą techniką lokalnego pozyskiwania informacji

jest routing rozpływowy (ang. flooding), w którym

każdy przychodzący pakiet jest wysyłany na każdą

linię wyjściową z wyjątkiem tej, na której przyszedł.

(43)

Routing rozpływowy

• Ogromna liczba powtarzających się pakietów  w nagłówku każdego pakietu licznik przeskoków

zmniejszany o jeden przy każdym przeskoku. Pakiet zostaje odrzucony, gdy licznik dojdzie do zera.

• Wykładnicza liczba duplikatów pakietów – routery powielają pakiety już wcześniej obsłużone.

Umieszczenie przez źródłowy router numeru sekwencyjnego w każdym pakiecie.

• Lista dla każdego routera źródłowego – które numery pochodzące z tego źródła były już widziane.

• Aby zapobiec nieograniczonemu rozrastaniu się listy, każda lista jest uzupełniona o licznik k – wszystkie numery sekwencyjne aż do k były już widziane.

(44)

Routing rozpływowy: zastosowanie

• Gwarantuje dostarczenie pakietu do wszystkich węzłów sieci.

• Skuteczny. Nawet jeśli znaczna liczba routerów nie działa, rozpływ doprowadzi w końcu do znalezienia ścieżki, jeśli tylko ścieżka ta w ogóle istnieje.

• Technika ta nie wymaga specjalnych przygotowań – routery muszą znać jedynie swoje bezpośrednie

sąsiedztwo.

• Technika rozpływowa może stanowić bazę, na której implementowane są bardziej efektywne algorytmy, korzystające z danych zebranych w fazie rozpływu.

(45)

Routing z użyciem wektorów odległości

• W sieciach komputerowych wykorzystuje się przeważnie algorytmy wyznaczania trasy (nieco rozbudowane w porównaniu z algorytmem

rozpływowym), bo są one również bardziej

efektywne – wyszukują najkrótszą ścieżkę pakietu w bieżącej topologii sieci.

• Najpopularniejsze są zwłaszcza dwa dynamiczne

algorytmy: wektorów odległości (distance vector

routing) oraz stanu połączeń (link state routing).

(46)

Routing z użyciem wektorów odległości

• Algorytmy routingu za pomocą wektorów odległości (rozproszony algorytm routingu Bellmana-Forda; RIP) wykorzystują tablicę (czyli wektor) utrzymywaną przez każdy router i podającą najlepsze znane odległości do każdego celu oraz łącze służące do dotarcia do celów.

• Odległość może być mierzona liczbą przeskoków albo dowolną inną miarą.

• Tablice te są aktualizowane przez wymianę informacji pomiędzy sąsiadami.

• W końcu każdy z routerów poznaje najlepsze łącze pozwalające na osiągnięcie dowolnej lokalizacji docelowej.

(47)

Routing z użyciem wektorów odległości

J tworzy swoją nową trasę do routera G – oblicza opóźnienia do G poprzez A, I, H i K jako odpowiednio 26 (18+8), 41

(31+10), 18 (6+12) i 37 (31+6) ms.

(48)

Problem naliczania do nieskończoności

• Sprowadzanie ścieżek do postaci najlepszych ścieżek w sieci nosi miano konwergencji.

• Sednem problemu naliczania do nieskończoności jest to, że jeśli X mówi Y, iż ma dokądś ścieżkę, Y nie może w żaden sposób ustalić, czy sam nie jest elementem tej ścieżki.

(49)

Problem naliczania do nieskończoności

• Dobre nowiny rozchodzą się z szybkością jednego przeskoku na wymianę. W sieci, której najdłuższa ścieżka ma N przeskoków, po N wymian wszystkie routery wiedzą o włączonych właśnie do

eksploatacji łączach i routerach.

• Złe wieści rozchodzą się powoli – stopniowo

wszystkie routery dążą do nieskończoności, lecz liczba wymaganych wymian zależy od wartości

liczbowej używanej do oznaczenia nieskończoności.

Z tego powodu rozsądnie jest zdefiniować

nieskończoność jako najdłuższą trasę plus 1.

(50)

Routing z użyciem stanów połączeń

• Routing z użyciem wektorów odległości był

wykorzystywany w sieci ARPANET do roku 1979,

gdy został zastąpiony routingiem z użyciem stanów

połączeń (link state routing). Do najczęściej

wykorzystywanych wariantów tego algorytmu należą IS-IS i OSPF.

• Wycofanie routingu z użyciem wektorów odległości z użytku wiązało się z problemem nadmiernie

długiej konwergencji po zmianie topologii sieci

(wynikającej właśnie z problemu naliczania do

nieskończoności).

(51)

Routing z użyciem stanów połączeń

• W routingu z użyciem stanów połączeń każdy router musi:

1. Odkryć swoich sąsiadów i poznać ich adresy sieciowe.

2. Ustawić dla każdego z sąsiadów miarę kosztu (odległości).

3. Utworzyć pakiet zawierający wszystko, czego się nauczył.

4. Wysłać ten pakiet do wszystkich innych routerów i odebrać analogiczne pakiety od reszty.

5. Ustalić najkrótszą trasę do każdego innego routera.

• W wyniku powyższego opis całej topologii jest dystrybuowany do każdego routera w sieci.

• Do znalezienia najkrótszej trasy do każdego routera może zostać użyty algorytm Dijkstry.

(52)

Routing z użyciem stanów

połączeń: poznawanie sąsiadów

• Wysyłanie specjalnego pakietu HELLO do każdej linii dwupunktowej.

• Router na drugim końcu linii powinien odesłać

identyfikującą go odpowiedź. Nazwy routerów muszą być globalnie unikatowe.

• Modelowanie sieci lokalnej (łącza rozgłoszeniowego) jako wielu odrębnych łączy dwupunktowych przyczynia się do generowania niepotrzebnych komunikatów.

• Sieć lokalną można lepiej zamodelować np. jako osobny węzeł.

(53)

Routing z użyciem stanów

połączeń: określanie kosztu łączy

• Do skutecznego wyznaczania najkrótszych ścieżek należy poszczególnym łączom przypisać odległości albo inaczej – koszt transmisji pakietu.

• Koszt ten może być ustawiany automatycznie lub konfigurowany przez operatora sieci.

• Zazwyczaj koszt określa się jako wartość odwrotnie

proporcjonalną do przepustowości łącza. Dzięki temu ścieżki o większej pojemności są traktowane priorytetowo.

• Jeśli sieć jest mocno rozproszona geograficznie, w koszcie warto uwzględnić opóźnienie propagacji pakietów.

Najbardziej bezpośrednim sposobem ustalenia opóźnienia jest wysłanie łączem specjalnego pakietu ECHO, który druga strona jest zobowiązana natychmiast odesłać.

(54)

Routing z użyciem stanów połączeń:

tworzenie pakietów stanu połączeń

• Pakiet zaczyna się od tożsamości nadawcy, po której następuje numer sekwencyjny i wiek oraz lista

sąsiadów. Dany jest też koszt transmisji do poszczególnych sąsiadów.

• Pakiety są tworzone okresowo lub gdy wystąpi jakieś znaczące zdarzenie (np. awaria, przywrócenie do

eksploatacji, znacząca zmiana właściwości linii albo sąsiada).

(55)

Routing z użyciem stanów połączeń:

dystrybucja pakietów stanu połączeń

• W całym algorytmie najtrudniejszym zadaniem jest dystrybucja pakietów stanu połączeń.

• Dostarczanie wszystkim routerom wszystkich pakietów o stanie łącza powinno odbywać się możliwie szybko i pewnie: jeżeli różne routery używają różnych wersji topologii, wyznaczane trasy mogą cechować się

niespójnością, posiadać pętle, węzły nieosiągalne itp.

• Podstawową ideą jest dystrybucja pakietów metodą rozpływu do wszystkich routerów.

• Aby zabezpieczyć się przed błędami na łączach, wszystkie pakiety stanu łączy są potwierdzane.

(56)

Routing z użyciem stanów połączeń:

dystrybucja pakietów stanu połączeń

• Aby utrzymać rozpływ pod kontrolą, każdy pakiet zawiera numer sekwencyjny inkrementowany przy wysyłaniu nowego pakietu.

• Algorytm ten ma kilka wad:

• Zawinięcie numeracji – używany jest 32-bitowy numer sekwencyjny.

• Strata ciągłości numerów sekwencyjnych.

• Uszkodzenie numeru sekwencyjnego.

• Rozwiązaniem jest zapisanie wieku pakietu zaraz po numerze sekwencyjnym i dekrementowanie go co sekundę.

• Pole Wiek jest również dekrementowane przez każdy router podczas początkowego procesu dystrybucji.

(57)

Routing z użyciem stanów

połączeń: obliczanie nowych tras

• Gdy router zakumuluje już pełny zbiór pakietów stanu połączeń, może zbudować graf całej sieci.

• W rzeczy samej każde łącze jest reprezentowane

dwukrotnie, po jednym razie w każdą stronę. Różne kierunki wzdłuż tego samego łącza mogą zresztą cechować się

różnym kosztem.

• Teraz można lokalnie uruchomić algorytm Dijkstry, aby

zbudować najkrótsze ścieżki do wszystkich możliwych miejsc przeznaczenia. Informacja ta jest instalowana w tablicach routingu, po czym przywraca się normalną eksploatację.

• W porównaniu do routingu z wektorem odległości, routing ze stanem łączy jest bardziej wymagający pod względem pamięci i mocy obliczeniowej.

(58)

Routing hierarchiczny

• W miarę rozwoju wielkości sieci tablice routingu w routerach również rosną proporcjonalnie.

• W dużych sieciach routing musi odbywać się hierarchicznie, jak w sieci telefonicznej.

• Routery zostają podzielone na obszary (regiony). Każdy router zna wszystkie szczegóły kierowania pakietów do celów we własnym regionie, lecz nie wie nic o

wewnętrznej strukturze pozostałych regionów.

• W miarę zwiększania stosunku liczby regionów do liczby routerów na region wzrasta oszczędność miejsca w

tablicy. Niestety, trzeba zapłacić za to zwiększoną długością ścieżki.

(59)

Routing hierarchiczny

(60)

Routing hierarchiczny

• W olbrzymich sieciach hierarchia dwupoziomowa może nie wystarczać – może zajść konieczność

zgrupowania regionów w klastry, klastrów w strefy, stref w grupy itd.

• Kamoun i Kleinrock (1979) – optymalna liczba

poziomów dla sieci z N routerów wynosi ln(N) i

wymaga łącznie e ln(N) wpisów na router. Wzrost średniej efektywnej długości ścieżki, powodowany przez routing hierarchiczny, jest wystarczająco

mały, aby zwykle był do przyjęcia.

(61)

Routing rozgłoszeniowy

• Wysłanie pakietu do wszystkich miejsc przeznaczenia jednocześnie nosi nazwę rozgłaszania (ang.

broadcasting).

• Routing wieloadresowy (ang. multidestination routing) – każdy pakiet zawiera albo listę miejsc przeznaczenia, albo mapę bitową wskazującą pożądane cele.

• Router sprawdza wszystkie miejsca przeznaczenia.

Router generuje nową kopię każdego pakietu dla każdej linii wyjściowej i zawiera w każdym pakiecie tylko te

miejsca docelowe, które będą używać danej linii.

• Schemat ten zakłada znajomość wszystkich adresów docelowych po stronie źródła, a dodatkowo router ma tyle samo pracy z rozprowadzeniem pojedynczego

pakietu wieloadresowego co z rozprowadzeniem wielu osobnych pakietów jednoadresowych.

(62)

Routing rozgłoszeniowy (2)

• Skuteczna technika routingu rozgłoszeniowego: routing rozpływowy. Pozwala na efektywne wykorzystanie łącza przy jednoczesnym uproszczeniu reguł decyzyjnych po stronie routerów uczestniczących w rozpływie.

• Rozprowadzanie wzdłuż ścieżki odwrotnej (Dalal i Metcalfe, 1978). Kiedy do routera dociera pakiet rozgłoszeniowy,

router sprawdza, czy dotarł on linią, która zwykle jest używana do wysyłania pakietów do źródła rozgłoszeń.

• Jeśli tak, to router przekazuje dalej kopie pakietu do

wszystkich łączy, z wyjątkiem tego, na którym się pojawił.

• Jeśli jednak pakiet rozgłoszeniowy pojawi się na łączu innym niż preferowane do komunikacji z jego źródłem, to zostaje odrzucony jako prawdopodobny duplikat.

(63)

Routing rozgłoszeniowy (3)

• Metoda rozprowadzania z braniem pod uwagę

odwrotnej ścieżki jest jednocześnie w rozsądnym

stopniu efektywna i łatwa do zaimplementowania.

(64)

Routing rozgłoszeniowy (4)

• Ulepszenie metody z rozprowadzaniem wstecz. Polega na jawnym użyciu drzewa ujścia po stronie routera

inicjującego rozgłoszenie.

• Jeśli każdy router wie, które z jego łączy należą do drzewa częściowego, może skopiować przychodzący pakiet na wszystkie łącza drzewa częściowego poza łączem, z którego pakiet przybył.

• Metoda ta bardzo efektywnie wykorzystuje

przepustowość sieci, ponieważ generuje minimalną liczbę pakietów konieczną do realizacji rozgłoszenia.

• Każdy z routerów musi posiadać wiedzę o bieżącym schemacie drzewa częściowego. Niekiedy informacja taka jest faktycznie dostępna, często jednak wiedza ta jest nieosiągalna dla poszczególnych routerów.

(65)

Routing rozsyłania grupowego

• Wysyłanie komunikatów do grup, które mają dużą liczbę członków, lecz są małe w porównaniu z całą siecią, nosi nazwę rozsyłania grupowego lub

multiemisji (ang. multicasting), a jego algorytm

routingu nosi nazwę algorytmu routingu rozsyłania grupowego (ang. multicast routing).

• Metody routingu rozsyłania grupowego bazują przeważnie na omawianych już schematach

rozgłaszania, a więc na rozsyłaniu pakietów wzdłuż drzew częściowych.

• Dobór optymalnego drzewa częściowego jest

uzależniony od tego, czy grupy są gęste, czy rzadkie.

(66)

Routing rozsyłania grupowego (2)

• Jeśli grupa jest gęsta, rozproszona po całej sieci,

dobrym punktem wyjścia dla rozsyłania grupowego jest zwyczajne rozgłaszanie.

• Rozgłaszanie obejmie routery, które nie obsługują żadnego członka grupy

multiemisji  czyszczenie drzewa częściowego

multiemisji przez

usuwanie tych łączy, które nie prowadzą do żadnego członka grupy.

(67)

Metody okrawania drzewa częściowego

• W przypadku wykorzystania routingu z użyciem stanu łączy, jeśli każdy router zna pełną topologię, każdy z routerów może skonstruować własne okrojone drzewo częściowe dla każdego z nadawców w rozpatrywanej grupie. Przykładem tak działającego protokołu jest MOSPF (Multicast OSPF).

• W routingu z użyciem wektorów odległości można użyć algorytmu przekazywania z braniem pod uwagę

odwrotnej ścieżki. Przykładem protokołu routingu rozsyłania grupowego działającego na takiej zasadzie jest DVMRP (Distance Vector Multicast Routing

Protocol).

• Jedną z wad drzewa częściowego jest spory narzut pracy dla routerów, odczuwalny zwłaszcza w dużych sieciach.

(68)

Drzewa centrowane

• Drzewo centrowane (ang. core-based tree) –

pojedyncze drzewo częściowe wspólne dla całej grupy multiemisji.

• Wszystkie routery uzgadniają tutaj wspólny węzeł

główny (zwany rdzeniem albo punktem zbornym – ang.

rendezvous point) i budują drzewo częściowe poprzez wysyłanie pakietów od wszystkich członków grupy do punktu zbornego.

• Nadawca zainteresowany rozesłaniem komunikatu do członków grupy powinien wysłać pakiet do węzła

głównego; tam pakiet zostanie rozprowadzony po

wszystkich łączach wspólnego, centrowanego drzewa częściowego.

(69)

Drzewa centrowane (2)

• Drzewa centrowane są znacznie oszczędne w zakresie zasobów pamięciowych, liczby wysyłanych

komunikatów i ilości obliczeń koniecznych do rozprowadzenia multiemisji.

• Wspólne drzewa częściowe multiemisji stosuje się w popularnych protokołach rozsyłania grupowego, jak PIM (Protocol Independent Multicast).

(70)

Rozprowadzanie do najbliższego węzła (anycast)

• Tryby rozprowadzania:

• do pojedynczego odbiorcy (unicast)

• do wszystkich możliwych odbiorców (broadcast)

• do predefiniowanej grupy odbiorców (multicast)

• do najbliższego członka grupy (anycast)

• Metody rozprowadzania pakietów do najbliższego odbiorcy noszą miano routingu w trybie anycast.

• Usługę realizuje równie dobrze wiele węzłów sieci, np. usługa czasu czy usługa nazw domenowych

(DNS).

(71)

Routing w trybie anycast

• Trasy dla rozprowadzania typu anycast można wyznaczyć z klasycznych metod z routingiem statycznym czy z wektorem odległości.

• Z punktu widzenia protokołu nie jest istotne

rozróżnienie na wiele instancji adresu docelowego: dla protokołu wszystkie te instancje są de facto jednym i tym samym węzłem.

Cytaty

Powiązane dokumenty

Ludm iła Monika 4 Katarzyn Ludm iła Monika Narcyz 5 Ludmiła Monika Narcyz O ttylia 6 Monika Narcyz Ottylia Paulina 7 Narcyz Ottylia P aulina Quida 8 Ottylia Paulina Quida Róża 9

to za naruszenie praw autorskich do muzyki grozi co najwyżej blokada filmu a następnie konta Youtube. Jak postępuje Facebook

 Uczeni starają się coraz więcej podciągnąć pod ten paradygmat..  Pojawiają się anomalie – zjawiska, których nie da się wyjaśnić przy pomocy

Ha rya. Czas trwania mierzono od chwili osiągnięcia przez prąd przełączający 0 .5 wartości swojej amplitudy aż do osiągnięcia przez napięcie indukowane przez rdzeń wartości

Ilość celów szczegółowych jest wynikiem realizacji przydzielonych zadań w bazach właśnie przez czworo kolejnych zajęć. Stworzone warunki umożliwiają dzieciom ze

Samoocena: dzieci odnoszą się do tego, jak się czuły w czasie tego zajęcia, co było łatwe, a co trudne, jak czuje się nasz niepełnosprawny przyjaciel, wykonując zadania dla

Opis przebiegu zajęć: nauczyciel czyta fragment książki Agaty Battek Wycieczka do jaskini – ilustruje tekst. Dzieci ostatecznie dochodzą do wniosku, że bohaterami książki

niepełnosprawnych ruchowo realizujących jakąś pasję, np. Miniparaolimpiada: zabawy ruchowe „Kto pierwszy?”. 1) Dzieci siadają na dywanie tyłem do mety. Ich zadaniem