On 28/02/2011, at 10:30 AM, Les Mikesell wrote:

> On 2/27/11 12:50 PM, John R Pierce wrote:
>> On 02/27/11 9:16 AM, Les Mikesell wrote:
>>> Is there any difference in efficiency in how well the NIC hardware filters 
>>> the
>>> assigned addresses?

Yes, as mentioned below, the NIC is given a list of Ethernet MAC addresses. 
Some [old, cheap] cards had a very small filter list [occassionally just a 
single entry], so the NIC would have to pass up pretty much any multicast so 
the next-layer (IP) could decide if it was wanted or not. This shouldn't be an 
issue today, unless you're using very old or very cheap cards.

>> NIC's work in MAC addresses, not IP.
> 
> Sort-of.  Most NICs know enough about IPv4 multicast to at least help filter 
> unwanted addresses without bothering the CPU.

Not quite. NICs have a list of Ethernet multicast MAC addresses that it can be 
assigned to pass on up the stack. These Ethernet multicast MAC addresses are 
determined from the IPv6 or IPv4 multicast address, but this is a kernel/driver 
issue, the NIC still does't have to know anything about IP.

Although, there certainly are NICs which know about higher-level protocols 
(TCP-offload engine), but that's a separate issue.

Ethernet _switches_, on the other hand, really need to know enough about IPv4/6 
multicast in order to figure out which switch ports it should forward multicast 
traffic to (otherwise it floods, and we end up with the same traffic flow as 
broadcast). In IPv4, the switch needs to implement what is commonly called IGMP 
snooping. IGMP being the IPv4 protocol client devices use for subscribing to 
multicast groups. In IPv6, IGMP is instead part of ICMPv6 called Multicast 
Listener Discovery (typically version 2), and the switch feature to look for is 
called MLD[v2] snooping.

Hope this helps to clear up any misunderstanding.
Cameron
_______________________________________________
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos

Reply via email to