Сегодня вы можете сделать сетевой мост в программном обеспечении. Получите коробку Linux и скомпилируйте поддержку моста Ethernet в ядро. Затем вы получаете сетевые устройства, такие как, br0
которые могут быть подключены к интерфейсам, таким как eth0
и, eth1
и будут распространять необработанные пакеты низкого уровня от одного к другому. Существует даже поддержка фильтров, аналогичная iptables, а также инструмент пользовательского пространства, называемый ebtables
(таблицы мостов Ethernet), с помощью которого вы можете определять правила для фильтрации пакетов по MAC-адресам и другим полям или байтам, поэтому вашему мосту не нужно пересылать все.
Ethernet не был переключен однажды. Первоначальный Ethernet состоял из длинного кабеля, разделяемого между станциями. Каждая станция подключена к кабелю. Вот почему мы все еще говорим о «сегменте сети». Сегодня «сетевой сегмент» - это только логический сегмент, но на самом деле он выглядит как звезда (или группа звезд), сосредоточенная вокруг переключателей, но когда-то это действительно было похоже на прямую линию со свисающими станциями.
Если вы хотите соединить две такие сети, есть два варианта: ретранслятор или мост. Повторитель - это устройство аналогового усилителя, которое слушает по одному проводу, буферизует сигнал в электронном виде и передает тот же сигнал по другому проводу (и в случае с сетью, наоборот: двунаправленно). Мост - это компьютер или встроенная система, которая принимает фактические пакеты и затем отправляет их другой стороне.
В отличие от ретранслятора, мост может быть разумным в том, что, проходя трафик, он строит таблицу известных адресов в памяти. Он знает, какая станция находится на какой стороне моста, поэтому он может избежать моста, когда станция на одной стороне моста обращается к станции, которая живет на той же стороне. Только широковещательные пакеты должны быть соединены мостом, и пакеты, которые обращаются через мост.