Kurs Packet Tracer 6.2. — od zera do sieci tworzenia cz.1
Witam w drugim wpisie poświęconym Packet Tracerowi, a jednocześnie pierwszym, który zawiera jakiś konkretny materiał. Niestety na początku będzie trochę nudnej teorii, ale musisz przez to przebrnąć.
Model OSI – podstawa przepływu danych w sieci
Wyobraź sobie następującą sytuację: Rozmawiasz ze swoją ukochaną dziewczyną przez Skype. Wszystko chodzi ładnie, płynnie, pięknie itd. Zastanawiałeś się kiedyś, jak to się dzieje? Jak dane z kamerki internetowej twojego komputera są przesyłane do innego komputera? W komunikacji internetowej najpopularniejszy jest model OSI. Składa się on z 7 warstw. Będę je omawiał na przykładzie programu Skype.
Najwyższą z warstw jest warstwa aplikacji. Jest to po prostu program, którego używamy na komputerze. Może to być Skype czy inny komunikator internetowy, arkusz kalkulacyjny, czy procesor tekstu. Gdy podejmiemy jakąś decyzję, która wymaga przesłania danych do innej stacji roboczej, warstwa aplikacji rozpoczyna cały proces i przesyła dane do warstw niższych. W naszym przykładzie, proces komunikacji może się rozpocząć np.: gdy będziemy chcieli rozpocząć z kimś wideorozmowę.
Kolejną warstwą jest warstwa prezentacji. Jej zadanie jest proste. Pilnuje, aby dane wysyłane przez warstwę aplikacji na pierwszej stacji roboczej były możliwe do odczytania na drugim komputerze. Koduje i dekoduje informacje, zapisuje je w różnych formatach. Ważnym zadaniem tej warstwy jest także szyfrowanie danych. Formaty danych używane w tej warstwie to najpopularniejsze formaty graficzne, takie jak JPG czy BMP. Natomiast jeśli chodzi o dźwięk czy obraz, to są to MIDI i MPEG. Wracając do naszego „skejpowego” przykładu, warstwa prezentacji odpowiedzialna byłaby za zapisanie surowego obrazu z kamerki internetowej w odpowiednim formacie wideo, a także za zaszyfrowanie tych danych.
Warstwa sesji odpowiedzialna jest za utrzymanie połączenia między dwoma komputerami. Synchronizuje także „rozmowę” między warstwami prezentacji dwóch hostów. Zabezpiecza komunikację przed błędami, o których ewentualnym wystąpieniu informuje wyższe warstwy. W naszym przykładzie warstwa sesji odpowiedzialna byłaby za synchronizację głosu/dźwięku między rozmówcami, oraz za rozpoczęcie/zakończenie rozmowy.
Dane przechodzące przez warstwy wyższe (aplikacji->prezentacji->sesji) tworzą pakiet danych. Realizacja funkcji tych warstw zasadniczo należy do aplikacji i zależy od jej programistów. Warstwy niższe są już realizowane głównie przez system operacyjny. Najwyższa z „niższych” warstw to warstwa transportowa. Dzieli ona otrzymany od wyższych warstw pakiet danych na segmenty. Do każdego segmentu dodawany jest nagłówek określający jego właściwości. Warstwa transportowa dba o niezawodność „transportu” danych między hostami. Dba wykrywanie i ewentualne naprawianie błędów komunikacji. Protokołami, których używa warstwa transportowa są TCP i UDP. Gdy dane zostaną już podzielone na segmenty, są one przekazywane do niższej, warstwy sieci.
Zadanie warstwy sieci jest proste – znajduje najkrótszą drogę między komputerem źródłowym i docelowym, jaką może być wysłany segment. Dla każdego segmentu wyznaczona trasa może być inna. Adresuje logicznie segmenty (najczęściej posługując się adresami IP). Warstwa sieci także dokłada swój nagłówek do każdego segmentu. Typowym i najczęściej używanym protokołem tej warstwy jest protokół IP. Tak opakowany segment jest wysyłany do warstwy łącza danych.
Warstwa łącza danych dane otrzymane od warstwy sieci dzieli na jeszcze mniejsze części – ramki. Troszczy się o najbardziej podstawowe elementy pracy sieci, takie jak adresowanie fizyczne (po adresach MAC), topologie sieci, kontrolę przepływu danych i wysyłanie informacji do warstw wyższych o błędach występujących na tym poziomie.
Najniższą warstwą, która jest odpowiedzialna za rzeczywiste wysłanie/odebranie danych jest warstwa fizyczna. Zamienia ona ramki otrzymane od warstwy wyższej na fizyczne strumienie bitów, które są wysyłane przewodem elektrycznym, czy sygnałem radiowym do innego hosta. Ramki są przesyłane szeregowo (bit po bicie). To jest jedyne zadanie tej warstwy.
Opisałem, jak wygląda ten proces w wypadku wysyłania danych. W przypadku ich odbierania wszystko się dzieje po prostu w odwrotnej kolejności. Pierwszą warstwą jest wtedy warstwa łącza danych, która wysyła odebrane strumienie bitów do warstw wyższych, aż w końcu warstwa aplikacji wyświetla je użytkownikowi.
Podstawowe urządzenia sieciowe budujące sieć lokalną
Mamy ogólnie trzy typy urządzeń łączących elementy sieci komputerowej, z czego dwa z nich mają dzisiaj właściwie znaczenie historyczne. Są to:
- Koncentrator (hub)
- Most (bridge)
- Przełącznik (switch)
Zacznijmy od najprostszego zagadnienia. Mamy trzy komputery i chcemy, aby istniało połączenie i możliwość przesyłania danych między nimi. Najłatwiejszym w budowie urządzeniem spełniającym takie zadanie jest Hub. Pracuje on w warstwie pierwszej modelu OSI. Oznacza to, że ramkę, którą otrzyma od jednego z podłączonych urządzeń wysyła do wszystkich innych. Nie ma znaczenia fakt, do kogo ta ramka jest adresowana. Hub nie analizuje ich budowy. Niesie to ze sobą kilka wad. Przede wszystkim, sieć jest „zasypywana” zbędnym ruchem, którego wcale nie musi być. Poza tym, stwarza to idealne pole dla działań hackerów. Aby podsłuchać transmisję, wystarczy po prostu wpiąć się do jednego z portów huba i ustawić kartę sieciową w tryb nasłuchu. Ze względu na sposób pracy tego urządzenia będziemy widzieli wszystkie pakiety, jakie krążą w sieci. Zbudujmy teraz prostą sieć w programie Packet Tracer, aby zobaczyć, jak to wygląda na żywo. Powinna ona wyglądać mniej więcej tak:
Komputerom nadaj adresy IP z zakresu 192.168.1.1 (dla PC0) do 192.168.1.3 (dla PC2). Następnie przejdź w tryb symulacji. Wyślij pakiet PING z komputera PC0 na komputer PC2 (pamiętasz? Wystarczy wybrać ikonę „zamkniętej koperty” i kliknąć najpierw na źródłowym, a potem na docelowym komputerze). Potem kliknij przycisk Auto Capture/Play i spokojnie obserwuj, jak sobie te pakiety krążą. Po wstępnej wymianie pakietów ARP (co to jest, dowiesz się kiedy indziej) zobaczysz upragniony pakiet ICMP. Gdy koncentrator (czyli hub) otrzyma pakiet ICMP, wyśle go nie tylko do komputera PC2, ale także do PC1. Sprawdza się więc to, o czym mówiliśmy chwilę wcześniej ? i potwierdza, jak przydatnym narzędziem jest ten program.
Gdyby cała sieć internetowa była oparta na koncentratorach, z pewnością nie byłaby to szybka ani bezpieczna sieć. Musiano więc opracować jakieś inne urządzenie, które służyłoby do dzielenia sieci na mniejsze segmenty, tak, aby ograniczyć wady koncentratorów. Tym urządzeniem jest most (bridge).
Most sieciowy pracuje w drugiej warstwie modelu OSI (a więc w warstwie łącza danych). Pozwala mu to (w przeciwieństwie do koncentratora) analizować ramki przepływające przez niego m.in. pod kątem adresu fizycznego hosta docelowego. Zasada działania jest prosta – jeśli pakiet jest adresowany do któregoś z komputerów znajdujących się w innym segmencie sieci, należy go puścić dalej. W przeciwnym wypadku należy go odrzucić. Zmniejsza to istotnie obciążenie sieci. Zmniejsza także liczbę kolizji pakietów w sieci (kolizja? – pewnie dla ciebie nowe pojęcie. Nie martw się, zostanie wyjaśnione za chwilę), a także zwiększa liczbę domen kolizyjnych. Zobaczmy więc w praktyce, jak działa most sieciowy. Stwórz następującą sieć:
Komputerom nadaj adresy od 192.168.1.1 (dla PC0) do 192.168.1.6 (dla PC5). Przejdź teraz w tryb symulacji i wyślij pakiet PING z komputera PC0 do PC2. Kliknij Auto Capture/Play i obserwuj ruch pakietu ICMP. Jak zauważysz, pakiet zostanie wysłany przez hub do mostu sieciowego, ale ten nie prześle go dalej, ponieważ cel tego pakietu nie znajduje się w drugim segmencie sieci tylko w tym, z którego pakiet pochodzi. Teraz spróbujmy wysłać pakiet PING z komputera PC0 na jakiś dowolny komputer w drugim segmencie sieci. Obserwuj ruch pakietu. Tym razem most sieciowy przepuści pakiet dalej, a więc wszystko się dzieje tak, jak być powinno.
Został nam do poznania jedynie przełącznik – ostatnie z urządzeń, które służy do budowania sieci LAN. Przełącznik, czyli switch jest urządzeniem warstwy drugiej – tak samo jak most. Różnica polega na tym, że most ma zwykle dwa porty, które służą do łączenia dwóch segmentów sieci. Natomiast przełącznik może mieć tych portów kilkanaście. Przełącznik w odróżnieniu od mostu, jest sprzętowo przystosowany do analizy ramek, tak więc wykonuje te zadanie o wiele szybciej. Każdy port przełącznika jest jak gdyby oddzielnym mostem, więc przy użyciu tego urządzenia ilość domen kolizyjnych jest maksymalna (w zasadzie każdy komputer znajduje się w innej domenie kolizyjnej) a niepotrzebne obciążenie sieci jest minimalne. Istnieją przełączniki, które pracują nie tylko w warstwie drugiej, ale także w warstwach wyższych, ale nimi zajmiemy się później. Aby zobaczyć na żywo zasadę działania przełącznika, zbudujmy prostą sieć:
Komputerom nadaj adresy IP od 192.168.1.1 (dla PC0) do 192.168.1.8) (dla PC7). Standardowo przejdź w tryb symulacji. Wyślij pakiet PING z komputera PC0 do komputera PC2. Obserwuj ruch pakietu ICMP. Jak widzisz, nie jest on rozsyłany do wszystkich komputerów. Trafia jedynie do komputera docelowego. Tak samo będzie się działo, jak wyślesz pakiet ICMP z komputera PC0 na komputer np.: PC5. Switch1, po otrzymaniu pakietu od razu wyśle go do komputera PC5, a inne komputery nie zobaczą tej wiadomości. Te wszystkie zalety przesądziły o tym, że dzisiaj właśnie przełącznik jest najpopularniejszym urządzeniem służącym do łączenia komputerów. Jak pewnie zauważysz, nie wspomniałem ani razu o urządzeniu zwanym routerem. Będzie o tym w następnej części mojego kursu.
Domeny kolizyjne i rozgłoszeniowe
Pojęcia domeny kolizyjnej użyłem już raz przy opisie zasad pracy huba i mostu sieciowego. Już wtedy pewnie zastanawiałeś się, co to jest? No to teraz się dowiesz :). Ogólnie przy budowie sieci wyróżniamy dwa typy domen. Zacznijmy od domeny kolizyjnej. Aby lepiej zobrazować zasadę jej działania, posłużę się przykładem: Wyobraź sobie, że jedziesz samochodem po drodze. Póki nie ma żadnych innych samochodów, możesz bez problemu skręcić w którąkolwiek uliczkę i nie musisz czekać. Problem pojawia się, gdy wokół ciebie jeżdżą także inne pojazdy. Wtedy na skrzyżowaniu może powstać ogromny korek, w którym możesz spędzić dobrych kilkanaście minut, zanim pojedziesz dalej. Tak samo jest w sieciach. Kolizja powstaje, gdy w tym samym czasie, w tej samej sieci dwa różne urządzenia próbują wysłać wiadomość. Jak wiadomo, jest to niemożliwe, gdyż bit, to najprościej mówiąc, poziom sygnału (gdzie 1 oznacza, że jest prąd, a 0, że go nie ma). Nie jest więc możliwe wykonanie tej czynności. Jedno z urządzeń musi poczekać, aż „medium” (czyli kabel) się zwolni. Problem domen kolizyjnych ujawnia się zwłaszcza wtedy, gdy używamy koncentratorów. Jak widziałeś w pierwszym przykładzie, koncentrator po otrzymaniu pakietu wysyła go na wszystkie swoje porty. A więc w tym czasie żaden z komputerów nie może wysłać swojej wiadomości. Możemy więc wywnioskować, że wszystkie komputery podłączone do koncentratora znajdują się w jednej domenie kolizyjnej. Most sieciowy nie pozwala na przesyłanie pakietów do drugiego segmentu sieci, kiedy ten nie jest ich celem. A więc most dzieli jedną dużą domenę kolizyjną na dwie mniejsze. Przy przełączniku każdy komputer jest w „swojej” domenie kolizyjnej, a więc w tym wypadku kolizje praktycznie nie występują.
Warto w tym miejscu wspomnieć o takich pojęciach jak segment i segmentacja, których zresztą też już używałem w tym artykule. Segment sieci to innymi słowy jedna domena kolizyjna. Natomiast segmentacja polega na takim podziale sieci, aby zmniejszyć ilość kolizji pakietów, a zwiększyć liczbę domen kolizyjnych. Domena rozgłoszeniowa jest drugim rodzajem domen. Jest to grupa domen kolizyjnych. Aby zrozumieć ich działanie, wyobraź sobie następującą sytuację: Mieszkasz w pewnym domu (komputer). Chcesz dostarczyć wiadomość do jednego ze swoich przyjaciół, ale wiesz jedynie, że mieszka pod jednym z czterech adresów (inne stacje robocze). Przyjmijmy, że na drogach nie ma innych pojazdów (przełącznik jako urządzenie łączące stacje robocze). W najgorszym wypadku musisz odwiedzić wszystkie cztery domy, aby znaleźć ten właściwy. To właśnie istota domeny rozgłoszeniowej. Komputer, gdy chce wysłać pakiet na jakiś adres IP, do którego nie zna adresu fizycznego, musi wysłać pakiet ARP, który jest następnie rozgłaszany przez przełącznik. Wszystkie komputery podłączone do przełącznika do jedna domena rozgłoszeniowa. Duża liczba rozgłoszeń może istotnie obniżyć wydajność pracy sieci. Aby podzielić jedną domenę rozgłoszeniową na dwie mniejsze, należy użyć routera (gdyż pracuje on w warstwie 3 modelu OSI, dzięki czemu może przeprowadzić segmentację domen rozgłoszeniowych).
Kończymy …
Czas zakończyć dzisiejszy wpis. Poznałeś podstawy podstaw tworzenia sieci komputerowych. W następnej części zajmiemy się m.in. różnymi sposobami adresowania sieci (adresowanie fizyczne i logiczne).