Download presentation
Presentation is loading. Please wait.
1
Scalable IPv6 Lookup/Update Design for High-Throughput Routers Authors: Chung-Ho Chen, Chao-Hsien Hsu, Chen -Chieh Wang Presenter: Yi-Sheng, Lin ( 林意勝 ) Date: Nov. 29, 2007 Publisher/Conf. : Journal of Internet Technology, 2007 Dept. of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C.
2
Outline 1. Introduction 2. Longest Prefix Matching with Parallel Memory Lookup 3. Lookup Table Initialization and Update 4. System Implementation 5. Simulation System and Results 6. Conclusion
3
Introduction First, we propose the use of a parallel CRC technique to reduce table sizes. Second, the arrangement of the parallel tables in the hierarchy reduces the number of memory accesses More importantly, we present the scalable pipeline design which is not previously unveiled.
4
Longest Prefix Matching with Parallel Memory Lookup
5
The first-level table is the TLA-table (TLAT) which has 2 13 entries storing all the possible route prefixes Second-level tables are used for the different ranges of prefix length. 1. SLT40 : stores the prefixes of length that is greater than 24 bits and up to 40 bits. 2. SLT48, and SLT56 : store all the route prefixes that are equal to 48 bits and 56 bits respectively. Third-level table (TLT) stores the rest of the route prefixes ( x : prefix length, 40<x<48, 48<x<56, and 56<x<64) The reason : put the most likely prefix distributions in the second-level tables for parallel accesses.
6
Longest Prefix Matching with Parallel Memory Lookup
7
Suppose that a prefix P is to be inserted : 1. If P ‘s prefix length < 24 Output port is stored in the TLAT table, Otherwise, store base address for accessing the second level. 2. If 24< P’s prefix length <=40 Prefix length in this range is allocated 2 40− prefix _ length entries in the SLT40 table. 3. If 40< P’s prefix length <48 2 48− prefix _ length entries in the TLT. 4. If 48< P’s prefix length <56 2 56− prefix _ length entries in the TLT 5. If 56< P’s prefix length <64 2 64− prefix _ length entries in the TLT 6. Else stores in SLT 48 or SLT 56. Example,20:01:00:13/32 is allocated 256 entries (2 40-32 ) in SLT40, ranging from 01:13:00 to 01:13:FF
8
Lookup Table Initialization and Update Constructing the linked-list data structure that is used to initialize and update the lookup tables when a route change occurs. Each node in the linked-list has four items: prefix64, length, limit, and hop. Example : prefix Y is 20:12:00:01:E4:5F:70/52 1. prefix64 : 20:12:00:01:E4:5F:70:00 (padding 0 to 64 bits.) 2. length : simply the prefix length. 3. Limit : the number of entries to be allocated (in this case 2 56 - 52 entries in TLT) 4. Hop : output port.
9
Lookup Table Initialization and Update
12
System Implementation
14
The address queue is a circular queue which buffers lookup requests in case of stalling due to the on-going update process. Each queue entry has three fields : 1. the status 2. incoming destination address 3. the output result The status field : clear, wait, finish, block.
15
Simulation System and Results
16
Simulation System and Results Number of Memory Accesses in Multi-Cycle Architecture
17
Simulation System and Results Memory Requirement
18
Simulation System and Results Pipeline Throughput
19
Conclusion The multi-cycle implementation requires only an average of 1.6 memory accesses for each lookup request. Performance simulation shows that the number of queue entries significant affects the lookup throughput when frequent table updates happen.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.