Kurs Packet Tracer 6.2 — od zera do sieci tworzenia cz.3
Znamy już najważniejsze podstawy dotyczące sieci komputerowych. W tym odcinku możemy więc zająć się tworzeniem bardziej rozbudowanych sieci. Omówimy m.in. urządzenie zwane routerem, którego istnienie do tej pory lekceważyliśmy. Zajmiemy się także routingiem i podstawowymi protokołami routingu. A więc do dzieła!
Router – cóż to takiego?
Prawie każdy z nas posiada w domu plastikową puszkę zwaną routerem. Ale czy wiemy, jak ona działa i za co odpowiada (poza lakonicznym „dzieleniem Internetu między wiele komputerów:) ) Spróbujmy się nad tym zastanowić.
Router jest przede wszystkim urządzeniem międzysieciowym, czyli służy do łączenia dwóch lub większej ilości różnych sieci. Pracuje w warstwie trzeciej modelu OSI, co pozwala mu operować na logicznych adresach sieciowych. Router odpowiada za znalezienie najkrótszych ścieżek dla pakietów. Może łączyć sieci różnych standardów (Ethernet co prawda najpopularniejszym, ale istnieją także inne, takie jak TokenRing czy ATM).
Patrząc z perspektywy, mógłbyś powiedzieć, że routing (to, co robi router) i przełączanie (to, co robi przełącznik) niewiele się od siebie różnią, gdyż i to, i to zarządza ruchem danych w sieci. Podstawowe funkcje są podobne – fakt, ale istnieją znaczne różnice w zasadzie działania między routingiem a przełączaniem. Przede wszystkim obydwa procesy przy wykonywaniu swoich zadań korzystają z różnych danych – trasowanie opiera się głównie o adresy IP, natomiast switching o adresy MAC. Poza tym najprostsze przełączniki nie blokują rozgłoszeń (pracują w jednej domenie rozgłoszeniowej), co może doprowadzić do tzw. burzy rozgłoszeń.
Aby dogłębniej zrozumieć różnicę między routerem a przełącznikiem spróbujmy odnieść się do innego rodzaju sieci – sieci telefonicznych. Wyobraźmy sobie np.: firmę, która posiada lokalną centralę telefoniczną. Zawiera w pamięci wszystkie lokalne numery telefonów. Co jednak w przypadku, kiedy zapragniemy zadzwonić poza lokalną sieć? Wtedy lokalna centralka komunikuje się z inną, która jest wyżej w hierarchii (np.: do wojewódzkiej centralki, rozpoznającej numery kierunkowe) itd. Router można porównać właśnie do tej centralki wyższego rzędu, gdyż pełni podobną funkcję.
Powinniśmy w tym momencie domyślać się, do czego np.: w konfiguracji karty sieciowej służy brama domyślna. Otóż jest to po prostu najbliższe „wyjście na świat” – router pozwalający wyjść pakietom poza naszą sieć lokalną.
Protokoły routowalne a protokoły routingu
W tym dziale często można spotkać się z wyżej wymienionymi pojęciami. Można by pomyśleć, że oznaczają to samo – wszak – różni się tylko końcówka :). Jednak tak nie jest. Protokoły routingu służą routerom między innymi do dzielenia się informacjami na temat sąsiadujących sieci. Przykładami są m.in. OSPF, RIP, IGRP, EIGRP, BGP. Protokoły routowalne to protokoły, które „przenoszą dane” poprzez sieć. Muszą zawierać wszelkie niezbędne informacje, które pozwolą routerowi na dostarczenie danych do miejsca docelowego. Przykładem może być sławny i znany protokół IP.
Protokoły routingu
Protokołów trasowania jest dużo, więc muszą być jakoś uporządkowane, jakoś podzielone, aby można było się w tym połapać. Zajmijmy się teraz tymi podziałami.
Najpierw zastanówmy się ogólnie nad podziałem routingu. Protokoły pozwalają na w miarę automatyczne poznawanie kolejnych sieci przez router. Jednakże, musi istnieć także możliwość samodzielnego ustalenia trasy z punktu A do punktu B. Tu możemy zauważyć już pierwszy podział, więc podsumujmy:
- Routing statyczny – sami ustalamy trasę pakietów z punktu A do punktu B.
- Routing dynamiczny – ustalaniem trasy zajmują się protokoły routingu
Zajmijmy się teraz rodzajami protokołów routingu dynamicznego. Przede wszystkim inne protokoły używane są w małych sieciach (np.: biurowych, szkolnych itd.) a inne ogólnie w Internecie. Tu wyłania nam się kolejna metoda podziału protokołów - ze względu na zależności między routerami:
- Wewnętrzne protokoły trasowania – używane są do wymiany informacji w pojedynczym systemie autonomicznym, np.: w obrębie biur jednej firmy, w obrębie kilku budynków szkoły itd.
- Zewnętrzne protokoły trasowania – używane są do wymiany informacji pomiędzy różnymi systemami autonomicznymi. (np.: pomiędzy twoim komputerem a portalem Dobreprogramy :) ).
Następnym kryterium, wg których możemy podzielić protokoły routingu jest sposób ich działania. Wyróżniamy tu trzy kategorie:
- Protokoły wektora odległości – podczas wyznaczania trasy sugerują się odległością między routerami (czyli „liczbą skoków”). Router operujący protokołem wektora odległości wysyła do wszystkich sąsiadujących routerów uaktualnienia (np.: co 30s)..
- Protokoły stanu łącza – podczas wyznaczania trasy sugerują się obciążeniem łącza, jego prędkością itd. Router operujący protokołem stanu łącza przekazuje do sąsiadujących routerów informację, wtedy, gdy zmieni się topologia sieci. Uaktualnienia przesyłane są także okresowo (np.: co 30min).
- Protokoły hybrydowe – łączą cechy obydwu wcześniejszych rodzajów.
Podstawowe protokoły routingu i ważne pojęcia
Znamy już podział protokołów routingu. Powinniśmy teraz zapoznać się z ogólną charakterystyką poszczególnych protokołów, ale przedtem wykształćmy się w zakresie ważnych pojęć, gdyż bez nich ciężko będzie zrozumieć niektóre zagadnienia:
- Metryka – określa tak jakby „jakość” trasy. W przypadku RIPv1 jest to po prostu liczba skoków. Bardziej zaawansowane protokoły (takie jak IGRP) biorą także pod uwagę obciążenie łącza, prędkość, niezawodność, opóźnienie i wiele innych czynników.
- Tablica routingu – jest to miejsce, w którym router przechowuje informacje o znanych sieciach. Innymi słowy, jeśli router nie będzie miał danej trasy w swojej tablicy routingu, to nie będzie mógł z niej skorzystać, chyba że zdefiniowana jest trasa domyślna.
- Trasa domyślna – routery musiałyby mieć potężne pamięci masowe, aby przechowywać informacje o trasie do każdego miejsca na świecie. Byłoby to po prostu nieopłacalne. Dlatego też wymyślono pojęcie trasy domyślnej. Jeśli nasz router nie może w swojej tablicy routingu znaleźć docelowej sieci, kieruje pakiet trasą domyślną. Wtedy ten drugi router musi się martwić, co zrobić z pakietem a nie nasz :)
- System autonomiczny – zacytuję za Wikipedią, gdyż nie ma tu wiele do wyjaśniania – „to zbiór adresów sieci IP pod wspólną administracyjną kontrolą, w którym utrzymywany jest spójny schemat routingu”.
Najprostszym protokołem routingu jest RIP. Używa on liczby skoków do określenia odległości do każdego routera w sieci. Jeżeli istnieje kilka ścieżek do tego samego miejsca, wybierana jest ta, która wymaga najmniejszej ilości skoków. W tym momencie nie ma znaczenia obciążenie łącza, jego przepustowość itd. Liczy się tylko liczba skoków. Trasy oparte o protokół RIP mogą przebiegać przez maksymalnie 15 routerów. Istnieją dwie wersje protokołu RIP
- RIPv1 – stara wersja protokołu. Specyfikacja RIPv1 została opublikowana w 1988 r. w dokumencie RFC 1058. (To było aż 28 lat temu!). Nie wspiera adresowania bezklasowego i masek podsieci..
- RIPv2 – najczęściej wykorzystywana wersja protokołu RIP. Jej specyfikacja zawarta jest w dokumencie RFC1723 z roku 1994. RIPv2 wspiera tzw. routing z prefiksem, czyli adresowanie bezklasowe.
IGRP – jest to protokół hybrydowy. Przeznaczony jest do dużych sieci, gdyż posiada o wiele większy limit skoków niż RIP. W przeciwieństwie do RIP, o wyborze najlepszej ścieżki decyduje nie tylko liczba skoków, ale także opóźnienie, szerokość pasma, niezawodność. Podobnie jak RIPv1 używa tylko routingu klasowego. Protokół własnościowy firmy Cisco.
EIGRP – zawiera wszystkie pozytywne cechy IGRP, natomiast nie posiada jego wad, gdyż pozwala na korzystanie z adresowania bezklasowego. Protokół własnościowy firmy Cisco.
OSPF – jest to protokół stanu łącza. Został opracowany w 1988 roku. Standardy protokołu OSPF zostały zapisane w dokumencie RFC2328. Stworzony w tym samym celu co protokoły IGRP i EIGRP, czyli do obsługi dużych sieci. Jednakże jest, w przeciwieństwie do wyżej wymienionych, otwartym protokołem.
Podstawy obsługi Cisco IOS
Jeśli wcześniej nie słyszałeś o produktach Cisco, nazwa IOS pewnie kojarzy ci się z systemem firmy Apple. Nic bardziej mylnego, gdyż te dwa systemy nie mają ze sobą nic wspólnego.
Aby wejść do systemu IOS w programie Packet Tracer, kliknij dwa razy na routerze a potem przejdź na zakładkę CLI.
Jeśli nie używałeś wcześniej zakładki Config, zostaniesz pewnie powitany pytaniem „Continue with configuration dialog? (yes/no)”. Jeśli odpowiesz: yes – system zada kilka pytań o podstawową konfigurację, czyli m.in. o nazwę hosta, adresy IP interfejsów, hasła itd. W naszym przypadku najczęściej będziemy odpowiadali no.
Router Cisco posiada dwa poziomy bezpieczeństwa:
[list] [item]Tryb użytkownika (rozpoznamy go, jeśli po nazwie hosta występuje znak >, np.: Router>) – wykorzystywany jest do typowych zadań związanych ze sprawdzeniem statusu routera. W tym trybie nie jest dozwolona zmiana konfiguracji.[/item][item]Tryb uprzywilejowany – rozpoznamy go po znaku # (np.: Router#). W tym trybie dozwolona jest zmiana konfiguracji routera. [/item] Aby uzyskać dostęp do trybu uprzywilejowanego, musimy wpisać polecenie enable. Jeśli ustawilibyśmy hasło, w tym momencie nastąpiłaby prośba o jego podanie. Aby wejść do trybu konfiguracji routera, musimy podać polecenie config terminal. Istnieją również inne przełączniki dla tego polecenia (np.: config network) ale Packet Tracer nie wspiera pozostałych opcji.
Warto dodać, że polecenia możemy skracać. Np.: polecenie en zostanie rozpoznane jako enable. Jeśli nie znamy całego polecenia, możemy nacisnąć znak ? podczas wpisywania. Zostaną wtedy wyświetlone wszystkie możliwe zakończenia tego, co wpisaliśmy. Warto przyswoić sobie jeszcze jedno ważne polecenie, a mianowicie:
copy running config startup-config
Cóż ono robi? Otóż, wszystkie zmiany w konfiguracji routera, które wprowadzamy, zapisywane są w pamięci RAM. Stąd też są tracone, jeśli wyłączymy router (np.: w celu dodania jakiegoś modułu). Polecenie to zapisuje konfigurację routera do pamięci NVRAM, która jest nieulotna.
Routing statyczny
Rozpoczniemy od najprostszego rodzaju routingu – trasowania statycznego. Na czym ono polega, było wytłumaczone wcześniej. Bierzemy się więc za praktykę:
Utwórz topologię taka jak na rysunku poniżej: (nie przejmuj się na razie, że u ciebie połączenia świecą się na czerwono. Interfejsy nie są jeszcze po prostu włączone i skonfigurowane). Ważna uwaga: zwracaj uwagę na interfejsy, które ze sobą łączysz. Są one opisane przy połączeniach na rysunku poniżej jako np.: fa0/0, fa0/1. Aby moje instrukcje sprawdziły się w twoim przypadku, musisz połączyć routery dokładnie tak, jak na schemacie.
Router 1841 ma domyślnie dwa interfejsy FastEthernet. Urządzeniu Router1 potrzebny jest dodatkowy, trzeci. Aby go dodać, musimy otworzyć okno konfiguracji routera. Na pierwszej zakładce (Physical) widzimy przybliżony wygląd tego routera w rzeczywistości. Musimy do niego dołożyć moduł WIC‑1ENET, który dodaje jeden port Ethernet 10Mbps. Aby to zrobić, wyłączamy router, przeciągamy moduł na jego miejsce, a potem włączamy router. Efekt tego działania jest widoczny na rysunku poniżej.
Nadaj komputerom i urządzeniom adresy IP wg poniższej tabelki:
Nie zapomnij o włączeniu interfejsów na routerach!. Aby to zrobić, zaznacz ptaszkiem polecenie On w oknie konfiguracji interfejsu, podobnie jak na poniższym screenie.
Najpierw spróbujmy przetestować połączenie bez konfiguracji routingu. Wejdź w terminal komputera PC0 i wpisz polecenie ping 192.168.3.2. Jak widzisz na screenie poniżej, od bramy sieciowej przyszła odpowiedź, że lokalizacja docelowa jest niedostępna. Dzieje się tak, ponieważ router nie ma żadnych informacji o pozostałych sieciach. Spróbujemy rozwiązać ten problem.
Zacznijmy od Router0. Musimy mu wyjaśnić, że aby pakiet trafił do sieci 192.168.3.0, musi go wysłać na interfejs Fa0/0 urządzenia Router1. Wejdźmy więc do CLI na Router0. Jeśli widzisz znak zachęty >. Np.: Router>, to wpisz polecenie en, a następnie config t. Informacja, że jesteś w trybie konfiguracji, będzie przedstawiona w postaci znaku zachęty wyglądającego np.: tak: Router(config)#.
Zapoznajmy się z poleceniem ip route. Jego podstawowa składnia jest następująca:
ip route adres_ip_docelowej_sieci maska_docelowej_sieci adres_nastepnego_skoku
Gdy jesteśmy w trybie konfiguracji, podajmy polecenie: [code]ip route 192.168.3.0 255.255.255.0 10.0.0.2.[/code] Oznacza ono, że jeśli pakiet ma trafić do sieci 192.168.3.0, musi zostać wysłany na adres 10.0.0.2, czyli na interfejs Fa0/0 urządzenia Router1.
Pakiet dociera do Router1, ale głupi dalej nie wie, co z tym pakietem zrobić. Poinstruujmy go więc, aby wysłał to co otrzyma na interfejs Fa0/0 urządzenia Router4. Po zalogowaniu się i przejściu w tryb konfiguracji podaj polecenie: [code]ip route 192.168.3.0 255.255.255.0 10.0.0.6[/code]
. Spróbuj teraz ponownie spingować komputer PC5 z PC0. Co, dalej niepowodzenie? Jeśli zastanawiasz się, dlaczego, przejdź w tryb symulacji i obserwuj drogę pakietu ICMP. Zauważysz, że dociera poprawnie do PC5 i nawet następuje odpowiedź, ale nie jest skonfigurowana trasa w drugą stronę. Router4 nie wie, gdzie ma przesłać ten pakiet. Musimy więc wytłumaczyć mu, gdzie leży sieć 192.168.1.0. Robimy to w ten sam sposób, co poprzednio: Zaloguj się na Router4 i wpisz polecenie:
ip route 192.168.1.0 255.255.255.0 10.0.0.5.[/code] Podobnie na Router1: [code]ip route 192.168.1.0 255.255.255.0 10.0.0.1
Teraz powinniśmy uzyskać pełną komunikację. Ping z PC0 lub PC1 na PC4 lub PC5 powinien zakończyć się sukcesem. Została nam jeszcze komunikacja z siecią 192.168.2.0. Rozwiązanie tego problemu pozostawiam jako ćwiczenie dla czytelnika. (Jeśli nie chce ci się tego robić, pod koniec artykułu znajdują się linki do gotowych plików pkt).
Sieć skonfigurowana. Uzyskaliśmy komunikację między wszystkimi komputerami. Zerknijmy jeszcze na tablice routingu w poszczególnych routerach. Zacznijmy od Router0. Aby to zrobić, musimy wyjść z trybu konfiguracji poleceniem exit (znak zachęty powinien wyglądać np.: tak: Router#). Wydajemy polecenie [code]show ip route[/code] .
Na początku wyniku tego polecenia mamy opis poszczególnych znaków – co one znaczą. Później mamy wyświetloną właściwą tablicę routingu. Zacznijmy jej analizę:
10.0.0.0/30 is subnetted, 1 subnets C 10.0.0.0 is directly connected, FastEthernet0/0
Oznacza, że sieć 10.0.0.0 jest podzielona na podsieci, a do routera bezpośrednio podłączona jest jedna podsieć – zgadza się, gdyż adresów z tej podsieci używaliśmy do adresowania interfejsów służących do komunikacji między routerami.
C 192.168.1.0/24 is directly connected, FastEthernet0/1
kolejna sieć przyłączona bezpośrednio routera.
S 192.168.2.0/24 [1/0] via 10.0.0.2.
tu zapisane zostało to, co wcześniej konfigurowaliśmy. S oznacza, że mamy do czynienia z routingiem statycznym. Potem mamy podany adres sieci docelowej 192.168.2.0/24. To, co jest w nawiasie kwadratowym to nic innego jak metryka – opłacalność poruszania się daną trasą. Po słówku via mamy adres następnego skoku – czyli aby pakiet dotarł do sieci 192.168.2.0, jego trasa musi przebiegać przez router z interfejsem 10.0.0.2. Spójrzmy jeszcze na Router1, który łączy te 3 sieci.
Widzimy tu, że router ten wie o sieciach 192.168.1.0, 192.168.2.0 i 192.168.3.0 tylko dlatego, że mu o tym powiedzieliśmy. Inaczej nie wiedziałby, że takie sieci w ogóle istnieją. Do routera są przyłączone bezpośrednio sieci 10.0.0.0 przez fa0/0, 10.0.0.4 przez fa0/1 i 10.0.0.9 przez eth0/0/0.
Jaka jest podstawowa wada routingu statycznego, którym się przed chwilą zajmowaliśmy? Jak pewnie zauważyłeś, aby dodać nowy router, musimy zmieniać konfigurację na wszystkich pozostałych routerach znajdujących się w sieci. Często jest to nieporęczne, niewygodne, a nawet niemożliwe. Routing dynamiczny nie posiada tych wad, o czym się za chwilę przekonasz.
Routing dynamiczny – RIP
Na początku zajmiemy się najprostszym z protokołów routingu dynamicznego – RIP. Zbudujmy topologię taką jak na schemacie poniżej:
Naszym celem jest to, aby każda sieć mogła komunikować się z każdą. Ustalmy następujące adresy IP:
Zacznijmy konfigurację od routera Router0. Musimy poinformować router, jakie sieci ma rozgłaszać do swoich sąsiadów. W tym celu wchodzimy w CLI, a potem w tryb konfiguracji. Pierwszym poleceniem, które należy wydać, jest:
router rip
Znak zachęty zmieni się na np.: Router(config-router)# co oznacza, że modyfikujemy ustawienia protokołów routingu. Teraz wpisujemy polececenia:
network 192.168.1.0 network 10.0.0.0
Jak myślisz, co wprowadziliśmy? No właśnie, są to adresy sieci bezpośrednio przyłączonych do naszego urządzenia Router0. Router rozgłosi tę informację do wszystkich sąsiednich routerów, dzięki temu np.: Router1 będzie mógł dowiedzieć się o istnieniu sieci 192.168.1.0. Podobną konfigurację przeprowadzamy na pozostałych routerach, np.: na router1 należy wydać następujące polecenia:
router rip network 10.0.0.0 network 11.0.0.0 network 12.0.0.0 network 13.0.0.0
Konfigurację pozostałych routerów pozostawiam w gestii czytelnika, gdyż nie jest to zbytnio skomplikowane.
Poznaliśmy już polecenie ping. Jeśli skonfigurowałeś już protokół RIP na wszystkich routerach, możemy zapoznać się z poleceniem tracert, które w przyszłości będziemy często wykorzystywali. Wejdź na komputer PC0 i wydaj polecenie:
tracert 192.168.5.2
Polecenie to wyświetli ci trasę, jaką przebył pakiet. Jest to bardzo przydatne narzędzie diagnostyczne, ułatwiające znalezienie błędów w konfiguracji sieci. Zajmijmy się teraz ostatnią kwestią, a mianowicie poddajmy analizie tablicę routingu z urządzenia np.: Router0.
Widzimy nowe oznaczenie – R – co oznacza, że sieci te rozgłaszane są za pomocą protokołu RIP. Zwróćmy szczególną uwagę na metrykę, która składa się z dwóch części: Pierwsza – 120 to tzw. domyślny dystans administracyjny (default administrative distance). Jego wartość zależy od protokołu routingu, którego użyjemy. Wartość tego pola dla różnych protokołów przedstawia poniższa tabelka:
Zajmijmy się teraz wartością po znaku /. Przypomnij sobie to, co mówiliśmy we wstępie o protokole RIP. Dla RIP metryką, oznaką wydajności danej trasy jest jedynie liczba skoków. I właśnie to jest znaczenie tej liczby. Np.: aby dostać się do sieci 192.168.5.0, należy wykonać 3 skoki. Możemy to zresztą sprawdzić. Wyjdź z trybu administracyjnego i wydaj polecenie traceroute 192.168.5.1 Co widzimy?
Rzeczywiście, aby pakiet dotarł do sieci 192.168.5.0, należy wykonać 3 skoki. Pozostałej części tablicy routingu nie będę omawiał, gdyż wygląda to analogicznie jak w przypadku routingu statycznego.
To już koniec
Na podstawowej konfiguracji protokołu RIP zakończymy dzisiejsze rozważania. W następnej części zajmiemy się pozostałymi protokołami routingu (m.in. IGRP, EIGRP oraz OSPF).
Link do plików pkt
Tu możesz pobrać gotowe pliki pkt z sieciami omawianymi w tym wpisie.