Education
Advertisement

Protokoły komunikacyjne to zbiór ścisłych reguł i kroków postępowania, które są automatycznie wykonywane przez urządzenia komunikacyjne w celu nawiązania łączności i wymiany danych. Dzięki temu, że połączenia z użyciem protokołów odbywają się całkowicie automatycznie typowy użytkownik zwykle nie zdaje sobie sprawy z ich istnienia i nie musi o nich nic wiedzieć.

Architektura warstwowa[]

W celu zwiększenia czytelności sposobu działania, większość sieci zorganizowanych jest w postaci stosu warstw (poziomów). Zadaniem każdej warstwy jest oferowanie określonych usług wyższym warstwom oraz izolowanie ich od szczegółów implementacji i działania. Warstwa n jednej maszyny prowadzi konwersację z warstwą n innej maszyny, reguły tej konwersacji znane są pod nazwą protokołu warstwy n. W rzeczywistości informacje pomiędzy warstwami n obu maszyn nie są wymieniane bezpośrednio, muszą być najpierw przekazane do niższych warstw. Pod warstwą 1 znajduje się nośnik fizyczny, w którym zachodzi faktyczna komunikacja. Pomiędzy każdą parą sąsiednich warstw znajduje się interfejs określający, które elementarne operacje i usługi warstwa niższa udostępnia warstwie wyższej. Poszczególne protokoły warstwy n dodają do przesyłanych wiadomości własne nagłówki, dekodowane i usuwane w warstwie n po stronie odbiorcy. Dzięki temu możliwa jest m.in. korekcja błędów oraz dostarczanie pakietów w odpowiedniej kolejności.

Zbiór warstw i protokołów nazywamy architekturą sieci. Lista protokołów używanych przez konkretny system (1 protokół / warstwę) to stos protokołów.

Model OSI[]

Model OSI (Open Systems Interconnection) został zaproponowany przez organizację ISO jako uniwersalna architektura sieci komputerowych. Model ten składa się z siedmiu warstw, są to kolejno (od dołu):

  • Warstwa fizyczna - zajmująca się transmisją "surowych" bitów kanałem komunikacyjnym. Należy tu zapewnić maksymalną możliwą zgodność bitów wysłanych przez nadawcę z bitami odebranymi przez odbiorcę, typowe kwestie to np. wybór nośnika transmisji (kabel, światłowód, fale radiowe), napięć reprezentujących "1" i "0" (w przypadku sieci przewodowych), określenie czasu trwania bitu oraz możliwości transmisji dupleksowej.
  • Warstwa łącza danych - jej zadaniem jest przekształcenie surowego łącza transmisyjnego w linię, która dla warstw wyższych sprawia wrażenie transmisji wolnej od błędów. Dane są dzielone na ramki, w przypadku usług niezawodnych następuje potwierdzenie odbioru każdej ramki. Wprowadzone zostaje także sterowanie przepływem, zapobiegające "zalaniu" odbiornika zbyt dużą ilością informacji. Protokoły działające w warstwie łącza danych to m.in. Ethernet, 802.11 (WiFi), 802.16 (szerokopasmowe łącza bezprzewodowe), Bluetooth.
  • Warstwa sieciowa - steruje działaniem podsieci, problemem jest tu ustalenie, jaką trasą pakiety mają być kierowane od nadawcy do odbiorcy. Gdy pakiet musi przejść od jednego hosta do drugiego pojawia się szereg problemów związanych z adresowaniem, zatorami i opóźnieniami w dostarczaniu danych. W sieciach rozgłoszeniowych problem wyboru trasy jest mniej istotny - warstwa sieciowa może więc zostać zredukowana do minimum. Przykładowe protokoły: IPv4, IPv6, IPX.
  • Warstwa transportowa - przyjmuje dane i dzieli je na mniejsze jednostki, przy zapewnieniu integralności i właściwej kolejności danych. Operacje wykonywane w tej warstwie muszą być niezależne od sprzętu oraz wydajnie zaimplementowane. Komunikacja odbywa się dwupunktowo, w przeciwieństwie do warstwy 2. Przykładowe protokoły: UDP, TCP.
  • Warstwa sesji - pozwala użytkownikom różnych komputerów nawiązywać pomiędzy sobą sesje. Sesje oferują różne usługi, w tym sterowanie dialogiem (określanie, kto w danej chwili może się wypowiedzieć), zarządzanie żetonem (zapobieganie wykonaniu krytycznej operacji przez więcej, niż jedną osobę na raz) oraz synchronizację (wznawianie przerwanych transmisji). Przykładowe protokoły: SSH, RPC
  • Warstwa prezentacji - odpowiada za składnię i semantykę przesyłanych informacji. Aby umożliwić komunikację komputerom o odmiennej reprezentacji danych, wymieniane struktury danych definiowane są w sposób abstrakcyjny. Przykładowy protokół: NCP (NetWare Core Protocol)
  • Warstwa aplikacji - zawiera szereg protokołów potrzebnych użytkownikom, służących np. do obsługi sieci WWW (HTTP) oraz poczty e-mail (POP3, SMTP).

Model TCP/IP[]

Model TCP/IP wywodzi się od praprzodka istniejących dziś sieci rozległych, czyli ARPANETu. Specyfikację TCP/IP po raz pierwszy udostępniono w połowie lat 70., w odpowiedzi na zapotrzebowanie na wojskową sieć, zdecentralizowaną na tyle silnie, aby przetrwać ewentualne zniszczenie znacznej części infrastruktury. Warstwy modelu TCP/IP to:

  • Warstwa host-sieć - specyfikacja modelu nie mówi wiele o zawartości tej warstwy, można wykorzystywać tu dowolne kombinacje protokołów i technik przesyłowych.
  • Warstwa internetowa - stanowi trzon modelu, opiera się na sieci z komutacją pakietów z bezpołączeniową warstwą sieciową. Używa się tu wyłącznie protokołu IP.
  • Warstwa transportowa - analogicznie do modelu OSI, używane protokoły to TCP i UDP.
  • Warstwa aplikacji - analogicznie do OSI, dodatkowo przejmuje funkcje warstw sesji i prezentacji.

Źródła informacji[]

  • Tanenbaum A.S. Sieci komputerowe, Gliwice, Helion 2004
Advertisement