Internet Protocol

Internet Protocol (IP) е протокол за комуникация, който стои в основата на интернет.

Предназначението на протокола е да позволи адресация на информацията, която се изпраща по мрежата. На всеки хост в мрежата се дава уникален адрес (наречен IP адрес). Когато се изпраща информация през мрежата, тя се разделя на малки пакети, наречени IP пакети. Към всеки пакет се прикрепя т. нар. хедър, който съдържа IP адреса на подателя и получателя и други служебни данни. С помощта на тези адреси компютрите, през които минава пакетът, решават какво да правят с него.

Протоколът не гарантира сигурното пристигане на информацията и няма корекция на грешки. IP се използва от транспортни протоколи като TCP и UDP.

История 
Разработен от д-р Винт Сърф и д-р Робърт Кан като част от проект на Министерството на отбраната на САЩ, IP се използва за пръв път през 1969 г. в ARPANET.

Структура на IP пакет 
Всеки IP пакет съдържа:

 номер на версия – 4 бита
 информация дали пакетът е част от по-голямо количество данни, съответно:
 DF (Don't fragment) – 1 бит
 MF (More fragments) – 1 бит
 Fragment-Offset – 13 бита
 TTL – Time To Live или през колко хоста може да премине даден пакет, преди да се счита за загубен (всеки хост, през който преминава пакетът намалява стойността на това поле с 1) – 8 бита
 идентификатор на ползващия транспортен протокол – 8 бита
 IP адрес на подателя
 IP адрес на получателя

IPv4 
През 2010 г. широко се използва версия 4 на протокола, при която IP адресите са 32-битови цели числа. За удобство един такъв IP адрес се записва като 4 осембитови десетични числа, разделени с точка. Решението IP адресите да се представят с десетични числа идва от факта, че повечето хора се чувстват по-комфортно, като използват десетични числа.

Например IPv4 адресът на Wikipedia се записва така:
 208.80.152.2

Основният недостатък на протокола е, че броят на адресите, които могат да се запишат с 32 бита е недостатъчен. За справяне с този проблем са създадени редица механизми (например NAT), но те решават проблема само частично и временно.

През последните години тази версия на протокола започва да бъде измествана от по-новата версия 6.

Специални адреси 
Някои IP адреси имат по-специално предназначение – за осъществяване на мрежова връзка с текущия компютър или с други компютри в локалната мрежа. Специалните адреси са:

 10.0.0.0 ~ 10.255.255.255 – Предназначени за големи локални мрежи
 127.0.0.0 ~ 127.255.255.255 – Предназначени за свързване с текущия компютър
 172.16.0.0 ~ 172.31.255.255 – Предназначени за средноголеми локални мрежи
 192.168.0.0 ~ 192.168.255.255 – Предназначени за малки локални мрежи

IPv6 
През последните години тази версия на протокола започва да влиза в масова употреба. IP адресите от IPv6 са 128-битови числа. Тези IP адреси се представят като осем 16-битови цели числа, разделени с двоеточие. Допустимо е да се пропуснат нулите в старшите битове на всяко от числата. IPv6 може да се представи и по класическия начин, познат от IPv4.

Един примерен IPv6 адрес изглежда така:
 2001:0db8:0000:0000:0000:8a2e:0370:7334
Но може да се запише съкратено и така:
 2001:db8::8a2e:370:7334

Външни препратки 
 RFC 791 – Internet Protocol (1981)
 RFC 2460 – Internet Protocol, версия 6 (1998) (остаряла версия – RFC 1883)