Маска сети — что это. Как с ее помощью определить IP-адрес узла
Содержание:
IP-адрес сети
Чтобы корректно настроить сетевой протокол TCP/IP, «Виндовс» необходимы IP-адрес, маска сети и шлюз по умолчанию. Пользователь может сделать это вручную, но предварительно нужно представить принцип создания айпи и его разделения на сети и подсети. IP-адрес — это номер, который присваивают любому устройству в сети TCP/IP (хосту). Он уникален, состоит из 32 бит, и в десятичном исчислении выглядит как, например, 192.164.122.116. Это произвольное число, и в нашей статье мы будем им оперировать для наглядности. Преобразуем его в двоичное выражение в виде четырех октетов 11000000.10100100.01110000.01110100. Для понимания того, что является маской сети, нам необходимо именно двоичное представление числа.
Глобальной сети WAN при регулировании передачи данных не нужно знать, где именно находится конечный хост, которому предназначена конкретная информация. Маршрутизаторам достаточно сведений об адресе ЛВС , где расположено устройство. После получения пакета данных локалка сама перенаправляет его определенному хосту.
Маска адреса сети
Принцип организации передачи информации заложен в IP-адресе. Если взять наш пример 192.164.122.116, то 192.164.122.0 — это адрес сети, а 0.0.0.116 — адрес хоста. Но граница между этими адресами плавающая. То есть одинаковый айпи в десятичном выражении 192.164.122.116 может принадлежать двум разным компьютерам (или другим устройствам) в различных локалках. Чтобы в этом разобраться, рассмотрим снова адрес в двоичном выражении — 11000000.10100100.01110000.01110100. Это может указывать на сеть 11000000.10100100.01110000 с узлом 01110100. Или же ЛВС 11000000.10100100 с хостом 01110000.01110100. Чтобы точно понять, где адрес сети, а где — узла, применяют маску сети (подсети).
Это — не отдельный айпи, а инструкция, позволяющая правильно прочитать IP-адрес. Если применяется к IPv4, то содержит также 32 бит, к IPv6 — 128 бит. При выражении маски сети в двоичном исчислении сначала идут единицы, затем — нули. Перемешивания чисел не допускается, т. к. «1» указывают на адрес ЛВС, «0» — на адрес хоста. Например, маска 11111111.11111111.11110000.00000000 в десятичном выражении выглядит как 255.255.240.0. Переведя IP-адрес в двоичное исчисление, мы поймем, где адрес локалки, а где — конкретного устройства.
Внимание! Маска не может выглядеть как 11111111.11111111.11110100.00000000 или 255.255.244.0, т. к. всегда сначала идут единицы, а затем — нули.
Префикс маски подсети
Для удобства применяют префикс маски. Он вычисляется просто — складывают все первые единички. В вышеуказанном примере префикс составляет 20. Поэтому наш IP-адрес можно записать как 192.164.122.116/20. Расшифруем. В двоичном выражении 11000000.10100100.01110000.01110100 первые 20 цифр будут адресом сети, оставшиеся 12 укажут на хост. По маске можно понять, сколько возможных айпи входит в ЛВС. Если, например, префикс 21, то на хост приходится 11 цифр. 2¹¹ = 2048. 2 адреса уберем, т. к. они используются под свои цели. Получаем 2046 возможных адресов.
Сети и их классы
Большую ЛВС в организации обычно делят на подсети, причем формально между ними и сетями нет никаких различий. Такой подход удобен системному администратору. В каждой подсети возможно применять разные сетевые архитектуры и технологии. Например, подключение в одной организовано через Ethernet, в другой — WiFi, в третьей — Token Ring и т. д. Все локалки коммуницируют между собой. Внутри ЛВС для передачи данных используют широковещательный трафик, что позволяет снизить нагрузку на каналы связи. В этом случае запросы не идут через маршрутизатор, а отсылаются от одного устройства всем хостам в составе конкретной локалки. Если же пользователю необходимо выйти в интернет, то сигнал проходит уже через роутер. Как раз маска сети и помогает определить, какие хосты размещены в одной подсети, а какие — в других. Когда устройство пытается связаться с другим узлом, оно сравнивает его маску и айпи со своим. Если оно понимает, что хост расположен в локальной подсети, то передает сведения напрямую. Если же узел размещен в удаленной сети, то компьютер отправляет информацию на маршрутизатор (шлюз по умолчанию, назначенный в свойствах TCP/IP). И роутер уже отвечает за дальнейшее движение пакета.
Классы сетей
Все IP-адреса разделены на классы, каждому из которых присвоена своя маска подсети. За это отвечает организация InterNIC. Чаще всего используют ЛВС класса A, B и C:
- Сегменту A отведена маска 255.0.0.0. В I октете применяются значения от 0 до 127. Пример класса A — 48.33.56.12.
- Сегмент B использует маску 255.255.0.0. В I октете находятся значения в интервале 128—191. Пример класса B — 182.43.56.24.
- Сегмент C работает с маской 255.255.255.0. В I октете используются значения от 192 до 223. Пример класса C — 192.168.118.13.
Также имеются классы D и E, но для работы обычных пользователей они не применяются.
Как образовать подсети с помощью маски
Как пример возьмем ситуацию, когда ЛВС, которую обслуживает системный администратор, размещена в 3 разных населенных пунктах, и все три части объединены маршрутизатором TCP/IP. Каждая из подсетей состоит из 40 узлов. Выделена локалка класса C, например, 192.164.122.0. Сисадмин может использовать айпи с 192.164.122.1 по 192.164.122.254 (2⁸-2=254, т. к. маска сети сегмента C предоставляет только 8 цифр для адреса узла).
Внимание! Адреса типа 192.164.122.0 и 192.164.122.255 не используются. Первый служит для определения локалки, без конкретизации устройства. Второй служит для доставки информации каждому хосту. Поэтому начальное и конечное значение айпи в любой ЛВС либо подсети нельзя присваивать конкретному устройству.
Теперь необходимо присвоить айпи 254 хостам. При нахождении всех 120 устройств в одной локалке распределить адреса между ними очень просто. Но в нашем примере узлы размещены в 3 отдельных физических сетях. Сисадмин может запросить дополнительные айпи, но есть и более практичный вариант — разделить ЛВС на подсети и грамотно распределить выделенный диапазон. Посмотрим, как это делается.
Первым делом необходимо разбить локалку на 4 подсети при помощи маски сети. Для этого как бы заимствуем биты из диапазона адресов узлов и за счет них увеличим сетевой адрес. Применим маску не 255.255.255.0, а 255.255.255.192. В двоичном исчислении последнее выражение выглядит как 11111111.11111111.11111111.11000000. Для хоста остается 6 нулей, а 2⁶-2=62 адреса. То есть новая маска разделит локалку 192.164.122.0 на 4 подсети:
- 00000000;
- 01000000;
- 10000000;
- 11000000.
В каждой подсети можно подключить по 62 устройства.
Подсети | Адреса подсетей в десятичном выражении | Допустимые адреса | В IV октете нельзя использовать |
---|---|---|---|
00000000 | 192.164.122.0 | 192.164.122.1—62 | 192.164.122.0 192.164.122.63 |
01000000 | 192.164.122.64 | 192.164.122.65—126 | 192.164.122.64 192.164.122.127 |
10000000 | 192.164.122.128 | 192.164.122.129—190 | 192.164.122.128 192.164.122.191 |
11000000 | 192.164.122.192 | 192.164.122.193—254 | 192.164.122.192 192.164.122.255 |
Как пример возьмем 2 адреса хостов — 192.164.122.83 и 192.164.122.216. Если сисадмин применяет маску 255.255.255.0, то оба айпи принадлежат сети 192.164.122.0. Если же работает маска 255.255.255.192, то эти два IP-адреса размещены в разных подсетях — 192.164.122.64 и 192.164.122.192.
Чтобы компьютеры и другие устройства имели беспрепятственную связь друг с другом внутри ЛВС и через маршрутизатор, необходимо при ручной настройке протокола TCP/IP корректно указывать маску подсети, IP-адрес и шлюз по умолчанию.
Заключение
Если у вас возникли дополнительные вопросы по использованию маски сети, обратитесь в компанию «АйТи Спектр» по телефону или через форму обратной связи. Мы предоставим вам грамотную консультацию, а также поможем с администрированием сетей.
Если я знаю айпи, могу ли я узнать по нему маску сети?
Нет. Маску используют только для того, чтобы определить, в какую подсеть входит конкретный IP-адрес. Она не является частью заголовков айпи-пакетов, поэтому таким способом узнать ее не получится.
Что будет, если я укажу неправильную маску сети или ее префикс? Ошибусь в одной цифре или вообще проставлю одни нули?
Все очень просто — при неправильном указании маски вы будете наблюдать постоянные перебои со связью между устройствами. Если проставите одни нули, то компьютер посчитает, что все айпи являются локальными и даже не будет делать попыток выйти во внешний интернет. То же и с префиксом. Неверное значение покажет компьютеру, что соседний хост в этой же локалке является внешним, и он будет подключаться к нему через маршрутизатор.
Спасибо за разъяснение того, что такое маска сети, и зачем ее используют. А то везде пишут, что нужна при настройке протокола, а что именно она делает, не говорят. По крайней мере, я не встречал…
А я, пока разбиралась с темой, научилась двоичные числа в десятичные переводить. И наоборот. Подзабылись уже школьные знания, пришлось углубляться в тему. И, как оказалось, ничего страшного. Сразу все поняла и в этих исчислениях, и в ваших объяснениях.
А где можно найти значение маски?
Откройте командную консоль и используйте ipconfig. После того, как нажмете «Энтер», система выдаст необходимую информацию о настройках IP-протокола, где в числе прочих значений будет и маска подсети.
Вот именно так, как вы описали, я и разбил одну локалку на несколько подсетей (работаю сисадмином). Знающие люди когда-то подсказали, и это сильно облегчило мне работу. Я развел все устройства так, как мне удобно, и теперь легко устраняю разные противоречия, которые иногда все же возникают между узлами.