Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberCN103973566 A
Publication typeApplication
Application numberCN 201410174422
Publication date6 Aug 2014
Filing date11 Dec 2008
Priority date26 Dec 2007
Also published asCA2742887A1, CN101965715A, CN101965715B, EP2232792A1, EP2232792A4, EP2582103A2, EP2582103A3, US7911944, US8699329, US20090168768, US20110128857, US20140140347, WO2010032081A1
Publication number201410174422.0, CN 103973566 A, CN 103973566A, CN 201410174422, CN-A-103973566, CN103973566 A, CN103973566A, CN201410174422, CN201410174422.0
InventorsJ.恰鲍特, D.艾伦, N.布拉格, P.阿什伍德史密斯
Applicant北方电讯网络有限公司
Export CitationBiBTeX, EndNote, RefMan
External Links: SIPO, Espacenet
Tie-breaking in shortest path determination
CN 103973566 A
Abstract
A consistent tie-breaking decision between equal-cost shortest (lowest cost) paths is achieved by comparing an ordered set of node identifiers for each of a plurality of end-to-end paths. Alternatively, the same results can be achieved, on-the-fly, as a shortest path tree is constructed, by making a selection of an equal-cost path using the node identifiers of the diverging branches of the tree. Both variants allow a consistent selection to be made of equal-cost paths, regardless of where in the network the shortest paths are calculated. This ensures that traffic flow between any two nodes, in both the forward and reverse directions, will always follow the same path through the network.
Claims(52)  translated from Chinese
1.一种确定转发信息供在分组转发网络的转发节点处转发分组时使用的方法,所述网络的每个节点具有唯一的节点标识符,所述方法包括: 确定所述网络的第一节点和第二节点之间的最短路径; 确定多个最短路径具有相等的开销的时间; 形成定义所述路径中的节点的集合的节点标识符集合; 使用第一排序标准将每个节点标识符集合排序并且按该顺序串联所述节点标识符以形成路径标识符,其中所述第一排序标准独立于与所述节点标识符对应的节点在所述路径中出现的顺序;以及通过比较所述路径标识符而选择所述多个等开销的路径中的至少一个等开销的路径。 1. A method of determining forwarding information for use in forwarding the network packet forwarding node forwarding packet used, each node of the network has a unique node identifier, the method comprising: determining a first node of the network and the shortest path between the second node; determining a plurality of shortest paths have equal time overhead; forming a set of nodes defining said path identifier of the set of nodes; using a first ordering criterion to each node identifier is set and sorted in this order in series to form the path identifier node identifier, wherein the first ordering criterion is independent of the sequence corresponding to the node identifier of the node in the path; and a path by comparing the path identifier and the choice of the plurality of equal-cost paths in at least an equal cost.
2.根据权利要求1所述的方法,其中确定所述多个最短路径具有相等的开销的时间包括确定所述多个最短路径按照至少一个链路度量在彼此的理想偏移以内具有相等的开销的时间。 2. Determine the shortest path according to at least one of the plurality of link cost metric with equal offset each other within the ideal method according to claim 1 or claim 2, wherein said determining a plurality of shortest paths have equal time includes overhead time.
3.根据权利要求1所述的方法,其中所述第一排序标准是递增的字典式顺序和递减的字典式顺序中的一个。 3. The method according to claim 1, wherein the first sorting criterion is ascending and descending lexicographic order lexicographic order one.
4.根据权利要求1所述的方法,其还包括使用第二排序标准将所述多个路径标识符排序成有序列表;并且其中选择所述多个等开销的路径中的至少一个等开销的路径包括选择在所述路径标识符的有序列表中第一个或最后一个出现的等开销的路径。 4. The method according to claim 1, further comprising using a second ordering criterion to sort the plurality of path identifiers into an ordered list; select the path, and wherein the plurality of equal-cost at least one other expenses The path includes selecting equal-cost paths in the path of an ordered list of identifiers in the first or the last to appear.
5.根据权利要求4所述的方法,其中所述第二排序标准是递增的字典式顺序和递减的字典式顺序中的一个。 5. The method according to claim 4, wherein the second sorting criterion is ascending and descending lexicographic order lexicographic order one.
6.根据权利要求4所述的方法,其中通过比较所述路径标识符而选择所述多个等开销的路径中的至少一个等开销的路径包括以下各项中的一个: 通过使用两个不同的第一排序标准来形成两个路径标识符集合并且使用共同的第二排序标准以从所述两个集合中的每一个各选择一个的方式选择两个不同的路径标识符而选择所述等开销的路径中的两个; 通过使用共同的第一排序标准来形成路径标识符并且使用两个不同的第二排序标准来选择两个不同的路径标识符而选择所述等开销路径中的两个。 Path 6. The method according to claim 4, wherein said path identifier by comparing the plurality of equal-cost paths to select at least one of equal-cost include the following one: By using two different a first ordering criterion to form a set of identifiers of the two paths and a common second ordering criterion used to select each of the two sets from each of one of two different ways to select and choose the path identifier, etc. path cost of the two; to form a path identifier by using a common first ordering criteria and the choice of the path overhead like two and two different second ordering criteria to select two different path identifier a.
7.根据权利要求4所述的方法,其还包括通过以下步骤来选择所述等开销的路径中的四个: 使用两个不同的第一排序标准来形成路径标识符并且使用共同的第二排序标准来创建路径标识符的两个相应的有序列表,路径标识符的每个有序列表与所述两个不同的第一排序标准中的相应的一个对应;以及选择与在路径标识符的所述两个有序列表中的每一个中第一个和最后一个出现的路径标识符对应的等开销的路径。 The second uses two different first ordering criterion to form a path identifier and a common use: 7. A method according to claim 4, further comprising the following four steps to select the overhead like path sorting criteria to create two corresponding ordered list of path identifiers, ordered list of path identifiers each of said two different first ordering criteria corresponding to a respective one; and selecting the path identifier equal-cost paths corresponding to the two ordered lists each of the first and last occurrence identifier path.
8.一种供在分组转发网络中使用的转发节点,其包括: 处理器;以及存储可由处理器执行以执行以下操作的指令的处理器可读介质: 确定所述网络的第一节点和第二节点之间的最短路径; 确定多个最短路径具有相等的开销的时间; 为每个等开销的路径形成定义所述路径中的节点的集合的节点标识符集合;使用第一排序标准将每个节点标识符集合排序并且按该顺序串联所述节点标识符以形成路径标识符,其中所述第一排序标准独立于与所述节点标识符对应的节点在所述路径中出现的顺序;以及通过比较所述路径标识符而选择所述多个等开销的路径中的至少一个等开销的路径。 A forwarding node for use in a packet forwarding network, comprising: a processor; and storing executable by the processor to execute instructions that processor-readable media: determining a network node and the shortest path between two nodes; determining a plurality of shortest paths with equal cost time; forming a set of nodes defining the path node is equal-cost paths for each set of identifiers; using a first ranking criterion for each Sort node identifier set and this order in series to form a path to the node identifier identifier, wherein the first ordering criterion is independent of the order of the node identifier corresponding node in the path; and By comparing the path identifier and select the plurality of equal-cost paths in the path of at least one other expenses.
9.根据权利要求8所述的转发节点,其中确定所述多个最短路径具有相等的开销的时间包括确定所述多个最短路径按照至少一个链路度量在彼此的理想偏移以内具有相等的开销的时间。 Forwarding node according to claim 8, wherein said determining a plurality of shortest paths have equal cost shortest time comprises determining the plurality of path metric in accordance with at least one link within each ideal shift having equal overhead time.
10.根据权利要求8所述的转发节点,其中所述第一排序标准是递增的字典式顺序和递减的字典式顺序中的一个。 Forwarding node according to claim 8, wherein said first sorting criterion is ascending and descending lexicographic order lexicographic order one.
11.根据权利要求8所述的转发节点,其还包括可执行以使用第二排序标准将所述多个路径标识符排序成有序列表的指令;并且其中可执行以选择所述多个等开销的路径中的至少一个等开销的路径的指令包括可执行以选择在所述路径标识符的有序列表的一端处出现的等开销的路径的指令。 Forwarding node according to claim 8, further comprising executable to use the second ordering criterion to sort the plurality of path identifiers into an ordered list of instructions; and wherein the plurality of executable to select, etc. instruction path cost at least an equal cost paths include executable instructions to select the ordered list at the end of the path identifier appearing at equal-cost paths.
12.根据权利要求11所述的转发节点,其中所述第二排序标准是递增的字典式顺序和递减的字典式顺序中的一个。 Forwarding node according to claim 11, wherein said second sorting criterion is ascending and descending lexicographic order lexicographic order one.
13.根据权利要求11所述的转发节点,其中可执行以通过比较所述路径标识符而选择所述多个等开销的路径中的至少一个等开销的路径的指令包括以下各项中的一个: 可执行以通过使用两个不同的第一排序标准来形成两个路径标识符集合并且使用共同的第二排序标准以从所述两个集合中的每一个各选择一个的方式选择两个不同的路径标识符而选择所述等开销的路径中的两个的指令; 可执行以通过使用共同的第一排序标准来形成路径标识符并且使用两个不同的第二排序标准来选择两个不同的路径标识符而选择所述等开销路径中的两个的指令。 At least one instruction includes equal-cost paths following a path 13. The forwarding node according to claim 11, wherein the executable path identifier by comparing the selected plurality of equal-cost : perform two paths to be formed by using two different first ordering criteria and a set of identifiers using a common second ordering criterion to select each of the two sets from each of the selection of one of two different ways to select two different executable to first sort through the use of common standards to form a path identifier and the use of two different second ordering criteria; the path identifier and choose the path of the two equal-cost instruction The path identifier and choose the path of the overhead of instructions like two.
14.根据权利要求11所述的转发节点,其中所述指令还包括可执行以通过以下步骤来选择所述等开销的路径中的四个的指令: 使用两个不同的第一排序标准和共同的第二排序标准来创建路径标识符的两个相应的有序列表,路径标识符的每个有序列表与所述两个不同的第一排序标准中的相应的一个对应;以及选择与在路径标识符的所述两个有序列表中的每一个中第一个和最后一个出现的路径标识符对应的等开销的路径。 Forwarding node according to claim 11, wherein the instructions further comprising executable through the following steps to select a path and other expenses of the four instructions: Use two different standards and common first ordering a second ordering criterion to create two corresponding ordered list of path identifiers, ordered list of path identifiers each of said two different first ordering criteria corresponding to a respective one; and with the selection equal-cost paths corresponding to the two ordered list of identifiers in the path of each of the first and last occurrence identifier path.
15.一种确定转发信息供在分组转发网络的转发节点处转发分组时使用的方法,所述网络的每个节点具有唯一的节点标识符,所述方法包括: 确定所述网络的第一节点和第二节点之间的最短路径; 在确定所述最短路径的同时,确定多个路径具有等开销的时间,每个等开销的路径包括从所述等开销的路径所共有的分叉节点分出的支路; 使用第一选择标准在每个分叉支路中选择节点标识符以形成相应的支路标识符,所述第一选择标准独立于与所述节点标识符对应的节点在所述支路中出现的顺序;以及通过比较所述支路标识符而选择所述多个支路中的至少一个支路。 15. A method of determining forwarding information for use in forwarding the network packet forwarding node forwarding packet used, each node of the network has a unique node identifier, the method comprising: determining a first node of the network and the shortest path between the second node; at the same time determining the shortest path, determining a plurality of equal-cost paths have the time, and so the path cost each node includes a diverging path cost from the total of points, etc. a branch; using the first selection criterion to select a node identifier in each bifurcated branch to form the corresponding branch identifier, the first selection criterion is independent of node identifier corresponding to the node in the appear in order of said branch; and by comparing said branch identifier selected plurality of branches in said at least one branch.
16.根据权利要求15所述的方法,其中确定第一节点和第二节点之间的最短路径的步骤通过迭代地形成最短路径树来执行。 16. The method according to claim 15, wherein the step of determining the shortest path between the first node and the second node of the formation of the shortest path tree by iteratively performed.
17.根据权利要求15所述的方法,其中选择节点标识符包括在每个分叉支路中选择最佳地达到所述第一选择标准的相应节点标识符。 17. The method according to claim 15, wherein selecting comprises selecting the best node identifier reach the first selection criterion in each node identifier corresponding furcation legs.
18.根据权利要求17所述的方法,其中: 所述分叉支路在汇聚节点处汇聚;并且对于每个分叉支路,选择最佳地达到所述第一选择标准的相应节点标识符包括: 记录在该支路上与所述汇聚节点相邻的相应节点的节点标识符; 沿所述支路从所述汇聚节点朝所述分叉节点一个节点接一个节点地进行处理,直到到达与所述分叉节点相邻的相应节点,同时将每个节点标识符与先前记录的节点标识符比较并且记录那两个节点标识符中达到所述第一选择标准的节点标识符;以及在到达与所述分叉节点相邻的相应节点时,将所记录的节点标识符记录为用于所述支路的相应的支路标识符。 18. The method according to claim 17, wherein: said furcation legs converge at convergence node; and for each furcation legs, to select the best reach the first node identifier corresponding selection criteria comprising: recording node identifier in the branch on the way to the sink node adjacent to the corresponding node; along the branches from the aggregation node toward the bifurcation of a node connected to a node to be processed until the arrival and The bifurcation node adjacent to the respective nodes, and each node identifier with the previously recorded relatively node identifier and recorded two node identifiers to reach the first selection criterion node identifier; and in reach the corresponding node and the adjacent node bifurcation, the node identifier recorded record for the corresponding branch identifier for the branches.
19.根据权利要求1 5所述的方法,其中: 在第一节点和第二节点之间确定最短路径的步骤以及确定两个路径具有等开销的时间的步骤使用Dijkstra算法来执行;并且通过比较所述两个路径所共有的节点的标识符而选择所述等开销的路径中的一个的步骤被集成到所述Dijkstra算法中。 19. The method of claim 15, wherein: the step of determining the shortest path between the first node and the second node determining step and two equal-cost paths have the time to perform the Dijkstra algorithm; and by comparison The two paths common node identifier of said selected overhead like a step in the path to be integrated into the Dijkstra algorithm.
20.一种供在分组转发网络中使用的转发节点,其包括: 处理器;以及存储可由处理器执行以执行以下操作的指令的处理器可读介质: 确定所述网络的第一节点和第二节点之间的最短路径; 在形成所述最短路径树的同时,确定多个路径具有等开销的时间,每个等开销的路径包括从所述等开销的路径所共有的分叉节点分出的支路; 使用第一选择标准在每个分叉支路中选择节点标识符以形成支路标识符,所述第一选择标准独立于与所述节点标识符对应的节点在所述支路中出现的顺序;以及通过比较所述支路标识符而选择所述多个支路中的至少一个支路。 20. A method for forwarding node in a network using packet forwarding, comprising: a processor; and storing executable by the processor to execute instructions that processor-readable media: determining a network node and the shortest path between two nodes; at the same time form the shortest path tree, determining a plurality of equal-cost paths have time, each and other path overhead includes separated from the diverging path cost of the node and other common branch; using a first selection criterion to select a node identifier in each branch to form a branch furcation identifier, independent of the first selection criterion and the node identifier corresponding to the branch node appear in the order; and by comparing said at least one leg branch identifier selected in the plurality of branches.
21.根据权利要求20所述的转发节点,其中可执行以确定第一节点和第二节点之间的最短路径的指令可执行以迭代地形成最短路径树。 21. The forwarding node according to claim 20, wherein the instructions executable to determine the shortest path between the first node and the second node of the executable to iteratively form the shortest path tree.
22.根据权利要求20所述的转发节点,其中所述指令还包括可执行以在每个分叉支路中选择最佳地达到所述第一选择标准的相应节点标识符。 22. The forwarding node according to claim 20, wherein the instructions further comprise executable to select the best in each of the furcation legs of the first selection criterion is reached corresponding node identifier.
23.根据权利要求22所述的转发节点,其中: 所述分叉支路在汇聚节点处汇聚;并且对于每个分叉支路,所述转发节点还包括可执行以执行以下操作的指令: 记录在该支路上与所述汇聚节点相邻的相应节点的节点标识符; 沿所述支路从所述汇聚节点朝所述分叉节点一个节点接一个节点地进行处理,直到到达与所述分叉节点相邻的相应节点,同时将每个节点标识符与先前记录的节点标识符比较并且记录那两个节点标识符中达到所述第一选择标准的节点标识符;以及在到达与所述分叉节点相邻的相应节点时,将所记录的节点标识符记录为用于所述支路的相应的支路标识符。 23. The forwarding node according to claim 22, wherein: the fork legs converge convergence node; and for each fork leg, the forwarding node also includes executable instructions to perform the following operations: Record node identifier in the branch on the way to the sink node adjacent to the corresponding node; along the branches from the aggregation node toward the bifurcation of a node connected to a node to be processed, until reaching the crossing node adjacent to the respective nodes, and each node identifier with the previously recorded relatively node identifier and recorded two node identifiers to reach the first selection criterion node identifier; and the arrival and the When crossing node adjacent to said respective node, the node identifier recorded record for the corresponding branch identifier for the branches.
24.根据权利要求20所述的转发节点,其中:可执行以在第一节点和第二节点之间确定最短路径以及确定两个路径具有等开销的时间的指令实现Dijkstra算法;并且可执行以通过比较所述两个路径所共有的节点的标识符而选择所述等开销的路径中的一个的指令被集成到所述Dijkstra算法中。 24. The forwarding node according to claim 20, wherein: the executable to determine the shortest path and determine two paths between the first node and the second node have equal time instruction overhead to achieve Dijkstra algorithm; and executable to By comparing the two paths common node identifier of said selected overhead path like an instruction is integrated into the Dijkstra algorithm.
25.一种确定转发信息供在分组转发网络的转发节点处转发分组时使用的方法,所述网络的每个节点具有唯一的节点标识符,所述方法包括: 由所述转发节点确定所述网络的第一节点和第二节点之间的最短路径; 由所述转发节点在确定所述最短路径的同时确定多个路径具有相等的开销的时间;以及由所述转发节点选择所述等开销的路径中的一个,被选择的等开销的路径具有以下特性:如果在每个等开销的路径中分配给节点的节点标识符根据第一排序标准被排序并且按该顺序被串联以得到用于每个等开销的路径的路径标识符,其中所述第一排序标准独立于与所述节点标识符对应的节点在所述路径中出现的顺序,并且结果得到的路径标识符根据第二排序标准被排序以得到路径标识符的有序列表,则所述被选择的等开销的路径在所述路径标识符的有序列表中是第一个或最后一个。 25. A method of determining forwarding information for use in forwarding the network packet forwarding node forwarding packets use the network each node has a unique node identifier, the method comprising: determining by said forwarding node the The shortest path first node and the second node of the network between; by the forwarding node determines at the same time determining the shortest path overhead of multiple paths have equal time; and by the forwarding node selection of the expenses. one path, the path is selected and other expenses has the following features: If you are assigned to a node in the equal-cost paths for each node identifiers are sorted in the first sorting criteria and in accordance with this order in series to get used to path identifier for each equal-cost paths, wherein the first ordering criterion is independent of the order of the node identifier corresponding node in the path, and the results obtained path identifier according to a second sorting criteria path is an ordered list of sort to get the path identifier, then the selected equal-cost paths in the ordered list of the identifiers in the first one or the last one.
26.根据权利要求25所述的方法,其中所述第一排序标准是字典式排序。 26. The method according to claim 25, wherein the first sorting criterion is the dictionary ordering.
27.根据权利要求25所述的方法,其中所述第二排序标准是字典式排序。 27. The method according to claim 25, wherein the second ordering criterion is lexicographic ordering.
28.根据权利要求25所述的方法,其中所述确定所述网络的第一节点和第二节点之间的最短路径的步骤包括迭代地形成最短路径树。 28. The method according to claim 25, wherein said step of determining the shortest path to the first node and the second node of the network between including iterative form the shortest path tree.
29.根据权利要求25所述的方法,其包括以下各项中的一个: 选择所述等开销的路径中具有以下特性的两个等开销的路径:如果在每个等开销的路径中分配给节点的节点标识符根据两个不同的第一排序标准被排序并且按该顺序被串联以得到两个路径标识符集合,每个路径标识符集合对于每个等开销的路径具有相应的路径标识符,其中每个第一排序标准独立于与所述节点标识符对应的节点在所述路径中出现的顺序,并且结果得到的路径标识符根据共同的第二排序标准被排序以得到路径标识符的两个有序列表,所述两个被选择的等开销的路径中的每一个具有处于所述路径标识符的有序列表中的一个的一个末端的相应标识符;以及选择所述等开销的路径中具有以下特性的两个等开销的路径:如果在每个等开销的路径中分配给节点的节点标识符根据第一排序标准被排序并且按该顺序被串联以得到路径标识符集合,所述路径标识符集合对于每个等开销的路径具有相应的路径标识符,其中所述第一排序标准独立于与所述节点标识符对应的节点在所述路径中出现的顺序,并且结果得到的路径标识符根据两个不同的第二排序标准被排序以得到路径标识符的两个有序列表,所述两个被选择的等开销的路径中的每一个具有处于所述路径标识符的有序列表中的一个的一个末端的相应标识符。 Two equal-cost path selection and other expenses of the path with the following characteristics:: 29. The method of claim 25, comprising the following one if assigned in equal-cost paths to each node identifier node is sorted according to two different first ordering criteria and in this order in series to obtain a set of identifiers of the two paths, each path identifier set for each equal-cost paths having a corresponding path identifier wherein each of the first sorting criterion is independent of the sequence corresponding to the node in the path to the node identifier, and the results obtained path identifier based on common standards have been sorted in a second sort of get the path identifier Two ordered list, and so the two selected path cost of each having a respective terminal identifier in the ordered list of path identifiers one; and the like of the overhead of selecting path path two equal-cost with the following characteristics: if the node identifier assigned to a node in each equal-cost paths are sorted by first sorting criteria and in this order in series to obtain a set path identifier, the said path identifier set for each equal-cost paths with corresponding path identifier, wherein the first ordering criterion is independent of the order of the node identifier corresponding node in the path, and the results obtained path identifier according to two different second ordering criterion is sorted to obtain two ordered list of path identifiers, the path of the two equal-cost selected each having in said path identifier has one end of a respective identifier sequence table.
30.根据权利要求25所述的方法,其还包括选择所述等开销的路径中具有以下特性的四个等开销的路径:如果在每个等开销的路径中分配给节点的节点标识符根据两个不同的第一排序标准被排序并且按该顺序被串联以得到两个路径标识符集合,每个路径标识符集合对于每个等开销的路径具有相应的路径标识符,其中每个第一排序标准独立于与所述节点标识符对应的节点在所述路径中出现的顺序,并且结果得到的路径标识符根据共同的第二排序标准被排序以得到路径标识符的两个有序列表,所述四个被选择的等开销的路径中的每一个具有处于所述路径标识符的有序列表中的一个的一个末端的相应标识符。 30. The method of claim 25, further including the equal-cost routing path in four equal cost with the following characteristics: a node if the node is assigned to each of the equal-cost path identifier according to Two different first ordering criteria and are sorted in this order in series to obtain a set of identifiers of two paths, each path identifier set for each equal-cost paths having a corresponding path identifier, wherein each of the first independent of the order of sorting criteria corresponding node in the path to the node identifier, and the results obtained path identifier according to a common second ordering criterion is sorted to obtain two ordered list of path identifiers, path of the selected four equal-cost each having a respective identifier at the end of the ordered list of path of one of the identifiers.
31.一种用于分组转发网络的转发节点,在所述分组转发网络中多个节点中的每一个具有唯一的节点标识符,所述转发节点包括: 处理器;以及存储可由所述处理器执行以执行以下操作的指令的处理器可读介质: 确定所述网络的第一节点和第二节点之间的最短路径; 在确定所述最短路径的同时确定多个路径具有相等的开销的时间;以及选择所述等开销的路径中的一个,被选择的等开销的路径具有以下特性:如果在每个等开销的路径中分配给节点的节点标识符根据第一排序标准被排序并且按该顺序被串联以得到用于每个等开销的路径的路径标识符,其中所述第一排序标准独立于与所述节点标识符对应的节点在所述路径中出现的顺序,并且结果得到的路径标识符根据第二排序标准被排序以得到路径标识符的有序列表,则所述被选择的等开销的路径在所述路径标识符的有序列表中是第一个或最后一个。 And storing by said processor; processor: 31. A method for forwarding a packet forwarding node in the network, the packet forwarding in the plurality of network nodes each having a unique node identifier, the forwarding node comprising perform the following instructions to a processor-readable media: the shortest path to determine the network between the first node and the second node; and at the same time determining the shortest path to determine a plurality of paths of equal cost time ; and selecting said overhead like a path, the path is selected and other expenses has the following characteristics: If you are assigned to a node in the path of each equal-cost nodes identifiers are sorted by the first sort criteria and order to be connected in series to obtain a path for each equal-cost path identifier, wherein the first ordering criterion is independent of the order of the node identifier corresponding node in the path, and the resultant path path identifier is sorted according to a second sorting criteria to obtain an ordered list of path identifiers, then the selected equal-cost paths in the ordered list of identifiers in the first or the last one.
32.根据权利要求31所述的转发节点,其中所述第一排序标准是字典式排序。 32. The forwarding node according to claim 31, wherein said first sorting criterion is the dictionary ordering.
33.根据权利要求31所述的转发节点,其中所述第二排序标准是字典式排序。 33. The forwarding node according to claim 31, wherein the second ordering criterion is the lexicographic ordering.
34.根据权利要求31所述的转发节点,其中可由所述处理器执行以确定所述网络的第一节点和第二节点之间的最短路径的指令包括可执行以迭代地形成最短路径树的指令。 34. The forwarding node according to claim 31, wherein the processor can execute instructions to determine the shortest path first node and the second node of the network between include executable to form the shortest path tree iteratively instructions.
35.根据权利要求31所述的转发节点,其中所述指令包括以下各项中的一个: 可执行以选择所述等开销的路径中具有以下特性的两个等开销的路径的指令:如果在每个等开销的路径中分配给节点的节点标识符根据两个不同的第一排序标准被排序并且按该顺序被串联以得到两个路径标识符集合,每个路径标识符集合对于每个等开销的路径具有相应的路径标识符,其中每个第一排序标准独立于与所述节点标识符对应的节点在所述路径中出现的顺序,并且结果得到的路径标识符根据共同的第二排序标准被排序以得到路径标识符的两个有序列表,所述两个被选择的等开销的路径中的每一个具有处于所述路径标识符的有序列表中的一个的一个末端的相应标识符;以及可执行以选择所述等开销的路径中具有以下特性的两个等开销的路径的指令:如果在每个等开销的路径中分配给节点的节点标识符根据第一排序标准被排序并且按该顺序被串联以得到路径标识符集合,所述路径标识符集合对于每个等开销的路径具有相应的路径标识符,其中所述第一排序标准独立于与所述节点标识符对应的节点在所述路径中出现的顺序,并且结果得到的路径标识符根据两个不同的第二排序标准被排序以得到路径标识符的两个有序列表,所述两个被选择的等开销的路径中的每一个具有处于所述路径标识符的有序列表中的一个的一个末端的相应标识符。 35. The forwarding node according to claim 31, wherein the instructions include the following one: executable instructions of two equal-cost paths to select the path overhead of the like having the following characteristics: if equal-cost paths for each node in the node identifier assigned to be sorted according to two different first ordering criteria and in this order in series to obtain a set of identifiers of the two paths, each path identifier set for each, etc. path overhead with a corresponding path identifier, wherein each of the first sorting criterion is independent of the order of the node identifier corresponding node in the path, and the results obtained path identifier in accordance with a common second ordering Standards are ordered to give the two ordered list of path identifiers, the path of the two equal-cost selected each having a respective end of the ordered list identifies the path identifier at one of the character; executable instructions and the like to select a path overhead with the following features two equal-cost paths: If you assign to each node in the path of the node identifier and other expenses are sorted according to the first sorting criteria and this order is connected in series to obtain a set of identifiers path, the path identifier set for each equal-cost paths with corresponding path identifier, wherein the first ordering criterion is independent of the correspondence with the node identifier node in the order they appear in the path, and the results obtained path identifier according to two different second ordering criteria are ordered to get two ordered list of path identifiers of the two equal-cost selected each having a corresponding terminal identifier in the ordered list of path identifiers of one of the paths.
36.根据权利要求31所述的转发节点,其中所述指令包括可执行以选择所述等开销的路径中具有以下特性的四个等开销的路径的指令:如果在每个等开销的路径中分配给节点的节点标识符根据两个不同的第一排序标准被排序并且按该顺序被串联以得到两个路径标识符集合,每个路径标识符集合对于每个等开销的路径具有相应的路径标识符,其中每个第一排序标准独立于与所述节点标识符对应的节点在所述路径中出现的顺序,并且结果得到的路径标识符根据共同的第二排序标准被排序以得到路径标识符的两个有序列表,所述四个被选择的等开销的路径中的每一个具有处于所述路径标识符的有序列表中的一个的一个末端的相应标识符。 36. The forwarding node according to claim 31, wherein said instructions comprise instructions executable to select a path overhead of the like having the following characteristics in four equal cost paths: the path if each of the equal-cost assigned to the node identifier and the node is sorted in that order in series to obtain a set of identifiers of the two paths according to two different first ordering criteria, a set of identifiers for each path equal-cost paths each having a corresponding path identifier, wherein each of the first sorting criterion is independent of the sequence corresponding to the node and the node identifier appearing in the path, and the results obtained path identifier in accordance with a common second ordering criterion to obtain a path identifier to be sorted Two symbols of the ordered list, the path of the selected four equal-cost each having a respective identifier at the end of the ordered list of path of one of the identifiers.
37.一种确定转发信息供在分组转发网络的转发节点处转发分组时使用的方法,所述网络的每个节点具有唯一的节点标识符,所述方法包括: 由所述转发节点确定所述网络的第一节点和第二节点之间的最短路径; 由所述转发节点确定两个路径具有相等的开销的时间;以及由所述转发节点选择所述等开销的路径中的一个,被选择的等开销的路径具有以下特性:其包括不是为所述等开销的路径共有的节点,该节点或者具有不是为所述等开销的路径共有的所有节点中的最大节点标识符,或者具有不是为所述等开销的路径共有的所有节点中的最小节点标识符。 37. A method of determining forwarding information for use in forwarding the network packet forwarding node forwarding packets use the network each node has a unique node identifier, the method comprising: determining by said forwarding node shortest path first and second nodes between network; determined by the forwarding node has two equal cost paths time; and selecting from the overhead of the nodes of the forwarding path like a, is selected equal-cost paths have the following characteristics: it comprises not for the path overhead and other common node, which has all the nodes or not for the path costs and other common maximum node identifier, or have not for All the nodes of the lowest node identifier equal-cost paths in common.
38.根据权利要求37所述的方法,其中所述选择所述等开销的路径中的一个的步骤包括选择包括在所述两个路径中的所有节点标识符的集合之中不是为所述两个路径共有的最小节点标识符。 38. The method according to claim 37, wherein said selecting the equal-cost path step includes selecting one of said nodes comprising all the paths of the two identifiers are not among the set of the two the lowest node identifier common paths.
39.根据权利要求37所述的方法,其中所述选择所述等开销的路径中的一个的步骤包括选择包括在所述两个路径中的所有节点标识符的集合之中不是为所述两个路径共有的最大节点标识符。 39. The method according to claim 37, wherein said selecting the equal-cost path step includes selecting one of said nodes comprising all the paths of the two identifiers are not among the set of the two maximum node paths common identifier.
40.根据权利要求37所述的方法,其中所述确定所述网络的第一节点和第二节点之间的最短路径的步骤通过迭代地形成最短路径树来执行。 40. The method according to claim 37, wherein the step of the shortest path first node and the second node of the network between wherein said determining the shortest path tree formed by iteratively performed.
41.根据权利要求37所述的方法,其中所述选择所述等开销的路径中的一个的步骤通过仅考虑所述等开销的路径的分叉支路上的节点而局部地执行。 41. The method according to claim 37, wherein said selecting the equal-cost paths in the step of a bifurcated branch circuit by considering only the path overhead of the nodes and the like executed locally.
42.根据权利要求37所述的方法,其中所述选择所述等开销的路径中的一个的步骤包括通过以下步骤在具有第一支路的第一等开销的路径和具有从所述第一支路分出的第二支路的第二等开销的路径之间选择: 通过根据第一标准选择所述第一支路上的节点的节点标识符为所述第一支路定义第一支路标识符; 通过根据所述第一标准选择所述第二支路上的节点的节点标识符为所述第二支路定义第二支路标识符;以及通过对所述第一和第二支路标识符应用第二标准来选择所述第一和第二路径中的一个。 42. The method according to claim 37, wherein said selecting the equal-cost path in step a comprises the following steps in a first path having a first leg and having equal-cost from the first to choose between the path of the second branch branches separated second equal-cost: according to the node identifier by the first criteria for selecting the first branch circuit node is defined as the first leg of the first leg identifier; through node identifier according to the first criterion to select said second branch circuit node to said second branch defining a second branch identifier; and by the first and second branch Identifier application of the second criterion to select the first and second path one.
43.根据权利要求42所述的方法,其中定义第一和第二支路标识符以及选择第一和第二路径中的一个的步骤对于两个等开销的路径在其处汇聚的每个节点被执行。 Each node 43. The method according to claim 42, wherein the first and second branch identifiers defined and the step of selecting a first and a second path for the two equal-cost paths converge at their place of is performed.
44.根据权利要求42所述的方法,其还包括在向所述第一和第二支路在其处分叉的节点回溯的同时记录在所述分叉支路中的每一个中根据所述第一标准被选择的节点标识符。 44. The method according to claim 42, further comprising in each of the first and second branch to the bifurcation of the nodes in its back while recording in the furcation legs in accordance with the said first node identifier of the selected criteria.
45.根据权利要求44所述的方法,其还包括在每个逆向的步骤处,将所记录的节点标识符与在该步骤处所遇到的新的节点标识符比较并且记录达到所述第一选择标准的节点标识符 45. The method according to claim 44, further comprising the step at each reverse, the recorded node identifier with the new node identifier encountered at the premises of the comparison step and reaches the first recording Selection criteria node identifier
46.根据权利要求37所述的方法,其中: 所述确定第一节点和第二节点之间的最短路径以及确定两个路径具有相等的开销的时间的步骤使用Dijkstra算法来执行;并且所述选择所述等开销的路径中的一个的步骤被集成到所述Dijkstra算法中。 46. The method according to claim 37, wherein: the determining the shortest path between the first node and the second node and determining steps two paths have equal time overhead use Dijkstra's algorithm to perform; and the The cost of such path selecting step one is integrated into the Dijkstra algorithm.
47.根据权利要求37所述的方法,其中: 不止两个路径是等开销的路径;并且所述选择所述等开销的路径中的一个的步骤包括对于一连串的、所述等开销的路径的对,比较不是为所述等开销的路径的对共有的节点的节点标识符。 47. The method according to claim 37, wherein: more than two paths are path cost, etc.; the equal-cost paths in one and the selecting step comprises for a series of path, of the equal-cost Yes, there are relatively not for node node of the equal-cost paths identifier.
48.一种供在分组转发网络中使用的转发节点,其包括: 处理器;以及存储可由所述处理器执行以执行以下操作的指令的处理器可读介质: 确定所述网络的第一节点和第二节点之间的最短路径; 在形成所述最短路径树的同时确定两个路径具有相等的开销的时间;以及选择所述等开销的路径中的一个,被选择的等开销的路径具有以下特性:其包括不是为所述等开销的路径共有的节点,该节点或者具有不是为所述等开销的路径共有的所有节点中的最大节点标识符,或者具有不是为所述等开销的路径共有的所有节点中的最小节点标识符。 48. A method for forwarding node in a network using packet forwarding, comprising: a processor; and storing executable by the processor to execute instructions that the processor readable medium: determining a network node and the shortest path between the second node; at the same time form the shortest path tree to determine the cost of the two paths have equal time; and selecting said overhead like a path, the path is selected and other expenses have the following characteristics: it comprises not for the path of the equal-cost shared node, the node or nodes are not having all of the equal-cost paths common to the largest node identifier, or have not for the cost of the path, etc. Minimum node identifier for all nodes in the total.
49.根据权利要求48所述的转发节点,其中可执行以选择所述等开销的路径中的一个的指令包括可执行以选择包括在所述两个路径中的所有节点标识符的集合之中不是为所述两个路径共有的最小节点标识符的指令。 49. The collection of claim 48 wherein the forwarding node, wherein the path cost to perform the selection of one of the like comprising executable instructions to select all of the nodes included in the path of the two identifiers into instruction is not shared by the two paths of the lowest node identifier.
50.根据权利要求48所述的转发节点,其中可执行以选择所述等开销的路径中的一个的指令包括可执行以选择包括在所述两个路径中的所有节点标识符的集合之中不是为所述两个路径共有的最大节点标识符的指令。 50. The collection of claim 48 wherein the forwarding node, wherein the path cost to perform the selection of one of the like comprising executable instructions to select all of the nodes included in the path of the two identifiers into instruction is not for the two paths total maximum node identifier.
51.根据权利要求48所述的转发节点,其中可执行以确定第一节点和第二节点之间的最短路径的指令包括可执行以迭代地形成最短路径树的指令。 51. The forwarding node according to claim 48, wherein the executable instructions to determine the shortest path between the first node and the second node includes instructions executable to iteratively form the shortest path tree.
52.根据权利要求48所述的转发节点,其中: 不止两个路径是等开销的路径;并且可执行以选择所述等开销的路径中的一个的指令包括对于一连串的、所述等开销的路径的对,可执行以比较不是为所述等开销的路径的对共有的节点的节点标识符的指令。 52. The forwarding node according to claim 48, wherein: more than two paths are equally path cost; and to choose the path of the executable and other expenses in the instruction includes a series of overhead for the like the path of the executable to instruct the comparison is not an identifier for the node to node shared the equal-cost paths.
Description  translated from Chinese

最短路径确定中的打破平局 Determine the shortest path to break the tie

[0001] 本申请是申请日为2008年12月11日、申请号为200880127674.0、发明名称为“最 [0001] This application is a filing date of December 11, 2008, Application No. 200880127674.0, titled "the most

短路径确定中的打破平局”的专利申请的分案申请。 Short path to determine the tie-breaking, "the patent application divisional application.

技术领域 Technical Field

[0002] 本发明涉及在诸如以太网的分组转发通信网络中在多种可能性中一致地选择路径,诸如等开销最短路径。 [0002] The present invention relates to a packet forwarding, such as Ethernet communication network consistent shortest path route, such as a variety of possibilities and other overhead.

背景技术 Background

[0003] 在分组转发通信网络中,节点可以得知有关网络的拓扑结构的情况,并且可以基于它获取的关于该拓扑结构的信息决定它将如何向其它网络节点中的每一个传递业务(traffic)。 [0003] In the packet forwarding communications networks, nodes can be learned about the case of the topology of the network, and can decide based on the topology information about how it gets it to other network nodes each passing traffic (traffic ). 选择路径的主要根据是路径开销,其可以按照节点之间的跳跃(hop)的数量或者通过诸如连接节点的链路的带宽等某个其它度量来规定,或者通过这两者来规定。 Path selection path based primarily on cost, which can be based on the number jumps between nodes (hop), or by some other metrics such as bandwidth link connecting node to the law or to regulations by both. 开放式最短路径优先(OSPF)和中间系统到中间系统(IS-1S)是被广泛使用的链路状态协议,它们基于每个节点的对路径开销的通告来建立最短路径。 Open Shortest Path First (OSPF) and Intermediate System to Intermediate System (IS-1S) is a link-state protocol is widely used, they are based on the path cost of advertising each node to establish the shortest path. 这些协议通常不尝试在多个等开销的路径之间打破平局(tie-break)。 These agreements usually do not attempt between multiple equal-cost paths to break the tie (tie-break). 相反,它们通常跨若干等开销的路径传播业务。 Instead, they are usually a number of equal-cost paths cross spread business. 传播算法没有被规定并且可以从路由器到路由器不同。 Propagation algorithm is not specified and may be different from router to router. 可替换地,它们可以对单个路径进行局部选择而不考虑与由其它路由器进行的选择的一致性。 Alternatively, they may be a single partial path selection without regard to other routers by the selection of consistency. 因此,无论发生何种情况,不能保证流的反方向(reverse direction)使用正方向(forward direction)所使用的路径。 Therefore, no matter what circumstances, we can not guarantee the flow in the opposite direction (reverse direction) using a positive direction (forward direction) path used.

[0004] 诸如组播开放式最短路径优先协议(MOSPF)的组播(multicast)路由协议依赖于网络中的每个路由器构造相同的最短路径树。 [0004] SPT Multicast Open Shortest Path First protocol (MOSPF) multicast (multicast) routing protocol relies on the network of the same structure as each router. 由于这个原因,MOSPF实现基于链路类型、LAN相比点对点(LAN vs.point-to-point)以及路由器标识符的打破平局方案以确保产生一样的树。 For this reason, MOSPF link type-based, LAN compared to peer (LAN vs.point-to-point) and the tie-breaking program to ensure that a router ID the same tree. 但是,把打破平局决定建立在具有最大的标识符的父代(parent)之上意味着一般而言反向的流所使用的路径将不会与正向的流所使用的路径相同。 However, the tie-breaking decision to establish a path identifier having the greatest parent (parent) above mean general reverse flow will not be used in the forward path used by the same stream.

[0005] 生成树协议(生成树协议(STP)、快速生成树协议(RSTP)、多生成树协议(MSTP))是在任意的拓扑结构中创建无回路的生成树的方法。 [0005] The Spanning Tree Protocol (Spanning Tree Protocol (STP), Rapid Spanning Tree Protocol (RSTP), Multiple Spanning Tree Protocol (MSTP)) is a method to create a loop-free spanning tree in an arbitrary topology. 生成树协议由网络中的每个节点执行。 Spanning Tree Protocol is executed by each node in the network. 所有生成树协议都使用基于(桥标识符,端口标识符)的局部打破平局决定在等开销的路径之间进行选择。 All spanning tree protocols are based (bridge identifier, the port identifier) local tie-breaking decision between equal-cost paths to choose. 在生成树中,首选选择根节点,然后相对于那个根通过所有节点来构造树。 In the spanning tree, select the root node of choice, then relative to the root of the tree constructed by all the nodes. 因此,尽管所有路径对于离开和返回业务是对称的(根据定义,简单树(simpletree)使得这成为仅有可能的构造),但是选择过程是慢的并且简单树的结构不能使用任何多余的容量。 Thus, despite all the paths to leave and return to business is symmetric (by definition, simple tree (simpletree) makes this the only possible structure), but the selection process is slow and simple tree structure can not use any excess capacity. 类似地,Radia Perlman的Rbridges提议使用父节点的标识符作为决胜局(tie-breaker)。 Similarly, Radia Perlman's Rbridges proposed to use the parent node identifier as the deciding game (tie-breaker).

[0006] Mick Seaman在他给IEEE802.1工作组的“最短路径桥接”提议(http://www.1eee802.0rg/1/files/public/docs2005/new-seaman-shortest-pat h-0305-02.pdf)中描述了对快速生成树协议的简单的协议增强,其通过增加“截断矢量(cut vector)”来强制执行一致的打破平局决定。 [0006] Mick Seaman he gave the "shortest path bridging" proposals IEEE802.1 Working Group (http: //www.1eee802.0rg/1/files/public/docs2005/new-seaman-shortest-pat h-0305- 02.pdf) describes the rapid spanning tree protocol simple protocol enhancements that by increasing the "truncation vector (cut vector)" to enforce a consistent tie-breaking decision. 该提议使用每一节点的VID来标识每一节点的生成树。 The proposal to use the VID identifies each node spanning every node. 为了把需要由桥传送的所有信息放进单个合法的以太网巾贞,这种技术目前将以太网的大小限制为32个桥。 In order to transfer all the information required by the bridge into a single legal Ethernet towel Chen, the size limitation of this technology is the Ethernet bridge is 32.

[0007] 图1示出,即使对于普通的网络的例子,基于父节点标识符的打破平局方法如何无法产生对称路径。 [0007] Figure 1 shows, even for ordinary network example, the tie-breaking method of the parent node based on how an identifier can not produce a symmetrical path. 在这个例子中,链路被认为具有等开销并且因此路径开销的确定仅考虑跳跃的数量。 In this example, the link is considered to have equal-cost path cost is determined and therefore only considers the number of jumps. 首先考虑计算从A到B的路径。 Consider first calculate the route from A to B. 当计算到达节点2时,将会发现等开销的路径的存在。 When calculating the arrival node 2, will be found equal-cost paths. 有第一路径(A-1-3-6)和第二路径(A-1-4-5)。 A first path (A-1-3-6) and a second path (A-1-4-5). 如果打破平局算法基于具有最小的标识符的父节点来选择路径,则它将选择第二路径(A-1-4-5),因为节点标识符5小于节点标识符6。 If the tie-breaking algorithm based on the parent node having the smallest identifier to select a path, it will choose the second path (A-1-4-5), since less than 5 node identifier node identifier 6. 但是,现在考虑计算从B到A的路径。 But now consider the calculation of the path from B to A's. 当计算到达节点I时,将会发现等开销的路径的存在。 When calculating the arrival node I, will be found equal-cost paths. 有第一路径(B-2-6-3)和第二路径(B-2-5-4)。 A first path (B-2-6-3) and a second path (B-2-5-4). 使用相同的打破平局标准,该打破平局算法选择第一路径(B-2-6-3),因为节点标识符3小于节点标识符4。 Using the same tie-breaking criteria, the tie-breaking algorithm selects the first path (B-2-6-3), because node identifier 3 less than 4 node identifier. 因此,可以看到的是由节点A和B进行的最短路径计算提供不一致的结果。 Thus, we can see that the shortest path from the node A and B is calculated to provide inconsistent results.

[0008] 在诸如给IEEE802.1aq的提议“供应商链路状态桥接(PLSB) ”的一些新兴的协议中有为单播和未知/组播业务两者保持跨网络转发的一致性以及在流的正方向和反方向两者上都使用共同的路径的要求。 [0008] In such proposal IEEE802.1aq to the "Supplier Link State Bridging (PLSB)" of some of the emerging agreement promising both business and unknown unicast / multicast forwarding across the network to maintain consistency and flow all the requirements of a common path on both the forward and backward direction. 因此,重要的是当在等开销的路径之间打破平局时节点可以一致地得出相同的决定。 Therefore, it is important nodes can consistently come to the same decision to break the tie between when the equal-cost paths. 此外,理想的是节点可以用最少量的处理努力来执行打破平局。 In addition, it is desirable to use the least amount of nodes can handle efforts to implement the tie-breaking.

发明内容 DISCLOSURE

[0009] 本发明的第一方面提供确定转发信息供在分组转发网络的第一节点处转发分组时使用的方法。 [0009] The first aspect of the present invention provides a method to determine when forwarding information for packet forwarding in the network at a first node to forward the packet to use. 该方法确定所述第一节点和所述网络的第二节点之间的最短路径并且确定多个最短路径具有大体上相等的开销的时间。 The method determines the shortest path first node and the second node of the network and to determine between a plurality of shortest paths have substantially equal time overhead. 该方法为每个大体上等开销的路径形成节点标识符的集合,所述节点标识符定义路径中的节点的集合并且然后使用第一排序标准将节点标识符的每个集合排序以形成路径标识符。 This method is substantially equal-cost paths for each set of node identifiers are formed, the node identifier defined set of nodes in the path and then using the first ranking criterion for each set of node identifiers to form a sort of path identifier character. 所述第一排序标准独立于节点标识符在所述路径中出现的顺序。 The first ordering criterion is independent of node identifier order they appear in the path. 该方法然后通过比较所述路径标识符而在所述多个等开销的路径之间进行选择。 The method then in between the plurality of equal-cost paths to choose an identifier by comparing the path. 所述网络的每个节点具有唯一的节点标识符。 Each node of the network has a unique node identifier.

[0010] 有利地,所述第一排序标准是递增的字典式顺序(lexicographic order)或者是递减的字典式顺序,但也可以使用创建节点的全序集合(totally ordered set)的任何排序标准。 [0010] Advantageously, the first sorting criterion is ascending lexicographic order (lexicographic order) or decreasing lexicographic order, but can also be used to create a totally ordered set of nodes (totally ordered set) of any sort criteria.

[0011] 优选地,所述方法还包括使用第二排序标准将所述多个路径标识符排序成有序列表。 [0011] Preferably, the method further comprises using a second ordering criterion to sort the plurality of path identifiers into an ordered list. 类似地,所述第二排序标准可以是递增的字典式顺序、递减的字典式顺序或者创建路径标识符的全序集合的任何排序标准。 Similarly, the second sorting criteria may be increasing lexicographic order, decreasing lexicographic order or create any sort of standard path identifier totally ordered set.

[0012] 本发明的另一个方面提供确定转发信息供在分组转发网络的第一节点处转发分组时使用的方法。 [0012] Another aspect of the invention provides a method to determine the forwarding information for use in a packet forwarding network to forward packets at a first node to use. 该方法包括通过迭代地形成最短路径树来确定所述第一节点和所述网络的第二节点之间的最短路径并且在形成所述最短路径树的同时确定多个路径具有等开销的时间,每个等开销的路径包括从所述等开销的路径所共有的分叉节点(divergencynode)分出的支路。 The method includes determining the shortest path to the first node and the second node of the network between the shortest path through the tree iteratively formed and forming the shortest path tree while identifying multiple paths with equal time overhead each equal-cost paths from crossing node path costs include the common, etc. (divergencynode) separated branches. 该方法使用第一选择标准在每个分叉支路中标识节点标识符以形成支路标识符并且通过比较所述支路标识符而在所述多个支路之间进行选择。 The method uses a first selection criterion in each furcation legs to form a node identifier identifying a branch identifier and the plurality of branches and between selected by comparing the branch identifiers.

[0013] 有利地,该方法使用全排序(total ordering)标准来比较和选择每个支路中的节点标识符,诸如字典式顺序。 [0013] Advantageously, the method uses a total ordering (total ordering) criterion to compare and select a node identifier in each branch, such as lexicographic order.

[0014] 有利地,该方法在向所述分叉节点回溯(backtrack)的同时记录所述分叉支路的每一个中达到所述第一选择标准的节点标识符。 [0014] Advantageously, the method back to the bifurcation node (backtrack) while recording each of the bifurcated branch reached the first selection criterion node identifier. 这具有进一步简化计算和减少存储需求的优势。 This has further simplified calculation and reduce the storage requirements of advantage.

[0015] 本发明的两个方面可以被用于通过使用不同的第一排序/选择标准和共同的第二排序/选择标准或者通过使用共同的第一排序标准/选择和不同的第二排序/选择标准来选择两个等开销的路径。 [0015] Two aspects of the present invention may be used by using a different first ordering / selection criteria and a common second ordering / selection criteria or a common first sorting by using standard / options and different second ordering / selection criteria of two equal-cost paths. 可以通过在节点处一致地应用所述第一和第二排序/选择标准并且选择处于所述有序列表中的特定位置的标识符而以相似的方式选择三个或四个等开销的路径。 Through consistent application at a node of the first and second sorting / selection criteria and select the ordered list in a specific location identifier in a similar manner to select a path three or four equal-cost.

[0016] 本发明可以被用作决胜局(tie-breaker)以通过比较多个端到端路径中的每一个的、节点标识符的经排序的集合而在等开销的路径之间进行选择。 [0016] The present invention can be used as a tiebreaker (tie-breaker) by comparing multiple paths to each end, and node identifier ranked set and between equal-cost paths to choose. 可替换地,已被发现的是随着最短路径树被建立,局部于(local to)选择决定需要被做出的地方通过使用该树的分叉支路的节点标识符对等开销的路径进行选择可以在传输过程中(on-the-fly)实现相同的结果。 Alternatively, have been found with the shortest path tree is built, local to the (local to) choose where decisions need to be made by using the path cost forked branches of the tree node identifier, etc. You can choose (on-the-fly) to achieve the same result in the transmission process. 这具有减少计算量并且减少需要被存储的数据的量的优势。 This has reduced the amount of calculation and the advantages of reducing the amount that needs to be stored data. 支路可以在成对的基础上被比较以进一步减少计算量。 Branch can be compared in order to further reduce the amount of calculation on the basis of the pair. 随着网络的大小和复杂度增加,这变得尤其重要。 As the size and complexity of the network, it becomes particularly important. 本发明的两种变形都具有允许对等开销的路径进行一致的选择而不管所述最短路径在网络中的什么地方被计算的重要特性。 Two variants of the present invention allows the path cost has consistently peer selection no matter where the shortest path in the network is an important characteristic of computing. 这确保了任何两个节点之间业务流在正方向和反方向上都将始终沿着相同的路径通过网络。 This ensures that traffic between any two nodes in the positive direction and the reverse direction will always follow the same path through the network.

[0017] 本发明不是打算要被限制于确定最短路径的任何特定方式,包括=Dijkstra算法、Folyd算法或者可以被使用的任何其它合适的替代。 [0017] The present invention is not intended to be limited to any particular determine the shortest path, including = Dijkstra algorithm, Folyd algorithm or any other suitable alternative can be used.

[0018] 本发明可以被用作具有完全相同的值的等开销的路径之间或者处于彼此的理想偏移以内的路径之间的决胜局,这两种情况下均就链路度量或者跳跃的数量而言。 [0018] The present invention can be used between the paths have the same cost value, or in each of the ideal shift between the paths within the tiebreaker, in both cases on the link metric or jumping in terms of quantity. 这可能是实际情况中所希望的,以在合格路径的集合之间增加多样性。 This may be the actual situation in the desired order among qualified path set to increase diversity. 例如,以通常被要求用于在任何两个端点之间实现完全相等的开销的对称方式部署节点和链路可能不总是划算的。 For example, normally required for communication between any two end points is equal to the cost of fully symmetrical deployed nodes and links may not always be cost-effective. 通过将该约束放宽为要求不同路线上的跳数(hop count)彼此相差一跳以内,适度的非对称仍然可以产生合格的路线,并且无回路的(loop-free)拓扑结构仍然被保证,因为两次跳跃的差距是实现成环路径(looping path)所必要的最小值。 By relaxing the constraint to require hops (hop count) differ from each other on different routes within hop, moderate asymmetric can still produce acceptable route, and no loops (loop-free) topology still be guaranteed because Two jumping gap is the minimum necessary to achieve a loop path (looping path).

[0019] 将理解的是术语“最短路径”不被限制于仅基于距离来确定路径,并且旨在包括可以被用于规定链路的“开销(cost)”的任何度量或者度量的组合。 [0019] It will be understood that the term "shortest path" is not limited to the determined path, and is intended to include any measure can be used to link a predetermined combination of "overhead (cost)" or based only on the distance metric. 度量的非穷举的列表为:距离,跳跃的数量、容量(capacity)、速度、使用率(usage)、可用性。 A non-exhaustive list of metrics are: the distance, number of hops, capacity (capacity), speed, usage (usage), availability.

[0020] 等开销最短路径的选择不受不在被选择的路径上的网络的部分(诸如出故障的节点或者链路)的移除影响,在这个意义上来说该方法是稳定的。 Removing the influence of the network are not affected by not being selected [0020] and other cost shortest path path (such as a node or link failures), and in this sense the process is stable.

[0021] 有利地,所述网络是以太网,但是本发明可以被应用于其它类型的分组转发网络,尤其是对于对称的业务路由路径有要求的那些分组转发网络。 [0021] Advantageously, the network is an Ethernet, but the present invention can be applied to other types of packet forwarding network, especially those packets routing paths for symmetric traffic forwarding network required.

[0022] 在此所描述的功能可以用软件、硬件或者这些的组合来实现。 [0022] In the function described herein may be implemented in software, hardware, or a combination of these. 本发明可以通过合适地被编程的计算机或者任何形式的处理设备来实现。 The present invention may suitably programmed computer or any form of processing devices. 因此,本发明的另一个方面提供用于实现所描述的方法中的任何一种的软件。 Accordingly, another aspect of the present invention provides a method for achieving the described in any one of the software. 该软件可以被存储在电子存储装置、硬盘、光盘或者其它机器可读存储介质上。 The software may be stored on an electronic memory device, hard disk, optical disk or other machine-readable storage medium. 该软件可以作为计算机程序产品在机器可读载体上被交付或者它可以通过网络连接被下载到节点。 The software can be delivered as a computer program product on a machine-readable carrier or it may be downloaded via a network connection to the node.

[0023] 本发明的另外的方面提供包括处理器的网络节点,所述处理器被配置用于执行所描述的方法中的任何一种。 Another aspect of the [0023] present invention provides a network node comprising a processor, the processor is configured to perform the described method of any one. [0024] 本发明的另外的方面提供节点的网络,所述节点各自一致地应用所描述的方法在等开销的路径之间进行选择。 Another aspect of the [0024] The present invention provides a network node, the node and consistent application of each method described between equal-cost paths to choose.

附图说明 Brief Description

[0025] 将参考附图仅通过示例的方式来描述本发明的实施例,其中: [0025] with reference to the accompanying drawings only embodiments of the present invention will be described by way of example, wherein:

[0026] 图1不出具有等开销的路径的网络拓扑结构; [0026] Figure 1 having no other network topology path overhead;

[0027] 图2示出可以在其中实现本发明的分组转发网络的例子; [0027] FIG. 2 shows the network can forward implementation of the invention in which the grouping example;

[0028] 图3示意性地示出在图2的桥接节点中的一个处的设备。 [0028] Figure 3 schematically illustrates a device at the node in FIG. 2 in the bridge.

[0029] 图4示出打破平局决定的局部性(locality); [0029] FIG. 4 shows the tie-breaking decision locality (locality);

[0030] 图5到7不出网络拓扑结构的例子以不意最短路径的计算; [0030] Examples of the network topology in Figure 5-7 could not calculate the shortest path to unexpectedly;

[0031] 图8不出网络拓扑的另外的例子以不意最短路径的计算; [0031] FIG. 8 no other example of a network topology is not intended to calculate the shortest path;

[0032] 图9到11示出图8所示的网络拓扑结构的最短路径计算的打破平局步骤; [0032] FIG. 9-11 shown in FIG. 8 shows a network topology of the shortest path calculation step of the tie-breaking;

[0033] 图12示出双归宿(dual-home)到网状网络上的节点的例子。 [0033] FIG. 12 illustrates a dual-home (dual-home) to examples of nodes on the mesh network.

[0034] 图13A和13B示意本发明的打破平局方法的特性。 [0034] FIG. 13A and 13B illustrates the tie-breaking method of the present invention features.

具体实施方式 DETAILED DESCRIPTION

[0035] 图2示出可以在其中实现本发明的受链路状态协议控制的以太网10的例子并且图3示意性地示出在节点41-48中的一个处的设备。 [0035] Figure 2 shows a link-state protocol can be achieved by the present invention is an example in which the Ethernet control 10 and 3 schematically illustrates a device at the node 41-48. 形成网状网络的节点(也被称作桥或者桥接节点)41-48彼此交换链路状态通告(advertisement) 56。 Forming a mesh network node (also known as bridge or bridge node) 41-48 each exchange link state advertisement (advertisement) 56. 这经由链路状态路由系统的被充分理解的机制来实现。 This link state routing system via the mechanism is fully understood to achieve. 路由系统模块51使用链路状态路由协议与网络中的对等节点交换关于网络拓扑结构的信息56。 Routing system module 51 uses a link state routing protocol to exchange information on 56 of the network topology and network peer nodes. 信息的这种交换允许节点生成对网络拓扑结构同步的观察。 This exchange of information allows the nodes to generate observation of the network topology synchronized. 在每个节点处,最短路径确定模块52计算最短路径树,该最短路径树确定到每个其它节点的最短路径。 At each node, the shortest path determination module 52 calculates the shortest path tree, the shortest path tree to determine the shortest path to every other node. 由模块52确定的最短路径被用于向转发信息库54填充用于引导业务通过网络的条目。 The shortest path is determined by the module 52 is used to fill the forwarding information base 54 for guiding the business through a network of entry. 如将在下文中更详细地描述的,当模块52遇到多个等开销的路径时情况将出现。 As will be described in more detail below, when the module 52 encounters multiple equal-cost paths circumstances will occur. 打破平局模块53以一致的方式选择等开销的路径中的一个(或多个)。 The tie-breaking path module 53 in a consistent manner selection cost one (or more). 在正常的操作中,分组在节点处被接收57并且目的地查找模块55使用FIB54来确定所接收的分组应当通过其被转发58的端口(或者在组播分配的情况中为多个端口)。 In normal operation, the packet is received at a node 57 and the destination using the searching module 55 to determine FIB54 the received packet should be forwarded via its port 58 (or in the case of multicast distribution for multiple ports). 如果在FIB54中没有有效的条目,则分组可以随后被丢弃。 If there is no valid entry in FIB54, then the packet can then be discarded. 将理解的是图3所示的模块仅用于示意的目的并且可以通过合并或者在节点的模块之间分配功能来实现,这将被本领域的技术人员理解。 It will be appreciated that the modules shown in FIG. 3 for illustrative purposes only and may be combined or allocated by function module between nodes is achieved, it will be understood by those skilled in the art.

[0036] 可以使用各种最短路径算法来确定给定的节点是否在给定的一对桥之间的最短路径上。 [0036] may use various shortest path algorithm to determine whether a given node on the shortest path between a given pair of bridge. 可以在节点41-48中实现所有点对间最短路径算法(all-pairs shortest pathalgorithm)来计算节点对之间的最短路径,诸如Floyd算法[R.Floyd:算法97 (最短路径)(Algorithm97 (shortest path)), ACM 通信(Communications of the ACM), 7:345,1962]或者Di jkstra的单源最短路径算法[EWDi jkstra:对与图论相关的两个问题的记录(A note on two problems in connexion with graphs),数学学手艮(NumericalMathematics),1:269-271,1959]。 It can be implemented across all nodes in 41-48 pairs shortest path algorithm (all-pairs shortest pathalgorithm) to calculate the shortest paths between pairs of nodes, such as Floyd algorithm [R.Floyd: algorithm 97 (shortest path) (Algorithm97 (shortest path)), ACM Communications (Communications of the ACM), 7: 345,1962] or single-source shortest path algorithm Di jkstra [EWDi jkstra: graph theory and the relevant records to both questions (A note on two problems in connexion with graphs), mathematics learn sign Burgundy (NumericalMathematics), 1: 269-271,1959]. 应当理解的是还可以使用任何合适的最短路径算法。 It should also be understood that any suitable shortest path algorithm. 最短路径算法所使用的链路度量可以是静态的或者可以动态地被修改以将业务工程信息(traffic engineeing information)考虑在内。 Link metric shortest path algorithm used may be static or may be dynamically modified to the traffic engineering information (traffic engineeing information) into account. 例如,链路度量可以包括对诸如容量、速度、使用率和可用性等开销的测量。 For example, the link metric may include the measurement of the cost of such capacity, speed, usage and availability of. [0037] 作为对问题的引入,首先将描述对可以在等开销的路径之间做出一致决定的打破平局算法的要求。 [0037] As the introduction to the problem, first described in a unanimous decision to be made in equal-cost paths between the tie-breaking algorithm requirements. 要求的列表在下面的表1中列出: A list of the requirements in the following Table 1:

[0038] [0038]

Figure CN103973566AD00131

[0039]表1 [0039] Table 1

[0040] 打破平局算法的要素是始终“起作用(work)”。 [0040] The elements of the tie-breaking algorithm is always "work (work)". 无论该算法被提供以怎样的路径集合,该算法应当始终能够选定一个并且仅选定一个路径。 No matter what the algorithm is provided in the path set, the algorithm should always be able to select one and only one path is selected. 首要地,打破平局算法应当是完备的(I)。 First and foremost, the tie-breaking algorithm should be complete (I). 对于一致的打破平局,该算法必须产生相同的结果而不管等开销的路径被发现以及打破平局被执行的顺序。 For the same tie-breaking, the algorithm must produce the same results regardless of the equal-cost paths to be found as well as a tie break order is executed. 也就是说,打破平局算法应当是可交换(2)以及可结合(3)的。 That is, the tie-breaking algorithm should be interchangeable (2) and a binding (3). 在三个路径之间打破平局必须产生相同的结果而不管路径对被考虑的顺序的要求(3)不是很明显,但是它对于一致的结果绝对是必要的,因为取决于该计算通过网络的方向按不同的顺序发现等开销的路径。 Breaking the tie between three paths must produce the same results regardless of the path to the requirements of the order to be considered (3) is not very clear, but it is absolutely essential for consistent results, because depending on the direction of the network computing find a different order equal-cost paths. 打破平局算法必须是对称的(4),即打破平局算法必须产生相同的结果而不管路径的方向:两个节点A和B之间的最短路径必须是B和A之间的最短路径的反向。 The tie-breaking algorithm must be symmetric (4), that the tie-breaking algorithm must produce the same results regardless of the direction path: the shortest path between two nodes A and B must be the reverse shortest path between B and A . 最后,局部性是最短路径的非常重要的特性(5),该特性被路由系统充分利用。 Finally, a very important characteristic of locality is the shortest path (5), the characteristic is fully utilized routing system. 局部特性简单地来说就是:最短路径的子路径也是最短路径。 Local feature simply is this: sub-path is the shortest path shortest path. 最短路径的这个看似普通的特性在使用基于目的地的转发的分组网络中具有重要的应用。 This seemingly ordinary shortest path characteristic has important applications forwarded based on the destination of the packet network in use. 在这些网络中,在沿路径的中间节点处的转发决定唯一地基于分组的目的地地址,而不是它的源地址。 In these networks, the forwarding intermediate node along the path in the decision exclusively based on the destination address of the packet, rather than its source address. 因此,为了生成它的转发信息,节点仅需要计算从它本身到所有其它节点的最短路径并且所产生的转发信息的量随网络中的节点数量线性地而不是二次地(quadratically)增长。 Therefore, in order to generate its forwarding information, node only needs to calculate the amount of forwarding information from itself to all other nodes shortest path and the resulting network varies linearly with the number of nodes rather than secondary to (quadratically) growth. 为了允许基于目的地的转发,打破平局算法因此必须保持最短路径的局部特性:由打破平局算法选择的最短路径的子路径必须是由该打破平局算法选择的最短路径。 To allow for destination-based forwarding, tie-breaking algorithm must keep the local characteristics of the shortest path: the path to break the tie the child choose the shortest path algorithm must be the tie-breaking algorithm selects the shortest path.

[0041] 对计算效率的考虑对打破平局算法提出了另一看似不同的要求:等开销的路径一被发现该算法就应当能够做出打破平局决定。 [0041] consideration of computational efficiency of tie-breaking algorithm proposed another seemingly different requirements: a path cost, etc. was found that the algorithm should be able to make a tie-breaking decision. 图4示意了这一点。 Figure 4 illustrates this point. 中间节点I由两个等开销的路径P和q连接到节点A,并且由另一对等开销的路径r和s连接到节点B。 I connected to the intermediate node consists of two equal-cost paths P and q to node A, and is connected by another of equal-cost paths r and s to node B. 因此在节点A和B之间有四个等开销的路径:p+r、p+s、q+r、q+s,它们全部经过节点I。 So between the nodes A and B have four equal-cost paths: p + r, p + s, q + r, q + s, they all go through node I. 随着对从A到B的最短路径的计算的进行,将首先发现A和I之间的等开销的子路径的存在。 With the calculation of the shortest path from A to B of the proceeds, will be the first child found the path between A and I and other overhead. 为了避免不得不推进(carry forward)这两个路径的信息,第二等开销的最短子路径的存在一被发现该打破平局算法就应当能够在它们之间选定。 To avoid having to advance (carry forward) information of the two paths, there is the shortest path to a second child, etc. was found that the cost of a tie-breaking algorithm should be able to select between them. 在中间节点处做出的打破平局决定将最终影响计算的结果。 In the intermediate nodes to make tie-breaking decision will ultimately affect the results of the calculation. 通过排除节点A和I之间的两个子路径P和q中的一个,该算法根据进一步的考虑移除了节点A和B之间的四个最短路径中的两个。 By excluding nodes A and I between two sub-paths P and q a, the algorithm removes the four shortest path between nodes A and B two from further consideration. 相似地,在反方向上,该打破平局算法将在做出最后确定之前在子路径r和s之间选定。 Similarly, in the reverse direction, the tie-breaking algorithm will determine before making a final between the sub-paths r and s is selected. 这些局部的决定必须彼此一致,而且特别地,如果路径要以相同的方式被延伸,则在两个等开销的路径之间的抉择应当保持相同。 These local decisions must coincide with each other, and particularly, if the path to be extended in the same manner, the choice between two equal-cost paths should remain the same. 例如,在图3所画的情况中,打破平局算法应当验证以下四个恒等式(identity): For example, in the case of the drawing in Figure 3, the tie-breaking algorithm should verify the following four identities (identity):

[0042] tiebreak (concat (p, r), concat (q, r)) = concat (tiebreak (p, q), r) [0042] tiebreak (concat (p, r), concat (q, r)) = concat (tiebreak (p, q), r)

[0043] tiebreak (concat (p, s), concat (q, s)) = concat (tiebreak (p, q), s) [0043] tiebreak (concat (p, s), concat (q, s)) = concat (tiebreak (p, q), s)

[0044] concat (p, tiebreak (r, s)) = tiebreak (concat (p, r), concat (p, s)) [0044] concat (p, tiebreak (r, s)) = tiebreak (concat (p, r), concat (p, s))

[0045] concat (q, tiebreak (r, s)) = tiebreak (concat (q, r), concat (q, s)) [0045] concat (q, tiebreak (r, s)) = tiebreak (concat (q, r), concat (q, s))

[0046] 事实证明,对称性(4)和局部性(5)这两个条件都是必要的并且足以保证打破平局算法将做出一致的局部决定,这一事实可以被充分利用以在有等开销的最短路径的情况下产生单源最短路径算法的非常有效的实现。 [0046] It turns out that the symmetry (4) and localized (5) of these two conditions are necessary and sufficient to ensure a consistent tie-breaking algorithm will make local decisions, this fact can be fully utilized in order to have the like generating a shortest path overhead single-source shortest path algorithm is very efficient implementation.

[0047] 表I所列出的要求列表并非意在穷举,并且有最短路径的其它特性可以被包括在表I中。 [0047] Table I lists the list of requirements is not intended to be exhaustive, and other characteristics are the shortest path can be included in Table I below. 例如,如果不是最短路径的部分的链路从图中被移除,则该最短路径不受影响。 For example, if the link is not part of the shortest path are removed from the graph, the shortest path is not affected. 同样地,如果不是被选择的路径的部分的链路从图中被移除并且即使该链路是等开销的路径中被打破平局算法否决的一些路径的部分,该算法在多个等开销的路径之间的选择不应受影响。 Similarly, if the link is not part of the selected path is removed from the picture and even if the link is part of the equal-cost paths are rejected by some of the tie-breaking algorithm path, the algorithm in multiple equal-cost Select the path should be not be affected.

[0048] 现在将描述一致的打破平局算法的第一实施例。 [0048] Now will be described the same algorithm to break the tie in the first embodiment. 这个算法通过为每个路径形成路径标识符开始。 This algorithm form a path for each path identifier begins. 路径标识符是通过网络的路径所遍历的每个节点的标识符的有序列表。 Path identifier is an ordered list of identifiers for each node of the network through the path traversed. 按字典式顺序将节点标识符排序。 Lexicographic order by ordering the node identifier. 路径标识符是经排序的节点标识符的由此产生的串联(concatenation)。 Path identifier is a concatenation (concatenation) resulting sorted node identifier. 图5示出网络的例子,该网络具有端节点A、B和中间节点0-9。 Figure 5 shows an example of a network, the network having end nodes A, B, and intermediate nodes 0-9. 节点A和B之间的第一路径(沿图5的最上面)遍历具有节点标识符A-0-5-6-1-4-8-B的节点。 A first path (along the top. 5) between nodes A and B traverses nodes having a node identifier of the A-0-5-6-1-4-8-B. 在按升序的字典式顺序将节点标识符的列表排序之后,该路径可以由路径标识符014568AB来表示。 After ascending lexicographic order to sort the list node identifier, the path can be represented by a path identifier 014568AB. 这种构造确保了路径及其反向将具有相同的路径标识符。 This configuration ensures that the path and the reverse will have the same path identifier. 此外,由于算法仅处理最短路径或者接近最短的路径,只有两个路径-直接路径和对应的反向路径-能够共享标识符。 In addition, since only the shortest path algorithm processing or near the shortest path, only two paths - a direct path and a corresponding reverse path - to share identifiers. 最后,所述打破平局算法仅选择具有最小(或最大的)路径标识符的路径。 Finally, the tie-breaking algorithm selects the path with the smallest (or largest) path identifier only. 该算法可以被总结为: The algorithm can be summarized as follows:

[0049] I)根据第一排序标准将路径中的节点的标识符的集合排序,该第一排序标准实现节点标识符的集合的全排序。 [0049] I) according to the first ranking criterion set sorting nodes in the path identifier, the first sort criteria for full sorting node identifiers collection. 优选的第一排序标准是递增或者递减的字典式顺序; Preferred first ordering criterion is increasing or decreasing lexicographic order;

[0050] 2)串联经排序的节点标识符的集合来创建路径标识符; [0050] 2) a series of ordered set of node identifiers to create a path identifier;

[0051] 3)根据第二排序标准将路径标识符排序,该第二排序标准实现路径标识符的集合的全排序。 [0051] 3) The second sort criteria to sort the path identifiers, the second sorting criterion for full sorting path identifiers of the collection. 优选的第二排序标准是递增或者递减的字典式顺序; Preferred second sorting criterion is increasing or decreasing lexicographic order;

[0052] 4)选择其路径标识符在路径标识符的经排序的集合的一端(第一个或最后一个)处出现的路径。 [0052] 4) Select the path appears at one end of the set path identifier of the ordered (first or last) at its path identifier. 有利地,该步骤选择在路径标识符的经排序的集合中第一个出现的路径标识符。 Advantageously, the step of selecting the set of path identifiers ranked first appeared in the path identifier.

[0053] 执行这个算法的网络中的每个节点一致地使用相同的排序标准并且选择在路径标识符的集合中相同的约定(agreed)位置处的路径以便选择相同的路径。 [0053] The implementation of this algorithm for each node in the network to consistently use the same sort criteria and choose the same path convention (agreed) at a location in the collection path identifiers in order to choose the same path.

[0054] 术语“字典式顺序,”意思是按标识符的大小的顺序来排列节点标识符的集合。 [0054] The term "dictionary order," meaning that the size of the identifier in order to arrange the collection of node identifiers. 所以,如果节点标识符是字母,则节点标识符的集合按字母顺序A、B、C、D...等被排列;如果节点标识符是数字,则节点标识符的集合按数字顺序被排列。 So, if a node identifier is a letter, a collection of the node identifiers in alphabetical order A, B, C, D ... and so on are arranged; if node identifiers are the numbers, set the node identifiers are arranged in numerical order . 明显地,这种方案可以适用于标注节点的任何方式以及标识符类型的任何组合。 Obviously, such a scheme can be applied in any way, and any combination marked node identifier type. 例如,数字和字母的混合可以通过相对于字母约定数字的顺序(例如首先将数字排序,然后将字母排序)来排序。 For example, mixing numbers and letters can be sorted by letter agreement with respect to the order of the numbers (for example, first digital sorting, and then in alphabetical order). 可替换地,每个字符可以被给予它的美国信息交换标准代码(ASCII)的码并且可以按递增(递减)的顺序将该ASCII码排序。 Alternatively, each character can be given its American Standard Code for Information Interchange (ASCII) The ASCII code and the code can be sequentially ordered by increasing (decreasing) a. 每个节点使用相同的协定(convention)以用相同的方式将路径的节点标识符排序。 Each node using the same agreement (convention) in the same way the path node identifier order. 这个算法将产生一致的结果,因为在路径(严格来说是由路径和它的反向构成的对)和它的标识符之间有一对一的映射,并且有对路径标识符的全排序。 This algorithm will produce consistent results, since the path (strictly speaking it is a reverse path and formed on) and between its identifier has a one to one mapping, and a full-sorting path identifier.

[0055] 再次参考图5,在排序之后,由路径标识符014568AB来表示节点A和B之间最上面的路径。 [0055] Referring again to FIG. 5, after sorting, to represent the top between nodes A and B of the path by the path identifier 014568AB. 类似地,节点A和B之间的第二路径遍历节点A-0-7-9-1-4-8-B并且在排序之后这可以由路径标识符014789AB来表示。 Similarly, the second path between nodes A and B traverses nodes A-0-7-9-1-4-8-B and this can be expressed after sorting by the path identifier 014789AB. 最后,节点A和B之间的第三路径(沿图5的最下面)遍历节点A-0-7-9-2-3-8-B并且在排序之后这可以由路径标识符023789AB来表示。 Finally, a third path (along the bottom 5) between nodes A and B traverses nodes A-0-7-9-2-3-8-B and this can then sort represented by the path identifier 023789AB . 在约定的方向上,所述打破平局算法比较经排序的路径标识符的每个元素。 In the direction of the agreement, each element of the tie break sorting algorithms compare the path identifier. 在这个例子中,将被使用的协定是当路径标识符在特定方向上(例如从左到右)被比较时,每个节点选择经排序的路径标识符中最小的那个。 In this case, the agreement will be used when the path identifier in a particular direction (eg left to right) are compared, each node selects the path identifier sorted the smallest one. 对于这三个等开销的路径,经排序的路径标识符为: For the three and other path overhead, the sort of path identifier:

[0056] 014568AB [0056] 014568AB

[0057] 014789AB [0057] 014789AB

[0058] 023789AB [0058] 023789AB

[0059] 从标识符左侧的元素开始,所有三个路径标识符都以'0'开始。 [0059] element identifiers from the left side of the start, all three paths identifiers with '0' Start. 下一个元素为“1,或'2',所以只需要再进一步考虑最上面两个标识符。到达第四个元素,“0145...”小于“0147...”,因此最上面的路径被选择。IS-1S和以太网中实际的节点标识符由六个8位的字节组成并且通常被写成十六进制的串,诸如00-e0-7b-cl-a8-c2。还可以使用节点的别名,只要它们一致地被使用。 The next element is "1, or '2', again so that only the top two identifiers further consideration. Reaches the fourth element," 0145 ... "is less than" 0147 ... ", and therefore the topmost path is selected .IS-1S and the actual Ethernet node identifiers of six eight bytes and is generally written as hexadecimal strings, such as 00-e0-7b-cl-a8-c2. also Use an alias node, as long as they are used consistently.

[0060] 图6示出简单的网络拓扑结构以示意不同排序标准的效果。 [0060] Figure 6 shows a simple network topology to indicate the effect of different sorting criteria. 通过具有节点标识符1-8的四个等开销的路径连接两个节点X、Y。 Connecting two nodes X, Y through paths having a node identifier 1-8 four equal-cost. 现在将描述四个可能的选项: Four possible options will now be described:

[0061] •按升序将节点ID排序;按升序将路径ID排序;选择第一个(最小的)路径ID。 [0061] • Sort ascending node ID; ID sort ascending path; selecting the first (lowest) path ID. 如果每个路径中的节点标识符按大小的升序被排序(例如具有节点1,7的最上面的路径变成17),则那样给出路径标识符17,28,35,46。 If the node identifier in each path according to the size to be sorted in ascending (e.g., 1,7 paths having a node 17 becomes uppermost), as given by the path identifier 17,28,35,46. 按大小的升序排列这些路径标识符并且选择有序列表中的第一个路径标识符获得选择第一个(最上面的)路径的结果,该路径具有节点I和7。 By size in ascending order of these paths and select the ordered list of identifiers of the first path to get the first result identifier selection (top) path, the path has a node I and 7.

[0062] •按升序将节点ID排序;按升序将路径ID排序;选择最后一个(最大的)路径ID。 [0062] • The node ID ascending sort; sort ascending path ID; choose the last (highest) path ID. 这个选项获得选择最后一个(最下面的)路径的结果,该路径具有节点4和6。 Select this option to get the last (bottom) the resulting path, the path has a node 4 and 6.

[0063] •按降序将节点ID排序;按升序将路径ID排序;选择第一个(最小的)路径ID。 [0063] • The node ID sorted in descending order; ID sort ascending path; selecting the first (lowest) path ID. 按大小的降序将每个路径中的节点标识符排序给出路径标识符(71,82,53,64)。 In descending order by size in each path node identifier given sorting path identifier (71,82,53,64). 按大小的升序排列这些路径标识符给出(53,64,71,82)并且选择有序的列表中的第一个(最小的)路径标识符获得选择第三个路径的结果,该路径具有节点3和5。 By size in ascending order to give these path identifier (53,64,71,82) and select the ordered list of the first (lowest) path identifier obtained results select the third path, the path has Node 3 and 5.

[0064] •按降序将节点ID排序;按升序将路径ID排序;选择最后一个(最大的)路径ID。 [0064] • The node ID descending sort; sort ascending path ID; choose the last one (the largest) path ID. 这个选项获得选择第二个路径的结果,该路径具有节点8和2。 Select this option to obtain the results of the second path, the path has a node 8 and 2.

[0065] 如将在下文中更详细地描述的,存在一些情况,其中所希望的是节点应用多个不同的排序和/或选择标准来选择多个等开销的路径。 [0065] As will be described in more detail below, there are some situations where it is desirable to use a number of different path node sorting and / or selection criteria to select multiple equal-cost.

[0066] 到目前为止,本说明书假设该算法是非局部的(non-local)并且打破平局在所有等开销的路径已被找到之后被执行。 [0066] So far, this specification assumes that the algorithm is non-local (non-local) and tie-breaking is performed after the path for all other expenses have been found. 但是,已经发现这个算法的局部形式可以通过仅考虑分叉支路上的节点而产生相同的结果。 However, it has been found that the topical form of the algorithm by considering only the road forked branch nodes and produce the same results. 实际上,打破平局的结果仅取决于分叉支路中最小的节点标识符的相对位置。 In fact, the tie-breaking results are dependent on the relative position of only the smallest forked branch node identifier. 一致的打破平局算法的第二实施例可以被总结为: The second embodiment consistent tie-breaking algorithm can be summarized as follows:

[0067] I)在第一路径的分叉支路中找到达到第一选择标准的节点标识符。 [0067] I) to find a first selection criterion reaches node identifier in the diverging branch of the first path. 这可以被认为是该第一路径的支路标识符; This can be considered a branch identifier of the first path;

[0068] 2)在第二路径的分叉支路中找到达到第一选择标准的节点标识符。 [0068] 2) find a first selection criterion reaches node identifier in the diverging branch of the second path. 这可以被认为是该第二路径的支路标识符; This can be considered an identifier of the second branch path;

[0069] 3)使用第二选择标准来选择所述路径中的一个,其在通过步骤(1)和(2)所选择的支路标识符上运算(operate)。 [0069] 3) Use the second selection criteria to select the path of one, which in step (1) and (2) operation (operate) on the selected branch identifier.

[0070] 对于第一选择标准优选的选项是找到这样的节点标识符,即当使用诸如字典式顺序(递增或者递减的字典式顺序)的全排序方案来排列节点标识符时,该节点标识符是第一个(或者最后一个)。 [0070] For the first selection criterion preferred option is to find such a node identifier, that is, when the use of such lexicographic order (ascending or descending lexicographic order) of the total ordering scheme to arrange node identifier, the node identifier It is the first (or last). 如将在下文中所解释的,该方案不一定要汇集支路中的节点标识符的总的集合,然后将该集合排序。 As will be explained below, the program does not have to bring together a collection of the total branch node identifier, and then sort the collection. 相反,该方案可以利用对字典式顺序的认识迭代地比较节点标识符对。 Instead, the program can be used for understanding lexicographic order iteratively compare node identifier pair. 类似地,对于第二选择标准优选的选项是找到这样的支路标识符,即当使用诸如字典式顺序(递增或者递减的字典式顺序)的全排序方案来排列支路标识符时,该支路标识符是第一个(或者最后一个)。 Similarly, the selection criteria for the second preferred option is to find such a branch identifier, that is, when the use of such lexicographic order (ascending or descending lexicographic order), a wholly ordering scheme to arrange a branch identifier, this branch path identifier is the first (or last). [0071] 再次参考图6的拓扑结构,节点X和Y之间的四个等开销的路径可以表示来自父节点X的四个等开销的分叉支路。 [0071] Referring again to FIG. 6, topology, four equal-cost path to nodes X and Y can be expressed in four equal-cost branches diverging from the parent node X. 所述打破平局算法需要选择这四个支路中的一个。 The tie-breaking algorithm to choose one of these four branches. 有四个可能的选项: There are four possible options:

[0072] •标识每个支路中最小的节点ID。 [0072] • identify each branch lowest node ID. 这产生(1,2,3,4)作为支路标识符。 This produces (1,2,3,4) as the branch identifiers. 然后,标识支路标识符中最小的那个。 Then, identify the smallest branch identifiers. 这获得选择第一个(最上面的)路径的结果,该路径具有节点I和7。 Select this to get the first (top) path of a result, the path has a node I and 7.

[0073] •标识每个支路中最小的节点ID。 [0073] • identify each branch lowest node ID. 然后,标识支路标识符中最大的那个。 Then, identify the largest branch identifiers. 这个选项获得选择最后一个(最下面的)路径的结果,该路径具有节点4和6。 Select this option to get the last (bottom) the resulting path, the path has a node 4 and 6.

[0074] •标识每个支路中最大的节点ID。 [0074] • identify each branch node with the largest ID. 这产生(5,6,7,8)作为支路标识符。 This produces (5,6,7,8) as a branch identifier. 然后,标识支路标识符中最小的那个。 Then, identify the smallest branch identifiers. 这获得选择具有节点3和5的路径的结果。 This gave choose a path node 3 and 5 results.

[0075] •标识每个支路中最大的节点ID。 [0075] • identify each branch node with the largest ID. 然后,标识支路标识符中最大的那个。 Then, identify the largest branch identifiers. 这个选项获得选择具有节点2和8的路径的结果。 Select this option to obtain results with a path of nodes 2 and 8.

[0076] 如将在下文中更详细地描述的,存在一些情况,其中所希望的是节点应用多个不同的排序和/或选择标准来选择多个等开销的路径。 [0076] As will be described in more detail below, there are some situations where it is desirable to use a number of different path node sorting and / or selection criteria to select multiple equal-cost.

[0077] 这个算法可以通过简单的比较而非常容易且有效地被实现。 [0077] This algorithm can be relatively simple and very easily and efficiently implemented. 图7示出另一网络拓扑结构。 Figure 7 shows another network topology. 所述方法的局部形式将在节点13处开始,并且进而查找从节点15引出的两个分叉支路。 Local form of the method will start at node 13, and further to find the two diverging branches from node 15 leads. 该方法探索直到节点16为止的两个独立的路径,这两个路径在节点16处再次汇聚。 The method to explore two separate paths until until node 16, both paths converge again at node 16. 在这点上,该方法检查两个支路中的每一个的节点标识符。 At this point, the method checks the two branches of each node identifiers. 对于第一支路,节点标识符为:10,14,17,21并且对于第二支路,节点标识符为:11,12,19,20。 For the first branch, a node identifier is: 10,14,17,21 and the second branch, node identifiers: 11,12,19,20. 具有最小的标识符(10)的支路是最上面的路径的部分。 Branch having the smallest identifier (10) is the uppermost part of the path. 该方法可以仅从节点16向节点15回溯,保持对在每个支路中找到的最小的节点标识符的跟踪。 This method can only node 16 back to node 15, to maintain minimum node identifier found in each branch of the track. 在每个逆向的步骤处,该方法将到目前为止所找到的最小的节点标识符与在该步骤处所遇到的新的节点标识符比较。 In each reverse step, the method will find the lowest node identifier comparison so far with the new node identifier in the step premises encountered. 最小的节点标识符被存储。 Lowest node identifier is stored. 当该方法已经回溯至节点15时,两个最小的值(在最上面的支路中为10,在较低的支路中为11)可以仅被相互比较以找到具有最小的节点标识符的支路。 When the process has been traced back to 1510, the two smallest value of the node (in the top branch 10, 11 in the lower branch) can only be compared with each other in order to find with the smallest node identifier branch. 因此,最上面的支路被选择,其形成最上面的路径的部分。 Thus, the top branch is selected, the uppermost portion of the path thereof is formed. 当执行这种打破平局时,这两个分叉支路所共有的路径的部分被忽略。 When performing such a tie-breaking, part two diverging branches common path is ignored.

[0078] 用于在网络中查找最短开销路径(shortest cost path)的最常用的算法之一是Dijkstra算法[Di jkstra59]。 One of the most commonly used algorithms [0078] is used to find the shortest path overhead (shortest cost path) in the network is Dijkstra algorithm [Di jkstra59]. 它解决的问题是在路径的长度被定义为正的(positive)逐跳(hop-by-hop)链路开销的总和的情况下查找从图中的一个点(源节点或根节点)到所有可能的目的地的最短路径。 It solves the problem is to find a point (source node or root node) from the figure in the length of the path is defined as positive (positive) the sum of the circumstances under hop (hop-by-hop) link cost to all The shortest route possible destination. 这个问题有时候被称为单源最短路径问题。 This problem is sometimes called single-source shortest path problem. 对于图G= (N,L),其中N是节点的集合并且L是连接它们的链路的集合,Dijkstra算法使用通常被称为TENT的优先级队列以按到源节点的距离递增的顺序来访问节点。 For Figure G = (N, L), where N is the set of nodes and L is a set of links connecting them, Dijkstra algorithm is commonly referred to TENT priority queue according to the distance from the source node increasing order access node. 实现Dijkstra算法所需要的其它数据结构为: Dijkstra algorithm to achieve the required other data structure:

[0079] 距离(Distance):从源节点到每个节点的最短距离的最佳估计的数组。 [0079] distance (Distance): Array shortest distance from the source node to each node of the best estimate.

[0080] 父代(Parent):每个节点的前驱的数组。 [0080] parent (Parent): Array precursor of each node.

[0081] 下面的文本描述已知的Dijkstra算法,并且描述其可以如何被修改以在多个等开销的路径被发现时执行打破平局。 [0081] The text below describes the known Dijkstra algorithm, and describe how it can be modified to be found in the path when multiple equal-cost execution to break the tie. 在此描述Dijkstra算法是因为它是最常用的最短路径查找算法之一。 Dijkstra algorithm described here because it is one of the most commonly used to find the shortest path algorithm. 但是,将理解的是其它算法同样可以被使用。 However, it will be appreciated that other algorithms can also be used. 初始化阶段将每个节点的距离设置为无穷大,除了源节点本身。 The distance between each node initialization phase is set to infinity, in addition to the source node itself. 源节点的距离被设置为零并且它的父代被设置为空(Null),因为它是树的根。 From the source node is set to zero and its parent is set to empty (Null), because it is the root of the tree. 在计算开始时,优先级队列仅包含源节点。 In calculating the beginning, the priority queue contains only the source node. 随着算法的进行,节点在从源节点到它们的路径被找到时被加入优先级队列。 As the algorithm, the node is found from the source node to the path they are added to the priority queue. 在节点和源节点之间的最短路径已被找到之后,按到源节点的距离递增的顺序将这些节点从优先级队列中取出。 After the shortest path between the node and the source node has been found, according to the distance between the source node to the ascending order of these nodes will be removed from the priority queue. 该算法在可从源节点到达的所有节点都已循环通过优先级队列时停止。 The algorithm stops when all nodes reachable from the source node are circulated through the priority queue. 当优先级队列TENT不为空时,该算法执行以下步骤: TENT when the priority queue is not empty, the algorithm performs the following steps:

[0082] I)在TENT中查找与源节点最接近的节点N并将其从TENT中移除。 [0082] I) to find and remove the source node from the closest node N in TENT in TENT.

[0083] 2)对于连接到N的每个节点,如果通过使N成为节点的父代将减 [0083] 2) connected to each node N, if N becomes the node by parent will be reduced

[0084] 小它到源的距离,则将该节点的父代改为N,将该节点的距离设 [0084] It is to little distance from the source, then changed to the parent node N, from the set of the node

[0085] 置为新的距离,并且将该节点加入TENT。 [0085] set a new distance, and the node is added to TENT.

[0086] 当该算法完成时,距离(节点)包含从源节点到节点的最短距离(或者如果不能从源节点到达该节点则距离为无穷远)并且父代(节点)包含生成树中节点的前驱(除了源节点以及不能从源节点到达的节点)。 [0086] When the algorithm is complete, the distance (node) that contains (or if you can not reach the node from the source node distance to infinity) shortest distance from the source node to node and parent (node) contains the spanning tree nodes precursor (except the source node and the node can not be reached from the source node). 只有当改变父代实际上减小了节点的距离时才更新节点的父代。 Only when the change actually reduces the distance between parent nodes update the parent node. 这意味着,如果在源节点和一些其它节点之间存在多个等开销最短路径,则只有在算法的执行期间所遇到的第一个节点将被考虑。 This means that if multiple equal-cost shortest path exists between the source node and other nodes, only the first node during execution of the algorithm encountered will be considered.

[0087] 上面的步骤是Di jkstra算法的常规步骤。 [0087] The above procedure is a general step Di jkstra algorithm. 在这点上,Di jkstra被修改以增加一致的打破平局步骤。 At this point, Di jkstra be modified to increase the same tie-breaking procedures. 上面的步骤2如下被修改: Step 2 above is modified as follows:

[0088] 2)为连接到节点N的每个节点进行以下操作: [0088] 2) is connected to each node N of the following:

[0089] 2a)如果通过使N成为节点的父代将减小节点到源节点的距离,则将该节点的父代改为N,将该节点的距离设置为新的距离,并且将该节点加入TENT。 [0089] 2a) is reduced if the distance from the node to the source node by node N becomes the parent, the parent node is changed to N, from the node to the new distance, and the node Join TENT.

[0090] 2b)如果在使N成为节点的父代之后该节点到源节点的距离将保持相同,则调用打破平局算法来确定该节点的父代是否应当被改变。 [0090] 2b) If so N becomes a parent node after the node to the source node distance will remain the same, the tie-breaking algorithm is invoked to determine whether the parent node should be changed. 在到达两个分叉支路的汇聚点时调用打破平局算法。 Call the tie-breaking algorithm on the arrival of two diverging branches focal point. 例如,考虑图7所示的拓扑结构,如果Dijkstra算法从节点13开始,从节点15引出的分叉支路被发现(具有节点10、14、17、21的上部支路和具有节点11、12、19、20的下部支路),并且这些分叉支路在节点16处汇聚。 For example, consider the topology shown in FIG. 7, if the Dijkstra algorithm starts from the node 13, the furcation legs 15 drawn from the node is found (branch node having an upper portion having nodes 10,14,17,21 and 11,12 , lower leg 19, 20), and these furcation legs 16 converge at a node. 在节点16处,打破平局算法将被调用以在这两个支路之间进行选择。 At node 16, the tie-breaking algorithm is invoked with the selection between the two branches.

[0091] 下面的伪代码示出了使用TENT集合的优先级队列实现对具有一致的打破平局的被修改的Dijkstra算法的实现。 [0091] The following pseudo-code illustrates the use of a set of priority queues TENT achieve a consistent tie-breaking is modified Dijkstra's algorithm. 入列(enqueue)操作带有两个自变量,即队列和节点,并且根据节点到源节点的距离将它放在恰当的队列位置上。 Into the column (enqueue) operating with two arguments, which the queues and nodes, and the distance to the source node node put it in the proper position on the queue. 出列(dequeue)操作从队列中移除在队列最前面的节点,即具有到源节点的最小距离的节点。 Dequeue (dequeue) Operating removed from the queue in front of the queue node, a node having the minimum distance to the source node.

[0092] [0092]

for each Node in Network do Distance(Node) = Infinity; for each Node in Network do Distance (Node) = Infinity;

Empty(Tent); Empty (Tent);

Distance(Source) = 0; Distance (Source) = 0;

Parent(Source) = Null; Parent (Source) = Null;

Node = Source; do Node = Source; do

for each Link in OutgoingLinks(Node) do for each Link in OutgoingLinks (Node) do

new Distance = Distance(Hode) + Cost(Linlc); new Distance = Distance (Hode) + Cost (Linlc);

Child = EndNode(Link); if (newDi stance < Distance(CMld) do Distance(Chiid) = ne霄Distance; Child = EndNode (Link); if (newDi stance <Distance (CMld) do Distance (Chiid) = ne Xiao Distance;

Parent(Child) = Node; Parent (Child) = Node;

Enqueue(Tent, Child); else if (newDistance = = Distance(Child) do Enqueue (Tent, Child); else if (newDistance = = Distance (Child) do

Parent(Child) = TieBrcak(Nodc, Parent(Child)); while (Node - Dequeue(Tent)); Parent (Child) = TieBrcak (Nodc, Parent (Child)); while (Node - Dequeue (Tent));

[0093] 该打破平局算法通过回溯两个等开销的路径来运算,分别从节点的当前父代以及新的候选父代开始,一路返回至分叉点。 [0093] The tie-breaking algorithm through two equal-cost paths back to operation, respectively, from the current parent node and the new candidate parent, all the way back to the bifurcation point. 两个分叉路径可能具有不同数量的跳跃的事实使情况稍微变复杂,因为两个路径必须被回溯未知的、不等数量的跳跃。 The fact that the two diverging paths may have different number of hops of the situation becomes slightly complicated because the two paths must be back unknown and varying amounts of jumps. 这个问题可以通过始终首先回溯两个路径中较长的那个或者当它们具有等开销时同时回溯两者来解决。 This problem can be always first back two paths that long, or when they have other expenses both at the same time backtracking to solve. 可替换地,这种困难可以通过确保当且仅当两个路径具有相同数量的跳跃时它们才将被认为具有等开销而完全被消除。 Alternatively, this difficulty can be sure that if and only if the two paths have the same number of jumps before they are considered to have equal-cost and completely eliminated. 这通过将跳数并入路径开销或者通过将跳数用作第一级的决胜局(first order tie-breaker)而容易地被实现。 Which is incorporated by hops path cost or by the number of hops used as the first stage of the tiebreaker (first order tie-breaker) and easily implemented.

[0094] 下面的伪代码示出了打破平局算法的实现,其假定两个路径具有相同数量的跳跃(并且因此它们的分叉支路也具有相同数量的跳跃)。 [0094] The following pseudo-code shows the tie-breaking algorithm, it is assumed that the two paths have the same number of jumps (and therefore their forked branch has the same number of hops). 打破平局函数带有处于两个相等的 The tie-breaking function takes in two equal

路径的末端的两个节点并且返回它们中的一个来指示它选择了这两个路径中的哪一个。 Both ends of the path of the nodes and returns them to indicate which one of the two selected paths which one.

[0095] [0095]

Figure CN103973566AD00191

[0096] 算法需要被执行的频率取决于应用。 [0096] Frequency algorithm needs to be executed depends on the application. PLSB基本上需要计算所有点对间最短路径(有时是其子集)。 PLSB basically need to calculate the shortest route between all points (and sometimes a subset). 在这种情况下,Dijkstra算法需要为网络中的所有节点(准确地说是除了一个节点以外的所有节点)被运行。 In this case, Dijkstra algorithm requires all nodes in the network (precisely, all the nodes except node) is running. Floyd算法计算所有点对间最短路径,所以它仅需要被运行一次。 Floyd algorithm to calculate the shortest route between all points, so it needs to be run only once. 其它应用可能仅要求计算较少数量的路径(例如,如果只要求一个最短路径,则Dijkstra算法将必须仅被运行一次,其中以路径的端点中的一个作为源)。 Other applications may only require a small number of calculated path (e.g., if only requires a shortest path, Dijkstra algorithm would have to be run only once, in which one end of the path as the source).

[0097] 图8示出网络的例子,该网络具有通过链路互连的节点AH、J。 [0097] Figure 8 shows an example of a network, the network having nodes interconnected by links AH, J. 对于每一链路,与该链路相关联的度量被示出为链路上的整数值。 For each link, the link associated with the metric is shown as an integer value link. 在这个网络中在节点A和节点B之间有六个不同的、等开销的、最短路径。 In this network between the node A and node B has six different, equal-cost shortest path. 这些路径在下表中以它们各自的长度和路径标识符被示出: These paths to the table below their respective lengths and path identifiers are shown:

[0098] [0098]

Figure CN103973566AD00192

[0099] 所有这六个路径具有相同的长度10。 [0099] All six paths 10 have the same length. 打破平局算法的非局部形式将选择具有最小路径标识符(ABCFH)的那个路径,即路径AFCHB。 Tie-breaking algorithm of non-local form will choose that path having the smallest path identifier (ABCFH), that path AFCHB. 这节的剩余部分示出打破平局算法的局部形式如何通过随着等开销的路径和子路径在Dijkstra算法的执行期间被发现仅做出局部的打破平局决定而达到相同的结果。 The remaining part of this section shows how to break the tie algorithms by partial form with the equal-cost paths and sub-paths during the execution of Dijkstra algorithm was found to make only partial tie-breaking decision to achieve the same result. Dijkstra算法为网络中的节点初始化距离和父代(前驱)的表。 Dijkstra algorithm is initialized from the nodes in the network and parent (precursor) tables. 所有距离初始地被设置为无穷大,除了源节点,它的距离被设置为零。 All distances are initially set to infinity, in addition to the source node, its distance is set to zero. 父代在这个阶段未被定义: Parent is not defined at this stage:

[0100] [0100]

Figure CN103973566AD00193

[0101] Djikstra算法还将它的优先级队列初始化为仅包含源节点A =TENT = [ (A,O)]。 [0101] Djikstra algorithm also its priority queue is initialized to contain only the source node A = TENT = [(A, O)].

[0102] Dijkstra循环的第一次迭代选择TENT中的第一个并且仅有的一个节点,即节点A。 [0102] Dijkstra first iteration of the loop TENT select the first and only one node, Node A. 然后对于节点A的邻节点(即节点F和G)中的每一个,其更新它们到源的距离并且使节点A成为它们的父代。 Then the node A neighbor (ie node F and G) each, which update them and make the distance to the source node A to become their parent. 最后,这两个节点被加入TENT优先级队列。 Finally, these two nodes are added to the priority queue TENT.

[0103] 在Diikstra算法的这个第一次迭代期间,距离和父代的表变为: [0103] During this first iteration Diikstra algorithms, distance and parent table becomes:

[0104] [0104]

Figure CN103973566AD00201

[0105] 在第一次迭代结束时,优先级队列为:TENT = [(G,ll,(F,2)]。 [0105] at the end of the first iteration, the priority queue is: TENT = [(G, ll, (F, 2)].

[0106] Dijkstra循环的第二次迭代从优先级队列中移除具有最小距离的节点即节点G。 [0106] The second iteration cycle Dijkstra removed node that is the node with the smallest distance from the priority queue G. 它更新了G的邻节点中还没有被处理的两个节点,即节点C和D,并且将它们加入优先级队列: It updates both node G neighbor has not been processed by a node C and D, and add them to the priority queue:

[0107] [0107]

Figure CN103973566AD00202

[0108] 在第二次迭代结束时,优先级队列为:TENT = [(F,2),(D,4),(C,5)]。 [0108] When the end of the second iteration, the priority queue is: TENT = [(F, 2), (D, 4), (C, 5)]. Dijkstra循环的第三次迭代将节点F从优先级队列中移除。 Dijkstra third iteration loop node F is removed from the priority queue. 其更新节点F的两个邻节点,即节点C和E,并且将节点E加入优先级队列(节点C已经在该队列中)。 Update its neighbor node F of the two, i.e., nodes C and E, and the node E added to the priority queue (node C is already in the queue). 节点C的距离没有改变,但是在节点A和节点C之间有新的候选的相等路径,该路径经过节点F。 From the node C does not change, but between the node A and node C have a new candidate equal path, the path through the node F. 因此,必须调用所述打破平局算法以在经过节点F的这个新的路径和经过节点G的旧的路径之间选定。 Therefore, it must call the tie-breaking algorithm to this new path after node after node F and G of the old paths between selected. 这在图9中示出。 This is illustrated in Figure 9. 以节点C的新的候选父代(节点F)和它的旧的父代(节点G)来调用所述打破平局算法。 The node C of the new candidate parent (node F) and its former parent (node G) to call the tie-breaking algorithm. oldMin被设置为旧的父代的标识符G并且newMin被设置为新的父代的标识符F。 oldMin is set to the identifier of the old parent and newMin G is set as a new parent identifier F. 由于节点F和G共享相同的父代(节点A),所以不执行回溯循环。 Since node F and G share the same parent (node A), so the backtracking loop is not executed. 所述打破平局仅比较oldMin和newMin,并且由于newMin = F〈G = oldMin,所以F被选择为节点C的新的父代: The tie-breaking only compare oldMin and newMin, and because newMin = F <G = oldMin, so F is selected as the node C of the new parent:

[0109] [0109]

Figure CN103973566AD00203

[0110] 在第三次迭代结束时,优先级队列为:TENT = [(D,4),(E,4),(C,5)]。 [0110] When the end of the third iteration, the priority queue is: TENT = [(D, 4), (E, 4), (C, 5)]. Dijkstra循环的第四次迭代从优先级队列中移除具有距离4的两个节点中的一个,例如节点D。 The fourth iteration of the Dijkstra loop is removed from the priority queue having a distance between two nodes in a 4, such as node D. D的两个邻节点中只有一个节点,即节点H被更新并且被加入优先级队列: Two neighbors D is only one node, the node H is updated and added priority queue:

[0111] [0111]

Figure CN103973566AD00211

[0112] 在第四次迭代结束时,优先级队列为:TENT = [(E,4),(C,5),(H,6)]。 [0112] When the end of the fourth iteration, the priority queue is: TENT = [(E, 4), (C, 5), (H, 6)]. Dijkstra循环的第五次迭代将节点E从优先级队列中移除。 Dijkstra fifth iteration of the loop node E is removed from the priority queue. E的两个邻节点中只有一个节点,即节点J被更新并且被加入优先级队列。 Two E's neighbor is only one node, the node J is updated and added priority queue.

[0113] [0113]

Figure CN103973566AD00212

[0114] 在第五次迭代结束时,优先级队列为:TENT = [(C,5),(H,6), (J,6)]。 [0114] When the end of the fifth iteration, the priority queue is: TENT = [(C, 5), (H, 6), (J, 6)]. Dijkstra循环的第六次迭代将节点C从优先级队列中移除。 Dijkstra sixth iteration of the loop node C is removed from the priority queue. C的两个邻节点(节点J和H)具有经过节点C到节点A的等开销的路径。 C two adjacent nodes (nodes J and H) that has a path through the node C to node A's and other expenses. 所述打破平局算法因此必须分别为节点J和H被调用两次。 The tie-breaking algorithm must therefore were node J and H is called twice. 对于节点J,以新的潜在的父代(节点C)和旧的父代(节点E)来调用所述打破平局算法。 For a node J, with new potential parent (node C) and the old parent (node E) to invoke the tie-breaking algorithm. oldMin被设置为旧的父代的标识符E并且newMin被设置为新的父代的标识符C。 oldMin is set to the identifier of the old parent and newMin E is set as a new parent identifier C. 由于这两个节点E和C共享相同的父代(节点F),所以不执行回溯循环。 Because both nodes E and C share the same parent (node F), so the backtracking loop is not executed. 所述打破平局仅比较oldMin和newMin并且由于newMin = C〈E = oldMin,所以选择新的父代。 The tie-breaking comparison only oldMin and newMin and because newMin = C <E = oldMin, so select a new parent. 因此,节点J的父代由节点C代替。 Thus, the node J is replaced by the parent node C. 这在图10中示出。 This is shown in Figure 10.

[0115] 对于节点H,以新的潜在的父代(节点C)和旧的父代(节点D)来调用所述打破平局算法。 [0115] For the node H, with new potential parent (node C) and the old parent (node D) to invoke the tie-breaking algorithm. oldMin被设置为旧的父代的标识符D并且newMin被设置为新的父代的标识符C。 oldMin is set to the identifier of the old parent and newMin D is set as a new parent identifier C. 由于这两个节点具有不同的父代,所以这两个路径必须另外被回溯一次跳跃。 Since the two nodes have different parent, so the two paths must also be a jump back. D的父代是G并且由于G>oldmin ( = D),所以oldMin不改变。 D parent is G and since G> oldmin (= D), so oldMin does not change. C的父代是F并且由于F>newMin (= C's parent is F and because F> newMin (=

C),所以newMin也不改变。 C), so newMin not changed. 由于F和G共享相同的父代,即节点A,所以回溯循环停止。 Since F and G share the same parent, that node A, so backtracking loop stops. 所述打破平局算法然后比较oldMin和newMin,并且由于newMin = C〈D = oldMin,节点C被选择变为节点H的新的父代。 The tie-breaking algorithm and then compare oldMin newMin, and because newMin = C <D = oldMin, node C is selected node H becomes a new parent. 这在图11中示出。 This is shown in Figure 11.

[0116] [0116]

Figure CN103973566AD00213

[0117] 在第六次迭代结束时,优先级队列为:ΤΕΝΤ = [(H,6),(J,6)]。 [0117] In the sixth iteration end, the priority queue is: ΤΕΝΤ = [(H, 6), (J, 6)].

[0118] Dijkstra循环的第七次迭代从优先级队列中移除具有距离6的两个节点中的一个,例如节点H。 [01] Dijkstra seventh iteration of the loop is removed from the priority queue having a distance between two nodes 6 a, such as node H. H的邻节点中只有一个,即节点B被更新并且被加入优先级队列: Neighbor H is only one, namely the node B is updated and added priority queue:

[0119] [0119]

Figure CN103973566AD00221

[0120] 在第七次迭代结束时,优先级队列为:TENT = [(J,6),(B, 10)]。 [0120] In the seventh iteration end, the priority queue is: TENT = [(J, 6), (B, 10)].

[0121] Dijkstra循环的第八次迭代将节点J从优先级队列中移除。 [0121] Dijkstra eighth iteration of the loop node J is removed from the priority queue. 在J的邻节点中只有节点B需要被更新。 Only Node B needs to be updated in J neighbor nodes. 它的距离不改变但是在节点A和节点B之间有新的候选的相等路径,该路径经过节点J。 But it does not change the distance between the node A and node B have a new candidate equal path, the path through the node J.

[0122] 以节点B的新的潜在的父代(节点J)和旧的父代(节点H)来调用所述打破平局算法。 [0122] In the new potential parent node B (node J) and the old parent (node H) to invoke the tie-breaking algorithm. oldMin被设置为旧的父代的标识符H并且newMin被设置为新的父代的标识符J。 oldMin is set to the identifier of the old parent and newMin H is set as the new parent identifier J. 由于这两个节点H和J共享相同的父代(节点C),所以不执行回溯循环。 Because these two nodes H and J share the same parent (node C), so that backtracking loop is not executed. 所述打破平局仅比较oldMin和newMin,并且由于oldMin = H〈J = newMin,所以旧的父代被选择并且节点B的父代保持相同。 The tie-breaking only compare oldMin and newMin, and because oldMin = H <J = newMin, so the old parent, the parent node is selected and B remains the same.

[0123] [0123]

Figure CN103973566AD00222

[0124] 在第八次迭代结束时,优先级队列为:TENT = [(B, 10)]。 [0124] at the end of the eighth iteration, the priority queue is: TENT = [(B, 10)].

[0125] 最后,Di jkstra循环的最后一次迭代将节点B从队列中移除并且由于节点B的邻节点中没有一个可以被更新(节点B是离开源节点A最远的节点),所以该算法终止。 [0125] Finally, Di jkstra last iteration of the loop will be removed and the Node B since the neighbor node B, one can not be updated (Node B is furthest away from the source node A node), so the algorithm from the queue termination.

[0126] 从节点A到节点B的最短路径的反向可以直接从父代的表中读出,从节点B开始并且沿父代前进直到到达节点A:BHCFA。 [0126] can be read directly from the parent table from node A to node B reverse shortest path from node B begins and proceeds along until it reaches the node A parent: BHCFA. 通过局部打破平局算法所选择的从节点A到节点B的最短路径因此是它的反向路径:AFCHB。 By local tie-breaking algorithm selected from node A to node B is therefore the shortest path to its reverse path: AFCHB.

[0127] 尽管在节点A和B之间有6个等开销的路径,但是在Dijkstra算法的执行期间所述局部打破平局仅被调用总计4次。 [0127] Although between nodes A and B have six equal-cost paths, but during the execution of Dijkstra said local tie-breaking algorithm is invoked only a total of four times. 在它的第一次调用时,该打破平局算法必须在子路径AFC和AGC之间选定。 When it's the first call, the tie-breaking algorithm must be selected in the sub path between AFC and AGC. 它选择了子路径AFC,由此根据进一步的考虑将两个路径AGCJB和AGCHB排除。 It selected sub-path AFC, thus further consideration according to the two paths AGCJB and AGCHB excluded. 在它的第二次调用时,该打破平局算法必须在子路径AFCJ和AFEJ之间选定。 When it's the second call, the tie-breaking algorithm must be selected between the sub-paths AFCJ and AFEJ. 它选择了子路径AFCJ,由此根据进一步的考虑将第三个路径AFEJB排除。 It selected sub-path AFCJ, thus further consideration in accordance with the third path AFEJB excluded. 在它的第三次调用时,该打破平局算法必须在子路径AGDH和AGCH之间选定。 When it's third call, the tie-breaking algorithm must be selected between the sub-paths AGDH and AGCH. 它选择了子路径AGCH,由此根据进一步的考虑将第四个路径AGDHB排除。 It selected sub-path AGCH, thereby further consideration in accordance with the fourth path AGDHB excluded. 最后,在它的第四次调用时,该打破平局算法必须在路径AFCHB和AFCJB之间选定。 Finally, when it's the fourth call, the tie-breaking algorithm must be selected between the path AFCHB and AFCJB. 它排除了第五个路径AFCJB并且选择了路径AFCHB作为最后的解。 It excludes a fifth path AFCJB and choose the path AFCHB as a final solution.

[0128] 用于负载传播的等开销多路径的选择 Select [0128] to load the spread of equal-cost multipath

[0129] 在许多连网(networking)应用中,经常有利的是使用若干等开销的路径,尤其是如果这可以以一致的方式来实现。 [0129] In many networking (networking) applications, it is often advantageous to use a number of equal-cost paths, especially if it can be implemented in a consistent manner. 通过使用所述打破平局算法的两种变形,有可能使用节点对之间的两个等开销的路径(在这两个路径存在的情况下)。 By using the tie-breaking algorithm of two variants, it is possible to use a path between two nodes and other overhead (in the case of these two paths exist). 图12示出常见的连网场景,其中边节点X和Y各自双归宿在核心节点A、B、C、D的全网状结构(full mesh)上。 Figure 12 shows a common networking scenarios, where edge nodes X and Y are each double home in the core nodes A, B, C, D of the whole network structure (full mesh) on. 为有冗余,每个边节点被连接到两个核心节点,其中节点X被连接到核心节点A和B并且节点Y被连接到节点C和D。 Is redundant, each edge node is connected to two core nodes, where a node X is connected to the core node A and B and the node Y is connected to the node C and D. 每个核心节点被连接到所有其它核心节点,例如节点A被连接到节点B、C和D。 Each core node is connected to all the other core nodes, e.g., node A is connected to the node B, C and D. 这个拓扑结构的问题是,如果在节点对之间只有一个最短路径被使用,则在正常情况下将浪费大量的访问容量(access capacity)。 This problem topology is, if only one is to use the shortest path between nodes, then under normal circumstances would waste a lot of access capacity (access capacity). 当在两个节点之间存在多个等开销最短路径时,所述打破平局算法的两种变形可以被用于一致地选择正好两个路径。 When multiple equal-cost shortest paths exist between two nodes, two variants of a tie-breaking algorithm can be used to consistently choose exactly two paths. 由所有节点约定的任何协定可以被用于在等开销的路径之间进行选择。 Any agreement agreed upon by all nodes can be used between the equal-cost paths to choose. 一种特别方便的协定是选择具有最小标识符的第一路径和具有最大的标识符的第二路径。 A particularly convenient protocol is to select a first path having the smallest path identifier and a second identifier maximum. 在图12中,由于核心节点完全网状互连(fullymeshed),在边缘节点X和Y之间存在四个等开销的路径:(X,A,C,Y),(X,A,D,Y),(X,B, C,Y),(X,B, D,Y)。 In Figure 12, since the core is fully meshed node interconnect (fullymeshed), four equal-cost paths exist between the edge nodes X and Y: (X, A, C, Y), (X, A, D, Y), (X, B, C, Y), (X, B, D, Y). 所述打破平局算法的两种变形将选择这两个路径: The two variants of the tie-breaking algorithm will choose two paths:

[0130] (X, min (A, B),min (C, D),Y)以及[0131 ] (X,max (A, B),max (C,D),Y) [0130] (X, min (A, B), min (C, D), Y), and [0131] (X, max (A, B), max (C, D), Y)

[0132]由于节点标识符是唯一的,min (A, B) ! = max (A, B)并且min (C, D) ! = max (C, [0132] Since the node identifiers are unique, min (A, B)! = Max (A, B) and min (C, D)! = Max (C,

D):这两个路径最大程度相异:它们仅共同具有它们的端点。 D): the maximum degree of dissimilarity these two paths: they only have in common their endpoints. 在图12中,两个被选择的路径为路径(X,A,C,Y)和路径(X,B, D,Y)。 In Figure 12, two paths are selected as a path (X, A, C, Y) and the path (X, B, D, Y).

[0133] 在上文中所描述的打破平局方法的重要特性之一是对网络的改变对打破平局的结果没有影响,所述对网络的改变不影响路径集合中打破平局需要为其从路径之间选择的那个。 [0133] One of the important features described hereinabove tie-breaking method is to change the network has no effect on the tie-breaking results, the change does not affect the path of the network set tie break from the path between the need for Choose one. 这种改变可能包括对不在被选择的路径上的网络的部分的移除,诸如出故障的节点或链路。 Such changes may include removal of parts of the network path is not on the selected, such as failed nodes or links. 另一重要特性是,当多个路径等开销的路径被使用时,一个路径中的故障不影响其它路径的稳定性。 Another important feature is that when a plurality of paths equal-cost paths are used, a path failure does not affect the stability of other paths. 类似地,链路的增加将仅影响等开销的路径中的一个而不会同时影响两个。 Similarly, the increase will affect only a link in the path cost, etc. will not affect one of the two. 这对于网络的稳定性是重要的。 This is important for the stability of the network.

[0134] 图13A和13B示意了本发明的打破平局方法的其它重要特性: [0134] FIG. 13A and 13B illustrates another important feature of the tie-breaking method of the present invention:

[0135] •在有等开销的路径的情况下单个故障不会促成回路; [0135] • In the case of cost paths there and so a single failure will not contribute to the circuit;

[0136] •故障不会既使回路闭合也使根节点的附接的点移位; [0136] • fault does not even have to make a closed loop attachment point root displacement;

[0137] •故障不会产生更短的路径; [0137] • Fault no shorter path;

[0138] •所述打破平局算法防止等开销的路径的评级改变最短路径。 [0138] • the tie-breaking algorithm prevents equal-cost paths rating change the shortest path.

[0139] 图13A和13B用具有节点A、B、C、D和R的简单的网络拓扑结构来示意这些特性。 [0139] FIG. 13A and 13B with a simple network topology node A, B, C, D and R to indicate these characteristics. 考虑图13A,R和节点AD的集合之间的最短路径使用链路RA。 Consider Figure 13A, R and shortest path between nodes AD are set to use the link RA. 从节点A到达节点C有对两个等开销的支路的抉择。 From node A to node C has two equal-cost branch of choice. 使用在上文中所描述的打破平局方法中的一个,支路ABC被一致地选择而不是支路ADC。 Use tie-breaking method described above in one branch ABC was unanimously selected branch instead of ADC. 类似地,在反方向上,链路CBA被一致地选择而不是CDA。 Similarly, in the reverse direction, the link CBA was unanimously selected instead of CDA. 图13B示出当链路RA出故障时在稍后的时间点处的情况。 13B shows RA when the link is in trouble at the time of the case at a later point. 节点R现在通过次最佳链路RC连接到节点AD的集合。 Node R is now connected to the node AD collection through sub-optimal link RC. 从节点C到达节点A有对两个等开销的支路的抉择。 From node C to node A has two equal-cost branch of choice. 同样地,支路CBA被一致地选择而不是支路CDA。 Likewise, CBA was unanimously selected branch instead of branch CDA. 在不使用这种一致的打破平局算法的情况下,回路ABCDA可能在链路RA中的故障之后产生,其中节点A和B在它们的行为上表现为缓慢且杂乱而节点C和D表现灵活。 Without the use of such a consistent tie-breaking algorithm, possibly after the loop ABCDA link RA faults produce, where the nodes A and B on their behavior as slow and messy and flexible node C and D performance. 这种特性对于为组播转发保证无回路特别有用。 This feature is particularly useful for non-guaranteed multicast forwarding loop.

[0140] 本发明不受在本文中所描述的实施例的限制,其可以被修改或者改变而不脱离本发明的范围。 [0140] The present invention is not herein limited to the embodiments described, which can be modified or altered without departing from the scope of the invention.

Classifications
International ClassificationH04L12/721
Cooperative ClassificationH04L45/22, H04L45/24, H04L45/00, H04L45/12
Legal Events
DateCodeEventDescription
6 Aug 2014C06Publication
3 Sep 2014C10Request of examination as to substance