Communication networks are used for the transmission of information from one network device to another, or to a device in another network, or to some kind of subscriber device, such as a cellular telephone, laptop computer, or PDA (personal digital assistant). Some communication networks are only a part of a larger communication system. For example, an access network may be employed to allow numerous geographically-distributed access nodes to communicate with each other and with a core communication network for the purpose of establishing a communication session between individual subscribers in communication with one of the access nodes and other subscribers reachable via the core network.
Modern communication systems typically use IP (Internet protocol) packet-routing to transmit information. In this scheme, the information to be transmitted, for example voice or data information, is digitized and packaged into relatively-small units called packets or frames. Each frame is then addressed for routing through the network to its final destination. Since individual frames may take different paths through the network, they also include information that allows the transmitted information to be reassembled into its original form.
The networks themselves may be configured and operated in different ways. To enable many different kinds of devices made by various manufacturers to cooperate with each other, certain standards have been promulgated by various standard-setting bodies. An Ethernet network, for example, is one operable according to a standard known as IEEE 802.3 and a number of related standards. These standards, among other things, establish rules for when network devices may transmit information, how the information should be packaged and addressed, and how to resolve any conflicts that arise when devices compete for limited network resources.
When a large number of interconnected network components are available for routing information, it is helpful to organize them in some fashion. While each network node is provided with information that facilitates the routing of frames, there needs to be some way to avoid routing them through too many nodes in an inefficient path to their destination. One way to address this issue is to employ STP (spanning tree protocol), specified in IEEE 802.1D, in one of its various forms. Generally speaking, STP examines the topology, or various data paths available through the network, and dictates that certain available network segments not be used. This is done by logically blocking the port of a particular network component that is on one end of the segment that is to be avoided. No traffic is sent or received on a blocked port until such time as the established paths are reconfigured. This reconfiguration, sometimes referred to as re-convergence, may be necessary, for example, when a particular network component fails or is removed from service, or when a fault occurs in the network segment connecting two components.
Another manner of organizing network nodes is to simply impose a specific topology, such is done in the creation of ring networks. Ring networks are currently employed, for example, as access networks in wireless communication systems. As the name implies, in a ring network, each network component, or node, has a unique pair of neighbor nodes and can communicate with any other node in the ring through either of these two neighbors. Note that this topology may be physically imposed, by connecting each node only with its two neighbors, or logically-created, by allowing nodes otherwise connected in a variety of ways to only communicate with their respective designated neighbors. An exemplary ring network is shown in FIG. 1 and described below.
However organized, it is also desirable to have a way for networks to monitor whether the established organizational structure is still viable. A fault in one segment, for example, might register the extant routing scheme untenable, or at least create greater inefficiency. When the existence of a fault becomes known, changes to the routing schemes can, if possible, be made to allow the efficient routing of network traffic to continue. One way to monitor the status of network connectivity is through the transmission of CC (connectivity check) messages.
CC messages, in the Ethernet context, are specified in IEEE 802.1ag. In typical practice, each of the network nodes sends a CC message to each of the other nodes periodically or at predetermined times. When a node does not receive a CC message as expected, a network fault is presumed. While efficacious, this method does involve the sending, forwarding, receipt, and processing of a great many CC messages. For example, if n is the number of network nodes in a ring network, then n(n−1) messages must be received each CC message cycle. This could, among other things, require the dedication of a large amount of memory simply to store information related to the CC messages.
Needed, therefore, is a more efficient manner of fault protection for ring networks, that is, the monitoring of the connectivity status of networks and making any possible adjustments to the network routing scheme, especially, in the context of the present invention, in ring networks operating according to an Ethernet protocol.