Приветствую, коллеги! Меня зовут @ProstoKirReal Мне бы хотелось с вами обсудить как работает интернет от кабелей на витой паре, соединяющие простые локальные сети до подводных коммуникационных кабелей соединяющие между собой континенты и основные операторские сети.

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

Рекомендую, перед прочтением, ознакомится с предыдущей статьей: Сложно о простом. Как работает интернет. Часть 1. Что такое коммутатор, маршрутизатор и примеры работы простых сетей

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

Я буду часто ссылаться к предыдущим статьям, где уже описывал сетевые протоколы. Это позволит мне сократить объемный текст. 

❯ Зачем нужна эта статья?

Данная статья нужна нам для того, чтобы разобраться в базовых знаниях и разобрать:

  • что такое сеть, подсеть, маска подсети;

  • что такое сегментация сети с помощью маски, VLAN;

  • примеры работы сети с разделением на сегменты.

❯ Что такое сеть, подсеть и маска подсети?

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

Подсеть (subnet) — это часть более крупной сети. Она позволяет логически разделять сеть на меньшие сегменты, чтобы уменьшить трафик и повысить безопасность. Например, в офисе можно создать подсети для отделов: бухгалтерия, ИТ, ИБ, HR.

Маска подсети — это параметр, определяющий, какая часть IP-адреса относится к сети, а какая — к хосту.

Пример:

  • IP-адрес: 192.168.1.10;

  • маска подсети: 255.255.255.0.

Маска подсети указывает, что первые три октета (192.168.1) — это адрес сети, а последний (10) — идентификатор устройства.

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

Если смотреть на IP-адрес слева направо, то сначала идет адрес сети до определенного символа, а затем адрес хоста. Граница перехода является плавающей и настраивается с помощью маски.

Одинаковые с виду IP-адреса могут оказаться адресами разных компьютеров в разных сетях.

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

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

IP-адрес и маска подсети
IP-адрес и маска подсети

Если перевести маску 11111111.11111111.11111111.00000000 в десятичную систему, то получится число 255.255.255.0, которое мы указываем в настройках сетевой карточки. Иногда мы говорим, что это 24-я маска, или в некоторых настройках IP-адреса вводим префикс /24. Это, простыми словами, означает количество единиц в маске: сначала идут 24 единицы, а затем 8 нулей.

❯ Почему IP-адреса так выглядят?

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

Пример перевода в двоичный формат:

  • число 0 → 00000000;

  • число 1 → 00000001;

  • число 2 → 00000010;

  • число 3 → 00000011;

    ...

  • число 255 → 11111111.

Каждый IP-адрес состоит из четырех частей, называемых октетами. Октет — это 8 бит, или 8 нулей и единиц.

Логика изменения чисел:

  • при увеличении значения на 1, изменяется младший бит;

  • если младший бит уже равен 1, изменяется следующий более старший бит.

Например:

  • число 3: 00000011;

  • число 4: 00000100.

Всего в одном октете может быть 256 значений: от 0 до 255.

❯ Как связаны IP-адрес и маска подсети?

Чтобы понять, какая часть IP-адреса относится к сети, а какая — к хосту, IP-адрес и маска подсети переводятся в двоичный вид.

Пример для 192.168.1.0/24:

  • IP-адрес: 11000000.10101000.00000001.00000000

  • маска:11111111.11111111.11111111.00000000

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

❯ Сегментация сети: зачем она нужна и как работает

Сегментация сети — это процесс разделения сети на логические или физические части. Основные причины сегментации:

1.     Уменьшение трафика. В сегментированной сети пакеты данных отправляются только в нужный сегмент, а не ко всем устройствам;

2.     Сокращение широковещательного трафика. Повышаем производительность всей сети, путем сокращения широковещательных пакетов (ARP, DHCP) в сегментах сети;

3.     Повышение безопасности. Чувствительные данные можно изолировать в отдельном сегменте (Wi-Fiгостевой сети отделить от всей остальной сети);

4.     Упрощение управления. Легче управлять небольшими подсетями, чем одной большой сетью;

5.     Построение независимой логической сети. Логическая структура сети не зависит от физической структуры;

6.     Повышение эффективности общей сети. В совокупности всех факторов, повышается эффективность всей сети.

Пример

В компании используются две подсети:

  • 192.168.1.0/24 — для отдела разработки;

  • 192.168.2.0/24 — для отдела продаж.

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

❯ Как разделить сеть на подсети?

Предположим, что нам выделили одну сеть — 192.168.1.0/24, но её необходимо разделить на несколько независимых подсетей.

Для этого нужно изменить префикс маски. Маска подсети определяет, как делится диапазон адресов на части.
Сеть можно представить как круг, который мы делим на части с помощью маски подсети.

Например, в сети 192.168.1.0/24 есть 256 адресов (от 0 до 255).

Если требуется разделить эту сеть на 4 независимые подсети, каждая из которых содержит по 60 адресов, нужно разделить 256 адресов на 4 равные части.

Результат:

  • первая подсеть: от 0 до 63;

  • вторая подсеть: от 64 до 127;

  • третья подсеть: от 128 до 191;

  • четвертая подсеть: от 192 до 255.

Каждая подсеть состоит из 64 адресов. Теперь нужно определить префикс маски для этих диапазонов.

Диапазон адресов при маске подсети /26
Диапазон адресов при маске подсети /26

❯ Определение маски подсети

Адреса подсетей в двоичном виде:

От 0 до 63 это:

  • число 0 →   00|000000;

  • число 1 →   00|000001;

    ...

  • число 63 → 00|111111.

От 64 до 127 это:

  • число 64 →   01|000000;

  • число 65 →   01|000001;

    ...

  • число 127 → 01|111111.

От 128 до 191 это:

  • число 128 → 10|000000;

  • число 129 → 10|000001;

    ...

  • число 191 → 10|111111.

От 192 до 255 это:

  • число 192 → 11|000000;

  • число 193 → 11|000001;

    ...

  • число 255 → 11|111111.

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

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

  • два старших бита фиксируются для определения подсети, а 6 младших бит используются для адресов внутри подсети;

  • это соответствует маске /26, где 26 бит — часть сети, а оставшиеся 6 бит — для хостов.

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

Правила деления сети

В сети 192.168.1.0/24 можно разделить адреса следующим образом:

  • на 2 части (/25) — по 128 адресов в каждой подсети;

  • на 4 части (/26) — по 64 адреса;

  • на 8 частей (/27) — по 32 адреса;

  • на 16 частей (/28) — по 16 адресов;

  • на 32 части (/29) — по 8 адресов;

  • на 64 части (/30) — по 4 адреса.

Дальнейшее деление невозможно, так как маска /31 оставляет только 2 адреса: один для сети и один для широковещательной рассылки. Уникальных адресов для устройств не остается.

❯ Формула расчета адресов

Количество доступных адресов в подсети можно рассчитать по формуле:
2^n - 2, где n — количество бит, оставшихся для хостов.

Пример:

  • для маски 255.255.255.192 (или /26) остается 6 бит на адреса;

  • всего: 26=6426=64 адреса;

  • из них:

    • один адрес используется для обозначения подсети (192.168.1.0);

    • один адрес зарезервирован для широковещательной рассылки (192.168.1.63).

Таким образом, доступно 62 адреса для хостов.

❯ Разберем пример работы на коммутаторах

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

В нашей сети есть несколько компьютеров:

  • 192.168.0.1/26 — из сети 192.168.0.0;

  • 192.168.0.2/26 — из сети 192.168.0.0;

  • 192.168.0.65/26 — из сети 192.168.0.64;

  • 192.168.0.66/26 — из сети 192.168.0.64.

Поведение коммутатора:

  • коммутатор на уровне 2 (канальный уровень) не анализирует IP-адреса или маски. Он работает с MAC-адресами и будет передавать трафик между портами, основываясь на своей таблице MAC-адресов;

  • при широковещательном ARP-запросе, он будет передаваться каждому компьютеру в общей сети.

Если компьютер 192.168.0.1/26 захочет обменяться пакетами с хостом (конечным устройством) 192.168.0.2/26, то между ними произойдет ARP и ICMP обмен без проблем, так как эти устройства находятся в одной подсети.

Передача запрос/ответа в одной подсети
Передача запрос/ответа в одной подсети

Но если компьютер 192.168.0.1/26 захочет обменяться пакетами с хостом 192.168.0.66/26, то ARP-запрос поступит на этот узел, но ARP-ответа не будет, так как 192.168.0.66/26 находится в другой подсети.

Передача ARP-запроса из разных подсетей невозможна
Передача ARP-запроса из разных подсетей невозможна

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

❯ А что, если в нашей сети будут IP-адреса из разных подсетей?

В нашей сети есть несколько компьютеров:

  • 192.168.0.1/24 — из сети 192.168.0.0;

  • 192.168.0.2/24 — из сети 192.168.0.0;

  • 192.168.0.65/26 — из сети 192.168.0.64;

  • 192.168.0.66/26 — из сети 192.168.0.64.

Обзор ситуации:

  • компьютеры с маской /24 (255.255.255.0) считают, что вся сеть 192.168.1.0 - 192.168.1.255 является одной подсетью;

  • компьютеры с маской /26 (255.255.255.192) интерпретируют ту же сеть как четыре отдельных подсети:

    • 192.168.1.0 - 192.168.1.63;

    • 192.168.1.64 - 192.168.1.127;

    • 192.168.1.128 - 192.168.1.191;

    • 192.168.1.192 - 192.168.1.255.

Из-за этого компьютеры с разными масками «видят» разные границы сети и могут по-разному интерпретировать, куда направлять трафик.

Поведение сети

Обмен данными между устройствами с одинаковыми масками:

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

  • то же самое относится к компьютерам с маской /26, если они находятся в одном и том же диапазоне подсети (например, оба находятся в диапазоне 192.168.1.0 - 192.168.1.63).

Обмен данными между устройствами с разными масками:

  • если компьютер 192.168.0.1/24 пытается отправить данные устройству 192.168.0.65/26, он будет считать это устройство частью своей подсети и отправит пакет напрямую (через ARP-запрос);

  • однако компьютер с маской 192.168.0.65/26, интерпретируя свою подсеть, может считать, что отправитель находится в другой подсети. В этом случае он будет ожидать маршрут через шлюз. Если шлюз не настроен или отсутствует, связь не состоится.

Поведение коммутатора:

  • коммутатор на уровне 2 (канальный уровень) не анализирует IP-адреса или маски. Он работает с MAC-адресами и будет передавать трафик между портами, основываясь на своей таблице MAC-адресов;

  • коммутатор не сможет предотвратить конфликтов из-за разной интерпретации подсетей на устройствах.

❯ Возможные проблемы

  1. Проблемы с доступностью узлов. Устройства с разными масками могут не видеть друг друга или неправильно направлять пакеты.

  2. ARP-конфликты:

    • устройства с маской /24 могут отправлять ARP-запросы на весь диапазон адресов 192.168.1.0 - 192.168.1.255, что приведет к ненужному трафику;

    • устройства с маской /26 будут игнорировать запросы, если считают отправителя из другой подсети.

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

  4. Сложности диагностики. Администратору будет сложно понять, почему некоторые устройства не видят друг друга.

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

❯ Что такое VLAN

VLAN (Virtual Local Area Network) — это технология, которая позволяет разделять устройства на разные логические сегменты внутри одной физической сети. Основное назначение VLAN — повышение безопасности, улучшение управляемости и оптимизация трафика в локальных сетях.

Пример использования VLAN

На коммутаторе можно создать VLAN для бухгалтерии, присвоив ему ID 10, и VLAN для IT с ID 20. Устройства в разных VLAN не видят друг друга, даже если они физически подключены к одному коммутатору. Это позволяет изолировать данные и уменьшить количество широковещательного трафика.

Основные преимущества VLAN

1.     Изоляция трафика. Устройства в разных VLAN не могут обмениваться данными без маршрутизации через Layer 3 устройства (маршрутизаторы или L3-коммутаторы).

2.     Безопасность. VLAN предотвращают случайный или намеренный доступ устройств из других сегментов сети.

3.     Оптимизация. Разделение на VLAN уменьшает нагрузку на сеть, так как широковещательные запросы остаются внутри VLAN.

4.     Гибкость. Устройства можно объединять в одну VLAN, даже если они подключены к разным физическим коммутаторам (при наличии транковых  соединений).

Технология 802.1Q

IEEE 802.1Q — это стандарт для тегирования кадров Ethernet, используемый для идентификации VLAN. Когда кадр проходит через коммутатор с поддержкой VLAN, в его заголовок добавляется специальный тег 802.1Q. Подробнее о структуре такого пакета я говорил в этой статье.

Взаимодействие VLAN через магистральные (транковые) порты

Для передачи трафика нескольких VLAN между коммутаторами используются магистральные порты. Магистральный порт помечает каждый кадр тегом 802.1Q, чтобы принимающая сторона знала, к какой VLAN он принадлежит. Это позволяет устройствам из одной VLAN, находящимся на разных коммутаторах, общаться друг с другом.

Пример: если два коммутатора соединены магистральным портом, и у обоих настроены VLAN с ID 10 и 20, то устройства VLAN 10 на первом коммутаторе смогут взаимодействовать с устройствами VLAN 10 на втором.

Внедрение и настройка VLAN

Процесс настройки VLAN обычно включает следующие шаги:

  • создание VLAN на коммутаторе и присвоение ей уникального идентификатора (ID);

  • назначение портов VLAN, в том числе выбор типа порта — access или trunk;

  • настройка транковых портов для взаимодействия VLAN между коммутаторами;

  • конфигурирование маршрутизации между VLAN (если требуется обмен данными между сегментами).

Примеры использования VLAN

1.     Сегментация сети по отделам. Бухгалтерия, ИТ, HR — каждое подразделение получает свой VLAN.

2.     Гостевой доступ. Создание изолированного VLAN для подключения гостей без доступа к основной корпоративной сети.

3.     Поддержка IP-телефонии. Выделение отдельного VLAN для VoIP-трафика для обеспечения качества связи.

4.     Сетевая безопасность. Разделение трафика для минимизации риска несанкционированного доступа.

❯ Примеры работы VLAN на коммутаторах

Для наглядности разберем работу VLAN в сети с несколькими устройствами и двумя коммутаторами.

Устройства в сети:

  • компьютер №1: 192.168.0.1, VLAN ID № 2;

  • компьютер №2: 192.168.0.2, VLAN ID № 2;

  • компьютер №3: 192.168.1.1, VLAN ID № 3;

  • коммутатор №1 и №2: MAC-таблица изначально пуста.

Шаг 1: ARP-запрос

Когда компьютер №1 отправляет «ping» на компьютер №2, он сначала формирует ARP-запрос для определения MAC-адреса получателя.

На стороне компьютера: ARP-запрос изначально не содержит VLAN ID и не имеет тега в заголовке.

ARP-запрос от компьютера №1
ARP-запрос от компьютера №1

На коммутаторе №1: Запрос поступает на access-порт, где ему присваивается VLAN ID 2 (так как этот VLAN настроен на порту).

ARP-запросу присваивается VLAN тег
ARP-запросу присваивается VLAN тег

Действия коммутатора №1:

  • в MAC-таблицу добавляется информация о MAC-адресе Компьютера №1;

  • поскольку MAC-адрес Компьютера №2 еще неизвестен, запрос отправляется на trunk-порт с добавленным VLAN ID 2.

Передача ARP-запроса по trunk-порту
Передача ARP-запроса по trunk-порту

Действия коммутатора №2:

  • после получения пакета на trunk-порту, коммутатор добавляет MAC-адрес Компьютера №1 в свою MAC-таблицу;

  • затем VLAN тег снимается, и запрос рассылается во все активные access-порты с VLAN ID 2.

Снятие VLAN тэга с ARP-запроса
Снятие VLAN тэга с ARP-запроса

Ответ от Компьютера №2:

  • компьютер №2 отвечает на ARP-запрос, формируя ответный пакет. Этот пакет изначально не содержит VLAN тега.

ARP-ответ от компьютера №2
ARP-ответ от компьютера №2

Действия коммутаторов:

  • на access-порту коммутатора №2 пакету снова присваивается VLAN ID 2;

  • пакет передается через trunk-порт коммутатору №1, который снимает VLAN тег и направляет его на порт, соответствующий MAC-адресу Компьютера №1.

Передача ARP-ответа по сети
Передача ARP-ответа по сети

После завершения ARP-обмена начинается ICMP-обмен между Компьютером №1 и Компьютером №2

ICMP-запрос от Компьютера №1:

  • формируется без VLAN тега;

  • коммутатор №1 присваивает пакету VLAN ID 2 и отправляет его через trunk-порт;

  • коммутатор №2 снимает VLAN тег и передает пакет Компьютеру №2.

ICMP-ответ от Компьютера №2:

  • проходит тот же путь, но в обратном направлении.

Прохождение ICMP-запрос/ответа по сети
Прохождение ICMP-запрос/ответа по сети

Добавление нового устройства

Теперь добавим в сеть Компьютер №4 с IP-адресом 192.168.1.2 и VLAN ID 3. Он подключен к access-портукоммутатора №2.

Если Компьютер №3 отправляет «ping» на Компьютер №4, происходит следующий процесс:

  1. ARP-запрос от Компьютера №3:

    • запрос не имеет VLAN тега;

    • коммутатор №1 присваивает пакету VLAN ID 3 и передает его через trunk-порт коммутатору №2;

    • Коммутатор №2 снимает VLAN тег и направляет запрос Компьютеру №4.

  2. ARP-ответ от Компьютера №4. Ответ возвращается аналогичным образом, с добавлением и снятием VLAN тега на каждом коммутаторе;

  3. ICMP-обмен.После ARP-обмена происходит ICMP-обмен между Компьютером №3 и Компьютером №4, используя тот же путь.

Передача пакетов в VLAN №3
Передача пакетов в VLAN №3

❯ Анализ MAC-таблиц

После завершения обмена ARP и ICMP, в MAC-таблицах коммутаторов можно заметить, что:

  • У trunk-порта на каждом коммутаторе будут указаны несколько MAC-адресов, каждый из которых привязан к своему VLAN ID.

Важно: Trunk-порт должен быть правильно настроен для передачи трафика с несколькими VLAN ID. Ошибки в настройке могут привести к потере пакетов и некорректной работе сети.

❯ Заключение

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

В следующей статье разберем как работает маршрутизация в сети.

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

Немного важной информации

Коллеги, добрый день! Я создал Telegram-канал от сетевика для сетевиков.
Если ты сетевой инженер, системный администратор, разработчик, студент или просто увлекаешься сетями — тебе сюда.

Что тебя ждет?

  • Разборы глобальных сбоев и неожиданных сетевых проблем.

  • Мини-статьи с полезными фишками и объяснением сложных тем простым языком.

  • Истории из жизни сетевиков — в том числе от подписчиков.

Ссылка на канал: https://t.me/ProstoKirReal


Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud  в нашем Telegram-канале 

Перейти ↩

? Читайте также:

Комментарии (49)


  1. jhoag
    05.02.2025 08:30

    Дальнейшее деление невозможно

    Возможно, если устройств в сети всего два.


  1. Akina
    05.02.2025 08:30

    Сеть — это группа устройств ...

    Подсеть (subnet) — это часть более крупной сети ...

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

    Одинаковые с виду IP-адреса могут оказаться адресами разных компьютеров в разных сетях.

    Вот этого не понял в принципе. Особенно оговорку "с виду". Адреса или одинаковые, или нет. А если они одинаковые, то это гарантированно разные компьютеры, которые либо соединены p2p (mask /32), либо находятся в разных сетях (и граница между ними вовсе даже не маска, а физическая или логическая изоляция). Либо имеет место ошибка в адресации.

    • если младший бит уже равен 1, изменяется следующий более старший бит.

    Не "следующий более старший бит", а "И следующий более старший бит".

    Как связаны IP-адрес и маска подсети?

    Правильный ответ - никак. Текст под этим вопросом никак не связан с самим заголовком-вопросом.

    Дальнейшее деление невозможно, так как маска /31 оставляет только 2 адреса: один для сети и один для широковещательной рассылки. Уникальных адресов для устройств не остается.

    RFC 3021 с вами не согласится.

    Кстати, маска /32, которая оставляет только один адрес, тоже вполне себе существует и применяется. Так что дальнейшее деление таки возможно.

    ---------------

    И мне совершенно непонятно, что тут делает та часть статьи, которая рассказывает про VLAN. Ей как бы место в предыдущей статье - это L2, как-никак. Ну или хотя бы в самом начале, до перехода на L3 и рассмотрения IP-адресации и маршрутизации.


    1. ProstoKirReal Автор
      05.02.2025 08:30

      Простите, но считаю, что этот фрагмент получился ну просто безобразным.

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

      Вот этого не понял в принципе. Особенно оговорку "с виду". Адреса или одинаковые, или нет. 

      Фраза «одинаковые с виду IP-адреса» означает, что два устройства могут иметь одинаковые IP-адреса, но находиться в разных, не связанных напрямую сетях. Это абсолютно реальная ситуация, например, если частные адреса (192.168.1.1) используются в разных локальных сетях, разделенных NAT'ом или маршрутизаторами. Здесь нет ошибки, просто, возможно, стоило сразу пояснить этот момент.

      Не "следующий более старший бит", а "И следующий более старший бит".

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

      Правильный ответ - никак. Текст под этим вопросом никак не связан с самим заголовком-вопросом.

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

      Кстати, маска /32, которая оставляет только один адрес, тоже вполне себе существует и применяется.

      Использование маски /31 действительно допускается, но только для точка-точка соединений, и это исключение, описанное в RFC 3021. В классической схеме подсетей для локальных сетей она не применяется, поэтому в контексте статьи это не ошибка, а скорее уточнение, которое можно добавить для полноты картины.

      Маска /32 действительно существует и активно используется, например, для loopback-интерфейсов или в некоторых схемах маршрутизации. Это не отменяет сказанного в статье, но можно дополнительно отметить такие случаи.

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

      VLAN — это, безусловно, механизм L2, но его основная цель — логическая сегментация сети. А раз VLAN используется для разделения IP-подсетей (L3), логично рассматривать его в статье про маски и сегментацию.

      Логически я решил написать именно так, мое мнение может не совпадать с Вашим.


      1. Akina
        05.02.2025 08:30

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

        Ну да. Есть физическая интерпретация, и есть логическая. Слово вроде одно, но термины совершенно разные, и даже, по большому счёту, из разных областей. А у вас половина объяснения про одно, вторая про другое. Хотя для понимания правильнее было бы описывать в одинаковом смысле - либо в одном, либо в обоих. Мы-то понимаем, а новичков жалко.

        В принципе, ведь и совокупность узлов (компьютеров) в одном VLAN вполне себе тоже можно было назвать подсетью. В физическом смысле.


        1. ProstoKirReal Автор
          05.02.2025 08:30

          Новичков действительно жалко.

          Есть дилемма. Объясняешь на пальцах - плохо. Сетевики с 20+ стажем тыкают в любое несоответствие.

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

          Объясняешь средне - тоже плохо, уже никто не понимает.

          Я стараюсь написать понятнее, к сожалению не всегда это получается.


          1. Akina
            05.02.2025 08:30

            Я стараюсь написать понятнее, к сожалению не всегда это получается.

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


          1. GospodinKolhoznik
            05.02.2025 08:30

            Вы так говорите, словно вас из под палки заставляют писать статью.


          1. Lordbander
            05.02.2025 08:30

            Объясняешь средне - тоже плохо, уже никто не понимает.

            Я стараюсь написать понятнее, к сожалению не всегда это получается

            Вот тут Вы угадали.

            Я на уровне - средне, хотел для удовольствия почитать, уточнить некоторые для меня пробелы и по практике у меня не совпадает (а может админы так настроили) но 192 маска (сейчас на объекте) делит сеть в пополаме (на 1-128 и 129-255).

            А еще было дико интересно - вот выдал мне сетевой админ диапазон 10.6.184.1 с маской 252.0 А как система понимает, что мне надо 3 диапазона дать с 184 по 187, а не с 183-186. Может глупо, но вот зашел поинтересоваться, а ответа не нашел.


            1. itshnick88
              05.02.2025 08:30

              А еще было дико интересно - вот выдал мне сетевой админ диапазон 10.6.184.1 с маской 252.0 А как система понимает, что мне надо 3 диапазона дать с 184 по 187, а не с 183-186. Может глупо, но вот зашел поинтересоваться, а ответа не нашел.

              Скажем так, с 184 по 187 это один диапазон, а не три)
              И про это как раз объяснялось вот где-то тут:

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


            1. Akina
              05.02.2025 08:30

              но 192 маска (сейчас на объекте) делит сеть в пополаме (на 1-128 и 129-255).

              Неправильно. 192 маска, она же /26, делит подсеть /24 не на две, а на 4 подсети. 0-63, 64-127, 128-191, 192-255.

              выдал мне сетевой админ диапазон 10.6.184.1 с маской 252.0

              Только не диапазон, а адрес. Соответственно в этой подсети находятся адреса 10.6.184.0-10.6.187.255, всего 1024 адреса, из которых 1022 могут использоваться для назначения устройствам.

              как система понимает, что мне надо 3 диапазона дать с 184 по 187

              Да элементарно. net = ip AND mask. broadcast = net OR NOT mask.

              010.006.184.001 = 00001010 00000110 10111000 00000001

              255.255.252.000 = 11111111.11111111.11111100.00000000

              адрес сети = 00001010 00000110 10111000 00000000 = 010.006.184.000

              адрес бродкаста = 00001010 00000110 10111011 11111111 = 010.006.187.255


      1. Akina
        05.02.2025 08:30

        VLAN — это, безусловно, механизм L2, но его основная цель — логическая сегментация сети.

        Как раз тут-то мы имеем физическую сегментацию. Трафик из одного VLAN в другой тупо не ходит. Логическая сегментация - это две подсети в одном кабеле, вроде бы и рядом бегают, но друг друга "не видят".

        Я, когда объясняю, что такое VLAN, предлагаю представить следующее. В уме копируем структуру сети, получаем несколько слоёв. В первом слое оставляем только то, что помечено для VLANID = 1, то есть включённые в него порты, патч-корды и узлы, подключенные к этим портам, а остальное всё залепляем скотчем. Во втором слое делаем то же, но оставляя только то, что помечено для VLANID = 2, и так далее. Слои между собой соединяются только в случае, если клиентский порт одного слоя соединён патчем с клиентским портом другого слоя, иначе же слои между собой никак не взаимодействуют и соответственно байты между собой не передают. То есть чисто физическая изоляция.

        А раз VLAN используется для разделения IP-подсетей (L3), логично рассматривать его в статье про маски и сегментацию.

        Да не используется VLAN для разделения подсетей! Это миф, сказка, вымысел! Может использоваться - да, но не более. Ибо там, где VLAN, подсетей ещё тупо нет, они на уровень выше.


        1. NikaLapka
          05.02.2025 08:30

          В жизни, 802.1q, 802.1p, ToS,.. больше всего передаётся именно на не управляемых коммутаторах, ибо это очень удобно и эффективно строить, расширять сеть. Поэтому говорить, что VLAN предлагает, какую-то безопасность, "не видят друг-друга", не совсем корректно, лучше начинать рассказ про то как 25 лет назад "уплотняли" сети :).


          1. Akina
            05.02.2025 08:30

            говорить, что VLAN предлагает, какую-то безопасность, "не видят друг-друга", не совсем корректно

            ?? В чём некорректность? Пакет, пришедший по определённому VLAN (неважно, через транк с тегом, или через аксесс и получивший тег на входе), никаким образом в порт с другим VLANID не попадёт. Ну исключая зеркалирование портов.


    1. ProstoKirReal Автор
      05.02.2025 08:30

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


  1. igrblkv
    05.02.2025 08:30

    Позадаю чисто практические тупые вопросы новичка:
    1) Если между двумя коммутаторами с VLANами стоит тупой хаб - то все будут видеть всех, независимо от VLAN? Или никто никого не увидит? Это зависит от того, порт в тупой хаб в транке или в аксессе?
    2) В кабинете есть розетка и три устройства: комп, принтер и телефон. Как всё подключить через одну розетку в три разных VLAN'а? На компе у сетевухи настройки VLAN есть, на телефоне - возможно, на принтере - нет (мне такие не попадались, вроде). С другой стороны розетки на коммутаторе порт в каком режиме должен быть?
    3) Ну и добавим ещё камеру к вопросу 2, которая в несжатом виде передаёт картинку и обозначим что розетка и порт коммутатора за ней - стомегабитный. Получается в трёх VLAN'ах трафика нет и WireShark это покажет, но на самом деле он есть и канал забит?


    1. aMster1
      05.02.2025 08:30

      1. Хаб? Он конечно по определению тупой, и ничего про содержимое пакетов не знает.

        Если разговор идёт все же об неуправляемом коммутаторе, то очень много зависит от производителя, какие MTU он сможет пропустить. Но например тупые dlink вполне пропускают тегированые пакеты.

      2. Настраиваем порт с тегироваными vlan для телефона и компа, для принтера нетегированый

        Потом волшебным образом разделяем их на 3 устройства (потому что обычно в телефоне не больше 2х портов и если комп туда можно воткнуть, то дырочку для принтера надо поискать. Ну допустим это тупой dlink.

      3. Ну камеры тоже иногда умеют в тегированный трафик.

      4. Емнип, вайршарк умеет переводить порт в промискоус моде и видеть всякие вланы которые там бродят


      1. anler
        05.02.2025 08:30

        по п.2: порт может быть либо access, либо trunk. передать одновременно тэгированный и access VLAN через один порт невозможно


    1. Akina
      05.02.2025 08:30

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

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

      Возможное решение, если есть только неуправляемый коммутатор. Порт коммутатора "с другой стороны розетки" не включается ни в один VLAN, но на этом коммутаторе настраиваются MAC-based VLAN для каждого из устройств.

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


    1. jhoag
      05.02.2025 08:30

      Не автор статьи и не эксперт, но попробую.

      1. Порты между коммутаторами могут находиться в аксесс, но это фактически делает их хабами. Чтобы использовать VLAN, их порты должны быть транковыми. Допустим, это так, и транки настроены корректно. Хабу между коммутаторами неизвестны ни кадры, ни VLAN — он дублирует полученную последовательность бит во все порты, кроме входящего, в неизменном виде. Дальнейшая обработка кадра происходит как обычно. Но есть нюанс. Если в хаб, кроме упомянутых коммутаторов, подключено третье устройство, которое не добавляет VLAN ID самостоятельно, с его кадром произойдёт одно из двух: если на транках настроен нейтив VLAN, оба коммутатора отправят такой нетегированный кадр остальным устройствам в нейтив VLAN и только им; если нейтив VLAN на транках не настроен или он не соответствует VLAN ID в кадре третьего устройства, его кадр будет отброшен.

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

      3. Для голосовых и видеоданных полагается настраивать приоритизацию — с помощью политик QoS. Но вопрос непонятен: почему в остальных VLAN нет трафика и почему Wireshark не увидит трафика, который есть?


      1. Akina
        05.02.2025 08:30

        Порты между коммутаторами могут находиться в аксесс, но это фактически делает их хабами. Чтобы использовать VLAN, их порты должны быть транковыми.

        O_o Не поясните, что вы имеете в виду? Хоть вместе, хоть для каждого предложения, потому как они вызывают изумление даже по отдельности.

        PS. А вы знаете, что внутри коммутатора, поддерживающего VLAN, абсолютно все фреймы - тегованные?


        1. jhoag
          05.02.2025 08:30

          Я ошибся? Поправьте, если так.

          P. S. Какое это имеет значение?


          1. jhoag
            05.02.2025 08:30

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


            1. Akina
              05.02.2025 08:30

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


              1. jhoag
                05.02.2025 08:30

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


                1. Akina
                  05.02.2025 08:30

                  o_O

                  А что, у меня есть статьи?


                  1. jhoag
                    05.02.2025 08:30

                    Перепутал с автором этой.


    1. Di-Ger
      05.02.2025 08:30

      1) Если между двумя коммутаторами с VLANами стоит тупой хаб - то все будут видеть всех, независимо от VLAN? Или никто никого не увидит? Это зависит от того, порт в тупой хаб в транке или в аксессе?

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

      3) Ну и добавим ещё камеру к вопросу 2, которая в несжатом виде передаёт картинку и обозначим что розетка и порт коммутатора за ней - стомегабитный. Получается в трёх VLAN'ах трафика нет и WireShark это покажет, но на самом деле он есть и канал забит?

      Если у вас управляемый коммутатор, статистику по порту можно смотреть прямо на нем. Есть модели поддерживающие статистику во VLAN. Ну и не забываем про (s/Net)Flow агенты.


  1. akulakgts
    05.02.2025 08:30

    Сегментировать сеть Только маской - шляпа. Вдвойне шляпа сегментировать сеть узкой маской уже чем /24. Потому что любой ламер (или например винда) по умолчанию ставит в конце 0. Не стоит этого делать.


    1. Akina
      05.02.2025 08:30

      любой ламер (или например винда) по умолчанию ставит в конце 0

      Винда, может, где-то нолик и ставит. Но она по-любому будет ждать, пока юзер не тыкнет мышом в кнопку "ОК". А если он тыкнул - то винды ли то вина, что получилось не как должно быть?


      1. akulakgts
        05.02.2025 08:30

        ПАКи всех сортов и мастей (программно-аппаратные комплексы) вообще не уиноуник в действиях юзера


    1. akulakgts
      05.02.2025 08:30

      тот кто минусы ставит (мне всё равно) хотя бы рассказали свою точку зрения что же не так ?

      для тех кто не понял - сегментирование ТОЛЬКО на уровне маски подсети означает что все находятся в одном VLAN. Делаем немного натянутую экстраполяцию на другие стороны данного вопроса - на портах не забиндены маки, на контроллере домена (а его нет скорее всего) нет политик запрещающих менять IP адрес и маску подсети, на маршрутизаторе нет жесткой связки мак-адреса и IP адреса. Свободные порты не отключены или не настроены на влан-тюрьму. Вывод. любой юзер может поменять настройки и творить всё что хочешь. В каком-то из соседних топиков я говорил что юзеры приносили свои роутеры на работу и срали в сеть своим DHCP. А в такой сети DHCP снупинг тоже не настроен.


      1. Akina
        05.02.2025 08:30

        Делаем немного натянутую экстраполяцию

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

        хотя бы рассказали свою точку зрения что же не так ?

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


  1. Andreich95
    05.02.2025 08:30

    Хочу поставить лайк автору, а кармы не хватает :( интересная статья!


    1. ProstoKirReal Автор
      05.02.2025 08:30

      Спасибо!


  1. klirichek
    05.02.2025 08:30

    Если изначально было 192.168.1.0/24 - то с подсетью 26 должно быть 192.168.1.0/26, 192.168.1.64/26, 192.168.1.128/26 и 192.168.1.192/26.

    А теперь внимательно смотрим на рисунок, подписанный "Диапазон адресов при маски подсети /26"


    (Да, я знаю про Ctrl+Enter, но оно не работает с содержимым внутри рисунка. А заодно с рисунком можно и "при маскЕ" в подписи подправить)


    1. ProstoKirReal Автор
      05.02.2025 08:30

      Исправил


  1. TheMrWhite
    05.02.2025 08:30

    1. Можно ли сегментировать сеть с маской /24 с помощью VLAN, не используя более узкие маски?
      2. Можно ли вообще не использовать маску (/0) и сегментировать только с помощью VLAN?


    1. Akina
      05.02.2025 08:30

      Можно ли сегментировать сеть с маской /24 с помощью VLAN, не используя более узкие маски?

      Это будет не сегментирование, а разделение на две несвязанные, изолированные друг от друга, сети.

      Можно ли вообще не использовать маску (/0)

      Нет.

      Можно ли ... сегментировать только с помощью VLAN?

      Да.


      1. TheMrWhite
        05.02.2025 08:30

        в чём разница между сегментированием и разделением? если и там и там устройства не могут общаться между собой напрямую, без настройки маршрутизации?
        почему нельзя использовать /0? много раз видел такое в настройках, никогда не понимал что это значит


        1. DaemonGloom
          05.02.2025 08:30

          Если ваша маска в обеих одинаковых сетях /24 - то у вас и с настройкой маршрутизации между двумя этими сетями будут большие проблемы.

          /0 - это обычно указание на маршрут по умолчанию. И используется в варианте 0.0.0.0/0. Любое другое использование - хороший способ получить проблемы из самых разнообразных мест. И пакеты с такой маской, скорее всего, вообще не будут передаваться в сторону маршрутизатора.


        1. Akina
          05.02.2025 08:30

          в чём разница между сегментированием и разделением?

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


  1. Vutshik
    05.02.2025 08:30

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

    Что такое маска подсети и почему она 24 если я правильно понял - по сумме единичек в первых трех октетах. Что такое 25? Почему оно 'уникально' ведь бит может быть в любом месте в четвертом октете? Или прошу пояснить на пальцах что такое '/25'


    1. Akina
      05.02.2025 08:30

      Что такое маска подсети

      Маска подсети - считайте, что это средство группировки. Если у двух узлов сети значение ip AND mask равны, то эти два узла находятся в одной подсети (входят в одну группу), и могут обмениваться трафиком напрямую. Собственно значение этого выражения и есть адрес подсети, в котором находится узел. Обязательное требование - маска у таких узлов должна быть одинаковой. Если это не так, то в зависимости от конкретных значений возможны неработоспособность или неправильная работа некоторых типов взаимодействия (протоколов, приложений) узлов. Например, доступ к шаре нормально (а то и вообще) работать не будет, а вот доступ к FTP-серверу - запросто.

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

      и почему она 24

      24 - это количество единичных битов в начале маски. Всего их 32, как и в адресе, и остальные 8 соответственно нулевые. Соответственно при выполнении ip AND mask первые 24 бита (3 октета) адреса останутся неизменны, а последние 8, где в маске нули, будут сброшены. Если маска /25, то таких единичных битов 25 штук, и при выполнении указанной операции будут оставлены неизменными не только 3 старших октета, но и старший бит последнего октета.

      Почему оно 'уникально' ведь бит может быть в любом месте в четвертом октете?

      Стандартные маски строятся по принципу - сперва все единицы, потом все нули. Это обеспечивает непрерывность диапазона адресов в подсети.

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


      1. Vutshik
        05.02.2025 08:30

        Благодарю за полный ответ. Перечитал текст еще раз: "Маска подсети представляет собой набор единиц и нулей, в котором слева направо единицы идут подряд до какого-то символа, а потом до конца идут только нули.". Без Вашего пояснения не вчитался в эту фразу.


  1. sergeyns
    05.02.2025 08:30

    Правильно ли я понял, что VLAN'ы настраиваются на инфраструктуре, а рабочая станция "не знает" в каком она vlan находится?


    1. Akina
      05.02.2025 08:30

      Обычно да. Но вовсе необязательно. Вот у меня на рабочей станции на одном физическом интерфейсе навешано 7 разных VLAN (из имеющихся в сети двух десятков) на соответственно 7 виртуальных адаптерах.


  1. Vutshik
    05.02.2025 08:30

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


  1. DustCn
    05.02.2025 08:30

    А можно для несетивиков, но скажем так, сочуствующих пояснить один момент.
    Какая минимальная конфигурация сети с VLAN? Минимум два коммутатора? Так чтобы trunk между ними провесить? Trunk возможен только между коммутаторами же?


  1. kekoz
    05.02.2025 08:30

    Знает ли автор, что никаких масок в ARP-запросах нет? Похоже, что не знает. И не только в ARP. Их нет почти нигде, кроме настроек на хосте и в некоторых протоколах, которые для статьи такого уровня видятся пока слишком экзотическими.

    Но если компьютер 192.168.0.1/26 захочет обменяться пакетами с хостом 192.168.0.66/26, то ARP-запрос поступит на этот узел, но ARP-ответа не будет, так как 192.168.0.66/26 находится в другой подсети.

    Вопрос — как ARP-запрос “who has 192.168.0.66” от 192.168.0.1 “поступит на этот узел” 192.168.0.66, если 192.168.0.1 знает, что искать надо маршрутизатор? Правильно, никак, поскольку такого запроса от 192.168.0.1 просто не могло бы появиться. А если бы он вдруг каким-то фантастическим образом появился (мы же умеем программировать, да? :), то 192.168.0.66 конечно же ответил бы “192.168.0.66 is at 01:23:45:67:89:ab”, и этот ответ конечно же дошёл бы куда надо.

    А дальше я и читать не стал.