Protokoły sieciowe to zestawy ustalonych zasad, które dyktują, jak formatować, przesyłać i odbierać dane, tak aby urządzenia sieci komputerowej – od serwerów i routerów do punktów końcowych – mogły się komunikować niezależnie od różnic w ich podstawowych infrastrukturach, projektach lub standardach.
Aby pomyślnie wysyłać i odbierać informacje, urządzenia po obu stronach wymiany komunikacyjnej muszą akceptować i przestrzegać konwencji protokołów. Wsparcie dla protokołów sieciowych może być wbudowane w oprogramowanie, sprzęt lub oba.
Standaryzowane protokoły sieciowe zapewniają wspólny język dla urządzeń sieciowych. Bez nich komputery nie wiedziałyby, jak się ze sobą komunikować. W rezultacie, z wyjątkiem specjalistycznych sieci zbudowanych wokół konkretnej architektury, niewiele sieci byłoby w stanie funkcjonować, a Internet, jaki znamy, nie istniałby. Praktycznie wszyscy użytkownicy końcowi sieci polegają na protokołach sieciowych w celu zapewnienia łączności.
Jak działają protokoły sieciowe
Protokoły sieciowe rozbijają większe procesy na dyskretne, wąsko zdefiniowane funkcje i zadania na każdym poziomie sieci. W standardowym modelu, znanym jako model OSI (Open Systems Interconnection), jeden lub więcej protokołów sieciowych reguluje działania na każdej warstwie wymiany telekomunikacyjnej.
Zestaw współpracujących protokołów sieciowych jest nazywany pakietem protokołów. Pakiet TCP/IP obejmuje liczne protokoły w różnych warstwach – takich jak warstwa danych, sieci, transportu i aplikacji – współpracujące ze sobą w celu umożliwienia połączenia z Internetem. Należą do nich:
- Transmission Control Protocol (TCP), który wykorzystuje zestaw reguł do wymiany komunikatów z innymi punktami Internetu na poziomie pakietów informacyjnych;
- User Datagram Protocol (UDP), który działa jako alternatywny protokół komunikacyjny do TCP i jest używany do ustanawiania połączeń o niskim opóźnieniu i tolerujących straty między aplikacjami a Internetem.
- Internet Protocol (IP), który wykorzystuje zestaw reguł do wysyłania i odbierania wiadomości na poziomie adresu internetowego; oraz
- dodatkowe protokoły sieciowe, które obejmują Hypertext Transfer Protocol (HTTP) i File Transfer Protocol (FTP), z których każdy ma zdefiniowane zestawy reguł do wymiany i wyświetlania informacji.
Każdy pakiet przesyłany i odbierany przez sieć zawiera dane binarne. Większość protokołów dodaje nagłówek na początku każdego pakietu w celu przechowywania informacji o nadawcy i przeznaczeniu wiadomości. Niektóre protokoły mogą również zawierać stopkę na końcu z dodatkowymi informacjami. Protokoły sieciowe przetwarzają te nagłówki i stopki jako część danych przemieszczających się między urządzeniami w celu identyfikacji wiadomości ich własnego rodzaju.
Protokoły sieciowe są często określone w standardzie przemysłowym — opracowane, zdefiniowane i opublikowane przez grupy takie jak:
- Międzynarodowy Związek Telekomunikacyjny
- Instytut Inżynierów Elektryków i Elektroników
- Internet Engineering Task Force
- Międzynarodowa Organizacja Normalizacyjna
- Konsorcjum World Wide Web.
Główne typy protokołów sieciowych
Generalnie rzecz biorąc, sieci mają trzy typy protokołów — komunikacji, takie jak Ethernet; zarządzania, takie jak Simple Mail Transfer Protocol (SMTP); i bezpieczeństwa, takie jak Secure Shell (SSH).
W tych trzech szerokich kategoriach mieszczą się tysiące protokołów sieciowych, które w jednolity sposób obsługują szeroką gamę zdefiniowanych zadań, w tym uwierzytelnianie, automatyzację, korekcję, kompresję, obsługę błędów, wyszukiwanie plików, przesyłanie plików, agregację łączy, routing, semantykę, synchronizację i składnię.
Implementacja protokołów sieciowych
Aby protokoły sieciowe działały, muszą być zakodowane w oprogramowaniu, albo jako część systemu operacyjnego komputera (OS) lub jako aplikacja, albo zaimplementowane w sprzęcie komputera. Większość nowoczesnych systemów operacyjnych posiada wbudowane usługi programowe, które są przygotowane do implementacji niektórych protokołów sieciowych. Inne aplikacje, takie jak przeglądarki internetowe, są projektowane z bibliotekami oprogramowania, które obsługują wszystkie protokoły niezbędne do działania aplikacji. Co więcej, obsługa protokołów TCP/IP i routingu jest zaimplementowana w bezpośrednim sprzęcie w celu zwiększenia wydajności.
W każdym przypadku, gdy nowy protokół jest zaimplementowany, jest on dodawany do zestawu protokołów. Organizacja zestawów protokołów jest uważany za monolityczny, ponieważ wszystkie protokoły są przechowywane w tym samym adresie i budować na siebie.
Podatności protokołów sieciowych
Jedną z głównych podatności znalezionych w protokołach sieciowych jest to, że nie są one zaprojektowane dla bezpieczeństwa. Ich brak ochrony może czasami pozwolić na złośliwe ataki, takie jak podsłuchiwanie i zatruwanie pamięci podręcznej, aby wpłynąć na system. Najczęstszym atakiem na protokoły sieciowe jest ogłaszanie fałszywych tras, co powoduje, że ruch przechodzi przez skompromitowane hosty zamiast przez te właściwe.
Analizatory protokołów sieciowych zostały zaprojektowane i zainstalowane w odpowiedzi na te luki. Analizatory protokołów sieciowych chronią systemy przed złośliwą działalnością, uzupełniając zapory sieciowe, programy antywirusowe i oprogramowanie antyszpiegowskie.
Użytki protokołów sieciowych
Protokoły sieciowe są tym, co umożliwia współczesny Internet, ponieważ pozwalają komputerom komunikować się w sieci bez konieczności oglądania przez użytkowników lub wiedzy o zachodzących operacjach w tle. Niektóre konkretne przykłady protokołów sieciowych i ich zastosowań to:
- Post Office Protocol 3 (POP3), który jest najnowszą wersją standardowego protokołu używanego do odbierania przychodzących wiadomości e-mail.
- Simple main transport Protocol, który jest używany do wysyłania i dystrybucji wychodzących wiadomości e-mail.
- File Transfer Protocol (FTP), który jest używany do przesyłania plików z jednej maszyny do drugiej.
- Telnet, który jest zbiorem reguł używanych do łączenia jednego systemu z innym poprzez zdalne logowanie. W tym protokole, system, który wysyła żądanie połączenia jest komputerem lokalnym, a system, który akceptuje połączenie jest komputerem zdalnym.
Niektóre inne przykłady protokołów sieciowych obejmują:
- Address Resolution Protocol
- Blocks Extensible Exchange Protocol
- Border Gateway Protocol
- Binary Synchronous Communications
- Canonical Text Services
- Domain System nazw domen
- Dynamic Host Configuration Protocol
- Enhanced Interior Gateway Routing Protocol
- HTTP over SSL
- Urządzenie interfejsu człowieka
- Internet Control Message Protocol
- Internet Message Access Protocol
- Gopher
- Kontrola dostępu do mediów
- Network News Transfer Protocol
- Open Shortest Path First
- Post Office Protocol
- Secure Sockets Layer
- Simple Mail Transfer Protocol
- Telnet
- Terminal Network
- Thread
- Transmission Control Protocol
- Transport Layer Security
- Universal Description, Discovery and Integration
- User Datagram Protocol
- Voice over IP
- X10
.