A network bridge is a computer networking device that creates a single aggregate network from multiple communication networks or network segments. This function is called network bridging. Bridging is distinct from routing. Routing allows multiple networks to communicate independently and yet remain separate, whereas bridging connects two separate networks as if they were a single network (hence the name "bridging"). In the OSI model, bridging is performed in the first two layers, below the network layer (layer 3). If one or more segments of the bridged network are wireless, the device is known as a wireless bridge and the function as wireless bridging.
A simple bridge connects two network segments, typically by operating transparently and deciding on a frame-by-frame basis whether or not to forward from one network to the other. A store and forward technique is typically used so, during forwarding, the frame integrity is verified on the source network and CSMA/CD delays are accommodated on the destination network. Contrary to repeaters that simply extend the maximum span of a segment, bridges only forward frames that are required to cross the bridge. Additionally, bridges reduce collisions by partitioning the collision domain.
A multiport bridge connects multiple networks and operates transparently to decide on a frame-by-frame basis whether and where to forward traffic. Like the simple bridge, a multiport bridge typically uses store and forward operation. The multiport bridge function serves as the basis for network switches.
A transparent bridge uses a forwarding database to send frames across network segments. The forwarding database starts empty - entries in the database are built as the bridge receives frames. If an address entry is not found in the forwarding database, the frame is flooded to all other ports of the bridge, flooding the frame to all segments except the one from which it was received. By means of these flooded frames, the destination network will respond and a forwarding database entry will be created.
In the context of a two-port bridge, one can think of the forwarding database as a filtering database. A bridge reads a frame's destination address and decides to either forward or filter. If the bridge determines that the destination node is on another segment on the network, it forwards (retransmits) the frame to that segment. If the destination address belongs to the same segment as the source address, the bridge filters (discards) the frame. As nodes transmit data through the bridge, the bridge establishes a filtering database of known MAC addresses and their locations on the network. The bridge uses its filtering database to determine whether a frame should be forwarded or filtered.
Transparent bridging can also operate over devices with more than two ports. As an example, consider a bridge connected to three hosts, A, B, and C. The bridge has three ports. A is connected to bridge port 1, B is connected to bridge port 2, C is connected to bridge port 3. A sends a frame addressed to B to the bridge. The bridge examines the source address of the frame and creates an address and port number entry for A in its forwarding table. The bridge examines the destination address of the frame and does not find it in its forwarding table so it floods it to all other ports: 2 and 3. The frame is received by hosts B and C. Host C examines the destination address and ignores the frame. Host B recognizes a destination address match and generates a response to A. On the return path, the bridge adds an address and port number entry for B to its forwarding table. The bridge already has A's address in its forwarding table so it forwards the response only to port 1. Host C or any other hosts on port 3 are not burdened with the response. Two-way communication is now possible between A and B without any further flooding in network.
Both source and destination addresses are used in this algorithm: source addresses are recorded in entries in the table, while destination addresses are looked up in the table and matched to the proper segment to send the frame to.
The forwarding information base stored in content-addressable memory (CAM) is initially empty. For each received ethernet frame the switch learns from the frames source MAC address and adds this together with the ingress interface to build the forwarding information base. The switch then forwards the frame to the interface found in the CAM based on the frames destination MAC address. If the destination address is unknown the switch sends the frame out on all interfaces (except ingress interface). This behaviour is called unicast flooding.
Once a bridge learns the addresses of its connected nodes, it forwards data link layer frames using a layer 2 forwarding method. There are four forwarding methods a bridge can use, of which the second through fourth methods were performance-increasing methods when used on "switch" products with the same input and output port bandwidths:
- Store and forward: the switch buffers and verifies each frame before forwarding it; a frame is received in its entirety before it is forwarded.
- Cut through: the switch starts forwarding after the frame's destination address is received. There is no error checking with this method. When the outgoing port is busy at the time, the switch falls back to store-and-forward operation. Also, when the egress port is running at a faster data rate than the ingress port, store-and-forward is usually used.
- Fragment free: a method that attempts to retain the benefits of both store and forward and cut through. Fragment free checks the first 64 bytes of the frame, where addressing information is stored. According to Ethernet specifications, collisions should be detected during the first 64 bytes of the frame, so frames that are in error because of a collision will not be forwarded. This way the frame will always reach its intended destination. Error checking of the actual data in the packet is left for the end device.
- Adaptive switching: a method of automatically selecting between the other three modes.
- "Traffic regulators: Network interfaces, hubs, switches, bridges, routers, and firewalls" (PDF). Cisco Systems. 1999-09-14. Retrieved 2012-07-27.
- "What is a Network Switch vs. a Router?". Cisco Systems. Retrieved 2012-07-27.
- "RFC 1286 - Definitions of Managed Objects for Bridges". Tools.ietf.org. 1989-07-14. Retrieved 2013-10-19.
- "Local Area Networks: Internetworking". manipalitdubai.com. Archived from the original (PPT) on 2014-05-13. Retrieved 2012-12-02.
- "Bridging Protocols Overview" (PPT). iol.unh.edu. Retrieved 2012-12-02.
- "Transparent Bridging". Cisco Systems, Inc. Retrieved 2010-06-20.
- Dong, Jielin. Network Dictionary. Javvin Technologies Inc. p. 23. ISBN 9781602670006. Retrieved 25 June 2016.
- "Cray makes its Ethernet switches responsive to net conditions". IDG Network World Inc. 1 July 1996. Retrieved 25 June 2016.
- "Internetworking Technology Handbook". cisco.com. Cisco Press. 1999-08-01. Retrieved 2015-12-20.