Wstęp do routerów i routingu dr inż. Dariusz CHAŁADYNIAK dchalad@wwsi.edu.pl
Zagadnienia Budowa i działanie routera Podłączenie do portu konsoli routera Tryb EXEC użytkownika i tryb EXEC uprzywilejowany Podstawowa konfiguracja routera Konfiguracja interfejsów routera Testy łączności sieciowej Routing statyczny Routing dynamiczny
Źródła wykorzystane w prezentacji Cisco Systems, Inc, Akademia sieci Cisco, semestry 1 & 2, MIKOM, Warszawa, 2004 Leinwand A., Pinsky B., Konfiguracja routerów Cisco. Podstawy, MIKOM, Warszawa, 2002 Kaczmarek W. A., Certyfikacja CCNA. Podstawy działania sieci komputerowych. Zasady przełączania i routingu, MIKOM, Warszawa, 2007 Praca zbiorowa, Vademecum teleinformatyka I, IDG, Warszawa, 1999
Historia routera Początek lat 80-tych XX wieku - Kalifornijski Uniwersytet Stanford Leonard Bosack wydział nauk komputerowych (Department of Computer Sciences) Sandra Lerner szkoła handlowa (Graduate School of Business) Oddalone i odseparowane systemy komputerowe 1984 powstanie firmy Cisco Systems
Router na tle modelu ISO/OSI
Router Router to specjalny typ komputera. Router to urządzenie sieciowe, realizujące usługi trasowania (tzn. wybierania optymalnej marszruty) i przełączania pakietów pomiędzy wieloma sieciami. Router wymaga oprogramowania IOS (ang. Internetwork Operating System). Router korzysta z protokołów routingu do określenia najlepszej ścieżki dla pakietów.
Główne zadanie routera - wybór najlepszej ścieżki
Główne podzespoły wewnętrzne routera
Cechy i funkcje pamięci RAM przechowuje tablice routingu, zawiera pamięć podręczną protokołu ARP, zawiera aktualną konfigurację routera, pełni funkcję pamięci tymczasowej dla pliku konfiguracyjnego po włączeniu routera, traci zawartość po wyłączeniu lub restarcie routera.
Cechy i funkcje pamięci NVRAM przechowuje pliki konfiguracji początkowej (o ile została zapisana, w nowych, pierwszy raz uruchomionych routerach, jest ona pusta) i ich kopie zapasowe, utrzymuje zawartość po wyłączeniu lub restarcie routera.
Cechy i funkcje pamięci flash - (Erasable Programmable ROM EPROM) przechowuje obraz IOS, umożliwia aktualizację oprogramowania bez konieczności wyjmowania i wymiany układów scalonych karty, utrzymuje zawartość po wyłączeniu lub restarcie routera, może przechowywać wiele wersji oprogramowania IOS.
Cechy i funkcje pamięci ROM zawiera instrukcje dla procedur diagnostycznych POST (Power-On Self Test), przechowuje program uruchomieniowy (bootstrap) i podstawowe oprogramowanie systemu operacyjnego, w przypadku aktualizacji oprogramowania wymaga wymiany wyjmowanych układów scalonych na płycie głównej.
Wewnętrzne podzespoły routera 2600
Zewnętrzne podzespoły routera 2600
Połączenia zewnętrzne
Połączenie konsoli komputera lub terminala
Połączenie modemowe z portem pomocniczym AUX
Konfiguracja HyperTerminal
Interfejs użytkownika routera Interfejs wiersza poleceń (CLI Command Line Interface) jest tradycyjną konsolą wykorzystywaną przez oprogramowanie Cisco IOS. Istnieje kilka metod dostępu do środowiska CLI: Konsola, Zdalny dostęp przy użyciu połączenia telefonicznego, Sesja Telnet.
Tryb EXEC użytkownika (user mode) Tryb EXEC użytkownika udostępnia jedynie ograniczony zestaw podstawowych poleceń do monitorowania. Tryb EXEC użytkownika nie udostępnia żadnych poleceń, które umożliwiają zmianę konfiguracji routera. Tryb EXEC użytkownika jest oznaczony symbolem >.
Tryb EXEC uprzywilejowany (privileged mode) Uprzywilejowany tryb EXEC umożliwia dostęp do wszystkich poleceń routera. Aby z poziomu EXEC użytkownika uzyskać dostęp do uprzywilejowanego poziomu EXEC, należy po symbolu > wprowadzić polecenie enable. Jeśli skonfigurowane jest hasło, router zażąda jego podania. Po wprowadzeniu poprawnego hasła symbol zachęty routera zmieni się na symbol #.
Przełączanie pomiędzy trybem EXEC użytkownika a uprzywilejowanym trybem EXEC
Lista poleceń w trybie użytkownika
Lista poleceń w trybie uprzywilejowanym
Kolejne czynności podczas inicjowania routera
Pola w nazwie pliku obrazu IOS Istnieje wiele różnych wersji oprogramowania Cisco IOS. System IOS obsługuje różne platformy sprzętowe i funkcje. W celu zapewnienia możliwości rozróżnienia poszczególnych wersji utworzona została konwencja nazewnictwa plików systemu IOS.
Przegląd trybów routera
Konfigurowanie nazwy routera Jednym z pierwszych zadań konfiguracyjnych powinno być nadanie routerowi unikatowej nazwy. Zadanie to wykonuje się w trybie konfiguracji globalnej za pomocą następującego polecenia: Router(config)#hostname Tokyo Po naciśnięciu klawisza Enter nazwa w symbolu zachęty zmieni się z domyślnej (Router) na nowo skonfigurowaną (Tokyo). Tokyo(config)#
Zapisywanie ustawień konfiguracji routera Aby zapisać aktualną konfigurację routera do pamięci NVRAM należy wydać jedno z poniższych poleceń: Router#copy running-config startup-config Router#copy running startup Router#copy run start
Hasło routera dla konsoli W celu ustawienia hasła dla linii konsoli używa się następujących poleceń (cyfra 0 oznacza numer portu konsoli): Router(config)#line console 0 Router(config-line)#password <hasło> Aby wymusić logowanie do portu konsoli za pomocą zdefiniowanego hasła, należy użyć polecenia login. Router(config-line)#login
Hasło routera dla terminala wirtualnego Aby użytkownicy mieli zdalny dostęp do routera przez połączenie Telnet, należy ustawić hasło dla jednej lub wielu linii vty. Do ustawienia hasła dla wszystkich linii vty używa się następujących poleceń: Router(config)#line vty 0 4 Router(config-line)#password <hasło> Router(config-line)#login
Hasło routera dla trybu uprzywilejowanego Polecenia enable password i enable secret służą do ograniczania dostępu do uprzywilejowanego trybu EXEC. Polecenie enable password używane jest tylko wtedy, gdy nie zostało zastosowane polecenie enable secret. Do ustawienia haseł używa się następujących poleceń: Router(config)#enable password <hasło> Router(config)#enable secret <hasło>
Szyfrowanie haseł Następujące polecenie służy do szyfrowania haseł w danych wyjściowych poleceń konfiguracyjnych: Router(config)#service password-encryption Polecenie service password-encryption włącza szyfrowanie wszystkich niezaszyfrowanych haseł za pomocą nieskomplikowanego algorytmu. W poleceniu: enable secret <hasło> zastosowano zaawansowany algorytm szyfrowania MD5.
Polecenia show Wybrane funkcje poleceń show: show interfaces: Wyświetla dane statystyczne dotyczące wszystkich interfejsów routera. Aby wyświetlić dane statystyczne dotyczące określonego interfejsu, należy wpisać polecenie show interface wraz z nazwą określającą typ interfejsu oraz numerem gniazda/portu. Router#show interface serial 0/1 Router#show interface ethernet 0
show controllers serial: Wyświetla specyficzne informacje dotyczące sprzętu interfejsu. W poleceniu należy także podać port lub numer gniazda/portu interfejsu szeregowego. Na przykład: Router#show controllers serial 0/1 show clock: Wyświetla godzinę ustawioną w routerze show hosts: Wyświetla przechowywaną w pamięci podręcznej listę nazw i adresów hostów show users: Wyświetla nazwy wszystkich użytkowników podłączonych do routera show history: Wyświetla historię wprowadzonych poleceń show flash: Wyświetla informacje o pamięci flash oraz o plikach IOS w niej przechowywanych.
show version: Wyświetla informacje o załadowanej w danym momencie wersji oprogramowania wraz z danymi o sprzęcie i urządzeniach. show arp: Wyświetla tablicę ARP routera show protocols: Wyświetla status wszystkich skonfigurowanych protokołów warstwy 3 w ujęciu globalnym i z uwzględnieniem konkretnych interfejsów show startup-configuration: Wyświetla zawartość pamięci NVRAM, jeśli istnieje i jest poprawna, lub prezentuje plik konfiguracyjny wskazywany przez zmienną środowiskową CONFIG_FILE show running-config: Wyświetla zawartość wykorzystywanego w danym momencie pliku konfiguracyjnego lub konfigurację dla konkretnego interfejsu bądź informacje o klasie odwzorowania.
Polecenie show version Polecenie show version wyświetla: - wersję Cisco IOS, - wersję programu bootstrap ROM, - czas pracy routera, - ostatni sposób restartu routera, - nazwę pliku obrazu IOS i jego lokalizację, - platformę routera i ilość pamięci RAM - ustawienie rejestru konfiguracji
Polecenie show flash Polecenie show flash wyświetla zawartość pamięci flash i sprawdza, czy system posiada wystarczającą ilość wolnej pamięci do wczytania nowego obrazu Cisco IOS
Konfiguracja interfejsu ethernetowego Każdy interfejs Ethernet musi mieć zdefiniowany adres IP i maskę podsieci, aby mógł przesyłać pakiety IP. Aby skonfigurować interfejs Ethernet, należy wykonać następujące czynności: Przejdź do trybu konfiguracji globalnej. Przejdź do trybu konfigurowania interfejsu. Podaj adres interfejsu i maskę podsieci. Włącz interfejs.
Połączenia sieci WAN W środowisku laboratoryjnym urządzenia tworzące sieć rozległą są symulowane przez połączenia pomiędzy kablami łączącymi bezpośrednio urządzenia DTE-DCE.
Konfiguracja interfejsu szeregowego Aby skonfigurować interfejs szeregowy, należy wykonać następujące czynności: - przejdź do trybu konfiguracji globalnej. - przejdź do trybu interfejsu. - podaj adres interfejsu i maskę podsieci. Jeśli podłączony jest kabel DCE, ustaw częstotliwość zegara. Pomiń tę czynność, jeśli podłączony jest kabel DTE. Włącz interfejs.
Poniżej przedstawiono polecenia służące do jej ustawienia i włączenia interfejsu: Router(config)#interface serial 0/0 Router(config-if)#clock rate 56000 Router(config-if)#no shutdown Do obejrzenia stanu pracujących interfejsów służą poniższe plecenia: Router#show interfaces Router#show ip interface Router#show ip interface brief
Opisy interfejsów - Configuring Interface Descriptions Opis interfejsu powinien zawierać istotne informacje, na przykład dotyczące sąsiedniego routera, numeru obwodu lub konkretnego segmentu sieci. Opis interfejsu może pomóc użytkownikowi sieci zapamiętać określone informacje na jego temat, na przykład do jakiej sieci jest on podłączony.
Komunikaty logowania Komunikaty logowania są wyświetlane na ekranie w trakcie logowania. Mogą one służyć do przekazywania informacji istotnych dla wszystkich użytkowników sieci, na przykład o zaplanowanych wyłączeniach systemu.
Komunikat dnia (MOTD) Aby utworzyć i wyświetlić komunikat dnia (MOTD, ang. message-ofthe-day) - wyświetlany na wszystkich podłączonych terminalach - należy wykonać poniższe czynności: Za pomocą polecenia configure terminal przejdź do trybu konfiguracji globalnej. Wpisz polecenie banner motd # <komunikat dnia>. Za pomocą polecenia copy running-config startup-config zapisz zmiany.
Odwzorowywanie nazw hostów Odwzorowywanie nazw hostów jest procesem, za pomocą którego system komputerowy kojarzy nazwę hosta z adresem IP. Aby móc używać nazw hostów do komunikowania się z innymi urządzeniami IP, urządzenia sieciowe, takie jak routery, muszą być w stanie powiązać te nazwy z odpowiednimi adresami IP. Lista nazw hostów i powiązanych z nimi adresów IP nosi nazwę tablicy hostów. Poniżej przedstawiono przykłady konfiguracji tablicy hostów w routerze.
Protokół Telnet Zapewnia możliwość zdalnego logowania. Polecenie Telnet systemu IOS umożliwia sprawdzenie warstwy aplikacji między źródłem a celem. Każdy router może obsłużyć kilka sesji Telnet równocześnie.
Ustanawianie połączenia Telnet Pięć poniższych poleceń umożliwia osiągnięcie takiego samego efektu próby nawiązania zdalnego połączenia z routerem o nazwie Paris z adresem IP 131.108.100.152: Denver>telnet Paris //wcześniej należy odwzorować adres IP do hosta Paris Denver>telnet 131.108.100.152 Denver>Paris //gdy polecenie IP host wykorzystuje domyślny port Denver>connect Paris Denver>131.108.100.152
Operacje protokołu Telnet //lub logout //lub resume
Polecenie ping Polecenie ping wysyła pakiet do hosta docelowego, a następnie oczekuje na pakiet odpowiedzi tego hosta. Jest to podstawowy mechanizm testowania. Operację tę można przeprowadzić w trybie EXEC użytkownika lub w trybie uprzywilejowanym. W poleceniu ping wykorzystywany jest protokół ICMP
Polecenie traceroute //lub trace 172.16.33.5 Polecenie traceroute, często nazywane też trace, umożliwia znalezienie drogi przesyłania danych w sieci. Polecenie traceroute jest podobne do polecenia ping. Operację tę można przeprowadzić na poziomie EXEC użytkownika lub na poziomie uprzywilejowanym.
Wprowadzenie do routingu Główne przeznaczenie routera to przekazywanie pakietów z jednej sieci do drugiej. Tablica routingu może być zbudowana na kilka sposobów: statycznie zaprogramowana trasa, którą administrator sieci wprowadza do routera, dynamicznie trasa, którą protokół routingu automatycznie dostosowuje do zmian topologii
Cechy routingu statycznego Router przesyła pakiety przez z góry ustalone interfejsy bez konieczności każdorazowego obliczania tras, co zmniejsza zajętość cykli procesora i pamięci. Zmniejsza się zajętość pasma transmisji, gdyż nie są rozsyłane pakiety rozgłoszeniowe protokołów routingu dynamicznego. Routing statyczny zapewnia konfigurację tras domyślnych, nazywanych bramkami ostatniej szansy (gateway of the last resort). Routing statyczny wymaga jednak od administratora sporego nakładu pracy w początkowej fazie konfiguracji sieci, nie jest również w stanie reagować na awarie poszczególnych tras.
Konfigurowanie tras statycznych Aby skonfigurować trasy statyczne, należy wykonać następujące czynności: 1. Określ sieci docelowe, ich maski podsieci oraz bramy. Brama może być zarówno interfejsem lokalnym, jak i adresem następnego przeskoku prowadzącym do sąsiedniego routera. 2. Przejdź do trybu konfiguracji globalnej. 3. Wpisz polecenie ip route z prefiksem i maską oraz adresem określonym w kroku 1. Skonfigurowanie dystansu administracyjnego jest czynnością opcjonalną. 4. Powtórz krok 3 dla wszystkich sieci docelowych zdefiniowanych w kroku 1. 5. Opuść tryb konfiguracji globalnej. 6. Za pomocą polecenia copy running-config startup-config zapisz aktywną konfigurację w pamięci NVRAM.
Konfigurowanie tras statycznych
Sprawdzanie konfiguracji trasy statycznej Po skonfigurowaniu tras statycznych istotne jest sprawdzenie, czy są one obecne w tablicy routingu i czy routing działa zgodnie z oczekiwaniami. Aby sprawdzić konfigurację trasy statycznej, należy wykonać następujące czynności: 1. Wprowadź polecenie show running-config w trybie uprzywilejowanym, aby wyświetlić aktywną konfigurację. 2. Sprawdź, czy trasa statyczna została prawidłowo wprowadzona. Jeśli trasa nie jest prawidłowa, przejdź do trybu konfiguracji globalnej i usuń nieprawidłową trasę statyczną, a następnie wprowadź prawidłową. 3. Wprowadź polecenie show ip route. 4. Sprawdź, czy skonfigurowana trasa znajduje się w tablicy routingu.
Protokoły routingu dynamicznego Przykłady protokołów routingu dynamicznego: protokół RIP (ang. Routing Information Protocol), protokół IGRP (ang. Interior Gateway Routing Protocol), protokół EIGRP (ang. Enhanced Interior Gateway Routing Protocol), protokół OSPF (ang. Open Shortest Path First).
Wewnętrzne i zewnętrzne protokoły routingu dynamicznego Wyróżniamy dwie kategorie protokołów routingu dynamicznego: protokoły wewnętrznej bramy IGPs (Interior Gateway Protocols): RIP IGRP EIGRP OSPF IS-IS (Intermediate System-to-Intermediate System) protokoły zewnętrznej bramy EGPs (Exterior Gateway Protocols): BGP (Border Gateway Protocol). Systemy te są sklasyfikowane w zależności od tego, jak współpracują one względem systemów autonomicznych.
Wewnętrzne i zewnętrzne protokoły routingu dynamicznego
Systemy autonomiczne System autonomiczny to grupa sieci pozostających pod wspólną administracją i współdzielących tę samą strategię routingu. IANA (Internet Assigned Numbers Authority) nadaje numery systemów autonomicznych regionalnym organizacjom rejestrującym. Numer systemu autonomicznego jest 16-bitowym numerem identyfikacyjnym.
Klasy protokołów routingu dynamicznego
Cechy protokołu routingu wektora odległości Algorytm działający na podstawie wektora odległości okresowo przekazuje pomiędzy routerami kopie tablicy routingu. Algorytm routingu działający na podstawie wektora odległości znany jest jako algorytm Bellmana-Forda. Każdy router otrzymuje tablicę routingu od bezpośrednio z nim połączonych routerów sąsiednich. Algorytm powoduje w efekcie zebranie sumarycznych informacji o odległościach dzielących sieci, dzięki czemu możliwe jest utrzymywanie bazy danych topologii sieci.
Każdy router korzystający z routingu działającego na podstawie wektora odległości w pierwszej kolejności identyfikuje swoich sąsiadów. Interfejs prowadzący do bezpośrednio podłączonej sieci ma odległość równą 0. W miarę postępu procesu rozpoznawania opartego na algorytmie wektora odległości, na podstawie informacji otrzymanych od swoich sąsiadów router ustala najlepsze trasy do sieci docelowych.
Algorytmy działające na podstawie wektora odległości nakazują każdemu routerowi wysłanie swojej tablicy routingu do każdego z sąsiednich routerów. Tablice routingu zawierają informacje na temat całkowitego kosztu ścieżki zdefiniowanego przez jego metrykę.
Funkcje protokołu routingu według stanu łącza Algorytm stanu łącza jest również znany jako algorytm Dijkstry lub algorytm SPF (ang. shortest path first). Routing stanu łącza wykorzystuje następujące elementy: ogłoszenie LSA (ang. Link-state advertisement) mały pakiet informacji o routingu wysyłany pomiędzy routerami; baza danych topologii zbiór informacji zebranych na podstawie ogłaszania LSA; algorytm SPF obliczenia wykonywane na podstawie informacji z bazy danych, dające w wyniku drzewo SPF; tablica routingu lista znanych ścieżek i interfejsów.
Funkcje protokołu routingu według stanu łącza