Как по айпи найти маску сети

  • Главная

  • Инструкции

  • Сети и безопасность

  • Маска подсети: что такое и как узнать по IP

В статье рассмотрим, что такое и зачем нужна маска подсети. А начнем с того, как устроены IP-адреса, потому что от понимания структуры айпи зависит и понимание назначения маски подсети.

IP можно назвать указателями, которые заключают в себе данные о расположении устройств в сетях, организованным по протоколам TCP/IP, по которым работает большинство хостов (устройств, подключенных к сети). Благодаря этим адресам данные, посылаемые через Интернет или по внутренним сетям, попадают куда нужно.

IP-адрес в формате протокола IPv4 представляет собой 4 числа, разделенные точками. При этом каждое число сетевые устройства воспринимают в виде двоичного кода. Например, 127.0.0.0 — это 01111111.00000000.00000000.00000000, а 192.168.0.111000000.10101000.00000000.00000001.

Интересный факт: люди могут не знать IP компьютера, за которым работают, но если у них дома есть роутер, они прекрасно знают адрес 192.168.0.1. Именно по нему доступны в сети большинство маршрутизаторов.

Минимально возможное значение для айпи — 0.0.0.0, максимальное — 255.255.255.255, потому что протокол IPv4 поддерживает только 32-битные числа или 256 значений на каждую из 4 частей IP-адреса. При этом ряд диапазонов уже зарезервированы: например, диапазон 127.0.0.0127.255.255.255 используется для интерфейсов типа localhost. Адрес 192.168.0.1 — тоже один из примеров зарезервированного IP.

Первые три числа часто представляют собой номер сети, а последнее — номер хоста, конкретного устройства в этой сети. Теперь понятно, что сеть 192.168.0 зарезервирована для внутренних номеров, а последняя единица означает первое устройство (хост) в подобной сети, то есть маршрутизатор. Поэтому-то адрес маршрутизатора вот такой: 192.168.0.1. А почему не 192.168.0.0? Дело в том, что 0 используется в качестве адреса сети, поэтому конкретные хосты он обозначать не может.

Что такое и для чего нужна маска подсети

Для настройки интернет-соединения по TCP/IP также требуется указать, помимо IP-адреса, и маску подсети. Все сети подразделяются на несколько классов, которые маркируются литерами A, B, C (есть еще D и E — это специальные сети). Сети класса A (самые крупные) имеют вид «сеть-хост-хост-хост», B — «сеть-сеть-хост-хост» и C — «сеть-сеть-сеть-хост».

Однако системные администраторы, чтобы обеспечить всех достаточным количеством адресов, разбивают сети соответствующего класса на более мелкие структуры — подсети. И для подсети, конечно же, нужно задать границы. Для этого как раз и используется маска подсети.

Обычная запись маски подсети в сетях класса C: 255.255.255.0. Если не совсем понятно в десятичном виде, давайте преобразуем ее в двоичный код: 11111111.11111111.11111111.00000000. Первые три октета (октет — группа из 8 бит) — наборы единиц, а последний — нули. В маске подсети единицы идентифицируют сетевую часть, а нули — хосты. Сетевая часть неизменна, а вот с самым правым октетом, заполненным нулями, можно работать.

Нетрудно подсчитать, что здесь у нас поместится 256 устройств, если поставить все возможные комбинации нулей и единиц. Однако на самом деле не 256, а 254, первое (0) и последнее (255) значения зарезервированы. Про 0 мы уже говорили: 0 является адресом сети (в данном случае подсети), а 255 используется в качестве широковещательного адреса.

Таким образом, маска подсети позволяет задать границы подсети, которые будут видеть маршрутизаторы. Понятно, что виды масок подсети зависят от классов сетей, для которых они используются. Например, самый распространенный вариант маски подсети для сетей класса B — 255.255.0.0, а для класса A — 255.0.0.0.

Какую маску подсети выбрать

Стандартный вариант маски для сетей класса C: 255.255.255.0. Но совершенно не обязательно оставлять её такой. Например, если в вашей сети около сотни компьютеров и расширения не планируется, нетрудно подсчитать, что понадобится только половина от доступных IP-адресов. Поэтому можно разделить сеть на две части, просто изменив маску, вот так: 255.255.255.128. Давайте посмотрим, как это будет выглядеть в двоичном коде: 11111111.11111111.11111111.10000000. Слева в правом октете появилась единица, то есть работать в этой сети теперь можно уже только со 128, а точнее, со 126 значениями (помним про идентификатор сети и широковещательный адрес).

Если же нам потребуется разделить сеть на 4 подсети, используем маску 255.255.255.192 или 11111111.11111111.11111111.11000000. Это позволит работать уже с 64 адресами. Для разбивки сетей на 8 подсетей маска уже будет иметь вид 255.255.255.224 или 11111111.11111111.11111111.11100000. Думаем, принцип вы поняли: отталкиваемся от количества хостов в нашей сети и соответствующим образом выставляем маску, чтобы не плодить лишних айпи.

Маски подсети в IPv6

Понятно, что протокола IPv4 с его 4 миллиардами адресов (точное число: 4 294 967 296 уникальных адресов, но помним про значительные диапазоны зарезервированных) уже не хватает. Поэтому для адресации стали использовать протокол IPv6, который поддерживает уже 128-битные значения (8 чисел в шестнадцатеричной системе счисления). Здесь количество возможных адресов неизмеримо больше, чем у протокола IPv4 (в 1028 раз), что абсолютно точно покроет все потребности человечества даже в не слишком обозримом будущем. Однако, поскольку шестнадцатеричный формат совершенно другой, то и маски подсетей здесь задаются по иным правилам.

Для построения сетей в рамках протокола IPv6 используется бесклассовая адресация, CIDR. Применение CIDR позволяет настраивать подсети значительно более гибко, так как этот метод делает возможным применять больше масок подсетей. В шестнадцатеричном формате каждая позиция может принимать значения от 0 до F (числа 0-9 и буквы A-F как раз дают последовательность из 16 символов). Поэтому, чтобы задать маску, используем F для сетевой части.

Например: ffff:ffff:ffff:ffff:ffff:ffff:ffff:0000. Такая маска позволит нам работать с 65536 адресами. А если нам нужно сократить количество адресов наполовину, то используем такой вариант: ffff:ffff:ffff:ffff:ffff:ffff:ffff:8000. Примерным соответствием маски для сети класса C (конечно, это не совсем корректно, так как классы в IPv6 отсутствуют, но сравнить с чем-то нужно для наглядности) здесь будет ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00. Эта запись позволит выделить 256 IP-адресов в формате IPv6. Почему именно такая запись? Всё просто: свободны два разряда в правой части. В каждом разряде у нас 16 возможных значений, следовательно: 16*16 = 256.

Как узнать адрес сети по IP-адресу и маске подсети

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

11000000 10101000 00000001 00000010
11111111 11111111 11111110 00000000
_________________________________
11000000 10101000 00000000 00000000

Приводим получившееся число к десятичному виду (задачу по переводу чисел в разные системы счисления вам облегчит этот калькулятор). Вуаля, вот и искомый адрес сети: 192.168.0.0. Как видите, ничего сложного: нужно только немного привыкнуть к двоичному виду чисел и битовым операциям.

Заключение

Итак, мы узнали о структуре IP-адреса, масках подсети в форматах IPv4 и IPv6 и научились изменять их под потребности своей сети. А еще освоили побитовое сложение для нахождения адреса сети по айпи и маске.

Определение адресных параметров сети по IP-адресу и префиксу

Для работы компьютера (ноутбука, смартфона и т.п.) в сети устройству присваивается IP-адрес. Как правило, вместе с информацией об адресе узла можно узнать и маску сети (или префикс). Маска сети указывает на количество бит в IP-адресе, отведенных под номер сети. Соответственно оставшиеся биты используются под номер узла. Маска и префикс — это разные записи одного и того же значения. Записывается только одно из них. В операционных системах Windows обычно используется маска, в операционных системах на основе Linux могут применяться оба варианта записи. Приведем пример.

Определение адресных параметров сети по IP-адресу и префиксу

Запись в левом столбце идентична записи в правом. Используется один из приведенных вариантов.

По информации об IP-адресе и префиксу можно определить параметры сети, а именно, IP-адрес сети, маску сети, широковещательный адрес сети, диапазон IP-адресов, предназначенных для адресации узлов (с первого адреса до последнего и их количество). Рассчитанные параметры могут понадобиться для добавления узла в существующую локальную сеть. Другие параметры, необходимые для работы в сети, такие как адрес шлюза и DNS-сервера (серверов) можно узнать из настроек сетевого адаптера.

Рассмотрим два примера для решения подобных задач.

Ⅰ Пример. IP-адрес узла и префикс:

10.0.0.10/25

Необходимо определить номер сети, маску сети, широковещательный адрес сети, диапазон и количество адресов.

Ход решения:

1. Переведем IP-адрес и префикс сети в двоичную систему счисления. Двоичный код адреса запишем первым, ниже запишем префикс. Число, обозначающее префикс показывает количество бит, отведенных под номер сети. В данном случае это 25 единиц, остальное нули (так как IP-адрес четвертой версии протокола IP состоит из 32 бит). В данном виде записывается маска в двоичной системе счисления. Биты адреса и префикса записываем на одной вертикальной линии.

Принимаем нумерацию бит справа налево. То есть самый правый бит нумеруем как первый, а самый левый как тридцать второй. Затем определим границу сети в соответствии с маской (по правую сторону от границы должны быть только нули, по левую сторону – только единицы), в данном случае граница сети проходит между восьмым и седьмым битами (под номер сети отводится 25 бит).

Определение адресных параметров сети по IP-адресу и префиксу

2. Определяем номер сети и маску сети. Для этого все биты, принадлежащие IP-адресу узла и находящиеся справа от границы сети, заменяем нулями, а те биты, что слева, – переписываем без изменений:

Определение адресных параметров сети по IP-адресу и префиксу

Переводим номер сети в десятичную систему счисления:

10.0.0.0.

Префикс записанный в первом пункте в двоичном коде также переводим в десятичную систему счисления и вычисляем маску сети:

255.255.255.128

3. Находим широковещательный адрес данной сети. Для этого все, что в номере сети находится слева от границы, записываем без изменений, а все, что справа, – заполняем единицами:

Определение адресных параметров сети по IP-адресу и префиксу

Переводим широковещательный адрес в десятичную систему счисления:

10.0.0.127.

4. Теперь необходимо определить диапазон и количество адресов узлов в сети. Нужно понимать, что нумерация сети состоит из непрерывного диапазона адресов. При этом самый первый адрес (не обязательно заканчивающийся на ноль) – это адрес сети, а самый последний – это широковещательный адрес сети (для групповой рассылки всем узлам сети). Соответственно адресация узлов каждой сети находится между этими двумя значениями. Таким образом, для того чтобы вычислить адрес первого узла в сети, необходимо к номеру сети прибавить единицу (10.0.0.1), а для того чтобы определить адрес последнего узла, – от широковещательного адреса сети отнять единицу (10.0.0.126). Получаем следующий диапазон адресов узлов:

10.0.0.1 – 10.0.0.126.

Таким образом, максимальное количество адресов в сети 10.0.0.0/25 составляет 126 (от 10.0.0.1 до 10.0.0.126).

Пример записи решения:

Определение адресных параметров сети по IP-адресу и префиксу

(1 строка – IP-адрес узла, 2 – номер сети, 3 – маска сети, 4 – широковещательный адрес сети)

Преобразуем все записи из двоичной системы счисления в десятичную:

Номер сети: 10.0.0.0

Маска: 255.255.255.128

Широковещательный IP-адрес: 10.0.0.127

Адрес первого узла в сети: 10.0.0.1

Адрес последнего узла в сети: 10.0.0.126

Количество адресов (максимально возможное количество узлов в данной сети) составляет 126 единиц.

Ⅱ Пример. IP-адрес узла и префикс:

3.0.3.110/20

Необходимо определить номер сети, маску сети, широковещательный адрес сети, диапазон и количество адресов.

Ход решения практически такой же, как и в первом примере. Но из-за того, что префикс сети менее 24, то могут возникнуть определенные сложности при вычислении, поэтому рассмотрим пример более подробно.

1. Переведем IP-адрес и префикс сети в двоичную систему счисления, Граница сети в соответствии с маской (по правую сторону от границы должны быть только нули, по левую сторону – только единицы) проходит между тринадцатым (13) и двенадцатым (12) битами (под номер сети отводится 20 бит):

Определение адресных параметров сети по IP-адресу и префиксу

2. Определяем номер сети. Для этого все биты, что находятся справа от границы сети, заменяем нулями, а те биты, что слева, – переписываем без изменений:

Определение адресных параметров сети по IP-адресу и префиксу

Переведём номер сети в десятичную систему счисления:

3.0.0.0

Префикс записанный в первом пункте в двоичном коде также переводим в десятичную систему счисления и вычисляем маску сети:

255.255.240.0

3. Определим широковещательный адрес данной сети. Для этого все, что слева от границы, записываем без изменений, как в номере сети, а все, что справа, – заполняем единицами:

Определение адресных параметров сети по IP-адресу и префиксу

Переводим в десятичную систему:

3.0.15.255

4. Определяем диапазон адресов узлов в сети. Для того чтобы вычислить адрес первого узла в сети, необходимо к номеру сети прибавить единицу (3.0.0.1), а для того чтобы определить адрес последнего узла, – от широковещательного адреса сети отнять единицу (3.0.15.254). Получаем следующий диапазон адресов узлов: 3.0.0.1 – 3.0.15.254. Таким образом, максимальное количество адресов в сети 3.0.0.0/20 составляет 4094.

Пример записи решения:

Определение адресных параметров сети по IP-адресу и префиксу

(1 – IP-адрес узла, 2 – номер сети, 3 – маска сети, 4 – номер адреса широкого вещания)

Номер сети: 3.0.0.0

Маска: 255.255.240.0

Номер адреса широкого вещания: 3.0.15.255

1-ый узел в сети: 3.0.0.1

Последний узел в сети: 3.0.15.254

Количество адресов (максимально возможное количество узлов в данной сети) составляет 4094 единиц.

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

3.0.0.1 – 3.0.0.255 (то есть 255 адресов)

При дальнейшем прибавлении единицы четвертый байт станет равным нулю и изменится третий байт, то есть

3.0.1.0

При третьем байте равным единицы, четвертый байт будет изменяться следующим образом

3.0.1.0 – 3.0.1.255 (то есть 256 адресов)

далее

3.0.2.0 – 3.0.2.255 (256 адресов)

и так далее

3.0.14.0 – 3.0.14.255 (256 адресов)

последний байт

3.0.15.0. – 3.0.15.254 (255 адресов)

Рассчитывая подобным образом получим общее число адресов

255+256*14+255=4094

То есть два диапазона – первый и последний (3.0.0.* и 3.0.15.*) имеют по 255 адресов.

Четырнадцать диапазонов (3.0.1.*, 3.0.2.*, 3.0.3.*, 3.0.4.*, 3.0.5.*, 3.0.6.*, 3.0.7.*, 3.0.8.*, 3.0.9.*, 3.0.10.*, 3.0.11.*, 3.0.12.*, 3.0.13.* и 3.0.14.*) по 256 адресов.

Распределение IP-сети на подсети описано в статье

С помощью нашего IP калькулятора вы можете вычислить ip адрес сети, широковещательный адрес, ip адрес первого узла (хоста), ip адрес последнего узла (хоста), количество рабочих узлов (хостов) в заданной сети, маску сети, обратную маску (wildcard mask) и сетевой префикс.

Все вычисления будут представлены в трёх системах счисления – десятичной, двоичной и шестнадцатеричной.

✓ Новый IP калькулятор подсетей

IP адрес:

Сетевая маска:

Удобный калькулятор подсетей с дополнительными функциями (добавляйте в закладки и делитесь с друзьями):

IP Калькулятор сети онлайн

Для определения сетевой маски удобно использовать так называемый декодер. Рассмотрим как вычислить маску подсети по IP. Но начнем с объяснения того как человек воспринимает числа записанные в десятичной системе счисления:

Возьмем число 4921 и разложим его на разряды десятичной системы счисления, т.е. 4 раза возьмем по 1000, 9 раз по 100, 2 раза по 10 и 1 раз по 1.

1000 100 10 1

4    9    2 1

Очевидно, что чтобы получить изначальное число нужно перемножить значение на разрядность и сложить все разряды

1000*4 + 100*9 + 10*2 + 1*1 = 4921

Вычисление маски подсети по заданному адресу

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

Перейдем к декодеру. Имеется IPv4 адрес, который представляет собой 4 октета, в каждом из которых 256 бита. Для октета, который рассматриваем или для каждого октета адреса записываем сам декодер:

128 64 32 16 8 4 2 1

Для примера запишем в двоичном виде адрес localhost 127.0.0.1. Декодер приведен 4 раза для каждого из 4х октетов. Под каждым октетом в соответствие значениям ставятся значения для взятого ip адреса.

128 64 32 16 8 4 2 1      128 64 32 16 8 4 2 1     128 64 32 16 8 4 2 1     128 64 32 16 8 4 2 1

0   1   1  1 1 1 1 1       0  0   0  0  0 0 0 0     0   0  0  0  0 0 0 0    0      0  0  0  0 0 0 1

127.0.0.1 является исключением, по нему хорошо видно как выставлять значения 1 и 0 в декодере.


Для демонстрации разделения на подсети 127.0.0.1 не подходит, при его использовании не останется бит под хост, все биты были бы отданы под маску сети.

Адрес относится к классу А, т.е. под сеть выделяется 8 первых бит, остальное под хост — вычислять здесь ничего не требуется.


Для других адресов может оказаться полезным соотношение двух числовых рядов:

Декодер:

128  64  32  16   8  4   2   1

Маска:
128 192 224 240 248 252 254 255

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

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

Прежде всего запишем декодер

Декодер
128  64  32  16   8  4   2   1

Фактически имеем следующее значение, которое хотим отдать под сеть:

1    1   1   1    1  0   0   0

Перемножаем 1 и 0 со значениями декодера и складываем то, что получилось

128+64+32+16+8+0+0+0=248 — это искомая нестандартная маска (ее можно взять из стандартного ряда — 248 соответствует последней единице в ряде бит октета)

Биты для маски могут выделяться только слева направо непрерывно, в другой репрезентации 255.255.255.0 будет /8, что означает последовательные 8 бит отданные под маску.

Для адресов класса В стандартная маска /16 или 255.255.0.0, для класса С — /24 255.0.0.0

Если под сеть отданы все биты в октете — маска 255

Мы разобрали как вычислить маску подсети по IP. Читайте также про классовую и бесклассовую адресацию ipv4

Содержание

  • 1 Определение маски подсети по ip на ОС Windows
  • 2 Как определить маску подсети по ip адресу на Macos и Ubuntu?
  • 3 Как узнать маску подсети по ip-адресу в интернете?

Часто при настройке локальной или внешней сети необходимо узнать не только ip адрес, но и маску подсети. Учитывая, что существует три класса подсетей и огромное количество настроек, то иногда зная маску подсети, знаешь, к какому классу она относится.

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

Определение маски подсети по ip на ОС Windows

  • Способ 1: Вам нужно зайти в меню «Пуск», в строке поиска написать команду «CMD» и нажать клавишу «Enter».

Откроется окно терминала, где вам нужно ввести команду «ipconfig» и вновь нажать клавишу «Enter», после чего откроется список всех ваших сетевых подключений.

В этом списке вы увидите и ваш ip адрес и, соответственно, маску подсети.

  • Способ 2: Заходите в Панель управленияСеть и ИнтернетСетевые подключения, выбираете ваше подключение и кликом правой кнопкой мыши переходите в графу «Состояние».

В открывшемся окне кликните по клавише «Сведения». Откроется новое окно вашего подключения, где будут указаны ваш ip и маска подсети.

Еще один способ узнать маску подсети по ip адресу: кликните по значку подключения в правом нижнем углу монитора и выберите «Центр управления сетями». Затем кликните в открывшемся окне «Изменение параметров адаптера» и дальше действуете аналогично вышеописанному варианту: начиная с выбора вашего подключения.

Как определить маску подсети по ip адресу на Macos и Ubuntu?

Но что делать, если у вас другая операционная система?

  • Операционная система Macos: Кликаете по эмблеме яблока в левом верхнем углу и выбираете вкладку «System Preferences», а затем выбираете вкладку «Network» (обычно изображена в виде серого шара).

В открывшемся окне выберите ваш метод подключения и кликните по значку «Connected» Как видите, открылось окно, в котором указаны ваш ip адрес и маска подсети.

  • Операционная система Linux Ubuntu: Зайдите в строку поиска, введите слово «Терминал» и запустите программу, кликнув по значку терминала левой кнопкой мыши.

Откроется окно консоли, в которой вы должны будете ввести команду «ifconfig», затем нажмите клавишу «Enter». В списке вы увидите ваш ip и маску подсети.

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

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

В открывшемся окне введите ваш ip адрес и нажмите на кнопку «Подсчитать»:через несколько секунд система выдаст нужный вам результат.

  • Распечатать

Оцените статью:

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1

(24 голоса, среднее: 3.6 из 5)

Поделитесь с друзьями!

Добавить комментарий