Forwarding and Routers : Computer Networking. Original IP Route Lookup. Outline

Size: px
Start display at page:

Download "Forwarding and Routers : Computer Networking. Original IP Route Lookup. Outline"

Transcription

1 Forwarding and Routers : Computer Networking L-9 Router Algorithms IP lookup Longest prefix matching Classification Flow monitoring Readings [EVF3] Bitmap Algorithms for Active Flows on High Speed Links [BV1] Scalable Packet Classification (4 pages) Optional [D+97] Small Forwarding Tables for Fast Routing Lookups [VVV1] EffiCuts: Optimizing Packet Classification 2 Outline IP router design Architectures Scheduling Limits Active networking IP route lookup Variable prefix match algorithms Packet classification Flow monitoring Original IP Route Lookup Address classes A: 7 bit network 24 bit host (16M each) B: 1 14 bit network 16 bit host (64K) C: bit network 8 bit host (255) Address would specify prefix for forwarding table Simple lookup 3 4 1

2 Original IP Route Lookup Example address Class B address class + network is Lookup in forwarding table Prefix part of address that really matters for routing Forwarding table contains List of class+network entries A few fixed prefix lengths (8/16/24) Large tables 2 Million class C networks 32 bits does not give enough space encode network location information inside address i.e., create a structured hierarchy CIDR Revisited Supernets Assign adjacent net addresses to same org Classless routing (CIDR) How does this help routing table? Combine routing table entries whenever all nodes with same prefix share same hop Routing protocols carry prefix with destination network address Longest prefix match for forwarding 5 6 CIDR Illustration Provider is given /21 CIDR Shortcomings Multi-homing Customer selecting a new provider Provider / / / / /23 Provider 1 Provider / / / /23 or Provider 2 address 7 8 2

3 Outline Trie Using Sample Database IP route lookup Variable prefix match algorithms Packet classification Flow monitoring P5 P7 P8 Root 1 P6 P1 Trie P4 1 1 P3 1 P2 Sample Database P1 = 1* P2 = 111* P3 = 111* P4 = 1* P5 = * P6 = 1* P7 = 1* P8 = 1* 9 1 How To Do Variable Prefix Match Traditional method Patricia Tree Arrange route entries into a series of bit tests Worst case = 32 bit tests Problem: memory speed is a bottleneck May need to backtrack Optimal Expanded Tries Pick stride s for root and solve recursively default / Bit to test = left child,1 = right child / / / /

4 Speeding up Prefix Match (P+98) Prefix Tree Cut prefix tree at 16 bit depth 64K bit mask Bit = 1 if tree continues below cut (root head) Bit = 1 if leaf at depth 16 or less (genuine head) Bit = if part of range covered by leaf Port 1 Port 5 Port 7 Port 3 Port 9 Port Prefix Tree Subtree 1 Subtree 2 Subtree 3 15 Leaf Pushing: entries that have pointers plus prefix have prefixes pushed down to leaves 4

5 Speeding up Prefix Match (P+98) Lulea Trick Speeds up Lookup Each 1 corresponds to either a route or a subtree Keep array of routes/pointers to subtree Need index into array how to count # of 1s Keep running count to 16bit word in base index + code word (6 bits) Need to count 1s in last 16bit word Clever tricks Subtrees are handled separately 17 Speeding up Prefix Match (P+98) Scaling issues How would it handle IPv6 Update issues Other possibilities Why were the cuts done at 16/24/32 bits? Improve data structure by shuffling bits Speeding up Prefix Match - Alternatives Route caches Temporal locality Many packets to same destination Other algorithms Waldvogel Sigcomm 97 Binary search on prefixes Works well for larger addresses Bremler-Barr Sigcomm 99 Clue = prefix length matched at previous hop Why is this useful? Lampson Infocom 98 Binary search on ranges

6 Speeding up Prefix Match - Alternatives Content addressable memory (CAM) Hardware based route lookup Input = tag, output = value associated with tag Requires exact match with tag Multiple cycles (1 per prefix searched) with single CAM Multiple CAMs (1 per prefix) searched in parallel Ternary CAM,1,don t care values in tag match Priority (I.e. longest prefix) by order of entries in CAM Outline IP route lookup Variable prefix match algorithms Packet classification See slides Zhuo Flow monitoring Packet Classification Typical uses Identify flows for QoS Firewall filtering Requirements Match on multiple fields Strict priority among rules E.g 1. no traffic from * 2. ok traffic on port 8 Complexity N rules and k header fields for k > 2 O(log N k-1 ) time and O(N) space O(log N) time and O(N k ) space Special cases for k = 2 source and destination O(log N) time and O(N) space solutions exist How many rules? Largest for firewalls & similar 17 Diffserv/QoS much larger 1k (?)

7 Bit Vectors Bit Vectors 1 Rule Field1 Field2 * * 1 Rule Field1 Field2 * * 1 * 1* 1 * 1* 1 2 1* 11* * 11* * 1* * 1* Field 1 Field Aggregating Rules [BV1] Common case: very few 1 s in bit vector aggregate bits OR together A bits at a time N/A bit-long vector A typically chosen to match word-size Can be done hierarchically aggregate the aggregates AND of aggregate bits indicates which groups of A rules have a possible match Hopefully only a few 1 s in AND ed vector AND of aggregated bit vectors may have false positives Fetch and AND just bit vectors associated with positive entries Rearranging Rules [BV1] Problem: false positives may be common Solution: reorder rules to minimize false positives What about the priority order of rules? How to rearrange? Heuristic sort rules based on single field s values First sort by prefix length then by value Moves similar rules close together reduces false positives

8 Summary: Addressing/Classification Router architecture carefully optimized for IP forwarding Key challenges: Speed of forwarding lookup/classification Power consumption Some good examples of common case optimization Routing with a clue Classification with few matching rules Not checksumming packets Outline IP route lookup Variable prefix match algorithms Packet classification Flow monitoring Based on IMC 3 talk by Estan, Varghese, and Fisk 29 3 Why count flows? Existing flow counting solutions Detect port/ip scans Identify DoS attacks Estimate spreading rate of a worm Packet scheduling Dave Plonka s FlowScan Router Memory Network bandwidth NetFlow data Memory size & bandwidth Server Analysis Traffic reports Fast link Network Network Operations Center 8

9 Motivating question Can we count flows at line speeds at the router? Wrong solution counters Naïve solution use hash tables (like NetFlow) Our approach use bitmaps Bitmap counting algorithms A family of algorithms that can be used as building blocks in various systems Algorithms can be adapted to application Low memory and per packet processing Generalize flows to distinct header patterns Count flows or source addresses to detect attack Count destination address+port pairs to detect scan Outline Direct bitmap Virtual bitmaps Multi-resolution bitmaps Some results Bitmap counting direct bitmap Set bits in the bitmap using hash of the flow ID of incoming packets HASH(green)=111 9

10 Bitmap counting direct bitmap Bitmap counting direct bitmap Different flows have different hash values Packets from the same flow always hash to the same bit HASH(blue)=11 HASH(green)=111 Bitmap counting direct bitmap Bitmap counting direct bitmap Collisions OK, estimates compensate for them HASH(violet)=1111 HASH(orange)=

11 Bitmap counting direct bitmap Bitmap counting direct bitmap As the bitmap fills up, estimates get inaccurate HASH(pink)=111 HASH(yellow)=1111 Bitmap counting direct bitmap Bitmap counting direct bitmap HASH(green)=111 Solution: use more bits Solution: use more bits Problem: memory scales with the number of flows HASH(blue)=11 11

12 Bitmap counting virtual bitmap Bitmap counting virtual bitmap Solution: a) store only a portion of the bitmap b) multiply estimate by scaling factor HASH(pink)=111 Bitmap counting virtual bitmap Bitmap counting multiple bmps Problem: estimate inaccurate when few flows active HASH(yellow)=1111 Solution: use many bitmaps, each accurate for a different range 12

13 Bitmap counting multiple bmps Bitmap counting multiple bmps HASH(pink)=111 HASH(yellow)=1111 Bitmap counting multiple bmps Bitmap counting multiple bmps Use this bitmap to estimate number of flows Use this bitmap to estimate number of flows 13

14 Bitmap counting multires. bmp Bitmap counting multires. bmp OR OR Problem: must update up to three bitmaps per packet Solution: combine bitmaps into one HASH(pink)=111 Bitmap counting multires. bmp Error of virtual bitmap HASH(yellow)=1111 Average (relative) error Flow density (flows/bit) 14

15 1 million flows, error 1% Hash table* Direct bitmap Virtual bitmap* Multiresolution bitmap 1.21 Gbytes 1.29 Mbytes 1.88 Kbytes 1.33 Kbytes Adaptive bitmap Virtual bitmap measures accurately number of flows if range known in advance Often number of flows does not change rapidly Measurement repeated Can use previous measurement to tune virtual bitmap Use small multi-resolution bit map for tuning Combine into single bit map (single update) Triggered bitmap Scan detection memory usage Need multiple instances of counting algorithm (e.g. port scan detection) Many instances count few flows Triggered bitmap Allocate small direct bitmap to new sources If number of bits set exceeds trigger value, allocate large multiresolution bitmap Interval length Snort (naïve) Probabilistic counting Triggered bitmap 12 seconds 1.94 M 2.42 M.37 M 6 seconds 49.6 M 22,34 M 5.59 M 15

15-744: Computer Networking. Routers

15-744: Computer Networking. Routers 15-744: Computer Networking outers Forwarding and outers Forwarding IP lookup High-speed router architecture eadings [McK97] A Fast Switched Backplane for a Gigabit Switched outer Optional [D+97] Small

More information

CS 268: Computer Networking

CS 268: Computer Networking CS 268: Computer Networking L-8 outers Forwarding and outers Forwarding IP lookup High-speed router architecture eadings [McK97] A Fast Switched Backplane for a Gigabit Switched outer [KCY03] Scaling ternet

More information

Message Switch. Processor(s) 0* 1 100* 6 1* 2 Forwarding Table

Message Switch. Processor(s) 0* 1 100* 6 1* 2 Forwarding Table Recent Results in Best Matching Prex George Varghese October 16, 2001 Router Model InputLink i 100100 B2 Message Switch B3 OutputLink 6 100100 Processor(s) B1 Prefix Output Link 0* 1 100* 6 1* 2 Forwarding

More information

ECE697AA Lecture 20. Forwarding Tables

ECE697AA Lecture 20. Forwarding Tables ECE697AA Lecture 20 Routers: Prefix Lookup Algorithms Tilman Wolf Department of Electrical and Computer Engineering 11/14/08 Forwarding Tables Routing protocols involve a lot of information Path choices,

More information

Data Structures for Packet Classification

Data Structures for Packet Classification Presenter: Patrick Nicholson Department of Computer Science CS840 Topics in Data Structures Outline 1 The Problem 2 Hardware Solutions 3 Data Structures: 1D 4 Trie-Based Solutions Packet Classification

More information

Routers & Routing : Computer Networking. Binary Search on Ranges. Speeding up Prefix Match - Alternatives

Routers & Routing : Computer Networking. Binary Search on Ranges. Speeding up Prefix Match - Alternatives Routers & Routing -44: omputer Networking High-speed router architecture Intro to routing protocols ssigned reading [McK9] Fast Switched ackplane for a Gigabit Switched Router Know RIP/OSPF L-4 Intra-omain

More information

Growth of the Internet Network capacity: A scarce resource Good Service

Growth of the Internet Network capacity: A scarce resource Good Service IP Route Lookups 1 Introduction Growth of the Internet Network capacity: A scarce resource Good Service Large-bandwidth links -> Readily handled (Fiber optic links) High router data throughput -> Readily

More information

Switch and Router Design. Packet Processing Examples. Packet Processing Examples. Packet Processing Rate 12/14/2011

Switch and Router Design. Packet Processing Examples. Packet Processing Examples. Packet Processing Rate 12/14/2011 // Bottlenecks Memory, memory, 88 - Switch and Router Design Dr. David Hay Ross 8b dhay@cs.huji.ac.il Source: Nick Mckeown, Isaac Keslassy Packet Processing Examples Address Lookup (IP/Ethernet) Where

More information

CS 268: Route Lookup and Packet Classification

CS 268: Route Lookup and Packet Classification Overview CS 268: Route Lookup and Packet Classification Packet Lookup Packet Classification Ion Stoica March 3, 24 istoica@cs.berkeley.edu 2 Lookup Problem Identify the output interface to forward an incoming

More information

CS419: Computer Networks. Lecture 6: March 7, 2005 Fast Address Lookup:

CS419: Computer Networks. Lecture 6: March 7, 2005 Fast Address Lookup: : Computer Networks Lecture 6: March 7, 2005 Fast Address Lookup: Forwarding/Routing Revisited Best-match Longest-prefix forwarding table lookup We looked at the semantics of bestmatch longest-prefix address

More information

Homework 1 Solutions:

Homework 1 Solutions: Homework 1 Solutions: If we expand the square in the statistic, we get three terms that have to be summed for each i: (ExpectedFrequency[i]), (2ObservedFrequency[i]) and (ObservedFrequency[i])2 / Expected

More information

ECE697AA Lecture 21. Packet Classification

ECE697AA Lecture 21. Packet Classification ECE697AA Lecture 21 Routers: Flow Classification Algorithms Tilman Wolf Department of Electrical and Computer Engineering 11/20/08 Packet Classification What is packet classification? Categorization of

More information

Last Lecture: Network Layer

Last Lecture: Network Layer Last Lecture: Network Layer 1. Design goals and issues 2. Basic Routing Algorithms & Protocols 3. Addressing, Fragmentation and reassembly 4. Internet Routing Protocols and Inter-networking 5. Router design

More information

Bitmap Algorithms for Counting Active Flows on High Speed Links

Bitmap Algorithms for Counting Active Flows on High Speed Links Bitmap Algorithms for Counting Active Flows on High Speed Links Cristian Estan George Varghese Michael Fisk Abstract This paper presents a family of bitmap algorithms that address the problem of counting

More information

Scalable Packet Classification for IPv6 by Using Limited TCAMs

Scalable Packet Classification for IPv6 by Using Limited TCAMs Scalable Packet Classification for IPv6 by Using Limited TCAMs Chia-Tai Chan 1, Pi-Chung Wang 1,Shuo-ChengHu 2, Chung-Liang Lee 1,and Rong-Chang Chen 3 1 Telecommunication Laboratories, Chunghwa Telecom

More information

Midterm Review. Congestion Mgt, CIDR addresses,tcp processing, TCP close. Routing. hierarchical networks. Routing with OSPF, IS-IS, BGP-4

Midterm Review. Congestion Mgt, CIDR addresses,tcp processing, TCP close. Routing. hierarchical networks. Routing with OSPF, IS-IS, BGP-4 Midterm Review Week 1 Congestion Mgt, CIDR addresses,tcp processing, TCP close Week 2 Routing. hierarchical networks Week 3 Routing with OSPF, IS-IS, BGP-4 Week 4 IBGP, Prefix lookup, Tries, Non-stop routers,

More information

LONGEST prefix matching (LPM) techniques have received

LONGEST prefix matching (LPM) techniques have received IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 14, NO. 2, APRIL 2006 397 Longest Prefix Matching Using Bloom Filters Sarang Dharmapurikar, Praveen Krishnamurthy, and David E. Taylor, Member, IEEE Abstract We

More information

Problem Statement. Algorithm MinDPQ (contd.) Algorithm MinDPQ. Summary of Algorithm MinDPQ. Algorithm MinDPQ: Experimental Results.

Problem Statement. Algorithm MinDPQ (contd.) Algorithm MinDPQ. Summary of Algorithm MinDPQ. Algorithm MinDPQ: Experimental Results. Algorithms for Routing Lookups and Packet Classification October 3, 2000 High Level Outline Part I. Routing Lookups - Two lookup algorithms Part II. Packet Classification - One classification algorithm

More information

Lecture 12: Addressing. CSE 123: Computer Networks Alex C. Snoeren

Lecture 12: Addressing. CSE 123: Computer Networks Alex C. Snoeren Lecture 12: Addressing CSE 123: Computer Networks Alex C. Snoeren Lecture 12 Overview IP Addresses Class-based addressing Subnetting Classless addressing Route aggregation 2 Addressing Considerations Fixed

More information

Introduction. Introduction. Router Architectures. Introduction. Recent advances in routing architecture including

Introduction. Introduction. Router Architectures. Introduction. Recent advances in routing architecture including Router Architectures By the end of this lecture, you should be able to. Explain the different generations of router architectures Describe the route lookup process Explain the operation of PATRICIA algorithm

More information

Introduction. Router Architectures. Introduction. Introduction. Recent advances in routing architecture including

Introduction. Router Architectures. Introduction. Introduction. Recent advances in routing architecture including Introduction Router Architectures Recent advances in routing architecture including specialized hardware switching fabrics efficient and faster lookup algorithms have created routers that are capable of

More information

FPGA Implementation of Lookup Algorithms

FPGA Implementation of Lookup Algorithms 2011 IEEE 12th International Conference on High Performance Switching and Routing FPGA Implementation of Lookup Algorithms Zoran Chicha, Luka Milinkovic, Aleksandra Smiljanic Department of Telecommunications

More information

Lecture 12: Aggregation. CSE 123: Computer Networks Alex C. Snoeren

Lecture 12: Aggregation. CSE 123: Computer Networks Alex C. Snoeren Lecture 12: Aggregation CSE 123: Computer Networks Alex C. Snoeren Lecture 12 Overview Subnetting Classless addressing Route aggregation 2 Class-based Addressing Most significant bits determines class

More information

Implementation of Boundary Cutting Algorithm Using Packet Classification

Implementation of Boundary Cutting Algorithm Using Packet Classification Implementation of Boundary Cutting Algorithm Using Packet Classification Dasari Mallesh M.Tech Student Department of CSE Vignana Bharathi Institute of Technology, Hyderabad. ABSTRACT: Decision-tree-based

More information

Frugal IP Lookup Based on a Parallel Search

Frugal IP Lookup Based on a Parallel Search Frugal IP Lookup Based on a Parallel Search Zoran Čiča and Aleksandra Smiljanić School of Electrical Engineering, Belgrade University, Serbia Email: cicasyl@etf.rs, aleksandra@etf.rs Abstract Lookup function

More information

Fast Packet Classification Algorithms

Fast Packet Classification Algorithms Fast Packet Classification Algorithms Mrudul Dixit, Anuja Kale, Madhavi Narote, Sneha Talwalkar, and B. V. Barbadekar Abstract A packet classifier possesses a set of rules for classifying packets based

More information

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097 Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Master

More information

Lecture 3: Packet Forwarding

Lecture 3: Packet Forwarding Lecture 3: Packet Forwarding CSE 222A: Computer Communication Networks Alex C. Snoeren Thanks: Mike Freedman & Amin Vahdat Lecture 3 Overview Paper reviews Packet Forwarding IP Addressing Subnetting/CIDR

More information

Computer Networks CS 552

Computer Networks CS 552 Computer Networks CS 552 Routers Badri Nath Rutgers University badri@cs.rutgers.edu. High Speed Routers 2. Route lookups Cisco 26: 8 Gbps Cisco 246: 32 Gbps Cisco 286: 28 Gbps Power: 4.2 KW Cost: $5K Juniper

More information

IP Forwarding. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli

IP Forwarding. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli IP Forwarding CSU CS557, Spring 2018 Instructor: Lorenzo De Carli 1 Sources George Varghese, Network Algorithmics, Morgan Kauffmann, December 2004 L. De Carli, Y. Pan, A. Kumar, C. Estan, K. Sankaralingam,

More information

Parallel-Search Trie-based Scheme for Fast IP Lookup

Parallel-Search Trie-based Scheme for Fast IP Lookup Parallel-Search Trie-based Scheme for Fast IP Lookup Roberto Rojas-Cessa, Lakshmi Ramesh, Ziqian Dong, Lin Cai, and Nirwan Ansari Department of Electrical and Computer Engineering, New Jersey Institute

More information

1 Connectionless Routing

1 Connectionless Routing UCSD DEPARTMENT OF COMPUTER SCIENCE CS123a Computer Networking, IP Addressing and Neighbor Routing In these we quickly give an overview of IP addressing and Neighbor Routing. Routing consists of: IP addressing

More information

The Routing Table: A Closer Look

The Routing Table: A Closer Look The Routing Table: A Closer Look Routing Protocols and Concepts Chapter 8 Version 4.0 1 Objectives Describe the various route types found in the routing table structure. Describe the routing table lookup

More information

Scalable IP Routing Lookup in Next Generation Network

Scalable IP Routing Lookup in Next Generation Network Scalable IP Routing Lookup in Next Generation Network Chia-Tai Chan 1, Pi-Chung Wang 1,Shuo-ChengHu 2, Chung-Liang Lee 1, and Rong-Chang Chen 3 1 Telecommunication Laboratories, Chunghwa Telecom Co., Ltd.

More information

IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 14, NO. 5, OCTOBER

IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 14, NO. 5, OCTOBER IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 14, NO. 5, OCTOBER 2006 925 Bitmap Algorithms for Counting Active Flows on High-Speed Links Cristian Estan, George Varghese, Member, IEEE, and Michael Fisk Abstract

More information

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097 Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Master Course Computer Networks IN2097 Prof. Dr.-Ing. Georg Carle Christian Grothoff, Ph.D. Chair for

More information

Packet Classification Using Dynamically Generated Decision Trees

Packet Classification Using Dynamically Generated Decision Trees 1 Packet Classification Using Dynamically Generated Decision Trees Yu-Chieh Cheng, Pi-Chung Wang Abstract Binary Search on Levels (BSOL) is a decision-tree algorithm for packet classification with superior

More information

Routing Lookup Algorithm for IPv6 using Hash Tables

Routing Lookup Algorithm for IPv6 using Hash Tables Routing Lookup Algorithm for IPv6 using Hash Tables Peter Korppoey, John Smith, Department of Electronics Engineering, New Mexico State University-Main Campus Abstract: After analyzing of existing routing

More information

An Efficient Parallel IP Lookup Technique for IPv6 Routers Using Multiple Hashing with Ternary marker storage

An Efficient Parallel IP Lookup Technique for IPv6 Routers Using Multiple Hashing with Ternary marker storage An Efficient Parallel IP Lookup Technique for IPv Routers Using Multiple Hashing with Ternary marker storage P. Kiran Sree Dr. Inampudi Ramesh Babu Mr. P.Kiran Sree,Associate Professor, Department of Computer

More information

Power Efficient IP Lookup with Supernode Caching

Power Efficient IP Lookup with Supernode Caching Power Efficient IP Lookup with Supernode Caching Lu Peng, Wencheng Lu * and Lide Duan Department of Electrical & Computer Engineering Louisiana State University Baton Rouge, LA 73 {lpeng, lduan1}@lsu.edu

More information

Lecture 10: Addressing

Lecture 10: Addressing Lecture 10: Addressing CSE 123: Computer Networks Alex C. Snoeren HW 2 due WEDNESDAY Lecture 10 Overview ICMP The other network-layer protocol IP Addresses Class-based addressing Subnetting Classless addressing

More information

Binary Search Schemes for Fast IP Lookups

Binary Search Schemes for Fast IP Lookups 1 Schemes for Fast IP Lookups Pronita Mehrotra, Paul D. Franzon Abstract IP route look up is the most time consuming operation of a router. Route lookup is becoming a very challenging problem due to the

More information

How to Choose the Best Router Switching Path for Your Network

How to Choose the Best Router Switching Path for Your Network How to Choose the Best Router Switching Path for Your Network Document ID: 13706 Contents Introduction Process Switching Interrupt Context Switching Fast Switching Optimum Switching Cisco Express Forwarding

More information

Packet Classification. George Varghese

Packet Classification. George Varghese Packet Classification George Varghese Original Motivation: Firewalls Firewalls use packet filtering to block say ssh and force access to web and mail via proxies. Still part of defense in depth today.

More information

Efficient Construction Of Variable-Stride Multibit Tries For IP Lookup

Efficient Construction Of Variable-Stride Multibit Tries For IP Lookup " Efficient Construction Of Variable-Stride Multibit Tries For IP Lookup Sartaj Sahni & Kun Suk Kim sahni, kskim @ciseufledu Department of Computer and Information Science and Engineering University of

More information

How to Choose the Best Router Switching Path for

How to Choose the Best Router Switching Path for How to Choose the Best Router Switching Path for Your Network Contents Introduction Process Switching Interrupt Context Switching Fast Switching Optimum Switching Cisco Express Forwarding Which Switching

More information

Efficient Packet Classification using Splay Tree Models

Efficient Packet Classification using Splay Tree Models 28 IJCSNS International Journal of Computer Science and Network Security, VOL.6 No.5B, May 2006 Efficient Packet Classification using Splay Tree Models Srinivasan.T, Nivedita.M, Mahadevan.V Sri Venkateswara

More information

Friday Four Square! 4:15PM, Outside Gates

Friday Four Square! 4:15PM, Outside Gates Binary Search Trees Friday Four Square! 4:15PM, Outside Gates Implementing Set On Monday and Wednesday, we saw how to implement the Map and Lexicon, respectively. Let's now turn our attention to the Set.

More information

Multiway Range Trees: Scalable IP Lookup with Fast Updates

Multiway Range Trees: Scalable IP Lookup with Fast Updates Multiway Range Trees: Scalable IP Lookup with Fast Updates Subhash Suri George Varghese Priyank Ramesh Warkhede Department of Computer Science Washington University St. Louis, MO 63130. Abstract In this

More information

Fast and scalable conflict detection for packet classifiers

Fast and scalable conflict detection for packet classifiers Computer Networks 42(2003) 717 735 www.elsevier.com/locate/comnet Fast and scalable conflict detection for packet classifiers F. Baboescu *, G. Varghese Department of Computer Science and Engineering,

More information

Chapter 3 Internetworking

Chapter 3 Internetworking Chapter 3 Internetworking Basic Internetworking (IP) (cont d) Datagram forwarding in IP Every datagram contains the IP address of the destination host If directly connected to destination network, then

More information

Basic Idea. Routing. Example. Routing by the Network

Basic Idea. Routing. Example. Routing by the Network Basic Idea Routing Routing table at each router/gateway When IP packet comes, destination address checked with routing table to find next hop address Questions: Route by host or by network? Routing table:

More information

Towards High-performance Flow-level level Packet Processing on Multi-core Network Processors

Towards High-performance Flow-level level Packet Processing on Multi-core Network Processors Towards High-performance Flow-level level Packet Processing on Multi-core Network Processors Yaxuan Qi (presenter), Bo Xu, Fei He, Baohua Yang, Jianming Yu and Jun Li ANCS 2007, Orlando, USA Outline Introduction

More information

2/22/2008. Outline Computer Networking Lecture 9 IP Protocol. Hop-by-Hop Packet Forwarding in the Internet. Internetworking.

2/22/2008. Outline Computer Networking Lecture 9 IP Protocol. Hop-by-Hop Packet Forwarding in the Internet. Internetworking. Outline 5-44 Computer Networking Lecture 9 Protocol Traditional addressing CIDR addressing Peter Steenkiste Departments of Computer Science and Electrical and Computer Engineering Forwarding examples 5-44

More information

Fast IP Routing Lookup with Configurable Processor and Compressed Routing Table

Fast IP Routing Lookup with Configurable Processor and Compressed Routing Table Fast IP Routing Lookup with Configurable Processor and Compressed Routing Table H. Michael Ji, and Ranga Srinivasan Tensilica, Inc. 3255-6 Scott Blvd Santa Clara, CA 95054 Abstract--In this paper we examine

More information

Efficient Packet Classification for Network Intrusion Detection using FPGA

Efficient Packet Classification for Network Intrusion Detection using FPGA Efficient Packet Classification for Network Intrusion Detection using FPGA ABSTRACT Haoyu Song Department of CSE Washington University St. Louis, USA hs@arl.wustl.edu FPGA technology has become widely

More information

CIS 551 / TCOM 401 Computer and Network Security. Spring 2007 Lecture 12

CIS 551 / TCOM 401 Computer and Network Security. Spring 2007 Lecture 12 CIS 551 / TCOM 401 Computer and Network Security Spring 2007 Lecture 12 Announcements Project 2 is on the web. Due: March 15th Send groups to Jeff Vaughan (vaughan2@seas) by Thurs. Feb. 22nd. Plan for

More information

Routing by the Network

Routing by the Network Routing Basic Idea Routing table at each router/gateway When IP packet comes, destination address checked with routing table to find next hop address Questions: Route by host or by network? Routing table:

More information

Chapter 12 Digital Search Structures

Chapter 12 Digital Search Structures Chapter Digital Search Structures Digital Search Trees Binary Tries and Patricia Multiway Tries C-C Tsai P. Digital Search Tree A digital search tree is a binary tree in which each node contains one element.

More information

CS118 Discussion, Week 6. Taqi

CS118 Discussion, Week 6. Taqi CS118 Discussion, Week 6 Taqi 1 Outline Network Layer IP NAT DHCP Project 2 spec 2 Network layer: overview Basic functions for network layer Routing Forwarding Connection v.s. connection-less delivery

More information

CS244a: An Introduction to Computer Networks

CS244a: An Introduction to Computer Networks CS244a: An Introduction to Computer Networks Handout 4: Layer 3 and the Internet Protocol (IP) Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University nickm@stanford.edu

More information

Design of a High Speed FPGA-Based Classifier for Efficient Packet Classification

Design of a High Speed FPGA-Based Classifier for Efficient Packet Classification Design of a High Speed FPGA-Based Classifier for Efficient Packet Classification V.S.Pallavi 1, Dr.D.Rukmani Devi 2 PG Scholar 1, Department of ECE, RMK Engineering College, Chennai, Tamil Nadu, India

More information

The iflow Address Processor Forwarding Table Lookups using Fast, Wide Embedded DRAM

The iflow Address Processor Forwarding Table Lookups using Fast, Wide Embedded DRAM Enabling the Future of the Internet The iflow Address Processor Forwarding Table Lookups using Fast, Wide Embedded DRAM Mike O Connor - Director, Advanced Architecture www.siliconaccess.com Hot Chips 12

More information

Tree-Based Minimization of TCAM Entries for Packet Classification

Tree-Based Minimization of TCAM Entries for Packet Classification Tree-Based Minimization of TCAM Entries for Packet Classification YanSunandMinSikKim School of Electrical Engineering and Computer Science Washington State University Pullman, Washington 99164-2752, U.S.A.

More information

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture EECS : Introduction to Computer Networks Switch and Router Architectures Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley,

More information

Overview. Implementing Gigabit Routers with NetFPGA. Basic Architectural Components of an IP Router. Per-packet processing in an IP Router

Overview. Implementing Gigabit Routers with NetFPGA. Basic Architectural Components of an IP Router. Per-packet processing in an IP Router Overview Implementing Gigabit Routers with NetFPGA Prof. Sasu Tarkoma The NetFPGA is a low-cost platform for teaching networking hardware and router design, and a tool for networking researchers. The NetFPGA

More information

AN EFFICIENT HYBRID ALGORITHM FOR MULTIDIMENSIONAL PACKET CLASSIFICATION

AN EFFICIENT HYBRID ALGORITHM FOR MULTIDIMENSIONAL PACKET CLASSIFICATION AN EFFICIENT HYBRID ALGORITHM FOR MULTIDIMENSIONAL PACKET CLASSIFICATION Yaxuan Qi 1 and Jun Li 1,2 1 Research Institute of Information Technology (RIIT), Tsinghua University, Beijing, China, 100084 2

More information

* I D ~~~ ~ Figure 2: Longest matching prefix.

* I D ~~~ ~ Figure 2: Longest matching prefix. A fast and compact longest match prefix look-up method using pointer cache for very long network address Masanori Uga Kohei Shiomoto "IT Network Service Systems Laboratories Midori 3-9-, Musashino, Tokyo

More information

Scalable Lookup Algorithms for IPv6

Scalable Lookup Algorithms for IPv6 Scalable Lookup Algorithms for IPv6 Aleksandra Smiljanić a*, Zoran Čiča a a School of Electrical Engineering, Belgrade University, Bul. Kralja Aleksandra 73, 11120 Belgrade, Serbia ABSTRACT IPv4 addresses

More information

ITTC High-Performance Networking The University of Kansas EECS 881 Packet Switch I/O Processing

ITTC High-Performance Networking The University of Kansas EECS 881 Packet Switch I/O Processing High-Performance Networking The University of Kansas EECS 881 Packet Switch I/O Processing James P.G. Sterbenz Department of Electrical Engineering & Computer Science Information Technology & Telecommunications

More information

Shape Shifting Tries for Faster IP Route Lookup

Shape Shifting Tries for Faster IP Route Lookup Shape Shifting Tries for Faster IP Route Lookup Haoyu Song, Jonathan Turner, John Lockwood Applied Research Laboratory Washington University in St. Louis Email: {hs1,jst,lockwood}@arl.wustl.edu Abstract

More information

Generic Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture

Generic Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture Generic Architecture EECS : Introduction to Computer Networks Switch and Router Architectures Computer Science Division Department of Electrical Engineering and Computer Sciences University of California,

More information

Lecture 2: Streaming Algorithms for Counting Distinct Elements

Lecture 2: Streaming Algorithms for Counting Distinct Elements Lecture 2: Streaming Algorithms for Counting Distinct Elements 20th August, 2008 Streaming Algorithms Streaming Algorithms Streaming algorithms have the following properties: 1 items in the stream are

More information

Static Routing and Serial interfaces. 1 st semester

Static Routing and Serial interfaces. 1 st semester Static Routing and Serial interfaces 1 st semester 1439-2017 Outline Static Routing Implementation Configure Static and Default Routes Review of CIDR Configure Summary and Floating Static Routes Troubleshoot

More information

Selective Boundary Cutting For Packet Classification SOUMYA. K 1, CHANDRA SEKHAR. M 2

Selective Boundary Cutting For Packet Classification SOUMYA. K 1, CHANDRA SEKHAR. M 2 ISSN 2319-8885 Vol.04,Issue.34, August-2015, Pages:6786-6790 www.ijsetr.com SOUMYA. K 1, CHANDRA SEKHAR. M 2 1 Navodaya Institute of Technology, Raichur, Karnataka, India, E-mail: Keerthisree1112@gmail.com.

More information

VLSM and CIDR. Routing Protocols and Concepts Chapter 6. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

VLSM and CIDR. Routing Protocols and Concepts Chapter 6. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1 VLSM and CIDR Routing Protocols and Concepts Chapter 6 Version 4.0 1 Objectives Compare and contrast classful and classless IP addressing. Review VLSM and explain the benefits of classless IP addressing.

More information

Binary Search Schemes for Fast IP Lookups

Binary Search Schemes for Fast IP Lookups Binary Search Schemes for Fast IP Lookups Pronita Mehrotra Paul D. Franzon Department of Electrical and Computer Engineering North Carolina State University {pmehrot,paulf}@eos.ncsu.edu This research is

More information

Network Layer: Control/data plane, addressing, routers

Network Layer: Control/data plane, addressing, routers Network Layer: Control/data plane, addressing, routers CS 352, Lecture 10 http://www.cs.rutgers.edu/~sn624/352-s19 Srinivas Narayana (heavily adapted from slides by Prof. Badri Nath and the textbook authors)

More information

Shape Shifting Tries for Faster IP Route Lookup

Shape Shifting Tries for Faster IP Route Lookup Shape Shifting Tries for Faster IP Route Lookup Haoyu Song, Jonathan Turner, John Lockwood Applied Research Laboratory Washington University in St. Louis Email: {hs1,jst,lockwood}@arl.wustl.edu Abstract

More information

Multi-gigabit Switching and Routing

Multi-gigabit Switching and Routing Multi-gigabit Switching and Routing Gignet 97 Europe: June 12, 1997. Nick McKeown Assistant Professor of Electrical Engineering and Computer Science nickm@ee.stanford.edu http://ee.stanford.edu/~nickm

More information

Three Different Designs for Packet Classification

Three Different Designs for Packet Classification Three Different Designs for Packet Classification HATAM ABDOLI Computer Department Bu-Ali Sina University Shahid Fahmideh street, Hamadan IRAN abdoli@basu.ac.ir http://www.profs.basu.ac.ir/abdoli Abstract:

More information

AN ASSOCIATIVE TERNARY CACHE FOR IP ROUTING. 1. Introduction. 2. Associative Cache Scheme

AN ASSOCIATIVE TERNARY CACHE FOR IP ROUTING. 1. Introduction. 2. Associative Cache Scheme AN ASSOCIATIVE TERNARY CACHE FOR IP ROUTING James J. Rooney 1 José G. Delgado-Frias 2 Douglas H. Summerville 1 1 Dept. of Electrical and Computer Engineering. 2 School of Electrical Engr. and Computer

More information

Recursive Flow Classification: An Algorithm for Packet Classification on Multiple Fields

Recursive Flow Classification: An Algorithm for Packet Classification on Multiple Fields 5 CHAPTER 4 Recursive Flow Classification: An Algorithm for Packet Classification on Multiple Fields Introduction Chapters 2 and 3 described algorithms for routing lookups. In this chapter and the next

More information

Review on Tries for IPv6 Lookups

Review on Tries for IPv6 Lookups Available online www.ejaet.com European Journal of Advances in Engineering and Technology, 2016, 3(7): 28-33 Review Article ISSN: 2394-658X Review on Tries for IPv6 Lookups Rohit G Bal Department of Computer

More information

CS4450. Computer Networks: Architecture and Protocols. Lecture 13 THE Internet Protocol. Spring 2018 Rachit Agarwal

CS4450. Computer Networks: Architecture and Protocols. Lecture 13 THE Internet Protocol. Spring 2018 Rachit Agarwal CS4450 Computer Networks: Architecture and Protocols Lecture 13 THE Internet Protocol Spring 2018 Rachit Agarwal 2 Reflection The events in last few days have left me sad! Such events must be condemned

More information

EVERY Internet router today can forward entering Internet

EVERY Internet router today can forward entering Internet 2 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 13, NO. 1, FEBRUARY 2005 Scalable Packet Classification Florin Baboescu and George Varghese, Member, IEEE Abstract Packet classification is important for applications

More information

IP ROUTING LOOKUP: HARDWARE AND SOFTWARE APPROACH. A Thesis RAVIKUMAR V. CHAKARAVARTHY

IP ROUTING LOOKUP: HARDWARE AND SOFTWARE APPROACH. A Thesis RAVIKUMAR V. CHAKARAVARTHY IP ROUTING LOOKUP: HARDWARE AND SOFTWARE APPROACH A Thesis by RAVIKUMAR V. CHAKARAVARTHY Submitted to the Office of Graduate Studies of Texas A&M University in partial fulfillment of the requirements for

More information

EEC-484/584 Computer Networks

EEC-484/584 Computer Networks EEC-484/584 Computer Networks Lecture 13 wenbing@ieee.org (Lecture nodes are based on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall) Outline 2 Review of lecture 12 Routing Congestion

More information

Router Architectures

Router Architectures Router Architectures Venkat Padmanabhan Microsoft Research 13 April 2001 Venkat Padmanabhan 1 Outline Router architecture overview 50 Gbps multi-gigabit router (Partridge et al.) Technology trends Venkat

More information

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition ELEC / COMP 177 Fall 2016 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Presentation 2 Security/Privacy Presentations Nov 3 rd, Nov 10 th, Nov 15 th Upload slides to Canvas by midnight

More information

C14b: Classless Intradomain Routing

C14b: Classless Intradomain Routing CISC 7332X T6 C14b: Classless Intradomain Routing Hui Chen Department of Computer & Information Science CUNY Brooklyn College 11/27/2018 CUNY Brooklyn College 1 Acknowledgements Some pictures used in this

More information

DESIGN AND IMPLEMENTATION OF OPTIMIZED PACKET CLASSIFIER

DESIGN AND IMPLEMENTATION OF OPTIMIZED PACKET CLASSIFIER International Journal of Computer Engineering and Applications, Volume VI, Issue II, May 14 www.ijcea.com ISSN 2321 3469 DESIGN AND IMPLEMENTATION OF OPTIMIZED PACKET CLASSIFIER Kiran K C 1, Sunil T D

More information

ADDRESS LOOKUP SOLUTIONS FOR GIGABIT SWITCH/ROUTER

ADDRESS LOOKUP SOLUTIONS FOR GIGABIT SWITCH/ROUTER ADDRESS LOOKUP SOLUTIONS FOR GIGABIT SWITCH/ROUTER E. Filippi, V. Innocenti and V. Vercellone CSELT (Centro Studi e Laboratori Telecomunicazioni) Via Reiss Romoli 274 Torino, 10148 ITALY ABSTRACT The Internet

More information

Lecture 11: Packet forwarding

Lecture 11: Packet forwarding Lecture 11: Packet forwarding Anirudh Sivaraman 2017/10/23 This week we ll talk about the data plane. Recall that the routing layer broadly consists of two parts: (1) the control plane that computes routes

More information

L3 Addressing and data plane. Benjamin Baron

L3 Addressing and data plane. Benjamin Baron L3 Addressing and data plane Benjamin Baron benjamin.baron@lip6.fr L3 addressing IP Addressing Scalability Through Hierarchy Hierarchy through IP prefixes Routing between networks Allocation of address

More information

Performance Improvement of Hardware-Based Packet Classification Algorithm

Performance Improvement of Hardware-Based Packet Classification Algorithm Performance Improvement of Hardware-Based Packet Classification Algorithm Yaw-Chung Chen 1, Pi-Chung Wang 2, Chun-Liang Lee 2, and Chia-Tai Chan 2 1 Department of Computer Science and Information Engineering,

More information

Scalable High Speed IP Routing Lookups

Scalable High Speed IP Routing Lookups Scalable High Speed IP Routing Lookups Marcel Waldvogel y, George Varghese z, Jon Turner z, Bernhard Plattner y y Computer Engineering and Networks Laboratory ETH Zürich, Switzerland fwaldvogel,plattnerg@tik.ee.ethz.ch

More information

Packet classification using diagonal-based tuple space search q

Packet classification using diagonal-based tuple space search q Computer Networks 50 (2006) 1406 1423 www.elsevier.com/locate/comnet Packet classification using diagonal-based tuple space search q Fu-Yuan Lee *, Shiuhpyng Shieh Department of Computer Science and Information

More information

CS118 Discussion 1A, Week 6. Zengwen Yuan Dodd Hall 78, Friday 10:00 10:50 a.m.

CS118 Discussion 1A, Week 6. Zengwen Yuan Dodd Hall 78, Friday 10:00 10:50 a.m. CS118 Discussion 1A, Week 6 Zengwen Yuan Dodd Hall 78, Friday 10:00 10:50 a.m. 1 Outline Network Layer Overview: data v.s. control plane IPv4/IPv6, DHCP, NAT Project 2 spec Midterm review 2 Network layer:

More information

Multi-core Implementation of Decomposition-based Packet Classification Algorithms 1

Multi-core Implementation of Decomposition-based Packet Classification Algorithms 1 Multi-core Implementation of Decomposition-based Packet Classification Algorithms 1 Shijie Zhou, Yun R. Qu, and Viktor K. Prasanna Ming Hsieh Department of Electrical Engineering, University of Southern

More information