Skip to content

Instantly share code, notes, and snippets.

@AlexanderZoom
Last active November 9, 2024 19:58
Show Gist options
  • Save AlexanderZoom/a1bf444225375a5cd11e96187c142470 to your computer and use it in GitHub Desktop.
Save AlexanderZoom/a1bf444225375a5cd11e96187c142470 to your computer and use it in GitHub Desktop.
Шпаргалка по сетям и маскам подсети

Шпаргалка по сетям и маскам подсети

1. Основы масок подсети

Маска подсети указывает, какая часть IP-адреса отводится под сеть, а какая — под хосты. Маска может быть записана в десятичном формате, например, 255.255.255.0, или в префиксном формате, например, /24.

Примеры масок и префиксов:

  • /24 или 255.255.255.0 — 256 адресов, из них 254 доступны для хостов.
  • /25 или 255.255.255.128 — 128 адресов, из них 126 доступны для хостов.
  • /26 или 255.255.255.192 — 64 адреса, из них 62 доступны для хостов.
  • /30 или 255.255.255.252 — 4 адреса, из них 2 доступны для хостов.
  • /32 или 255.255.255.255 — 1 адрес, недоступен для хостов (используется для индивидуального IP).

2. Определение количества хостов по маске

Чтобы узнать количество адресов в сети, определите количество бит, отведенных под хостов:

  • Вычислите количество бит для хостов: h = 32 - (порядок маски)
  • Рассчитайте количество адресов: Количество адресов = 2^h - 2 (вычитаем 2 для адреса сети и широковещательного адреса).

Пример:
Для сети /24:

  • Биты для хостов: 32 - 24 = 8
  • Адресов: 2^8 - 2 = 254

3. Представление маски подсети в виде префикса

  1. Запишите единицы слева направо, соответствующие количеству бит для сети, а затем добавьте нули для хостов.
  2. Преобразуйте 8-битные блоки в десятичный формат.

Пример:

  • Префикс /22:
    • Двоичная запись: 11111111.11111111.11111100.00000000
    • Десятичная запись: 255.255.252.0

4. Как определить первый и последний IP в сети

  1. Адрес сети — это начальный адрес (все биты хостовой части равны нулю).
  2. Первый IP для устройств — следующий за адресом сети.
  3. Последний IP для устройств — адрес перед широковещательным.
  4. Широковещательный адрес — все биты хостовой части равны единице.

Пример для сети 192.168.0.0/22:

  • Адрес сети: 192.168.0.0
  • Маска: 255.255.252.0
  • Первый IP: 192.168.0.1
  • Последний IP: 192.168.3.254
  • Широковещательный адрес: 192.168.3.255

5. Правило кратности для второго и третьего октетов

Для определения начального адреса сети в зависимости от маски подсети используется следующее правило кратности:

  1. Определите общее количество адресов в сети.
  2. Разделите количество адресов на 256 (общее количество адресов в четвёртом октете):
    • Если результат меньше 256, то примените это число как кратность для третьего октета.
    • Если результат больше 256, разделите его ещё раз на 256, чтобы получить кратность для второго октета.

Примеры:

  • /23 (маска 255.255.254.0): 512 адресов.
    ( 512 / 256 = 2 ), значит третий октет должен быть кратен 2 (0, 2, 4 и так далее).

  • /22 (маска 255.255.252.0): 1024 адреса.
    ( 1024 / 256 = 4 ), значит третий октет должен быть кратен 4 (0, 4, 8 и так далее).

  • /21 (маска 255.255.248.0): 2048 адресов.
    ( 2048 / 256 = 8 ), значит третий октет должен быть кратен 8 (0, 8, 16 и так далее).

  • /13 (маска 255.248.0.0): 524288 адресов.
    ( 524288 / 256 = 2048), затем ( 2048 / 256 = 8 ), значит второй октет должен быть кратен 8 (0, 8, 16 и так далее).

6. Дополнительные аспекты

Адрес сети и широковещательный адрес

  • Адрес сети — это первый адрес диапазона, где все биты хостовой части равны нулю.
  • Широковещательный адрес — последний адрес диапазона, где все биты хостовой части равны единице.
  • Эти два адреса зарезервированы и не могут использоваться для устройств.

Классы IP-адресов (базовое понимание)

  • Класс A: Адреса от 0.0.0.0 до 127.255.255.255 (по умолчанию маска /8).
  • Класс B: Адреса от 128.0.0.0 до 191.255.255.255 (по умолчанию маска /16).
  • Класс C: Адреса от 192.0.0.0 до 223.255.255.255 (по умолчанию маска /24).
  • Классы используются для обозначения количества возможных хостов в сети, но они устарели с введением CIDR.

CIDR (Classless Inter-Domain Routing)

  • CIDR позволяет гибко использовать маски подсети, игнорируя классовую структуру.
  • Примеры: 192.168.1.0/22, 10.0.0.0/12.

VLSM (Variable Length Subnet Mask)

  • VLSM позволяет делить сеть на подсети разного размера, что полезно для оптимизации адресного пространства.
  • Например, можно выделить сеть с маской /27 для 30 устройств и с маской /29 для 6 устройств.

7. Пример задачи

Дано: диапазон 192.168.55.1 - 192.168.58.125
Задача: найти маску и префикс.

Решение:

  1. Вычислить количество адресов: от 192.168.55.1 до 192.168.58.125 — это 894 адреса.
  2. Найти минимальное количество бит для хостов: 2^10 = 1024 адресов покрывает 894.
  3. Маска: /22, что соответствует 255.255.252.0.
  4. Диапазон сети /22: 192.168.55.0 до 192.168.58.255.

Ответ:

  • Маска подсети: 255.255.252.0
  • Префикс: /22
  • Диапазон адресов: 192.168.55.0 - 192.168.58.255
  • Доступные адреса: 192.168.55.1 - 192.168.58.254
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment