Protokół TCP/IP (ang. Transmission Control Protocol/Internet Protocol) jest podstawowym językiem komunikacji, protokołem Internetu. Ponadto może być używany jako protokół komunikacyjny w sieciach prywatnych. Wymiana danych między węzłami sieci odbywa się z wykorzystaniem zbioru zasad zwanych protokołami, dzięki czemu każdy komputer podłączony do sieci może ustalić czy są mu dostępne konkretne usługi sieciowe, między innymi dostęp do plików czy też możliwość sterowania drukowaniem. Protokoły korzystają ze specyficznych mechanizmów dla konkretnego systemu operacyjnego, które pozwalają na:
- filtrowanie dostępu do sieci;
- zarządzanie użytkownikami sieci;
- przesyłanie plików;
- obsługiwanie zdalnego logowania;
- nawiązywanie połączeń internetowych.
Sam protokół TCP/IP skład się z kilku innych protokołów pokazanych na Rysunku 2.1, należą do nich między innymi:
TCP (ang. Transmission Control Protocol) – protokół sterowania transmisją. Zapewnia równoczesne i niezawodne transmitowanie wielopakietowych danych pomiędzy aplikacjami. Protokół ten jest stosowany w większości użytkowych programów internetowych;
UDP (ang. User Datagram Protocol) – protokół datagramów użytkownika. Zapewnia transmisje pojedynczych pakietów danych między aplikacjami. Nie jest jednak aż tak skomplikowany jak TCP oraz jest bardziej od niego zawodny;
Rysunek 2.1. Uproszczony czterowarstwowy model stosu TCP/IP
HTTP
|
FTP
|
Warstwa aplikacji
|
|
UDP
|
TCP
|
Warstwa transportowa
|
|
IP ICMP
|
ARP RARP
|
Warstwa sieciowa
|
|
ATM
|
Ethernet
|
Warstwa dostępu do sieci
|
Źródło: Opracowanie własne na podstawie [30]
IP (ang. Internet Protocol) – protokół międzysieciowy. Odpowiada za doręczenie dla protokołów TCP, UDP oraz ICMP odpowiednich pakietów. Służy do transmitowania danych pomiędzy dwoma głównymi komputerami;
ICMP (ang. Internet Control Massage Protocol) – protokół międzysieciowy komunikatów sterujących. Służy do przesyłania sieciowych zawiadomień o błędach, przesyła informacji sterujące pomiędzy stacjami a bramami oraz informuje o zdarzeniach, które wymagają od oprogramowania sieciowego interwencji;
ARP (ang. Address Resolution Protocol) – protokół odwzorowania adresów. Odpowiada za odwzorowanie adresów internetowych na sprzętowe. Nie jest stosowany we wszystkich sieciach;
RAPR (ang. Reverse Address Resolution Protocol) – protokół odwrotnego odwzorowania adresów. Odpowiada za odwzorowywanie adresów sprzętowych na internetowe. Podobnie jak protokół ARP nie we wszystkich sieciach jest stosowany.
Protokół TCP/IP nazywany jest również stosem protokołów ponieważ ma budowę warstwową przedstawioną na Rysunku 2.1 i w skład niego wchodzą takie warstwy jak:
- warstwa aplikacji – jest ona warstwą najwyższą. W warstwie tej pracują najważniejsze z punktu widzenia użytkownika aplikacje takie jak komunikatory internetowe, czy też przeglądarka stron WWW. Występują tu gotowe protokoły, które to są potrzebne aplikacją aby przesyłać w sieci dane (informacje). Do protokołów tej warstwy zaliczyć możemy między innymi HTTP, czy też FTP, z których to użytkownik korzysta na co dzień;
- warstwa transportowa – jest odpowiedzialna za to aby dane zostały poprawnie przesłane. Nadzoruje przesłanie konkretnych danych do właściwej aplikacji. Dzięki temu że każda aplikacja posiada odrębny port nigdy nie dochodzi do niewłaściwego przekierowania danych, nawet jeśli na komputerze pracuje kilka aplikacji, które to komunikują się z drugim komputerem sieciowym. W warstwie tej występuje wiele protokołów, do najważniejszych należą UDP i TCP;
- warstwa sieciowa – nazywana także warstwą internetową. Jej głównym zadaniem jest routing przesyłanych danych, poza tym decyduje o prawidłowej adresacji oraz odpowiada za pakowanie i diagnostykę przesyłanych danych. Najważniejszym protokołem tej warstwy jest IP, oprócz niego występują tu także: ICMP, NAT i inne;
- warstwa dostępu do sieci – nazywana czasem warstwą interfejsu sieciowego. Jest najniższą spośród warstw protokołu TCP/IP. Nadzoruje fizyczne łączenie się urządzeń (karty sieciowe, modemy, itp.) w sieci [12, 21, 30].