Protokół TCP (Transmission Control Protocol) jest jednym z podstawowych protokołów w zestawie protokołów stosowanych w Internecie i zapewnia niezawodne, uporządkowane dostarczanie strumieni danych pomiędzy urządzeniami. Kluczową cechą TCP jest jego mechanizm kontroli przepływu i retransmisji, który pozwala na wykrywanie i korekcję błędów w przesyłanych danych. Dzięki temu, w przypadku utraty pakietu, protokół TCP automatycznie go retransmituje, co znacząco zwiększa niezawodność komunikacji. TCP jest wykorzystywany w wielu aplikacjach, gdzie wymagane jest pewne dostarczenie danych, takich jak przeglądarki internetowe (HTTP/HTTPS), protokoły poczty elektronicznej (SMTP, IMAP) oraz protokoły transferu plików (FTP). W kontekście standardów branżowych, TCP współpracuje z protokołem IP (Internet Protocol) w tzw. modelu TCP/IP, który jest fundamentem współczesnej komunikacji sieciowej. W praktyce, zastosowanie TCP jest powszechne tam, gdzie ważne jest, aby wszystkie dane dotarły w całości i w odpowiedniej kolejności, co czyni go wyborem standardowym w wielu krytycznych aplikacjach.
Wybór niewłaściwego protokołu może skutkować poważnymi problemami w przesyłaniu danych. Protokół ARP (Address Resolution Protocol) jest używany do mapowania adresów IP na adresy MAC w lokalnej sieci, co oznacza, że nie jest odpowiedzialny za niezawodne dostarczanie danych. Nie oferuje on żadnych mechanizmów kontroli błędów ani retransmisji, co sprawia, że nie nadaje się do zastosowań, gdzie wymagana jest pewność dostarczenia informacji. Protokół UDP (User Datagram Protocol) jest protokołem bezpołączeniowym, co oznacza, że nie zapewnia gwarancji dostarczenia ani uporządkowania przesyłanych datagramów; jest to zatem protokół odpowiedni dla aplikacji, które mogą zaakceptować potencjalne straty danych, takich jak streaming wideo czy VOIP, gdzie opóźnienia są bardziej problematyczne niż utrata pakietów. Protokół IPX (Internetwork Packet Exchange), historycznie używany w sieciach Novell, również nie zapewnia niezawodnego dostarczania danych i nie jest powszechnie stosowany w nowoczesnych sieciach. Wybór niewłaściwego protokołu może wynikać z błędnych założeń dotyczących wymagań aplikacji i specyfiki działania poszczególnych protokołów. Aby skutecznie zaprojektować system komunikacyjny, kluczowe jest zrozumienie charakterystyki protokołów oraz ich zastosowań w kontekście konkretnej architektury sieciowej.