Loop-Free Updates of Forwarding Tables. Author： Jing Fu, Peter Sjödin and Gunnar Karlsson Publisher： IEEE Transactions on Network and Service Management Presenter：Wen-Tse Liang Date：2011/3/30. Outline. Introduction Transient loops Forwarding Information Loop-Free FIB Updates
Author：Jing Fu, Peter Sjödin and Gunnar KarlssonPublisher：IEEE Transactions on Network and Service Management
When the forwarding paths change, the forwarding information bases (FIBs) in the routers need to be updated. During the update process, transient loops might occur since some routers may have updated their FIBs while others have not.
Therefore, transient loops should be avoided when possible, particularly for non-urgent forwarding path changes. The events that can be considered as non-urgent include maintenance, changes of link weights and restoration after failure of protected links.
In this paper, we propose an update order to avoid transient routing loops during FIB updates.
we present several algorithms that update FIBs in accordance with this order, and discuss how these update algorithms can be applied to both decentralized routing protocols and networks with centralized control.
If NYCM updates its routing table before WASH, the packets sent by NYCM to DNVR via WASH will loop on the WASH-NYCM link. To avoid causing a transient loop between WASH and NYCM
we define a node Na, to be an upstream node of node Nb if Na uses Nb to reach the destination.
The problem of finding an update order in a forwarding matrix can be first divided into studying individual forwarding trees. Thereafter, by combining update orders in all forwarding trees, an update order for the forwarding matrix is derived.
the update order can be specified usingiterations. At each iteration, a number of FIBs can be updated simultaneously or in any order. When all routers in an iteration have updated their FIBs, a new update iteration starts. Therefore, the update process is performed over a number of iterations, following a specific order.
The algorithm studies a forwarding tree and determines whether a node is updatable in an update iteration.
The first part is to decide if a node can be updated according to the first updatable condition and the second part is for the second updatable condition.
tradeoff between two metrics: the number of FIB updates performed in all routers in the network and the number of iterations required to perform FIB updates.
The first approach is to update all the updatable elements in the forwarding matrix , resulting in more FIB updates in the network. However, this approach may finish the update process in fewer iterations.
The second approach is to only update fully updatable rows. In this approach, exactly one FIB update is performed in each router.
the rows with more updatable elements being preferred.
The third approach updates a minimum number of rows in each iteration.
When the number of fully updatable rows is larger than this minimum number, all fully updatable rows are updated.
The topology we used is from AS 1239, the Sprint network, consists of 315 routers and 975 links.
single link down events
five simultaneous link down events
resetting 20% of the link weights and
resetting all the link weights
Number of changed FIBs
Each curve shows the results of 100 simulation runs for a specific type of event, sorted in increasing order.
an iteration may take at most 350 ms (200 ms for the FIB updates and 150 ms for the notification),