Abstract:
Methods and apparatus for providing request compatibility in a multicast system are disclosed. In one aspect, a layer 2 switch is configured to receive traffic requests from a group of receivers, determine whether the traffic requests contain incompatible request types. If incompatible request types exist, then the switch may separate the traffic requests into groups based on type, and send the requests of different types to a router from distinct addresses.

Description:
BACKGROUND 
     1. Field of the Disclosure 
     The disclosure relates generally to data communications, and in particular, to providing a safe Single Source Multicasting (SSM) reporting scheme requiring little or no user configuration nor dependency on additional protocols. 
     2. The Prior Art 
     Audio/video and any other type of content traffic can be provided through Intranets and the Internet to homes and businesses via a mechanism called IP multicast in which the traffic is only sent once by the content source, and replicated by the network to all interested receivers. Typically, the traffic is requested by receivers using a protocol called the Internet Group Membership Protocol (IGMP). Via IGMP, a receiver specifies a so called IP multicast group G identifying the content the receiver is interested in (like a TV station) and, starting with version 3 of IGMP, optionally also the IP address of the content source. 
       FIG. 1  shows a diagram of a prior art multicasting system  100 . A content source  105  with IP source address S is coupled to a network  110 , such as the Internet, and is configured to stream content traffic to a group of receivers  140  using IP multicast group address G. Typically, the receivers  140  are coupled to the network  110  through a Local Area Network (LAN)  150 , such as an Ethernet network, which is coupled to the Internet through router  120 . 
     In a typical example, one or more of the receivers Rn on the network  140  desire to acquire content provided by the source  105 . 
     As is known in the art, IP multicast are packets are transmitted with a pair of addresses in the form of (S,G), where S is the source address, and G is the address defining a group of destinations, such as the group of receivers  140 . Typically, the address range for S is from the IP address 1.0.0.0 to 223.255.255.255 and the address range for G is from the IP address 224.0.0.0 to 239.255.255.255. 
     When a receiver  140  desires to receive content from the source  105 , it will send IGMP messages towards router  120  to indicate the content it is interested in group address. The router  120  and other routers within the network cloud  110  will use IP multicast routing protocols to acquire the content, and send it into LAN  150 . The content will be available to all systems connected to the LAN; thus, those receivers who do not desire the content will simply ignore the content. 
     Router  120  and the other routers in  110  can run one of two forms of IP multicast routing: Any Source Multicast (ASM) or Source Specific Multicast (SSM). If they run ASM, it is sufficient for router  120  to receive IGMP messages from receivers on  150  that do only contain the group address G, the source address S is optional. If they run SSM then router  120  must receive IGMP messages with both the IP multicast group address G and the IP source address S, or else router  120  and routers in  110  will not be able to correctly forward the content to LAN  150 . 
       FIG. 2  contains the structure of  FIG. 1  and further includes an L2 switch  130  provided to more efficiently manage bandwidth on the access network  150 . To prevent content from clogging the ports of receivers, networks typically include the L2 switch  130 , also known as a LAN switch, which is a device configured to direct traffic only towards interested ports. 
     This directing may be accomplished through IGMP “snooping”, where L2 switch passively listens to IGMP messages and learns about the traffic demands on the host(s). L2 switches are typically designed to be a plug-and-play product that requires little or no user configuration. 
     Further versions of the IGMP protocol have attempted to add features and functionality. For example, IGMP version 2 can only provide for Any Source Multicasting (ASM), which accepts traffic from any source. 
     IGMP version 3 defines two types of requests. One host request is a group request that specifies a particular source be included, i.e. [G, INC{Sn}]. Another request is a group request that excludes a particular source, i.e. [G, EXL{Sn}]. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWING FIGURES 
         FIG. 1  is a conceptual block diagram of a prior art multicast system. 
         FIG. 2  is a conceptual block diagram of a prior art multicast system including a layer 2 switch. 
         FIG. 3  is a conceptual block diagram of a multicast system configured in accordance with the teachings of this disclosure. 
         FIG. 4  is a flow diagram of a multicast system configured in accordance with the teachings of this disclosure. 
     
    
    
     DETAILED DESCRIPTION 
     Persons of ordinary skill in the art will realize that the following description is illustrative only and not in any way limiting. Other modifications and improvements will readily suggest themselves to such skilled persons having the benefit of this disclosure. In the following description, like reference numerals refer to like elements throughout. 
     This disclosure may relate to data communications. Various disclosed aspects may be embodied in various computer and machine readable data structures. Furthermore, it is contemplated that data structures embodying the teachings of the disclosure may be transmitted across computer and machine readable media, and through communications systems by use of standard protocols such as those used to enable the Internet and other computer networking standards. 
     The disclosure may relate to machine readable media on which are stored various aspects of the disclosure. It is contemplated that any media suitable for retrieving instructions is within the scope of the present disclosure. By way of example, such media may take the form of magnetic, optical, or semiconductor media, and may be configured to be accessible by a machine as is known in the art. 
     Various aspects of the disclosure may be described through the use of flowcharts. Often, a single instance of an aspect of the present disclosure may be shown. As is appreciated by those of ordinary skill in the art, however, the protocols, processes, and procedures described herein may be repeated continuously or as often as necessary to satisfy the needs described herein. Accordingly, the representation of various aspects of the present disclosure through the use of flowcharts should not be used to limit the scope of the present disclosure. 
     The aforementioned logic makes the task of the L2 switch very difficult, as executing the IGMP v3 protocol while maintaining backward compatibility with SSM logic can result in contradictory logic. 
     For example, one issue is scalability. In modern systems, as many as 400 receivers may be connected to a L2 switch, with several L2 switches coupled to a single router. Proxy reporting is used to off load some of the work of the router. In proxy reporting, the L2 switch aggregates content requests from its attached receivers, and presents only one request to the router, making the L2 switch appear as another host receiver to the router. 
     A complication arises when the L2 switch attempts to aggregates multiple requests including both a single-source request (IGMP v3) and an older any-source request (IGMP v2), as the L2 switch will not be able to aggregate these into a single report and appear as a single host as expected by the router. 
     For example, if the switch receives a series of requests including both a [G, INC{X}] and a [G, EXL{&lt;empty&gt;}], the only way to logically resolve these is to issue a [G, EXL{ . . . }] request if the switch is to appear as one host to the router. Thus, the switch will be forced to issue conflicting requests and unable to issue a single request that is compatible with all previous multicast protocols. For example, if the router utilizes explicit tracking of hosts sending IGMP reports and receives a INC request from the switch, followed by a EXL request, the router will be forced to switch between modes, in conflict with the protocol. 
       FIG. 3  is block diagram of a multicast system  300  configured according to the teachings of this disclosure. 
       FIG. 3  includes a content source  305  coupled to a network  310 , such as the Internet, and is configured to stream content traffic to a group of receivers  340 . The receivers  140  may be coupled to the network  310  through a Local Area Network (LAN)  350 , such as an Ethernet network, which is coupled to the Internet through router  120 . 
     To provide compatibility with the various multicast protocols, the system  300  includes an L2 switch  330 , including a processor  332  and associated memory  334 , configured in accordance with the teachings of this disclosure to provide multiple identities to the router  320 . It will be appreciated that the switch  330  may include multiple ports, and each receiver may be coupled to through a distinct port of switch  330 , or alternatively multiple receivers may be coupled through a single port. 
     As is appreciated by those of ordinary skill in the art, the IGMP protocols provide for proxy reporting with IGMP version 3 from the anonymous IP address of 0.0.0.0. Furthermore, L2 switches typically are given a range of MAC addresses with which to work, including a primary address and a range of secondary addresses. 
     In this disclosure, the availability of a second MAC address is utilized to resolve conflicting requests. In  FIG. 3 , if the switch  330  receives conflicting requests from the group  340 , an additional identity is created, resulting in a single L2 switch  330  having a first identity L2 a  located at a first MAC address, and a second identity L2 b , located a second MAC address. The result is that requests compatible with a first protocol will be sent from a first host identity having a first MAC address, and requests compatible with a second protocol will be sent from a second identity having a second MAC address. The router, seeing the requests as being from different MAC addresses on the same anonymous IP address, will then be able to properly aggregate the requests and direct the traffic to the appropriate host identity without conflict. 
       FIG. 4  is a flow diagram showing one disclosed aspect of a method for providing multicast compatibility in accordance with the teachings of this disclosure. 
     The process begins in act  400  with a L2 switch receiving traffic requests from a group of receivers. In query  410 , the switch determines whether the requests from the group will cause a potential conflict when sent to a router. In one disclosed embodiment, the determination make take the form of determining whether the requests contain conflicting IGMP requests, such as an INC request from one receiver and an EXL request from a different receiver. 
     If there are no conflicting requests, then the switch may forward the requests to a router as is typical in act  430 . 
     However, if there are conflicting requests present, then the switch will separate the requests into at least two compatible types and send the grouped requests from respective and distinct MAC addresses. Thus, requests of one type, such as INC requests, will be sent from a first MAC address, and requests of a different type, such as EXL requests, will be sent from a different MAC address. 
     As will be appreciated, this disclosure enables zero-configuration operations of IGMP snooping with proxy reporting while maintaining SSM compatibility without the L2 switch knowing in advance whether a group is using SSM or ASM on the routers. While there may be manual configuration, predefined address ranges or additional protocols between routers and the L2 switch, this disclosure does not require any such methods. 
     The benefits of this disclosure may apply as well to IPv6 with MLD v2. As is known, MLDv2 is substantially the same protocol as IGMPv3, just for IPv6 instead of IPv4. In this embodiment, the address 0.0.0.0 is NOT used as the identity (because there is no such “anonymous address in IPv6), but instead the L2 switch would use two so-called “link-local IPv6 addresses” to send the MLD messages without conflicts to the router. 
     Additionally, the benefits of this disclosure may apply to a router connected to receivers, if this router is doing “IGMP v3 proxy routing” or “MLD v2 proxy routing.” 
     While embodiments and applications of this disclosure have been shown and described, it would be apparent to those skilled in the art that many more modifications and improvements than mentioned above are possible without departing from the inventive concepts herein. The disclosure, therefore, is not to be restricted except in the spirit of the appended claims.