The humble Ethernet frame is an impressive thing. Its five simple parts have an amazing history and an equally amazing career.
Ethernet frames have remained the same since 1979. They’re used to carry the Web, movies, TV, updates for our computers, the cloud… these frames are the major glue of the Internet. In some ways, the Ethernet frame holds modern civilization together.
Oh, and it carries block storage, as in ATA-over-Ethernet.
Born out of necessity
Bob Metcalf had just finished a Ph.D. dissertation on building what was essentially a router for the Internet’s predecessor, the Arpanet; the doctoral committee at Harvard rejected it.
This presented a problem because Metcalf had already accepted a job at Xerox’s famous Palo Alto Research Center (PARC), a position that required a Ph.D. So he traveled back to Boston to sort things out, crashing on a friend’s couch. The combination of stress, jet lag, and the uncomfortable couch meant that Metcalf was in for a sleepless night.
Rather than tossing and turning, he dug out a paper on the ALOHAnet radio network done by Norm Abramson’s team at the University of Hawaii. While reading it, Metcalf made a connection: if he replaced radio with copper wire, he could implement a highly efficient network.
Back at Xerox PARC, he and a few colleagues put together the first Ethernet. At first, it ran a modest 3 million bits per second, not bad for a time when networking ran at 56 thousand bits a second. All the test stations were connected to a single length of 50 ohm copper cable. Everyone could hear everyone else. But from day one, the Ethernet frame had its five simple parts.
5 Parts of Ethernet
- Destination address
- Source address
- Ethernet type
- Data frame
- Frame check sequence
Leading the way is the destination address, followed by the source address. It’s easy for all the listening stations to know if a frame is for them; all they have to do is match the destination address on the front of the frame. If the address doesn’t match, the station stops listening.
At first, these frames were only eight bits, but when Xerox teamed up with Digital Equipment Corporation and Intel to standardize the technology, a spectacular idea was born: forty-eight bit addresses with an organization-registered part and an organization-assigned part.
The use of forty-eight bits must have been controversial at the time. In the early 70s, that was a massive number of bits compared to everything else. Early Ethernet mostly ran on machines that only had sixteen bits of memory address.
But having three bytes of the address be registered and another three bytes being assigned by the equipment manufacturer was brilliant. It meant that every Ethernet adaptor could have a universally unique address. Those bits only give one in 281,474,976,710,656 combination!
Next in the frame is a sixteen bit Ethernet type field. If it’s 0x800, it’s IP. If it’s 0x88a2, it’s ATA-over-Ethernet (AoE). Simple.
Then the data frame. In the 1970s, the data field was 1500 bytes long. This served us well for many years. Then, as the bit rates went from 10 Mb/s, to one hundred, to one billion, and now ten, twenty-five, forty, and one hundred billion, putting a few more bits in the frame seemed like a good idea.
Us Coraid folks certainly liked the idea of more bits. The universal non-standard extension called Jumbo Frames allows 9,000 bytes to be in the data field. For AoE, that was a boon. A single AoE message can carry two file system blocks.
The change from 1,500 to 9,000 required no other change to the Ethernet frame, proof of the simplicity and elegance in its design.
Bringing up the rear is the number CRC32 frame check sequence (FCS). This little bit of technology is found everywhere on modern systems. These 32 bits are a mathematical hash of the contents of the frame. Change the frame without changing the FCS and the destination will know. The FSC protects the data in an AoE message.
The underlying technology that carries these frames has radically changed over the years. The first 10 Mb/s Ethernet ran off of a 50ohm coax as big as your thumb and required a drill and a ladder to install a station. It used simple Manchester encoding, and collision detection was easy: if the average voltage on the cable fell to lower than 50% of the max value, there was more than one person talking on the cable.
Today, we use point-to-point unshielded twisted pair, known as SFP+ direct access cables, along with LR and SR fiber optics. The four twisted pair send and receive simultaneously from both ends. The transmitter filters out the “echo” of itself on its receive side. A huge advance in complexity, the current 10GbE uses 16 level pulse-amplitude modulation, and THP precoding instead of the simple Manchester coding of yesteryear.
Through it all, the humble Ethernet frame has remained the same. That’s truly a tribute to the elegance and simplicity of the original design.