Internet Protocol
Петслоен модел на TCP/IP |
---|
1. Физически слой |
2. Канален слой |
3. Мрежов слой |
4. Транспортен слой |
5. Приложен слой |
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 – 1000000000000000000 bit
- 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