Scalable Prefix Matching for Internet Packet Forwarding



Similar documents
Scalable High-Speed Prefix Matching

IP Addressing Introductory material.

IP Address Lookup Using A Dynamic Hash Function

IP Addressing. IP Addresses. Introductory material.

How To Make A Network Address Prefix Smaller

Internetworking and Internet-1. Global Addresses

Network layer: Overview. Network layer functions IP Routing and forwarding

Internet Protocols Fall Outline

Internet Protocols Fall Lectures 7-8 Andreas Terzis

VLSM and CIDR Malin Bornhager Halmstad University

Future Internet Technologies

Today. Finishing up inter-domain routing. Review of end-to-end forwarding. How we build routers. Economics of peering/settlement

IP Router Architectures: An Overview

IP Subnetting and Addressing

CHAPTER 5 FINITE STATE MACHINE FOR LOOKUP ENGINE

Computer Networks. Lecture 3: IP Protocol. Marcin Bieńkowski. Institute of Computer Science University of Wrocław

Classful IP Addressing (cont.)

Data Structures For IP Lookup With Bursty Access Patterns

IP Lookups Using Multiway and Multicolumn Search

IP address lookup for Internet routers using cache routing table

Computer Network Foundation. Chun-Jen (James) Chung. Arizona State University

SUBNETS, CIDR, AND CLASSLESS ADDRESSING

Internet Protocol Address

8.2 The Internet Protocol

Lecture 15. IP address space managed by Internet Assigned Numbers Authority (IANA)

Tutorial (03) IP addresses & Sub netting

An Algorithm for Performing Routing Lookups in Hardware

Interconnection Networks. Interconnection Networks. Interconnection networks are used everywhere!

Efficient Addressing. Outline. Addressing Subnetting Supernetting CS 640 1

Fast Address Lookups Using Controlled Prefix Expansion

Chapter 3: Review of Important Networking Concepts. Magda El Zarki Dept. of CS UC Irvine

COMP 631: COMPUTER NETWORKS. IP Addressing. Jasleen Kaur. Fall How to Deal With Heterogeneity & Scale?

FAST IP ADDRESS LOOKUP ENGINE FOR SOC INTEGRATION

PPS Internet-Praktikum. Prof. Bernhard Plattner Institut für Technische Informatik und Kommunikationsnetze (TIK)

Themen der Praktikumsnachmittage. PPS Internet-Praktikum. Zielsetzung. Infrastruktur im ETF B5

Overview Computer Networking. IP Address Classes (Some are Obsolete) Outline. Lecture 9 IP Packets. CIDR IP addressing. Forwarding examples

Subnet + CIDR. Internet Networking recitation #1. 11: , Internet Networking,

Lecture Computer Networks

Internet Working 5 th lecture. Chair of Communication Systems Department of Applied Sciences University of Freiburg 2004

FORWARDING of Internet Protocol (IP) packets is the primary. Scalable IP Lookup for Internet Routers

Introduction to LAN/WAN. Network Layer (part II)

CS268 Exam Solutions. 1) End-to-End (20 pts)

Router Architectures

1. How many unique network IDs are there in class A addresses? # of unique hosts?

Packet forwarding using improved Bloom filters

Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers

QoS Parameters. Quality of Service in the Internet. Traffic Shaping: Congestion Control. Keeping the QoS

CS 348: Computer Networks. - IP addressing; 21 st Aug Instructor: Sridhar Iyer IIT Bombay

ICS 351: Today's plan

Sorting revisited. Build the binary search tree: O(n^2) Traverse the binary tree: O(n) Total: O(n^2) + O(n) = O(n^2)

Quality of Service in the Internet. QoS Parameters. Keeping the QoS. Traffic Shaping: Leaky Bucket Algorithm

Exam 1 Review Questions

ADDRESSING 101 ==================================================== A name is a unique human-understandable identifier.

Scaling the Network: Subnetting and Other Protocols. Networking CS 3470, Section 1

IP addressing. Interface: Connection between host, router and physical link. IP address: 32-bit identifier for host, router interface

Table of Contents. Cisco Configuring a Basic MPLS VPN

We Are HERE! Subne\ng

DG Forwarding Algorithm

Variable length subnetting

Introduction. Internet Address Depletion and CIDR. Introduction. Introduction

Network layer. Assignment 3

Bandwidth Management in MPLS Networks

Cisco IOS Flexible NetFlow Technology

Internet Protocol (IP) IP - Network Layer. IP Routing. Advantages of Connectionless. CSCE 515: Computer Network Programming IP routing

18: Enhanced Quality of Service

IP address format: Dotted decimal notation:

5. Classless and Subnet Address Extensions 최 양 희 서울대학교 컴퓨터공학부

Security Considerations for Intrinsic Monitoring within IPv6 Networks: Work in Progress

HPAM: Hybrid Protocol for Application Level Multicast. Yeo Chai Kiat

Instructor Notes for Lab 3

Chapter 5: Sample Questions, Problems and Solutions Bölüm 5: Örnek Sorular, Problemler ve Çözümleri Örnek Sorular (Sample Questions):

Internetworking and IP Address

WHITE PAPER. Understanding IP Addressing: Everything You Ever Wanted To Know

Lecture 8. IP Fundamentals

Software Defined Networking (SDN) - Open Flow

Introducing Basic MPLS Concepts

Subnetting/Supernetting and Classless Addressing

(Refer Slide Time: 02:17)

Introduction to The Internet. ISP/IXP Workshops

MikroTik RouterOS Introduction to MPLS. Prague MUM Czech Republic 2009

Savera Tanwir. Internet Protocol

Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C

Outline. Internet Routing. Alleviating the Problem. DV Algorithm. Routing Information Protocol (RIP) Link State Routing. Routing algorithms

Quality of Service (QoS)) in IP networks

Binary Heap Algorithms

Interconnection of Heterogeneous Networks. Internetworking. Service model. Addressing Address mapping Automatic host configuration

Definition. A Historical Example

Class of Service (CoS) in a global NGN

Chapter 10 Link-State Routing Protocols

How To Make A Network More Efficient

Introduction to IP v6

Broadband Networks. Prof. Karandikar. Department of Electrical Engineering. Indian Institute of Technology, Bombay. Lecture - 26

13 Virtual Private Networks 13.1 Point-to-Point Protocol (PPP) 13.2 Layer 2/3/4 VPNs 13.3 Multi-Protocol Label Switching 13.4 IPsec Transport Mode

CSC458 Lecture 6. Homework #1 Grades. Inter-domain Routing IP Addressing. Administrivia. Midterm will Cover Following Topics

IP Routing Configuring Static Routes

Routing Prefix Caching in Network Processor Design

CE363 Data Communications & Networking. Chapter 6 Network Layer: Logical Addressing

This topic lists the key mechanisms use to implement QoS in an IP network.

CLASSLESS INTER DOMAIN ROUTING - CIDR

Advanced IP Addressing

Transcription:

Scalable Prefix Matching for Internet Packet Forwarding Marcel Waldvogel Computer Engineering and Networks Laboratory Institut für Technische Informatik und Kommunikationsnetze

Background Internet growth Bandwidth Size Complexity Classful Classless Inter-Domain Routing (CIDR) IP version 6 Demand for QoS

Routers Hop-by-hop TTL, checksum update Forwarding decision (Fair) queueing Input Interfaces Routing Protocol Forwarding Engine(s) Output Interfaces Switching Fabric IP Processing

Motivation Higher Link Speeds Higher Data Throughput Fair Queueing Faster Forwarding Decision? Packet Classification for QoS?

Overview Current Routing Techniques Routing Database Patricia Tries Faster Forwarding Binary Search on Prefix Lengths Build and Update Fast Hashing Analysis Conclusions

Routing Database Information spread through Routing Protocols Per-network or per default Old (pre-cidr): Hash tables 3 prefix lengths (class A, B, C: 8, 16, 24 bits) Length determined from address CIDR Arbitrary prefix length Best matching prefix (BMP) Also for IPv6 128.252.0.0/16 = 1000000 11111100 * 129.132.66.64/26 = 1000001 10000100 01000010 01*

Patricia Tries Binary trie Entries vs. plain nodes 0 1 Example: 110011

Faster Forwarding Alternatives to Patricia Multi-level tries Binary search on prefixes Hardware Content Addressable Memories (CAMs) Hardware Patricia search Protocol solutions Label Switching ATM Caching

Overview Current Routing Techniques Binary Search on Prefix Lengths Basic Scheme Refinements Build and Update Fast Hashing Analysis Conclusions

Fast Searching: Basic Idea One hash table per prefix length Result: Linear search of hash tables Entries 1* 11* Increasing Prefix Length 1000* 10001* 100011* 111* 1000111* 1110111*

Binary Search on Hash Tables Binary search needs less than/greater than comparison Example: 1110111 Search Order 1 Entries 1* 2 11* Increasing Prefix Length 4 3 5 1000* 10001* 111* 6 100011* 7 1000110* 1000111* 1110111* Result: More information needed

Marker Placement Simple approach: At each level above Better approach: Only at levels that will be traversed Result: Less than O(log 2 AddressBits) markers per prefix Reality: Much less Search Order 1 Entries 1* Prefix!= entry 2 11* Increasing Prefix Length 4 3 5 1000* 10001* 111* 1110* 6 100011* 111011* 7 1000110* 1000111* 1110111*

Misleading Markers Markers may require backtracking Example: 1110110 Search Order 1 Entries 1* 2 11* Increasing Prefix Length 4 3 5 1000* 10001* 111* 1110* 6 100011* 111011* 7 1000110* 1000111* 1110111* Fix: Precomputation, store BMP in markers

Asymmetric Binary Search Backbone routers: Non-uniform prefix length distribution 30000 Improve average search time 25000 Frequency 20000 15000 10000 5000 AADS MaeEast MaeWest PAIX PacBell MaeEast 1996 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 Prefix Length

Specializing Further Prefix lengths region-dependent? Improve after each successful step Compactly encode remaining lengths Bitmap vs. search tree vs. rope

Mutating Binary Search Improve search tree after each match Rope Search Only keep track of the skeleton of the tree Reduces search time Reduces markers Ropes point at prefix lengths, not at entries! Increasing Prefix Length Default Search Order 4 2 1 1000* Entries (with Possible Followups) 10001* 1* 111* 100011* 1110* 11* x 111011* 1000110* 1000111* 1110111*

Overview Current Routing Techniques Binary Search on Prefix Lengths Build and Update Build for Binary Search Build for Rope Search Updating Markers BMP entry Search Tree Restructuring Hash Collisions Fast Hashing Analysis Conclusions

Build for Binary Search Insert prefix into appropriate hash table Walk binary search tree backwards placing markers Search Order 1 Entries 1* 2 11* Increasing Prefix Length 4 3 5 1000* 10001* 111* 1110* 6 100011* 111011* 7 1000110* 1000111* 1110111*

Build for Rope Search Bottom-up merging Root Aggregate mini-tries Individual mini-tries Start End Processed sub-trie Mini-tries

Updating Markers BMP entry Updating can be O(N) Solution: Group into N partitions Significantly improve update times (40,000 200) Search cost: One memory access Generalize to higher roots

Search Tree Restructuring Adding a prefix with new length Only a single rope change 2 4 6 5 2 4 6 1 3 7 1 3 5 7 2 1 3 4 5 6 7 2 1 3 4 5 6 7

Overview Current Routing Techniques Binary Search on Prefix Lengths Build and Update Fast Hashing (Dynamic) Perfect Hashing Too expensive for lookup Limiting Collisions Causal Collision Resolution Analysis Conclusions

Limiting Collisions Hash into buckets (>1 entry) Bucket size: Up to cache line size Sparse array 11 10 9 MaeEast, Mult MaeEast, CRC PacBell, Mult PacBell, CRC Max Collisions 8 7 6 5 4 3 20000 40000 60000 Hash Table Size 80000 100000

Full Bucket Count Observation: Very few buckets require worst case size Full Hash Buckets 20 MaeEast, Mult 15 10 5 0 20000 40000 60000 80000 100000 Hash Table Size

Causal Collision Resolution Goal: Move entries into hash bucket with space How: Split it into two entries Expand Contract 1 1* 1* 2 10* 11* 10* 11* 3

Overview Current Routing Techniques Binary Search on Prefix Lengths Build and Update Fast Hashing Analysis Lookup Speed for IPv4 Projections for IPv6 2-D Packet Classification Conclusions

Lookup Speed for IPv4 Percentage of Prefixes Found 100 90 80 70 60 50 40 30 20 10 0 MaeEast 1996 MaeEast MaeWest PacBell AADS Paix S1 S2 S4 S3 Number of Search Steps Routing Databases

Projections for IPv6 4x longer addresses More networks and nodes Hope that backbone routers will be able to use small routing tables suboptimal routing Hierarchy boundaries at more prefix lengths Policy routing will still force ISPs to have bigger routing tables For our approach, only 2 memory lookups more

2-D Packet Classification Source and destination prefixes Winding paths of increasing specificity O(W log W) Sparse Matrizes Prefix Length y x

Conclusions Fast, space efficient, and scalable lookup algorithm New class of search algorithms Fast update No need for hardware, yet cheap hardware possible No need to proliferate protocol changes

Extensions Extend to two-/multi-dimensional packet classification Preliminary results available Other uses Flexible memory management Access control lists Substring searching (databases)

Future Work Light-weight protocols for secure group communication Secure distributed storage Distributed key storage Protocols for bandwidth fairness enforcement