Q & A
The least significant bit of the most-significant byte
by Scott Morris
Question:
November 5, 2002
Oh Great Jedi Master,
The sacred scrolls of former Jedi masters and standards
institutes all state that the first bit of a 48-bit hardware
address is the unicast/multicast bit (zero if by land, one if
by sea), and that the second bit is the globally
unique/locally re-writable bit -- 0 if globally unique, 1 if
IBM re-wrote it for local use. However, every MC frame I ever
sniffed (e.g. BPDU) had the first two bits set to 01, which,
according to the sacred scrolls, should not be MC but
UC-re-written. Am I missing something here?
,
Yours, a humble and unworthy Padawan,
--Flash Weldon
CCSI
Answer:
Padawan,
Sometimes the sacred scrolls of former Jedi are mired in
the fog of Dagobah. There is much meaning in them, yes. But not all is
clear upon first glance.
You are correct about the bit patterns. The least
significant bit of the most-significant byte (don't say
that 10 times fast) is also known as the I/G bit. This bit
signifies an Individual or Group address. Both multicast
addresses and broadcast addresses are considered a group address.
So, let's look at a Bridge Protocol Data Unit (BPDU). Switches (and
bridges) send these out as part of the 802.1D Spanning Tree Protocol
to prevent loops in a bridged network. BPDUs are sent out every port
of every switch every two seconds, and, as you say, are only used on
common LAN links (e.g. LAN segments between two switches). BPDUs are
sent to a destination address of 01-80-c2-00-00-00.
This brings up a very interesting question as you put
it. If two switches are talking to each other, why are they not using
unicast addresses? Think about a unicast conversation. For us to
converse, we assume that we know who we are. In other words, I would
have to know your address in order to talk to you. In which case, my
port's MAC would be the source address in the Layer 2 frame, and your
port's MAC would be the destination address in the Layer 2 frame. But
how would I know that? Or how would I know you were a switch
or other device participating in spanning tree?
The point is that I wouldn't know, nor is it necessary for
me to figure it out. Sending information (BPDU frames) to a
specific multicast address that we all know about is the
simplest method to be sure that we pay attention to the
information without needing to know about who is on the other
end (if anyone at all).
Cisco's Cisco Discovery Protocol (CDP) is exactly the same way. Using
01-00-0C-CC-CC-CC as the destination MAC address, it will flood
information out to all devices. The frame will only be processed by
devices that know what that multicast means. As an example of this
with CDP, if there's a non-Cisco (say it isn't so!) switch in between
two Cisco devices, the two Cisco devices will still see each other.
This is because a non-Cisco switch will see the multicast
address, have no idea what it is, and do what any switch
would do with unknown frames: Flood it out to all ports.
The second least-significant bit is used to signify LAA or
Locally Assigned Addresses. 0 means the burned-in address is
used, 1 means the MAC has been locally assigned. Token Ring
(IBM) uses this method a lot.
So those old Jedi scrolls really are accurate in what they say.
Sometimes, though, it's hard to figure out why things are applied
sometimes. ,
--Scott
Scott Morris, quadruple CCIE, JNCIE and all-around uber-geek, can often be seen
traveling around the world consulting and delivering CCIE training. He recently
accepted a new Senior CCIE Instructor position with Internetwork Expert! For more
information on him check out http://www.uber-geek.net
or for CCIE training check out http://www.internetworkexpert.com.
You can contact Scott via editor@tcpmag.com. You can contact Scott
about "The least significant bit of the most-significant byte" at editor@tcpmag.com.
|
| Current TCPmag.com
user comments for "The least significant bit of the most-significant byte" |
| No
postings yet. |
|