Page 1 of 2
Ethernet – you must have heard of it. You might even have confused it with the Internet or even the web.
The fact is that Ethernet is the “transport” that makes huge chunks of the Internet work as well as nearly all modern local and not-so-local networks. The story of how Ethernet was invented and how it works is quite a story – so read on.
Norman Abramson, born 1932, Boston
Norman Abramson was a surf freak – which is 1970s speak for someone just a little enthusiastic about the sport, or perhaps religion, of surf boarding. What was a surfing boy to do but to move to Hawaii in 1968 and enjoy.
The only problem was that Abramson was a computer scientist and so had to do something to earn a living at the University of Hawaii. He was also very irritated by the fact that the University was spread across the islands and more to the point irritated by the fact that the University had computer users spread all across the islands. He decided that the best way to solve the problem, and remember that computers were expensive at the time, was to link users to the central computer using radio channels.
This was cheap but radio channels were, and still are, in short supply and allocating one channel per user was impossible and a nonsense. The reason that it was a nonsense is that a typical user of the time typed slowly on a teletype and didn’t really expect much data back in response. As a result there was little chance that any single user could make use of a full radio channel even if they could be allocated one.
As a result of Abramson invented ALOHAnet. This used a small number of radio channels shared between the users. The problem that Abramson solved was how to share the channels without any master synchronising. How?
The basic idea was to use the same technique we use to talk in a group. If two people speak at the same time the person listening doesn’t hear what the other says and there is no response. The ALOHAnetworked in the same way. Terminals transmitted data on the channel whenever they felt like it and then waited for an acknowledgment from the central computer. If they got an acknowledgement then they knew that they had the channel to themselves and the message got through. If they didn’t receive an acknowledgment they knew that they had transmitted at the same time.
The clever part is what happened next. All of the parties to a “collision” waited for a random time or “backed off” for a random time and then retransmitted their data.
The first ALOHA channel
This worked! Most of the time the few channels were shared reasonably efficiently. As long as the channels weren’t overloaded collisions were few and backing off cleared thecongestion. Abramson could get on with surfing while the students and staff got on with ... using the computer.
The early Internet
Surfing in the web sense was still some years away but the Internet was already underway.
ARPAnet was the start of the Internet and by the time Abramson was building ALOHAnet it was between 4 and 15 nodes in size. Unlike ALOHAnet the primitive Internet used direct dedicated cable connections between the machines. When Abramson was at a meeting with some ARPAnet top brass he leaned over, when no one was in the room and wrote, as a joke, an entry in an organiser that ALOHAnet should be connected in January. When the month arrived so did the necessary equipment!
Robert Melcanton Metcalfe, born 1946, Brooklyn, New York
The next stage of the story is more refinement of the basic idea. Enter Robert Metcalfe, an early Internet enthusiast. He knew about ALOHAnet and started to think about the problem of connecting computers together. With the primitive Internet only connecting a small number of computers it was reasonable to run a cable between each pair of machines but when the Internet started to grow this quickly became ridiculously expensive.
Metcalfe started to think about how a single wire connecting a number of machines could be shared. The clever idea was to extend the idea of transmit, listen, back-off to listen, transmit, listen and back-off. Classic cocktail party strategy if every I heard it!
What do you do when you are in a group of people talking? If you are socially well adapted then you wait until there is a silence and when you start speaking you monitor the situation to see if you are talking at the same time as another person. If you are then you stop, back off and wait for the silence to return. If this all sounds familiar then you have more or less invented the principles behind Ethernet.
Take a single cable. Originally this was a very thick armoured coaxial cable that was threaded through a building. Connect computers via “tap” connections which give all of them equal access to the transmission medium. Any machine connected to the cable can transmit data and receive data but if more than one machine tries to transmit the result is a collision and nothing gets through. What Metcalfe invented was essentially the “party etiquette” algorithm.
Each Ethernet interface contained the electronics necessary to listen for a quiet time on the cable – this is called “carrier sense”.
If it finds one it can start transmitting a packet, a short burst of data. Packets are of a variable size but a multiple of a basic time slot. If a collision is detected then all parties to the collision wait for a random time that is a multiple of the time slot and then try again.
If they detect a second collision they back off for a random time that is on average twice as long and so on each time a collision is detected.
This is called “exponential back off”. As long as the cable isn’t too heavily loaded the protocol works to get most of the data through when it is needed.
The Ethernet protocol is usually referred to as CSMA/CD or “Carrier Sense Multiple Access/Collision Detect” and you should now be able to understand the origin of each of these terms.