Aby dowolne dwa komputery połączone w sieci mogły się ze sobą komunikować, niezbędne jest określenie zasad przebiegu komunikacji i przesyłania danych. Zbiór takich zasad nazywany jest protokołem komunikacyjnym.
Protokół komunikacyjny, wspólny dla współdziałających rozmówców, musi być określony w sposób jednoznaczny, wykluczający możliwość jakichkolwiek niejasności i nieporozumień. Takie określenie nazywamy specyfikacją protokołu i wymaga ono użycia bardziej precyzyjnych narzędzi niż język potoczny. Wśród metod specyfikacji protokołów przeważają te, związane z pojęciem automatu o skończonej liczbie stanów.
Wśród ogromnej liczby protokołów wykorzystywanych do komunikacji w sieciach, na szczególną uwagę zasługują protokoły z rodziny TCP/IP. Jest to rodzina protokołów, na których opiera się wiele sieci lokalnych oraz Internet. W skład tej rodziny wchodzą między innymi protokoły:
• IP (Internet Protocol) -- podstawowy protokół definiujący mechanizm zawodnego przenoszenia bez użycia połączenia. Oparty jest na adresach IP konfigurowanych na komputerach w oprogramowaniu oraz na rutowaniu czyli przekazywaniu pakietów pomiędzy podsieciami;
• ARP (Address Resolution Protocol) — niskopoziomowy protokół służący do dynamicznego odwzorowywania adresów IP na adresy sprzętowe. Ideą tego protokołu jest możliwość uzyskania adresu sprzętowego komputera docelowego (w celu zaadresowania ramki ethemetowej) poprzez wysłanie zapytania rozgłaszanego w sieci lokalnej;
• ICMP (Internet Control Message Protocol) -- protokół definiujący mechanizm specjalnych komunikatów kontrolnych (traktowany jako wymagana część IP).
Protokół ten przenosi informacje istotne ze względu na poprawność działania sieci oraz pozwala na autodetekcję i autokorekcję błędów konfiguracyjnych;
• UDP (User Datagram Protocol) — protokół zapewniający podstawowy mechanizm portów wykorzystywany przez programy użytkowe przy przesyłaniu datagramów do innych programów użytkowych;
• TCP (Transmission Control Protocol) - protokół udostępniający usługę przesyłania danych niezawodnymi strumieniami.
Zadania stawiane przed protokołami są tak rozległe, że zdecydowano się na implementację wielowarstwową. Protokoły korzystają z usług udostępnianych i obsługiwanych przez inne protokoły — np. pakiety jednego protokołu mogą wymagać przenoszenia przez sieć wewnątrz pakietu innego protokołu. Na tej podstawie mówi się o poziomie danego protokołu. Pakiety protokołów niskopoziomowych podróżują przez sieć bezpośrednio w ramkach ethemetowych, im wyższy poziom protokołu tym większa liczba pakietów innych protokołów musi obudowywać pakiet podczas podróży przez sieć.
13
Wersja: 1.1