In this post we’ll review a few terms found in the CCNA series here which aren’t explicitly defined during the other lessons.
We’ll be be taking a look at the following concepts:
- Collision Domain
- Broadcast Domain
To explain a collision domain, we first need to understand what’s happening when data is transmitted onto an ethernet cable. We know that binary data, the most fundamental data structure used by computer systems, is expressed in 0’s and 1’s. This is done because the data is transmitted by interpreting high voltage and low voltage oscillations on the wire. The collision domain is defined by the number of devices on a single wire segment where increasing the voltage on the line is ‘seen’ by all other devices in the collision domain.
Consider the above graph. When 2 devices are present on a single wire segment, if one device transmits onto the wire, the voltage measured is 1 unit. If both devices transmit at the same time, that voltage measured doubles to 2 units, as seen at Time 2 and 4. Because of this, both devices can transmit at the same time (full duplex, see below) and still reliably understand the data that was sent by subtracting its own voltage from the measured.
Now lets consider what happens when our collision domain consists of 3 devices. We see at Time 1, 2 and 5 that 2 devices are transmitting at the same time. However, if the transmitting device subtracts its own voltage from the wire, we can no longer tell who the other transmitting device is at any given time. It could be any of the other 2 devices on the segment. Network switches have a single collision domain per port, whereas network hubs combine multiple ports into a single collision domain.
A broadcast domain refers the links that an ethernet broadcast will propagate through. It is a logical construct in the ethernet protocol, being defined by a destination MAC address of all F’s.
Switches forward ethernet frames to destination MAC addresses. Their primary job is to learn what ports MAC addresses live on, so they can forward the frames appropriately. A broadcast is handled by flooding the frame out all ports in the same broadcast domain, except the one it came in on. A single broadcast domain is also referred to as a LAN, or Local Area Network. On a network switch, multiple broadcast domains are created using additional VLANs. Routers separate and route between LANs.
Duplex has two pieces to it, half duplex and full duplex. These terms reference how many devices are able to communicate on a single collision domain at one time. Recall the image above showing a 2-device collision domain. We’re able to determine which device is transmitting at any given time, and because there are only 2 of them both devices may transmit at the same time and still understand one another.
- Full Duplex means 2 devices may transmit at the same time
- Half Duplex means only 1 device may transmit at a given time
When a device is operating at half duplex, it is expecting to only ‘see’ a single voltage unit on the wire at a given time. If it ‘sees’ more than that, then it will determine there is a collision and will stop and wait for a random backoff timer before attempting to transmit again. One can imagine, if there’s a mismatch where one device is operating at full duplex and another at half duplex, we’ll run into some serious trouble and performance degradation due to one of the devices continually backing off and waiting for the other to finish.