RU | EN | DE

Типы IP-адресов

Публичные IP-адреса

Публичные IP-адреса используются для уникальной идентификации устройств в интернете и позволяют им напрямую взаимодействовать друг с другом. Распределением публичных адресов управляет иерархическая система организаций: IANA (Internet Assigned Numbers Authority) на глобальном уровне, региональные интернет-регистры (RIR) на континентальном уровне и локальные интернет-регистры (LIR), такие как интернет-провайдеры и хостинг-компании, на местном уровне.

Частные IP-адреса

Частные IP-адреса используются для идентификации устройств внутри локальных сетей и не могут быть использованы для прямого доступа в интернет без применения технологий трансляции адресов (NAT). Зарезервированные диапазоны частных адресов:

  • 10.0.0.0 - 10.255.255.255
  • 172.16.0.0 - 172.31.255.255
  • 192.168.0.0 - 192.168.255.255

Маска подсети

Маска подсети определяет, какая часть IP-адреса относится к сети, а какая – к устройствам (хостам) в этой сети. Она также состоит из четырех октетов и представляется в виде, например, 255.255.255.0. IP-адрес и маска подсети используются совместно для определения границ сети.

Префикс CIDR

Префикс CIDR (Classless Inter-Domain Routing) указывает количество бит, используемых для сетевой части IP-адреса. Он записывается в виде косой черты и числа после IP-адреса, например, /24. Префикс CIDR позволяет гибко распределять IP-адреса, создавая сети разных размеров.

Классы IP-адресов (устаревшие)

В прошлом использовалась классовая система адресации, которая делила IP-адреса на классы A, B и C в зависимости от размера сети. Каждый класс имел фиксированную длину префикса и диапазон значений первого октета:

  • Класс A:
    • Диапазон первого октета: 1-126
    • Префикс сети: /8 (8 бит для сети, 24 бита для хостов)
    • Вместимость: ~16 миллионов хостов
    • Предназначение: очень крупные сети (например, национальные провайдеры)
  • Класс B:
    • Диапазон первого октета: 128-191
    • Префикс сети: /16 (16 бит для сети, 16 бит для хостов)
    • Вместимость: ~65 тысяч хостов
    • Предназначение: средние и крупные сети (например, университеты, корпорации)
  • Класс C:
    • Диапазон первого октета: 192-223
    • Префикс сети: /24 (24 бита для сети, 8 бит для хостов)
    • Вместимость: 254 хоста
    • Предназначение: небольшие сети (например, домашние или офисные) Однако эта система была признана неэффективной и заменена бесклассовой маршрутизацией CIDR.

Таблица масок подсети

Полная таблица масок подсети содержит все возможные префиксы CIDR, соответствующие им маски подсети, количество IP-адресов в сети и количество используемых адресов (за вычетом адреса сети и широковещательного адреса):

ПрефиксМаска подсетиКоличество IP-адресовКоличество используемых IP-адресов
/00.0.0.04 294 967 2964 294 967 294
/1128.0.0.02 147 483 6482 147 483 646
/2192.0.0.01 073 741 8241 073 741 822
/3224.0.0.0536 870 912536 870 910
/4240.0.0.0268 435 456268 435 454
/5248.0.0.0134 217 728134 217 726
/6252.0.0.067 108 86467 108 862
/7254.0.0.033 554 43233 554 430
/8255.0.0.016 777 21616 777 214
/9255.128.0.08 388 6088 388 606
/10255.192.0.04 194 3044 194 302
/11255.224.0.02 097 1522 097 150
/12255.240.0.01 048 5761 048 574
/13255.248.0.0524 288524 286
/14255.252.0.0262 144262 142
/15255.254.0.0131 072131 070
/16255.255.0.065 53665 534
/17255.255.128.032 76832 766
/18255.255.192.016 38416 382
/19255.255.224.08 1928 190
/20255.255.240.04 0964 094
/21255.255.248.02 0482 046
/22255.255.252.01 0241 022
/23255.255.254.0512510
/24255.255.255.0256254
/25255.255.255.128128126
/26255.255.255.1926462
/27255.255.255.2243230
/28255.255.255.2401614
/29255.255.255.24886
/30255.255.255.25242
/31255.255.255.25422 (специальный случай)
/32255.255.255.25511 (специальный случай)
Эта таблица является удобным справочником для быстрого определения параметров сети по заданному префиксу.

В таблице масок подсети для префиксов /31 и /32 указаны специальные случаи. Давайте подробнее рассмотрим, что это означает.

  1. Префикс /31 (255.255.255.254):
    • Этот префикс позволяет создать сеть, состоящую всего из двух IP-адресов.
    • В обычной ситуации один адрес используется для идентификации сети, а другой - для широковещательного адреса, что делает невозможным назначение адресов хостам.
    • Однако в специальном случае с префиксом /31 оба адреса можно использовать для назначения хостам, так как широковещательный адрес не требуется.
    • Этот подход обычно используется для point-to-point (точка-точка) соединений, где необходимо только два IP-адреса, например, для прямого соединения двух маршрутизаторов.
  2. Префикс /32 (255.255.255.255):
    • Этот префикс создает сеть, состоящую только из одного IP-адреса.
    • Обычно один адрес не может быть использован, так как он зарезервирован для идентификации сети.
    • Однако в специальном случае с префиксом /32 этот единственный адрес может быть назначен хосту.
    • Такой подход часто используется для loopback-адресов (например, 127.0.0.1) или для определения конкретного хоста в сети.

Эти специальные случаи отличаются от обычных ситуаций, когда адрес сети и широковещательный адрес нельзя назначать хостам. Префиксы /31 и /32 позволяют более эффективно использовать IP-адреса в определенных сценариях, таких как point-to-point соединения или идентификация отдельных хостов.

Важно отметить, что использование префиксов /31 и /32 требует специальной настройки и поддержки со стороны сетевых устройств и протоколов. Не все сетевое оборудование и программное обеспечение может корректно работать с этими специальными случаями, поэтому перед их применением необходимо убедиться в совместимости вашей сетевой инфраструктуры.

Примеры распределения IP-адресов

Рассмотрим несколько примеров распределения IP-адресов в сетях с разными префиксами CIDR.

Пример 1

Блок IP-адресов: 192.168.1.0/24

  1. Найдите префикс /24 в таблице.
  2. Маска подсети: 255.255.255.0
  3. Количество IP-адресов: 256
  4. Количество используемых IP-адресов: 254

Распределение адресов:

  • Адрес сети: 192.168.1.0
  • Используемые адреса: 192.168.1.1 - 192.168.1.254
  • Широковещательный адрес: 192.168.1.255

Пример 2

Блок IP-адресов: 10.0.0.0/22

  1. Префикс /22 в таблице.
  2. Маска подсети: 255.255.252.0
  3. Количество IP-адресов: 1024
  4. Количество используемых IP-адресов: 1022 Распределение адресов:
  • Адрес сети: 10.0.0.0
  • Используемые адреса: 10.0.0.1 - 10.0.3.254
  • Широковещательный адрес: 10.0.3.255

Перевод IP-адреса из десятичного в двоичный вид:

IP-адрес состоит из четырех октетов, каждый из которых представляет собой число от 0 до 255. Чтобы перевести IP-адрес в двоичный вид, нужно перевести каждый октет в 8-битное двоичное число, а затем объединить их.

Пример перевода октета в двоичный вид:

  • Октет: 192
  • Двоичное представление: 11000000

Для перевода числа из десятичной системы в двоичную используется алгоритм деления на 2 с записью остатков в обратном порядке. Делим число на 2, записываем остаток (0 или 1), а затем делим частное снова на 2 и так далее, пока частное не станет равным 0.

Когда мы делим число на 2, мы по сути спрашиваем: “Сколько раз число 2 помещается в этом числе?” Частное представляет собой количество раз, которое 2 помещается в числе, а остаток - это то, что остается после деления.

Пример перевода октета 192 в двоичный вид:

  • 192 / 2 = 96 (остаток 0) - 2 помещается в 192, 96 раз, остатка нет.
  • 96 / 2 = 48 (остаток 0) - 2 помещается в 96, 48 раз, остатка нет.
  • 48 / 2 = 24 (остаток 0) - 2 помещается в 48, 24 раза, остатка нет.
  • 24 / 2 = 12 (остаток 0) - 2 помещается в 24, 12 раз, остатка нет.
  • 12 / 2 = 6 (остаток 0) - 2 помещается в 12, 6 раз, остатка нет.
  • 6 / 2 = 3 (остаток 0) - 2 помещается в 6, 3 раза, остатка нет.
  • 3 / 2 = 1 (остаток 1) - 2 помещается в 3, 1 раз, остаток 1.
  • 1 / 2 = 0 (остаток 1) - 2 не помещается в 1, частное 0, остаток 1.

Записываем остатки в обратном порядке: 11000000 Повторяем этот процесс для каждого октета IP-адреса и объединяем результаты.

Пример перевода IP-адреса 192.168.1.100 в двоичный вид:

  • 192: 11000000
  • 168: 10101000
  • 1: 00000001
  • 100: 01100100 Объединяем двоичные представления октетов: 11000000.10101000.00000001.01100100 Теперь вы знаете, как вручную перевести IP-адрес из десятичного представления в двоичное. Понимание процесса деления и определения остатка на каждом шаге помогает прояснить, как числа переводятся из десятичной системы в двоичную. На практике для этого обычно используются калькуляторы или программы, но понимание принципа перевода помогает лучше разобраться в работе с IP-адресами и масками подсети.