Андрей Смирнов
Время чтения: ~20 мин.
Просмотров: 0

Ipv4 калькулятор подсетей

Подсети в IPv4

Процесс деления предполагает разделение сети на несколько подсетей с определенным количеством адресов под хосты.

Определение префикса сети

Маска подсети в IPv4 состоит из 32 битов, непрерывной последовательности единиц (1), за которой следует непрерывная последовательность нулей (0). В маске подсети не может стоять единица после нуля.

Двоичная формаТочечно-десятичная нотация
IP-адрес
Маска подсети
Сетевой префикс
Адрес хоста (часть IP)

Сетевой префикс (адрес сети) вычисляется побитовой операцией И между IP адресом и маской. И даёт единицу только когда оба операнда равны единице.

Подсчёт количества подсетей

Создание подсетей предполагает увеличение маски сети на несколько бит.

Двоичной формеТочечно-десятичная нотация
IP-адрес
Маска подсети
Сетевой префикс
Адрес хоста

(без префикса)

В примере выше маска подсети была увеличена на 2 бита, создавая тем самым 4 (22) возможных подсетей:

СетьСеть (двоичный)Широковещательный адрес

Общая формула: N=2n{\displaystyle N=2^{n}}, где N — количество подсетей, а n — маска сети в нотации CIDR делённая по модулю 8 (или просто количество добавленных бит к маске).

Подсчёт количества адресов для хостов в подсети

Количество возможных хостов в сети могут быть легко вычислены по формуле 232−n−2{\displaystyle 2^{32-n}-2} , где n — маска сети в нотации CIDR.
Биты маски подсети, равные нулю, отведены под адреса хостов. В приведённом выше примере маска подсети состоит из 26 бит, оставшиеся 6 бит могут быть использованы для идентификаторов хостов. Это позволяет создать сеть на 62 хоста (26−2).

Значения из одних нулей и значения из одних единиц зарезервированы для адреса сети и широковещательного адреса соответственно. Или другими словами первый и последний адрес подсети. Поэтому при подсчёте числа хостов надо вычитать 2 из общего числа доступных адресов.

Например, для маски /27 могут использоваться 8 подсетей. Каждый первый IP-адрес в подсети (.0, .32, .64, .224), то есть адрес сети, и каждый последний IP-адрес в подсети (.31, .63, .95, .255), то есть широковещательный адрес, зарезервированы, соответственно для каждой сети доступно только 30 адресов (c .1 по .30, с .33 по .62, с.65 по .94,  с .225 по .254).

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

Размер префикса в битахМаска сетиДоступно

подсетей

Доступно адресов для хостовВсего хостов на все подсети
/241254254
/252126252
/26462248
/27830240
/281614224
/29326192
/30642128
/311282 *256

*применимо только для соединений точка-точка

Специальные адреса и подсети

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

Подсети ноль и «все единицы»

У первой подсети все биты адреса сети, следующие после префикса маршрутизации, равны нулю (0). Поэтому её еще называют» нулевой подсетью. Последняя подсеть, соответственно, состояла из единиц и получила название «all-ones», или «все единицы».

IP адреса

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

Сейчас есть 2-е версии протокола IP: версия IPv4 и IPv6. Основное отличие между версиями протоколов в длине IP адреса. В IPv4 длина адреса 4 байта, а в IPv6 длина адреса 16 байт.

Длина адреса IPv4 — 32 бита, 4 байта. И чтобы людям было удобно работать с такими IP адресами их делят на 4 части.

В каждой части по 8 бит, такая часть называется октет. Каждый октет записывают в десятичном формате, и форма записи IP адреса следующая: четыре октета разделенных точкой (213.180.193.3). С таким видом деления адресов людям гораздо удобнее работать, чем с записью в двоичной форме длиной в 32 бита.

IP-адреса и IP-сети

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

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

И маршрутизаторы, устройства передающие информацию на сетевом уровне, работают уже не с отдельными IP адресами, а с подсетями.

Структура IP адреса

Наш IP адрес состоит из 2 частей:

  1. номер подсети — старшие биты IP адреса.
  2. номер компьютера в сети (хост) — младшие биты IP адреса.

Рассмотрим пример:

  • IP-адрес: первые три октета (213.180.193.3) это адрес сети. Последний октет это адрес хоста (3).
  • Адрес подсети записываем: 213.180.193.0
  • Номер хоста: 3 (0.0.0.3).

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

Как по IP адресу узнать, где адрес сети, а где адрес хоста. Для этого используется Маска подсети. Маска также, как IP адрес состоит из 32 бит, и она устроена следующим образом: там где в IP адресе находится номер сети маска содержит 1, а там где указан номер хоста 0. 

Подробный пример разобран в видео на 4:50 минуте.

Есть два способа указать маску подсети. Десятичное представление в виде префикса.В десятичном представление маска записывается в формате похожем на формат IP адреса. 32 разделенные на 4 октета по 8 бит и каждый из этих 8 бит переведены в десятичное представление, они записываются через точку.

Маска в десятичном представление выглядит так 255.255.255.0

Другой формат записи маски в виде префикса. В этом случае указывается, сколько первых бит IP адреса относится к адресу сети, а всё остальное, считается, что относится к адресу хоста.

Префикс записывается через  слэш (/).

213.180.193.3/24 это означает что первые 24 бита, то есть 3 октета относится к адресу к сети, а последний октет к адресу хоста.

Оба эти представления эквивалентны. Если мы запишем маску подсети в десятичном виде, либо виде префикса, мы получаем одинаковый адрес подсети.

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

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

Подробный пример на видео выше на минуте 8:20.

Расчет подсети:

Вы не указали достаточно информации для подсчета подсети для
этой сети; как правило, вы создаете подсети путем перераспределения
некоторых битов хоста в виде сетевых битов для каждой подсети.
Много раз нет ни одного правильного пути для подсети блока … в
зависимости от ваших ограничений может существовать несколько
допустимых способов подсети в блоке адресов.

Предположим, что мы разделим 128.42.0.0/21 на 4 подсети, которые
должны содержать не менее 100 хостов каждый …

В этом примере мы знаем, что вам нужен хотя бы префикс/25,
содержащий 100 хостов; Я выбрал a/24, потому что он попадает на
границу октета

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

Поиск необходимой маски подсети подсети или сетевой маски:

Как я узнал, что мне нужно как минимум 25 маску для 100 хостов?
Вычислите префикс, обратившись к числу хост-бит, который должен
содержать 100 хостов. Нужно 7 хостов, чтобы содержать 100 хостов.
Официально это рассчитывается с:

Host bits = Log2(Number-of-hosts) =
Log2(100) = 6.643

Поскольку адреса IPv4 имеют ширину в 32 бита, и мы используем
биты хоста (то есть младшие значащие биты), просто вычитаем 7 из
32, чтобы вычислить префикс минимальной подсети для каждой подсети
… 32 — 7 = 25.

Ленточный способ разбить 128.42.0.0/21 на четыре равные
подсети:

Поскольку нам нужно всего четыре подсети из всего блока
128.42.0.0/21, мы могли бы использовать/23 подсети. Я выбрал/23,
потому что нам нужны 4 подсети … т. Е. Добавлены еще два бита,
добавленные в сетевую маску.

Это равноправный ответ на ограничение, используя/23 подсети из
128.42.0.0/21 …

Назначьте статический IP-адрес в Windows 10

В большинстве случаев IP-адреса для компьютеров или компьютеров автоматически настраиваются на протокол динамической конфигурации хоста (DHCP) соответствующим маршрутизатором. Это полезно, поскольку устройства подключаются к вашей сети мгновенно. Вы избавляете себя от необходимости вручную настраивать IP-адрес для каждого нового устройства. Однако с этим процессом связан один недостаток: время от времени IP-адрес устройства может меняться.

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

Мы увидим три способа сделать это:

  1. Через панель управления
  2. Через настройки Windows
  3. Использование PowerShell.

1] Установка статического IP-адреса через панель управления

Щелкните правой кнопкой мыши значок сети (или Wi-Fi), видимый на панели задач Windows 10.

В списке из 2-х вариантов выберите последний — Открыть настройки сети и Интернета.

Перейдите в настройки Wi-Fi и немного прокрутите вниз, чтобы найти раздел Связанные настройки . Найдя его, нажмите на ссылку Изменить параметры адаптера .

Мгновенно откроется отдельное окно, которое направит вас в раздел «Сетевые подключения» панели управления.

Щелкните правой кнопкой мыши сетевое соединение, для которого нужно установить статический IP-адрес, и выберите параметр Свойства ‘.

После этого выберите Протокол Интернета версии 4 (TCP/IPv4) на вкладке Сеть и нажмите кнопку Свойства .

Переключите селектор на « Использовать следующий IP-адрес ».

Теперь введите данные в следующие поля, соответствующие настройкам вашей сети.

  1. IP-адрес (найдите его с помощью команды ipconfig /all )
  2. Маска подсети (в домашней сети это 255.255.255.0)
  3. Шлюз по умолчанию (это IP-адрес вашего маршрутизатора.)

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

Если все выглядит хорошо, нажмите кнопку «ОК» и закройте окно свойств сетевого адаптера.

2] Назначить статический IP-адрес через настройки

Нажмите значок «Настройки» и выберите вкладку Сеть и Интернет .

Выберите Wi-Fi> Текущее соединение, т. Е. Сеть, к которой вы подключены.

Прокрутите страницу вниз до раздела настроек IP и нажмите кнопку Изменить .

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

Включите тумблер IPv4 .

Теперь установите статический IP-адрес. Также установите длину префикса подсети (маска подсети). Если ваша маска подсети 255.255.255.0, то длина префикса подсети в битах равна 24.

После этого настройте адрес шлюза по умолчанию, предпочитаемый адрес DNS и сохраните изменения.

3] Назначение статического IP-адреса через PowerShell

Откройте Powershell от имени администратора и введите следующую команду, чтобы просмотреть текущую конфигурацию сети:

 Get-NetIPConfiguration 

После этого запишите следующую информацию:

  1. InterfaceIndex
  2. IPv4-адрес
  3. IPv4DefaultGateway
  4. DNSServer.

После этого введите следующую команду, чтобы установить статический IP-адрес, и нажмите Enter.

 New-NetIPAddress -InterfaceIndex 15 -IPAddress 192.168.29.34 -PrefixLength 24 -DefaultGateway 192.168.29.1. 

Теперь измените DefaultGateway на адрес шлюза по умолчанию в вашей сети. Обязательно замените номер InterfaceIndex на номер, соответствующий вашему адаптеру, а IPAddress — на IP-адрес, который вы хотите назначить устройству.

Когда закончите, введите следующую команду, чтобы назначить адрес DNS-сервера и нажмите Enter.

 Set-DnsClientServerAddress -InterfaceIndex 4 -ServerAddresses 10.1.2.1 

Сохраните изменения и выйдите.

Надеюсь, это поможет.

Маршрутизатор и шлюз подсети.

Наверное, лучше повторить: шлюз и маршрутизатор — это одно и то же!

Из того, о чём говорилось только что, следует достаточно ясный вывод. Маршрутизатор с адресом интерфейса 192.168.8.1 ничего не знает о трафике, передаваемом, например, между хостами 192.168.8.5 и 192.168.8.7.

У начинающих администраторов одна из самых типичных ошибок — желание заблокировать или как-то иначе проконтролировать с помощью шлюза трафик между хостами в одной подсети. На самом деле, чтобы трафик проходил через маршрутизатор, адресат и отправитель должны находиться в разных подсетях.

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

Важный следующий шаг: разбиение подсетей на более мелкие подсети.

Сеть из нашего примера 192.168.8.0/21 можно разбить на две подсети /22, четыре подсети /23, восемь /24 и так далее. Общее правило, как можно догадаться, такое:

K=2X-Y,

при этом K — количество подсетей с длиной маски Y, которые умещаются в подсеть с длиной маски X.

Как узнать основной шлюз для локальной сети

Для доступа компьютера к локальной сети используется множество параметров, наиболее важными из которых являются ip адрес, маска подсети и основной шлюз.

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

Для чего нужен основной шлюз в локальной сети?

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

Стоит отметить, что компьютеры при этом могут использовать разные протоколы связи (например, локальные и глобальные), которые предоставляют доступ к локальной или глобальной сети, соответственно.

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

При этом формирование IP адреса роутера (или выполняющего его роль ПО) напрямую зависит от адреса сетевого шлюза.

Таким образом, адрес основного шлюза фактически представляет собой IP адрес интерфейса устройства, с помощью которого осуществляется подключение компьютера к локальной сети

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

Иными словами, если при подключении к любому устройству в сети указать его IP адрес вручную, то трафик пойдет напрямую, без участия шлюза. В остальных случаях пакеты данных сперва попадают в «сортировочный центр» сети — основной шлюз, откуда потом благополучно рассылаются конечным устройствам.

— Значительное улучшение эффективности IP-маршрутизации. При этом для соединения с функциональными узлами других сегментов сети все узлы TCP/IP опираются на хранящуюся в основных шлюзах информацию. Соответственно, отдельные шлюзы в большой локальной сети не загружаются лишними данными, что существенно улучшает скорость обмена информацией между компьютерами.

— При наличии в сети нескольких интерфейсов (в частном случае — подключение на компьютере нескольких сетевых карт) для каждого из них может настраиваться свой шлюз «по умолчанию». При этом параметры соединения рассчитываются автоматически, и приоритет отправки трафика на свой основной шлюз получает наиболее быстрый сетевой интерфейс.

Как узнать основной шлюз для локальной сети?

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

1. Посмотреть основной шлюз можно с помощью специальной команды ipconfig /all (о которой мы также рассказывали в статье как узнать ip адрес компьютера).

Для этого зайдите запустите окно командной строки (на на windows 7 «Пуск -> Все программы -> Стандартные -> Командная строка), введите ipconfig /all и нажмите клавишу Enter.

Нужный параметр здесь указан в строке «Основной шлюз».

2. Чтобы найти маску подсети и основной шлюз непосредственно в настройках маршрутизатора на любом подключенном к сети компьютере:

  • — откройте интернет-браузер;
  • — в адресной строке введите 192.168.1.1 (статический IP адрес маршрутизатора, проверить который можно на сервисной этикетке устройства, — в большинстве случаев это и есть искомый основной шлюз локальной сети) и нажмите клавишу Enter;
  • — введите аутентификационные данные (при заводских настройках в большинстве случаев — admin/admin);
  • — на странице основной информации об устройстве проверьте данные об установленном сетевом шлюзе.

3. Кроме того, узнать основной шлюз роутера можно в настройках активного сетевого соединения на компьютере. Для этого:

— в трее кликните правой кнопкой мыши по значку «подключение по сети»;

— перейдите в раздел контекстного меню «Состояние»

— в открывшемся окне зайдите во вкладку «Поддержка» и посмотрите строку «Основной шлюз».

Как узнать основной шлюз провайдера?

Основной шлюз для подключения к интернету можно также узнать из настроек маршрутизатора. Для этого зайдите в веб-интерфейс устройства (аналогично второму пункту данной инструкции) и на главной странице посмотрите нужную информацию.

Маска ip адреса, адрес подсети.

Владение двоичной арифметикой обязательно для любого профессионального администратора. Нужно уметь безошибочно переводить 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

Когда маршрутизатор прокладывает в сети маршруты для передачи трафика, он оперирует именно префиксами.

Как ни странно, он не интересуется местонахождением хостов внутри подсетей. Об этом знает только шлюз по умолчанию конкретной подсети (технологии канального уровня могут отличаться).

Главное: в отрыве от подсети адрес хоста не используется совсем.

Выбор маски для подсети

Если n{\displaystyle n} — количество компьютеров в подсети, округлённое до ближайшей большей степени двойки, и n⩽254{\displaystyle n\leqslant 254} (для сетей класса C), то маска подсети вычисляется по следующей формуле: 28−n−2{\displaystyle 2^{8}-n-2}, где двойка вычитается, так как один IP-адрес (первый в задаваемом маской диапазоне) является IP-адресом подсети и ещё один IP-адрес (последний в задаваемом маской диапазоне) является широковещательным адресом (для отправки данных всем узлам подсети). Для n>254{\displaystyle n>254} будет другая формула.

Пример: в некой подсети класса C есть 30 компьютеров; маска для такой сети вычисляется следующим образом:

28 - 30 - 2 = 224 = E0h;
маска: 255.255.255.224 = 0xFF.FF.FF.E0.

Длина маски подсети.

Количество хостов в подсети определяется как 232-N-2, при этом N — длина маски.

Логичный вывод: чем длиннее маска, тем меньше в ней хостов.

Ещё один полезный логический вывод: максимальной длиной маски для подсети с хостами будет N=30.

Именно сети /30 чаще всего используют для адресации на point-to-point-линках между маршрутизаторами.

Большинство маршрутизаторов сегодня отлично работает и с масками /31, используя адрес подсети (нуль в однобитовой хостовой части) и бродкаст (единица) в качестве адресов интерфейсов. Однако администраторы и сетевые инженеры иногда просто боятся такого подхода, согласно проверенному принципу «мало ли что».

А вот *маска IP-адреса* /32 используется гораздо чаще. С ней удобно работать, во-первых, при адресации так называемых loopback-интерфейсов. Во-вторых, практически невозможно ничего напутать: /32 — это подсеть, состоящая из одного хоста, то есть по сути никакая и не сеть.

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

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

Интерфейс, на котором настроен IP-адрес, иногда могут называть IP-интерфейсом или L3-интерфейсом («эл-три», тема «модель OSI»).

До того как послать IP-пакет, компьютер определяет, попадёт ли адрес назначения в «свою» подсеть. Если ответ положительный, то он шлёт пакет «напрямую», если отрицательный — направляет его шлюзу по умолчанию, то есть маршрутизатору.

Адресом шлюза по умолчанию обычно назначают первый адрес хоста в подсети, хотя это и вовсе не обязательно. В нашем примере адрес шлюза 192.168.8.1 — для красоты.

Поиск минимальной сетевой маски, которая содержит два IP-адреса:

Предположим, кто-то дает нам два IP-адреса и ожидает, что мы найдем самую длинную сетевую маску, содержащую их оба; например, что, если бы у нас было:

  • 128.42.5.17
  • 128.42.5.67

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

В этом случае минимальная сетевая маска будет /25

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

Агрегация.

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

Есть такой процесс, называемый агрегацией. Это значит объединение мелких префиксов — с длинной маской подсети, в которых мало хостов — в крупные, с короткой маской подсети, в которых много хостов. Второе название этого же процесса — суммаризация. Запомните, не суммирование!

Агрегация необходима, чтобы минимизировать количество информации, которую использует маршрутизатор для поиска пути передачи в сети.

Пример: провайдеры выдают клиентам множество маленьких блоков по типу /29. При этом весь остальной Интернет об этом даже не подозревает. За каждым провайдером закреплены префиксы намного крупнее — от /19 и выше. Благодаря такой системе в Глобальную таблицу Интернет-маршрутизации заносится намного меньше записей: их число сократилось на несколько порядков.

Маска ip адреса общие понятия.

IP-адрес (v4) состоит из 32-бит. Это можно взять в рамочку, как в школьных учебниках. Желательно запомнить и про IPv6 тоже: 128 бит.

Теоретически IPv4-адресов может быть: 232 = 210*210*210*22 = 1024*1024*1024*4 ≈ 1000*1000*1000*4 = 4 млрд.

Всего 4 миллиарда. Но дальше будет рассмотрено, сколько из них не используется, грубо говоря, съедается.

Как записывается IPv4-адрес? Он состоит из четырёх октетов и записывается в десятичном представлении без начальных нулей, октеты разделяются точками: например, «192.168.11.10».

Если что, октет — это ровно то же самое, что байт. Но если вы скажете «октет» в среде профессионалов, они вас сразу зауважают и вам легче будет сойти за своего.

В заголовке IP-пакета есть поля «source IP» и «destination IP». Это адреса источника: кто посылает и назначения: кому отправлено. Почти как на почтовом конверте. Внутри пакетов у IP-адресов нет никаких масок, и разделителей между октетами тоже нет. Просто 32 бита для адреса назначения и еще 32 для адреса источника.

Однако, когда IP-адрес присваивается интерфейсу — ещё говорят, сетевому адаптеру — компьютера или маршрутизатора, то, кроме самого адреса этого устройства, ему присваивают еще и маску подсети.

Можно повторить, это важно: *маска IP-адреса* НЕ передается в заголовках 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-адреса.

Само понятие «классы адресов», о котором нет-нет да и приходится читать/слышать, давно устарело. Уже больше 20 лет назад выяснилось, что длина префикса может быть любой. Если же раздавать адреса блоками по /8, то никакого Интернета не получится. Итак: «классов адресов» не существует!

Другой, мягко говоря, странный термин. Иногда говорят «сеть класса такого-то» по отношению к подсети с той или иной длиной маски. Например, «сеть класса C» про 10.1.2.0/24. или что-то подобное. Знайте, так никогда не скажет серьёзный специалист. Класс сети, когда он ещё существовал, не имел отношения к длине маски и определялся совсем другими факторами — а именно комбинациями битов в адресе. Если классовая адресация использовалась, то длина масок тоже была строго регламентирована. Каждому классу соответствовали маски только строго определённой длины. Хотя бы поэтому подсеть 10.1.2.0/24, как в примере, никогда не принадлежала и не могла принадлежать к классу C.

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

В них блоки 10/8, 172.16/12 и 192.168/16 (написание сокращённое) определяются как диапазоны для частного использования, запрещённые к маршрутизации в интернете. Другими словами, каждый может использовать их по своему усмотрению, в частных целях.

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

Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации