Технологии

Как работает сетевой мост и чем его можно заменить

Что такое мост в сети, как работает сетевой мост, чем отличается мост от коммутаторов и ретрансляторов, как использовать сетевой мост во время работы в Docker - ответы на все эти вопросы вы найдете в статье.

Команда is*hosting 21 мар 2023 3 мин
Как работает сетевой мост и чем его можно заменить

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

Что такое сетевой мост?

Сетевой мост, или по-английски network bridge, используется для объединения двух локальных сетей в одну или для разделение одной сети на два сегмента.

По-другому, сетевой мост - это устройство, или аппаратный и программный комплекс, объединяющий сегменты сети. Мост можно рассматривать как устройство с функциями хранения и дальнейшей отправки.

Варианты использования сетевого моста

Предположим, вы используете два типа соединения: проводное, через сетевую карту Ethernet, и беспроводное, через Wi-Fi. Первый вариант дает вам более стабильное подключение, а второй - позволяет подключить сразу несколько устройств, объединив их в одну сеть. Так вот, с помощью сетевого моста эти два соединения можно объединить и, как бонус, повысить стабильность.

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

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

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

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

Принцип работы

как работает сетевой мост

Мост работает на уровне канала передачи данных (уровень 2) модели OSI. Устройство, используемое в качестве моста, проверяет входящий трафик, а затем пересылает его в нужный пункт назначения либо отбрасывает.

  1. Мост получает все пакеты данных или кадры из локальных сетей.
  2. Мост создает таблицу MAC-адресов для определения, из какой сети отправлены данные и в какую их надо направить. Таким образом он начинает прослушивать передаваемые данные внутри обеих сетей.
  3. Мост считывает отправку и отбрасывает все пакеты из локальной сети №1, отправленные компьютеру в локальной сети №1. А данные из локальной сети №1, отправленные компьютеру в локальной сети №2, повторно передаются в локальную сеть №2.
  4. Пакеты данных из локальной сети №2 обрабатываются таким же способом.

Если рассматривать процесс более детально на уровне таблицы адресов, то работу моста можно описать следующим образом. Мостовое устройство анализирует 48-битовое поле адреса пункта назначения пакета данных, затем сравнивает этот адрес с базой переадресаций. Если адрес не совпадает ни с одной записью в таблице, то сетевой мост передает пакет данных в следующий сегмент. Данные будут передаваться до тех пор, пока не достигнут указанного в пункте назначения адреса.

Данные в сетевом мосту

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

Типы сетевых мостов

Традиционно можно выделить:

  • Прозрачные мосты

Самостоятельно создают таблицу адресов и впоследствии обновляют ее.

  • Простые мосты

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

  • Многопортовый мост

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

  • Транслирующие мосты

Мост объединяет сети с различными протоколами канального и физического уровней.

  • Инкапсулирующие мосты

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

Беспроводные мосты

беспроводной сетевой мост

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

  • Беспроводные мосты могут соединять беспроводные точки доступа Wi-Fi.
  • Мосты Wi-Fi - Ethernet позволяет подключить клиентов Ethernet к локальной сети Wi-Fi.
  • Мост Bluetooth - Wi-Fi поддерживает соединения с мобильными устройствами Bluetooth.

Режим беспроводного моста - это функция, которую сегодня поддерживают большинство маршрутизаторов (роутеров). С помощью беспроводного сигнала две сети можно объединить в одну.

Например, это удобно, когда одна локальная сеть имеет доступ в интернет, а вторая - нет; тогда с помощью беспроводного моста можно объединить обе сети тем самым дав доступ к Интернету. Чтобы создать единую локальную сеть, потребуются два маршрутизатора Wi-Fi на каждую сеть. В качестве маршрутизатора рекомендуется использовать SOHO роутеры, которые помимо беспроводного подключения имеют также разъемы для подключения кабелей Ethernet.

Всё, что необходимо знать для настройки первого роутера - это идентификатор SSID (имя беспроводного сигнала) и пароль. Для второго роутера необходимо настроить режим беспроводного моста (Wireless Bridge Mode) и ввести данные от первого роутера, чтобы к нему подключится. После этого вы получите единую сеть, где все устройства второй сети будут иметь доступ к серверу и модему первой сети.

Сетевые мосты vs. Ретрансляторы vs. Коммутаторы и роутеры

сетевой мост и ретранслятор

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

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

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

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

Работая в Docker и контейнирезируя приложения, пользователям доступно несколько режимов сети, включая сетевой мост. В Docker эта сеть носит название “bridge” для всех контейнеров для общения в пределах одного хоста, в случае отсутствия других описанных сетей.

Стоит отметить, что данная сеть (установленная по-умолчанию) не рекомендуется к использованию, и наилучшим вариантом будет настроить сеть самостоятельно. Вот, в чем основные преимущества пользовательского моста перед дефолтным:

  1. Наилучшая изоляция контейнеризированных приложений, которые открывают порты друг другу, а не в публичную сеть.
  2. Контейнеры в сети моста по-умолчанию могут обращаться к друг другу только по IP-адресам пока не указан параметр --link. Если сетевой мост настроен пользователем, к контейнеру можно обращаться по его имени или заданному alias.
  3. С пользовательскими мостами контейнеры можно подключать или отключать от сетей, вносить изменения в параметры в любой момент. Если же контейнеризация используется с мостами по-умолчанию, необходимо остановить контейнер и создать его заново уже с новыми сетевыми параметрами.
  4. Пользовательские мосты можно изменять и настраивать. Управлять такими мостами можно через docker network create или в файле Docker Compose во время его работы.

Раньше единственным способом обмена переменными среды между двумя контейнерами было их связывание с помощью --link. Это возможно во время работы с мостами по-умолчанию. Однако на сегодняшний день и этот способ устарел.