Multicast switching
First Claim
1. In a switched-based communications network including a plurality of hosts and switches connected by links, each switch having at least one network port connected to another switch and at least some switches having access ports connected to hosts, each host having a unique address, and each switch including a connection database of valid connections between different ports on the switch and a switching setup mechanism for establishing temporary connections between the different ports on the switch, the improvement comprising a method for processing multicast packets comprising steps of:
- receiving, at a source switch, a multicast packet on an access port from a source host;
determining, by the source switch, a group address from the multicast packet; and
composing and sending, by the source switch, a sender present message, containing the group address and the source host address, to other switches on its network ports wherein a receiving switch receives the sender present message and determines whether a local host attached to one of its access ports wishes to join the group address identified in the sender present message;
if yes, the receiving switch composes and sends a map message toward the source switch on a predetermined path, the map message containing the group address, the source host address and the predetermined path between the receiving switch and the source switch.
14 Assignments
0 Petitions
Accused Products
Abstract
Method and apparatus for establishing connections in a switch-based communications network for multicast traffic. A source receives a multicast packet on an access port from a source host, determines a group address in the multicast packet, and composes and sends a “sender present” message to other switches on its network ports. The receiving switches determine whether a local host wishes to join the group and if so, send a map message back toward the source switch on a predetermined path between the receiving switch and the source switch. A map message may terminate at a switch on the path that already has a connection for this group/source pair, and join into this connection as an additional output port. In this manner, a “signal out, connect back” method is provided for establishing a connection path from the sender to multiple receivers. In addition, multicast traffic can be sent across a switch/router interface in either direction, providing for controlled multicast traffic between router-based networks and switch-based networks.
572 Citations
36 Claims
-
1. In a switched-based communications network including a plurality of hosts and switches connected by links, each switch having at least one network port connected to another switch and at least some switches having access ports connected to hosts, each host having a unique address, and each switch including a connection database of valid connections between different ports on the switch and a switching setup mechanism for establishing temporary connections between the different ports on the switch, the improvement comprising a method for processing multicast packets comprising steps of:
-
receiving, at a source switch, a multicast packet on an access port from a source host;
determining, by the source switch, a group address from the multicast packet; and
composing and sending, by the source switch, a sender present message, containing the group address and the source host address, to other switches on its network ports wherein a receiving switch receives the sender present message and determines whether a local host attached to one of its access ports wishes to join the group address identified in the sender present message;
if yes, the receiving switch composes and sends a map message toward the source switch on a predetermined path, the map message containing the group address, the source host address and the predetermined path between the receiving switch and the source switch. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
(a) no ports;
or(b) an outport identifying any access ports to local hosts that wish to join the group address.
-
-
4. The method of claim 1, wherein a switch receiving the map message determines if there is an entry in its connection table for the group address and the source host address, and if no, adds an entry to its connection table for the group address, the source host address, an inport identifying the port directed toward the source switch according to the predetermined path, and an outport identifying the port on which the map message was received.
-
5. The method of claim 4, wherein if the receiving switch is not the source switch, the receiving switch sends the map message on the predetermined path toward the source switch.
-
6. The method of claim 4, wherein each switch receives the map message and only switches on the predetermined path implement the determines step.
-
7. The method of claim 3 wherein when the source switch receives the map message it adds to its entry in the connection table for the group address and source host address an outport identifying the network port on which it received the map message.
-
8. The method of claim 2, wherein each switch on the predetermined path switches multicast packets based on its connection table entry.
-
9. The method of claim 8, wherein the packet switching is implemented in hardware.
-
10. The method of claim 8, wherein multiple source hosts are sending multicast packets containing one or more group addresses.
-
11. The method of claim 8, wherein:
-
a local switch determines whether a local host connected to one of its access ports wishes to join a designated group address;
if so, the local switch checks its connection table for an entry identifying the designated group address;
if yes, the local switch adds the access port on which the local host is connected as an outport for the connection table entry;
if not, the local switch composes and sends a join group message to the other switches, the join group message containing the designated group address and the local switch address.
-
-
12. The method of claim 11, wherein the join group message is sent to all other switches.
-
13. The method of claim 11, wherein:
-
a switch receiving the join group message determines if a local host connected to any one of its access ports is the source host for the designated group address identified in the join group message;
if yes, the switch sends a sender present message to the local switch.
-
-
14. The method of claim 11, wherein:
-
a switch receiving the join group message determines if a router is attached to any one of its access ports;
if yes, the switch notifies the router that the switch wishes to join the designated group address identified in the join group message.
-
-
15. In a switched communications network including a plurality of hosts and switches connected by links, each switch having at least one network port connected to another switch and at least some switches having access ports connected to hosts, each host having a unique address, each switch including a connection database of valid connections between different ports on the switch and a switching setup mechanism for establishing temporary connections between the different ports on the switch, the improvement comprising a method of processing multicast packets comprising steps of:
-
determining, at a local switch whether a local host connected to one of its access ports wishes to join a designated group address;
if so, checking, at the local switch a connection table for an entry identifying the designated group address;
if the entry exists, adding, by the local switch, the access port on which the local host is connected as an outport to the connection table entry; and
if the entry does not exist, composing and sending, by the local switch, a join group message to the other switches along predetermined paths formed between switches, the join group message containing the designated group address and the local switch address. - View Dependent Claims (16)
-
-
17. In a switched-based communications network including a plurality of hosts and switches connected by links, each switch having at least one network port connected to another switch and at least some switches having access ports connected to hosts, each host having a unique address, and each switch including a connection database of valid connections between different ports on the switch and a switching setup mechanism for establishing temporary connections between the different ports on the switch, the improvement comprising a method for processing multicast packets comprising steps of:
-
determining, at a local switch, if the local switch has a local router attached to an access port and if so, adding, by the local switch, an identification of the port attached to the router to a database for forwarding and/or receipt of multicast group packets between a switching network and a routing network. - View Dependent Claims (18, 19)
each receiving switch responds with a group present message identifying the group addresses to which its attached hosts are joined; and
the local switch notifies the router of its desire to receive multicast packets for all designated group addresses.
-
-
20. In a switched-based communications network including a plurality of hosts and switches connected by links, each switch having a source address and at least one network port connected to another switch and at least some switches having access ports connected to hosts, each host having a unique address, and each switch including a connection database of valid connections between different ports on the switch and a switching setup mechanism for establishing temporary connections between the different ports on the switch, the improvement comprising a switch for processing multicast packets including:
-
means for receiving a multicast packet on an access port from a source host;
means for determining a group address from the multicast packet; and
means for composing and sending a sender present message, containing the group address, the source host address, and source switch address, to other switches on its network ports.
-
-
21. In a switched-based communications network including a plurality of hosts and switches connected by links, each switch having at least one network port connected to another switch and at least some switches having access ports connected to hosts, each host having a unique address, and each switch including a connection database of valid connections between different ports on the switch and a switching setup mechanism for establishing temporary connections between the different ports on the switch, the improvement comprising a method for processing multicast packets comprising steps of:
-
receiving, at a source switch, a multicast packet on an access port from a source host;
performing at least one of a group of actions including buffering and discarding of one or more multicast packets until a connection is established to a host designated as a receiver of the multicast packet, determining, by the source switch, a group address from the multicast packet; and
composing and sending, by the source switch, a sender present message, containing the group address and the source host address, to other switches on its network ports. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
a receiving switch receives the sender present message and determines whether a local host attached to one of its access ports wishes to join the group address identified in the sender present message;
if yes, the receiving switch composes and sends a map message toward the source switch on a predetermined path, the map message containing the group address, the source host address and the predetermined path between the receiving switch and the source switch.
-
-
23. The method of claim 22, further comprising programming the connection along the predetermined path between the source host and host designated as a receiver.
-
24. The method of claims 22, wherein a switch receiving the map message determines if there is an entry in its connection table for the group address and the source host address, and if yes, adds an outport to the entry identifying the port on which the map message was received.
-
25. The method of claim 21, wherein prior to sending the sender present message the source switch establishes an entry in its connection table for the group address and the source host address and an outport with one of:
-
(a) no ports;
or(b) an outport identifying any access ports to local hosts that wish to join the group address.
-
-
26. The method of claim 22, wherein a switch receiving the map message determines if there is an entry in its connection table for the group address and the source host address, and if no, adds an entry to its connection table for the group address, the source host address, an inport identifying the port directed toward the source switch according to the predetermined path, and an outport identifying the port on which the map message was received.
-
27. The method of claim 26, wherein if the receiving switch is not the source switch, the receiving switch sends the map message on the predetermined path toward the source switch.
-
28. The method of claim 26, wherein each switch receives the map message and only switches on the predetermined path implement the determines step.
-
29. The method of claim 25, wherein when the source switch receives the map message it adds to its entry in the connection table for the group address and source host address an outport identifying the network port on which it received the map message.
-
30. The method of claim 24, wherein each switch on the predetermined path switches multicast packets based on its connection table entry.
-
31. The method of claim 30, wherein the packet switching is implemented in hardware.
-
32. The method of claim 30, wherein multiple source hosts are sending multicast packets containing one or more group addresses.
-
33. The method of claim 30, wherein:
-
a local switch determines whether a local host connected to one of its access ports wishes to join a designated group address;
if so, the local switch checks its connection table for an entry identifying the designated group address;
if yes, the local switch adds the access port on which the local host is connected as an outport for the connection table entry;
if not, the local switch composes and sends a join group message to the other switches, the join group message containing the designated group address and the local switch address.
-
-
34. The method of claim 33, wherein the join group message is sent to all other switches.
-
35. The method of claim 33, wherein:
-
a switch receiving the join group message determines if a local host connected to any one of its access ports is the source host for the designated group address identified in the join group message;
if yes, the switch sends a sender present message to the local switch.
-
-
36. The method of claim 33, wherein:
-
a switch receiving the join group message determines if a router is attached to any one of its access ports;
if so, the switch notifies the router that the switch wishes to join the designated group address identified in the join group message.
-
Specification