How Ethernet Sends Data - Computerphile

ComputerphileComputerphile
Education4 min read22 min video
Nov 6, 2025|70,809 views|2,662|126
Save to Pod

Key Moments

TL;DR

Ethernet data transmission evolves encoding for speed and reliability, from serial bits to complex 66-bit schemes.

Key Insights

1

Serial transmission (like old modems) uses start/stop bits and agreed baud rates for byte framing.

2

Manchester encoding, used in early Ethernet, doubles bit count, creating 100% overhead.

3

8b/10b encoding for Gigabit Ethernet maps 8 data bits to 10 code bits, reducing overhead to 25% and ensuring clock sync and DC balance.

4

Higher Ethernet speeds (10Gbps+) use 64b/66b encoding, employing pseudo-random data generation (LFSR) to achieve clock sync and DC balance with minimal overhead.

5

Encoding methods address physics challenges like signal degradation, clock synchronization, and DC balance.

6

These encoding techniques are foundational for various high-speed data communication standards beyond Ethernet, including PCI and SATA.

FUNDAMENTALS OF SERIAL DATA TRANSMISSION

The video begins by revisiting serial data transmission, highlighting its use in older technologies like floppy disks, modems, and serial cables. This method involves sending data bit by bit, requiring both sender and receiver to agree on clock speeds (baud rates) and a framing mechanism. Protocols like '8N1' specify the structure: one start bit to signal the beginning of data, eight bits of actual data, and one or more stop bits to mark the end. This ensures that even with long strings of zeros, the receiver can maintain synchronization, essential for reliable data transfer.

MANCHESTER ENCODING FOR EARLIER ETHERNET

Moving to Ethernet, the discussion introduces Manchester encoding, a method used in early Ethernet standards (1 Mbps and 10 Mbps). This encoding scheme uses two clock phases to represent a single bit, typically a transition in the middle of the bit period. A one might be a transition from low to high, while a zero is from high to low. While it ensures a clock transition for every bit, thus aiding synchronization and avoiding long periods of silence, it effectively doubles the number of bits to be transmitted, leading to a 100% overhead.

8B/10B ENCODING: THE GIGABIT SHIFT

Gigabit Ethernet (1 Gbps) and higher speeds introduced 8b/10b encoding. This approach maps 8 bits of data into a 10-bit code word. With 2^10 (1024) possible 10-bit combinations and only 2^8 (256) unique data bytes, there's ample room to select code words with specific properties. The primary goals are to ensure sufficient transitions for clock synchronization and to maintain 'DC balance,' meaning an roughly equal number of ones and zeros over time, preventing signal drift. This reduces the overhead to 25% (2 extra bits for every 8 data bits).

ADDRESSING DC BALANCE AND SIGNAL INTEGRITY

A critical challenge in high-speed data transmission is maintaining signal integrity, particularly 'DC balance.' Receivers often use automatic gain control (AGC) that averages the signal. If a signal is heavily biased towards ones or zeros, this averaging mechanism can fail, leading to errors. Encoding schemes like 8b/10b are designed to mitigate this by selecting specific 10-bit patterns that prevent excessively long runs of identical bits or ensure a near-equal distribution of ones and zeros, thereby keeping the average signal voltage close to the midpoint.

THE 64B/66B ENCODING FOR MODERN ETHERNET

For speeds of 10 Gbps and beyond, even the 25% overhead of 8b/10b encoding became too large. The 64b/66b encoding scheme was developed, representing 64 bits of data with 66 bits. Instead of large lookup tables, this method uses a Linear Feedback Shift Register (LFSR) to generate pseudo-random data. By XORing the data with this pseudo-random sequence, the transmitted signal appears random. This randomness naturally ensures sufficient bit transitions for clock recovery and DC balance, achieving a mere 3% overhead (2 bits for 64 data bits).

PSEUDO-RANDOMIZATION AND SYNCHRONIZATION IN 64B/66B

The clever part of 64b/66b encoding is how it achieves synchronization without explicit lookup tables for every combination. The transmission starts with a short preamble (two bits, e.g., 01 or 10). The subsequent 64 bits are 'scrambled' using a synchronized LFSR at both ends. After an initial 'learning' period (e.g., 58 bits), both the sender and receiver possess identical LFSR states. This allows the receiver to accurately 'descramble' the incoming data, effectively decoding the original 64 bits, while ensuring the data stream has the necessary properties for reliable transmission.

UNIVERSAL APPLICATION OF DATA ENCODING

The principles discussed for Ethernet are not limited to network cables. These sophisticated encoding techniques are fundamental to many high-speed digital communication systems. Examples include internal computer buses like PCI and serial ATA (SATA), and even wireless communication protocols. The need to reliably transmit ones and zeros efficiently, while overcoming physical limitations and synchronization issues, drives the development and adoption of these varied encoding strategies across diverse technological applications.

Ethernet Encoding Overheads

Data extracted from this episode

Encoding SchemeData BitsEncoded BitsOverhead
Manchester Encoding816 (effectively)100%
8B/10B Encoding81025%
64b/66b Encoding6466Approx. 3%

Common Questions

Serial transmission sends data one bit at a time, sequentially. Older methods like clapping demonstrated this, and it was fundamental to serial cables and dial-up modems, requiring agreed-upon clock speeds and framing bits (start/stop bits) to ensure data integrity.

Topics

Mentioned in this video

conceptSATA

Serial ATA, a computer bus interface that utilizes encoding methods comparable to those discussed for Ethernet.

productRFID tags

Radio-frequency identification tags that reportedly employ similar data transmission encoding tricks.

conceptserial transmission

A method of transmitting data one bit at a time, demonstrated through clapping, and used in older serial cables and dial-up modems.

concept8N1

A common serial communication protocol setting specifying 8 data bits, no parity bit, and 1 stop bit, used in modems.

companyJane Street

The channel sponsor, a quantitative trading firm offering educational programs and internships for students.

productEthernet cable

A type of cable used for transmitting data at various speeds, with different encoding strategies employed for faster versions.

conceptFM encoding

A data encoding method discussed in relation to old hardware, mentioned as a precursor to other methods.

conceptMFM encoding

A data encoding method discussed in relation to old hardware and similar to FM, having a 100% overhead.

conceptManchester encoding

An encoding scheme developed at the University of Manchester, used in 1-megabit and 10-megabit Ethernet, which uses transitions in the middle of each bit period for clock recovery but introduces 100% overhead.

concept8B/10B encoding

An encoding technique used in 1-gigabit Ethernet and faster, where 8 bits of data are expanded to 10 bits to ensure sufficient transitions for clock synchronization and DC balance, resulting in a 25% overhead.

conceptPCI bus

An internal computer bus standard that uses encoding strategies similar to Ethernet.

More from Computerphile

View all 82 summaries

Found this useful? Build your knowledge library

Get AI-powered summaries of any YouTube video, podcast, or article in seconds. Save them to your personal pods and access them anytime.

Try Summify free