All the talk about clocking means it's happy fun digital communication education time! So how does Ethernet correctly set clock at these blazing speeds of 100 Mbs, 1 or 10 Gbs?
Well you could think the transmitter and receiver would have their own internal clocks and just sample based on that? Now that wouldn't work as they could never be guaranteed to be synchronized. Thankfully Ethernet frames have a Frame Checksum Sequence (FCS) which is nothing more than a bitwise hash of the entire frame, that way the receiver knows if the frame has been modified. The receiver runs the same hash on the entire frame, if the FCS is good it knows the frame is intact. If not, it's tossed and considered "bad". This is why "the network" can NEVER corrupt data, there is built in error checking.
So about that clock...on the front end of every single ethernet frame is what's called the Preamble. It's a seqence 64 bits of ones and zeros (high/low voltage) in a specific pattern that is allows the receiver to synchronize it's clock for this specific frame. 10101011110000101100, something like that I forget the exact sequence but you get the idea.
So the preamble is what sets the receivers clock, and every single ethernet frame includes these 64 bits. When folks talk about normal ethernet frame size of 1514 bytes this does NOT include the preamble. This is why you can never achieve 100% utilization on ethernet. The preamble is always there and is not part of the frame, at best using maxium frame sizes you can only get 98.5 or so percent, it's even worse if the frame size is smaller because the preamble then becomes a larger percentage of the frame in question.
To learn more google Ethernet Frame Structure
Well you could think the transmitter and receiver would have their own internal clocks and just sample based on that? Now that wouldn't work as they could never be guaranteed to be synchronized. Thankfully Ethernet frames have a Frame Checksum Sequence (FCS) which is nothing more than a bitwise hash of the entire frame, that way the receiver knows if the frame has been modified. The receiver runs the same hash on the entire frame, if the FCS is good it knows the frame is intact. If not, it's tossed and considered "bad". This is why "the network" can NEVER corrupt data, there is built in error checking.
So about that clock...on the front end of every single ethernet frame is what's called the Preamble. It's a seqence 64 bits of ones and zeros (high/low voltage) in a specific pattern that is allows the receiver to synchronize it's clock for this specific frame. 10101011110000101100, something like that I forget the exact sequence but you get the idea.
So the preamble is what sets the receivers clock, and every single ethernet frame includes these 64 bits. When folks talk about normal ethernet frame size of 1514 bytes this does NOT include the preamble. This is why you can never achieve 100% utilization on ethernet. The preamble is always there and is not part of the frame, at best using maxium frame sizes you can only get 98.5 or so percent, it's even worse if the frame size is smaller because the preamble then becomes a larger percentage of the frame in question.
To learn more google Ethernet Frame Structure