Jest to protokół internetowy od angielskiego słowa Internet Protocol (IP) – służy on do identyfikacji urządzeń w sieci.Aby zrozumieć proste działanie tego protokołu, możemy posłużyć się prostym przykładem choćby poczty tradycyjnej. Kupujemy kopertę + znaczek, dołączamy do niej list ewentualnie pocztówkę i jakieś zdjęcia, umieszczamy to wszystko w kopercie. Na kopercie piszemy adresata(do tej osoby, do której chcemy wysłać list), na odwrocie adres nadawcy(to Twój adres). Wrzucasz list do skrzynki, i jeśli nic po drodze między skrzynką a adresatem nie przeszkodzi w jego dostarczeniu, to list bezpiecznie dotrze do odbiorcy. W innym przypadku albo ten list „zginie” albo po prostu wróci na adres przez Ciebie wcześniej podany na odwrocie koperty. Tak właśnie analogicznie działa protokół IP.
Adres IP jest unikalnym adresem w sieci, nie ma możliwości aby istniały dwa takie same.
Adresy IP występują w dwóch wersjach 4 i 6 (jest również wersja 5, która miała za zadanie rozszerzyć możliwości poprzedniej wersji czyli IPv4 ale nigdy nie ujrzała światła dziennego, a jej możliwości zostały dodane w kolejne wersji IPv6).
Adres IPv4 (w wersji 4) zapisywany jest przeważnie w formie dziesiętnej, jest ona oddzielona kropkami tu podamy jako przykład IP naszej strony: 31.186.82.153 (zakres liczb od 0 do 255).W zapisie szesnastkowym ma postać 1F BA 52 99 zapisywana jest jako 1F:BA:52:99 jest możliwość zapisania adresu w postaci dwójkowej, jest jedna ona bardzo rzadko stosowana, najczęściej do wyznaczenia maski sieci/podsieci i na naszym przykładowym IP, wyglądałoby tak:
11111 10111010 1010010 10011001
Adres IP w wersji 6 (IPv6) Adresy IPv6 jest to ciąg liczb całkowitych 128 bitowych, zapisywany w formie szesnastkowej (zapis dziesiętny byłby cztery razy dłuższy i składałby się z 16 liczb dziesiętnych z zakresu od 0 do 255). Zapisy zgodny ze specyfikacją Media:CIDR (dotyczy również adresom IPv4), wygląda jak poniżej:
2a01:d0:c0fb:0000:0000:0000:0000:0000/48
gdzie /48 jest to długość pierwszego prefiksu wyrażana w bitach i są grupowane po 16 bitów, oddzielone za pomocą dwukropka, jego skrócona wersja to 2a01:d0:c0fb::/48