Unit 3: Bridges & Spanning Trees

For this class, we’ll say bridges and switches are the same thing. In the traditional Ethernet context, bridges connect two or more LANs. Each port is isolated to be in its own collision domain. If each port has a full duplex point to point line, the CSMA/CD algorithm is not needed.

Many organizations have multiple LANs and wish to connect them. Different departments (like the departments at Harding, for instance) could have their own LAN for computers, servers, and printers. Since priorities may differ between departments, different LANs may be set up without regard for each other. On the other hand, the organization may be geographically spread over several buildings separated by considerable distances, and it may be cheaper to have separate LANs in each building. Another reason we might have many LANs is to accommodate a high load (splitting a single LAN into multiple).

The image on the left is the more “classical” layout of a bridge setup. The image on the right is the more modern approach. For this class, we’ll mainly work on the older one because it is simpler and involves less parts, but the concepts can be applied to the newer model as well.

Transparent bridges are ways to interconnect IEEE LANs with complete transparency. In this context, it should be possible to get bridges, plug LAN cables into the bridges, and have everything work perfectly without changing hardware or software, setting address switches, or downloading routing tables or parameters. The operations of existing LANs should not be affected by the bridges at all.

Bridge Learning Algorithm: bridge has a table tracking where stations are. When it doesn’t know where the destination is, it passes the message along. When it learns where a station is located, it adds that location to its table. The passing along of messages is called flooding. Earlier in the process flooding is more common, it becomes less common as the bridges learn where stations are. The only way a bridge will learn where a station is is if it receives a message from that station.

To increase reliability, redundant links can be used. This involves intentionally putting multiple connections between networks, so that if something happens to one bridge, the whole network doesn’t fall apart. However, this comes with problems. Even if we imagine a world where collisions never occur and everything gets correctly sent and received, there are still problems with this setup. If bridge 1 hears a frame and doesn’t know where it’s going, it floods. If bridge 2 hears that frame and doesn’t know where it’s going, it floods. Bridge 1 might hear the same frame again from bridge 2’s flooding. We might have a giant loop of bridges re-sending the same frame over and over because they don’t realize it’s the same frame. Redundant links increase reliability but also cause loops, some of which will loop forever.

The solution to this is to pretend that we have a tree (even though we don’t). We treat the network like a tree to take out the loops.

robot