Маска сети (255.255.255.0): определение, длина префикса подсети, количество адресов и обратная маска

Всем доброго времени суток! Из-за обилия чуши в интернете по данной тематике я решил написать собственную подробную и интересную статью, которая наконец-то раскроет вопрос: а что же такое маска подсети, для чего она нужна и где ее применять. Статья подойдет как для чайников, так и для начинающих специалистов.

Сразу скажу простую мысль, вокруг которой и строится вся тема. Сам IP-адрес отвечает на вопрос «кто ты?», а маска подсети отвечает на вопрос «кто из вас в одной локальной сети, а кто уже в другой?». Именно поэтому эти два параметра почти всегда идут рядом: IP, маска, шлюз, DNS. Если понять эту связку, половина путаницы с локальной сетью, роутерами и ручной настройкой адресов исчезает сама собой.

IP и маска

Начнем, наверное, с самого начала, а именно с разбора IP 4-ой версии. IPv4 применяется повсеместно почти во всех сетевых устройствах. Данный параметр нужен для адресации пакетов, а также для обозначения сетевого устройства в сети. Все аналогично, как на почте – без адреса почтальон не будет знать, куда отправлять информацию.

IPv4 состоит из 32 бит – например, 192.168.28.32. Сам адрес для удобства записывают в виде четырех октетов, разделенных точками. Каждый октет – это 8 бит, а значит его значение может быть в диапазоне от 0 до 255. В итоге у нас получается диапазон адресов от 0.0.0.0 до 255.255.255.255. Помимо IPv4, есть также и IPv6, который имеет большую длину адреса – 128 бит.

Один бит может принимать вид нуля и единицы – именно эту информацию может понимать компьютер, современный смартфон, телевизор и другие устройства. А так как у нас этих битов 32, то суммарное количество адресов IPv4, которые теоретически могут существовать: 232 = 4 294 967 296.

ПРИМЕЧАНИЕ! Не все адреса из этого диапазона можно раздавать устройствам как обычные хостовые IP. Есть служебные, специальные и зарезервированные диапазоны. Например, 255.255.255.255 – это широковещательный адрес, 0.0.0.0 – специальный адрес «ничего не назначено», 127.0.0.0/8 – loopback, а диапазоны 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16 используются как частные адреса внутри локальных сетей.

Итак, у нас есть 4-байтовый или 32-битовый адрес. Чаще всего один кусок адреса называют именно байтом или так называемым «октетом». Октет – это 1 байт адреса IPv4. Для удобства представления они разделяются точками – так информацию проще воспринимать человеку.

Таблица масок
Таблица масок

Теперь переходим к самой маске. Маска подсети – это тоже 32 бита, как и IPv4-адрес. Но смысл у нее другой: она показывает, какая часть адреса относится к сети, а какая – к хосту внутри этой сети. Если совсем по-простому, то маска как бы проводит границу. До этой границы у нас «общий адрес двора», а после нее уже «номер квартиры» конкретного устройства.

Дома в домашних роутерах чаще всего используют 255.255.255.0, то есть префикс /24. Это удобно: сеть получается простой, понятной и с большим запасом по количеству домашних устройств. Также часто используют:

  • /29 – 255.255.255.248
  • /30 – 255.255.255.252
  • /27 – 255.255.255.224
  • /26 – 255.255.255.192
  • /32 – 255.255.255.255
  • /23 – 255.255.254.0

Но здесь нужна важная поправка. Эти маски используют не потому, что они «популярные по списку», а потому что они подходят под задачу. Где-то нужна маленькая подсеть на несколько устройств, где-то большая. Например, /24 часто встречается дома и в небольших офисах, /30 и /31 – на точка-точка соединениях, а /32 обычно используют для описания одного конкретного адреса, например в маршрутах, ACL или туннелях. То есть маска выбирается не по вкусу, а по сетевой задаче.

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

Передача данных

Как вы, наверное, знаете – информация в сети передается пакетами, примерно так же, как на почте. В пакете тоже есть заголовок, где прописаны два адреса:

  • Source IP – от кого отсылается пакет.
  • Destination IP – к кому отсылать пакет.

Никакой маски в обычном IP-пакете нет, также сам адрес в заголовке идет в чистом виде без точек, запятых и без каких-либо разделителей – это просто 4 байта IPv4. И тут сразу встает вопрос – а для чего тогда вообще нужна маска подсети, и где ее применяют? Вот мы и подошли к самой сути. В пакете информации маски нет, потому что она там и не нужна. Но вот при назначении адреса какому-то устройству – будь это компьютер, смартфон, телевизор, сервер или роутер – этому устройству также назначается и маска подсети.

Маска подсети (Mask) – позволяет понять компьютеру или другому сетевому устройству, в какой границе оно находится по отношению к другим устройствам. Чтобы оно понимало – находятся ли те или иные устройства в одной с ним сети или нет. Если говорить совсем сельским языком: «С нашего двора или нет?!».

Для чего это вообще нужно? А нужно это для того, чтобы можно было определить, отправлять пакет напрямую или через шлюз. Например, если вы живете в одном городе с другом, то вам проще и быстрее сходить к нему в гости и передать что-то лично в руки. Но если друг живет за пределами города, то проще уже отправить посылку с помощью почты.

Аналогично все происходит в сети. Если устройство находится в пределах одной подсети, то отправка идет напрямую. Если же устройство находится в другой сети, то пакет отправляется через шлюз.

Вот здесь и находится самая важная практическая польза маски. Компьютер не сидит и не «угадывает», локальный адрес перед ним или нет. Он берет свой IP, свою маску и IP назначения, после чего сравнивает, в одной ли они сети. Если да – общение идет напрямую по локальной сети. Если нет – пакет отправляется на шлюз по умолчанию, а уже тот решает, куда везти его дальше. Кстати, если вы не до конца понимаете, что такое шлюз, рекомендую отдельно глянуть что такое основной шлюз и как его узнать.

Теперь давайте посмотрим, какой же вид имеет маска сети. Самое главное правило – при переводе в двоичный код мы всегда видим сначала подряд идущие единицы, а потом подряд идущие нули.

255.255.248.0 = 11111111.11111111.11111000.00000000

То есть идут сначала единицы, а потом нули. Не может быть такого, что 1 и 0 постоянно меняются и чередуются, например: «101010001». Вот это уже невалидная маска подсети для IPv4. А число единиц в начале и есть длина префикса, которую мы часто видим после слеша. Например, маска 255.255.248.0 – это префикс /21.

ПРИМЕЧАНИЕ! Это частая ошибка новичков: длина маски – это не количество нулей, а количество единиц в маске. Поэтому запись /24 означает, что в маске 24 единицы подряд, а не 24 нуля.

Компьютер определяет границу достаточно просто. Он переводит IP и маску в двоичный код и применяет побитовую операцию AND.

Все как в математике по логике: 1 и 1 = 1, 1 и 0 = 0, 0 и 0 = 0.

11000000.10101000.00001011.00001010 (192.168.11.10)
11111111.11111111.11111000.00000000 (255.255.248.0)
=
11000000.10101000.00001000.00000000 = 192.168.8.0

СОВЕТ! Если вы начинающий системный администратор или IT-инженер, то вы действительно должны уметь переводить десятичные числа в двоичные и обратно. Но если вы обычный пользователь, то не переживайте – на бытовом уровне вам достаточно понять сам принцип: маска отделяет адрес сети от адреса узла.

В итоге мы получаем адрес подсети – 192.168.8.0. Есть еще одно понятие – широковещательный адрес этой же подсети. Его получают не «заменой всех единиц на нули и наоборот», а установкой всех битов хостовой части в 1. В нашем примере получится 192.168.15.255.

ВНИМАНИЕ! Для обычного назначения устройствам адрес сети и широковещательный адрес использовать нельзя. В нашем примере это 192.168.8.0 и 192.168.15.255. Но сразу оговорюсь: в мире сетей бывают специальные случаи вроде /31 и /32, где логика уже чуть отличается, поэтому не стоит воспринимать это как магическое правило на все случаи жизни.

В итоге у нас получается диапазон адресов хостов от 192.168.8.1 до 192.168.15.254. Можно также записать более коротко как 192.168.8.0/21. В этой записи префикс /21 означает, что первые 21 бит относятся к сети, а оставшиеся 11 бит – к хостовой части. Именно поэтому адресов внутри такой сети получается много.

Еще одна типичная путаница – между адресом сети, адресом хоста и адресом шлюза. Адрес сети – это сама подсеть, например 192.168.8.0/21. Адреса хостов – это конкретные устройства внутри нее. А шлюз – это просто один из хостов в этой сети, который умеет отправлять трафик дальше. Очень часто в домашних сетях роутеру дают первый доступный адрес, например 192.168.8.1, но это не обязательное правило. Он может быть и 192.168.8.254, и вообще любым другим свободным адресом из диапазона.

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

ПРИМЕЧАНИЕ! При прямой отправке внутри одной подсети домашний роутер действительно может не участвовать в передаче трафика между двумя устройствами. Поэтому, например, компьютер может напрямую общаться с NAS, телевизором или принтером в одной локальной сети. В больших организациях для контроля и фильтрации трафика сеть специально разбивают на несколько подсетей, а между ними ставят маршрутизаторы и межсетевые экраны. Именно поэтому маска подсети – это не просто скучная цифра в свойствах адаптера, а реальный инструмент сегментации сети.

Давайте расскажу на примере обычного Wi-Fi роутера и локальной домашней сети. Дома стоит маршрутизатор, к которому подключены: компьютер, ноутбук, смартфон и телевизор. Роутер раздает настройки сети и присваивает им свои IP и маску. Как я и говорил ранее, чаще всего используется: 255.255.255.0.

Если компьютер отправит пакет напрямую одному из локальных устройств, то пакет отправится сразу к адресату. Но если в пакете будет указан IP, который не находится в этой сети, то он поступит сначала к шлюзу, а именно к роутеру, а он, в свою очередь, отправит его дальше в интернет.

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

Где посмотреть маску подсети

Теперь самое практичное – где же вообще посмотреть свою маску подсети в жизни, а не только в теории. На домашнем компьютере или телефоне это делается буквально за минуту. Причем вместе с маской вы почти всегда сразу увидите IP-адрес и шлюз. Это полезно, когда интернет не работает, нужно прописать статический IP или просто понять, в какой сети вы сейчас находитесь.

Windows: нажмите + R, введите команду ncpa.cpl и нажмите Enter. Откройте свойства активного адаптера, дважды нажмите по «IP версии 4 (TCP/IPv4)». Если адрес выдается автоматически, маска будет подставляться сама. Быстрый вариант через консоль – открыть командную строку и выполнить ipconfig. Там сразу увидите IPv4-адрес, маску подсети и шлюз. Если вам нужно прописать это руками, вот отдельная инструкция: как настроить IP-адрес вручную в Windows.

Android: откройте «Настройки» – «Wi-Fi» – нажмите по подключенной сети. На разных оболочках путь отличается, но обычно в разделе сведений о сети можно увидеть IP, шлюз, DNS и иногда маску. На части телефонов маска скрыта глубже, но если включить «Статический IP», система обычно сама покажет все поля.

iPhone и iPad: «Настройки» – «Wi-Fi» – нажмите на значок i рядом с нужной сетью. Там обычно видны IP-адрес, маска подсети и роутер. Для бытовых задач этого более чем достаточно.

Linux: можно открыть терминал и выполнить команду ip addr или ifconfig, если она установлена. Обычно префикс показывается после слеша, например 192.168.1.10/24. Это и есть маска в более короткой CIDR-записи.

Какую маску ставить дома

Если говорить совсем прикладно, то дома почти всегда хватает обычной маски 255.255.255.0, то есть /24. Она проста, понятна и дает до 254 обычных хостовых адресов в одной сети. Для квартиры, дома, даже для небольшого офиса этого обычно хватает с огромным запасом. Поэтому если вы настраиваете домашний роутер, принтер, NAS или статический IP на компьютере, то чаще всего именно эту маску вы и увидите.

Но это не значит, что /24 – единственно правильный вариант на все случаи жизни. Например, если администратор хочет разбить большую сеть на несколько маленьких подсетей, он может использовать /25, /26, /27 и так далее. А если, наоборот, устройств много, можно встретить и /23. Главное здесь не заучивать маски как стишок, а понимать сам принцип: чем больше единиц в префиксе, тем меньше сеть и тем меньше адресов доступно хостам.

Если дома у вас роутер сам все раздает по DHCP, то трогать маску руками обычно вообще не нужно. Пользователь с ней чаще сталкивается только тогда, когда прописывает статический IP вручную, чинит сеть или пытается понять, почему одно устройство не видит другое по локалке. Если вам как раз нужна тема локального доступа между компьютерами, вот полезная инструкция: как подключиться по локальной сети.

Частые ошибки новичков

  • Путают маску с IP-адресом. Маска не заменяет адрес и не выдается «вместо IP». Это отдельный параметр.
  • Думают, что маска передается в каждом IP-пакете. Нет, она хранится в настройках интерфейса, DHCP и таблицах маршрутизации.
  • Считают, что длина маски – это число нулей. Наоборот, это число единиц в префиксе.
  • Полагают, что шлюз всегда обязан быть .1. Очень часто это так, но это не закон природы.
  • Назначают устройству адрес сети или broadcast-адрес. В обычной сети так делать нельзя.
  • Берут маску «из интернета по совету», а не под задачу. В результате устройство оказывается не в той подсети и начинает «теряться» в локальной сети.

Если у вас дома не открываются настройки роутера, не виден NAS, принтер или другой компьютер, очень часто корень проблемы как раз в неправильной маске, IP или шлюзе. Поэтому полезно понимать хотя бы базовый набор: где посмотреть свои сетевые параметры, как сравнить адреса и как понять, кто с кем находится в одной подсети. Для быстрой практики может пригодиться еще и инструкция как узнать IP-адрес модема или роутера.

FAQ

Маска подсети и префикс /24 – это одно и то же?
Да. Запись /24 – это короткая CIDR-форма. Ей соответствует маска 255.255.255.0.

 

Можно ли использовать 255.255.255.255 как обычную домашнюю маску?
Для обычной домашней сети – нет. Запись /32 обычно означает один конкретный адрес, а не обычную локальную подсеть на несколько устройств.

 

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

 

Нужно ли обычному пользователю считать маски вручную?
Не всегда. Но понимать, что такое /24, где посмотреть маску и зачем она нужна, очень полезно. Это реально помогает при настройке роутеров, камер, принтеров и статических адресов.

 

Где маска используется чаще всего на практике?
В настройках сетевого адаптера, на роутерах, коммутаторах L3, серверах, DHCP и таблицах маршрутизации. Для бытового пользователя – чаще всего в свойствах IP-адреса на компьютере, телефоне или маршрутизаторе.

Видео

Автор статьи
Бородач 2862 статей
Сенсей по решению проблем с WiFiем. Обладатель оленьего свитера, колчана витой пары и харизматичной бороды. Любитель душевных посиделок за танками.
WiFiGid
Комментарии: 10
  1. Аноним

    За табличку спасибо, сохранил :oops:

  2. Рома

    Для чайника прям вроде понятно теперь стало) спасибо)

  3. Денис

    Я так ничего и не понял, для чего она вообще нужна :evil:

    1. Аноним

      Вероятно, для того, чтобы в одной физической сети организовать некоторое количество независимых сетей обмена…

  4. Аноним

    А если у меня 5.186.126.181 .НА телевизоре я должна написать толко 4 цивры

    1. Бородач (автор)

      Это внешний IP. Телевизор лучше подключать через роутер.

  5. Аноним

    как по маске подсети узнать провайдера?

    1. Бородач (автор)

      Не задавался таким вопросом. Можно попробовать на местных форумах у ребят поспрашивать. Главное написать город и район.

  6. Кристина

    Здравствуйте!
    255.255.255.0 какой второй адрес?
    Заранее спасибо за ответ!

    1. Бородач (автор)

      Это вы должны знать, какой второй.

Добавить комментарий
После отправки комментарий может не отображаться - это нормально. Сразу же после модерации он будет опубликован. Если Вы хотите быстро узнать о получении ответа, рекомендуем оставить свой e-mail (это необязательно). E-mail используется исключительно для Вашего оповещения, мы не занимаемся спамом.

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.