240 likes | 376 Views
SCALAR PREFIX SEARCH: A NEW ROUTE LOOKUP ALGORITHM FOR NEXT GENERATION INTERNET. Author: Mohammad Behdadfar, Hossein Saidi, Hamid Alaei and Babak Samari Publisher/Conf .: INFOCOM 2009. The 28th Conference on Computer Communications. IEEE Speaker: Han-Jhen Guo Date: 2009.06.17. OUTLINE.
E N D
SCALAR PREFIX SEARCH: A NEW ROUTE LOOKUP ALGORITHM FOR NEXT GENERATION INTERNET Author: Mohammad Behdadfar, Hossein Saidi, Hamid Alaei and Babak Samari Publisher/Conf.: INFOCOM 2009. The 28th Conference on Computer Communications. IEEE Speaker: Han-Jhen Guo Date: 2009.06.17
OUTLINE • Introduction • Related Work • Proposed scheme • Scalar Prefix Search Binary Search Tree (SP-BST) • Scalar Prefix Search B-Tree (SP-BT) • Scalar Prefix Search B-Tree Enhance (SP-BTe) • Performance
RELATED WORK • Comparison of Scalar Prefixes • eg. P2 = 010*, P3 = 011* • 010 < 011 → P2 < P3 • eg. P1 = 01*, P2 = 010* • 01 = 01, len(P1) < len(P2)→ P1 < P2
PROPOSED SCHEME • prefix → scalar prefix (match vector, key) • eg.(len. of IP addr.= 4) • 01*→ (0100, 0100) • (cont.) 010*→ (0110, 0100) 01* 0100, 0100 0110, 0100 010*
PROPOSED SCHEME- SCALAR PREFIX SEARCH BINARY SEARCH TREE (SP-BST) • Insertion (Creation) • eg. (len. of IP addr.= 4) ins. P1 = 0* 0* 1000, 0000
PROPOSED SCHEME- SCALAR PREFIX SEARCH BINARY SEARCH TREE (SP-BST) • Insertion (Creation) • eg. (cont.) ins. P2 = 01* 0* 0*, 01* 1000, 0000 1100, 0100 01* covers P2
PROPOSED SCHEME- SCALAR PREFIX SEARCH BINARY SEARCH TREE (SP-BST) • Insertion (Creation) • eg. (cont.) ins. P3 = 000* 0*, 01* 1100, 0100 01* and P3are disjoint P3 < 01*→ left 000* 0010, 0000
PROPOSED SCHEME- SCALAR PREFIX SEARCH BINARY SEARCH TREE (SP-BST) • Insertion (Creation) • eg. (cont.) ins. P4 = 001* 0*, 01* 1100, 0100 01* and P4are disjoint P4 < 01*→ left 000* 0010, 0000 000* and P4are disjoint P4 > 000*→ right 001* 0010, 0010
PROPOSED SCHEME- SCALAR PREFIX SEARCH BINARY SEARCH TREE (SP-BST) • Deletion • eg. (len. of IP addr.= 4) del. P = 00* 1100, 0100 01* and Pare disjoint P < 01*→ left 000* covers P key ≠ key(P) 0110, 0000 0010, 0000 0100, 1000 0010, 0010
PROPOSED SCHEME- SCALAR PREFIX SEARCH BINARY SEARCH TREE (SP-BST) • Deletion • eg. (cont.) del. P = 000* 1100, 0100 01* and Pare disjoint P < 01*→ left key = key(P) ONLY 1 prefix in this node 0010, 0000 0100, 1000 0010, 0010 do deletion of BST
PROPOSED SCHEME- SCALAR PREFIX SEARCH BINARY SEARCH TREE (SP-BST) • Deletion • eg. (len. of IP addr.= 4) del. P = 001* 0100, 1000 01* and Pare disjoint P < 01*→ left key = key(P) NOT only 1 prefix in this node 1000, 0000 1000, 0000 1010, 0010 1000, 0000 0000, 0000 0100, 1100 0110, 0110 0010, 0110 0110, 0110 0110, 0110 1010, 0100 1010, 0100 0010, 0100 0010, 0100 1110, 0100 successor (predecessor) may be pulled up after update the m.v. with the colored node of the path
PROPOSED SCHEME- SCALAR PREFIX SEARCH BINARY SEARCH TREE (SP-BST) • Conclusion • the average search time would be reduced • the average height of the tree is reduced • the average storage requirement would be reduced • prefixes are stored in one key and also this tree doesn’t need to store both of the prefix end points
PROPOSED SCHEME- SCALAR PREFIX SEARCH B-TREE (SP-BT) • Decrease the worst case memory access time of SP-BST • worst case memory access for lookup and update procedures = O(log n) • Definition of SP-BT • key of B-tree are in the form of pair of (match vector, key)
PROPOSED SCHEME- SCALAR PREFIX SEARCH B-TREE (SP-BT) • Split in case of insertion • eg. ins. P = 10110 C may be updated by A, B and X 10011 100* (A) 1001* (B) 1* (X) 0000* 111* 1* 1000* 100* 10010 1001* 10011 10101 10111
PROPOSED SCHEME- SCALAR PREFIX SEARCH B-TREE (SP-BT) • Borrow in case of deletion D may be updated by B and C X, Y and Z may be updated by B
PROPOSED SCHEME- SCALAR PREFIX SEARCH B-TREE (SP-BT) • Merge in case of deletion C may be updated by B Y and Z may be updated by B
PROPOSED SCHEME- SCALAR PREFIX SEARCH B-TREE ENHANCE (SP-BTE) • Difference between SP-BT and SP-BTe
PERFORMANCE • Implemented with three types of balanced trees: B-tree, RB-tree and AVL-tree • The B-Tree degree = 14 and 8 • Databases • R100 and R500 • 2 random databases of 100000 and 500000 prefixes respectively with the current prefix lengths distribution of IPv4 prefixes • AS4637 and AS1221 • 2 BGP tables, 139519 prefixes and 191566 prefixes respectively
PERFORMANCE • Search time
PERFORMANCE • Update time
PERFORMANCE • Memory consumption
PERFORMANCE • The results of applying a random database with 50% disjoint prefixes
Thanks for your listening!