<aside> đź’ˇ
In this article, we explore how multiple network namespaces can communicate with each other through a Linux Bridge
, using visual guides and hands-on experiments (with the ping
command).
With a Linux Bridge, communication becomes possible between isolated or independent environments without the need to establish point-to-point connections for each one.
For a better understanding, please refer to the previous articles on Namespaces, VETH, and ARP.
A Linux Bridge
is a virtual
network device implemented within the Linux kernel that enables Layer 2 (Data Link Layer) packet forwarding between multiple network interfaces on the same host—similar to a physical switch.
It is primarily used to bridge different network interfaces—such as virtual machines, containers, or physical network interfaces—allowing them to communicate within the same Layer 2 broadcast domain.
destination MAC address
and consults its internal forwarding table:
Spanning Tree Protocol (STP)
to prevent network loops and ensure network stability.Imagine you have a server running multiple virtual machines that need to communicate with the external network:
br0
).eth0
) and the virtual machines' network interfaces (vnet0
, vnet1
) to br0
.br0
if Layer 3 communication is required.br0
and with each other directly.brctl
tool. Source code is available in the bridge-utils repository.