First, IGMP (like ICMP) is a data-link-level protocol that's implemented by the 
operating system.  It is something that application developers (who live above 
the operating system) should never concern themselves with.

You are apparently referring to "source-specific multicast", which is a type of 
IP multicast - using a special range of the IP multicast address space - that 
also specifies a single IP *source* address (for one-to-many multicast).  This 
is more easily implemented - especially over wide-area networks - than 
traditional many-to-many IP multicast, in which there is no specific multicast 
source.  Operating systems implement both kinds of IP multicast using the IGMP 
protocol, but once again, application developers (like you) don't need to 
concern yourself with the workings of the operating system.

But yes, we (the "LIVE555 Streaming Media" software) implements both kinds of 
IP multicast: traditional 'any source' multicast (ASM), and 'source-specific 
multicast (SSM).  You can see several examples of this in the "testProgs" demo 
applications (grep for "SSM" if you care).

Now, you were apparently referring to the difference between the following two 
sets of socket options (i.e., for "setsockopt()" calls):
        IP_ADD_MEMBERSHIP, IP_ADD_SOURCE_MEMBERSHIP (etc.), and
        MCAST_JOIN_GROUP, MCAST_JOIN_SOURCE_GROUP (etc.)
These are used for two different APIs (to the *same* IGMP functionality).  The 
first set of socket options - that we use - are used with an API that uses IP4 
IP addresses only (see RFC 3478, section 4).  The second set of socket options 
are used with an alternative API that uses IP addresses that might be either 
IPv4 or IPv6 (see RFC 3478, section 5).  (If only IPv4 addresses are being 
used, then the two APIs are equivalent, but some older systems might not 
support the second API; that's why we don't use it.)


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to