5 Warstwa sieci w modelu OSI
5.0 Wprowadzenie do rozdziału
5.0.1 Wprowadzenie do rozdziału
Strona 1:
Dowiedzieliśmy się jak aplikacje i usługi sieciowe na jednym urządzeniu końcowym, komunikują się z aplikacjami i usługami sieciowymi uruchomionymi na innym urządzeniu końcowym.
Następnie, jak pokazano na rysunku, będziemy rozważać jak dane przesyłane są poprzez sieć - z wysyłającego je urządzenia końcowego (albo hosta) do hosta docelowego - w najbardziej wydajny sposób.
Protokoły warstwy sieci modelu OSI, określają adresowanie i procesy, które umożliwiają spakowanie i transport danych. Proces enkapsulacji umożliwia przygotowanie danych do transportu w ramach danej sieci lub pomiędzy sieciami wprowadzając minimalny narzut protokołu.
Rozdział ten skupia się na funkcji warstwy sieci - przedstawieniu jak sieć jest dzielona na grupy hostów w celu zarządzania przepływem pakietów danych wewnątrz sieci. Będziemy także rozważać jak realizowana jest komunikacja między sieciami. Taki rodzaj komunikacji nazywany jest routingiem.
Cele nauczania
Po zakończeniu tego rozdziału będziesz potrafił:
Identyfikować funkcję warstwy sieci, która określa komunikację pomiędzy jednym urządzeniem końcowym a drugim.
Rozpoznać najbardziej powszechny protokół warstwy sieci - protokół IP (Internet Protocol) i jego cechy zapewniające usługę bezpołączeniową z dołożeniem wszelkich starań (ang. best-effort).
Zrozumieć zasady używane do prowadzenia podziału lub grupowania urządzeń w sieci.
Zrozumieć adresowanie hierarchiczne urządzeń i sposób w jaki pozwala to na komunikację pomiędzy sieciami.
Zrozumieć podstawy routingu, adresy następnego przeskoku i przekazywanie pakietów do sieci docelowej.
5.1 IPv4
5.1.1 Warstwa sieci - Komunikacja od hosta do hosta
Strona 1:
Warstwa sieci (warstwa 3 modelu OSI) zapewnia usługi wymiany fragmentów danych poprzez sieć pomiędzy określonymi urządzeniami końcowymi. Do realizacji transportu pomiędzy dwoma urządzeniami końcowymi warstwa 3 używa czterech podstawowych procesów:
adresowanie,
enkapsulacja,
routing,
dekapsulacja.
Animacja na tym rysunku przedstawia wymianę danych.
Adresowanie
Po pierwsze, warstwa sieci musi zapewnić mechanizm adresowania urządzeń końcowych. Jeżeli określona część danych będzie skierowana do urządzenia końcowego, to urządzenie musi posiadać unikalny adres. Urządzenie w sieci IPv4 posiadające ten adres nazywamy hostem.
Enkapsulacja
Po drugie, warstwa sieci musi zapewniać enkapsulację. Adres nie tylko musi identyfikować urządzenie, ale również poszczególne fragmenty danych, nazywane jednostkami danych (PDU) protokołu warstwy sieci, muszą zawierać te adresy. Podczas procesu enkapsulacji, warstwa 3 otrzymuje z warstwy 4 jednostkę PDU i dodaje nagłówek warstwy 3 lub etykietę, tworząc jednostkę PDU warstwy 3. Kiedy dotyczy to warstwy sieci, jednostkę tę nazywamy pakietem. Podczas tworzenia pakietu, oprócz innych informacji do nagłówka musi zostać dodany adres hosta do którego pakiet będzie wysłany. Adres ten określany jest jako adres docelowy. Nagłówek warstwy 3 zawiera także adres hosta źródłowego. Adres ten określany jest jako adres źródłowy.
Po zakończeniu procesu enkapsulacji przez warstwę sieci pakiet jest wysyłany do warstwy łącza danych w celu przygotowania do transportu przez media.
Routing
Następnie warstwa sieci musi zapewnić usługi pozwalające na skierowanie tych pakietów do ich hosta docelowego. Host źródłowy i docelowy nie zawsze należą do tej samej sieci. Tak naprawdę, pakiet czasami musi przejść przez wiele różnych sieci. Aby osiągnąć swój cel każdy z pakietów musi być odpowiednio kierowany przez sieć w wzdłuż jego drogi. Urządzenia pośrednie, które łączą sieci nazywane są routerami. Zadaniem routera jest wybranie odpowiedniej ścieżki i skierowanie pakietów do celu. Proces ten nazywany jest routingiem.
Podczas routingu poprzez intersieć, pakiet może przemierzać wiele urządzeń pośrednich. Każdy etap wędrówki, który pakiet wybiera w celu osiągnięcia następnego urządzenia nazywany jest przeskokiem (ang. hop). Podczas przekazywania pakietu, jego zawartość (jednostka PDU warstwy transportowej) pozostaje niezmieniona dopóki host docelowy nie zostanie osiągnięty.
Dekapsulacja
Ostatecznie pakiet dociera do hosta docelowego i jest przetwarzany w warstwie 3. Host sprawdza adres docelowy w celu potwierdzenia, że pakiet był adresowany do tego urządzenia. Jeżeli adres jest poprawny, pakiet jest dekapsulowany przez warstwę sieci a następnie jednostka PDU warstwy 4 zawarta w pakiecie jest przekierowana do odpowiedniej usługi warstwy transportowej.
W odróżnieniu od warstwy transportowej (warstwa 4 w modelu OSI), która zarządza transportem danych pomiędzy procesami uruchomionymi na każdym z urządzeń końcowych, protokoły warstwy sieci określają strukturę pakietu oraz procesy ich przetwarzania używane do przenoszenia danych od jednego hosta do kolejnego. Działanie bez odnoszenia się do danych aplikacji, przenoszonych w każdym z pakietów, pozwala warstwie sieci, transportować pakiety różnych typów komunikacji pomiędzy wieloma hostami.
Animacja!
Strona 2:
Protokoły warstwy sieci
Protokołami zaimplementowanymi w warstwie sieci, które służą do transportu danych są miedzy innymi:
Protokół IPv4 (Internet Protocol version 4)
Protokół IPv6 (Internet Protocol version 6)
Protokół Novell IPX (Internetwork Packet Exchange)
Protokół AppleTalk
Bezpołączeniowa usługa sieciowa (CLNS/DECNet)
Protokół IP (wersja 4 i 6) jest najszerzej stosowanym protokołem warstwy 3 i na nim się skupimy w tym kursie. Inne protokoły będą omawiane w znikomym stopniu.
5.1.2 Protokół IPv4 - przykładowy protokół warstwy sieci
Strona 1:
Zadania protokołu IPv4
Jak pokazano na rysunku, usługi warstwy sieci zestawu protokołów TCP/IP zaimplementowane są w protokole IP. Wersja 4 protokołu IP jest aktualnie najbardziej rozpowszechnioną jego wersją. Jest on jedynym protokołem warstwy 3, który używany jest do transportu danych poprzez Internet i na nim koncentruje się kurs CCNA. Dlatego też, będzie on przykładem, którego użyjemy w tym kursie dla warstwy sieci.
Protokół IP wersja 6 (IPv6) jest opracowany i będzie wdrażany w niektórych obszarach sieci. Początkowo IPv6 będzie używany równolegle z protokołem IPv4 a w przyszłości może go zastąpić. Oba protokoły IPv4 i IPv6 określają oferowane usługi jak i strukturę i zawartość nagłówka pakietu. Usługi te oraz struktura pakietu używane są do enkapsulacji datagramów UDP lub segmentów TCP w celu ich transportu przez sieć.
Każdy z protokołów charakteryzuje się różnymi własnościami. Zrozumienie tych własności pozwoli zrozumieć działanie usług opisanych przez ten protokół.
Protokół IP został zaprojektowany jako protokół z niedużym narzutem (dodatkowa ilość danych związana z nagłówkiem pakietu). Zapewnia on tylko niezbędne funkcje umożliwiające dostarczanie pakietu ze źródła do celu przez połączone ze sobą sieci. Protokół nie został zaprojektowany do wyznaczania trasy czy zarządzania przepływem pakietów. Funkcje te są wykonywane przez protokoły z innych warstw.
Ogólna charakterystyka protokołu IPv4:
Bezpołączeniowy - przed wysyłaniem danych nie jest zestawiane żadne połączenie.
Działający na zasadzie dostępnych możliwości (ang. Best Effort) - protokół nie posiada mechanizmów zapewniających gwarancję dostarczenia pakietu.
Niezależny od używanego medium - pracuje niezależnie od medium użytego do transportu danych.
5.1.3 Protokół IPv4 - bezpołączeniowy
Strona 1:
Usługa bezpołączeniowa
Przykładem bezpołączeniowej komunikacji jest wysyłanie listu do kogoś, bez uprzedniego informowania odbiorcy. Jak pokazano na rysunku, poczta mimo to doręczy list odbiorcy. Bezpołączeniowe przesyłanie danych działa na tych samych zasadach. Pakiety IP są wysyłane bez powiadamiania hosta końcowego o ich nadejściu.
Protokoły zorientowane połączeniowo, tj. TCP, wymagają wymiany danych kontrolnych do ustanowienia połączenia jak i dodatkowych pól w nagłówku jednostki PDU. Ponieważ protokół IP jest bezpołączeniowy, nie wymaga on wstępnej wymiany danych kontrolnych do ustanowienia połączenia przed przekazaniem pakietu, ani żadnych dodatkowych pól w nagłówku jednostki PDU do utrzymania tego połączenia. Z tego powodu narzut protokołu jest zredukowany do minimum.
Bezpołączeniowe dostarczenie pakietów może jednakże spowodować dotarcie pakietów do celu w kolejności innej niż były wysłane. Jeżeli zmieniona kolejność odbioru pakietów lub zaginione pakiety są problemem dla aplikacji odbierającej dane, wtedy usługi wyższej warstwy będą musiały rozwiązać te problemy.
5.1.4 Protokół IPv4 - zasada dostępnych możliwości
Strona 1:
Usługa na zasadzie dostępnych możliwości - Best Effort Service
Protokół IP nie obciąża usługi IP wymaganiem niezawodności. W porównaniu do protokołów gwarantujących niezawodność, nagłówek IP jest mniejszy. Transport tych mniejszych nagłówków wprowadza mniejszy narzut protokołu. Mniejszy narzut oznacza mniejsze opóźnienie w dostarczeniu. Taka własność jest pożądana dla protokołu warstwy 3.
Główną misją protokołu warstwy 3 jest transport pakietów pomiędzy hostami przy najmniejszym możliwym obciążeniu sieci. Warstwa 3 nie jest zainteresowana, ani nawet nie zdaje sobie sprawy z typu komunikacji, zawartej w pakiecie. Odpowiedzialność za to pełnią wyższe warstwy. Wyższe warstwy mogą zdecydować, czy komunikacja pomiędzy usługami potrzebuje niezawodności oraz czy komunikacja ta może tolerować narzut związany z jej zapewnieniem.
Protokół IP jest często określany jako zawodny protokół. Zawodność w tym kontekście nie znaczy, że protokół IP działa dobrze tylko czasami lub nie działa tak dobrze jak inne. Nie oznacza to również, że nie jest to odpowiedni protokół do komunikacji danych. Zawodny oznacza po prostu, że protokół IP nie posiada zdolności do zarządzania i odzyskiwania niedostarczonych lub uszkodzonych pakietów.
Odkąd protokoły w innych warstwach mogą zarządzać niezawodnością, protokół IP ma możliwość działania bardzo wydajnie w warstwie sieci. Gdyby włączyć niezawodność i jej narzut do warstwy 3, to komunikacja, która nie wymaga niezawodności, byłaby obciążona tym dodatkowym narzutem, powodując wzrost potrzebnego pasma i opóźnienia podczas transportu. W TCP/IP warstwa transportowa może wybrać TCP lub UDP w zależności od potrzeb komunikacji. Zgodnie z zasadą izolacji wprowadzoną przez modele sieciowe, pozostawienie decyzji dotyczącej niezawodności warstwie transportowej powoduje, że protokół IP jest bardziej adaptowanlny oraz w lepszym stopniu zaspokaja potrzeby różnego typu komunikacji.
Nagłówek pakietu IP nie zawiera pól wymaganych do niezawodnego dostarczenia danych. Nie ma potwierdzenia dostarczenia danych. Nie ma kontroli błędów dla danych. Ani nie ma żadnej formy śledzenia pakietu, dlatego też nie ma możliwości ponownej transmisji pakietu.
5.1.5 Protokół IPv4 - Niezależność od mediów
Strona 1:
Niezależność od mediów
Warstwa sieci nie jest również obarczana zadaniami związanymi z obsługą mediów, którymi pakiet będzie transportowany. Protokoły IPv4 i IPv6 działają niezależnie od mediów, które przenoszą dane w niższych warstwach stosu protokołów. Jak pokazano na rysunku, każdy pojedynczy pakiet IP może być przesłany impulsem elektrycznym poprzez kabel, sygnałem optycznym poprzez światłowód lub bezprzewodowo jako sygnał radiowy.
Odpowiedzialnością warstwy łącza danych w modelu OSI jest przejęcie pakietu IP i przygotowanie go do transmisji przez medium komunikacyjne. Oznacza to, że transport pakietów IP nie jest ograniczony do żadnego szczególnego medium.
Jest jednakże, jedna główna cecha związana z mediami, którą warstwa sieci bierze pod uwagę: maksymalny rozmiar jednostki PDU, które poszczególne media mogą przetransportować. Wartość ta jest określana jako MTU (Maximum Transmission Unit). Częścią komunikacji kontrolnej pomiędzy warstwą łącza danych a warstwą sieci jest ustalenie MTU dla pakietu. Warstwa łącza danych przekazuje MTU do warstwy sieci. Warstwa sieci określa wtedy, jak duże pakiety ma stworzyć.
W niektórych przypadkach, pośrednie urządzenie - zwykle router - musi podzielić pakiet, gdy przekazuje go z jednego medium do kolejnego z mniejszym MTU. Proces ten jest nazywany dzieleniem pakietów lub fragmentacją.
5.1.6 Pakiet IPv4 - tworzenie z jednostki PDU warstwy transportowej
Strona 1:
IPv4 enkapsuluje segmenty albo datagramy warstwy transportowej, aby sieć mogła dostarczyć je do hosta docelowego. Naciskaj kolejne kroki na rysunku, w celu obejrzenia tego procesu. Po dokonaniu enkapsulacji IPv4, pakiet pozostaje nienaruszany od momentu opuszczenia warstwy sieciowej hosta, który wygenerował dane, aż do odbioru przez warstwę sieciową hosta docelowego.
Proces enkapsulacji danych przez określoną warstwę, uaktywnia usługi w innych warstwach, aby wspierać rozwój i skalowalność danej warstwy bez wpływu na inne. Oznacza to, że segmenty warstwy transportowej, mogą być spakowane przez istniejące protokoły warstwy sieci tj. IPv4 i IPv6 lub przez każdy z nowych protokołów stworzonych w przyszłości.
Różne protokoły warstwy sieci mogą zostać wdrożone na routerach, aby obsługiwały równolegle komunikację pomiędzy tymi samymi lub rożnymi hostami. Proces routingu wykonywany na routerze dokonuje wyłącznie odczytu nagłówka pakietu, który zawiera spakowany segment danych.
We wszystkich przypadkach, część danych pakietu (spakowana jednostka PDU warstwy transportowej) zostaje niezmieniona podczas przetwarzania w warstwie sieci.
5.1.7 Nagłówek pakietu IPv4
Strona 1:
Jak pokazano na rysunku, protokół IPv4 definiuje wiele różnych pól w nagłówku pakietu. Pola te zawierają wartości binarne, do których się odwołują usługi protokołu IPv4, gdy przekazują pakiety przez sieć.
W tym kursie zostanie omówione 6 kluczowych pół:
źródłowy adres IP,
docelowy adres IP,
czas życia (TTL, ang. Time-to-Live),
typ usługi (TOS, ang. Type-of-service),
protokół,
przesunięcie fragmentu (ang. Fragment Offset).
Kluczowe pola nagłówka IPv4
Umieść kursor na każdym z polu na obrazku, aby zobaczyć jego przeznaczenie.
Docelowy adres IP
Pole docelowego adresu IP zawiera 32-bitową wartość binarną, która określa adres docelowego hosta w warstwie sieci dla pakietu.
Źródłowy adres IP
Pole źródłowego adresu IP zawiera 32-bitową wartość binarną, która określa adres źródłowego hosta w warstwie sieci dla pakietu.
Czas życia (TTL)
Czas życia pakietu jest 8-bitową wartością binarną, która określa pozostały czas życia pakietu. Wartość TTL jest zmniejszana o co najmniej 1 za każdym razem, gdy pakiet przechodzi przez router (tj. za każdym przeskokiem). Kiedy wartość osiąga 0, router porzuca pakiet i jest on usunięty ze strumienia danych w sieci. Mechanizm ten chroni pakiety, które nie mogą osiągnąć celu przed przekazywaniem w nieskończoność pomiędzy routerami w tzw. pętli routingu. Jeżeli pętle routingu byłyby dozwolone, sieć byłaby przeciążona pakietami danych, które nigdy nie osiągną swojego celu. Zmniejszanie wartości TTL przy każdym przeskoku zapewnia, że w końcu osiągnie wartość 0 i pakiet, którego pole TTL równe jest 0 będzie odrzucone.
Protokół
Ta 8-bitowa wartość wskazuje typ danych, które pakiet przenosi. Pole protokołu umożliwia warstwie sieci przekazać dane do odpowiedniego protokołu warstwy wyższej.
Przykładowymi wartościami są:
01 ICMP,
06 TCP,
17 UDP.
Typ usługi (ToS)
Pole typu usługi zawiera 8-bitową wartość binarną, która używana jest do określenia priorytetu każdego pakietu. Ta wartość umożliwia zastosowanie mechanizmów QoS w stosunku do pakietów o wysokim priorytecie, np. przenoszących dane głosowe. Router przetwarzający pakiety może być tak skonfigurowany, aby decydować, który z pakietów ma być przesłany jako pierwszy na podstawie wartości ToS.
Przesunięcie fragmentu
Jak wspomniano wcześniej, router czasami musi podzielić pakiet, kiedy przekazuje go z jednego medium do innego z mniejszą wartością MTU. Kiedy ten podział nastąpi, pakiet IPv4 używa pola przesunięcia fragmentu i flagi MF w nagłówku IP do rekonstrukcji pakietu, kiedy ten przybędzie do hosta docelowego. Pole przesunięcia fragmentu wskazuje porządek w jakim ma być ustawiony każdy z pakietów podczas rekonstrukcji.
Flaga MF (ang. More Fragments)
Flaga MF jest pojedynczym bitem w polu flagi używanym z polem przesunięcia fragmentu do podziału i rekonstrukcji pakietów. Gdy bit flagi MF jest ustawiony, oznacza to, że nie jest on ostatnim fragmentem pakietu. Kiedy host odbierający zauważy przybywający pakiet z ustawioną wartością MF=1, sprawdza pole przesunięcia fragmentu, gdzie należy umieścić ten fragment podczas rekonstrukcji pakietu. Kiedy host odbierający zauważy przybywający pakiet z ustawioną wartością MF=0 i niezerową wartość w polu przesunięcia fragmentu, umieszcza ten fragment jako ostatni kawałek rekonstruowanego pakietu. Niepodzielony pakiet ma wszystkie pola dotyczące fragmentacji równe 0 (flaga MF=0, przesunięcie fragmentacji = 0).
Flaga DF (ang. Don't Fragment)
Flaga DF jest pojedynczym bitem w polu flagi, które wskazuje, że fragmentowanie pakietu jest niedozwolone. Jeżeli flaga DF jest ustawiona, wtedy fragmentacja tego pakietu nie jest dozwolona. Jeżeli router musi podzielić pakiet aby móc przepuścić go do warstwy łącza danych lecz flaga DF jest ustawiona na 1, wtedy router porzuci dany pakiet.
Strona 2:
Pozostałe pola nagłówka IPv4
Umieść kursor na każdym z polu na obrazku, aby zobaczyć jego przeznaczenie.
Wersja - Zawiera numer wersji protokołu IP (4).
Długość nagłówka (IHL) - Określa rozmiar nagłówka pakietu.
Długość pakietu - To pole podaje w bajtach całkowitą wielkość pakietu, zawierającą nagłówek oraz dane.
Identyfikacja - To pole jest używane do jednoznacznego identyfikowania fragmentów podzielonego pakietu IP.
Suma kontrolna nagłówka - Pole sumy kontrolnej używane jest do sprawdzenia błędów nagłówka pakietu.
Opcje - Jest to miejsce na dodatkowe pola w nagłówku IPv4 do obsługi innych usług. Jest ono jednak rzadko używane.
Strona 3:
Typowy pakiet IP
Rysunek przedstawia pełny pakiet IP z typowymi wartościami pól nagłówka.
Wersja= 4; Wersja IP.
IHL = 5; Rozmiar nagłówka zapisany jako liczba 32-bitowych (4 bajtowych) słów. Ten nagłówek ma 20 bajtów (5*4=20), jest to minimalna poprawna wartość.
Długość całkowita = 472; wielkość pakietu (nagłówek i dane) wynosi 472 bajty.
Identyfikacja = 111; identyfikator podstawowego pakietu (wymagany jeżeli pakiet jest podzielony).
Flaga = 0; oznacza, że dozwolone jest podzielenie pakietu w razie potrzeby.
Przesunięcie fragmentu = 0; oznacza, że ten pakiet, nie jest aktualnie podzielony (nie ma przesunięcia).
Czas życia (TTL) = 123; oznacza czas przetwarzania warstwy 3 w sekundach, zanim pakiet będzie usunięty (pomniejszany o co najmniej 1 za każdym razem, kiedy jakieś urządzenie przetwarza nagłówek pakietu).
Protokół = 6; oznacza, że dane przenoszone przez ten pakiet są segmentem TCP.
5.2 Sieci - Grupowanie hostów
5.2.1 Sieci - Dzielenie hostów na wspólne grupy
Strona 1:
Jednym z głównych zadań warstwy sieci jest dostarczanie mechanizmów adresowania hostów. W miarę wzrostu ilości hostów w sieci, wymagany jest większy nacisk na planowanie zarządzania i adresowania sieci.
Dzielenie sieci
Zamiast łączenia wszystkich hostów w jedną wielką, globalną sieć, bardziej praktyczne i łatwiejsze do zarządzania jest grupowanie hostów w wiele sieci. Początkowo sieci oparte na IP były tworzone jako jedna wielka sieć. W miarę rozrostu sieci zwiększały się także problemy z nią związane. W celu złagodzenia tych problemów, duża sieć została podzielona na mniejsze, połączone ze sobą sieci. Te mniejsze sieci nazywane są często podsieciami.
Sieć i podsieć to terminy często używane zamiennie w odniesieniu do każdego systemu sieciowego, używającego powszechnie stosowanych protokołów modelu TCP/IP.
Podobnie, kiedy nasza sieć się rozbuduje, może okazać się zbyt dużą do zarządzania jako pojedyncza sieć. W takiej sytuacji, musimy podzielić naszą sieć. Kiedy planujemy podział sieci musimy pogrupować te hosty w oparciu o wspólne kryterium na podsieci.
Jak pokazano na rysunku, sieci mogą być grupowane bazując na takich czynnikach jak:
położenie geograficzne,
cel,
własność.
Strona 2:
Grupowanie ze względu na położenie geograficzne
Możemy grupować hosty razem ze względu na położenie geograficzne. Grupowanie hostów w tym samym miejscu - jak np. ten sam budynek, albo pojedyncze piętro w budynku wielopiętrowym - na podsieci może polepszyć zarządzanie oraz działanie sieci.
Grupowanie hostów ze względu na przeznaczenie
Użytkownicy, którzy wykonują podobne zadania, najczęściej używają podobnych programów i narzędzi oraz generują podobny ruch. Możemy często zmniejszyć ruch wymagany przez określone programy i narzędzia umieszczając zasoby wykorzystywane przez nie w sieci razem z użytkownikami.
Natężenie ruchu generowane przez rożne aplikacje może być znacznie zróżnicowane. Podział sieci w oparciu o przeznaczenie ułatwia efektywniejszy przydział zasobów sieci, jak również autoryzowany dostęp do tych zasobów. Osoby zajmujące się profesjonalnie sieciami, muszą zrównoważyć liczbę hostów w sieci z wielkością ruchu generowanego przez użytkowników. Dla przykładu, może to być firma, która zatrudnia grafików używających sieci do współdzielenia bardzo dużych plików multimedialnych. Te pliki używają większość dostępnego pasma przez prawie cały dzień. Firma ta zatrudnia także specjalistów od sprzedaży, którzy logują się tylko raz dziennie, aby zapisać swoje transakcje. Operacje te generują znikomy ruch w sieci. W tym przykładzie, najlepszym użyciem zasobów sieci będzie stworzenie z paru mniejszych sieci, do których będzie miało dostęp kilku grafików i jedną większą sieć, którą będą używać wszyscy sprzedawcy.
Grupowanie hostów ze względu na własność
Tworzenie sieci w oparciu o strukturę organizacyjną (firma, dział) pomaga kontrolować dostęp do urządzeń i danych oraz zarządzać siecią. W jednej dużej sieci jest trudniej określić i ograniczyć odpowiedzialność osób zajmujących się siecią. Dzielenie hostów w osobne sieci pozwala określić obszary bezpieczeństwa i zarządzania każdą z sieci.
5.2.2 Dlaczego dzielimy hosty w sieci? - Wydajność
Strona 1:
Jak już wspomniano, w miarę rozrastania się sieci mogą powstawać problemy, które mogą być przynajmniej częściowo rozwiązane przez dzielenie jej na mniejsze połączone ze sobą podsieci.
Najczęstsze problemy z dużymi sieciami:
spadek wydajności,
kwestie bezpieczeństwa,
zarządzanie adresami.
Zwiększanie wydajności
Duża liczba hostów podłączonych do pojedynczej sieci może wytwarzać ogromny ruch, który może wpływać lub nawet może paraliżować zasoby sieciowe takie jak pasmo czy routing.
Podział dużych sieci w ten sposób, że hosty komunikujące się ze sobą są pogrupowane razem, zmniejsza ruch między sieciami.
Oprócz danych użytkowników dodatkowy ruch zarządzający i sterujący zwiększa się wraz ze wzrostem liczby hostów w sieci. Główny udział w tym dodatkowym ruchu może mieć transmisja rozgłoszeniowa.
Rozgłaszanie jest wiadomością wysyłaną od jednego hosta do wszystkich pozostałych hostów w sieci. Zazwyczaj host stosuje rozgłaszanie, kiedy wymagane są informacje o innym, nieznanym hoście. Rozgłaszania są niezbędnym i użytecznym narzędziem, używanym przez protokoły, umożliwiającym komunikację danych w sieciach. Jednakże duża ilość hostów generuje wiele rozgłoszeń, które zajmują znaczną część pasma. Ponieważ każdy z hostów musi przetworzyć otrzymany pakiet rozgłoszeniowy, inne funkcje, które host wykonuje są przerywane lub zdegradowane.
Rozgłoszenia odbywają się wewnątrz sieci. W tym kontekście, sieć możemy również nazwać domeną rozgłoszeniową. Zarządzanie wielkością domeny rozgłoszeniowej poprzez podział sieci na podsieci zapewnia, że wydajność sieci i hostów nie zmniejszy się do nieakceptowalnego poziomu.
5.2.3 Dlaczego dzielimy hosty w sieci? - Bezpieczeństwo
Strona 1:
Sieć IP, która początkowo utworzyła Internet, obejmowała zaufanych użytkowników: agencje rządowe stanów zjednoczonych i instytucje badawcze przez nie sponsorowane. W tej małej społeczności, bezpieczeństwo nie było problemem.
Sytuacja zmieniła się, gdy inni użytkownicy (indywidualni, biznesowi, organizacje) zaczęli tworzyć swoje własne sieci oparte na IP, podłączając je następnie do Internetu. Urządzenia, usługi, połączenia oraz dane należą do właścicieli tych sieci. Urządzenia sieciowe z innych firm oraz organizacji nie muszą łączyć się z ich siecią.
Podział sieci ze względu na własność oznacza, że dostęp do zasobów zewnętrznych może być ograniczony, dozwolony lub monitorowany.
Umieść kursor na przyciskach: Dostęp przyznany oraz Dostęp zabroniony na rysunku, aby zobaczyć różne poziomy bezpieczeństwa.
Dostęp do intersieci w przedsiębiorstwie lub organizacji może być zabezpieczony w podobny sposób. Na przykład, sieć uniwersytecka może być podzielona na podsieci: administracyjną, naukową i studencką. Podział sieci ze względu na dostęp użytkownika, oznacza zabezpieczenie połączenia i danych przed nieautoryzowanym dostępem, zarówno z wewnątrz jak i z zewnątrz organizacji.
Bezpieczeństwo pomiędzy sieciami wdrożone jest w urządzeniach pośredniczących (jak router lub firewall) na obrzeżach sieci. Funkcja firewalla wykonywana przez to urządzenie, zezwala jedynie znanym, zaufanym danym na dostęp do sieci.
5.2.4 Dlaczego dzielimy hosty w sieci? - Zarządzanie adresami
Strona 1:
Internet składa się z milionów hostów, z których każdy identyfikowany jest przez jego unikalny adres w warstwie sieci. Gdyby każdy host znał adresy wszystkich pozostałych hostów, spowodowałoby to poważne obniżenie ich wydajności.
Podział dużej sieci, tak aby hosty, które muszą komunikować się ze sobą były w tej samej grupie, zmniejsza niepotrzebny ruch dodatkowy, powodowany przez hosty potrzebujące odnaleźć adresy innych hostów.
Dla wszystkich pozostałych urządzeń docelowych, do których wysyłają pakiety, hosty muszą znać jedynie adres urządzenia pośredniczącego. Te urządzenia pośredniczące nazywane są bramami. Brama jest to router w sieci, który służy jako wyjście z danej sieci.
5.2.5 Jak dzielimy hosty w sieci? - Adresowanie hierarchiczne
Strona 1:
Aby móc dzielić sieci, musimy użyć adresowania hierarchicznego. Adresowanie hierarchiczne jednoznacznie identyfikuje każdego hosta. Posiada także poziomy, które wspomagają przekazywanie pakietów poprzez intersieci oraz umożliwiają podział sieci bazując na tych poziomach.
Przesyłanie danych pomiędzy sieciami przez intersieci, możliwe jest dzięki hierarchicznym schematom adresowania warstwy sieci.
Jak pokazano na rysunku, adresy pocztowe są podstawowymi przykładami adresowania hierarchicznego.
Rozważmy przykład wysyłania listu z Japonii do pracownika Cisco Systems, Inc.
List będzie zaadresowany następująco:
Nazwisko pracownika
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134
USA
Kiedy list jest nadawany, instytucja pocztowa sprawdzi jedynie kraj docelowy i zanotuje, że jest on kierowany do USA. Żadne inne dane na tym poziomie nie będą potrzebne.
Po przybyciu do USA, urząd pocztowy sprawdza po pierwsze stan - Kalifornia. Miasto, ulica i przedsiębiorstwo nie będą uwzględniane jeżeli list musi być przekazany do innego stanu. Po dotarciu do Kalifornii, list będzie skierowany do San Jose. Tam, lokalny doręczyciel pocztowy zaniesie list na West Tasman Drive pod nr 170. Kiedy list dotrze do Cisco, nazwisko pracownika będzie kolejną wytyczną do skierowania go do ostatecznego celu.
Odnoszenie się jedynie do istotnego poziomu adresu (kraj, stan, miasto, ulica, numer i pracownik) na każdym kroku kierując list do następnego skoku, czyni ten proces bardzo efektywnym. Nie ma potrzeby, by na każdym z tych kroków przekazywania, znać wszystkie dane adresowe. List był przesyłany według ogólnego kierunku, dopóki nie pojawiło się nazwisko pracownika.
Adresowanie hierarchiczne w warstwie sieci, działa w bardzo podobny sposób. Adresy warstwy 3 określają część adresu reprezentującą sieć. Routery przekierowują pakiety pomiędzy sieciami odnosząc się jedynie do części adresów warstwy sieci, która jest wymagana, aby kierować pakiet w kierunku sieci docelowej. Kiedy pakiet przybywa do sieci hosta docelowego, cały adres docelowy tego hosta będzie użyty do jego dostarczenia.
Jeżeli duża sieć musi być podzielona na mniejsze, mogą być utworzone dodatkowe warstwy adresowania. Używanie schematów adresowania hierarchicznego, oznacza, że wyższe poziomy adresów (podobnie do kraju w adresie pocztowym) mogą być utrzymane z średnim poziomem oznaczającym adresy sieciowe (stan albo miasto) oraz niższym poziomem - indywidualne hosty.
5.2.6 Dzielenie podsieci - sieci z sieci
Strona 1:
Jeżeli duża sieć musi zostać podzielona, mogą zostać utworzone dodatkowe warstwy adresowania. W adresowaniu hierarchicznym występuje wyższy poziom adresu, obejmujący adres podsieci oraz poziom hosta.
Logiczny, 32-bitowy adres IPv4 jest hierarchiczny, ponieważ jest stworzony z dwóch części. Pierwsza część identyfikuje sieć, a druga hosta w tej sieci. Obie części są wymagane, aby uzyskać pełny adres IP.
Dla wygody adresy IPv4 są podzielone na cztery ośmiobitowe grupy (oktety). Każdy z oktetów zamieniany jest na wartość dziesiętną, a pełen adres zapisany czterema wartościami dziesiętnymi, rozdzielonymi kropkami.
Na przykład - 192.168.18.57
W tym przykładzie, jak pokazuje nam rysunek, pierwsze trzy oktety (192.168.18) mogą identyfikować sieć, natomiast ostatni oktet (57) identyfikuje hosta.
Jest to adresowanie hierarchiczne, dlatego, że część adresu identyfikuje sieć (część sieciowa), w której każdy host jest identyfikowany częścią adresu reprezentującą hosta (część hosta). Routery potrzebują tylko informacji jak osiągnąć daną sieć. Nie potrzebują natomiast znać lokalizacji każdego unikatowego hosta w ramach tej sieci.
W adresowaniu hierarchicznym IPv4, część adresu IP reprezentująca sieć dla wszystkich hostów w danej sieci jest taka sama. Aby podzielić sieć, część sieciowa adresu jest rozszerzona poprzez użycie bitów z części hosta adresu. Te zapożyczone bity, używane są wtedy do reprezentowania różnych podsieci w zakresie oryginalnej sieci.
Biorąc pod uwagę, że adres IPv4 jest 32-bitowy, pożyczając bity hosta do podziału i stworzenia podsieci, zmniejszamy liczbę hostów w każdej z podsieci. Bez względu na liczbę stworzonych podsieci, wszystkie 32 bity są wymagane do zidentyfikowania pojedynczego hosta.
Liczba bitów stanowiąca część sieciową adresu jest nazywana długością prefiksu. Dla przykładu, jeżeli sieć używa 24 bitów do identyfikacji części sieciowej adresu, prefiks jest reprezentowany jako /24. W urządzeniach używających adresowania IPv4, prefiks jest określany oddzielnym 32-bitowym numerem, nazywany maską podsieci.
Uwaga: Zagadnienie adresowania i podziału na podsieci jest omawiane szczegółowo w rozdziale 6.
Zwiększenie długości prefiksu lub maski podsieci umożliwia utworzenie tych podsieci. W ten sposób administratorzy sieci mają możliwość podziału sieci w celu zaspokojenia różnych potrzeb, tj. lokalizacji, zarządzanie wydajnością sieci i bezpieczeństwa mając pewność, że każdy z hostów ma unikalny adres.
W tym rozdziale adres IPv4 posiada 24 bitową część sieciową. Założenie to poczyniono w celu wyjaśnienia zagadnienia.
5.3 Routing - jak nasze pakiety danych są obsługiwane
5.3.1 Parametry urządzenia - obsługa komunikacji na zewnątrz naszej sieci
Strona 1:
W obszarze sieci lub podsieci, hosty komunikują się między sobą bez udziału urządzenia pośredniczącego warstwy sieci. Kiedy host potrzebuje skomunikować się z inną siecią, urządzenie pośredniczące (router) pełni rolę bramy do innej sieci.
Częścią konfiguracji hosta jest zdefiniowanie dla niego adresu bramy domyślnej. Jak pokazuje rysunek, adresem tej bramy jest adres interfejsu routera, który jest przyłączony do tej samej sieci co host.
Należy pamiętać, że nie jest możliwe, aby poszczególne hosty znały adresy wszystkich urządzeń w sieci Internet, z którymi mogą mieć komunikację. Do komunikacji z urządzeniem znajdującym się w innej sieci, host używa adresu bramy (bramy domyślnej), aby przekazać pakiet na zewnątrz sieci lokalnej.
Router zwykle potrzebuje trasy, która określa, gdzie przekazać pakiet dalej. Nazywa się to adresem następnego przeskoku (ang. next-hop). Jeśli trasa jest dostępna na routerze, router ten będzie przekazywał pakiet do kolejnego routera, który oferuje ścieżkę do sieci docelowej.
5.3.2 Pakiety IP - Transfer danych pomiędzy punktami końcowymi
Strona 1:
Jak wiadomo, rolą warstwy sieci jest transfer danych z hosta, gdzie one powstają do hosta, który ma je użyć. W ramach procesu enkapsulacji w warstwie 3 hosta źródłowego tworzony jest pakiet, którego zadaniem jest transport jednostki PDU warstwy 4. Jeśli host docelowy jest w tej samej sieci co host źródłowy, pakiet jest przekazywany pomiędzy dwoma hostami przy użyciu lokalnych mediów, bez potrzeby użycia routera.
Jednakże, jeśli host docelowy i źródłowy nie są w tej samej sieci, pakiet zawierający jednostkę PDU warstwy transportowej, może być transportowany poprzez wiele sieci i przez wiele routerów. Jeśli tak jest, zawarta informacja podczas przesyłania nie jest zmieniana przez żadne routery, kiedy podejmowane są decyzje o przekazaniu.
Na każdym przeskoku, decyzja o przekazaniu opiera się na informacji zawartej w nagłówku pakietu IP. Tak więc, pakiet (enkapsulowany w warstwie sieciowej) wpływa na proces przesyłania go od źródła do miejsca przeznaczenia.
W przypadku komunikacji między hostami w różnych sieciach, sieć lokalna przesyła pakiet ze źródła do routera będącego bramą. Router sprawdza część sieciową adresu docelowego w pakiecie i przekazuje pakiet to właściwego interfejsu. Jeśli sieć docelowa jest bezpośrednio przyłączona do tego routera, pakiet jest przekazywany bezpośrednio do hosta. Jeśli sieć docelowa nie jest bezpośrednio przyłączona, pakiet jest przekazywany do drugiego routera, który jest routerem następnego przeskoku.
Za przekazanie pakietu odpowiada ten drugi router. Na drodze, w trakcie przekazywania pakietu, może być on sprawdzany przez wiele routerów, zanim osiągnie cel.
5.3.3 Brama - droga wyjścia z naszej sieci
Strona 1:
Brama, przeważnie znana jako brama domyślna, jest potrzebna do wysłania pakietu poza sieć lokalną. Jeśli część sieciowa w adresie docelowym pakietu jest inna od sieci z której pochodzi host, pakiet będzie przekazany poza sieć źródłową. Aby to osiągnąć, pakiet jest przesyłany do bramy. Bramą tą jest interfejs routera podłączony do sieci lokalnej. Interfejs bramy posiada adres warstwy trzeciej, którego część sieciowa jest zgodna z częścią sieciową adresów hostów. Hosty są konfigurowane tak, aby rozpoznać ten adres jako bramę.
Brama Domyślna
Brama domyślna konfigurowana jest na hoście. Na komputerach z systemem Windows, aby wprowadzić adres IPv4 bramy domyślnej, należy wybrać Protokół Internetowy (TCP/IP), a następnie Właściwości. Adres IPv4 i adres bramy muszą posiadać taką samą część sieciową (i podsieci, jeśli jest używana).
Strona 2:
Sprawdzanie bramy i trasy
Jak pokazuje rysunek, adres IP bramy domyślnej na hoście może być wyświetlony przy użyciu polecenia ipconfig lub route w linii poleceń systemu Windows. Polecenie route jest również zwykle wykorzystywane na hostach używających systemów Linux lub UNIX.
Strona 3:
Żaden pakiet nie będzie przesłany bez trasy. Niezależnie od tego, czy pakiet pochodzi z hosta lub jest przesyłany przez urządzenie pośrednie, urządzenie to musi posiadać trasę określającą gdzie przesłać pakiet.
Host musi przesłać pakiet do hosta w sieci lokalnej lub do bramy w zależności od sytuacji. Aby przesyłać pakiety, host musi posiadać trasy, które określają te cele.
Router podejmuje decyzję o przesłaniu każdego pakietu, który został odebrany na interfejsie należącym do bramy. Omawiany proces przesyłania pakietu określa się jako routing. Aby przekazać pakiet do sieci docelowej, router musi znać trasę do tej sieci. Jeśli trasa do sieci docelowej nie istnieje, pakiet nie może być przesłany dalej.
Sieć docelowa może być oddalona o wiele routerów lub przeskoków od bramy. Trasa do tej sieci wskazuje tylko router następnego przeskoku, do którego pakiet zostanie przekazany, nie będący routerem końcowym. Proces routingu polega na znalezieniu trasy, poprzez ustalenie adresu kolejnego przeskoku na podstawie docelowego adresu sieciowego, a następnie przesyłaniu pakietu na adres kolejnego przeskoku.
5.3.4 Trasa - ścieżka do sieci
Strona 1:
Trasą dla pakietów kierowanych do odległych sieci jest adres bramy domyślnej jako następnego przeskoku. Host może również posiadać ręcznie dodane (skonfigurowane) trasy. Nie jest to jednak częsta praktyka.
Tak jak urządzenia końcowe, routery również posiadają trasy do sieci bezpośrednio przyłączonych w swojej tablicy routingu. Kiedy interfejs routera ma skonfigurowany adres IP i maskę podsieci, interfejs staje się częścią tej sieci. Tablica routingu zawiera teraz te sieci, które są bezpośrednio przyłączone. Wszystkie inne trasy, muszą być jednak skonfigurowane lub uzyskane za pomocą protokołu routingu. Aby przekazać pakiet, router musi wiedzieć, gdzie go wysłać. Ta informacja jest dostępna w postaci trasy w tablicy routingu.
Tablica routingu przechowuje informacje o przyłączonych i odległych sieciach. Sieci przyłączone to te, które są podłączone bezpośrednio do jednego z interfejsów routera. Te interfejsy są bramami dla hostów znajdujących się w różnych sieciach lokalnych. Sieci odległe są sieciami, które nie są bezpośrednio podłączone do routera. Trasy do tych sieci mogą być skonfigurowane ręcznie na routerze przez administratora lub nauczone automatycznie przy użyciu dynamicznych protokołów routingu.
Trasy w tablicy routingu posiadają trzy główne parametry:
sieć docelowa,
następny przeskok,
metryka.
Router dopasowuje adres docelowy zapisany w nagłówku pakietu do sieci docelowej trasy w tablicy routingu i przekazuje pakiet do routera następnego przeskoku, określonego przez tą trasę. Jeśli są dwie lub więcej możliwych tras do tego samego celu, do podjęcia decyzji, która trasa pojawi się w tablicy routingu, używana jest metryka.
Jak pokazuje rysunek, tablica routingu na routerze Cisco może zostać wyświetlona przy użyciu komendy show ip route.
UWAGA: Proces routingu i rola metryk są tematem późniejszego kursu, gdzie będą szczegółowo omawiane.
Jak wiadomo, pakiety nie mogą być przesyłane przez router bez posiadania trasy. Jeżeli trasa reprezentująca sieć docelową nie występuje w tablicy routingu, pakiet będzie porzucony. Dopasowywane trasy mogą być także trasami do sieci przyłączonych lub odległych. Router może również używać trasy domyślnej, aby przekazać dalej pakiet. Trasa domyślna jest używana, kiedy sieć docelowa nie jest reprezentowana przez żadną inną trasę w tablicy routingu.
Strona 2:
Tablica Routingu Hostów
Host tworzy trasy służące do przesyłania pakietów z miejsca ich pochodzenia. Te trasy pochodzą z sieci przyłączonych i z konfiguracji bramy domyślnej.
Hosty automatycznie dodają trasy do wszystkich sieci przyłączonych. Te trasy w sieciach lokalnych pozwalają na przekazywanie pakietów do hostów, które są przyłączone do tych sieci.
Zatem hosty potrzebują lokalnej tablicy routingu, aby zapewnić pakietom w warstwie sieci prawidłowy kierunek przesyłania do sieci docelowej. W odróżnieniu od tablicy routingu w routerach, ktore zawierają trasy lokalne i zdalne, lokalne tablice hostów zwykle zawierają trasy do sieci bezpośrednio przyłączonych oraz własną trasę domyślną do bramy. Konfigurując adres bramy domyślnej na hoście, tworzy się lokalną trasę domyślną.
Jak pokazuje rysunek, tablicę routingu komputera można przeglądać wydając w lini poleceń komendy netstat -r, route, lub route PRINT.
W niektórych sytuacjach może zajść potrzeba wyświetlenia na hoście bardziej szczegółowych tras. Używając poniższych opcji dla komendy route można zmieniać zawartość tablicy routingu:
route ADD
route DELETE
route CHANGE
5.3.5 Sieć docelowa
Strona 1:
Wpisy w tablicy routingu
W tablicy routingu wpis dotyczący sieci docelowej nazywamy trasą. Reprezentuje ona zakres adresów hostów, a czasami zakres adresów sieci i hostów.
Istotą hierarchicznego adresowania warstwy 3 jest to, że jedna trasa może odnosić się do dużej, głównej sieci, a następny wpis może odnosić się do podsieci tej sieci. Kiedy pakiet jest przekazywany, router wybierze najbardziej szczegółową trasę.
Wracając do wcześniejszego przykładu dotyczącego adresów pocztowych, rozważ wysłanie tego samego listu z Japonii do 170 West Tasman Drive San Jose, California USA. Który adres byś użył: "USA" lub "San Jose California USA" lub "West Tasman Drive San Jose, California USA" lub "170 West Tasman Drive San Jose, california USA"?
Powinieneś użyć czwarty, najbardziej szczegółowy adres. Jednakże, dla innego listu, gdzie numer ulicy byłby nieznany, opcja trzecia dostarcza najbardziej odpowiedniego adresu.
W ten sam sposób pakiet dostarczany do podsieci, która jest częścią dużej sieci może być kierowany przy użyciu tras do tej podsieci. Jednakże pakiet adresowany do różnych podsieci w obszarze tej samej dużej sieci, może być kierowany przy użyciu bardziej ogólnych wpisów.
Jak pokazuje rysunek, jeśli pakiet dotrze do routera z adresem docelowym 10.1.1.55, router przekaże ten pakiet do routera następnego przeskoku skojarzonego z trasą do sieci 10.1.1.0. Jeśli trasa do 10.1.1.0 nie znajduje się w tablicy routingu, ale znajduje się tam trasa do 10.1.0.0, pakiet zostanie przekazany do kolejnego routera dla tej sieci.
Dlatego też, kolejność wyboru trasy dla pakietu kierowanego do 10.1.1.55 będzie następujące:
1. 10.1.1.0
2. 10.1.0.0
3. 10.0.0.0
4. 0.0.0.0 (trasa domyślna, jeśli została skonfigurowana)
5. Odrzucenie pakietu
Strona 2:
Trasa domyślna
Router może mieć skonfigurowaną trasę domyślną. Trasa domyślna jest trasą, która pasuje do wszystkich sieci docelowych. W sieciach IPv4, do tego celu jest używany adres 0.0.0.0. Trasa domyślna jest używana do przekazywania pakietów, dla których sieć docelowa nie znajduje się w tablicy routingu. Pakiety z adresem sieci docelowej, dla których nie ma pasującego wpisu o trasie w tablicy routingu są przekazywane do routera następnego przeskoku wskazanego przez trasę domyślną.
5.3.6 Następny przeskok - gdzie pakiet zostanie przesłany w następnym kroku
Strona 1:
Następny przeskok jest adresem urządzenia, które jako następne będzie obsługiwało pakiet. Dla hostów w sieci adres bramy domyślnej (interfejsu routera) jest następnym przeskokiem dla wszystkich pakietów skierowanych do innej sieci.
Tablica routingu routera zawiera adres kolejnego przeskoku w odniesieniu dla każdego adresu docelowego trasy. Dla każdego pakietu odebranego przez router, określany jest adres sieci docelowej, który jest porównywany z trasami w tablicy routingu. Kiedy pasująca trasa zostanie określona, adres następnego przeskoku dla tej trasy jest użyty, w celu przekazania pakietu w kierunku jego celu. Następnie, router przekazuje pakiet przez interfejs wyjściowy, gdzie przyłączony jest router następnego przeskoku. Router następnego przeskoku jest bramą do sieci znajdujących się poza tą pośrednią lokalizacją.
Sieci bezpośrednio przyłączone do routera nie posiadają adresu następnego przeskoku, ponieważ nie ma pośredniego urządzenia warstwy 3 pomiędzy routerem a siecią. Router może przekazywać pakiety bezpośrednio przez interfejs wyjściowy do sieci hosta docelowego.
Niektóre trasy mogą posiadać wiele następnych przeskoków. To wskazuje na to, że istnieje wiele ścieżek do tej samej sieci docelowej. Są to równoległe trasy, których router może użyć do przekazywania pakietów.
5.3.7 Przekazywanie pakietów - przesyłanie pakietu w kierunku jego celu
Strona 1:
Routing jest wykonywany pakiet-po-pakiecie i skok-po-skoku. Każdy pakiet jest traktowany niezależnie w każdym routerze wzdłuż całej ścieżki. Na każdym przeskoku router określa docelowy adres IP dla każdego pakietu a następnie sprawdza tablicę routingu, aby odczytać informację o sposobie przesłania.
Router wykona jedną z trzech czynności z pakietem:
przekaże go do routera następnego przeskoku,
przekaże go do hosta docelowego,
odrzuci go.
Przetwarzanie pakietu
Na urządzeniu pośrednim, router przetwarza pakiet do warstwy sieci. Jednakże pakiety, które docierają do interfejsu routera są zaenkapsulowane w jednostce PDU warstwy łącza danych (warstwa 2). Jak pokazuje rysunek, router najpierw zdejmuje enkapsulację warstwy 2 a dopiero następnie zawartość pakietu może być sprawdzona.
Wybór następnego przeskoku
Router sprawdza adres docelowy w nagłówku pakietu. Jeśli pasująca trasa znajdująca się w tablicy routingu wskazuje, że sieć docelowa jest bezpośrednio przyłączona do routera, pakiet jest przekazywany do interfejsu, do którego przyłączona jest ta sieć. W takim przypadku, nie istnieje następny przeskok. Przesłanie pakietu do przyłączonej sieci, wymaga ponownej enkapsulacji w warstwie 2, a następnie przesłania przez interfejs wyjściowy.
Jeśli trasa pasująca do sieci docelowej pakietu jest siecią odległą, pakiet jest przekazywany do wskazanego interfejsu, enkapsulowany przez protokół warstwy 2, i wysyłany na adres następnego przeskoku.
Strona 2:
Używanie trasy domyślnej
Jak pokazuje rysunek, jeśli tablica routingu nie zawiera szczegółowej trasy dla przychodzącego pakietu, pakiet jest przekazywany do wskazanego interfejsu określonego przez trasę domyślną, jeśli taka istnieje. Interfejs dokonuje enkapsulacji pakietu przy użyciu protokołu warstwy 2 i wysyła go do routera następnego przeskoku. Trasa domyślna jest także nazywana bramą ostatniej szansy (ang. Gateway of Last Resort).
Ten proces powtarzany jest wiele razy, aż do momentu kiedy pakiet osiągnie sieć docelową. Router na każdym przeskoku zna tylko adres następnego przeskoku. Nie są mu znane szczegóły całej trasy do odległego hosta docelowego. Ponadto, nie wszystkie pakiety przesyłane do tego samego celu, będą przekazywane do tego samego następnego przeskoku na każdym routerze. Routery wzdłuż drogi mogą uczyć się nowych tras podczas komunikacji i przesyłać późniejsze pakiety do innych następnych przeskoków.
Trasy domyślne są ważne, ponieważ jest nieprawdopodobne, aby router będący bramą posiadał trasy do wszystkich możliwych sieci w Internecie. Jeśli pakiet jest przekazywany przy użyciu trasy domyślnej, powinien ostatecznie przybyć do routera, który posiada specyficzną trasę do sieci docelowej. Ten router może być routerem, do którego ta sieć jest przyłączona. W takim wypadku, router ten przekaże pakiet przez sieć lokalną do hosta docelowego.
Strona 3:
Jeśli pakiet przekazywany jest przez kolejne przeskoki w intersieci, wszystkie routery muszą posiadać trasy, aby przesłać pakiet. Jeśli żaden router nie znajdzie w swojej tablicy routingu trasy do sieci docelowej i nie jest wprowadzona trasa domyślna, pakiet zostanie odrzucony.
Jeśli dany router nie ma gdzie przesłać pakietu, protokół IP nie jest zobowiązany zwracać go do poprzedniego routera. Taka funkcjonalność niekorzystnie wpływałaby na wydajność protokołu oraz udział informacji zarządczych w normalnym ruchu. Inne protokoły są używane do raportowania takich błędów.
5.4 Proces routingu: Jak pozyskiwane są trasy
5.4.1 Protokoły routingu - wymiana informacji o trasach
Strona 1:
Routing zakłada, że każdy router wzdłuż całej ścieżki do celu pakietu posiada trasę na podstawie, której pakiet jest przesyłany. W przeciwnym razie, pakiet jest odrzucany na przeskoku nie posiadającym trasy. Każdy router na ścieżce nie musi znać tras do wszystkich sieci. Powinien jedynie znać adres następnego przeskoku na ścieżce do sieci docelowej pakietu.
Tablica routingu zawiera informacje, których router używa podczas podejmowania decyzji o przekazaniu pakietu. Podczas podejmowania decyzji routingu, tablica routingu powinna reprezentować aktualny stan sieci i ich połączeń, do których router może przesyłać pakiety. Nieaktualne informacje mogą powodować, że pakiety mogą być przekazywane do niewłaściwych węzłów sieci, wpływając na opóźnienia lub gubienie pakietów.
Informacje o trasach mogą być skonfigurowane ręcznie na routerze lub nauczone dynamicznie od innych routerów w tej samej intersieci. Po tym jak interfejsy routera zostaną skonfigurowane i zaczną funkcjonować, sieć przyłączona do każdego interfejsu jest umieszczana w tablicy routingu, jako sieć bezpośrednio przyłączona.
5.4.2 Routing statyczny
Strona 1:
Trasy do sieci odległych wraz z odpowiadającymi im adresami następnych przeskoków mogą zostać skonfigurowane na routerze ręcznie. Nazywa się to routingiem statycznym. Trasa domyślna również może być skonfigurowana statycznie.
Jeśli router jest połączony do wielu innych routerów, wymagana jest wiedza na temat struktury intersieci. Aby zapewnić, że pakiety będą przesyłane przy użyciu możliwie najlepszych następnych przeskoków, każda znana sieć docelowa powinna posiadać odpowiadającą jej trasę lub trasę domyślną. Ponieważ pakiety są przekazywane przez kolejne przeskoki, każdy router musi mieć skonfigurowane trasy statyczne do następnych przeskoków, które uwzględniają ich umiejscowienie w intersieci.
Ponadto, jeśli struktura intersieci zmienia się lub pojawiają się nowe sieci, zmiany te muszą być ręcznie uwzględnione na każdym routerze. Jeśli aktualizacja nie zostanie wykonana na czas, informacje o routingu mogą być niekompletne lub nieprecyzyjne, rezultatem czego mogą nastąpić opóźnienia lub zagubienia pakietów.
5.4.3 Routing dynamiczny
Strona 1:
Ponieważ istotą wszystkich routerów w intersieci jest posiadanie aktualnych i poprawnych tras, utrzymywanie tablic routingu skonfigurowanych statycznie, nie jest zawsze możliwe. Dlatego też, używane są dynamiczne protokołu routingu. Protokoły routingu są zbiorem reguł, za pomocą których routery dzielą się dynamicznie informacjami o routingu. W momencie stwierdzenia przez dany router zmian w sieciach, dla których pełni on rolę bramy, bądź stanów łączy pomiędzy routerami, niniejsze informacje są przekazywane do kolejnych routerów. Kiedy router otrzymuje informacje o nowych lub zmienionych trasach, aktualizuje własną tablicę routingu i następnie przekazuje te informacje do innych routerów. W ten sposób wszystkie routery posiadają tablice routingu odzwierciedlające stan sieci, które są aktualizowane dynamicznie i mogą uczyć się tras do zdalnych sieci, które są wiele przeskoków dalej. Przykład dzielenia się trasami przez router, pokazany jest na rysunku.
Powszechnie stosowane protokoły routingu to:
protokół RIP (ang. Routing Information Protocol),
protokół EIGRP (ang. Enhanced Interior Gateway Routing Protocol),
protokół OSPF (ang. Open Shortest Path First)
Chociaż protokoły routingu wypełniają tablice routingu aktualnymi informacjami, są pewne koszty. Po pierwsze, wymiana informacji o trasach zajmuje część pasma sieci. Może to stać się problemem zwłaszcza w przypadku łączy pomiędzy routerami, które posiadają niewielką szerokość pasma. Po drugie, informacja o trasie, którą router otrzymuje musi zostać przetworzona przez protokoły takie jak EIGRP i OSPF, aby zostały wpisane do tablicy routingu. Oznacza to, że routery, które stosują te protokoły muszą mieć wystarczające możliwości przetwarzania jednoczesnej implementacji algorytmów tych protokołów i wykonywania procesu routingu pakietów.
Stosowanie tras statycznych nie zmniejsza przepustowości sieci, ponieważ poszczególne wpisy umieszczane są bezpośrednio w tablicach routingu i nie wymagają przetwarzania przez sam router. Wadą routingu statycznego jest jego administracja - konfiguracja i utrzymanie tablic routingu wykonywane jest ręcznie, w celu zapewnienia efektywnego routingu.
W wielu intersieciach używa się kombinacji routingu statycznego, dynamicznego i tras domyślnych, aby zapewnić niezbędne trasy. Konfiguracja protokołów routingu na routerach jest integralną częścią kursu CCNA i będzie omawiana dokładnie w późniejszym kursie.
5.6 Podsumowanie
5.6.1 Podsumowanie
Strona 1:
Najbardziej istotnym protokołem warstwy sieci (3 warstwy modelu OSI) jest protokół IP. IP w wersji 4 (IPv4) jest przykładowym protokołem warstwy sieci, który będzie używany w tym kursie przez cały czas.
Routing IP warstwy 3 nie gwarantuje niezawodnego dostarczania lub ustanawiania połączenia przed transmisją danych. Ta bezpołączeniowa i zawodna komunikacja jest szybka i elastyczna a warstwy wyższe muszą zapewnić mechanizmy, które zagwarantują dostarczenie danych jeśli zajdzie się taka potrzeba.
Rolą warstwy sieci jest przesyłanie danych z jednego hosta do innego bez względu na typ danych. Dane są enkapsulowane w pakiety. Nagłówek pakietu posiada pole, które zawiera docelowy adres pakietu.
Adresowanie hierarchiczne warstwy sieci, z częścią sieciową i hosta, ułatwia podział sieci na podsieci i zapewnia, że adres sieci będzie używany do przekazywania pakietów w kierunku przeznaczenia, niezależnie od indywidualnego adresu każdego hosta.
Jeśli adres docelowy nie jest w tej samej sieci co host źródłowy, pakiet jest przekazywany do bramy domyślnej a następnie do sieci docelowej. Brama jest interfejsem routera, który sprawdza adres docelowy. Jeśli sieć docelowa znajduje się w tablicy routingu, router przekazuje pakiet do sieci przyłączonej lub wysyła na adres następnego przeskoku. Jeśli nie istnieje wpis w tablicy routingu, router może przekazać pakiet trasą domyślną lub odrzucić pakiet w przypadku jej braku.
Wpisy w tablicy routingu mogą być konfigurowane ręcznie na każdym routerze, zapewniając routing statyczny lub routery mogą komunikować się dynamicznie przy użyciu protokołów routingu wymieniając informacje o trasach.
14