Sieci komputerowe - Routing 2012-05-24 Sieci komputerowe Routing dr inż. Maciej Piechowiak 1 Router centralny element rozległej sieci komputerowej, przekazuje pakiety IP (ang. forwarding) pomiędzy sieciami, wspiera priorytetyzację pakietów (QoS), łączy sieci wykorzystujące różne media, kieruje pakiety do miejsca przeznaczenia (adres IP), jest komputerem (zawiera procesor, pamięć RAM i ROM oraz system operacyjny). 2 Router wyznaczanie najlepszej ścieżki, kierowanie pakietów do punktu docelowego, używa tablicy routingu. 3 1
Budowa routera 4 Budowa routera procesor (CPU), pamięć RAM: system operacyjny (IOS) kopiowany do RAM-u przy starcie, plik konfiguracyjny bieżącej konfiguracji (running-config), tablica routingu, ARP cache, bufor pakietów. pamięć ROM: oprogramowanie diagnostyczne, instrukcje startowe, okrojona wersja systemu operacyjnego (IOS), pamięć Flash (IOS) i NVRAM (startup-config). 5 Interfejsy routera 6 2
Interfejsy routera Każdy interfejs routera jest hostem w innej sieci IP, Interfejsy: LAN (Ethernet, Fast Ethernet router zachowuje się jak host, np. zapytania ARP, adresy MAC), WAN (serial, PPP HDLC, ISDN, Frame Relay), adresowanie w warstwie 2 zależne od użytej technologii (adresowanie broadcast), 7 Interfejsy routera 8 Routing 3
Schematy adresowania 10 Schematy adresowania 11 Tablica routingu trasy (sieci) podłączone bezpośrednio, trasy statyczne, trasy dynamiczne. 12 4
Tablica routingu 13 Routing statyczny zdalne sieci dodawane są w tablicy routingu poprzez konfigurację tras statycznych lub włączenie dynamicznego protokołu routingu (warunek aktywny interfejs routera), routing statyczny: Sieć składa się z kilku routerów, Sieć jest podłączona do Internetu tylko przez jednego operatora ISP, Sieć jest skonfigurowana w topologii hub-and-spoke (punkt centralny z podłączonymi wieloma gałęziami jedna trasa przez punkt centralny). zawsze muszą istnieć sieci podłączone bezpośrednio, aby możliwa była konfiguracja tras statycznych lub routingu dynamicznego. 14 Routing statyczny 15 5
Routing dynamiczny protokoły routingu dynamicznego wykorzystywane są przez routery, które współdzielą informacje o osiągalności i statusie zdalnych sieci poprzez: automatyczne odkrywanie topologii sieci współdzielenie i wymiana informacji przez routery o dostępnych sieciach z wykorzystaniem protokołów routingu, dodawanie najlepszej ścieżki do tablicy routingu, utrzymywanie tablic routingu protokoły utrzymują kilka najlepszych ścieżek, zmiany w topologii sieci nie wymagają ingerencji administratora. RIP (Routing Information Protocol), IGRP (Interior Gateway Routing Protocol), EIGRP (Enhanced Interior Gateway Routing Protocol), OSPF (Open Shortest Path First), IS-IS (Intermediate System-to- Intermediate System), BGP (Border Gateway Protocol). 16 Zasady routingu każdy router podejmuje samodzielną decyzję na podstawie własnej tablicy routingu, fakt, że router posiada pewną informację w swojej tablicy routingu nie oznacza, że inne routery posiadają tę samą informację, informacja o trasie między siecią A i siecią B nie oznacza, że istnieje trasa między siecią B i A, routing asymetryczny. 17 Pakiet IP 18 6
Pakiet IP Version numer wersji (4 bity); dominującą wersją jest IP version 4 (IPv4), IP header length długość nagłówka w słowach 32-bitowych (4 bity), Precedence and type of service sposób przechowywania pakietu i wyznaczania priorytetu (8 bitów), Packet length całkowita długość pakietu (20B 64kB) nagłówek + dane (16 bitów), Identification unikalny numer identyfikacyjny pakietu IP (16 bitów), Flags bity kontrolne fragmentacji pakietu (3 bity), Fragment offset określa położenie pofragmentowanych części pakietu w pakiecie (13 bitów), Time to Live (TTL) określa przez ile routerów może przejść pakiet zanim zostanie usunięty (8 bitów), Protocol protokół wyższej warstwy stanowiący dane przesyłane w pakiecie: TCP, UDP lub ICMP (8 bitów), Header checksum suma kontrolna nagłówka i danych pakietu (16 bitów), Source IP address 32-bitowy źródłowy adres IP (32 bity), Destination IP address 32-bitowy docelowy adres IP (32 bity), IP options wypełnienie: np. do testów sieci (0 lub wielokrotność 32 bitów). 1 Metryka istnieje wiele tras (ścieżek) między nadawcą i odbiorcą, protokół routingu wybiera ścieżkę optymalną lub najlepszą na podstawie wartości zwanej metryką, protokół RIP wyznacza najlepszą ścieżkę na podstawie skoku jednostkowego (ang. hop-count), OSPF na podstawie szerokości pasma łącza (ang. bandwidth), metryka jest parametrem określającym jakość trasy między nadawcą a odbiorcą, najlepszą ścieżką do sieci docelowej jest ścieżka o najmniejszej metryce, 20 Metryka Ścieżka suboptymalna w zależności od protokołu routingu. 21 7
Load Balancing equal cost metric, equal cost load balancing. 22 Kierowanie pakietów wyznaczanie ścieżki i przekazywanie pakietów. Komputer PC1 przesyła dane do komputera PC: krok 1 - PC1 dokonuje enkapsulacji pakietu w ramkę ramka zawiera MAC adres routera R1 23 Kierowanie pakietów krok 2 - R1 odbiera ramkę Ethernet. R1 sprawdza, że docelowy MAC adres jest jego adresem, R1 rozbiera ramkę Ethernet, R1 pobiera docelowy adres IP, R1 szuka adresu docelowego w tablicy routingu, Po znalezieniu adresu docelowego w tablicy routingu, R1 wyszukuje adresu IP następnego skoku, R1 dokonuje ponownej enkapsulacji pakietu IP w nową ramkę Ethernet, R1 przesyła ramkę Ethernet przez interfejs Fa0/1. 24 8
Kierowanie pakietów 25 Kierowanie pakietów krok 3 pakiet dociera do R2: R2 odbiera ramkę Ethernet, R2 sprawdza czy docelowy adres MAC jest jego adresem, R2 rozbiera ramkę Ethernet, R2 analizuje docelowy adres IP, R2 szuka adresu docelowego w tablicy routingu, Po znalezieniu adresu docelowego w tablicy routingu, R2 wyszukuje adresu IP następnego skoku, R2 dokonuje enkapsulacji pakietu IP w ramkę warstwy łącza danych, R2 przekazuje ramkę przez interfejs S0/0. 26 Kierowanie pakietów Krok 4 pakiet dociera do routera R3: R3 odbiera ramkę PPP, R3 rozbiera ramkę PPP, R3 określa docelowy adres IP, R3 szuka docelowego adresu IP w tablicy routingu Po znalezieniu adresu docelowego w tablicy routingu, R3 przesyła do niego pakiet bezpośrednio przez interfejs Ethernet, R3 dokonuje enkapsulacji pakietu do ramki Ethernet, R3 przekazuje ramkę Ethernet przez interfejs Fa0/0, Krok 5 pakiet IP dociera do PC2 ramka jest przetwarzana przez protokoły warstw wyższych. 27
Przykład Korzystając z adresowania VLSM dokonaj podziału na podsieci (przypisz adresy i maski wszystkim podsieciom) w topologii przedstawionej na rysunku. 100 hostów 50 hostów 20 hostów 28 Przykład 2 Porty routera Porty WAN: Port DB-60/SmartSerial wspiera 5 różnych standardów okablowania. Porty LAN (Ethernet): Kabel zwykły: switch-router, switch-komputer, router-serwer, hubkomputer, hub-serwer, Kabel z przeplotem: switch-switch, komputer-komputer, switchhub, hub-hub, router-router. 30 10
Interfejsy Konfiguracja: domyślnie wszystkie interfejsy są wyłączone komenda no shutdown włącza interfejs 31 Interfejsy Sprawdzanie interfejsu Ethernet: show interface FastEthernet 0/0 status portu Ethernet show ip interface brief show running-config Port Ethernet również wspiera ARP. 32 Interfejsy 33 11
Sieć szczątkowa (stub) Routing statyczny wykorzystuje się do połączenia sieci szczątkowej z siecią szkieletową (konfiguracja łącza dostępowego). 34 Konfiguracja tablicy routingu Routing statyczny komenda IP route 35 Konfiguracja tablicy routingu Routing statyczny składnia: ip route komenda, 172.16.1.0 sieć docelowa, 255.255.255.0 maska sieci docelowej, 172.16.2.2 - adres IP interfejsu Serial 0/0/0 routera R2, który jest następnym skokiem do sieci docelowej 36 12
Konfiguracja tablicy routingu Konfiguracja routingu do sieci zdalnych Komendy dla routera R1 -R1(config)#ip route 12.168.1.0 255.255.255.0 172.16.2.2 -R1(config)#ip route 12.168.2.0 255.255.255.0 172.16.2.2 37 Routing w Linuxie route [-CFvnee] route [-v] [-A rodzina] add [-net -host] cel [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If] route [-v] [-A rodzina] del [-net -host] cel [gw Gw] [netmask Nm] [metric N] [[dev] If] route [-V] [--version] [-h] [--help] route add -net 127.0.0.0 dodaje normalny wpis zapętlenia używający maski sieciowej 255.0.0.0 (sieć klasy A, przyjęta z adresu docelowego) związany z urządzeniem lo (urządzenie to zostało wcześniej poprawnie skonfigurowane programem ifconfig). route add -net 12.56.76.0 netmask 255.255.255.0 dev eth0 dodaje trasę do sieci 12.56.76.x poprzez eth0 ; modyfikator sieci klasy C nie jest konieczny, gdyż 12.* jest adresem klasy C; słowo dev również można pominąć. 38 Przeszukiwanie tablicy Wyznaczanie interfejsu wyjściowego: Recursive route lookup gdy router przeszukuje wielokrotnie tablicę routingu przed przesłaniem pakietu; trasa statyczna, którą przesyłane są pakiety do adresu IP następnego skoku wyznaczana jest następująco: W pierwszym kroku router dopasowuje docelowy adres IP do adresu następnego skoku Następnie adres następnego skoku jest dopasowywany do odpowiedniego interfejsu wyjściowego routera. 3 13
Modyfikowanie tras statycznych 40 Modyfikowanie tras statycznych 41 Modyfikowanie tras statycznych show ip route 42 14
Sumaryzacja tras statycznych Mniejsze tablice routingu przyspieszają proces przeszukiwania Pojedynczy wpis w tablicy routingu może reprezentować setki, a nawet tysiące tras: Wiele tras statycznych może być sumaryzowanych do pojedynczej trasy, gdy: Sieci docelowe mogą być sumaryzowane w jeden adres sieciowy, Wiele tras statycznych wykorzystuje ten san interfejs wyjściowy routera lub ten sam adres IP następnego skoku, Sieć jest skonfigurowana w topologii hub-and-spoke (punkt centralny z podłączonymi wieloma gałęziami jedna trasa przez punkt centralny). 43 Sumaryzacja tras statycznych ip route 172.16.1.0 255.255.255.0 Serial0/0/1 ip route 172.16.2.0 255.255.255.0 Serial0/0/1 ip route 172.16.3.0 255.255.255.0 Serial0/0/1 ip route 172.16.0.0 255.255.252.0 Serial0/0/1 44 Sumaryzacja tras statycznych ping 172.16.1.1 ping 172.16.2.1 ping 172.16.3.1 45 15
Najlepsze dopasowanie Docelowy adres IP pakietu może pasować do wielu tras w tablicy routingu: 172.16.0.0/24 is subnetted, 3 subnets S 172.16.1.0 is directly connected, Serial0/0/0 S 172.16.0.0/16 is directly connected, Serial0/0/1 Pakiet z adresem docelowym 172.16.1.10 pasuje do obydwu tras, Proces przeszukiwania tablicy routingu używa najdłuższego dopasowania (24 bity w pierwszej trasie najdłuższe dopasowanie), Pakiet zostanie wysłany przez interfejs Serial0/0/0, Proces ten ma zastosowanie do wszystkich tras w tablicy routingu (statycznych, uzyskanych przez protokoły routingu dynamicznego oraz bezpośrednio połączonych). 46 Trasy domyślne Domyślna trasa statyczna pasuje do wszystkich pakietów Gdy żadna z tras w tablicy routingu nie spełnia dopasowania do docelowego adresu IP w pakiecie (zastosowanie podłączenie routera brzegowego do ISP), Gdy router podłączony jest tylko jednym łączem z innym routerem (router lub sieć typu stub - szczątkowa). Router(config)#ip route 0.0.0.0 0.0.0.0 [exit-interface ip-address ] Adres: 0.0.0.0, maska: 0.0.0.0 (quad-zero route) 47 Trasy domyślne przykład 48 16
Trasy domyślne przykład Trzy trasy statyczne na R1: ip route 172.16.1.0 255.255.255.0 serial 0/0/0 ip route 12.168.1.0 255.255.255.0 serial 0/0/0 ip route 12.168.2.0 255.255.255.0 serial 0/0/0 W routerze R1 trzy trasy statyczne zostają zastąpione pojedynczą trasą domyślną. Najpierw trzy trasy zostają usunięte: R1(config)#no ip route 172.16.1.0 255.255.255.0 serial 0/0/0 R1(config)#no ip route 12.168.1.0 255.255.255.0 serial 0/0/0 R1(config)#no ip route 12.168.2.0 255.255.255.0 serial 0/0/0 Następnie, skonfigurowana zostaje domyślna trasa statyczna na tym samym interfejsie wyjściowym Serial 0/0/0: R1(config)#ip route 0.0.0.0 0.0.0.0 serial 0/0/0 4 Trasy domyślne przykład 50 Algorytm Dijkstry 2 s 1 15 5 4 2 4 3 2 35 3 16 7 t 6 5 21 1 2 3 4 5 6 init 0 1 2 3 4 0 0 0 0 0 0 0 0 15 13 13 13 13 13 13 48 48 11 11 11 11 11 11 18 18 18 18 51 17