Расчет маски подсети: примеры «для чайников»

В одной из предыдущих статей мы рассказывали, что такое маска подсети, и для чего она может потребоваться. Здесь же коснемся практической части и рассмотрим расчет маски подсети на конкретных примерах.

В чем назначение маски подсети в сочетании с ip-адресом?

Итак,существует пять классов маршрутизации – A, B, C, D, E. Различным организациям выделяются адреса из диапазонов A, B и C, D и E, которые используются для технических и исследовательских нужд.

перевод маски подсети

Однако выделение какой-либо организации (или частному лицу в Интернете) сети из класса В – недопустимое расточительство. Например, вам нужен «белый» адрес для работы в сети Интернет.

Провайдер располагает адресами класса В и выделяет для вас одного сеть 129.16.0.0. Теперь у вас 65534 «белых» адресов, которые вы маловероятно задействуете.

Вот тут и нужна маска подсети. Маска нужна для определения, какая часть адреса относится к сети, а какая – к хосту. Адресация с использованием маски сети называется бесклассовой (от английского Classless Inter-Domain Routing или CIDR).

Маска подсети определена стандартом RFC 917.

Как именно работает и на что влияет маска подсети? Провайдеру, располагающему сетью 129.16.0.0 нет нужды отдавать ее полностью в чье-то ведение. Теперь можно разбить ее, используя маску сети на много подсетей меньшего размера.

Как разделить сеть на подсети с помощью маски подсети?

Возьмем адрес 129.16.10.1 с маской 255.255.255.0. В двоичном виде это будет выглядеть следующим образом:

129.16.10.1 = 10101100.00010000.00001010.00000001
255.255.255.0 = 11111111.11111111.11111111.00000000

Устройство, обрабатывающее IP пакет, сопоставляет адрес и маску и вычисляет, какая часть адреса принадлежит сети, а какая – хосту. Часть маски с единицами определяет сеть, а часть с нулями – хост.

Получаем:

10000001.00010000.00001010.00000001
11111111.11111111.11111111.00000000

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

10000001.00010000.00001010.00000001
11111111.11111111.11111111.00000000
10000001.00010000.00001010.00000000 = 129.16.10.0

В двоичном виде точки между октетами не ставятся, здесь это сделано для большей наглядности.

Коротко в десятичном виде эта запись выглядит так: 129.16.10.0 /24.

Почему 24? —  Потому что именно столько бит выделено под сеть. Можно сокращать количество устройств и далее, забирая биты хостовой части и отдавая в пользу сетевой, увеличивая количество подсетей. На практике, провайдеры именно так и делают, выделяя каждому клиенту столько адресов, сколько нужно для пользования.

Как научиться считать маски подсети?

Маска подсети всегда представляет собой последовательное количество вначале единиц, а затем – нулей. Маски вида 11011111.11111111.11111111.1100000 быть не может.

как вычислить маску подсети

Стоить учесть, что для любой подсети работает правило вычисление количества хостов:

232-n -2, где n – длина подсети. 232-24 -2 = 254 для маски 255.255.255.0.

Откуда берется -2?

Это первый и последний адреса сети: первый – адрес самой сети, последний – адрес широковещательных рассылок.

Еще для наглядности. Рассмотрим, как разделить сеть 192.168.1.0 /24 на две на подсети с помощью маски. Для этого заберем один бит хостовой части в пользу сетевой, получаем 11111111.11111111.11111111.10000000. На выходе у нас две подсети – 192.168.1.0 /25 и 192.168.1.128 /25. (0 и 128 – значения, которые может принять первый бит четвертого октета, 0 и 1 соответственно).

Теперь рассмотрим, как разделить первоначальную сеть на четыре подсети. Для этого отдаем первые два бита из последнего октета в пользу сети:

11111111.11111111.11111111.00000000 = 192.168.1.0
11111111.11111111.11111111.01000000 = 192.168.1.64
11111111.11111111.11111111.10000000 = 192.168.1.128
11111111.11111111.11111111.11000000 = 192.168.1.192

Для чего используется маска подсети?

Деление больших сетей на маленькие используется администраторами для упрощения работы с сетевой инфраструктурой. Использование ограничений для различных департаментов компании удобно реализовывать на группу ПК, нежели отдельно на каждую машину. Кроме того, наличие подсетей уменьшает домены широковещательных рассылок, снижая нагрузку на коммутаторы.

Если два устройства относятся к одной подсети, то общение между ними будет осуществляться напрямую, минуя маршрутизатор. Для того, что бы отправить пакет в другую подсеть, устройство направляет его на свой шлюз по умолчанию, которым является физический или виртуальный интерфейс устройства третьего уровня (L3). Там сверяется адрес получателя с таблицей маршрутизации, и пакет направляется дальше.

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

Например, пакет из сети 192.168.10.0 попадает на роутер, в таблице маршрутизации имеется два маршрута: к сетям 192.168.1.0 и 192.168.2.0, а так же маршрут по умолчанию 0.0.0.0 0.0.0.0. В такой ситуации пакет будет отброшен, так как сеть 192.168.10.0 относится к классу С, а маршрут к такой сети в таблице не существует.

В случае, когда используется бесклассовая маршрутизация, пакет будет отправлен на шлюз по умолчанию – 0.0.0.0 0.0.0.0.

Стоит учесть, что при использовании бесклассовой адресации само понятие «класс» пропадает. Нельзя сказать, что адрес 192.168.1.1 /24 относится к классу С или адрес 10.1.1.1 /24 относится к классу А. Классы были нужны для определения границ сети до тех пор, пока не использовалась маска сети.

Автор публикации

не в сети 22 часа

admin

Комментарии: 116Публикации: 382Регистрация: 20-11-2015

Рубрики: корпоративная сеть

Оставить комментарий

Авторизация
*
*
Генерация пароля