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

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

  1. Твоямамка Ответить

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

    Прежде всего, вычислить сетевую маску зная только IP адрес нельзя. Вопрос актуален при делении сети на подсети если исходная маска известна и требуется задать новую.
    Перейдем к декодеру. Имеется IPv4 адрес, который представляет собой 4 октета, в каждом из которых 256 бита. Для октета, который рассматриваем или для каждого октета адреса записываем сам декодер:
    128 64 32 16 8 4 2 1
    Для примера запишем в двоичном виде адрес localhost 127.0.0.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     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 потому, что в этом случае не останется бит под хост, все биты были бы отданы под маску.
    Адрес относится к классу А, т.е. под сеть выделяется 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

  2. Cordadi Ответить

    Чуточку ликбеза. Навеяно предшествующими копипастами разной чепухи на данную тему. Уж простите, носинг персонал.
    IP-адрес (v4) состоит из 32-бит. Любой уважающий себя админ, да и вообще айтишник (про сетевых инженеров молчу) должен уметь, будучи разбуженным среди ночи или находясь в состоянии сильного алкогольного опьянения, правильно отвечать на вопрос «из скольки бит состоит IP-адрес». Желательно вообще-то и про IPv6 тоже: 128 бит.
    Обстоятельство первое. Всего теоретически IPv4-адресов может быть:
    232 = 210*210*210*22 = 1024*1024*1024*4 ? 1000*1000*1000*4 = 4 млрд.
    Ниже мы увидим, что довольно много из них «съедается» под всякую фигню.
    Записывают IPv4-адрес, думаю, все знают, как. Четыре октета (то же, что байта, но если вы хотите блеснуть, то говорите «октет» — сразу сойдете за своего) в десятичном представлении без начальных нулей, разделенные точками: «192.168.11.10».
    В заголовке IP-пакета есть поля source IP и destination IP: адреса источника (кто посылает) и назначения (кому). Как на почтовом конверте. Внутри пакетов у IP-адресов нет никаких масок. Разделителей между октетами тоже нет. Просто 32-бита на адрес назначения и еще 32 на адрес источника.
    Однако, когда IP-адрес присваивается интерфейсу (сетевому адаптеру или как там его еще называют) компьютера или маршрутизатора, то кроме самого адреса данного устройства ему назначают еще и маску подсети. Еще раз: маска не передается в заголовках IP-пакетов.
    Компьютерам маска подсети нужна для определения границ — ни за что не угадаете чего — подсети. Чтоб каждый мог определить, кто находится с ним в одной [под]сети, а кто — за ее пределами. (Вообще-то можно говорить просто «сети», часто этот термин используют именно в значении «IP-подсеть».) Дело в том, что внутри одной сети компьютеры обмениваются пакетами «напрямую», а когда нужно послать пакет в другую сеть — шлют их шлюзу по умолчанию (третий настраиваемый в сетевых свойствах параметр, если вы помните). Разберемся, как это происходит.
    Маска подсети — это тоже 32-бита. Но в отличии от IP-адреса, нули и единицы в ней не могут чередоваться. Всегда сначала идет сколько-то единиц, потом сколько-то нулей. Не может быть маски
    120.22.123.12=01111000.00010110.01111011.00001100.
    Но может быть маска
    255.255.248.0=11111111.11111111.11111000.00000000.
    Сначала N единиц, потом 32-N нулей. Несложно догадаться, что такая форма записи является избыточной. Вполне достаточно числа N, называемого длиной маски. Так и делают: пишут 192.168.11.10/21 вместо 192.168.11.10 255.255.248.0. Обе формы несут один и тот же смысл, но первая заметно удобнее.
    Чтобы определить границы подсети, компьютер делает побитовое умножение (логическое И) между IP-адресом и маской, получая на выходе адрес с обнуленными битами в позициях нулей маски. Рассмотрим пример 192.168.11.10/21:
    11000000.10101000.00001011.00001010
    11111111.11111111.11111000.00000000
    ———————————————-
    11000000.10101000.00001000.00000000 = 192.168.8.0
    Обстоятельство второе. Любой уважающий себя администратор обязан уметь переводить IP-адреса из десятичной формы в двоичную и обратно в уме или на бумажке, а также хорошо владеть двоичной арифметикой.
    Адрес 192.168.8.0, со всеми обнуленными битами на позициях, соответствующих нулям в маске, называется адресом подсети. Его (обычно) нельзя использовать в качестве адреса для интерфейса того или иного хоста. Если же эти биты наоборот, установить в единицы, то получится адрес 192.168.15.255. Этот адрес называется направленным бродкастом (широковещательным) для данной сети. Смысл его по нынешним временам весьма невелик: когда-то было поверье, что все хосты в подсети должны на него откликаться, но это было давно и неправда. Тем не менее этот адрес также нельзя (обычно) использовать в качестве адреса хоста. Итого два адреса в каждой подсети — на помойку. Все остальные адреса в диапазоне от 192.168.8.1 до 192.168.15.254 включительно являются полноправными адресами хостов внутри подсети 192.168.8.0/21, их можно использовать для назначения на компьютерах.
    Таким образом, та часть адреса, которой соответствуют единицы в маске, является адресом (идентификатором) подсети. Ее еще часто называют словом префикс. А часть, которой соответствуют нули в маске, — идентификатором хоста внутри подсети. Адрес подсети в виде 192.168.8.0/21 или 192.168.8.0 255.255.248.0 можно встретить довольно часто. Именно префиксами оперируют маршрутизаторы, прокладывая маршруты передачи трафика по сети. Про местонахождение хостов внутри подсетей знает только шлюз по умолчанию данной подсети (посредством той или иной технологии канального уровня), но не транзитные маршрутизаторы. А вот адрес хоста в отрыве от подсети не употребляется совсем.
    Обстоятельство третье. Количество хостов в подсети определяется как 232-N-2, где N — длина маски. Чем длиннее маска, тем меньше в ней хостов.
    Из данного обстоятельства в частности следует, что максимальной длиной маски для подсети с хостами является N=30. Именно сети /30 чаще всего используются для адресации на point-to-point-линках между маршрутизаторами.
    И хотя большинство современных маршрутизаторов отлично работают и с масками /31, используя адрес подсети (нуль в однобитовой хоствой части) и бродкаст (единица) в качестве адресов интерфейсов, администраторы и сетевые инженеры часто попросту боятся такого подхода, предпочитая руководствоваться принципом «мало ли что».
    А вот маска /32 используется достаточно часто. Во-первых, для всяких служебных надобностей при адресации т. н. loopback-интерфейсов, во-вторых, от криворукости: /32 — это подсеть, состоящая из одного хоста, то есть никакая и не сеть, в сущности. Чем чаще администратор сети оперирует не с группами хостов, а с индивидуальными машинами, тем менее сеть масштабируема, тем больше в ней соплей, бардака и никому непонятных правил. Исключением, пожалуй, является написание файрвольных правил для серверов, где специфичность — хорошее дело. А вот с пользователями лучше обращаться не индивидуально, а скопом, целыми подсетями, иначе сеть быстро станет неуправляемой.
    Интерфейс, на котором настроен IP-адрес, иногда называют IP-интерфейсом или L3-интерфейсом («эл-три», см. Модель OSI).
    Прежде чем посылать IP-пакет, компьютер определяет, попадает ли адрес назначения в «свою» подсеть. Если попадает, то шлет пакет «напрямую», если же нет — отсылает его шлюзу по умолчанию (маршрутизатору). Как правило, хотя это вовсе необязательно, шлюзу по умолчанию назначают первый адрес хоста в подсети: в нашем случае 192.168.8.1 — для красоты.
    Обстоятельство четвертое. Из сказанного в частности следует, что маршрутизатор (шлюз и маршрутизатор — это одно и то же) с адресом интерфейса 192.168.8.1 ничего не знает о трафике, передаваемом между, например, хостами 192.168.8.5 и 192.168.8.7. Очень частой ошибкой начинающих администраторов является желание заблокировать или как-то еще контролировать с помощью шлюза трафик между хостами в рамках одной подсети. Чтобы трафик проходил через маршрутизатор, адресат и отправитель должны находиться в разных подсетях.
    Таким образом в сети (даже самого маленького предприятия) обычно должно быть несколько IP-подсетей (2+) и маршрутизатор (точнее файрвол, но в данном контексте можно считать эти слова синонимами), маршрутизирующий и контролирующий трафик между подсетями.
    Следующий шаг — разбиение подсетей на более мелкие подсети. Полюбившуюся нам сеть 192.168.8.0/21 можно разбить на 2 подсети /22, четыре подсети /23, восемь /24 и т. д. Общее правило, как не сложно догадаться, такое: K=2X-Y, где K — количество подсетей с длиной маски Y, умещающихся в подсеть с длиной маски X.
    Обстоятельство пятое. Как и любому приличному IT-шнику, администратору сети, если только он получает зарплату не за красивые глаза, положено знать наизусть степени двойки от 0 до 16.
    Процесс объединения мелких префиксов (с длинной маской, в которых мало хостов) в крупные (с короткой маской, в которых много хостов) называется агрегацией или суммаризацией (вот не суммированием!). Это очень важный процесс, позволяющий минимизировать количество информации, необходимой маршрутизатору для поиска пути передачи в сети. Так, скажем, провайдеры выдают клиентам тысячи маленьких блоков типа /29, но весь интернет даже не знает об их существовании. Вместо этого за каждым провайдером закрепляются крупные префиксы типа /19 и крупнее. Это позволяет на порядки сократить количество записей в глобальной таблице интернет-маршрутизации.
    Обстоятельство шестое. Чем больше длина маски, тем меньше в подсети может быть хостов, и тем большую долю занимает «съедение» адресов на адреса подсети, направленного бродкаста и шлюза по умолчанию. В частности в подсети с маской /29 (232-29 = 8 комбинаций) останется всего 5 доступных для реального использования адресов (62,5%). Теперь представьте, что вы провайдер, выдающий корпоративным клиентам тысячи блоков /29. Таким образом, грамотное разбиение IP-пространства на подсети (составление адресного плана) — это целая маленькая наука, включающая поиск компромиссов между разными сложными факторами.
    При наличии достаточно большого диапазона адресов, как правило из блоков для частного использования 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16, конечно, удобно использовать маски, совпадающие по длине с границами октетов: /8, /16, /24 или, соответственно, 255.0.0.0, 255.255.0.0 и 255.255.255.0. При их использовании можно облегчить работу мозгу и калькулятору, избавившись от необходимости работать с двоичной системой и битами. Это правильный подход, но не стоит забывать, что злоупотребление расслабухой редко доводит до добра.
    И последнее. Пресловутые классы адресов. Дорогие товарищи, забудьте это слово вообще! Совсем. Вот уже скоро 20 лет (!), как нет никаких классов. Ровно с тех пор, как стало понятно, что длина префикса может быть любой, а если раздавать адреса блоками по /8, то никакого интернета не получится.
    Иногда «матерые специалисты» любят блеснуть словами «сеть класса такого-то» по отношению к подсети с той или иной длиной маски. Скажем, часто можно услышать слово «сеть класса C» про что-нибудь вроде 10.1.2.0/24. Класс сети (когда он был) не имел никакого отношения к длине маски и определялся совсем другими факторами (комбинациями битов в адресе). В свою очередь классовая адресация обязывала иметь маски только предписанной для данного класса длины. Поэтому указанная подсеть 10.1.2.0/24 никогда не принадлежала и не будет принадлежать к классу C.
    Но обо всем этом лучше и не вспоминать. Единственное, что нужно знать — что существуют разные глобальные конвенции, собранные под одной крышей в RFC3330, о специальных значениях тех или иных блоков адресов. Так, например, упомянутые блоки 10/8, 172.16/12 и 192.168/16 (да, можно и так записывать префиксы, полностью откидывая хостовую часть) определены как диапазоны для частного использования, запрещенные к маршрутизации в интернете. Каждый может использовать их в частных целях по своему усмотрению. Блок 224.0.0.0/4 зарезервирован для мультикаста и т. д. Но все это лишь конвенции, призванные облегчить административное взаимодействие. И хотя лично я крайне не рекомендую вам их нарушать (за исключением надежно изолированных лабораторных тестов), технически никто не запрещает использовать любые адреса для любых целей, покуда вы не стыкуетесь с внешним миром.

  3. Androlis Ответить

    В процессе вычисления сетей, при подготовке к CCNA, я выявил интересную закономерность, на основе которой можно быстро вычислять адрес сети, а так же ее широковещательный адрес без особых усилий. Этот метод я ранее в литературе не встречал.
    Итак, мы имеем произвольный IP адрес – 192.170.175.83/13 и наша 1 задача вычислить адрес сети, для этого мы посмотрим на второй октет, так как именно он содержит как сетевую так и хостовую часть. На хостовую часть во втором октете отводится 3 бита, что дает нам 8 (2^3) изменяемых хостовых адресов в данном октете, т.е. каждая подсеть в данном октете будет содержать 8 изменяемых адресов. Теперь мы разделим представленное в третьем октете число на количество изменяемых адресов – 170/8 = 21.25, в результате деления мы получили номер искомой подсети – 21 (дробная часть нас ясное дело не интересует). Зная номер подсети, и количество изменяемых адресов в ней мы можем вычислить ее адрес, для этого 21 * 8 = 168. Итого – адрес сети будет 192.168.0.0.
    Задача №2 – вычислить широковещательный адрес, для этого мы к 168 прибавим количество изменяющихся адресов и вычтем единицу: 168 + 8 – 1 = 175, следовательно, широковещательный адрес данной подсети 192.175.255.255.
    И по поводу последних двух октетов в моем примере – если маска в октете нулевая, то в адресе сети он всегда будет равен 0, и широковещательный адрес всегда будет равен 255.
    PS: Если данный метод ранее кому то встречался – просьба дать ссылку.

  4. Omega Ответить

    Использование:
    Для того, чтобы рассчитать сетевые параметры, укажите IP-адрес хоста и маску подсети.
    Справочная информация для IPv4:
    Адреса зарезервированные для особых целей:
    Подсеть
    Назначение
    0.0.0.0/8
    Адреса источников пакетов “этой” (“своей”) сети, предназначены для локального использования на хосте при создании сокетов IP. Адрес 0.0.0.0/32 используется для указания адреса источника самого хоста.
    10.0.0.0/8
    Для использования в частных сетях.
    127.0.0.0/8
    Подсеть для коммуникаций внутри хоста.
    169.254.0.0/16
    Канальные адреса; подсеть используется для автоматического конфигурирования адресов IP в случает отсутствия сервера DHCP.
    172.16.0.0/12
    Для использования в частных сетях.
    100.64.0.0/10
    Для использования в сетях сервис-провайдера.
    192.0.0.0/24
    Регистрация адресов специального назначения.
    192.0.2.0/24
    Для примеров в документации.
    192.168.0.0/16
    Для использования в частных сетях.
    198.51.100.0/24
    Для примеров в документации.
    198.18.0.0/15
    Для стендов тестирования производительности.
    203.0.113.0/24
    Для примеров в документации.
    240.0.0.0/4
    Зарезервировано для использования в будущем.
    255.255.255.255
    Ограниченный широковещательный адрес.
    Зарезервированные адреса, которые маршрутизируются глобально.
    Подсеть
    Назначение
    192.88.99.0/24
    Используются для рассылки ближайшему узлу. Адрес 192.88.99.0/32 применяется в качестве ретранслятора при инкапсуляции IPv6 в IPv4 (6to4)
    224.0.0.0/4
    Используются для многоадресной рассылки.
    Маски и размеры подсетей
    Маска подсети
    Префикс, бит
    Количество подсетей
    Количество хостов
    Количество адресов
    Класс подсети
    128.0.0.0
    /1
    2147483646
    2147483648
    А
    192.0.0.0
    /2
    1073741822
    1073741824
    А
    224.0.0.0
    /3
    536870910
    536870912
    А
    240.0.0.0
    /4
    268435454
    268435456
    А
    248.0.0.0
    /5
    134217726
    134217728
    А
    252.0.0.0
    /6
    67108862
    67108864
    А
    254.0.0.0
    /7
    33554430
    33554432
    А
    255.0.0.0
    /8
    16777214
    16777216
    А
    255.128.0.0
    /9
    8388606
    8388608
    B
    255.192.0.0
    /10
    4194302
    4194304
    B
    255.224.0.0
    /11
    2097150
    2097152
    B
    255.240.0.0
    /12
    1048574
    1048576
    B
    255.248.0.0
    /13
    524286
    524288
    B
    255.252.0.0
    /14
    262142
    262144
    B
    255.254.0.0
    /15
    131070
    131072
    B
    255.255.0.0
    /16
    65534
    65536
    B
    255.255.128.0
    /17
    2
    32766
    32768
    C
    255.255.192.0
    /18
    4
    16382
    16384
    C
    255.255.224.0
    /19
    8
    8190
    8192
    C
    255.255.240.0
    /20
    16
    4094
    4096
    C
    255.255.248.0
    /21
    32
    2046
    2048
    C
    255.255.252.0
    /22
    64
    1022
    1024
    C
    255.255.254.0
    /23
    128
    510
    512
    C
    255.255.255.0
    /24
    256
    254
    256
    C
    255.255.255.128
    /25
    2
    126
    128
    C
    255.255.255.192
    /26
    4
    62
    64
    C
    255.255.255.224
    /27
    8
    30
    32
    C
    255.255.255.240
    /28
    16
    14
    16
    C
    255.255.255.248
    /29
    32
    6
    8
    C
    255.255.255.252
    /30
    64
    2
    4
    C
    255.255.255.254
    /31
    2*
    2
    C
    255.255.255.255
    /32
    1*
    1
    C

  5. moscow Ответить

    Маска подсети
    Префикс маски
    Двоичная запись маски
    0.0.0.0
    /0
    00000000.00000000.00000000.00000000
    128.0.0.0
    /1
    10000000.00000000.00000000.00000000
    192.0.0.0
    /2
    11000000.00000000.00000000.00000000
    224.0.0.0
    /3
    11100000.00000000.00000000.00000000
    240.0.0.0
    /4
    11110000.00000000.00000000.00000000
    248.0.0.0
    /5
    11111000.00000000.00000000.00000000
    252.0.0.0
    /6
    11111100.00000000.00000000.00000000
    254.0.0.0
    /7
    11111110.00000000.00000000.00000000
    255.0.0.0
    /8
    11111111.00000000.00000000.00000000
    255.128.0.0
    /9
    11111111.10000000.00000000.00000000
    255.192.0.0
    /10
    11111111.11000000.00000000.00000000
    255.224.0.0
    /11
    11111111.11100000.00000000.00000000
    255.240.0.0
    /12
    11111111.11110000.00000000.00000000
    255.248.0.0
    /13
    11111111.11111000.00000000.00000000
    255.252.0.0
    /14
    11111111.11111100.00000000.00000000
    255.254.0.0
    /15
    11111111.11111110.00000000.00000000
    255.255.0.0
    /16
    11111111.11111111.00000000.00000000
    255.255.128.0
    /17
    11111111.11111111.10000000.00000000
    255.255.192.0
    /18
    11111111.11111111.11000000.00000000
    255.255.224.0
    /19
    11111111.11111111.11100000.00000000
    255.255.240.0
    /20
    11111111.11111111.11110000.00000000
    255.255.248.0
    /21
    11111111.11111111.11111000.00000000
    255.255.252.0
    /22
    11111111.11111111.11111100.00000000
    255.255.254.0
    /23
    11111111.11111111.11111110.00000000
    255.255.255.0
    /24
    11111111.11111111.11111111.00000000
    255.255.255.128
    /25
    11111111.11111111.11111111.10000000
    255.255.255.192
    /26
    11111111.11111111.11111111.11000000
    255.255.255.224
    /27
    11111111.11111111.11111111.11100000
    255.255.255.240
    /28
    11111111.11111111.11111111.11110000
    255.255.255.248
    /29
    11111111.11111111.11111111.11111000
    255.255.255.252
    /30
    11111111.11111111.11111111.11111100
    255.255.255.254
    /31
    11111111.11111111.11111111.11111110
    255.255.255.255
    /32
    11111111.11111111.11111111.11111111

Добавить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *