Shared Bus Ethernet
- Shared Bus Topology
- Carrier Sense and Collision Detection
- Backoff Algorithm
- The Physical Stuff, Ethernet and IEEE 802.3
Shared Bus Topology
The original Ethernet, as conceived by Robert M. Metcalfe and David R. Boggs (and as specified in the Digital Intel Xerox de facto standard), employed a shared bus topology and the CSMA/CD (Carrier Sense Multiple Access with Collision Detection) access mechanism. That means it consisted of a single, long cable (the "shared bus") to which computers attach - that is the "multiple" portion of the "multiple access" procedure, as shown in Figure 1. (The cable is terminated with resistors at both ends, not shown in the figure, to prevent reflection of the signal back along the cable due to the discontinuity.) You can see Metcalfe and Boggs' diagram here. You can also see Xerox's initial reaction to Metcalfe and Boggs' original memo (before publishing the paper linked to above) here. (I just came across that and I love it - inspiration for anyone who just knows s/he's got a good idea.)

Figure 1: Shared Bus Ethernet
With this shared bus topology, all attached computers share access to a single medium, which is a broadcast medium. That means that when any one computer transmits, all computers receive the signal. When we look at the frame format you'll see how a station knows that it is the intended recipient of a message (or if a message is a broadcast message, i.e., it is intended for all stations), but it should already be quite clear that without encryption, there is no privacy on an Ethernet. Figure 1 above illustrates the data flow across an Ethernet network. While a computer transmits a frame, it has the exclusive use of the entire bus and all other computers must wait to transmit. After the computer finishes the transmission, the shared bus becomes available for others to use.
Notice that Ethernet uses a connectionless service paradigm, which means a station does not need to establish a connection before sending a frame.
Since any computer that is attached to the bus can send a signal down the cable, and all computers receive the signal, a computer that is attached to the bus and wishes to transmit must use an access algorithm (ergo, "multiple access") to ensure that only one computer sends a signal at any time. Otherwise, chaos would result.
Carrier Sense and Collision Detection
The question is, then, how does a computer know when it is allowed to transmit (i.e. when is the bus free)? All computers attached to the Ethernet bus participate in a distributed coordination scheme called CSMA/CD. The scheme uses electrical activity on the cable (which was called the "ether") to determine its status. When no computer is sending a frame, the "ether" does not contain electrical signals. However, during frame transmission, electrical signals (informally called "carrier") are being sent via the bus. Therefore, to determine whether the bus is free, the computer checks for carrier ("carrier sense") by monitoring if current is flowing. If no carrier is present, the computer can transmit. Otherwise, it must wait for the sender to finish before proceeding.
This is the reason that Ethernet frames have a maximum size (1518 bytes). If there were no limit on the frame size, or if the frame size were huge, then one station could hog the "ether", not letting anyone else get a chance to transmit!
Because "carrier sense" allows each computer to determine whether the bus is already in use, it prevents computers from interrupting each others’ outgoing transmissions. However, this method actually does not work 100%. Suppose two computers are at opposite ends of an idle cable (or are far apart on the cable) and they want to start transmission at the same time. They both will check for carrier, they both will find the cable idle, and both will start to send a frame, simultaneously. The electrical signals transmitted by the two computers will interfere with each other. When two signals interfere with one another, the result is called a collision. The collision produces a garbled transmission that prevents either of the two frames from being received correctly. It is almost certain that the CRC (Cyclic Redundancy Check) used for error detection will not "check", or agree with the received result.
Actually, for a collision to occur, the two stations don't even need to trasmit exactly simultaneously. Due to the propagation delay of the cable, there is a short time period in which one station will not sense the carrier that is the result of the other station's transmission. If each of the colliding stations thinks that the cable is idle, how do they know that in fact a collision occured? A device that transmits must continue monitoring the signal to determine if the current that is being received is in excess of what is normally sent (and what it is generating).
To ensure that a collision is actually detected by a sending station, the sending station must monitor the link long enough for it to sense if another station has also transmitted. If one sending station transmits (and monitors) for too short a time, due to propagation delay, it might not know that another station was also transmitting. Therefore, Ethernet requires a minimum frame length, i.e., no frame may be less than 64 bytes, including the header. The minimum frame size is a function of the distance that the network spans, the type of media that is used, and the number of repeaters through which the signal may have to pass to span the LAN. These components together define a value known as the Ethernet Slot Time, corresponding to 512 bit times at 10 Mbps. Though Ethernet is now overwhelmingly switched, and also much faster than the original Ethernet, thereby theoretically requiring redefinition of the minimum frame size, to maintain compatibility with all forms of Ethernet, the minimum frame size is maintained in all Ethernet versions and other mechanisms are used to compensate for the differences in media characteristics.
If a collision is detected, then the sending station immediately ceases its transmission and sends a 32-bit "jamming signal" to inform all stations on the bus of the collision. This jam signal will replace the 32-bit CRC, causing other receivers to discard the frame, due to a CRC error, i.e., a CRC that will not agree with the received (damaged) frame. All colliding stations will behave the same way, i.e., detect the collision and send a jamming signal.
The amount of time that it takes for the sending station's signal to reach the other end of the medium (the furthest point that a competitor might be situated on the bus) is the propagation delay, and the amount of time that a garbled signal (which would result if there is another transmitting station, i.e., a collision) to travel back to the sending station is also equal to the propagation delay. When twice the propagation delay has passed following the beginning of transmission, all colliding stations will be aware of the collision. This amount of time is known as the "collision window", which is the time, during the initial part of its transmission of a frame, that a station can experience a collision.
Backoff Algorithm
In the situation that a collision occurs, the colliding stations need a procedure to determine when they should retransmit. Beyond detecting collisions, CSMA/CD also defines a procedure to recover from them. After a collision occurs, a station must wait for the cable to become idle again before transmitting a frame. However, if both computers would begin to retransmit the moment the bus becomes idle, there would be another collision. To avoid this situation, Ethernet uses the Truncated Binary Exponential Backoff Algorithm.
The backoff algorithm is an iterative process, such that each iteration will reduce the probability that the collding stations will collide again. Keep in mind, though, that even if the original two colliding stations do not collide with each other again, there are probably other "players" on the bus. The process is performed until either there is a successful retransmission, or until the maximum number of attempts (16) is reached, at which point the frame is discarded.
According to the algorithm, before the nth retransmission attempt a colliding station chooses a random number of delay times, (where the delay time is Slot Time). The random number is selected from a range of 0, ..., (2k-1), where k=min(n, 10). The algoritm is called "truncated" because the number of attempts can reach 16, but k can only reach 10.
Therefore, in the first iteration, each station chooses either 0 or 1 delay time. Since choosing the same number of delay times would result in a collision, at the first iteration there is a 50% chance of another collision between those two stations. In the second iteration, the choices would be 0,1,2, or 3 delay times, so that there is a 25% chance of a collision, and a cumulative probability of 12.5% that after two iterations the same two stations would collide.
After each collision the range of the random delay increases exponentially, so that the probability of a collision (between the original colliding stations!) rapidly decreases and after several iterations becomes negligible. As stated, the maximum number of iterations is 15, for a total number of 16 transmission attempts (counting the first attempt to transmit the frame), which means that if for some reason (likely indicative of an unhealthy or overloaded network) a station does not succeed to transmit the frame after 16 attempts, the frame is not transmitted. Who is responsible for the loss of data (after all, it never reached its intended destination)? A higher layer protocol (such as TCP or an application protocol that runs over UDP) would react to the fact that the data did not arrive (such as retransmitting due to the absence of an acknowledgment).
You can try the interactive animation of an Ethernet bus with the Ethernet Applet.
The Physical Stuff, Ethernet and IEEE 802.3
Up until now, other than mentioning the cable in a shared bus topology, I did not yet discuss the aspects of Ethernet's "physical layer" (using the OSI terminology). Let's back up a bit to the history of Ethernet. As stated at the top of this page, Ethernet was conceived by Robert M. Metcalfe and David R. Boggs. A specification for Ethernet, known as the DIX Ethernet (DIX for Digital, Intel, Xerox) was published in 1980. That specification became a de facto standard, and we see that the cover page states that it defines the physical and data link layers. Following acceptance of Ethernet in the networking community, IEEE developed the 802.3 standard for CSMA/CD Access Method and Physical Layer Specifications, which were approved by IEEE in 1983. (Only later did they add the word "Ethernet", because it's the name that stuck.) This original standard is what was called the 10Base5 standard, the meaning of which will be explained shortly.
There are some significant differences between the DIX specification and the original conception. However, Metcalfe and Boggs published their proposal in 1976, before the OSI protocol model was developed. If one examines closely the different functions of the Ethernet hardware, you'd see that the division of labor between the physical and data link layers is kind of fuzzy. For example, carrier sense and collision detection are carried out by the physical hardware, essentially by virtue of the fact that carrier and collisions are physical occurrences. But these are both aspects of the access method, and we shall see that "medium access" is part of the data link layer, which we will see was further layered into two portions in the IEEE LAN model.
When the DIX specification was published in 1980, there was an attempt to align the specification's architecture with the (then) newly-standardized OSI physical and data link layer defintions, and you can read the DIX efforts on pages 8-11 of the specification. There is no parallel discussion of "architecture" or "layers" in the original Metcalfe and Boggs document.
Given the ideas and mechanisms that led to development of Ethernet, I doubt highly that had the IEEE LAN model (or the OSI model) already been part of the data networking world when Metcalfe and Boggs were working on their prototype, it would have led to a cleaner division of functionality between the layers. Protocol layering is quite artificial (which is one of the reasons why I prefer the Internet Protocol Model). In reality, we find this crossing of protocol layer boundaries quite often, which I heard explained so succinctly (in one of my all-time favorite networking statements) in 1991 at a seminar given by Radia Perlman (yes, I still have the handout notes!). She stated:
Data link layer protocol: something standardized by a committee chartered to standardize the data link layer
Network layer protocol: something standardized by a committee chartered to standardize the network layer
Be that as it may, the physical components specified by DIX and those standardized by IEEE in the IEEE 802.3 standard are not identical, but the differences are not significant (certain electrical and connector differences), and my description of the physical aspects is not detailed enough to warrant pointing out these differences. Just be aware that what we typically call "Ethernet" today is actually compliant with the IEEE 802.3 physical standards, but, as we shall see when discussing the Ethernet frame format, is almost always in accordance the DIX frame specification.
Now we can look at what comprised the original 10Base5 Ethernet (and why it was called that). The 10 refers to the transmission rate of 10 Mbps. The "base" refers to the "baseband" digital transmission ("baseband" means that the entire bandwidth of the cable is utilized by a single signal). The 5 refers to the maximum non-repeated cable length of 500 meters. The cable used for 10Base5 Ethernet was a thick, coaxial cable (choose "Coax" from the left menu in the link I just provided), and up to 4 repeaters could be used for a total of 2.5 km.
A repeater is a device that is used to allow segments of transmission media to be connected so that a phsycial network can be extended beyond its maximum length, which is limited by various physical occurrences, such as attenuation (the signal gets weaker as it propagates along the wire) and noise (which can distort the signal). Various types of networks, including wide area networks, rely on repeaters to amplify and restore signals, thereby extending the network distance.
Ethernet repeaters, which connect Ethernet segments, as depicted in Figure 2, also provide signal regeneration - amplitude regeneration to overcome cable attenuation, and timing regeneration to remove cable-induced jitter. In addition, Ethernet repeaters provide collision enforcement, which means that a collision on any one segment is propagated by the repeater to its connecting segments, because a collision must be detectable on all segments in the Ethernet. We say that the Ethernet, connected with repeaters, forms one collision domain, i.e., one physical network on which any station can collide with another, so that it is essential that all stations are aware of the collision. Thus, Ethernet repeaters repeat all traffic, including collision information, on all segments. An Etheret repeater can also detect and disconnect faulty segments; this function is called "partitioning".

Figure 2: Ethernet Repeater
The components for connection of a station to the bus, and their functions, are depicted in Figure 3.

Figure 3: 10Base5 Components
The Communications Controller is what we typically call the Network Interface Card (NIC) or adapter. This connects to a connector called the Attachment Unit Interface (AUI), which is one end of the AUI Cable (often called the transceiver cable, as shown in Figure 3). The other end of the transceiver cable, which could be up to 50 meters in length, connects to - what else? - the transceiver (for transmit/receive), which is called the Medium Attachment Unit (MAU) in the standards document. The transceiver and cable tap originally had what was called a "vampire" connection, named that because it clamped onto the bus cable and "bit" into it so as to make electrical contact with the conductors inside the outer shield. The advantage of a vampire cable tap was that it allowed neww connections to be made on a given physical cable, even while the cable was in use. However, aside from the dripping blood, such a method did not lend itself to moving connections around easily. Further, the cable and the taps were quite expensive.
A less expensive alternative to 10Base5 was developed using a thinner form of coax cable, and therefore it was called Thinnet (which is why the original 10Base5 came to be called Thicknet), or 10Base2. The "10" and the "Base" have the same meaning as they did with 10Base5. Since the "5" in 10Base5 refers to the 500 meter maximum segment length, you might think that the "2" in 10Base2 refers to a 200 meter maximum segment length. I got you there! It refers to a 185 meter maximum segment length! Well, they didn't want to call it 10Base1.85.
Thinnet was easier to install and less expensive. The cable is easier to work with, and instead of vampire connections, it used BNC-type connectors.
Neither of these cabling options could compete, as far as ease of installation and reconfiguration, with a hub-based star topology, which was introduced for Token Ring networks by IBM in the mid-1980s. The hub-based 10BaseT would be the answer, but before we look at that topology, it is best that we review the IEEE LAN standardization efforts, which is the subject of the next chapter.
