IP адреса используются для обмена данными между определенными узлами в сети. IP адреса применимы на сетевом уровне и используются протоколом IP. Например, чтобы Алиса передала файл Ане, Алисе необходимо знать IP адрес компьютера Ани. Точно также, как мы хотим отправить письмо другу, мы на конверте указываем адрес получателя. IP адрес выполняет подобную функцию.

Существуют 2 версии протокола IP: IPv4 и IPv6. Разница между этими версиями довольна существенна. В данном уроке мы поговорим о версии IPv4.

Каждый IP адрес выглядит так: 192.68.50.2, 10.1.23.4. Он состоит из 4 байт. Значения байтов записываются в десятичной форме и разделяются точкой. Каждый байт принимает значения от 0 до 255. То есть нельзя записать адрес как 256. 300.2.1 — данная запись неверная.

 

Структура IP адреса

IP адреса состоят из 2-х частей: сетевая и хостовая (узловая).

А для чего нам нужны сетевая и узловая части в адресе?

Дело в том, в мире насчитываются сотни миллионов сетевых устройств и у каждого есть свой уникальный IP адрес. Теперь представь себе как найти путь к нужному нам устройству. Ведь в интернете не существует единого коммутационного центра, который управляет всеми процессами и знает где находится конкретное устройство.
Коммутация или точнее маршрутизация (поиск оптимального маршрута к заданному узлу/сети) работает по распределенному принципу, то есть каждое устройство само вычисляет оптимальный маршрут к заданному узлу. Такие устройства называются маршрутизаторами. Для этого, конечно, существуют специальные протоколы и алгоритмы, но об этом позже.
Каждый маршрутизатор хранит в себе таблицу маршрутизации, где указывается куда и какому следующему сетевому устройству нужно отправить пакет, чтобы он достиг пункта назначения.

То есть такие таблицы очень большие? Ведь довольно сложно хранить запись о всех устройствах сети.

На самом деле нет. Ни один маршрутизатор не хранит все адреса в своей памяти. Гораздо проще разделить всю сеть на большие зоны и более мелкие сегменты. Каждая зона/сегмент имеет свой IP адрес, который и называется сетевым адресом. Ему и соответствует сетевая часть IP адреса. Теперь нет необходимости запоминать целиком все адреса в своей таблице. Достаточно знать сетевой адрес и куда/кому отправить пакет.

То есть, если компьютер Алисы отправит файл Ане, то он перешлет его ближайшему маршрутизатору, а тот следующему?

Все верно. Структура сети и интернета в целом такова, что состоит из больших зон, каждая из которых состоит из более мелких зон. А те в свою очередь делятся на еще более мелкие.

Вот простой и в то же время аналогичный пример — отправка письма в другую страну. Из Москвы в Нью-Йорк нужно отправить письмо. На конверте указан адрес получателя, который также состоит из 2-х частей: страна/город и название улицы/номер дома. Нам не нужно название улицы, если мы не знаем где она находится. Нам достаточно знать страну и город. Дойдя до Нью-Йорка, почтовая служба Нью-Йорка будет использовать уже название улицы и номер дома.
По такому же принципу и работает IP адрес — узловая часть адреса используется уже в последнюю очередь.

 

Классификация адресов

Теперь самое время поговорить о том, на какие классы делятся IP адреса. Но прежде разберемся с еще одним термином — маской. Мы уже знаем, что сам адрес делится на 2 части. Но как узнать сколько бит было отведено под сетевую часть?
Именно для этого и используется маска. Маска выглядит так: 255.0.0.0, 255.255.0.0, 255.255.255.0, 255.192.0.0. То есть мы выставляем значение “1” на тех позициях, которые были выделены для сети. То есть запись 255.0.0.0 говорит о том, что под сеть выделено 8 бит, 255.255.0.0 — здесь выделено 16 бит под сеть, 255.192.0.0 — 18 бит выделено под сеть (2 старших бита взяты из второго октета).

На позициях, выделенных узлам мы оставляем “0”.

Существует и другая запись. Например, 172.16.2.1/16 означает, что под сеть выделено 16 бит или аналогично 255.255.0.0.

 

Класс А

В первом октете старший бит всегда устанавливается в “0

Класс А IP адреса

 

Класс B

В первом октете 2 старших бита устанавливаются в “10

Класс B IP адреса

 

Класс С

В первом октете 3 старших бита устанавливаются в “110

Класс С IP адреса

Количество доступных сетей/узлов рассчитывается по формуле 2количество бит — 2. То есть для адреса с маской 255.0.0.0 существуют 28 — 2 = 254 вариантов сетей. Каждая сеть имеет в своем распоряжении 224 — 2 = 16 777 214 узлов.

А почему мы отнимаем 2?

Потому самый первый адрес диапазона является адресом сети, самый последний адрес является широковещательным. Поэтому эти 2 адреса не могут быть назначены хостам. Самый первый адрес, то есть адрес сети и используется маршрутизаторами. Именно этот адрес и хранится в таблице маршрутизации.

 

Класс D

В первом октете 4 старших бита устанавливаются в “1110”. Данный класс адресов используется для многоадресной рассылки. Об этом позже. Они не могут быть назначены отдельным устройствам. У них также отсутствует маска.

Класс D IP адреса

 

Класс E

В первом октете 4 старших бита устанавливаются в “1111”. Данный класс адресов резервируется для различных экспериментов. Они также не могут быть назначены отдельным устройствам. У них также отсутствует маска.

Класс E IP адреса

 

Частные и публичные адреса

Адреса классов A,B,C подразделяются на частные (private) и публичные (public).

Частные адреса используются в локальных сетях, например в домашних или офисных сетях. Одни и те же адреса могут быть использованы во многих локальных сетях. В то время как публичные адреса является уникальными и не могут быть назначены нескольким узлам.

Иными словами локальные или частные адреса не могут маршрутизироваться через интернет. Более того многие маршрутизаторы, которые работают в интернете просто блокируют и уничтожают пакеты, которые содержат частные IP адреса.

Частные адреса могут быть настроены самим пользователем по его желаю вручную либо автоматически специальным сервером.

Публичные адреса всегда назначаются провайдером при подключении к его сети. И изменить это адрес без согласования провайдера нельзя.

Для частных адресов выделены следующие диапазоны:

  • Класс А: 10.0.0.0 — 10.255.255.255
  • Класс B: 172.16.0.0 — 172.31.255.255
  • Класс C: 192.168.0.0 — 192.168.255.255

Адреса 127.0.0.0 — 127.255.255.255 зарезервированы для диагностики.