« ZurückWeiter »
EFFICIENT NETWORK MULTICAST
SWITCHING APPARATUS AND METHODS
CROSS-REFERENCE TO RELATED
The subject application is related to the following patent applications: U.S. Application. Ser. No. 08/623,142, now U.S. Pat. No. 5,742,604, filed Mar. 28, 1996, entitled "Interswitch Link Mechanism for Connecting High Performance Network Switches"; U.S. Application. Ser. No. 08/882,632, now U.S. Pat. No. 5,959,989, filed Jun. 25, 1997, entitled "System Efficient Multicast Distribution in a Virtual Local Area Network Environment"; U.S. Application. Ser. No. 08/951,820, now U.S. Pat. No. 6,147,993, filed Oct. 14, 1997, entitled "Method and Apparatus for Implementing Forwarding Decision Shortcuts at a Network Switch"; and U.S. Application. Ser. No. 09/038,504, now U.S. Pat. No. 6,208,649, filed Mar. 11, 1998, entitled "Derived VLAN Mapping Technique". Each of the aforesaid copending applications is assigned to the Assignee of the subject application, and is incorporated into the subject application, by reference, in their entireties.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to the distribution of multicast messages in a computer network and, more specifically, to efficient network multicast switching apparatus and methods.
2. Brief Description of Related Prior Art
Data communication in a computer network involves data exchange between two or more entities interconnected by communication links and subnetworks. These entities are typically software programs executing on hardware computer platforms, such as endstations and intermediate stations. Examples of an intermediate station may be a router or switch which interconnects the communication links and subnetworks to enable transmission of data between the endstations. A local area network (LAN) is an example of a subnetwork that provides relatively short distance communication among the interconnected stations, whereas a wide area network enables long distance communication over links provided by public or private telecommunications facilities.
Communication software executing on the endstations correlate and manage data communication with other endstations. The stations typically communicate by exchanging discrete packets or frames of data according to predefined protocols. In this context, a protocol consists of a set of rules defining how the stations interact with each other. In addition, network routing software executing on the routers allow expansion of communication to other endstations. Collectively, these hardware and software components comprise a communications network and their interconnections are defined by an underlying architecture.
Modern communications network architectures are typically organized as a series of hardware and software levels or "layers" within each station. These layers interact to format data for transfer between, e.g., a source station and a destination station communicating over the network. Predetermined services are performed on the data as it passes through each layer and the layers communicate with each other by means of the predefined protocols. The lower layers of these architectures are generally standardized and are typically implemented in hardware and firmware, whereas
the higher layers are generally implemented in the form of software running on the stations attached to the network. An example of such a communications architecture is the Internet communications architecture.
5 The Internet architecture is represented by five layers which are termed, in ascending interfacing order, physical interface, data link, network, transport and application layers. These layers are arranged to form a protocol stack in each communicating station of the network. FIG. 1 illus
1° trates a schematic block diagram of prior art Internet protocol stacks 125 and 175 used to transmit data between a source station 110 and a destination station 150, respectively, of a network 100. As can be seen, the stacks 125 and 175 are physically connected through a communi
15 cations channel 180 at the interface layers 120 and 160. For ease of description, the protocol stack 125 will be described.
In general, the lower layers of the communications stack provide internetworking services and the upper layers, which are the users of these services, collectively provide
20 common network application services. The application layer 112 provides services suitable for the different types of applications using the network, while the lower interface layer 120 accepts industry standards defining a flexible network architecture oriented to the implementation of
Specifically, the interface layer 120 comprises the physical interface layer 126, which is concerned with the actual transmission of signals across the communication channel and defines the types of cabling, plugs and connectors used in connection with the channel. The data link layer (i.e., "layer 2") 121 is responsible for transmission of data from one station to another and may be further divided into two sublayers: Logical Link Control (LLC 122) and Media
35 Access Control (MAC 124).
The MAC sublayer 124 is primarily concerned with controlling access to the transmission medium in an orderly manner and, to that end, defines procedures by which the stations must abide in order to share the medium. In order for
4Q multiple stations to share the same medium and still uniquely identify each other, the MAC sublayer defines a hardware or data link address called a MAC address. This MAC address is unique for each station interfacing to a LAN. The LLC sublayer 122 manages communications
,„ between devices over a single link of the network.
The primary network layer protocol of the Internet architecture is the Internet protocol (IP) contained within the network layer 116 (i.e., "layer 3"). IP is a network protocol that provides network routing and that relies on transport
5q protocols for end-to-end reliability. An example of such a transport protocol is the Transmission Control Protocol (TCP) contained within the transport layer 114. The term TCP/IP is commonly used to refer to the Internet architecture. (See, e.g., Tanenbaum, Computer Networks, Third Ed.,
55 Prentice Hall PTR, Upper Saddle, River, N.J., 1996).
Data transmission over the network 100 therefore consists of generating data in, e.g., sending process 104 executing on the source station 110, passing that data to the application layer 112 and down through the layers of the protocol stack
60 125, where the data are sequentially formatted as a frame for delivery onto the channel 180 as bits. Those frame bits are then transmitted over an established connection of channel 180 to the protocol stack 175 of the destination station 150 where they are passed up that stack to a receiving process
65 174. Data flow is schematically illustrated by solid arrows. Although actual data transmission occurs vertically through the stacks, each layer is programmed as though such
transmission were horizontal. That is, each layer in the source station 110 is programmed to transmit data to its corresponding layer in the destination station 150, as schematically shown by dotted arrows. To achieve this effect, each layer of the protocol stack 125 in the source station 110 5 typically adds information (in the form of a header) to the data generated by the sending process as the data descends the stack.
For example, the network layer encapsulates data presented to it by the transport layer within a packet having a 1° network layer header. The network layer header contains, among other information, source and destination (logical) network addresses needed to complete the data transfer. The data link layer, in turn, encapsulates the packet in a frame that includes a data link layer header containing information :5 required to complete the data link functions, such as (physical) MAC addresses. At the destination station 150, these encapsulated headers are stripped off one-by-one as the frame propagates up the layers of the stack 175 until it arrives at the receiving process. 20
A router is an intelligent intermediate station that implements network services such as route processing, path determination and path switching functions. The router also provides interfaces for a wide range of communication links and subnetworks. The route processing function allows a 25 router to determine the type of routing needed for a packet, whereas the path switching function allows a router to accept a packet on one interface and forward it on a second interface. The path determination, or forwarding decision, function enables the router to select the most appropriate 30 interface for forwarding a packet.
A switch provides the basic functions of a bridge including filtering of data traffic by MAC address, "learning" of a MAC address based upon a source MAC address of a frame 3J and forwarding of the frame based upon a destination MAC address.
In many cases, the destination of a data message issued by a source ("sender") may be more than one, but less than all of the entities ("receivers") on a network; this type of 40 multicast data transfer is typically employed to segregate communication between groups of receivers on the network. IP multicasting, in particular, may be used to disseminate data to a large group of receivers on the network. To effect IP multicasting, a sending process generally specifies a 45 destination IP address that is a multicast address for the message. Receiving processes typically notify their internetwork layers that they want to receive messages destined for the multicast address; this is called "joining a multicast group". These receiving members then "listen" on the mul- 50 ticast address and, when a multicast message is received at a receiver, it delivers a copy of the message to each process that belongs to the group.
Also, Ross (U.S. Pat. No. 5,394,402) discloses an arrangement that is capable of associating any port of a 55 switch with any particular segregated network group. According to Ross, any number of physical ports of a particular switch may be associated with any number of groups within the switch by using a virtual local area network (VLAN) arrangement that virtually associates the 60 port with a particular VLAN designation. Specifically, Ross discloses a switch or hub for a segmented virtual local area network with shared media access that associates VLAN designations with at least one internal port and further associates those VLAN designations with messages trans- 65 mitted from any of the ports to which the VLAN designation has been assigned. The VLAN designation for each internal
port is stored in a memory portion of the switch such that every time a message is received by the switch on an internal port the VLAN designation of that port is associated with the message. Association is accomplished by a flow processing element which looks up the VLAN designation in a memory based on the internal port where the message originated.
In many cases, it may be desirable to interconnect a plurality of these switches in order to extend the VLAN associations of ports in the network. Ross, in fact, states that an objective of his VLAN arrangement is to allow all ports and entities of the network having the same VLAN designation to interchange messages by associating a VLAN designation with each message. Thus, those entities having the same VLAN designation function as if they are all part of the same LAN. Message exchanges between parts of the network having different VLAN designations are specifically prevented in order to preserve the boundaries of each VLAN segment.
One type of IP protocol that may be used in a VLAN arrangement to accomplish multicast group registration is the Internet Group Management Protocol (IGMP) which defines operations that may be used by entities to subscribe to or "join" a group. To limit the amount of IGMP traffic, typically only one entity per LAN transmits such a request. Other interested entities will rely on the first subscription request to cause the message to be delivered to the LAN, thereby making it available to all interested entities. The switches may perform additional filtering such that each of the multicast routers receives only one subscription request per group per VLAN. In response, the multicast routers create subscription lists (not shown) associating each group multicast address with the list of VLANs on which at least one subscribing entity resides. Thereafter, the sending entity may utilize this group destination address to send multicast messages to the subscribing entities. Switches in the network may also monitor the IGMP messaging between entities and multicast routers to learn which of their ports lead either to segments comprising a router or at least one entity subscribing to a particular group multicast address.
Thus, although as noted above, switches exist that are able to reduce the number of multicast control messages being forwarded to the multicast routers, the filtering techniques implemented by such switches have been unable to reduce sufficiently the volume of such messages reaching the multicast routers. Further, an undesirably large amount of multicast forwarding decisions are made in conventional networks by the routers, rather than by the switch. Disadvantageously, this can increase the multicast processing burden placed upon the multicast routers, and can increase network message congestion.
Also, some multicast protocols are proprietary to specific vendors and manufacturers of network entities (e.g., Cisco Group Management Protocol, "CGMP"). Interoperability problems can arise when network entities which utilize different proprietary multicast protocols are combined to form a single network.
Additionally, it would be desirable to provide a switched network environment wherein multicast messages are efficiently prevented from being propagated to switched LAN segments wherein no receiving entities (i.e., subscribers) of such messages exist.
SUMMARY OF THE INVENTION
The present invention provides network multicast switching apparatus and methods that when used in a switched network environment are able to ameliorate or eliminate the