Maciej Wąsiewicz
Informatyka – semestr I
Praca kontrolna z przedmiotu „Sieci komputerowe” – Protokoły sieciowe
1. Modele sieciowe
Ogólnie przyjętym modelem sieci jest model warstwowy. Najwyższa warstwa jest odpowiedzialna za konwersje protokołów użytkownika lub funkcje zarządzania urządzeniami, najniższa warstwa za sterowanie fizycznym medium transmisji danych.
W modelu warstwowym pełny zbiór funkcji komunikacyjnych podzielony jest na podzbiory tak aby było możliwe traktowanie każdego podzbioru jako pewnej całości wykonującej autonomiczne zadanie. Wyodrębnione podzbiory funkcji są powiązane ze sobą tworząc strukturę hierarchiczną.
2. Model ISO/OSI
Model wzorcowy ISO OSI (ang. Open System Interconnection Reference Model), jest to kompleksowy standard komunikacji sieciowej (ISO 7498). Proces komunikacji jest podzielony na 7 etapów, zwanych warstwami, ze względu na sposób przechodzenia informacji pomiędzy nimi. Według modelu OSI każdy protokół komunikuje się ze swoim odpowiednikiem, będącym implementacją tego samego protokołu w równorzędnej warstwie komunikacyjnej systemu odległego. Dane przekazywane są od wierzchołka stosu, poprzez kolejne warstwy, aż do warstwy fizycznej, która przesyła je poprzez sieć do odległego hosta.
2.1 Warstwy modelu OSI
2.1.1 Warstwa fizyczna (ang. physical layer) zapewnia transmisję danych pomiędzy węzłami sieci. Definiuje interfejsy sieciowe i medium transmisji. Określa m.in. sposób połączenia mechanicznego, elektrycznego, standard fizycznej transmisji danych. W jej skład wchodzą min.: przewody, karty sieciowe, modemy, wzmacniacze, koncentratory.
2.1.2 Warstwa łącza danych (ang. data link layer) zapewnia niezawodność łącza danych. Definiuje mechanizmy kontroli błędów w przesyłanych ramkach lub pakietach - CRC (Cyclic Redundancy Check). Jest ściśle powiązana z warstwą fizyczną, która narzuca topologię. Często zajmuje się również kompresją danych. W jej skład wchodzą sterowniki urządzeń sieciowych, np.: sterowniki kart sieciowych oraz mosty i przełączniki.
2.1.3 Warstwa sieciowa (ang. network layer) zapewnia metody ustanawiania, utrzymywania i rozłączania połączenia sieciowego. Obsługuje błędy komunikacji. Jest odpowiedzialna za trasowanie pakietów w sieci, czyli wyznaczenie optymalnej trasy dla połączenia. W niektórych warunkach dopuszczalne jest gubienie pakietów przez tę warstwę. W jej skład wchodzą min.: routery.
2.1.4 Warstwa transportowa (ang. transport layer) zapewnia przezroczysty transfer danych. Dba o kolejność pakietów otrzymywanych przez odbiorcę. Sprawdza poprawność przesyłanych pakietów i w przypadku ich uszkodzenia lub zaginięcia, zapewnia ich retransmisję.
2.1.5 Warstwa sesji (ang. session layer) zapewnia aplikacjom na odległych komputerach realizację wymiany danych pomiędzy nimi. Kontroluje nawiązywanie i zrywanie połączenia przez aplikację. Jest odpowiedzialna za poprawną realizację zapytania o daną usługę.
2.1.6 Warstwa prezentacji (ang. presentation layer) zapewnia tłumaczenie danych, definiowanie ich formatu oraz odpowiednią składnię. Umożliwia przekształcenie danych na postać standardową, niezależną od aplikacji. Rozwiązuje problemy z niezgodnością reprezentacji liczb, znaków końca wiersza, liter narodowych itp. Odpowiada za kompresję i szyfrowanie.
2.1.7 Warstwa aplikacji (ang. application layer) zapewnia aplikacjom metody dostępu do środowiska OSI. Warstwa ta świadczy usługi końcowe dla aplikacji, min.: udostępnianie zasobów (plików, drukarek). Zapewnia dostęp do sieci aplikacją użytkownika.
2.2 Transmisja w modelu OSI
Transmisja przeprowadzana jest w dół kolejnych warstw (na komputerze klienckim), a następnie w górę (na serwerze). Przed wysłaniem dane wraz z przekazywaniem do niższych warstw sieci zmieniają swój format, co nosi nazwę procesu kapsułkowania (enkapsulacji).
Rys.1. Proces kapsułkowania.
W procesie tym dane użytkownika dzielone są na segmenty i opatrywane nagłówkiem zawierającym m.in. numery portów. W warstwie sieciowej dodawany jest nagłówek zawierający adresy logiczne nadawcy i odbiorcy. Do tak utworzonych pakietów w warstwie łącza danych dodawane są adresy fizyczne – powstaje ramka. W warstwie fizycznej ramka jest przekształcana do postaci pozwalającej przesłać informację. W stacji docelowej dane są ponownie przekształcane z bitów na ramki, a następnie na pakiety i segmenty.
3. Protokoły używane w sieciach LAN
3.1 Protokół TCP/IP
Najpopularniejszy protokół IP jest powszechnie używany w sieciach LAN oraz internecie. W sieciach IP dane są wysyłane w formie bloków tzw. pakietach. Przed rozpoczęciem transmisji nie jest zestawiana sesja komunikacyjna między dwoma urządzeniami.
Protokół IP nie gwarantuje dotarcia pakietów do adresata lub, że nie zostaną pofragmentowane bądź zdublowane. Dane mogą również dotrzeć do adresata w innej kolejności niż były wysłane. Niezawodność transmisji zapewniają protokoły warstw wyższych np. TCP warstwy transportowej.
3.2 Protokół IPX/SPX
Protokół IPX opracowano dla sieci pracujących w środowisku Novell Netware. Nie posiada on mechanizmów kontroli transmisji i nie gwarantuje, że wszystkie pakiety dotrą do adresata. Niezawodność transmisji zapewnia protokół warstwy czwartej tj. SPX.
Adresacja składa się z 32-bitowego adresu sieci oraz 48-bitowego adresu hosta odpowiadającego adresowi MAC karty sieciowej.
3.3 Protokół AppleTalk
Jest to protokół opracowany przez firmę Apple dla sieci komputerowych opartych na systemie MacOS. Protokół ten wykorzystuje proste sieci równorzędne. Obecnie nie jest już rozwijany.
3.4 NetBEUI
Jest to protokół opracowany przez IBM i wykorzystywany jedynie w systemach Microsoftu. Cechuje się minimalnymi wymaganiami i dużą odpornością na błędy. Używany jest tylko w małych sieciach lokalnych, gdyż nie jest to, w przeciwieństwie do w/w protokołów, protokół rutowalny tzn. nie jest obsługiwany przez routery.
4. Model TCP/IP
Model TCP/IP (ang. Transmission Control Protocol/Internet Protocol) jest teoretycznym modelem warstwowej struktury komunikacji sieciowej, którego główną cechą jest wyodrębnienie czterech współpracujących ze sobą warstw: aplikacji, transportowej, internetowej i interfejsu sieciowego. Każda warstwa modelu odpowiada jednej lub więcej warstwie modelu OSI.
Rys.2. Porównanie modelu OSI i TCP/IP.
4.1 Warstwy modelu TCP/IP
4.1.1 Warstwa dostępu do sieci
Warstwa ta, zwana także warstwą interfejsu sieciowego odpowiada za umieszczanie pakietów TCP/IP w nośniku sieciowym i odbieranie pakietów TCP/IP z tego nośnika. Model TCP/IP został zaprojektowany tak, aby być niezależnym od metody dostępu do sieci, formatu ramki i nośnika. Dzięki temu może być wykorzystywany do łączenia różnych rodzajów sieci, takich jak Ethernet i Token Ring.
4.1.2 Warstwa Internetu
Jest odpowiedzialna za adresowanie, pakowanie i funkcje routowania. Podstawowe protokoły warstwy internetowej to:
– Internet Protocol (IP) to routowalny protokół odpowiedzialny za adresowanie IP, routing oraz dzielenie i łączenie pakietów,
– Address Resolution Protocol (ARP) jest odpowiedzialny za przekształcanie adresów warstwy internetowej na adresy warstwy interfejsu sieciowego, takie jak adres sprzętowy,
– Internet Control Message Protocol (ICMP) jest odpowiedzialny za funkcje diagnostyczne i zgłaszanie błędów niedostarczenia pakietów IP,
– Internet Group Management Protocol (IGMP) jest odpowiedzialny za zarządzanie transmisjami grupowymi.
4.1.3 Warstwa transportowa
Odpowieda za dostarczenie warstwie aplikacji usług sesji i datagramowych. Protokołami warstwy transportowej są:
– Transmission Control Protocol (TCP), który odpowiada za ustanowienie połączenia, kolejkowanie, potwierdzanie wysyłanych pakietów i za odzyskiwanie pakietów utraconych.
– User Datagram Protocol (UDP) używany jest, gdy przesyłana jest mała ilość danych (czyli taka, która zmieści się w jednym pakiecie) lub gdy koszt tworzenia połączenia TCP jest zbyt wysoki.
4.1.4 Warstwa aplikacji
Warstwa ta umożliwia aplikacjom korzystanie z usług innych warstw i określa protokoły używane przez aplikację do wymiany danych. Najbardziej znanymi protokołami warstwy aplikacji są te, których używa się do wymiany informacji użytkownika:
– Hypertext Transfer Protocol (HTTP) jest używany do przesyłania plików stron internetowych światowej sieci Web,
– File Transfer Protocol (FTP) jest używany do interakcyjnego przesyłania plików,
– Simple Mail Transfer Protocol (SMTP) jest używany do przesyłania poczty i załączników,
– Telnet, protokół emulacji terminala jest używany do logowania się zdalnie do hostów.
Dodatkowo, używanie i zarządzanie sieciami TCP/IP ułatwiają następujące protokoły:
– Domain Name System (DNS) używany do przekształcenia nazwy hosta na adres IP,
– Routing Information Protocol (RIP) używany przez routery do wymiany informacji,
– Simple Network Management Protocol (SNMP) używany pomiędzy konsolą sieciową a urządzeniami (routery, mosty, koncentratory) do zbierania i wymiany informacji sterujących.
5. Narzędzia diagnostyczne protokołów TCP/IP
Poprawne skonfigurowanie protokołu IP pozwala na pracę z wykorzystaniem zasobów sieciowych. Każdy system operacyjny posiada narzędzia do sprawdzenia poprawności konfiguracji. Zarówno system Windows, jak i Linux są wyposażone w pełny zestaw poleceń umożliwiających diagnozowanie działania połączeń sieciowych z poziomu wiersza poleceń systemu MS-DOS lub okna tekstowej konsoli systemu. W polecenia te nie jest wyposażona samodzielna wersja systemu MS-DOS.
5.1 Polecenie ipconfig
Jest poleceniem stosowanym w systemach Windows. Wyświetla informacje na temat bieżącej konfiguracji protokołu TCP/IP dla wszystkich aktywnych interfejsów sieciowych. Pozwala sprawdzić adresy przypisane do poszczególnych interfejsów. Dla systemu Linux odpowiednikiem ipconfig jest polecenie ifconfig.
5.2 Polecenie ping
Polecenie to jest dostępne w systemach Windows i Linux. Sprawdza, czy komputer o podanym adresie odpowiada na diagnostyczne pakiety danych i wyświetla informacje na temat czasu odpowiedzi i liczby pakietów, na które odpowiedź nie nadeszła (wraz ze statystyką).
Do badania jakości połączenia polecenie ping korzysta z protokołu ICMP. Ponieważ ruch ICMP nie jest wykorzystywany przy transmisji danych, urządzenia sieciowe często zmniejszają jego priorytet i celowo ignorują pakiety próbne. Z tego powodu badanie funkcjonowania dużej sieci (na przykład Internetu) za pomocą polecenia ping mija się z celem, gdyż wyniki badania mogą być bardzo słabe mimo doskonałego stanu łącza sieciowego. Polecenie ping doskonale nadaje się za to do badania działania sieci lokalnych.
5.3 Polecenie tracert
Wyświetla trasę, którą podążają pakiety wysyłane z komputera użytkownika między routerami. W dużych sieciach TCP/IP często stosuje się ruch asymetryczny, w którym pakiety podążają w każdą stronę różnymi trasami. Polecenie tracert nie prezentuje trasy powrotnej pakietów.
5.4 Polecenie netstat
Polecenie to jest dostępne w systemach Windows i Linux. Wyświetla listę ustanowionych połączeń TCP. W zależności od użytych przełączników może też służyć do prezentowania listy portów, na których komputer nasłuchuje nowych połączeń lub pakietów UDP, oraz do prezentowania statystyk interfejsów sieciowych Ethernet. Polecenie to jest przydatne przy sprawdzaniu, czy komputer nie nawiązuje podejrzanych połączeń TCP (generowanych na przykład przez wirusa lub programy typu koń trojański) lub nie nasłuchuje na portach TCP, na których nie powinien oczekiwać nowych połączeń.
6. Zasady transmisji w sieciach TCP/IP
Urządzenia pracujące w jednej sieci komunikują się tylko między sobą. Aby połączyć je z inną siecią potrzebny jest router, który przekierowuje pakiet do adresata znajdującego się w innej logicznej sieci IP.
6.1 Brama domyślna
W celu wysłania danych poza sieć, w której pracuje urządzenie, należy ustawić parametr konfiguracyjny protokołu IP tzw. bramę domyślną, której adres wskazuje na router przechowujący informacje o tym, jak dotrzeć do wybranej sieci.
Router sprawdza, czy dany pakiet wysyłany poza sieć lokalną jest kierowany do sieci bezpośrednio podłączonej do niego, czy ma być przesłany do urządzenia znajdującego się poza sieciami podłączonymi do routera. Pakiety przesyłane są od jednego routera (węzła) do drugiego poprzez wiele węzłów pośrednich. Zadaniem routera jest wybranie, na podstawie wpisów na tablicy routingu, najlepszej dostępnej trasy.
6.2 Protokoły routingu
Routery budują tablice routingu na podstawie informacji wymienianych z sąsiednimi routerami. Wymiana ta oparta jest na protokołach routingu (RIP, IGR, EIGRP, OSPF, BGP), których zadaniem jest poinformować sąsiednie węzły sieci o sieciach, do których ma dostęp. Dołączenie kolejnych sieci do jednego z router ów nie wymaga rekonfiguracji pozostałych węzłów. Zostaną one automatycznie poinformowane o zaistniałych zmianach.
Router, który utracił bezpośrednie połączenie z sąsiadującym węzłem, może połączyć się z nim inną drogą. Routery mają możliwość zdefiniowania routingu domyślnego tj. trasy określającej dostęp do wszystkich sieci nie wpisanych w tablicy routingu.
6.3 Gniazdo
Transmisja w sieciach TCP/IP opiera się na adresie urządzenia i numerze portu. Taka para parametrów nazywana jest gniazdem. Adres IP odpowiada za zidentyfikowanie pojedynczego urządzenia w sieci, numer portu oznacza, jaka aplikacja na urządzeniu docelowym ma przetwarzać przesłane dane.
Numery portów dodawane są do segmentów na poziomie warstwy czwartej (przez protokoły TCP i UDP). Numery portów zapewniają, że dane zostaną przetworzone przez konkretną aplikację.
Numery portów do numery 1023 przypisywane są znanym usługą sieciowym. Numery portów powyżej 1024 są przydzielane dynamicznie programom, które korzystają z połączeń sieciowych.
7. Adresacja IP.
Każde urządzenie podłączone do sieci działającej z wykorzystaniem protokołu IP musi mieć niepowtarzalny adres IP, czyli 32-bitową liczbę przedstawioną w postaci czterech liczb dziesiętnych z zakresu 0÷255 oddzielonych kropkami. Każda cześć odpowiada kolejnym 8 bitom adresu zapisanego w systemie binarnym.
7.1 Klasy adresu IP
Adresy IP zostały pogrupowane w klasy oznaczone literami A÷E. Dla adresów zgrupowanych w klasy przyjęto domyślne maski podsieci: 8-bitową dla klasy A, 16-bitową dla klasy B i 24-bitową dla klasy C. Maski te określają, które bity w adresie identyfikują sieć, a które hosta.
Klasa A zawiera adresy, których pierwszy bit to 0, czyli w adresach pierwsza część adresu należy do zakresu 1÷127. Pierwsze dwa bity adresów klasy B to 10, czyli pierwsza część adresu należy do zakresu 128÷191. Klasa C oznaczona jest przez pierwsze 3 bity o wartości 110 (zakres adresów 192÷223). Klasa D oznaczona jest przez pierwsze 4 bity o wartości 1110 (zakres adresów 224÷239). Klasa E oznaczona jest przez pierwsze 3 bity o wartości 1111 (zakres adresów 240÷255).
W adresowaniu urządzeń sieciowych wykorzystuje się tylko adresy klas A÷C. Adresy klasy D pozwalają na przesyłanie informacji do grupy adresów IP, dzięki czemu pojedyncze urządzenie podłączone do sieci jest w stanie rozsyłać informacje jednocześnie do wielu odbiorców. Adresy klasy E są zarezerwowane dla Internet Engineering Task Force – organizację odpowiedzialną za ustanawianie standardów w internecie.
Rys.3. Podział adresów na klasy.
7.2 Adres sieci i adres rozgłoszeniowy
Dla każdego adresu IP przypisanego dla urządzenia można określić dwa specyficzne adresy – sieci i rozgłoszeniowy. Adres sieci określa sieć, do której przynależy dany adres. Adres rozgłoszeniowy pozwala na wysyłanie informacji do wszystkich urządzeń w danej sieci.
Adres sieci określany jest jako liczba, która w części adresu IP identyfikującej hosta ma bity ustawione na 0. Adres rozgłoszeniowy dla sieci w części hosta ma bity ustawione na 1. Adresy sieci wykorzystywane są w procesie przełączania pakietów IP – routery przechowują w tablicach routingu adresy sieci oraz adresy interfejsów, przez które są one dostępne.
7.3 Maska podsieci
Maska podsieci (ang. subnet mask) jest 32-bitową liczbą rozpoczynającą się określoną liczbą bitów o wartości 1, po których dopełniana jest bitami o wartości 0. Kolejny bit w masce podsieci określa przynależność do części sieci lub hosta kolejnego bitu w adresie IP. Bit maski oznaczony 1 oznacza, że ten bit należy do części sieci, bit oznaczony 0 oznacza, że odpowiadający mu bit w adresie IP należy do części hosta.
7.4 Pętla zwrotna
Pętla zwrotna zwana również pętlą lokalną to wirtualne urządzenie sieciowe, które z poziomu systemu operacyjnego nie różni się od fizycznej karty sieciowej. Komunikacja z adresem pętli zwrotnej może odbywać się poprzez dowolny adres należący do sieci 127.0.0.0 lub poprzez nazwę localhost w systemie operacyjnym przypisanej dla adresu 127.0.0.1. Mechanizm pętli zwrotnej może być wykorzystany do kontroli poprawności instalacji obsługi protokołu IP w systemie operacyjnym.
7.5 Adresy prywatne i publiczne
Adresy prywatne to adresy niepowtarzalne w ramach sieci lokalnej, adresy publiczne są niepowtarzalne w skali całego internetu. Takie same adresy prywatne mogą być używane w wielu sieciach lokalnych. Adresy publiczne przypisywane są tylko i wyłącznie jednemu urządzeniu sieciowemu.
8. Bibliografia
1. Bensel P.: Technik informatyk. Systemy i sieci komputerowe., Helion, Gliwice 2010
2. http://www.man.poznan.pl/~pawelw/dyplom/index.html
3. http://www.soisk-me.cba.pl/index.php?k=4&nr=41
4. www.wikipedia.pl