Структура IPv4
IPv4 - это 32 разрядное число, записанное для удобства побайтно. Если рассмотреть данное число в его двоичном представлении, то 4 самых старших бита (0, 1, 2, 3) классифицируют все адреса на глобальные сети:
0 1 7 8 31
+---+--- ... -------------------+--- ... -----------------------------+
A | 0 | Идентификатор сети (7bit) | Идентификатор хоста (24 bit) |
+---+--- ... -------------------+--- ... -----------------------------+
0 1 2 15 16 31
+---+---+--- ... --------------------+--- ... ------------------------+
B | 1 | 0 | Идентификатор сети (14bit) | Идентификатор хоста (16bit) |
+---+---+--- ... --------------------+--- ... ------------------------+
0 1 2 3 23 24 31
+---+---+---+--- ... --------------------+--- ... --------------------+
C | 1 | 1 | 0 | Идентификатор сети (21bit) | Идентификатор хоста (8bit) |
+---+---+---+--- ... --------------------+--- ... --------------------+
0 1 2 3 4 31
+---+---+---+---+--- ... ---------------------------------------------+
D | 1 | 1 | 1 | 0 | Для группового вещания (28 bit) |
+---+---+---+---+--- ... ---------------------------------------------+
0 1 2 3 4 31
+---+---+---+---+--- ... ---------------------------------------------+
E | 1 | 1 | 1 | 1 | Зарезирвировано (28bit) |
+---+---+---+---+--- ... ---------------------------------------------+
например:
190.50.5.128 - 10111110 00110010 00000101 10000000 - хост из сети класса B,
с адресом 10111110 00110010 00000000 00000000 - 190.50.0.0
Между глобальными сетями создана маршрутизация. Такое представление имеет ряд недостатков, связанных с таблицами маршрутизации и фиксированным набором хостов для каждого класса сети, поэтому со временем данный подход был вытеснен более гибким - безклассовая междоменная маршрутизация (CIDR). IP адрес записывается с использованием маски. Маска определяет подсеть, которой принадлежит данный адрес. Принято, что некоторое число байт в начале - идентификатор сети, а остальное адрес. Таким образом часто встречаются записи IP адреса в виде 190.50.5.128/26. Это означает, что первые 26 бит адреса идентифицируют сеть, а остальное - хост. То есть
190.50.5.129/26 - адрес из сети 10111110 00110010 00000101 10 | 000000 (190.50.5.128)
Таким образом можно гарантированно сказать, что перед нами идентификатор сети, а не хоста (не имея маски) только для глобальных сетей, то есть
- если первый и последние 24 бита нулевые, то перед нами идентификатор сети класса А
- если первые два байта - это 10 соответственно, а последние 16 - нулевые, то перед нами идентификатор сети класса B
- если первые три байта - это 110 соответственно, а последние 8 - нулевые, то перед нами идентификатор сети класса C
- если первые 4 байта 1110, то перед нами адрес группового вещания
- если первые 4 байта 1111, то перед нами зарезервированные адреса
Грубые оценки количества IP адресов
Исходя из описанной выше структуры IPv4 адреса можно сделать следующие оценки. Из 2^32 адресов выделяется
- 2^28 адресов группового вещание
- 2^28 зарезервированных адресов
- 2^7 адресов сетей класса А, в каждой может быть до 2^24-2 адресов хостов
- 2^14 адресов сетей класса B, в каждой может быть до 2^16-2 адресов хостов
- 2^21 адресов сетей класса C, в каждой может быть до 2^8-2 адресов хостов
Итого, всего адресов хостов в сети Интернет не более 2^7*(2^24-2) + 2^16(2^16-2) + 2^21*(2^8-2) = 3 753 869 056.
Comments
comments powered by Disqus