Multipoint protected switching ring
First Claim
1. A network ring that is manipulated to provide a virtual break in order to operate within a network requiring a tree topology, the network carrying data packets, the network ring comprising:
- A) a first ring device which is a type of ring node, the first ring device comprising;
a first ring port with a first incoming link and a first outgoing link;
a second ring port with a second incoming link and a second outgoing link wherein the first ring port is the partner ring port to the second ring port and the second ring port is the partner ring port to the first ring port;
a first subscriber port with a third incoming link and a third outgoing link;
a forwarding database comprising associations between packet source address and which ring device port received the packet; and
;
B) a Slave Arbiter which is another type of ring node, the Slave Arbiter comprising;
a first ring port with a first incoming link and a first outgoing link;
a second ring port with a second incoming link and a second outgoing link wherein the first ring port is the partner ring port to the second ring port and the second ring port is the partner ring port to the first ring port;
a forwarding database comprising associations between packet source address and which Slave Arbiter port received the packet; and
a SA control system;
the SA control system comprising controls over the introduction and removal of a virtual break to prevent the formation of a communication ring for data packets within the network requiring a tree topology through the use of at least one non-forwarding state wherein control traffic is forwarded but data packets are not forwarded;
the SA control system comprising;
at least one rule causing the operation of a Slave Arbiter ring port in a slave-forwarding state wherein the ring port forwards data packets and control traffic received at the ring port from the incoming link to the Slave Arbiter and from the Slave Arbiter to the outgoing link;
at least one rule causing the Slave Arbiter to operate when the network ring is fully operational such that one Slave Arbiter ring port is in a slave-forwarding state and the other Slave Arbiter ring port is in a non-forwarding state wherein control traffic is forwarded but data packets are not forwarded;
at least one rule for changing the state of the Slave Arbiter to have both the Slave Arbiter ring ports acting to forward data packets after a functional break in the network ring is discerned; and
at least one rule for changing the state of one of the two Slave Arbiter ring ports to a non-forwarding state wherein control traffic is forwarded but data packets are not forwarded after detection that the functional break has been removed;
wherein a data packet received by a ring node is forwarded using a bridging technique if a switching table entry is not defined that applies to that particular data packet but data packets are not received by the Slave Arbiter through a ring port in a non-forwarding state and data packets are not forwarded through the outgoing link on a Slave Arbiter ring port in a non-forwarding state.
11 Assignments
0 Petitions
Accused Products
Abstract
Normal 802.3 Ethernet requires a tree topology. If a ring or a loop exists, then packets will be forwarded around the ring indefinitely. If the ring is broken, then there is no possibility of packets being propagated forever. This invention shows how to quickly impose a virtual break in the ring such that all nodes can communicate with each other, and how to remove the virtual break when a real failure occurs. This is accomplished by placing intelligent nodes on the ring that work together to virtually break and restore the ring. An embodiment is disclosed that allows a ring node to bridge user traffic in the case that no switch table entry is present for that traffic. This abstract is provided as an aid to those performing prior art searches and not a limitation on the scope of the claims.
-
Citations
17 Claims
-
1. A network ring that is manipulated to provide a virtual break in order to operate within a network requiring a tree topology, the network carrying data packets, the network ring comprising:
-
A) a first ring device which is a type of ring node, the first ring device comprising;
a first ring port with a first incoming link and a first outgoing link;
a second ring port with a second incoming link and a second outgoing link wherein the first ring port is the partner ring port to the second ring port and the second ring port is the partner ring port to the first ring port;
a first subscriber port with a third incoming link and a third outgoing link;
a forwarding database comprising associations between packet source address and which ring device port received the packet; and
;
B) a Slave Arbiter which is another type of ring node, the Slave Arbiter comprising;
a first ring port with a first incoming link and a first outgoing link;
a second ring port with a second incoming link and a second outgoing link wherein the first ring port is the partner ring port to the second ring port and the second ring port is the partner ring port to the first ring port;
a forwarding database comprising associations between packet source address and which Slave Arbiter port received the packet; and
a SA control system;
the SA control system comprising controls over the introduction and removal of a virtual break to prevent the formation of a communication ring for data packets within the network requiring a tree topology through the use of at least one non-forwarding state wherein control traffic is forwarded but data packets are not forwarded;
the SA control system comprising;
at least one rule causing the operation of a Slave Arbiter ring port in a slave-forwarding state wherein the ring port forwards data packets and control traffic received at the ring port from the incoming link to the Slave Arbiter and from the Slave Arbiter to the outgoing link;
at least one rule causing the Slave Arbiter to operate when the network ring is fully operational such that one Slave Arbiter ring port is in a slave-forwarding state and the other Slave Arbiter ring port is in a non-forwarding state wherein control traffic is forwarded but data packets are not forwarded;
at least one rule for changing the state of the Slave Arbiter to have both the Slave Arbiter ring ports acting to forward data packets after a functional break in the network ring is discerned; and
at least one rule for changing the state of one of the two Slave Arbiter ring ports to a non-forwarding state wherein control traffic is forwarded but data packets are not forwarded after detection that the functional break has been removed;
wherein a data packet received by a ring node is forwarded using a bridging technique if a switching table entry is not defined that applies to that particular data packet but data packets are not received by the Slave Arbiter through a ring port in a non-forwarding state and data packets are not forwarded through the outgoing link on a Slave Arbiter ring port in a non-forwarding state. - View Dependent Claims (2, 3, 4)
-
-
5. A ring device for use in a network ring, the ring device comprising:
-
a first ring port with a first incoming link and a first outgoing link;
a second ring port with a second incoming link and a second outgoing link wherein the first ring port is the partner ring port to the second ring port and the second ring port is the partner ring port to the first ring port;
a first user port with a third incoming link and a third outgoing link;
a second user port with a fourth incoming link and a fourth outgoing link;
a forwarding database comprising associations between packet source address and which ring device port received the packet; and
a control system, the control system having a set of rules comprising;
at least one rule causing the operation of the ring device to read the source address of an incoming data packet and store the source address with the identity of the port on that ring device that received the incoming packet;
at least one rule causing the operation of the ring device to act upon a data packet addressed to a unicast address not contained in the forwarding database for that ring device by forwarding the data packet out through each port on that ring device except for the port that received that data packet;
at least one rule causing the operation of the ring device to act upon a data packet arriving from a subscriber port with a destination address corresponding to a source address in the forwarding database to forward the data packet to both ring ports, unless the forwarding database associates the destination address with another subscriber port connected to that ring device, in which case the data packet is forwarded to the another subscriber port and not forwarded to either ring port;
at least one rule causing the operation of the ring device to act upon a data packet arriving from a ring port with a destination address corresponding to a source address in the forwarding database that is associated with a subscriber port by forwarding the data packet to both the partner ring port and the subscriber port associated with that address; and
at least one rule causing the operation of the ring device to act upon data packets arriving from a ring port with a destination address corresponding to a source address in the forwarding database that is associated with either ring port for that ring device by forwarding the data packet to partner ring port. - View Dependent Claims (6, 7)
-
-
8. The ring device of 5 wherein the control system further comprises at least one rule causing the ring device to impose a virtual break at the first port so that data packets are not passed from the first incoming link to the ring device and do not impact the forwarding database and data packets are not passed from the ring device to the first outgoing link.
-
9. A ring device for use in a network ring, the ring device comprising:
-
a first ring port with a first incoming link and a first outgoing link;
a second ring port with a second incoming link and a second outgoing link wherein the first ring port is the partner ring port to the second ring port and the second ring port is the partner ring port to the first ring port;
a first user port with a third incoming link and a third outgoing link;
a forwarding database comprising associations between packet source address and which ring device port received the packet; and
a control system, the control system having a set of rules comprising;
at least one rule causing the operation of the ring device to read the source address of an incoming data packet and store the source address with the identity of the port on that ring device that received the incoming packet;
at least one rule causing the operation of the ring device to act upon a data packet addressed to a unicast address not contained in the forwarding data base for that ring device by forwarding the data packet out through each port on that ring device except for the port that received that data packet;
at least one rule causing the operation of the ring device to act upon a data packet arriving from the subscriber port with a destination address corresponding to a source address in the forwarding database to forward the data packet to both ring ports;
at least one rule causing the operation of the ring device to act upon a data packet arriving from a ring port with a destination address corresponding to a source address in the forwarding database that is associated with the subscriber port by forwarding the data packet to both the partner ring port and the subscriber port; and
at least one rule causing the operation of the ring device to act upon data packets arriving from a ring port with a destination address corresponding to a source address in the forwarding database that is associated with either ring port for that ring device by forwarding the data packet to partner ring port. - View Dependent Claims (10)
-
-
11. The ring device of 9 wherein the control system further comprises at least one rule causing the ring device to impose a virtual break at the first port so that data packets are not passed from the first incoming link to the ring device and do not impact the forwarding database and data packets are not passed from the ring device to the first outgoing link.
-
12. A method of operating a network ring that is manipulated to provide a virtual break in order to operate within a network requiring a tree topology, the network carrying data packets, the network ring comprising a set of ring devices, each ring device having:
-
a first port with a first incoming link and a first outgoing link;
a second port with a second incoming link and a second outgoing link wherein the first ring port is the partner ring port to the second ring port and the second ring port is the partner ring port to the first ring port;
at least one user port with a third incoming link and a third outgoing link;
control rules to selectively switch at least one of the ring ports to a non-forwarding state wherein data packets do not enter the ring device through that ring port and thus are not received and data packets do not exit the ring device through that ring port such that the at least one ring device can selectively impose a virtual break in the network ring to prevent data packets from entering into a loop;
the method of operation of the network ring comprising;
maintaining for each ring device a forwarding database that associates an address with the ring device port that most recently received a data packet with that address as the source address;
upon receipt of a data packet at a ring device with a destination address that is not an address listed in the forwarding database, forwarding the data packet out of the outgoing link for;
the first ring port unless that ring port is the port that received the data packet or the first ring port is in a non-forwarding state;
the second ring port unless that ring port is the port that received that data packet or the second ring port is in a non-forwarding state; and
each subscriber port unless that subscriber port is the port that received the data packet;
upon receipt of a data packet at a subscriber port with a destination address listed in the forwarding database as associated with another subscriber port, forwarding the data packet to the other subscriber port;
upon receipt of a data packet at a subscriber port with a destination address listed in the forwarding database as associated with one of the ring ports, forwarding the data packet to out the outgoing link for the first ring port unless the first ring port is in a non-forwarding state and forwarding that data packet out the outgoing link for the second ring port unless the second ring port is in a non-forwarding state;
upon receipt of a data packet at a ring port that is not in a non-forwarding state with a destination address listed in the forwarding database as associated with a specific subscriber port, forwarding the data packet out the outgoing link for the specific subscriber port unless the subscriber port is in a non-forwarding state and out the outgoing link for the partner ring port unless the partner ring port is in a non-forwarding state; and
upon receipt of a data packet at a ring port that is not in a non-forwarding state with a destination address listed in the forwarding database as associated with either ring port, then forward the data packet out the outgoing link for the partner ring port unless the partner ring port is in a non-forwarding state. - View Dependent Claims (13, 14)
-
-
15. A ring relay for use in a bidirectional network ring for a ring that is manipulated to provide a virtual break in order to operate within a network requiring a tree topology, the network ring carrying data packets;
- the ring relay comprising the following attributes;
having a first ring port in data communication with a first incoming link and a first outgoing link and a second ring port in data communication with a second incoming link and a second outgoing link connected to the network ring;
a first subscriber port with a third incoming link and a third outgoing link, and a second subscriber port with a fourth incoming link and a fourth outgoing link;
operating to pass HELLO messages received on the first incoming link to the second outgoing link and to pass HELLO messages received on the second incoming link to the first outgoing link; and
after detecting an OPER DOWN failure on the second incoming link, reacting to the detection of the network failure on the second incoming link by;
imposing a break on the second incoming link so that data packets are blocked from passing into the ring relay but the imposed break does not block any incoming HELLO messages;
imposing a break on the second outgoing link so that data packets are blocked from leaving the ring relay on that link;
sending a type of HELLO message and a control signal out the second outgoing link such that an adjacent node receives a HELLO message to provide assurance that the second outgoing link from that ring relay is operating and to convey to a node other than the ring relay that the ring relay is imposing a bidirectional break so that the virtual break should be removed;
detecting the cessation of the OPER DOWN failure on the second incoming link then resuming operating to pass HELLO messages received on the first incoming link to the second outgoing link; and
delaying the removal of the imposed break for user data on the second outgoing link and on the second incoming link for a time period sufficient to allow the bidirectional network ring to impose a virtual break at a device other than the ring relay; and
handling incoming data packets by set of rules comprising;
at least one rule causing the operation of the ring device to read the source address of an incoming data packet and store the source address with the identity of the port on that ring device that received the incoming packet;
at least one rule causing the operation of the ring device to act upon a data packet addressed to a unicast address not contained in the forwarding database by forwarding the data packet out through each outgoing link on that ring device except for the port that received that data packet or any ring port in a non-forwarding state;
at least one rule causing the operation of the ring device to act upon a data packet arriving from a subscriber port with a destination address corresponding to a source address in the forwarding database to forward the data packet out through the outgoing links for both ring ports except for a ring port currently in a non-forwarding state, unless the forwarding database associates the destination address with another subscriber port connected to that ring node, in which case the data packet is forwarded to the another subscriber port and not forwarded out through the outgoing link for either ring port;
at least one rule causing the operation of the ring device to act upon a data packet arriving from a ring port not in a non-forwarding state, the data packet with a destination address corresponding to a source address in the forwarding database that is associated with a subscriber port by forwarding the data packet to a) out through the outgoing link for the partner ring port unless the partner ring port is in a non-forwarding state and b) the subscriber port associated with that address; and
at least one rule causing the operation of the ring device to act upon data packets arriving from a ring port not in a non-forwarding state, the data packet with a destination address corresponding to a source address in the forwarding database that is associated with either ring port for that ring node by forwarding the data packet out through the outgoing link for the partner ring port unless the partner ring port is in a non-forwarding state.
- the ring relay comprising the following attributes;
-
16. A ring device for use in a bidirectional network ring for a ring that is manipulated to provide a virtual break in order to operate within a network requiring a tree topology, the network ring carrying data packets;
- the ring device characterized by;
having a first ring port in data communication with a first incoming link and a first outgoing link and a second ring port in data communication with a second incoming link and a second outgoing link connected to the network ring, a first subscriber port with a third incoming link and a third outgoing link, and a second subscriber port with a fourth incoming link and a fourth outgoing link;
operating to pass HELLO messages received on the first incoming link to the second outgoing link and to pass HELLO messages received on the second incoming link to the first outgoing link; and
after detecting a gap in the receipt of HELLO messages on the second incoming link in excess of a set threshold, reacting to the detection of the network failure on the second incoming link by;
imposing a break on the second incoming link so that data packets are blocked from passing into the ring device but the imposed break does not block any incoming HELLO messages;
imposing a break on the second outgoing link so that data packets are blocked from leaving the ring device on that link;
sending a type of HELLO message and a control signal out the second outgoing link such that an adjacent node receives a HELLO message to provide assurance that the second outgoing link from that ring device is operating and to convey to a node other than the ring device that the ring device is imposing a bidirectional break so that the virtual break should be removed;
after receiving a HELLO message on the second incoming link, resuming operating to pass HELLO messages received on the first incoming link to the second outgoing link; and
delaying the removal of the imposed break for user data on the second outgoing link and on the second incoming link for a time period sufficient to allow the bidirectional network ring to impose a virtual break at a device other than the ring device;
handling incoming data packets by set of rules comprising;
at least one rule causing the operation of the ring device to read the source address of an incoming data packet and store the source address with the identity of the port on that ring device that received the incoming packet;
at least one rule causing the operation of the ring device to act upon a data packet addressed to a unicast address not contained in the forwarding database by forwarding the data packet out through the outgoing link for each port on that ring device except for the port that received that data packet and any ring port in a non-forwarding state;
at least one rule causing the operation of the ring device to act upon a data packet arriving from a subscriber port with a destination address corresponding to a source address in the forwarding database to forward the data packet out the outgoing links for both ring ports except for a ring port in a non-forwarding state, unless the forwarding database associates the destination address with another subscriber port connected to that ring node, in which case the data packet is forwarded to the another subscriber port and not forwarded out the outgoing link for either ring port;
at least one rule causing the operation of the ring device to act upon a data packet arriving from a ring port not in a non-forwarding state, the data packet having a destination address corresponding to a source address in the forwarding database that is associated with a subscriber port by forwarding the data packet to out both a) the outgoing link for the partner ring port unless the partner ring port is in a non-forwarding state and b) the subscriber port associated with that address; and
at least one rule causing the operation of the ring device to act upon data packets arriving from a ring port not in a non-forwarding state, the data packet having a destination address corresponding to a source address in the forwarding database that is associated with either ring port for that ring node by forwarding the data packet out the outgoing link for the partner ring port unless the partner ring port is in a non-forwarding state.
- the ring device characterized by;
-
17. A ring device comprising:
-
a first port with a first incoming link and a first outgoing link;
a second port with a second incoming link and a second outgoing link;
at least one subscriber port; and
a control system for the ring device;
the control system adapted to allow this ring device to provide redundant access for the at least one subscriber port to an existing network through a first access device connected to the first port and a second access device in data communication with the first access device and connected to the second port such that a HELLO message transmitted out the first outgoing link can travel via the first access device then the second access device to the second incoming link and a HELLO message transmitted out the second outgoing link can travel via the second access device then the first access device to the first incoming link;
the control system further characterized by;
at least one rule to impose a virtual break on either the first port or the second port when HELLO messages are being received on both ports, the virtual break blocking data packets but not control messages such as HELLO messages;
at least one rule to detect and react to a HELLO timeout on both ports by removing the virtual break from either the first port or the second port so that the at least one subscriber port can have access to the existing network through the first access device connected to the first port if that is possible or through the second access device connected to the second port if that is possible;
at least one rule to detect and react to a HELLO timeout on one port and an OPER DOWN on the other port ports by removing the virtual break from either the first port or the second port so that the at least one subscriber port can have access to the existing network through the first access device connected to the first port if that is possible or through the second access device connected to the second port if that is possible, this at least one rule not necessarily distinct from the rule to detect and react to a HELLO timeout on both ports;
at least one rule to detect a unidirectional break characterized by an OPER DOWN or a HELLO timeout on one port but not the other port and to react by imposing a bidirectional break on the incoming link and the outgoing link on the port with incoming link experiencing an OPER DOWN or a HELLO timeout before removing the virtual break from the port with the virtual break;
at least one rule to detect and react to the cessation of the unidirectional break characterized by an OPER DOWN or a HELLO timeout by imposing a virtual break on one port before removing bidirectional break;
at least one rule causing the operation of the ring device to read the source address of an incoming data packet and store the source address with the identity of the port on that ring device that received the incoming packet;
at least one rule causing the operation of the ring device to act upon a data packet addressed to a unicast address not contained in the forwarding database by forwarding the data packet out through the outgoing link for each port on that ring device except for the port that received that data packet and any ring port in a non-forwarding state;
at least one rule causing the operation of the ring device to act upon a data packet arriving from a subscriber port with a destination address corresponding to a source address in the forwarding database to forward the data packet out the outgoing links for both ring ports except for a ring port in a non-forwarding state, unless the forwarding database associates the destination address with another subscriber port connected to that ring node, in which case the data packet is forwarded to the another subscriber port and not forwarded out the outgoing link for either ring port;
at least one rule causing the operation of the ring device to act upon a data packet arriving from a ring port not in a non-forwarding state, the data packet having a destination address corresponding to a source address in the forwarding database that is associated with a subscriber port by forwarding the data packet to out both a) the outgoing link for the partner ring port unless the partner ring port is in a non-forwarding state and b) the subscriber port associated with that address; and
at least one rule causing the operation of the ring device to act upon data packets arriving from a ring port not in a non-forwarding state, the data packet having a destination address corresponding to a source address in the forwarding database that is associated with either ring port for that ring node by forwarding the data packet out the outgoing link for the partner ring port unless the partner ring port is in a non-forwarding state.
-
Specification