Protokół TCP/IP jest “programowym protokołem komunikacji sieciowej” (ang. software-based communications protocol used in networking). Termin TCP/IP oznacza znacznie więcej niż tylko prostą kombinację protokołów TCP (ang. Transmission Control Protocol) i IP (ang. Internet Protocol). Oznacza on rozbudowany zestaw oprogramowania udostępniającego różnorodne usługi sieciowe. Protokół TCP/IP udostępnia metody przesyłania informacji pomiędzy poszczególnymi maszynami w sieci, zapewniając wiarygodne przesyłanie danych, obsługując pojawiające się błędy czy generując związane z transmisją informacje dodatkowe.
Protokół TCP/IP umożliwia rozpatrywanie zagadnień dotyczących komunikacji niezależnie od sprzętu sieciowego.
TCP/IP ma również strukturę warstwową i ma do niego zastosowanie większość filozofii modelu OSI. Jednak podstawowe założenia są na tyle różne, że warto rozróżnić te dwa przypadki.

Oprogramowanie TCP/IP jest zorganizowane w cztery koncepcyjne warstwy, które stanowią nadbudowę nad piątą warstwą sprzętu.
Na najwyższym poziomie użytkownicy wywołują programy użytkowe, które mają dostęp do usług TCP/IP. Programy użytkowe współpracują z jednym z protokołów na poziomie warstwy transportu i wysyłają lub odbierają dane w postaci pojedynczych komunikatów lub strumienia bajtów. Programy użytkowe przekazują do warstwy transportowej dane w wymaganym formacie, aby mogły one zostać dostarczone w odpowiednie miejsce.
Jej podstawowym zadaniem jest zapewnienie komunikacji między jednym programem użytkownika a drugim. Warstwa ta może regulować przepływ informacji. Może też zapewnić pewność przesyłania - dane przychodzą bez błędów i we właściwej kolejności. W tym celu protokół transportowy organizuje wysyłanie przez odbiorcę potwierdzenia otrzymania pakietów oraz ponowne wysyłanie pakietów utraconych. Oprogramowanie transportowe dzieli strumień transmitowanych danych na porcje (czasami zwane pakietami) i przesyła każdy pakiet wraz z adresem odbiorcy do następnej warstwy aby został wysłany. Ponieważ komputery ogólnego użytku mogą mieć wiele programów użytkowych, które korzystają z sieci w tym samym czasie, warstwa transportowa musi przyjmować dane od kilku programów i wysyłać je do niższej warstwy. Dodaje ona do każdego pakietu pewne informacje, które obejmują kody identyfikujące program użytkowy wysyłający te dane, program, który powinien je odebrać oraz sumę kontrolną.
Odpowiada za obsługę komunikacji jednej maszyny z drugą. Przyjmuje ona pakiety z warstwy transportowej razem z informacjami identyfikującymi maszynę - odbiorcę, kapsułkuje pakiet w datagramie IP, wypełnia jego nagłówek, sprawdza za pomocą algorytmu trasowania czy wysłać datagram wprost do odbiorcy czy też do routera i przekazuje datagram do odpowiedniego interfejsu sieciowego, który ma dokonać transmisji. Warstwa ta zajmuje się także datagramami przychodzącymi, sprawdzając ich poprawność i stwierdzając przy pomocy algorytmu trasowania czy należy je przesłać dalej czy też przetwarzać na miejscu. W przypadku datagramów adresowanych do maszyny lokalnej oprogramowanie tej warstwy kasuje nagłówek datagramu i wybiera jeden z kilku protokołów transportowych - ten, który go będzie dalej obsługiwał. Warstwa ta wysyła też komunikaty kontrolne i komunikaty o błędach oraz obsługuje komunikaty przychodzące.
Warstwa ta odbiera datagramy IP i przesyła je przez daną sieć. Interfejs sieciowy może składać się ze sterownika urządzenia (np. gdy sieć jest siecią lokalną, do której maszyna jest bezpośrednio podłączona) lub ze skomplikowanego podsystemu, który wykorzystuje własny protokół łącza.
| Wprowadzenie | Sieć komputerowa | Protokoły | Model OSI (Open Systems Interconnection) | TCP/IP a model OSI | Adresowanie fizyczne | Adresy IP |
| Protokół Odwzorowania Adresów (ARP) | Protokół Odwrotnego Odwzorowania Adresów (RARP) | Internet Protocol (IP) | Kapsułkowanie | Fragmentacja |
| Koleje Życia Datagramu | ICMP | Określanie Ostatecznego Adresata | UDP | Multipleksowanie I Demultipleksowanie | Transmission Control Protocol (TCP) |
| Idea przesuwających się okien | Segment TCP | Porty i połączenia | Konfiguracja TCP/IP w systemie Unix | Przyszłość TCP/IP | Bibliografia |