TopSłownik technicznyTCP/IP - zestaw protokołów sieciowych

TCP/IP - zestaw protokołów sieciowych

Początki protokołu TCP/IP sięgają lat 60., kiedy z inicjatywy Departamentu Obrony Stanów Zjednoczonych podjęto prace nad uniwersalną siecią komputerową, która będzie działać nawet w sytuacji awarii części jej fizycznej infrastruktury. Projekt przez wiele lat był modyfikowany aż do obecnej postaci. Wraz z popularyzacją Internetu protokół TCP/IP stał się podstawowym protokołem komunikacyjnym w sieci.

 

TCP/IP jest protokołem otwartym. Nie ma firmy, która ogranicza go swoimi prawami autorskimi. A to oznacza, że każdy może poznać sposób jego funkcjonowania i – co najważniejsze – użyć w swoim programie. To z pewnością zadecydowało o ogromnym sukcesie tego protokołu, ale z drugiej strony niesie również ze sobą pewne ryzyko naruszenia bezpieczeństwa danego systemu.

 

Budowa i zasada działania tego protokołu są bardzo skomplikowane. Upraszczając, można powiedzieć, że protokół ten służy do podziału przesyłanych danych na odpowiedniej wielkości fragmenty, zwane pakietami, oraz na ich odpowiednim oznaczaniu tak, aby u odbiorcy można było sprawdzić, czy wszystkie fragmenty dotarły i scalić je z powrotem w jedną całość. Jest to konieczne, ponieważ każdy pakiet wędruje niezależnie, najbardziej optymalną drogą dostępną w danym momencie. Stąd każdy pakiet musi posiadać informację o nadawcy, odbiorcy, rodzaju przenoszonych danych, a także parametr TTL – ograniczający krążenie pakietu po sieci w poszukiwaniu adresata.

 

Tak w ogromnym uproszczeniu wygląda przesył danych w sieciach komputerowych. W rzeczywistości protokół TCP/IP jest na tyle złożony, że posiada cztery warstwy, które są odpowiedzialne za różne zadania.

 

Poniżej krótka charakterystyka każdej z nich.

 

Warstwa fizyczna – dostępu do sieci

 

Podstawowa warstwa odpowiedzialna za odbiór danych z kolejnej warstwy internetowej. Jej zadaniem jest transmisja danych w postaci ciągów bitów. W praktyce warstwa fizyczna to po prostu karta sieciowa lub modem wraz z zainstalowanymi w systemie sterownikami.

 

Warstwa internetowa

 

Odpowiada za sam transport pakietów danych od serwera do maszyny docelowej i na odwrót. To w tej warstwie odbywają się kluczowe procedury związane z nawiązaniem łączności pomiędzy jednym urządzeniem a drugim. Nie daje ona jednak żadnej gwarancji poprawności przesyłu danych.

 

Warstwa transportowa

 

Jej zadaniem jest zapewnienie komunikacji między programami użytkownika. Reguluje ona przepływ informacji i zapewnia płynność przesyłu pakietu oraz dotarcie we właściwej kolejności. To w tej warstwie dane są dzielone na pakiety i opisywane w dane nadawcy, adresata i dotyczące rodzaju przesyłu danych. Ponadto, komputer odbiorcy wysyła potwierdzenie do serwera o otrzymaniu kompletu pakietów. W przeciwnym razie serwer wysyła dany pakiet jeszcze raz. Z tej warstwy korzystają aplikacje internetowe, np. przeglądarki, które nie komunikują się samodzielnie z siecią.

 

Warstwa aplikacji

 

Najwyższa warstwa, w której pracują aplikacje dla użytkowników. Warstwa ta zawiera zestaw gotowych protokołów wykorzystywanych przez aplikacje do komunikacji w sieci, takich jak HTTP, TELNET, POP3 czy SMTP.

 

Jak widać, protokół TCP/IP to tak naprawdę cały zbiór różnych protokołów sklasyfikowanych do pracy w odpowiednich warstwach.

Warto jeszcze wspomnieć, że do poprawnego funkcjonowania całości wymagane jest jeszcze odpowiednie adresowanie IP. Każde urządzenie pracujące w Internecie musi mieć nadany unikalny w skali Internetu adres IP. Przy czym trzeba zaznaczyć, że chodzi tu o urządzenia, które mają bezpośredni dostęp do Internetu, np. modemy czy karty sieciowe. Adresy IP zostały podzielone na 5 klas i przydzielone są w zależności od typu i zastosowania. Pule adresów IP przydzielają specjalne instytucje dostawcom internetowym, a ci z kolei przydzielają je swoim klientom. Instytucje te pilnują porządku i hierarchii adresowania, tak aby żaden adres się nie powtórzył. W Polsce taką organizacją jest NASK (Naukowe i Akademickie Sieci Komputerowe). Niektóre adresy IP zostały zarezerwowane, co oznacza, że nigdy nie spotkamy takiego adresu w Internecie. Przykładem są adresy z puli 192.168.x.x. (gdzie x to dowolna liczba jedno-, dwu- lub trzycyfrowa), ponieważ te adresy wykorzystywane są w sieciach lokalnych.

 

Jako uzupełnienie należy wspomnieć o serwerach DNS (Domain Name System), które pełnią rolę tłumacza. Dzięki nim w oknie przeglądarki nie trzeba wpisywać niewygodnego 32-bitowego adresu IP, tylko po prostu adres strony internetowej, np. www.delta.poznan.pl, którą dużo łatwiej zapamiętać niż ciąg cyfr. Resztą zajmuje się najbliższy serwer DNS, który zawiera tablice adresów www wraz z przyporządkowanymi adresami IP. Ponieważ ich struktura jest zdecentralizowana, wymagana jest bieżąca komunikacja i wymiana informacji pomiędzy serwerami DNS o wciąż powstających nowych domenach.