Multicast MAC and Unicast IP Address

G

Guest

Guest
Archived from groups: comp.dcom.lans.ethernet (More info?)

Is it allowed to have a multicast MAC address linked to a unicast IP
address? If not what standard specifies this?

I know that this mechanism is used for clustering but that certain vendors
do not like it very much. I am interested in knowing what the rules are
because up to now everybody just told me that it is a strange way to use
multicast but some also said that it is illegal. Without proving it.

So let me know if you know about a standard specifying this.

Thanks.
Mat
 
G

Guest

Guest
Archived from groups: comp.dcom.lans.ethernet (More info?)

> Is it allowed to have a multicast MAC address linked to a unicast IP
> address? If not what standard specifies this?
> I know that this mechanism is used for clustering but that certain vendors
> do not like it very much. I am interested in knowing what the rules are
> because up to now everybody just told me that it is a strange way to use
> multicast but some also said that it is illegal. Without proving it.

RFC1122, page 67:
When a host sends a datagram to a link-layer broadcast address,
the IP destination address MUST be a legal IP broadcast or IP
multicast address.

A host SHOULD silently discard a datagram that is received via
a link-layer broadcast (see Section 2.4) but does not specify
an IP multicast or broadcast destination address.

I can think of several stacks (including ones on which I've worked myself),
that would fail in the scenario you describe: they flag the packet
as broadcast (multicast = limited broadcast) and hence,
for instance TCP SYN packets are dropped on the floor in this case.

Geert Jan
 
G

Guest

Guest
Archived from groups: comp.dcom.lans.ethernet (More info?)

In article <4305c5d5$0$11080$e4fe514c@news.xs4all.nl>,
Geert Jan de Groot <> wrote:

> > Is it allowed to have a multicast MAC address linked to a unicast IP
> > address? If not what standard specifies this?
> > I know that this mechanism is used for clustering but that certain vendors
> > do not like it very much. I am interested in knowing what the rules are
> > because up to now everybody just told me that it is a strange way to use
> > multicast but some also said that it is illegal. Without proving it.
>
> RFC1122, page 67:
> When a host sends a datagram to a link-layer broadcast address,
> the IP destination address MUST be a legal IP broadcast or IP
> multicast address.
>
> A host SHOULD silently discard a datagram that is received via
> a link-layer broadcast (see Section 2.4) but does not specify
> an IP multicast or broadcast destination address.
>
> I can think of several stacks (including ones on which I've worked myself),
> that would fail in the scenario you describe: they flag the packet
> as broadcast (multicast = limited broadcast) and hence,
> for instance TCP SYN packets are dropped on the floor in this case.
>


The RFC discusses *broadcasts*; it is moot on the issue of *multicasts*.
A multicast is NOT a broadcast; the standards treat them as distinct
entities. I believe that the use of a multicast MAC address to send a
unicast IP packet to a group of devices (e.g., a cluster) is a perfectly
correct use of link-layer multicast, assuming that the cluster software
knows how to deal with the fact that multiple devices are receiving the
same IP datagram.

The reason for the wording of RFC1122 becomes clearer when one considers
that some link-layer technologies provide broadcast capability, but not
Ethernet-style multicast (e.g., ARCnet). The RFC simply says that
link-layer broadcast can be used to send IP broadcast or IP multicasts,
but not IP unicasts. The RFC says nothing about how one would use an
Ethernet-style multicast mechanism.


--
Rich Seifert Networks and Communications Consulting
21885 Bear Creek Way
(408) 395-5700 Los Gatos, CA 95033
(408) 228-0803 FAX

Send replies to: usenet at richseifert dot com
 
G

Guest

Guest
Archived from groups: comp.dcom.lans.ethernet (More info?)

Geert Jan,

thanks a lot for this hint. That almost explains everything. With some
very good lawyers you could argue that multicast MAC addresses are not
specified explicitly so they are not addressed in the broadcast section.
But as you say: multicast = limited broadcast. Therefore Nokia,
Microsoft and StoneSoft will have a hard time explaining their cluster
implementations.

Cheers. The next Grolsch is on you!
Mat

Geert Jan de Groot wrote:
>>Is it allowed to have a multicast MAC address linked to a unicast IP
>>address? If not what standard specifies this?
>>I know that this mechanism is used for clustering but that certain vendors
>>do not like it very much. I am interested in knowing what the rules are
>>because up to now everybody just told me that it is a strange way to use
>>multicast but some also said that it is illegal. Without proving it.
>
>
> RFC1122, page 67:
> When a host sends a datagram to a link-layer broadcast address,
> the IP destination address MUST be a legal IP broadcast or IP
> multicast address.
>
> A host SHOULD silently discard a datagram that is received via
> a link-layer broadcast (see Section 2.4) but does not specify
> an IP multicast or broadcast destination address.
>
> I can think of several stacks (including ones on which I've worked myself),
> that would fail in the scenario you describe: they flag the packet
> as broadcast (multicast = limited broadcast) and hence,
> for instance TCP SYN packets are dropped on the floor in this case.
>
> Geert Jan
>
>
 
G

Guest

Guest
Archived from groups: comp.dcom.lans.ethernet (More info?)

Rich Seifert wrote:
> In article <4305c5d5$0$11080$e4fe514c@news.xs4all.nl>,
> Geert Jan de Groot <> wrote:
>
>
>>>Is it allowed to have a multicast MAC address linked to a unicast IP
>>>address? If not what standard specifies this?
>>>I know that this mechanism is used for clustering but that certain vendors
>>>do not like it very much. I am interested in knowing what the rules are
>>>because up to now everybody just told me that it is a strange way to use
>>>multicast but some also said that it is illegal. Without proving it.
>>
>>RFC1122, page 67:
>> When a host sends a datagram to a link-layer broadcast address,
>> the IP destination address MUST be a legal IP broadcast or IP
>> multicast address.
>>
>> A host SHOULD silently discard a datagram that is received via
>> a link-layer broadcast (see Section 2.4) but does not specify
>> an IP multicast or broadcast destination address.
>>
>>I can think of several stacks (including ones on which I've worked myself),
>>that would fail in the scenario you describe: they flag the packet
>>as broadcast (multicast = limited broadcast) and hence,
>>for instance TCP SYN packets are dropped on the floor in this case.
>>
>
>
>
> The RFC discusses *broadcasts*; it is moot on the issue of *multicasts*.
> A multicast is NOT a broadcast; the standards treat them as distinct
> entities. I believe that the use of a multicast MAC address to send a
> unicast IP packet to a group of devices (e.g., a cluster) is a perfectly
> correct use of link-layer multicast, assuming that the cluster software
> knows how to deal with the fact that multiple devices are receiving the
> same IP datagram.
>
> The reason for the wording of RFC1122 becomes clearer when one considers
> that some link-layer technologies provide broadcast capability, but not
> Ethernet-style multicast (e.g., ARCnet). The RFC simply says that
> link-layer broadcast can be used to send IP broadcast or IP multicasts,
> but not IP unicasts. The RFC says nothing about how one would use an
> Ethernet-style multicast mechanism.
>
>
> --
> Rich Seifert Networks and Communications Consulting
> 21885 Bear Creek Way
> (408) 395-5700 Los Gatos, CA 95033
> (408) 228-0803 FAX
>
> Send replies to: usenet at richseifert dot com

Hi Rich,

as I am no implementor or LAN HW I ask myself the question:

How if not by looking at the multicast bit does a switch decide to
multicast/broadcast a frame? I doubt that many implementors make a
distinction between broadcast and multicast by looking at more bits than
that one.

But you are right, it's not specified clear enough.

Thanks for your suggestion.

Mat

----------------------------------------------------------------------
-------------
Matthias Schärer
Network Engineer, Instructor
Mob: +41 79 419 4557

http://www.anyweb.ch - All you want to know about taking care of
networks is here.
http://www.anyweb-osys.ch - All you want to know about networking
training is here.
(Don't be afraid to ask.)

In case of trouble with resending emails to me
mailto:matthias.schaerer@anyweb.ch
 
G

Guest

Guest
Archived from groups: comp.dcom.lans.ethernet (More info?)

In article <4305f422$1_2@news.cybercity.ch>,
Matthias Schaerer <matthias.schaerer@anyweb.ch> wrote:

>
> How if not by looking at the multicast bit does a switch decide to
> multicast/broadcast a frame? I doubt that many implementors make a
> distinction between broadcast and multicast by looking at more bits than
> that one.
>

The default action of a switch is the same for both multicasts and
broadcasts; the frame is forwarded onto all ports except the port on
which the frame arrived. Thus, for this simple case, the switch need
only look at the unicast/multicast bit, as you note.

The standards allow for more complex handling of multicast than this
simple default behavior, however. Automatic multicast pruning (e.g.,
using GMRP) can restrict the propagation of specific multicast addresses
onto specific ports. Manual configuration of the switch's forwarding
tables (by a network administrator) can also be used to control the
handling of specific multicast frames. In both of these cases, all 48
bits of the multicast must be examined in order to make the appropriate
forwarding decision. From the switch designer's perspective, it may be
easier to think of a multicast not as a "limited broadcast," but as a
unicast that may be forwarded onto more than one port. The entire
address is compared to the entries in a lookup table, which outputs the
set of ports onto which to forward the frame. The output for a unicast
will generally be only a single port; the output for a multicast will
generally be one or more ports. Thus, unicasts and multicasts are
processed identically.


--
Rich Seifert Networks and Communications Consulting
21885 Bear Creek Way
(408) 395-5700 Los Gatos, CA 95033
(408) 228-0803 FAX

Send replies to: usenet at richseifert dot com
 
G

Guest

Guest
Archived from groups: comp.dcom.lans.ethernet (More info?)

Rich Seifert wrote:

(snip)

>>RFC1122, page 67:
>> When a host sends a datagram to a link-layer broadcast address,
>> the IP destination address MUST be a legal IP broadcast or IP
>> multicast address.
>>
>> A host SHOULD silently discard a datagram that is received via
>> a link-layer broadcast (see Section 2.4) but does not specify
>> an IP multicast or broadcast destination address.

(snip)

> The reason for the wording of RFC1122 becomes clearer when one considers
> that some link-layer technologies provide broadcast capability, but not
> Ethernet-style multicast (e.g., ARCnet). The RFC simply says that
> link-layer broadcast can be used to send IP broadcast or IP multicasts,
> but not IP unicasts. The RFC says nothing about how one would use an
> Ethernet-style multicast mechanism.

It also nicely removes the possibility of claiming compliance for
a device that sends every packet as a link layer broadcast.

Still, I would not be surprised if some systems accept them.

-- glen
 
G

Guest

Guest
Archived from groups: comp.dcom.lans.ethernet (More info?)

In article <LKGdnRrZNoWu4pTeRVn-gw@comcast.com>,
glen herrmannsfeldt <gah@ugcs.caltech.edu> wrote:

> Rich Seifert wrote:
>
> > The reason for the wording of RFC1122 becomes clearer when one considers
> > that some link-layer technologies provide broadcast capability, but not
> > Ethernet-style multicast (e.g., ARCnet). The RFC simply says that
> > link-layer broadcast can be used to send IP broadcast or IP multicasts,
> > but not IP unicasts. The RFC says nothing about how one would use an
> > Ethernet-style multicast mechanism.
>
> It also nicely removes the possibility of claiming compliance for
> a device that sends every packet as a link layer broadcast.
>
> Still, I would not be surprised if some systems accept them.
>

And that would not necessarily be a Bad Thing (tm).

Seifert's Law of Networking #24:
Be conservative in what you send, and liberal in what you receive.

That is, always send your own data in conformance with the protocol
specification, but don't necessarily discard data received from others
that is not in strict syntactical compliance, if you can reasonably make
sense of the data and use it properly. "Forgive others their sins," so
to speak.


--
Rich Seifert Networks and Communications Consulting
21885 Bear Creek Way
(408) 395-5700 Los Gatos, CA 95033
(408) 228-0803 FAX

Send replies to: usenet at richseifert dot com