The present invention is related to a telecommunications system that uses shortest paths where there is 100% efficiency along the paths with the paths traversing any link only once. More specifically, the present invention is related to a telecommunications system that uses shortest paths where there is 100% efficiency along the paths with the paths traversing any link only once by computing the shortest point to point path from a source node to each destination node, and each switch forms shortest point to multipoint paths from the source node to the destination nodes without additional shortest path computations from the shortest point to point paths.
Currently existing technologies use spanning tree for unicast, multicast and broadcast delivery of Ethernet frames (or protocol data units—PDUs).
In development proposals have suggested (for many years) the use of shortest path construction using a (potentially modified) routing protocol.
Prior work in this area has relied on—or suggested—use of a distance vector routing protocol (DVRP), such as RIP. This approach has repeatedly been shown to have severe limitations relating to the lack of information provided by the routing protocol, and lack of support for multi-point distribution.
More recent proposals focus on use of IS-IS (intermediate system to intermediate system routing) as the core routing protocol, in part because it is easily extensible and in part because of the intrinsic creation and use of link-state routing and shortest path determination using the SPF (shortest path first) Dijkstra algorithm (so named after its inventor—Edsger Wybe Dijkstra).
One issue not adequately supported by any of these approaches is the need to support Ethernet flooding, and broadcast and multicast frame distribution.
The specific issue is that multipoint distribution requires delivery to multiple points but the path used must be loop-free or frame multiplication will occur explosively (involving exponential growth at forwarding speeds).
Because these things (flooding, broadcast and multicast) are very closely related, the approach required to support them has collectively come to be called “multipoint distribution.”
Efforts within external (e.g.—standards) organizations—such as the IEEE and IETF—have run into a choice between two limited options:
Both of these options have severe limitations. The most limiting issue with the first approach is the need to perform O(n2) shortest path computations at each Ethernet switch. The most serious drawback to the second approach is the effective use of spanning tree for multipoint distribution—which:
The present invention pertains to a telecommunications system. The system comprises a source node. The system comprises a plurality of destination nodes. The system comprises a network having links and end stations. The system comprises a plurality of switches that create paths along links between the source nodes and the destination nodes where there is 100% efficiency along the paths with the paths traversing any link only once to the corresponding destination node from the source node, and the path being a shortest path between the source node and the destination node, where each switch has a Dijkstra computation complexity of O(N) in regard to forming the shortest paths.
The present invention pertains to a method for telecommunications. The method comprises the steps of creating paths with a plurality of switches along links of a network between a source node and a plurality of destination nodes where there is 100% efficiency along the paths with the paths traversing any link only once to the corresponding destination node from the source node, and each path being a shortest path between the source node and the destination node, where each switch has a Dijkstra computation complexity of O(N) in regard to forming the shortest paths. There is the step of delivering with the switches frames from the source node to the destination nodes along the shortest paths.
In the accompanying drawings, the preferred embodiment of the invention and preferred methods of practicing the invention are illustrated in which:
Referring now to the drawings wherein like reference numerals refer to similar or identical parts throughout the several views, and more specifically to
Preferably, the switches 22 deliver frames from the source node 12 to the destination nodes 14 along the shortest paths 24. Each switch 22 preferably computes the shortest point to point path 24 from the source node 12 to each destination node 14, and each switch 22 forms a shortest point to multipoint paths 24 from the source node 12 to the destination nodes 14 without additional shortest path 24 computations from the shortest point to point paths 24. Preferably, each switch 22 has a link-state database 26 and establishes unicast paths 24 using the link-state database 26 and shortest path 24 computations.
Each switch 22 preferably forwards a special control message to all of the switches 22 having external ports 28 using the corresponding unicast path 24, where external ports 28 are defined as ports facing a portion of the network 16 containing end stations 20. Preferably, each switch 22 establishes unicast paths 24 for each ingress-egress switch 22 pair defined from each switch 22 with one or more external ports 28 to every other switch 22 also having at least one external port 28. The messages are preferably intercepted in each intermediate switch 22 in the network 16 and used to construct a portion of the point to multipoint paths 24 that the respective intermediate switch 22 for the ingress switch 22 that originated the message.
Preferably, a multipoint distribution tree is constructed by each intermediate switch 22 for each potential ingress switch 22, with branching added as required for shortest path 24 delivery to the corresponding addressed egress switch 22. The messages are preferably only seen at any intermediate switch 22 that is on the shortest path 24 between the ingress switch 22 that originated the message and the egress switch 22 to which it is addressed. Preferably, flooding is implemented by using a preliminary determination of whether or not each frame's media access control destination address is known prior to doing a multipoint distribution tree determination by each ingress switch 22. Only a single multipoint distribution tree is preferably constructed on a per-ingress switch 22 basis at each switch 22. Preferably, no a priori knowledge of a loop-free multipoint distribution tree is required by any switch 22 to construct the shortest paths 24.
The present invention pertains to a method for telecommunications. The method comprises the steps of creating paths 24 with a plurality of switches 22 along links 18 of a network 16 between a source node 12 and a plurality of destination nodes 14 where there is 100% efficiency along the paths 24 with the paths 24 traversing any link 18 only once to the corresponding destination node 14 from the source node 12, and each path 24 being a shortest path 24 between the source node 12 and the destination node 14, where each switch 22 has a Dijkstra computation complexity of O(N) in regard to forming the shortest paths 24. There is the step of delivering with the switches frames from the source node 12 to the destination nodes 14 along the shortest paths 24.
Preferably, the creating step includes the step of creating a shortest point to point path 24 from the source node 12 to each destination node 14 by the switches 22 and each switch 22 forms shortest point to multipoint paths 24 from the source node 12 to the destination nodes 14 without additional shortest path 24 computations from the shortest point to point paths 24. The creating step preferably includes the step of establishing unicast paths 24 using a link-state database 26 of each switch 22 and shortest path 24 computations. Preferably, there is the step of forwarding a special control message to all of the switches 22 having external ports 28 using the corresponding unicast path 24, where external ports 28 are defined as ports facing a portion of the network 16 containing end stations 20.
The establishing step preferably includes the step of establishing with each switch 22 unicast paths 24 for each ingress-egress switch 22 pair defined from each switch 22 with one or more external ports 28 to every other switch 22 also having at least one external port 28. Preferably, there are steps of intercepting the messages at each intermediate switch 22 in the network 16 and using the messages to construct a portion of the point to multipoint paths 24 that the respective intermediate switch 22 for the ingress switch 22 that originated the message. There is preferably the steps of constructing a multipoint distribution tree by each intermediate switch 22 for each potential ingress switch 22, and adding branching for shortest path 24 delivery to the corresponding addressed egress switch 22.
Preferably, there is the step of seeing the messages only at any intermediate switch 22 that is on the shortest path 24 between the ingress switch 22 that originated the message and the egress switch 22 to which it is addressed. There is preferably the step of flooding by using a preliminary determination of whether or not each frame's media access control destination address is known prior to doing a multipoint distribution tree determination by each ingress switch 22. Preferably, there is the step of constructing only a single multipoint distribution tree on a per-ingress switch 22 basis at each switch 22. The creating step preferably requires no a priori knowledge of a loop-free multipoint distribution tree by any switch 22 to construct the shortest paths 24.
In the operation of the present invention, an important feature is to use the path determination already done for determination of unicast forwarding to allow direct creation of multipoint distribution trees without additional shortest path computations.
In the discussion below, “external ports” are ports facing a portion of the network containing end-stations and/or non-SPF bridges. Implementation of a current-state, state-of-the-art compatible version of shortest path bridging requires some form of Ethernet re-encapsulation by shortest path bridges of frames received on an “external port” and de-encapsulation of SPF-bridged frames prior to forwarding on an “external port.”
In its simplest form, the invention works as follows:
Step 3b is critical to the invention. Because unicast delivery will follow the unicast shortest path, three things can be easily shown to be true of this invention because of step 3b:
In addition to the above description of behavior, the details of the invention fall into 4 areas:
An ingress Ethernet SPF switch is one having at least one external port (as defined previously). Once the link state database is fully determined, each ingress Ethernet SPF switch must originate at least one message directed to each egress Ethernet SPF switch. In a minimalist implementation, this may be at least one message to all other Ethernet SPF switches in the switch domain, however the link state database MAY contain information about egress status for each Ethernet SPF switch in it, depending on the information content of the link state advertisement mechanisms that apply in an implementation.
Because of the need to remove entries that become invalid as a result of a change in the link state database, a minimalist implementation will very probably use the refresh mechanisms, aging and timers associated with the links state routing protocol itself. Hence it is likely that these messages will need to be constructed, and forwarded, periodically—as opposed to just one time.
The message must minimally identify:
At an intermediate switch, the message is either copied to the appropriate unicast forwarding port and processed locally, or it is processed locally and then forwarded via the appropriate unicast forwarding port. This is a choice that must be made by a local implementation, based on its processing model and the requirements for forwarding integrity that apply to that model.
Message processing consists first of parsing the destination Ethernet SPF switch identification (encoded in message origination), the originating (ingress) Ethernet SPF switch identification (also encoded in origination) and the fact that this is a control message intended for setup of the multipoint distribution tree for the identified ingress Ethernet SPF switch. The ingress and egress identification information is then used to construct a multipoint distribution tree entry for the ingress/egress pair.
In an example implementation, a multipoint distribution tree may consist of a table containing zero or more entries for any given ingress Ethernet SPF switch. If no entries exist, then any frame received for multipoint forwarding by the local switch are either premature (an entry has yet to be created), or in error; in either case, such a frame will be dropped. If one or more entries exist, then each entry will be used to represent a “copy instruction”—instructing the local switch to copy the frame to a specific forwarding port.
In the example implementation, the information extracted from the above control message may be used to construct a multipoint distribution tree table entry as follows:
How LSDB inconsistency is handled will be specific to the implementation of both link-state routing and the messaging approach used. For example, if messages are periodically repeated, silently dropping the errored message is sufficient. If the process of sending these messages is triggered by some deterministic form of LSDB consistency determination, a NACK message may be required.
At the destination egress Ethernet SPF switch, message processing differs only very slightly from processing in intermediate SPF switches. Because the message destination is also the local switch, the local (egress) SPF switch will not forward the message further. In addition, the egress switch needs to create forwarding entries consistent with typical Ethernet switch flooding, and other multipoint delivery requirements. For example, if the egress Ethernet SPF switch has two external ports associated with the same VLAN as applies to the received control message, then it must create forwarding entries for both of those ports as a result of this received message.
During the forwarding process, if an Ethernet frame is received which must be forwarded via the multipoint distribution tree, the appropriate entry set is determined for the ingress Ethernet SPF switch, and the frame is copied to all interfaces identified by that entry set.
Note that part of the information that must either be carried in the frame, or (re)determined at each intermediate Ethernet SPF switch, is the fact that the frame is to be forwarded on the multipoint distribution tree. This fact is known because the key discriminator that must be used to select forwarding entries is the ingress Ethernet SPF switch. This may be determined on a frame by frame basis either from the source MAC address in the frame being forwarded, or by some other form of identifier carried in the frame.
In this system, the distribution of control messages used to setup the multipoint distribution tree are sent using unicast delivery based on the information contained in and shortest paths determined from the link state database. Because unicast delivery will follow the unicast shortest path, three things can be easily shown to be true of this invention:
In regard to
For example:
Traversing a path only once is not really the advantage of using the shortest path. Using spanning tree, for example, also results in having a link traversed only once (for any specific data frame). The distinction in using shortest path (that results in efficiency) is that a frame will never traverse a longer path than that which is the minimum (shortest length, or lowest cost) path. For example, in the attached network diagram (
Although the invention has been described in detail in the foregoing embodiments for the purpose of illustration, it is to be understood that such detail is solely for that purpose and that variations can be made therein by those skilled in the art without departing from the spirit and scope of the invention except as it may be described by the following claims.