I Don't Understand a Thing You're Saying
So, someone drives up to your house and parks in your driveway.
(Why do we park in driveways, and drive on parkways, anyway?) The person comes
up to the door, rings the bell, and you answer it. The stranger smiles and
confidently says, "Jwl! Sfk oewp fkas lal. Wwjj. KK45i!!!" Of course, this makes
no sense to you, so you ask the visitor to repeat himself, after which he says,
"Hi, I'm Archie. If you're Bob, you just won our grand prize of $1 billion." "Oh
my! Yes, I am Bob. Please come in."
With Ethernet, a similar process occurs for recognizing that a
received frame makes no sense. When the receiving NIC interprets the incoming
electrical signal as meaning some string of binary 0s and 1s, the receiver might
misinterpret the meaning. That can happen because the electrical signal has
changed as it passed over the wire, affected by resistance in the wire, EMI,
collisions, and other factors. Simply put, the sender might send a 1 and the
receiver might think it was a 0, or vice versa.
To recognize the error, Ethernet uses a field in the Ethernet
trailer called the frame check sequence (FCS) field.
The FCS field holds a 4-byte number that allows the receiver to notice that the
frame that it received actually had bit errors in it.
To check for errors, the receiver must rely on the value of the
FCS field as set by the sender. The sender runs a mathematical formula, with the
input being the contents of the Ethernet frame to be sent, up to the Ethernet
trailer. The sender places the results of the formula into the trailer FCS
field. Upon receipt of the frame, the receiver applies the same formula to the
same part of the Ethernet frame (everything up to the trailer). If the result of
the formula as calculated by the receiving NIC is the same as the value in the
transmitted FCS, then no errors occurred. If the values do not match, then an
error has occurred. Figure 5-7 outlines
the process.