GRAF DECYZJI O TRASIE PAKIETU
Transkrypt
GRAF DECYZJI O TRASIE PAKIETU
GRAF DECYZJI O TRASIE PAKIETU ROUTING STATYCZNY W SIECIACH IP Routery są urządzeniami, które na podstawie informacji zawartych w nagłówku odebranego pakietu oraz danych odebranych od sąsiednich urządzeń są w stanie podjąć decyzję, decyzję gdzie przesłać pakiet aby trafił on w miejsce swojego przeznaczenia. Każdy router posiada własną tablicę routingu, routingu na podstawie której wysyła pakiet przez odpowiedni interfejs. Takie tablice routingu zawierają wszystkie znane routerowi adresy IP odległości oraz odpowiadające im numery interfejsów, którymi można osiągnąć żądany adres. Routing statyczny polega na ręcznej modyfikacji przez administratora wpisów do tablic routingu. Podstawową zaletą implementacji takiego rozwiązania w małych sieciach są stosunkowo małe opóźnienia. Routery posiadające statyczne trasy nie wymieniają się informacjami na temat sieci, nie korzystają również z algorytmów pozwalających na wybór optymalnej drogi. Statycznie definiowane trasy mogą znacznie zwiększać bezpieczeństwo w sieci. sieci ROUTING DYNAMICZNY W SIECIACH IP Protokoły routingu dynamicznego mają zazadanie określenie zasad wymiany tablic routingu oraz sposobu wyliczania wartości metryki routingu. ROUTING DYNAMICZNY W SIECIACH IP Podstawową i zaletą tego rozwiązania jest wprowadzenie mechanizmów wymiany informacji między routerami. routerami W routingu dynamicznym same routery budują swoje tablice routingu i w razie potrzeby uaktualniają je. Router zauważa zmianę topologii, informuje o niej inne, sąsiednie routery i przystosowuje się do nowych warunków. Czas potrzebny sieci na uzyskanie zbieżności jest znacznie krótszy niż w przypadku routingu statycznego. W przypadku, gdy do żądanej lokalizacji jest kilka tras (tzw. nadmiarowych ścieżek), router porównuje metryki i wybiera trasę z przypisaną metryką o większej wartości. Wyróżniamy trzy podstawowe algorytmy: Distance — Wektor, (np. RIP) Link — State, (np. OSPF) routing Hybrydowy. TABLICA ROUTINGU Dla każdego nadchodzącego pakietu sprawdzana jest zgodność pomiędzy adresem docelowym a wpisami z kolumny Network/Subnet Każdy wiersz określa trasę do sieci/podsieci TABLICA ROUTINGU Jak powinien być zinterpretowany trzeci wiersz ? TABLICA ROUTINGU Jeżeli tylko jedna trasa może bć wybrana – tam właśnie wysyłanyjest pakiet. Trasa 0.0.0.0 oznacza tzw. trasę domyślną TABLICA ROUTINGU Jeżeli więcej niż jedna trasa może być wybrana – za najlepsząuważa się tę speniającą warunek dłuższego prefiksu sieciowego. Jeżeli powyższa reguła nie wystarcza – rozstrzyga wartośc metryki routingu REGUŁA LONGEST MATCH PRZYKŁAD: Jeżeli adres IP przeznaczenia to 11.1.2.5 oraz zdefiniowane są trzy prefix-y w tablicy routingu (11.1.2.0/24, 11.1.0.0/16, and 11.0.0.0/8), router powinien wybrać sieć docelową 11.1.2.0/24. Sieć ta tj, 11.1.2.0/24 jest wybierana ze względu na fakt, iż prefix dla niej zawiera najwięcej odpowiadających bitów w adresie docelowym. PODZIAŁ TOPOLOGICZNY Zestaw sieci i routerów administrowanych spójnie przez jedną organizację Definicja nie jest ścisła Zwykle tożsamy z firmą Potrzebny, żeby podzielić na mniejsze, zarządzalne fragmenty ogromną sieć, jaką jest Internet Każdy system autonomiczny może posługiwać się swoim protokołem routingu SYSTEM AUTONOMICZNY PODZIAŁ TOPOLOGICZNY Interior Gateway Protocols (IGPs) – Używane przez routery wewnątrz systemu autonomicznego – Opisywane trasy leżą w obrębie systemu autonomicznego Exterior Gateway Protocols (EGPs) – Używane do komunikacji pomiędzy systemami autonomicznymi. Opisywane trasy leżą w obrębie Internetu PODZIAŁ TOPOLOGICZNY EGP (pomiędzy systemami) Border Gateway Protocol (BGP) IGP (wewnątrz systemów autonomicznych) Routing Information Protocol (RIP) Open Shortest Path First Protocol (OSPF) PROTOKOŁY ROUTINGU – RIP Protokół RIP (ang. Routing Information Protocol) jest protokołem routingu, który opiera swoje działanie na algorytmie distance-vector. distance-vector Protokół RIP jest obecnie szeroko wykorzystywany w sieci Internet mimo, że należy do najstarszych protokołów routingu. Wyznacza on optymalne trasy korzystając wyłącznie z jednej metryki Ilość skoków (ang. hops) bezpośrednio decyduje o wyborze drogi. Im pakiet ma na swojej drodze mniej urządzeń, tym lepiej. Router wysyła, otrzymuje uaktualnienia od sąsiadów, interpretuje te dane i zapisuje do tablicy jedynie odległości między routerami w sieci. PROTOKOŁY ROUTINGU – RIP Komunikaty RIP można podzielić na dwa główne typy: komunikaty z informacjami o trasach i komunikaty z prośbami o informacje. Nagłówki obu mają postać przedstawioną poniżej. Polecenie (ang. command) - wskazuje, czy pakiet jest zgłoszeniem czy odpowiedzią. Zgłoszenie pyta, czy router wysłał całą tablicę routingu czy jej część. Odpowiedzią może być dowolne periodyczne uaktualnienie routingu lub odpowiedź na zgłoszenie. Przy przenoszeniu obszernych tablic routingu zachodzi potrzeba użycia wielu pakietów. Wersja (ang. version number) - określa użytą wersję protokołu RIP. Nie ( używane (ang. unused) - pole nie używane przyjmuje wartość zero. Adres (ang. address) - określa adres IP dla wejścia. PROTOKOŁY ROUTINGU – RIP Rodzina sieci (ang. Address - Family Identyfier) - określa użyty adres rodziny. Protokół RIP jest przeznaczony do przenoszenia informacji o routingu dal wielu różnych protokołów. Każde wejście ma identyfikator AFI wskazujący typ specyfikowanego adresu. Dla protokołu IP identyfikator AFI przyjmuje wartość 2. Odległość sieci (ang. metric) - wskazuje liczbę przejść pomiędzy sieciami (routerami), które pojawiły się na drodze do miejsca przeznaczenia. METRYKA ROUTINGU – RIP Jedyną miarą używaną przez protokół RIP do mierzenia odległości pomiędzy źródłem a miejscem przeznaczenia jest ilość skoków (ang. hop-count). Każdemu skokowi na drodze od źródła do miejsca przeznaczenia zostaje przypisana wartość, najczęściej 1. Maksymalna liczba skoków na ścieżce wynosi 15. 15 Jeśli router przyjmie uaktualnienie routingu, które zawiera nowe lub zmienione wejście, i jeśli po zwiększeniu miary o jeden nastąpi przekroczenie granicy 15 skoków, to takie miejsce przeznaczenia w sieci staje się dla routera nieosiągalne. RIP – WŁAŚCIWOŚCI ● ● ● ● ● ● Szeroko dostępny Metryka: hop count Cykliczne update’y Łatwy w implementacji Często “w cenie” RFC 1058 ● ● ● ● ● Wolna konwegencja Brak wsparcia VLSM Brak wsparcia nieciągłoci sieci Routing loops Count to infinity PROTOKOŁY ROUTINGU – RIP 2 Decydującym czynnikiem wprowadzenie RIP2 był brak możliwości obsługi masek podsieci adresów IP wersji pierwszej RIP'a. Najważniejszymi w stosunku do pierwotnej wersji RIPa możliwościami są: autoryzacja, czyli mechanizmy pozwalające na identyfikacje tożsamości użytkownika, wprowadzenie maski podsieci, podsieci adresów IP następnych skoków i wiadomości multicastingowych. W miejsce pól zarezerwowanych pojawiły się pola związane z nowymi możliwościami RIP'u — 2: domena routowania, znacznik trasy, maska podsieci, następny skok, odległość. PROTOKOŁY ROUTINGU – RIP 2 Polecenie (ang. command) wskazuje, czy pakiet jest zgłoszeniem czy odpowiedzią. Zgłoszenie pyta, czy router wysłał całą tablicę routingu czy jej część. Odpowiedzią może być dobrowolne periodyczne uaktualnienie routingu lub odpowiedź na zgłoszenie. Przy przenoszeniu obszernych tablic routingu zachodzi potrzeba użycia wielu pakietów. Wersja (ang. version) - określa użytą wersję protokołu RIP. W pakiecie RIP implementującym jakiekolwiek pola RIP-2 lub mechanizm autoryzacji jest ustawiona wartość 2. PROTOKOŁY ROUTINGU – RIP 2 Domena routowania (ang. routing domain) identyfikator systemu autonomicznego, informuje o tym, które tablice routowania powinny być uaktualnione. Rodzina sieci (ang. address - family identyfier) - określa użyty adres rodziny. Protokół RIP jest przeznaczony do przenoszenia informacji o routingu dal wielu różnych protokołów. Każde wejście ma identyfikator AFI wskazujący typ specyfikowanego adresu. Dla protokołu IP identyfikator AFI przyjmuje wartość 2. Jeśli identyfikator AFI dla pierwszego wejścia o komunikacie przyjmuje wartość 0xFFFF, to oznacza, że wejście zawiera informację o autoryzacji, czyli typ autoryzacji i hasło.Znacznik trasy (ang. route tag) - pozwala rozróżnić rasę wewnętrzną (poznawaną przez protokół RIP) od zewnętrznej (poznawanej przez inne protokoły). PROTOKOŁY ROUTINGU – RIP 2 Adres (ang. address) - określa adres IP dla wejścia. Maska podsieci (ang. subnet mask) - zawiera maskę podsieci dla określonego wejścia. Wprowadzenie tego pola umożliwiło protokołowi RIP2 obsługiwanie podsieci. Może być implementowany w sieciach o bardziej złożonych topologiach. Jeśli wartość tego pola przyjmuje wartość zero oznacza to, że adres IP nie posiada maski podsieci. Następny skok (ang. next hop) - wskazuje adres IP następnego skoku (routera), do którego pakiet dla danego wejścia powinien być skierowany. Odległość sieci (ang. metric) - wskazuje liczbę przejść pomiędzy sieciami (routerami), które pojawiły się na drodze do miejsca przeznaczenia. RIP 2 – WŁAŚCIWOŚCI ● ● ● ● ● ● ● RFC 1723 Obsługiwany przez Cisco IOS™ 11.1 Obsługa VLSM Sumaryzacja routingu Classless InterDomain Routing (CIDR) Uaktualnianie routingu - multicast Autentykacja update’ów (MD5) PROTOKÓł RIP - PODSTAWY ● ● Przykładowa struktura zawiera 2 sieci typu multi-access oraz 3 typu point-topoint. Każdy router ma nadaną nazwę (A do E), adres IP, oraz numer interfejsu. – Dla uproszczenia numer intrfejsu i numer hosta w adresie IP są identyczne, np. router C jest dołączony do siecii 10.2.0.0/16 poprzez interfej 2 , który ma przypisany adres 10.2.0.2. • Bellman-Ford • Repeat For every node x For every neighbor z For every destination y d(x,y) ← Update(x,y,z) • Until Converge 1 A Adres sieciowu i maska sieci Koszt łącza Iadres IP interfejsu Numer interfejsu algorithm 1 2 1 B 10.1/16 2 2 10.2/16 3 5 1 4 6 D 2 10.5/16 E 2 1 10.4/16 C 1 10.6/16 3 10.3/16 2 2 „ZIMNY” START Założenia „zimnego” startu ● Każdy węzeł sieci jest uaktywniany z minimalną wiedzą na temat topologii sieci, tj. – Posiada wiedzę na temat swoich interfejsów i sieci IP, z którymi przez te interfejsy może się połączyć, ● Informacja ta pochodzi z danych konfiguracyjnych interfejsu. Każdy interfejs posiada zdefiniowane przynajmniej elementy: – Adres IP – Mska sieciowa ● Numer sieci jest pośrednio uzyskiwany z adresu IP oraz maski sieciowej. – Posiada wiedzę na temat kosztu każdego obsługiwanego łącza/sieci. „ZIMNY” START - PRZYKŁAD Routing table for A net mask 10.1.0.0 16 10.3.0.0 16 Routing table for B gateway int cost ---------1 1 ---------2 3 net mask 10.1.0.0 16 10.2.0.0 16 10.6.0.0 16 Routing table for C net mask 10.2.0.0 16 10.5.0.0 16 gateway ------------------- int cost 2 2 1 5 Routing table for D net mask 10.3.0.0 16 10.4.0.0 16 1 A Routing table for E net mask 10.4.0.0 16 10.5.0.0 16 10.6.0.0 16 gateway ---------------------------- int cost 1 6 2 5 4 4 gateway int cost ---------2 1 ---------1 2 ---------3 4 1 gateway int cost ---------1 3 ---------2 6 2 1 B 10.1/16 2 2 10.2/16 3 2 4 3 10.3/16 1 10.6/16 5 1 4 6 D 2 10.5/16 E 2 1 10.4/16 C 2 WYMIANA INFORMACJI Algorytm wysyłania ● Router wysyła na wszystkie interfejsy (do wszystkich przyłączonych bezpośrednio sieci) wektor „odległości” zawierający wszystkie znane sieci i koszt osiągnięcia tych sieci. – Dla każdej sieci z tablicy routingu, wysyłane są: ● Numer IP sieci ● Maska sieciowa ● Koszt – Informacje te są przesyłane przez sieci typu multi-access na zasadzie broadcastu dzięki czemu wszystkie routery w sieci mogą otrzymać ten wektor. 1 A 1 2 1 B 10.1/16 2 2 10.2/16 3 2 4 3 10.3/16 1 10.6/16 5 1 D 2 4 6 2 1 10.4/16 10.5/16 E C 2 WYMIANA INFORMACJI Algorytm otrzymywania ● ● ● Dodaj koszt „na danym interfejsie” do wartości kosztu osiągnięcia danej sieci, otrzymanego na ten interfejs. Jeżeli dana sieć nie znajduje się w tablicy routingu, dodaj wpis: – Ustaw pole „interface” w tablicy routingu na wartość odpowiadającą numerowi interfejsu, na który nadesłano wektor „odległości”, – Ustaw pole „gateway” w tablicy routingu na wartość odpowiadającą nazwie węzła, nadawcy wektora „odległości”. ● W przypadku sieci typu multi-access, pole „gateway” odpowiada polu „next hop”. – Wyslij nowy wektor do wszystkich sąsiadów. Jeżeli dana sieć znajduje się w tablicy routingu, to: – Jeżeli nadawca jest ten sam jak wcześniej już zapisany w tablicy to: ● Jeżeli koszt zawarty w otrzymanym wektorze jest różny od posiadanej wartości to uaktualnij wpis w swojej tablicy routingu i wyślij nowy wektor „odległości” do wszyskich sasiadów. – Wprzeciwnym wypadku ● Jeżeli nowy koszt jest MNIEJSZY niż istniejący w tablicy – Uaktualnij wartość koszty, interfejsu oraz gateway`a – Wyślij nowy wektor „odległości” do wszyskich sasiadów. ALGORYTM NADAWANIA - PRZYKŁAD Węzeł A wysyła swój wektor „odległości” na interfejs 1 i rozgłasza go poprze interfejs 2 W wyniku nadawania przez A, B i D zwiększają swoją widzę o topologii sieci. ● ● 1 A 1 2 1 B 10.1/16 2 2 10.2/16 3 2 4 3 10.3/16 1 10.6/16 5 1 4 6 D 2 10.5/16 E 2 1 10.4/16 C 2 Old table for B net mask 10.1.0.0 16 10.2.0.0 16 10.6.0.0 16 gateway ---------------------------- New table for B net mask 10.1.0.0 16 10.2.0.0 16 10.3.0.0 16 10.6.0.0 16 gateway int cost ---------2 1 ---------1 2 10.1.0.1 2 4 ---------3 4 Old table for D net mask 10.3.0.0 16 10.4.0.0 16 gateway int cost ---------1 3 ---------2 6 New table for D net mask 10.1.0.0 16 10.3.0.0 16 10.4.0.0 16 int cost 2 1 1 2 3 4 gateway int cost 10.3.0.2 1 4 ---------1 3 ---------2 6 ALGORYTM NADAWANIA – PRZYKŁAD ● ● ● ● ● Węzły B oraz D uaktualniły swoje tablice routingu, wobec tego mogą wysłąć swoje nowe wektory „odległości”. Węzeł B wysyła nowy wektor do A, C, E Węzeł D wysyła nowy wektor doo A, E Dla przejrzystości przykładu, załóżmy, że wektor z B nadszedł pierwszy Węzeł A otrzyma od B wektory dla sieci 10.1, 10.2 oraz 10.6. – Węzeł A dodaje swój lokalny koszt na interejsie (1) do wartości kosztów wewszystkich 3 wektorach. – Sieci 10.2 oraz 10.6 są nową informacją wobec tego A dadaje odpowiednie wpisy. – Informacja o sieci 10.1nie będzie uaktualniona ponieważ koszt 2 jst większy kosztt już isniejący w tablicy. Old table for A 1 A 1 2 B 10.1/16 2 net mask 10.1.0.0 16 10.3.0.0 16 2 1 10.2/16 3 2 4 3 10.3/16 1 10.6/16 5 1 D 2 4 6 2 1 10.4/16 10.5/16 E C 2 New table for A gateway int cost ---------- 1 1 ---------- 2 3 net mask 10.1.0.0 16 10.2.0.0 16 10.3.0.0 16 10.6.0.0 16 gateway int cost ---------- 1 1 10.1.0.2 1 3 ---------- 2 3 10.1.0.2 1 5 ALGORYTM NADAWANIA – PRZYKŁAD Table for B Table for A net mask 10.1.0.0 16 10.2.0.0 16 10.3.0.0 16 10.4.0.0 16 10.5.0.0 16 10.6.0.0 16 gateway int cost ---------1 1 10.1.0.2 1 3 ---------2 3 10.3.0.1 2 9 10.1.0.2 1 8 10.1.0.2 1 5 net mask 10.1.0.0 16 10.2.0.0 16 10.3.0.0 16 10.4.0.0 16 10.5.0.0 16 10.6.0.0 16 Jaka będzie tablica routingu dla D ???? 1 A 1 2 B 10.1/16 2 10.2/16 3 4 3 10.3/16 2 10.6/16 5 1 4 6 D 2 1 10.4/16 2 C 1 10.5/16 E 2 Table for C net mask 10.1.0.0 16 10.2.0.0 16 10.3.0.0 16 10.4.0.0 16 10.5.0.0 16 10.6.0.0 16 2 1 gateway int cost ---------2 1 ---------1 2 10.1.0.1 2 4 10.6.0.4 3 10 10.2.0.2 1 7 ---------3 4 gateway int cost 10.2.0.1 2 3 ---------2 2 10.2.0.1 2 6 10.5.0.2 1 11 ---------1 5 10.2.0.1 2 6 Table for E net mask 10.1.0.0 16 10.2.0.0 16 10.3.0.0 16 10.4.0.0 16 10.5.0.0 16 10.6.0.0 16 gateway int cost 10.6.0.3 4 5 10.6.0.3 4 6 10.6.0.3 4 8 ---------1 6 ---------2 5 ---------4 4 REAKCJA NA USZKODZENIE Table for A A i B wykryły uszkodzenie A oraz B ustawiają wartość kosztu dla wszystkich wpisów w tablicy odnoszących się do odpowiednio 1 i 2 na nieskończoność. ● ● 1 A gateway int cost ---------1 inf 10.1.0.2 1 inf ---------2 3 10.3.0.1 2 9 10.1.0.2 1 inf 10.1.0.2 1 inf Table for B 1 2 2 2 1 B 10.1/16 10.2/16 3 2 4 3 10.3/16 1 4 6 D 10.5/16 E 2 1 10.4/16 C 1 10.6/16 5 2 net mask 10.1.0.0 16 10.2.0.0 16 10.3.0.0 16 10.4.0.0 16 10.5.0.0 16 10.6.0.0 16 2 net mask 10.1.0.0 16 10.2.0.0 16 10.3.0.0 16 10.4.0.0 16 10.5.0.0 16 10.6.0.0 16 gateway int cost ---------2 inf ---------1 2 10.1.0.1 2 inf 10.6.0.4 3 10 10.2.0.2 1 7 ---------3 4