Protokół internetowy, IP (od ang. Internet Protocol) – protokół komunikacyjny warstwy sieciowej modelu OSI (warstwy internetu w modelu TCP/IP). Protokół internetowy to zbiór ścisłych reguł i kroków postępowania, które są automatycznie wykonywane przez urządzenia w celu nawiązania łączności i wymiany danych. Używany powszechnie w Internecie i lokalnych sieciach komputerowych.
Dane w sieciach IP są wysyłane w formie bloków określanych mianem pakietów. W przypadku protokołu IP, przed rozpoczęciem transmisji nie jest zestawiana wirtualna sesja komunikacyjna pomiędzy dwoma hostami, które nie komunikowały się ze sobą wcześniej.
Protokół IP jest protokołem zawodnym – nie gwarantuje, że pakiety dotrą do adresata, nie zostaną pofragmentowane, czy też zdublowane, a ponadto mogą dotrzeć do odbiorcy w innej kolejności niż zostały nadane. Niezawodność transmisji danych jest zapewniana przez protokoły warstw wyższych (np. protokół sterowania transmisją), znajdujących się w hierarchii powyżej warstwy sieciowej.
Model TCP/IP powstał w latach siedemdziesiątych XX wieku wieku i określany jest mianem modelu sieci Internet. Składa się z czterech warstw:
- warstwy aplikacji, zajmującej się reprezentacją danych dla użytkownika oraz ich kodowaniem,
- warstwy transportowej, zapewniającej komunikację pomiędzy różnymi urządzeniami w sieci,
- internet, zapewniający najlepszą trasę dla przepływu pakietów,
- warstwy dostępu do sieci kontrolującej urządzenia fizyczne i media.
Model OSI jest modelem przygotowanym z myślą o tworzeniu tzw. „otwartego systemu”, który nie będzie należał do żadnej zamkniętej sieci. Szybki rozwój sieci Internet opartej na modelu TCP/IP spowolnił jednak znacznie jego wdrażanie. Mimo tego udało się stosując model OSI wdrożyć kilka istotnych protokołów. W przeciwieństwie do modelu TCP/IP, składa się on z siedmiu warstw:
- warstwy aplikacji, umożliwiającej komunikację z użytkownikiem (strony WWW, poczta elektroniczna),
- warstwy prezentacji, zajmującej się konwersją danych i definiowaniem formatu (dzięki temu dane pochodzące z urządzenia źródłowego mogą być interpretowane przez odpowiednie aplikacje na urządzeniu docelowym)
- warstwy sesji, zarządzającej przebiegiem komunikacji,
- warstwy transportowej, odpowiedzialnej za integralność (czyli spójność) transmisji danych,
- warstwy sieci, zajmującej się określaniem trasy przepływu danych,
- warstwy łącza danych, opisującej metody wymiany ramek pomiędzy urządzeniami podłączonymi do tego samego medium (np. do przełącznika),
- warstwy fizycznej, sterującej przepływem bitów poprzez media sieciowe.