A Classified Multi-Suffix Trie for IP Lookup and Update Author: Sun-Yuan Hsieh, Ying-Chi Yang Publisher: IEEE TC Presenter: Jia-Wei Yo Date: 2011/10/12 1 Introduction • Propose a trie-based data structure called Classified MultiSuffix Trie (CMST) for designing dynamic router-tables. • Each node can store more than one prefix and can return the longest matching prefix immediately when it is found in some internal node. • Also propose a data structure called the Partitioning Classified Multi-Suffix Trie (PCMST) to reduce the height of a trie and expedite router-table operations. • Two proposed data structures can be applied to both IPv4 and IPv6 routing databases. 2 *Prefix tree Insert : 1* 3 Prefix tree deletion operation 4 CMST • A k-stride Classified Multi-Suffix Trie (k-CMST) contains two types of nodes, a major node (m-node) and a secondary node (s-node) • An m-node that has children is called an internal m-node, and an m-node without children is called an external m-node. • An m-node whose stride is k has 2𝑘 children corresponding to the 2𝑘 possible values for the k used bits. 5 1. 𝑆𝑖 (𝒱): can be ε or a suffix, such that if 𝑆𝑖 (v) ≠ ε, then len(𝑆𝑖 (v)) > k. Port(𝑆𝑖 (𝑣)) output port of 𝑆𝑖 𝑣 . 𝑆𝑖 (v) = ε, Port(𝑆𝑖 (𝑣)) = -1. 2. 𝑝𝑜𝑟𝑡𝑖 𝑣 : store output port with the length of suffix is equal to k. Otherwise , let 𝑝𝑜𝑟𝑡𝑖 𝑣 = −1. 3. 𝑡(𝒱): 0 ≤ t(v) ≤ 2𝑘 is the number of suffixes stored in v. 4. c(𝒱): 0 ≤ c(v) ≤ 2𝑘 is the number of 𝑝𝑜𝑟𝑡𝑖 (v)s with 𝑝𝑜𝑟𝑡𝑖 (v) ≠ −1. 5. s_pointer(𝒱): a pointer that points to a prefix tree PT comprised of s-nodes. which are used to store some suffixes q with 1 ≤ len(q) < k 6 CMST Insert Insert : ( 00100* , Q ) 7 CMST Insert Insert : ( 0011* , R ) 8 CMST Insert Insert : ( 0010011* , S ) 9 CMST Insert Insert : ( 001101* , T ) 10 CMST Insert Insert : ( 001101* , T ) => Insert : ( 111* , I ) 11 CMST Lookup Search : 00100011* Port : B Default port O A 12 CMST Delete Delete : 0010010* 13 Delete PCMST 14 Set 𝛽 as the length of the shortest prefix in the given router table. => Avoid duplicate storage of the same prefix in k-PCMST K-CMST & K-PCMST 15 Experimental Result 16 17