Ip address lookup Bit Shuffle Trie

74
International Islamic University IP Address Lookup using Bit-Shuffled Trie Supervisor Prof. Dr. Muhammad Sher Candidate Sunawar Khan December 29, 2015

Transcript of Ip address lookup Bit Shuffle Trie

International Islamic University

IP Address Lookup using Bit-Shuffled Trie

Supervisor

Prof. Dr. Muhammad Sher

Candidate

Sunawar Khan

December 29, 2015

Outline

1. About the Paper1.1 What this Paper Tells1.2 When and Where

2. Abstract3. Introduction4. Motivation5. Proposed Method6. Multibit-trie to Bit Shuffled-trie7. Algorithmic Approach for Ip Lookup

7.1 Trie-Based Approach7.2 The Range Search Approach7.3 Hashing Based Approach

8. Bit Shuffled Trie9. Performance Evolution

9.1 Hardware Implementation Detail9.2 Implementing Updates to the routing tables

10. Extension to IPv611. Conclusion 2 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

This Paper Studies About

• It tells that the size of IPv4 table is increased, the density of the21 to 24 bits prefixes will become higher.

• Reason: More prefixes encoded in a ST-Vector.

• Solution: A new elegant pipelined architecture for IPv4 and IPv6is presented.Two new method presented namely◦ the bit shuffled trie structure◦ Bit vector processing to facilitate the matching of variable-length

prefixes.

3 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

This Paper Studies About

• It tells that the size of IPv4 table is increased, the density of the21 to 24 bits prefixes will become higher.

• Reason: More prefixes encoded in a ST-Vector.

• Solution: A new elegant pipelined architecture for IPv4 and IPv6is presented.Two new method presented namely◦ the bit shuffled trie structure◦ Bit vector processing to facilitate the matching of variable-length

prefixes.

3 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

This Paper Studies About

• It tells that the size of IPv4 table is increased, the density of the21 to 24 bits prefixes will become higher.

• Reason: More prefixes encoded in a ST-Vector.

• Solution: A new elegant pipelined architecture for IPv4 and IPv6is presented.Two new method presented namely◦ the bit shuffled trie structure◦ Bit vector processing to facilitate the matching of variable-length

prefixes.

3 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

The Paper

• Title: IP address lookup using bit-shuffled trie• Type: Study of IP address efficient memory management.

◦ Computer Communication◦ http://www.sciencedirect.com/science/article/pii/S014036641400142X/

• Authors:◦ Derek Pao◦ Ziyan Lu◦ Yat Hang Poon

• From: Electronic Engineering Department, City University of Hong Kong, Hong Kong

• Year: 2014• Volume: 47• Cited By:3

4 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Abstract

• An algorithmic RAM-based IP address lookup method calledbit-shuffled trie is presented.

• It Is very superior method for memory efficiency using pipelinedarchitecture.

• For memory efficiency purpose, the proposed method allow us toimplement the IP Address lookup engine for both IPv4 and IPv6on a single FPGA device.

• 8 operation required to process an insertion or deletion.

• Incremental updates to the routing table can handled efficiently.

5 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Abstract

• An algorithmic RAM-based IP address lookup method calledbit-shuffled trie is presented.

• It Is very superior method for memory efficiency using pipelinedarchitecture.

• For memory efficiency purpose, the proposed method allow us toimplement the IP Address lookup engine for both IPv4 and IPv6on a single FPGA device.

• 8 operation required to process an insertion or deletion.

• Incremental updates to the routing table can handled efficiently.

5 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Abstract

• An algorithmic RAM-based IP address lookup method calledbit-shuffled trie is presented.

• It Is very superior method for memory efficiency using pipelinedarchitecture.

• For memory efficiency purpose, the proposed method allow us toimplement the IP Address lookup engine for both IPv4 and IPv6on a single FPGA device.

• 8 operation required to process an insertion or deletion.

• Incremental updates to the routing table can handled efficiently.

5 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Abstract

• An algorithmic RAM-based IP address lookup method calledbit-shuffled trie is presented.

• It Is very superior method for memory efficiency using pipelinedarchitecture.

• For memory efficiency purpose, the proposed method allow us toimplement the IP Address lookup engine for both IPv4 and IPv6on a single FPGA device.

• 8 operation required to process an insertion or deletion.

• Incremental updates to the routing table can handled efficiently.

5 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Abstract

• An algorithmic RAM-based IP address lookup method calledbit-shuffled trie is presented.

• It Is very superior method for memory efficiency using pipelinedarchitecture.

• For memory efficiency purpose, the proposed method allow us toimplement the IP Address lookup engine for both IPv4 and IPv6on a single FPGA device.

• 8 operation required to process an insertion or deletion.

• Incremental updates to the routing table can handled efficiently.

5 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Introduction

Internet growth is rapidly increasing in term of users andcommunication line speed.• Routing table in routers can have half a million IPv4 prefixes.

• To support 100Gbps line speed, the IP address lookup engineneeds to perform 300 million lookup per second(MLPS).

• Ternary Content Addressable Memory(TCAM) had been apopular candidate for implement look up table.

• Industry and academia are eager to research on more cost-effectivealgorithmic RAM-based IP address lookup methods.◦ The IBM Power Edge network processor is equipped with on-chip

hardware accelerator to support wire-speed IP address lookup andpacket classification.

6 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Introduction

Internet growth is rapidly increasing in term of users andcommunication line speed.• Routing table in routers can have half a million IPv4 prefixes.• To support 100Gbps line speed, the IP address lookup engine

needs to perform 300 million lookup per second(MLPS).

• Ternary Content Addressable Memory(TCAM) had been apopular candidate for implement look up table.

• Industry and academia are eager to research on more cost-effectivealgorithmic RAM-based IP address lookup methods.◦ The IBM Power Edge network processor is equipped with on-chip

hardware accelerator to support wire-speed IP address lookup andpacket classification.

6 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Introduction

Internet growth is rapidly increasing in term of users andcommunication line speed.• Routing table in routers can have half a million IPv4 prefixes.• To support 100Gbps line speed, the IP address lookup engine

needs to perform 300 million lookup per second(MLPS).• Ternary Content Addressable Memory(TCAM) had been a

popular candidate for implement look up table.

• Industry and academia are eager to research on more cost-effectivealgorithmic RAM-based IP address lookup methods.◦ The IBM Power Edge network processor is equipped with on-chip

hardware accelerator to support wire-speed IP address lookup andpacket classification.

6 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Introduction

Internet growth is rapidly increasing in term of users andcommunication line speed.• Routing table in routers can have half a million IPv4 prefixes.• To support 100Gbps line speed, the IP address lookup engine

needs to perform 300 million lookup per second(MLPS).• Ternary Content Addressable Memory(TCAM) had been a

popular candidate for implement look up table.• Industry and academia are eager to research on more cost-effective

algorithmic RAM-based IP address lookup methods.◦ The IBM Power Edge network processor is equipped with on-chip

hardware accelerator to support wire-speed IP address lookup andpacket classification.

6 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

New Presented Method

In this paper new presented method

• A new IP address method is called bit-shuffled-trie.

• For this purpose use FGPA device and achieve throughput of350MLPS.

• On average, about 8 memory writes are required to perform aninsertion deletion to the routing table.

7 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

New Presented Method

In this paper new presented method

• A new IP address method is called bit-shuffled-trie.

• For this purpose use FGPA device and achieve throughput of350MLPS.

• On average, about 8 memory writes are required to perform aninsertion deletion to the routing table.

7 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

New Presented Method

In this paper new presented method

• A new IP address method is called bit-shuffled-trie.

• For this purpose use FGPA device and achieve throughput of350MLPS.

• On average, about 8 memory writes are required to perform aninsertion deletion to the routing table.

7 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Introduction-Motivation

• System traverse the binary-trie to the packet destination IPaddress to IP lookup problem.

• Multiple bits are processed in a step called stride width.

• RAM based lookup engine is consisted of 2 index tables in thebasic configuration.◦ First level table has 1024 entries.◦ Second level table contains multiple 256-entry blocks.

• Reason for high memory cost.

• How memory cost reduced.

8 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Introduction-Motivation

• System traverse the binary-trie to the packet destination IPaddress to IP lookup problem.

• Multiple bits are processed in a step called stride width.

• RAM based lookup engine is consisted of 2 index tables in thebasic configuration.◦ First level table has 1024 entries.◦ Second level table contains multiple 256-entry blocks.

• Reason for high memory cost.

• How memory cost reduced.

8 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Introduction-Motivation

• System traverse the binary-trie to the packet destination IPaddress to IP lookup problem.

• Multiple bits are processed in a step called stride width.

• RAM based lookup engine is consisted of 2 index tables in thebasic configuration.

◦ First level table has 1024 entries.◦ Second level table contains multiple 256-entry blocks.

• Reason for high memory cost.

• How memory cost reduced.

8 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Introduction-Motivation

• System traverse the binary-trie to the packet destination IPaddress to IP lookup problem.

• Multiple bits are processed in a step called stride width.

• RAM based lookup engine is consisted of 2 index tables in thebasic configuration.◦ First level table has 1024 entries.◦ Second level table contains multiple 256-entry blocks.

• Reason for high memory cost.

• How memory cost reduced.

8 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Introduction-Motivation

• System traverse the binary-trie to the packet destination IPaddress to IP lookup problem.

• Multiple bits are processed in a step called stride width.

• RAM based lookup engine is consisted of 2 index tables in thebasic configuration.◦ First level table has 1024 entries.◦ Second level table contains multiple 256-entry blocks.

• Reason for high memory cost.

• How memory cost reduced.

8 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Introduction-Motivation

• Result from above discussion◦ First:

• Advantage:Speed and simplicity.• Disadvantage:Memory efficiency.

◦ Second:

• Memory efficiency of the bit-map approach can be further improved.

9 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Proposed Method

• In our method, we try to minimize the memory cost of the IPaddress lookup engine by the following strategies.

◦ Prefixes in the routing table are divided into 6 groups based on theprefix length.

◦ All the prefixes in a group have a minimum length of Lmin bits. Theleading Lmin bits of the prefixes are called the fixed-length portion,and the remaining Lmax - Lmin bits are called the extension bits.

• A memory efficient search engine based on novel concept calledbit-shuffled trie.

◦ We shall exploit the parallelism offered by hardware implementation.

• Separate hardware pipeline are used to search the 6 group of prefixesin parallel.

10 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Proposed Method

• In our method, we try to minimize the memory cost of the IPaddress lookup engine by the following strategies.◦ Prefixes in the routing table are divided into 6 groups based on the

prefix length.

◦ All the prefixes in a group have a minimum length of Lmin bits. Theleading Lmin bits of the prefixes are called the fixed-length portion,and the remaining Lmax - Lmin bits are called the extension bits.

• A memory efficient search engine based on novel concept calledbit-shuffled trie.

◦ We shall exploit the parallelism offered by hardware implementation.

• Separate hardware pipeline are used to search the 6 group of prefixesin parallel.

10 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Proposed Method

• In our method, we try to minimize the memory cost of the IPaddress lookup engine by the following strategies.◦ Prefixes in the routing table are divided into 6 groups based on the

prefix length.◦ All the prefixes in a group have a minimum length of Lmin bits. The

leading Lmin bits of the prefixes are called the fixed-length portion,and the remaining Lmax - Lmin bits are called the extension bits.

• A memory efficient search engine based on novel concept calledbit-shuffled trie.

◦ We shall exploit the parallelism offered by hardware implementation.

• Separate hardware pipeline are used to search the 6 group of prefixesin parallel.

10 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Proposed Method

• In our method, we try to minimize the memory cost of the IPaddress lookup engine by the following strategies.◦ Prefixes in the routing table are divided into 6 groups based on the

prefix length.◦ All the prefixes in a group have a minimum length of Lmin bits. The

leading Lmin bits of the prefixes are called the fixed-length portion,and the remaining Lmax - Lmin bits are called the extension bits.

• A memory efficient search engine based on novel concept calledbit-shuffled trie.

◦ We shall exploit the parallelism offered by hardware implementation.

• Separate hardware pipeline are used to search the 6 group of prefixesin parallel.

10 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

An Examples

• Table 1 Shows that Consider a group of 5-bit prefixes.

Prefix Original Value Bit-shuffle Value

A 00001 00100B 00010 01000C 01000 00010D 01011 01110E 10011 11100F 10100 10001G 10110 11001H 11001 10110

Table: Sample Set of Prefixes11 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Multibit-trie to Bit Shuffled-trie

1. Conventional multibit-trie, bits of the input address areprocessed from left to right.In bit-shuffled trie, bits of the input address can be processed insome other order.

2. Conventional multibit-trie, bits are processed in a given levelIn bit-shuffled trie,different subsets are processed in a given leveldepending on the search path.

3. Conventional multibit-trie, Expansion is required.Inbit-shuffled trie, bit-map approach use to handle the variation inprefix length.

12 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Multibit-trie to Bit Shuffled-trie

1. Conventional multibit-trie, bits of the input address areprocessed from left to right.In bit-shuffled trie, bits of the input address can be processed insome other order.

2. Conventional multibit-trie, bits are processed in a given levelIn bit-shuffled trie,different subsets are processed in a given leveldepending on the search path.

3. Conventional multibit-trie, Expansion is required.Inbit-shuffled trie, bit-map approach use to handle the variation inprefix length.

12 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Multibit-trie to Bit Shuffled-trie

1. Conventional multibit-trie, bits of the input address areprocessed from left to right.In bit-shuffled trie, bits of the input address can be processed insome other order.

2. Conventional multibit-trie, bits are processed in a given levelIn bit-shuffled trie,different subsets are processed in a given leveldepending on the search path.

3. Conventional multibit-trie, Expansion is required.Inbit-shuffled trie, bit-map approach use to handle the variation inprefix length.

12 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Algorithmic Approach - Related Work

In this section we review three algorithmic approaches for Ip lookup.

• Trie-Based Approach.

• The Range Search Approach.

• Hashing Based Approach◦ Iplookup is essentially a table lookup operation where routing table

size in the order of half million entries.◦ Mainly we focus on memory cost of the reviewed methods.

13 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Algorithmic Approach - Related Work

In this section we review three algorithmic approaches for Ip lookup.

• Trie-Based Approach.

• The Range Search Approach.

• Hashing Based Approach◦ Iplookup is essentially a table lookup operation where routing table

size in the order of half million entries.◦ Mainly we focus on memory cost of the reviewed methods.

13 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Algorithmic Approach - Related Work

In this section we review three algorithmic approaches for Ip lookup.

• Trie-Based Approach.

• The Range Search Approach.

• Hashing Based Approach◦ Iplookup is essentially a table lookup operation where routing table

size in the order of half million entries.◦ Mainly we focus on memory cost of the reviewed methods.

13 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Bit Shuffled Trie-Table Used

Prefix Length No of Prefixes Percentage(%)

8-12 Bits 313 0.18-12 Bits 13324 4.28-12 Bits 55153 17.28-12 Bits 246971 76.918-12 Bits 3544 1.18-12 Bits 1784 0.6

Total 321089 100

Table: Grouping Prefixes By Length-Table-1

Data Extract dated 2010-03-1914 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Bit Shuffled Trie-Table Used

Prefix Length No of Prefixes Percentage(%)

8-12 Bits 373 0.18-12 Bits 15089 3.28-12 Bits 7217 15.38-12 Bits 382889 80.78-12 Bits 2641 0.68-12 Bits 744 0.2

Total 474452 100

Table: Grouping Prefixes By Length-Table-2

Data Extract dated 2014-01-0115 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Bit Shuffled Trie

Figure: Over all structure of the IP Lookup engine

16 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Bit Shuffled Trie

1. Bit-shuffle and bit-extract circuits, and the subtree processingmodule.

2. Dimensioning of lookup tables and selection of bits.

3. Block overlaying and block compaction.

17 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Bit Shuffled Trie

1. Bit-shuffle and bit-extract circuits, and the subtree processingmodule.

2. Dimensioning of lookup tables and selection of bits.

3. Block overlaying and block compaction.

17 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Bit Shuffled Trie

1. Bit-shuffle and bit-extract circuits, and the subtree processingmodule.

2. Dimensioning of lookup tables and selection of bits.

3. Block overlaying and block compaction.

17 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Bit Shuffled Trie

1. Bit-shuffle and bit-extract circuits, and the subtree processingmodule.

2. Dimensioning of lookup tables and selection of bits.

3. Block overlaying and block compaction.

17 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Bit Shuffled Trie-BitShuffle And Bit Extract

In this section we shall discuss the implementations of the two basicoperations, bit-shuffle and bit-extract. Bit-shuffle and bit-extractcircuits, and the subtree processing module

Data Bits d7 d6 d5 d4 d3 d2 d1 d0

Mask-Vector 0 1 0 1 0 0 1 0Outputs of bit-extract circuit 0 0 0 0 0 d6 d4 d1

Outputs of bit-shuffle circuit d7 d5 d3 d2 d0 d6 d4 d1

Table: An 8-bit example to illustrate the bit-shuffle and bit-extract operations

18 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Bit Shuffled Trie-Dimensioning and Selection of Bits

• Dimensioning of lookup tables and selection of bits.◦ The bit selection algorithm will select the bit with the highest

non-zero cost.In the event that all the bit positions have zero cost, i.e. allsubgroups have at most 1 key.The bit selection algorithm will then select the least significant(rightmost) bit out of the remaining bits.

• Pseudo Code Available

19 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Bit Shuffled Trie-Block Compaction and overlaying

• Block overlaying and block compaction.The bit-shuffling and indexing operations effectively divide thegroup of prefixes into subsets, where each subset has a smallnumber of items.

Address(hex) ps-bit Item(group)80 1 d,001000(G1)81 1 a,000001(G1)82 1 b,000010(G1)83 0 empty slot84 1 c,000100(G1)85 1 e,000101(G1)86 0 x,101010(G2)87 0 y,001101(G1)

Table: Overlaying of secondary groups and Selected bits

20 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Performance Evaluation

• Hardware Implementation Detail.

• Implementing Updates to the routing tables

21 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Performance Evaluation

• Hardware Implementation Detail.

• Implementing Updates to the routing tables

21 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Performance Evaluation

• Hardware Implementation Detail.

• Implementing Updates to the routing tables

21 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Hardware Implementation Detail.

• We evaluate the memory cost of the proposed method

Length-Group T1(mask/index) T2(bv + mask + base) T3(ps + residue prefix + base)

8-12 bits n/a n/a 512 * (0+0+15+19)13-16 bits 256×5 2K×(8+2+12) 4K × (0+2+15+19)17-20bits 1K×7 8K×(8+4+5) 24K × (1+4+15+19)21-24 bits 4K×9 32K×(8+6+17) 148K × (1+6+15+19)25-28 bits 128×(3+4+4) 1K×(8+15+12) 4K × (1+15+15+19)29-32 bits 256×(3+4+4) 2K×(8+18+11) 2K × (1+18+15+19)

Table: Memory usages of the 6 length-groups.

22 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Hardware Implementation Detail.

• A comparison of the memory cost of some selected methods

Method No. of Prefixes Bytes/prefix Next-hop DataChang 163.5K 8.7 to 9.4 8-bit/prefixChang 301K 4.7 8-bit/prefixHsieh 220K,to 296K 15 8-bit/prefixSong 250K 22 8-bit/prefixLe 41 K to 155K 15 8-bit/prefixBando 279K 4 to 5.2 8-bit/prefixSourdis 270K 3 not includedSun 18K,to 161K 2.6 to 3 not includedBit-Shuffled Trie 474K 2.4 not included

3.05 8-bit/prefix

Table: Comparison of memory cost with some recent methods.

23 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Hardware Implementation Detail.

Making speed comparison with other methods is more difficult. Theactual processing speed depends on four factors:

• The fabrication technology used.

• The memory model, i.e. ssingle-port vs. dual-port memory.

• The routing table size.

• Whether the hardware needs to access external RAM (other thanreading the next-hop data after the longest matching prefix hasbeen found) during the lookup operation.

24 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Hardware Implementation Detail.

Making speed comparison with other methods is more difficult. Theactual processing speed depends on four factors:

• The fabrication technology used.

• The memory model, i.e. ssingle-port vs. dual-port memory.

• The routing table size.

• Whether the hardware needs to access external RAM (other thanreading the next-hop data after the longest matching prefix hasbeen found) during the lookup operation.

24 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Hardware Implementation Detail.

Making speed comparison with other methods is more difficult. Theactual processing speed depends on four factors:

• The fabrication technology used.

• The memory model, i.e. ssingle-port vs. dual-port memory.

• The routing table size.

• Whether the hardware needs to access external RAM (other thanreading the next-hop data after the longest matching prefix hasbeen found) during the lookup operation.

24 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Hardware Implementation Detail.

Making speed comparison with other methods is more difficult. Theactual processing speed depends on four factors:

• The fabrication technology used.

• The memory model, i.e. ssingle-port vs. dual-port memory.

• The routing table size.

• Whether the hardware needs to access external RAM (other thanreading the next-hop data after the longest matching prefix hasbeen found) during the lookup operation.

24 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Hardware Implementation Detail.

In this study, we rely on performance data obtainable from previouspublications.• Speed of is higher because it implemented on ASIC instead of

FPGA.

• Processing logic required in the basic binary-trie method issimpler.

Method Lookup(MLPS) Implementation Platform Remarks

Chang 167 to 200 Virtex-5Single-port RAMRequire access to externel RAM

Chang 377.5 Virtex-6 Single-port RAMLe 325 Virtex-4 Dual-port RAMJiang 250 Virtex-II Single-port RAM

Bando 200 Virtex-4Single-port RAMRequire access to externel RAM

Sourdis 500 to 700 90 nm ASIC Single-port RAMBit-Shuffled 175 Virtex-5 Single-port RAMTrie 350 Virtex-5 Dual-port RAM

Table: Comparison of operating speed with some recent methods.

25 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Hardware Implementation Detail.

In this study, we rely on performance data obtainable from previouspublications.• Speed of is higher because it implemented on ASIC instead of

FPGA.• Processing logic required in the basic binary-trie method is

simpler.

Method Lookup(MLPS) Implementation Platform Remarks

Chang 167 to 200 Virtex-5Single-port RAMRequire access to externel RAM

Chang 377.5 Virtex-6 Single-port RAMLe 325 Virtex-4 Dual-port RAMJiang 250 Virtex-II Single-port RAM

Bando 200 Virtex-4Single-port RAMRequire access to externel RAM

Sourdis 500 to 700 90 nm ASIC Single-port RAMBit-Shuffled 175 Virtex-5 Single-port RAMTrie 350 Virtex-5 Dual-port RAM

Table: Comparison of operating speed with some recent methods.

25 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Hardware Implementation Detail.

In this study, we rely on performance data obtainable from previouspublications.• Speed of is higher because it implemented on ASIC instead of

FPGA.• Processing logic required in the basic binary-trie method is

simpler.

Method Lookup(MLPS) Implementation Platform Remarks

Chang 167 to 200 Virtex-5Single-port RAMRequire access to externel RAM

Chang 377.5 Virtex-6 Single-port RAMLe 325 Virtex-4 Dual-port RAMJiang 250 Virtex-II Single-port RAM

Bando 200 Virtex-4Single-port RAMRequire access to externel RAM

Sourdis 500 to 700 90 nm ASIC Single-port RAMBit-Shuffled 175 Virtex-5 Single-port RAMTrie 350 Virtex-5 Dual-port RAM

Table: Comparison of operating speed with some recent methods.25 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Incremental updates to the routing table

In this section we study dynamic updates to the bit-shuffled trie.There can be three types of updates to the routing table,

• Modification of the next-hop value associated with a prefix.

• Insertion of a new prefix.

• Deletion of an existing prefix.

In this study, we shall mainly consider insertions and deletions.

26 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Incremental updates to the routing table

In this section we study dynamic updates to the bit-shuffled trie.There can be three types of updates to the routing table,

• Modification of the next-hop value associated with a prefix.

• Insertion of a new prefix.

• Deletion of an existing prefix.

In this study, we shall mainly consider insertions and deletions.

26 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Incremental updates to the routing table

In this section we study dynamic updates to the bit-shuffled trie.There can be three types of updates to the routing table,

• Modification of the next-hop value associated with a prefix.

• Insertion of a new prefix.

• Deletion of an existing prefix.

In this study, we shall mainly consider insertions and deletions.

26 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Incremental updates to the routing table

In this section we study dynamic updates to the bit-shuffled trie.There can be three types of updates to the routing table,

• Modification of the next-hop value associated with a prefix.

• Insertion of a new prefix.

• Deletion of an existing prefix.

In this study, we shall mainly consider insertions and deletions.

26 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Extension to IPv6 lookup

The 128-bit IPv6 address is logically divided into 2 parts

• The leading 64 bits correspond to the network address.

• The remaining 64 bits correspond to the host ID.In principle we can divide the prefixes into 12 length-groups whereeach length-group covers a range of 4 bits as in the case for IPv4

Output Signals Meaningsm0 if the first phase pipeline finds a matching prefix, m0 is set to 1;otherwise m0 is set to 0A0 if m0 = 1, then the corresponding next-hop data is found at NH[A0]cmd addr a reference address for accessing the command table of the second phase processing unitcmd vec a 4-bit vector representing which of the 4 s phase pipelines need to be searched

Table: Output signals of the first phase processing pipeline.

27 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Extension to IPv6 lookup

The 128-bit IPv6 address is logically divided into 2 parts

• The leading 64 bits correspond to the network address.

• The remaining 64 bits correspond to the host ID.In principle we can divide the prefixes into 12 length-groups whereeach length-group covers a range of 4 bits as in the case for IPv4

Output Signals Meaningsm0 if the first phase pipeline finds a matching prefix, m0 is set to 1;otherwise m0 is set to 0A0 if m0 = 1, then the corresponding next-hop data is found at NH[A0]cmd addr a reference address for accessing the command table of the second phase processing unitcmd vec a 4-bit vector representing which of the 4 s phase pipelines need to be searched

Table: Output signals of the first phase processing pipeline.

27 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Extension to IPv6 lookup

The 128-bit IPv6 address is logically divided into 2 parts

• The leading 64 bits correspond to the network address.

• The remaining 64 bits correspond to the host ID.

In principle we can divide the prefixes into 12 length-groups whereeach length-group covers a range of 4 bits as in the case for IPv4

Output Signals Meaningsm0 if the first phase pipeline finds a matching prefix, m0 is set to 1;otherwise m0 is set to 0A0 if m0 = 1, then the corresponding next-hop data is found at NH[A0]cmd addr a reference address for accessing the command table of the second phase processing unitcmd vec a 4-bit vector representing which of the 4 s phase pipelines need to be searched

Table: Output signals of the first phase processing pipeline.

27 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Extension to IPv6 lookup

The 128-bit IPv6 address is logically divided into 2 parts

• The leading 64 bits correspond to the network address.

• The remaining 64 bits correspond to the host ID.In principle we can divide the prefixes into 12 length-groups whereeach length-group covers a range of 4 bits as in the case for IPv4

Output Signals Meaningsm0 if the first phase pipeline finds a matching prefix, m0 is set to 1;otherwise m0 is set to 0A0 if m0 = 1, then the corresponding next-hop data is found at NH[A0]cmd addr a reference address for accessing the command table of the second phase processing unitcmd vec a 4-bit vector representing which of the 4 s phase pipelines need to be searched

Table: Output signals of the first phase processing pipeline.

27 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Conclusion

A simple and elegant pipelined architecture for IPv4 and IPv6 lookupis presented.

• The proposed method makes use of two major ideas, namely◦ The bit-shuffled trie structure◦ The bit-vector processing.

• The memory cost of the proposed method is as low as 2.4 and8.25 bytes per prefix for IPv4 and IPv6.

• When the size of the IPv4 table is further increased, the density ofthe 21 to 24 bits prefixes will become higher.

In this paper method only requires about 3 MB of on-chip memoryto support a 500 K prefixes IPv4 routing table and a 200 K prefixesIPv6 routing table.

28 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Conclusion

A simple and elegant pipelined architecture for IPv4 and IPv6 lookupis presented.• The proposed method makes use of two major ideas, namely

◦ The bit-shuffled trie structure◦ The bit-vector processing.

• The memory cost of the proposed method is as low as 2.4 and8.25 bytes per prefix for IPv4 and IPv6.

• When the size of the IPv4 table is further increased, the density ofthe 21 to 24 bits prefixes will become higher.

In this paper method only requires about 3 MB of on-chip memoryto support a 500 K prefixes IPv4 routing table and a 200 K prefixesIPv6 routing table.

28 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Conclusion

A simple and elegant pipelined architecture for IPv4 and IPv6 lookupis presented.• The proposed method makes use of two major ideas, namely

◦ The bit-shuffled trie structure◦ The bit-vector processing.

• The memory cost of the proposed method is as low as 2.4 and8.25 bytes per prefix for IPv4 and IPv6.

• When the size of the IPv4 table is further increased, the density ofthe 21 to 24 bits prefixes will become higher.

In this paper method only requires about 3 MB of on-chip memoryto support a 500 K prefixes IPv4 routing table and a 200 K prefixesIPv6 routing table.

28 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Conclusion

A simple and elegant pipelined architecture for IPv4 and IPv6 lookupis presented.• The proposed method makes use of two major ideas, namely

◦ The bit-shuffled trie structure◦ The bit-vector processing.

• The memory cost of the proposed method is as low as 2.4 and8.25 bytes per prefix for IPv4 and IPv6.

• When the size of the IPv4 table is further increased, the density ofthe 21 to 24 bits prefixes will become higher.

In this paper method only requires about 3 MB of on-chip memoryto support a 500 K prefixes IPv4 routing table and a 200 K prefixesIPv6 routing table.

28 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Conclusion

A simple and elegant pipelined architecture for IPv4 and IPv6 lookupis presented.• The proposed method makes use of two major ideas, namely

◦ The bit-shuffled trie structure◦ The bit-vector processing.

• The memory cost of the proposed method is as low as 2.4 and8.25 bytes per prefix for IPv4 and IPv6.

• When the size of the IPv4 table is further increased, the density ofthe 21 to 24 bits prefixes will become higher.

In this paper method only requires about 3 MB of on-chip memoryto support a 500 K prefixes IPv4 routing table and a 200 K prefixesIPv6 routing table.

28 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Key Terms

• FGPA◦ Field Programmable Gate Array

• ASIC◦ Application Specified Integrated Circuits

• MLPS◦ Million Lookup Per Second

• TCAM◦ Ternary Content Address Matching◦ A Specified length speed Memory◦ Search Entire Content in a Single Clock Cycle.

29 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Key Terms

• LMP◦ Largest Matching Prefix◦ Used by Router in IP Networking

• Fabricated Technology◦ Process of Manufacturing

• IPv6◦ 128bit address, 64 bit for netwrok, 64 for host ID◦ Its Is Hexadecimal

• Packet Classification◦ Identification Packets for QOS◦ Packet Can be Classified by

Source and Destination PortAddress and Protocol Types

30 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Key Terms

• Routing Table◦ It Chose the best path.◦ Destination◦ Next HOP◦ Interface◦ Metric◦ Routes

31 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie

Thanks To All of You

• Name: Sunawar Khan Ahsan

• Class: MSCS-F14

• Subject: Advance Computer Networks

• Course Coordinator: Mr. Ghani

32 of 32

Sunawar Khan - IP Address Lookup using Bit-Shuffled Trie