The logic is simple. Each NIC has a unique Ethernet address,
which is put onto the NIC by the NIC manufacturer. The sender just puts the
correct Ethernet address in the header, so when another NIC receives the frame,
it can decide whether to process the frame or ignore it.
The Ethernet header includes both a source address field and a
destination address field. For instance, Larry included his own Ethernet address
in the source address field of the frame in Figure 5-5. Of course, Larry put Bob's Ethernet address
into the destination address field.
Ethernet standards specify that addresses be 48 bits long (6
bytes). You can write down Ethernet addresses as binary numbers, but writing
down 48 binary 0s and 1s can be a pain in the neck. The creators of Ethernet
could have decided to record Ethernet addresses as decimal numbers, but as it
turns out, converting between decimal and binary isn't that easy to do. However,
there's a better way to represent binary numbers by using fewer digits: hexadecimal (hex). Hex is an alternative numbering system,
similar to decimal and binary. With decimal, you have 10 numerals (0, 1, 2, and
so on, through 9). With hexadecimal, the numerals are 0, 1, 2, 3, 4, 5, 6, 7, 8,
9, A, B, C, D, E, F. Essentially, A represents decimal 10, B represents decimal
11, and so on, with F representing decimal 15.
Hex can be used easily to represent binary numbers. In fact, a
single hex digit can represent four binary digits. For instance, Table 5-1 shows each combination of a
4-digit binary number and its hex equivalent.