В терминологии сетей TCP/IP маской сети или маской подсети (network mask) называется битовая маска (bitmask), определяющая, какая часть IP-адреса (ip address) узла (host) сети относится к адресу сети, а какая - к адресу самого узла в этой сети. Например, узел с IP-адресом 12.34.56.78 и маской подсети 255.255.0.0 находится в сети 12.34.0.0. Чтобы получить адрес сети, зная IP-адрес и маску подсети, необходимо применить к ним операцию поразрядной конъюнкции (логическое И).

Например, в случае более сложной маски:

IP-адрес:      00001100 00100010 00111000 01001110 (12.34.56.78)
Маска подсети: 11111111 11111111 11100000 00000000 (255.255.224.0)
Адрес сети:    00001100 00100010 00100000 00000000 (12.34.32.0)

Разбиение одной большой сети на несколько маленьких подсетей позволяет упростить маршрутизацию. Например, пусть таблица маршрутизации некоего маршрутизатора содержит следующую запись: Сеть назначения: 12.34.0.0 Маска: 255.255.0.0 Адрес шлюза: 11.22.3.4 Пусть теперь маршрутизатор получает пакет данных с адресом назначения 12.34.56.78. Обрабатывая построчно таблицу маршрутизации, он обнаруживает, что при наложении маски 255.255.0.0 на адрес 12.34.56.78 получается адрес сети 12.34.0.0. В таблице маршрутизации этой сети соответствует шлюз 11.22.3.4, которому и отправляется пакет. P.S. Для перевода из десятичной системы в двоичную используйте инженерный калькулятор, либо другие онлайн сервисы. Предлагаю следующий способ: Для примера возьмем число 192

  1. Рисуем табличку 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
  2. Проверяем, помещается ли число 128 в 192, если да, то пишем "1"
  3. Вычитаем из 192 128, т.е. 192-128=64
  4. Теперь берем число 64 и проделываем ту же операцию со следующим столбиком таблички. Помещается, значит "1".
  5. 64-64=0 Больше ни в какие столбики не влезет, значит дальше все "0".

Получаем число в двоичной системе 11000000

P.S.S. Удобная табличка

 

Комментарии ()