Presentation is loading. Please wait.

Presentation is loading. Please wait.

IP Address Lookup for Internet Routers Using Balanced Binary Search with Prefix Vector Author: Hyesook Lim, Hyeong-gee Kim, Changhoon Publisher: IEEE TRANSACTIONS.

Similar presentations


Presentation on theme: "IP Address Lookup for Internet Routers Using Balanced Binary Search with Prefix Vector Author: Hyesook Lim, Hyeong-gee Kim, Changhoon Publisher: IEEE TRANSACTIONS."— Presentation transcript:

1 IP Address Lookup for Internet Routers Using Balanced Binary Search with Prefix Vector Author: Hyesook Lim, Hyeong-gee Kim, Changhoon Publisher: IEEE TRANSACTIONS ON COMMUNICATIONS 2009 Presenter: Chen-Yu Chang Date: 2009/4/22

2 Outline Introduction Proposed algorithm Performance

3 Introduction We propose an efficient binary search algorithm for IP address lookup in the Internet routers. We propose a perfectly balanced search algorithm based on the binary search tree. It provides excellent search performance and scalability toward large routing tables.

4 Outline Introduction Proposed algorithm Performance

5 Proposed algorithm(1/9) To construct a balanced binary search tree, we remove the prefix nesting relationship of nodes in the binary search tree and make each node hold a prefix vector containing the nesting information. Definition:  P l : Leaf prefixes of the binary trie. Ex : P 0, P 1, P 3, P 4 or P 7

6 Proposed algorithm(2/9) What is the prefix vector? Prefix vector is composed of n(P l ) elements : V = [v 1, v 2, …, v n(P l ) ], if S(P l, k) = P i for k = 1, …, n(P l ), v k = Y i where Y i is the output port. If there is no P i such that S(P l, k) = P i, v k is a null element and is represented as ø. Ex : The prefix vector of P 4 is [Y 2, ø, ø, Y 5, ø, Y 4 ]

7 Proposed algorithm(4/9) Building the routing table of the proposed algorithm has two steps :  First : A prefix vector is constructed for each leaf prefix of the binary trie.  Second : Leaf prefixes with a prefix vector are sorted in the ascending order and stored into a memory array.

8 Proposed algorithm(3/9) Since each leaf prefix is free from nesting, the restriction coming from the prefix nesting relationship in building the binary search tree is not applied. The number of entries in the proposed algorithm is smaller than the actual number of routing prefixes.

9 Proposed algorithm(5/9) Search algorithm  V(u) be the prefix vector of a node u.  P(u) be the leaf prefix stored at the node u.  K ∗ represent the best matching prefix length.  O ∗ represent the corresponding output port of the BMP.

10 Proposed algorithm(6/9) Ex : 1111100 K* : 0O* : defaultK* : 1O* : Y 2 K* : 5O* : Y 7 1110101 K* : 1O* : Y 2 K* : 3O* : Y 6

11 Proposed algorithm(7/9) Update  In inserting or deleting a prefix, we searching both the start point and the end point, we can narrow down the range affected by the change.  If the start and the end are the same, by examining one entry up or down, we can find out the longest prefix of a new entry or an obsolete entry, and hence we can handle the required prefix vector.

12 Proposed algorithm(8/9) Assume W=7  Ex : Insert 110* start : 1100000 end : 1101111  Ex : Insert 111110* start : 1111100 end : 1111101  Ex : Delete 1* start : 1000000 end : 1111111

13 Proposed algorithm(9/9) Search complexity : O(logN) Space complexity : O(WN) Update complexity : O(2 logN + α)  α is the number of linear searches for entries in the affected range.

14 Outline Introduction Proposed algorithm Performance and discussion

15 Performance(1/2) Table I shows that the proposed algorithm is effective for large routing tables and hence provides good scalability.

16 Performance(2/2)


Download ppt "IP Address Lookup for Internet Routers Using Balanced Binary Search with Prefix Vector Author: Hyesook Lim, Hyeong-gee Kim, Changhoon Publisher: IEEE TRANSACTIONS."

Similar presentations


Ads by Google