Hoje você pode fazer uma ponte de rede em software. Obtenha uma caixa do Linux e compile o suporte de ponte Ethernet no kernel. Então você obtém dispositivos de rede como os br0
que podem ser conectados a interfaces como eth0
e eth1
propagarão pacotes brutos de baixo nível de um para o outro. Existe até suporte de filtro semelhante ao iptables, além de uma ferramenta de espaço do usuário chamadaebtables
(tabelas de ponte Ethernet), que permite definir regras para filtrar pacotes por MACs e outros campos ou bytes, para que sua ponte não precise encaminhar tudo.
A Ethernet não foi trocada uma vez. A Ethernet original consistia em um longo cabo compartilhado entre as estações. Cada estação bateu no cabo. É por isso que ainda falamos sobre um "segmento de rede". Hoje, um "segmento de rede" é apenas um segmento lógico, mas na verdade se parece com uma estrela (ou um monte de estrelas) centrada nos comutadores, mas era uma vez uma linha reta com estações penduradas nele.
Se você queria conectar duas dessas redes, havia duas opções: um repetidor ou uma ponte. Um repetidor é um dispositivo amplificador analógico que escuta em um fio, armazena em buffer o sinal eletronicamente e aciona o mesmo sinal no outro fio (e no caso de redes, vice-versa: bidirecional). Uma ponte é um computador ou sistema incorporado que recebe os pacotes reais e os envia para o outro lado.
Ao contrário de um repetidor, uma ponte pode ser inteligente, pois, ao passar o tráfego, cria uma tabela de endereços conhecidos na memória. Ele sabe qual estação está em qual lado da ponte, para evitar pontes sempre que uma estação de um lado da ponte se dirigir a uma estação que mora do mesmo lado. Somente pacotes de broadcast precisam ser conectados e pacotes que endereçam através da ponte.