Dziś rozpoczniemy naukę routerów. Jeśli ukończyłeś mój kurs wideo od pierwszej do 17. lekcji, już zapoznałeś się z podstawami przełączników. Teraz przechodzimy do następnego urządzenia – routera. Jak zapewne wiesz z poprzedniej lekcji wideo, jednym z tematów kursu CCNA jest – Cisco Switching & Routing.
W tej serii nie będziemy badać routerów Cisco, lecz rozważymy koncepcję routingu jako całości. Mamy trzy tematy. Pierwszy to przegląd tego, co już wiesz o routerach, i rozmowa o tym, jak można to zastosować w połączeniu z wiedzą, którą zdobyłeś podczas nauki o przełącznikach. Musimy zrozumieć, na czym polega współpraca przełączników i routerów.

Następnie przyjrzymy się, czym jest routing, co oznacza i jak działa, a potem przejdziemy do rodzajów protokołów routingu. Dziś używam topologii, którą już widziałeś na wcześniejszych lekcjach.
Omówiliśmy, jak dane przemieszczają się w sieci i jak zachodzi trójfazowe handshake TCP. Pierwsza wiadomość wysyłana przez sieć to pakiet SYN. Przyjrzyjmy się, jak zachodzi trójfazowe handshake, gdy komputer z adresem IP 10.1.1.10 chce połączyć się z serwerem 30.1.1.10, czyli próbuje nawiązać połączenie FTP.
Aby rozpocząć połączenie, komputer tworzy port źródłowy o losowej liczbie 25113. Jeśli zapomniałeś, jak to działa, polecam obejrzeć wcześniejsze lekcje wideo, w których omawiano ten temat.

Następnie umieszcza w ramce numer portu docelowego, ponieważ wie, że musi połączyć się z portem 21, następnie dodaje informacje trzeciego poziomu OSI, czyli własny adres IP i adres IP punktu docelowego. Dane, które są otoczone przerywaną linią, nie zmieniają się, aż dotrą do punktu końcowego. Po dotarciu do serwera również się nie zmieniają, ale serwer dodaje do ramki informacje drugiego poziomu, czyli adres MAC. Ma to związek z tym, że przełączniki postrzegają tylko informacje drugiego poziomu OSI. W tym scenariuszu router jest jedynym urządzeniem sieciowym, które rozważa informacje 3. poziomu; naturalnie komputer również pracuje z tymi informacjami. Tak więc przełącznik pracuje tylko z informacjami 2. poziomu, a router z 3. poziomu.
Przełącznik zna źródłowy adres MAC XXXX:XXXX:1111 i chce poznać adres MAC serwera, do którego łączy się komputer. Porównuje źródłowy adres IP z adresem docelowym, rozumie, że te urządzenia znajdują się w różnych podsieciach i podejmuje decyzję o użyciu bramy do przejścia do innej podsieci.
Często pada pytanie, kto decyduje, jaki powinien być adres IP bramy. Przede wszystkim decyduje o tym administrator sieci, który tworzy sieć i przypisuje adresy IP każdemu urządzeniu. Jako administrator możesz przypisać routerowi dowolny adres mieszczący się w dozwolonym zakresie twojej podsieci. Zazwyczaj jest to pierwszy lub ostatni dozwolony adres, ale nie ma żadnych sztywnych zasad dotyczących jego przydziału. W naszym przypadku administrator przypisał adres bramy, czyli routera, 10.1.1.1 i przypisał go portowi F0/0.
Podczas konfigurowania sieci na komputerze ze statycznym adresem IP 10.1.1.10 przypisujesz maskę podsieci 255.255.255.0 i adres bramy domyślnej 10.1.1.1. Jeśli nie używasz statycznego adresu, oznacza to, że komputer korzysta z DHCP, które przypisuje dynamiczny adres. Niezależnie od tego, jaki adres IP wykorzystuje komputer, statyczny czy dynamiczny, do wyjścia do innej sieci musi być dostępny adres bramy.
Zatem komputer 10.1.1.10 wie, że musi wysłać ramkę do routera 10.1.1.1. Ta transmisja odbywa się w ramach lokalnej sieci, gdzie adres IP nie ma znaczenia, liczy się tylko adres MAC. Załóżmy, że komputer nigdy wcześniej nie łączył się z routerem i nie zna jego adresu MAC, dlatego najpierw musi wysłać zapytanie ARP, które pyta wszystkie urządzenia w podsieci: „Hej, które z was ma adres 10.1.1.1? Proszę, podajcie mi swój adres MAC!”. Ponieważ ARP to wiadomość rozgłoszeniowa, trafia ona do wszystkich portów wszystkich urządzeń, w tym do routera.
Komputer 10.1.1.12, otrzymawszy ARP, myśli: „nie, mój adres nie to 10.1.1.1” i odrzuca zapytanie, podobnie postępuje komputer 10.1.1.13. Router, otrzymując zapytanie, rozumie, że chodzi właśnie o niego i odsyła adres MAC portu F0/0 – ponieważ wszystkie porty mają różne adresy MAC – do komputera 10.1.1.10. Teraz, znając adres bramy XXXX:AAAA, który w tym przypadku jest adresem docelowym, komputer dodaje go na koniec ramki adresowanej do serwera. Razem z tym ustawia nagłówek ramki FCS/CRC, który jest mechanizmem sprawdzania błędów transmisji.

Po tym ramka komputera 10.1.1.10 jest wysyłana przewodami do routera 10.1.1.1. Po odebraniu ramki router usuwa FCS/CRC, używając do sprawdzenia tego samego algorytmu, co komputer. Dane są niczym innym jak zestawem zer i jedynek. Jeśli dane są uszkodzone, czyli 1 staje się 0 lub 0 staje się jedynką, lub występuje wyciek danych, co często zdarza się przy użyciu huba, urządzenie musi wysłać ramkę ponownie.
Jeśli weryfikacja FCS/CRC zakończyła się pomyślnie, router patrzy na adresy MAC źródła i docelowy i usuwa je, ponieważ to informacje 2. poziomu, a następnie przechodzi do treści ramki, w której zawarte są informacje 3. poziomu. Z niej dowiaduje się, że informacja, którą zawiera ramka, jest przeznaczona dla urządzenia z adresem IP 30.1.1.10.
Router w jakiś sposób wie, gdzie znajduje się to urządzenie. Nie omówiliśmy tego kwestii, kiedy rozważaliśmy działanie switchy, dlatego zbadamy to teraz. Router ma 4 porty, więc dodałem do niego jeszcze kilka połączeń. Skąd router wie, że dane dla urządzenia z adresem IP 30.1.1.10 należy wysłać przez port F0/1? Dlaczego nie wysyła ich przez port F0/3 ani F0/2?
Rzecz w tym, że router działa z tabelą routingu. Każdy router ma taką tabelę, która pozwala podjąć decyzję, przez który port przesłać daną ramkę.

W tym przypadku port F0/0 jest skonfigurowany z adresem IP 10.1.1.1, co oznacza, że jest podłączony do sieci 10.1.1.10/24. Podobnie port F0/1 jest skonfigurowany z adresem 20.1.1.1, co oznacza, że jest podłączony do sieci 20.1.1.0/24. Router zna obie te sieci, ponieważ są one bezpośrednio podłączone do jego portów. W związku z tym informacja o tym, że ruch dla sieci 10.1.1.0/24 powinien przechodzić przez port F0/0, a dla sieci 20.1.1.0/24 – przez port F0/1, jest znana z góry. Skąd jednak router wie, przez które porty pracować z innymi sieciami?
Widzimy, że sieć 40.1.1.0/24 jest podłączona do portu F0/2, sieć 50.1.1.0/24 – do portu F0/3, a sieć 30.1.1.0/24 łączy drugi router z serwerem. Drugi router również ma tabelę routingu, w której jest zapisane, że sieć 30 jest podłączona do jego portu, oznaczymy go jako 0/1, a z pierwszym routerem jest połączony przez port 0/0. Ten router wie, że jego port 0/0 jest podłączony do sieci 20, a port 0/1 jest podłączony do sieci 30, i nic więcej nie wie.
Podobnie pierwszy router zna sieci 40. i 50., podłączone do portów 0/2 i 0/3, ale nic nie wie o sieci 30. Protokół routingu dostarcza routerom informacje, których nie mają domyślnie. Mechanizm, za pomocą którego te routery komunikują się ze sobą, jest podstawą routingu, przy czym istnieje dynamiczne i statyczne routowanie.
Statyczne routowanie polega na tym, że pierwszemu routerowi przekazywana jest informacja: jeśli trzeba połączyć się z siecią 30.1.1.0/24, należy użyć portu F0/1. Jednak kiedy do drugiego routera trafia ruch z serwera, który jest przeznaczony dla komputera 10.1.1.10, nie wie on, co z nim zrobić, ponieważ w jego tabeli routingu znajdują się jedynie informacje o sieciach 30. i 20. Dlatego temu routerowi również należy skonfigurować statyczne routowanie: jeśli otrzymuje ruch dla sieci 10., to powinien go wysłać przez port 0/0.
Problem ze statycznym routowaniem polega na tym, że muszę ręcznie skonfigurować pierwszy router do pracy z siecią 30, a drugi router – do pracy z siecią 10. To jest proste, jeśli mam tylko 2 routery, ale kiedy mam 10 routerów, konfiguracja statycznego routowania zajmuje mnóstwo czasu. W takim przypadku warto rozważyć użycie dynamicznego routowania.
Po otrzymaniu ramki od komputera, pierwszy router sprawdza swoją tablicę routingu i podejmuje decyzję o wysłaniu jej przez port F0/1. W tym procesie dodaje do ramki adres MAC źródła XXXX.BBBB oraz adres MAC docelowy XXXX.CCCC.

Otrzymując tę ramkę, drugi router „przycina” adresy MAC związane z drugą warstwą OSI i przechodzi do informacji trzeciej warstwy. Widzi, że adres IP docelowy 30.1.1.10 należy do tej samej sieci, co port 0/1 routera, dodaje do ramki adres MAC źródła i adres MAC docelowego urządzenia, a następnie wysyła ramkę do serwera.

Jak już wspomniałem, następnie następuje podobny proces w odwrotnym kierunku, co oznacza, że przeprowadzany jest drugi etap handshake, podczas którego serwer wysyła z powrotem komunikat SYN ACK. Przed tym odrzuca wszystkie zbędne informacje i pozostawia tylko pakiet SYN.

Otrzymując ten pakiet, drugi router analizuje otrzymane informacje, uzupełnia je i przesyła dalej.
Tak więc, w poprzednich lekcjach poznaliśmy działanie switcha, a teraz dowiedzieliśmy się, jak działają routery. Odpowiedzmy na pytanie, czym jest routing w ogólnym sensie. Wyobraź sobie, że napotykasz taki znak drogowy na rondzie. Widzisz, że pierwsze odgałęzienie prowadzi do bazy Royal Air Force Fairfaxes, drugie na lotnisko, trzecie na południe. Wybierając czwarte zjazd, trafisz w ślepy zaułek, a przez piąty możesz przejechać przez centrum miasta do zamku Brexby.

Ogólnie rzecz biorąc, routing to to, co sprawia, że router podejmuje decyzje, dokąd kierować ruch. W tym przypadku, jako kierowca, musisz podjąć decyzję, z którego zjazdu z ronda skorzystać. Routery w sieciach muszą podejmować decyzje, dokąd przesyłać pakiety lub ramki. Musisz zrozumieć, że routing pozwala tworzyć tablice, na podstawie których routery podejmują te decyzje.
Jak powiedziałem, istnieje routing statyczny i dynamiczny. Rozważmy routing statyczny, do czego narysuję 3 urządzenia połączone ze sobą, przy czym pierwsze i trzecie urządzenie są podłączone do sieci. Załóżmy, że jedna sieć 10.1.1.0 chce połączyć się z siecią 40.1.1.0, a między routerami znajdują się sieci 20.1.1.0 i 30.1.1.0.

W takim przypadku porty routerów muszą należeć do różnych podsieci. Router 1 domyślnie zna tylko sieci 10. i 20., nie wiedząc nic o pozostałych. Router 2 zna tylko sieci 20. i 30., ponieważ są do niego podłączone, a router 3 zna tylko sieci 30. i 40. Jeśli sieć 10. chce połączyć się z siecią 40., muszę poinformować router 1 o sieci 30. i że jeśli chce przesłać ramkę z sieci 40., powinien użyć interfejsu dla sieci 20. i wysłać ramkę przez tę samą sieć 20.
Drugiemu routerowi muszę przypisać 2 trasy: jeśli chce przesłać pakiet z sieci 40. do sieci 10., powinien użyć portu sieci 20., a do przesłania pakietu z sieci 10. do sieci 40. – portu sieci 30. Podobnie muszę wyposażyć router 3 w informacje o sieciach 10. i 20.
Jeśli masz małe sieci, skonfigurowanie statycznego routingu jest bardzo proste. Jednak im większa rozrasta się sieć, tym więcej problemów pojawia się ze statycznym routingiem. Wyobraź sobie, że utworzyłeś nowe połączenie, które łączy bezpośrednio pierwszy i trzeci router. W takim przypadku protokół dynamicznego routingu automatycznie zaktualizuje tablicę routingu routera 1, wskazując: „jeśli chcesz skontaktować się z routerem 3, użyj bezpośredniej trasy”!

Istnieją dwa rodzaje protokołów routingu: protokół wewnętrznego bramki IGP i protokół zewnętrznego bramki EGP. Pierwszy protokół działa w obrębie osobnego, autonomicznego systemu, znanego jako domena routingu. Wyobraź sobie, że masz małą organizację, w której znajduje się tylko 5 routerów. Jeśli mówimy tylko o komunikacji między tymi routerami, to mamy na myśli IGP, jeśli jednak używasz swojej sieci do łączenia się z internetem, tak jak robią to dostawcy usług internetowych, używasz EGP.

IGP używa 3 popularnych protokołów: RIP, OSPF i EIGRP. Program CCNA wspomina tylko o dwóch ostatnich protokołach, ponieważ RIP jest przestarzały. Jest to najprostszy z protokołów routingu, który wciąż jest używany w niektórych przypadkach, jednak nie zapewnia wymaganej bezpieczeństwa sieciowego. To jedna z przyczyn, dla których Cisco wyłączyła RIP z kursu. Mimo to opowiem ci o nim, ponieważ jego nauka sprzyja zrozumieniu podstaw routingu.

Klasyfikacja protokołów EGP wykorzystuje dwa protokoły: BGP oraz sam protokół EGP. Podczas nauki w kursie CCNA omówimy tylko BGP, OSPF i EIGRP. Opis RIP możesz traktować jako dodatkową informację, która będzie przedstawiona w jednym z filmów instruktażowych.
Istnieją jeszcze 2 typy protokołów routingu: protokoły wektorów odległości Distance Vector oraz protokoły routingu stanu łącza Link State.

Pierwszy protokół rozpatruje wektory odległości i kierunku. Na przykład, mogę ustanowić bezpośrednie połączenie między routerem R1 a R4, lub mogę połączyć je przez R1-R2-R3-R4. Jeśli mówimy o protokołach routingu korzystających z metody wektorów odległości, w tym przypadku połączenie zawsze będzie odbywać się po najkrótszej trasie. Nie ma przy tym znaczenia, że dane połączenie ma minimalną prędkość. W naszym przypadku to 128 kbit/s, co jest znacznie wolniejsze niż połączenie trasą R1-R2-R3-R4, gdzie prędkość wynosi 100 Mbit/s.
Zastanówmy się nad protokołem wektorów odległości RIP. Dodam przed routerem R1 sieć 10., a za routerem R4 - sieć 40. Zakładając, że w tych sieciach znajduje się wiele komputerów. Jeśli chcę nawiązać połączenie między siecią 10. R1 a siecią 40. R4, to przypiszę R1 statyczne routowanie typu: ‘jeśli chcesz połączyć się z siecią 40., użyj bezpośredniego połączenia z routerem R4’. W tym przypadku na wszystkich 4 routerach muszę ręcznie skonfigurować RIP. Wtedy tabela routingu R1 automatycznie będzie informować, że jeśli sieć 10. chce połączyć się z siecią 40., należy użyć bezpośredniego połączenia R1-R4. Nawet jeśli alternatywna trasa jest szybsza, protokół Distance Vector nadal wybierze najkrótszą trasę z najmniejszym odległością przesyłania.
OSPF to protokół routingu stanu łącza, który zawsze obserwuje stan segmentów sieci. W tym przypadku ocenia prędkość łączy, i jeśli zauważy, że prędkość przesyłania ruchu przez łącze R1-R4 jest bardzo niska, wybiera trasę o większej prędkości R1-R2-R3-R4, nawet jeśli jej długość przekracza najkrótszą trasę. Tak więc, jeśli skonfiguruję protokół OSPF na wszystkich routerach, podczas próby połączenia sieci 40. z siecią 10., ruch zostanie skierowany trasą R1-R2-R3-R4. Więc RIP to protokół wektorów odległości, a OSPF – protokół routingu stanu łącza.
Istnieje jeszcze jeden protokół – EIGRP, protokół routingu firmy Cisco. Jeśli chodzi o urządzenia sieciowe innych producentów, takich jak Juniper, to nie obsługują one EIGRP. To doskonały protokół routingu, który jest znacznie bardziej efektywny niż RIP i OSPF, ale można go używać tylko w sieciach opartych na urządzeniach produkcji Cisco. Później szczegółowo opowiem, co czyni ten protokół tak dobrym. Na razie zauważę, że EIGRP łączy cechy protokołów z wektorem odległości i protokołów routingu stanu łącza, stanowiąc hybrydowy protokół.
W następnym samouczku wideo zbliżymy się do omówienia routerów Cisco, a ja trochę opowiem o systemie operacyjnym Cisco IOS, który jest przeznaczony zarówno dla switchy, jak i routerów. Mam nadzieję, że w lekcjach 19 lub 20 rozpoczniemy szczegółowe studia nad protokołami routingu, a na przykładzie małych sieci pokażę, jak konfigurować routery Cisco.

Dziękujemy, że z nami jesteś. Czy podobają Ci się nasze artykuły? Chcesz widzieć więcej interesujących materiałów? Wspieraj nas składając zamówienie lub polecając znajomym, 30% zniżki dla użytkowników Habr na unikalny odpowiednik serwerów entry-level, który został stworzony przez nas dla Ciebie: (dostępne opcje z RAID1 i RAID10, do 24 rdzeni i do 40GB DDR4).
Dell R730xd dwa razy tańszy? Tylko u nas w Holandii! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — od 99 dolarów! Czytaj o tym
Źródło: habr.com
