Mike,
 
I recently had this same issue come up.  Luckily, I had a friend who seems to know everything about everything that showed me the best way to understand it.  I caught on in about 10 minutes.  Let me illustrate it below.
 
1. Ethernet and Token Ring both read bytes from left to right.
2. The difference is that they read the bits within those bytes the exact  
    opposite. Ethernet starts with bit 0 on the far right side of
    the byte (least significant bit; canonical) and reads to the left. Token Ring
    does the exact opposite and reads the bits from left to
    right (most significant; non-canonical).
 
Because of this the hardware must be able to make the translation between the two. We start with the numbers 0-9 and A-F for Hex. This is the way that MAC addresses are expressed by both protocols just backwards (sorta..)  Since we're really translating binary here we see that each character in the MAC address is represented by four bits (0000). Remember that we are going by decimal 2s so the 4 bits would be (8421) represented in 1s and 0s. By taking the two outside bits and trading their places and then taking the inside bits and doing the same thing we make the conversion. Look below:
           
0 = 0     0000        0000
1 = 8     0001        1000
2 = 4     0010        0100
3 = C     0011        1100
4 = 2     0100        0010
5 = A     0101        1010
6 = 6     0110        0110
7 = E     0111        1110
8 = 1     1000        0001
9 = 9     1001        1001
A = 5     1010        0101
B = D    1011        1101
C = 3     1100        0011
D = B     1101        1011
E = 7     1110        0111
F = F     1111        1111
 
There is one more thing to remember.  The MAC that is being converted must be broken down into what is called niblets.  That is, in segments of two.  For example, take the MAC address 00.10.a4.a9.01.3e. Notice that the dots show what I mean by segmenting it up.  Here comes the easy part.  For each niblet switch the two character's places. Then do the conversion from the chart above.  Look below:
 
00.10.a4.a9.01.3e   Ethernet
 
00.01.4a.9a.10.e3
 
00.08.25.95.80.7c   Token
 
I hope that this is helps and didn't confuse you.  If you have any questions about it please send me a message.
 
Brgds,
Brian Burke

Reply via email to