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. |
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. |