A simple summary of Multipath routing algorithms: LFI, Mdva, MPA, MPDA, MPATH

Source: Internet
Author: User

Recently read a number of papers, multipath routing algorithm. More obscure, or reluctantly summed up a little content:


multi-path Routing Algorithms Summary

Problem formulation 2

MPA (multiple Path algorithm) 2

Problem solved by the MPA algorithm 2

MPA uses the essence of thought 3

MPA Execution Procedure 3

Mdva (Distance-vector Multipath) 4

Problem solved by Mdva algorithm 4

The essential thought of Mdva use 5

Mdva Execution Procedure 6

MPDA (Multipath Partial dissemination algorithm) 6

The essential thought of MPDA use 6

MPDA can learn from the place 7

MPATH Routing Algorithm 7

The essential thought of MPath use 7

MPath can learn from the place 8

The common denominator of these multi-path 8

Guaranteed non-ring LFI on spa basis 8

Reference key sink Point state variable 9 when guaranteed to be non-ring

Problem Formulation

--Excerpt from Mdva

"Problem formulation"

For each source point I, to find S (i, J) belongs to N (i), so that I can go through the points in S (i, j) to reach the corresponding end of J. If you can find the SG (j) For each end point J, you can solve the problem.

MPA ( multiple Path algorithm)

Problems solved by MPA algorithm

1) You can find multiple paths, not all paths, using the word "feasible next hop";

2) The efficient data structure is constructed, and the computation is fast.

3) Next hop is entitled to Heavy, easy QoS;

4) Directly for the actual network, can be mixed with OSPF.

The essential thought of MPA use


MPA execution process

MPA essence, to any one of the source point router I, have to record three information:

I to the target point router J distance: D (i, j); I go through each neighbor router K to reach J Distance: Dk (i, J) "Above two distances using any spa can be calculated"; I to the distance of each neighbor Router K: l (i, K)

Then: If the DK (i, J)-L (i, K) < D (I, J) is satisfied, then K is the feasible next hop.

Note that the pseudo-code is not given in this paper; The number of viable next hop that MPA can find depends on the underlying SPT algorithm used.

Mdva ( distance-vector Multipath)

Problems solved by Mdva algorithm

1) Solve the "count-to-infinity" problem of the minimum path for the Distributed Bellmannford algorithm (which is caused by "ring" (exchanging distance information without exchanging path information). )

2) At the same time can be found multi-paths, "ring" or "count to infinity" Such problems can be solved by looking for a DAG such as SG (j).

The essential thought of Mdva use

For any neighbor node K of Source point I, only the distance from the neighbor node K to the target node J is less than the distance from the source point I to the target node J, so the neighbor is Mdva considered. As described below:

Also guaranteed without ring:

Mdva execution process

Note that the distances information is only passed through SGJ (which in essence prevents loops from occurring), as described below (detailed procedures refer to the original document).

The details of the MDVA algorithm are mainly for S (i, J):

When implemented, "direct maintenance" is referred to in the Loop-free invariant conditions D (k, Ji), FD (i, J), S (i, J), D (i, JK) variables, and so on to find S (i, J).

Consistent with the MPA algorithm, the difference is that the MPA maintains three types of information (d (I, J), D (K, J), L (i, k)), directly using D (i, J)-L (i, K) < D (k, J) to construct S (i, J), more straightforward and easier to understand.

The pseudo-code references the original document.

MPDA ( Multipath Partial dissemination algorithm)

The essential thought of MPDA use

First, build a spa algorithm, and then add the Lfi limit on the underlying algorithm:

The pseudo-code of the MPDA algorithm. In contrast to the PDA, the active and passive two states are used to mark whether a router is in a state of "waiting for neighbor router acknowledgement" and only in the passive state (when all neighbor routers give an acknowledgement of the LSU message that he sends out). The main topology table is calculated further.

The whole idea is the same as the PDA. When each router receives an event "receive an LSU or detects a neighbor's down", do the following:

1) Calculate Neighbor Topology Table,t (i, k);

2) "" "when the router is in the passive state (all neighbor routers give an acknowledgment to the LSU message that he sent out), the main topology table,t (i) is computed, and T (i) is computed by the merge T (I, K) and L (I, k).

3) If some entry of T (i) change, the specified "Add/del/change" LSU message is sent to all neighbors according to the change.

4) All routers repeated perform the above operation until the system is stable.

MPDA can learn from the place

The "2.3.2 correctness Proof of PDA" section proves the correctness of a shortest path algorithm.

The "2.3.4 correctness Proof of MPDA" section proves the correctness of a multi-path algorithm.

MPATH Routing algorithm

The essential thought of mpath use

Consider the problem from the point of view (not from the starting point), and use the previous node of the endpoint for routing calculations. is also to build a path algorithm, and then add the Lfi limit on the basic algorithm (the whole idea and mpda exactly the same, just the type of messages exchanged different. A predecessor node is also included, so the node-related distance updates are processed.


MPath can learn from the place

The "2.4.2 correctness Proof of MPATH" section proves the correctness of a multi-path algorithm.

The common denominator of these multi-path is guaranteed without ring Lfi on spa basis

The main is to ensure that no ring, multi-path can be effective. Two methods of non-cyclic expression (used to guide algorithm design, prove the correctness of the algorithm):

Way One:


Way two:

Reference key sink Point state variables when guaranteed to be ring-free

Regardless of which algorithm is used, in addition to maintaining the basic information of the LFI, it also maintains a flag of whether a distance update is over (with the use of passive/active pairs, also using query/reply pairs, and Lenovo to the second part of the use cycle Number to mark a round iteration). If the iteration does not end (for node I that issued the update message, the end flag is I received all of his neighbors ' replies to the message), then the new update cannot be started, which guarantees the LFI in the time of the iteration. or more directly, regardless of the end of the iteration, the direct issue of a larger cycle number iteration is also possible. "It looks like our design can't escape this pattern."



Simple summary:

1) Two forms of problem presentation (LFI)

2) Mdva: Direct maintenance Lfi mentioned in the FD (i, J) D (i, JK) FD (i, j) These three information, is a distance vector algorithm

3) MPA: Direct Maintenance DK (I, J)-L (i, K) < D (I, j) These three information, the original text does not give pseudo-code, is a link state algorithm

4) MPDA: Direct maintenance Lfi mentioned in the FD (i, J) D (i, JK) FD (i, j) These three information, is a link state algorithm

5) MPATH: Uses the predecessor node, which is the previous node of the endpoint, rather than the next node K using the source, but the nature should not change.


The essence of Mdva and MPDA is no different, but first the details are different. Of the two algorithms, the calculation of FD (i, J) needs to indicate whether the router is in a "steady state" (whether waiting for a neighbor to respond to an update message from itself) by setting passive and active two states.

Note that FD (i, j) can be computed because FD (i, J) is a deferred version of DK (J, I), but as long as the LFI is satisfied within the time of waiting for a response (active state), the computed FD (i, J) is guaranteed to be valid. -This theorem has been proved in the paper and omitted here.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.