Wednesday, April 17, 2013

Reading Notes: Ethernet paper by Metcalfe and Boggs

The paper "Ethernet: Distributed Packet Switching for Local Computer Networks" by Metcalfe and Boggs is THE paper describing Ethernet technology. It appeared in the Communications of the ACM in 1976. Nowadays most wired LANs use Ethernet technology, so its importance is paramount. Below are some of my reading notes.

Synchronization on the Ethernet

In section 6 the author mentions slots as a time unit. In a contention interval the number of slots is calculated to determine how long the station will wait. Furthermore the author explains that the slots are synchronized by the tail of the preceding acquisition interval. In section 4.4 the author defines slots as the maximum time beween starting a transmission and detecting a collision, which is one end-to-end round trip delay. Thus the synchronization via slots depends on the specific physical properties of that network and one can regard slots as the basic time unit for synchronization.

Data Transfer

The paper also touches on data transfer over the Ethernet. The file is divided into packets with a sequence number. Each data packet is transmitted periodically until it receives an ack packet with the corresponding sequence number from the receiver. Once that packet is acknowledged the sender will stop periodically sending that packet and move on to sending the next packet. Thus from my understanding packets will always be send and received in order. A small intricacy in this design is that after the receiver has acknowledged a packet k it is expecting packet k + 1. However it is possible that its ack packet got lost and the sender continues to send packet k. In this case the receiver discards that package and sends out another ack package.

At the end of the data transfer, there is specific routine with which sender and receiver communicate that the data transfer has ended, similar to a TCP handshake with which a connection is established.

Collision Detection Mechanisms on the Ethernet and a helpful analogy

At a cocktail party a group of people will stand together and have access to the same communication medium, meaning that any person can speak and will be heard by all other persons, and any person can hear what is said by all other persons. This is comparable to the Ether, across which broadcast packet switching is possible.

The collision in the Ethernet is analogous to the situation when two or more people speak at the same time. The speakers will detect the collision since they won’t be able to hear clearly what the individual speakers said. On the Ether a sender knows that collision occured when the transceiver detects interference, that is when the bits it is receiving from the Ether (what the speaker is hearing) don’t match the bits it is trying to send (what the speaker is trying to say). So at this point we have detected a collision.

At a cocktail party, normally the speakers would all stop for a short moment, there would be a short awkward pause with polite smiles and possibly one speaker signaling the other to go ahead. Then at random one speaker would decide to continue his story after a small not very fixed amount of pause. Usually on the second try, it won’t happen that two people start speaking again at the same time.
In the Ethernet it works very similar in that when a collision is detected, all transmitting nodes abort their transmission and wait for a random short amount of time. (The mean of that waiting time is adjusted to the current load.) With this mechanism the probability that a collision occurs again on the second try can effectively be decreased to a low probability.

Another analogy to point out is that in the Ethernet which supports carrier detection, collision usually happens after a packet transmission during which two stations were deferring (waiting until the transmission is finished so that they can transmit). After the transmission is finished, the Ether will be unused for a moment, and once the two stations detect that they try to transmit at the same time. At a cocktail party the corresponding situation is that one person is telling a story. Two other person have thought of story they want to tell. After the first person is finished, there is a short pause, and the other two persons start off with their new story at the same moment.

Let me know what you think of this article and where you see room for improvement. I only just started this blog, so feedback of any kind is appreciated!

Related Articles:
Reading Notes: A Protocol for Packet Network Intercommunication
What's the difference between TCP and UDP?
Reading Notes: Data Center TCP (DCTCP)

No comments:

Post a Comment