Data Structures for Packet Classification

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Data Structures for Packet Classification"

Transcription

1 Presenter: Patrick Nicholson Department of Computer Science CS840 Topics in Data Structures

2 Outline 1 The Problem 2 Hardware Solutions 3 Data Structures: 1D 4 Trie-Based Solutions

3 Packet Classification Problem: Internet routers must be able to forward packets according to increasingly sophisticated schemes, and also at higher speeds

4 Packet Classification Problem: Internet routers must be able to forward packets according to increasingly sophisticated schemes, and also at higher speeds Past: forward packets based only on destination (best effort).

5 Packet Classification Problem: Internet routers must be able to forward packets according to increasingly sophisticated schemes, and also at higher speeds Past: forward packets based only on destination (best effort). Now: next hop is determined based on more information, for quality of service purposes.

6 Definitions/Examples: Definition Packet: A 5-tuple consisting of source/destination address, source/destination port, and protocol. Example P = ( , , 4444, 21, TCP)

7 Definitions/Examples: Definition Filter or Rule: A 5-tuple that describes one or more packets. Example F = ( , , [0 : 5000], [20 : 22], )

8 Definitions/Examples: Definition Classifier: A table that maps filters to actions, where each filter has a priority. For our purposes, we will assume priorities are unique. Example Filter Action ( , , [0 : 5000], [20 : 22], UDP) flow 3 ( , , 21, 80, TCP) drop ( ,, 22, 22, ) flow 10

9 Notation: N - number of filters in the classifier

10 Notation: N - number of filters in the classifier W - the maximum number of bits used by a classifier field (IPv4 = 32)

11 Notation: N - number of filters in the classifier W - the maximum number of bits used by a classifier field (IPv4 = 32) d - the number of fields in the classifier (typically 5)

12 Hardware Solution: CAMS Modern routers use Ternary Content Addressable Memory (TCAM).

13 Hardware Solution: CAMS Modern routers use Ternary Content Addressable Memory (TCAM). Think of it as inverted RAM: you supply the content, and it supplies the memory address.

14 Hardware Solution: CAMS Modern routers use Ternary Content Addressable Memory (TCAM). Think of it as inverted RAM: you supply the content, and it supplies the memory address. It is fast, but has high cost and also takes a lot of power since it is doing comparisons brute force style in parallel.

15 Hardware Solution: CAMS Modern routers use Ternary Content Addressable Memory (TCAM). Think of it as inverted RAM: you supply the content, and it supplies the memory address. It is fast, but has high cost and also takes a lot of power since it is doing comparisons brute force style in parallel. Can we reduce cost by using data structures stored in SRAM?

16 When d = 1: Longest Prefix Matching If we handle the packet based only on destination address, the problem is simply that of longest prefix matching.

17 When d = 1: Longest Prefix Matching If we handle the packet based only on destination address, the problem is simply that of longest prefix matching. Degermark et al. (1997) Small Forwarding Tables for Fast Routing Lookups

18 When d = 1: Longest Prefix Matching If we handle the packet based only on destination address, the problem is simply that of longest prefix matching. Degermark et al. (1997) Small Forwarding Tables for Fast Routing Lookups Trie represented by bit-vectors and look-up tables: typical search req. eight memory accesses.

19 When d = 1: Longest Prefix Matching If we handle the packet based only on destination address, the problem is simply that of longest prefix matching. Degermark et al. (1997) Small Forwarding Tables for Fast Routing Lookups Trie represented by bit-vectors and look-up tables: typical search req. eight memory accesses. Alternatively: Waldvogel et al. (1997) Scalable High Speed IP Routing Lookups, uses binary search on prefixes to get O(log W ) search time...

20 When d = 1: Longest Prefix Matching If we handle the packet based only on destination address, the problem is simply that of longest prefix matching. Degermark et al. (1997) Small Forwarding Tables for Fast Routing Lookups Trie represented by bit-vectors and look-up tables: typical search req. eight memory accesses. Alternatively: Waldvogel et al. (1997) Scalable High Speed IP Routing Lookups, uses binary search on prefixes to get O(log W ) search time... But really it s the same as Q1 of our first assignment, i.e. Willard (1983).

21 Algorithms/Data Structures: d > 1 We can think of the problem in higher dimensions as the geometric problem of finding the highest priority hyper-rectangle. Here is an example for d = 2.

22 Algorithms/Data Structures: d > 1 We can think of the problem in higher dimensions as the geometric problem of finding the highest priority hyper-rectangle. Here is an example for d = 2. R S D 1 00* 11* 2 01 * * 3 10* 00* 4 11* 00* * 6 * * 01* 8 010* 10* * Destination ([0 : 15]) R1 R2 R3 R4 R5 R8 R6 R7 R6 Source ([0 : 15])

23 Algorithms/Data Structures: d > 1 There is no shortage of algorithms for solving this problem: HiCuts, Aggregate Bit Vectors, Recursive Flow Classification, etc.

24 Algorithms/Data Structures: d > 1 There is no shortage of algorithms for solving this problem: HiCuts, Aggregate Bit Vectors, Recursive Flow Classification, etc. In this talk we will cover trie-based solutions, starting with the 2D example from the last slide.

25 Hierarchical Trie R S D 1 00* 11* 2 01 * * 3 10* 00* 4 11* 00* * 6 * * 01* 8 010* 10* * Source Destination R6 R2 R3 R9 R2 R7 R2 R2 R8 R5 R2 R8 R5 R2 R5 R1 R1 R2 R5 R2 R5 R4

26 Hierarchical Trie: search for 1111/0101 R S D 1 00* 11* 2 01 * * 3 10* 00* 4 11* 00* * 6 * * 01* 8 010* 10* * R5

27 Hierarchical Trie: observations Problem: Searching is O(W ) (good), but memory is clearly O(N 2 ) which is unacceptable.

28 Set Pruning Trie with Backtracking R S D 1 00* 11* 2 01 * * 3 10* 00* 4 11* 00* * 6 * * 01* 8 010* 10* * Source Destination R3 R9 R7 R2 R6 R8 R5 R1 R4

29 Set Pruning Trie with Backtracking: search for 1111/0101 R S D 1 00* 11* 2 01 * * 3 10* 00* 4 11* 00* * 6 * * 01* 8 010* 10* * R5 0

30 Set Pruning Trie with Backtracking: observations Problem: Memory is now O(NW ) (good), but searching is O(W 2 ) (not so good).

31 Set Pruning Trie with Backtracking: observations Problem: Memory is now O(NW ) (good), but searching is O(W 2 ) (not so good). Solution: Add extra pointers.

32 Grid-of-Tries (Srinivasan et al 1998) R S D 1 00* 11* 2 01 * * 3 10* 00* 4 11* 00* * 6 * * 01* 8 010* 10* * Source Destination R3 R9 R7 R2 R6 R8 R5 R1 R4

33 Grid-of-Tries: search for 1111/0101 R S D 1 00* 11* 2 01 * * 3 10* 00* 4 11* 00* * 6 * * 01* 8 010* 10* * R5 1 0

34 Grid-of-Tries: observations Memory is now O(NW ) (good), and searching is O(W ) (also good). Additionally, since the destination trie is never visited again after finding the longest prefix, we can use any scheme we like for the top half of the trie. However...

35 Grid-of-Tries: observations Memory is now O(NW ) (good), and searching is O(W ) (also good). Additionally, since the destination trie is never visited again after finding the longest prefix, we can use any scheme we like for the top half of the trie. However... This scheme really only works in 2D:

36 Grid-of-Tries: observations Memory is now O(NW ) (good), and searching is O(W ) (also good). Additionally, since the destination trie is never visited again after finding the longest prefix, we can use any scheme we like for the top half of the trie. However... This scheme really only works in 2D: If, for example, our search terminates and finds that the port range specified for R5 doesn t match the packet, we have a serious problem.

37 Extended Grid-of-Tries (Baboescu et al. 2003) It is noted that in real-world classifiers, the number of rules that match a given packet for both source and destination address is very small: a linear search may not be terrible. The real problem with the Grid-of-tries is getting the complete list.

38 Extended Grid-of-Tries (Baboescu et al. 2003) It is noted that in real-world classifiers, the number of rules that match a given packet for both source and destination address is very small: a linear search may not be terrible. The real problem with the Grid-of-tries is getting the complete list. Solution: At each possible point of failure, add a jump pointer which allows the search to continue.

39 Extended Grid-of-Tries (Baboescu et al. 2003) R S D 1 00* 11* 2 01 * * 3 10* 00* 4 11* 00* * 6 * * 01* 8 010* 10* * f R5 f f

40 Extended Grid-of-Tries (Baboescu et al. 2003) Search: compose a list of all possible matching rules O(W 2 ) worst case...

41 Extended Grid-of-Tries (Baboescu et al. 2003) Search: compose a list of all possible matching rules O(W 2 ) worst case... however the worst case is strange and probably doesn t happen.

42 Extended Grid-of-Tries (Baboescu et al. 2003) Search: compose a list of all possible matching rules O(W 2 ) worst case... however the worst case is strange and probably doesn t happen. After searching, scan through the list and find the rule that best matches on the other fields.

43 Extended Grid-of-Tries (Baboescu et al. 2003) Search: compose a list of all possible matching rules O(W 2 ) worst case... however the worst case is strange and probably doesn t happen. After searching, scan through the list and find the rule that best matches on the other fields. Can apply path compression: N leaves 2N 1 nodes

44 Extended Grid-of-Tries (Baboescu et al. 2003) Search: compose a list of all possible matching rules O(W 2 ) worst case... however the worst case is strange and probably doesn t happen. After searching, scan through the list and find the rule that best matches on the other fields. Can apply path compression: N leaves 2N 1 nodes This works pretty well in practice, but can we do better?

45 Discussion/Questions???

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

IP Address Lookup and Packet Classification Algorithms

IP Address Lookup and Packet Classification Algorithms IP Address Lookup and Packet Classification Algorithms Zhen Xu, Jeff Nie, Xuehong Sun, and Yiqiang Q. Zhao School of Mathematics and Statistics, Carleton University Outline 1. Background 2. Two IP Address

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

Decision Forest: A Scalable Architecture for Flexible Flow Matching on FPGA

Decision Forest: A Scalable Architecture for Flexible Flow Matching on FPGA Decision Forest: A Scalable Architecture for Flexible Flow Matching on FPGA Weirong Jiang, Viktor K. Prasanna University of Southern California Norio Yamagaki NEC Corporation September 1, 2010 Outline

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

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

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

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

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

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

Lecture 5: Router Architecture. CS 598: Advanced Internetworking Matthew Caesar February 8, 2011

Lecture 5: Router Architecture. CS 598: Advanced Internetworking Matthew Caesar February 8, 2011 Lecture 5: Router Architecture CS 598: Advanced Internetworking Matthew Caesar February 8, 2011 1 IP Router... A router consists A set of input interfaces at which packets arrive A se of output interfaces

More information

Scalable Packet Classification

Scalable Packet Classification Scalable Packet Classification Florin Baboescu Dept. of Computer Science and Engineering University of California, San Diego 9500 Gilman Drive La Jolla, CA 92093-0114 baboescu@cs.ucsd.edu George Varghese

More information

Fast Firewall Implementations for Software and Hardware-based Routers

Fast Firewall Implementations for Software and Hardware-based Routers Fast Firewall Implementations for Software and Hardware-based Routers Lili Qiu George Varghese Subhash Suri liliq@microsoft.com varghese@cs.ucsd.edu suri@cs.ucsb.edu Microsoft Research University of California,

More information

Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi.

Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi. Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 18 Tries Today we are going to be talking about another data

More information

ITTC Science of Communication Networks The University of Kansas EECS 784 Identifiers, Names, and Addressing

ITTC Science of Communication Networks The University of Kansas EECS 784 Identifiers, Names, and Addressing Science of Communication Networks The University of Kansas EECS 784 Identifiers, Names, and Addressing James P.G. Sterbenz Department of Electrical Engineering & Computer Science Information Technology

More information

SSA: A Power and Memory Efficient Scheme to Multi-Match Packet Classification. Fang Yu, T.V. Lakshman, Martin Austin Motoyama, Randy H.

SSA: A Power and Memory Efficient Scheme to Multi-Match Packet Classification. Fang Yu, T.V. Lakshman, Martin Austin Motoyama, Randy H. SSA: A Power and Memory Efficient Scheme to Multi-Match Packet Classification Fang Yu, T.V. Lakshman, Martin Austin Motoyama, Randy H. Katz Presented by: Discussion led by: Sailesh Kumar Packet Classification

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

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

Internet Protocol version 6

Internet Protocol version 6 Internet Protocol version 6 Claudio Cicconetti International Master on Communication Networks Engineering 2006/2007 IP version 6 The Internet is growing extremely rapidly. The

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

CS 170 DISCUSSION 8 DYNAMIC PROGRAMMING. Raymond Chan raychan3.github.io/cs170/fa17.html UC Berkeley Fall 17

CS 170 DISCUSSION 8 DYNAMIC PROGRAMMING. Raymond Chan raychan3.github.io/cs170/fa17.html UC Berkeley Fall 17 CS 170 DISCUSSION 8 DYNAMIC PROGRAMMING Raymond Chan raychan3.github.io/cs170/fa17.html UC Berkeley Fall 17 DYNAMIC PROGRAMMING Recursive problems uses the subproblem(s) solve the current one. Dynamic

More information

PC-DUOS: Fast TCAM Lookup and Update for Packet Classifiers

PC-DUOS: Fast TCAM Lookup and Update for Packet Classifiers PC-DUOS: Fast TCAM Lookup and Update for Packet Classifiers Tania Mishra and Sartaj Sahni Department of Computer and Information Science and Engineering, University of Florida, Gainesville, FL 326 {tmishra,

More information

Fast Update of Forwarding Tables in Internet Router Using AS Numbers Λ

Fast Update of Forwarding Tables in Internet Router Using AS Numbers Λ Fast Update of Forwarding Tables in Internet Router Using AS Numbers Λ Heonsoo Lee, Seokjae Ha, and Yanghee Choi School of Computer Science and Engineering Seoul National University San 56-1, Shilim-dong,

More information

Application of TRIE data structure and corresponding associative algorithms for process optimization in GRID environment

Application of TRIE data structure and corresponding associative algorithms for process optimization in GRID environment Application of TRIE data structure and corresponding associative algorithms for process optimization in GRID environment V. V. Kashansky a, I. L. Kaftannikov b South Ural State University (National Research

More information

Computer Network Fundamentals Spring Week 4 Network Layer Andreas Terzis

Computer Network Fundamentals Spring Week 4 Network Layer Andreas Terzis Computer Network Fundamentals Spring 2008 Week 4 Network Layer Andreas Terzis Outline Internet Protocol Service Model Addressing Original addressing scheme Subnetting CIDR Fragmentation ICMP Address Shortage

More information

Fast binary and multiway prefix searches for packet forwarding

Fast binary and multiway prefix searches for packet forwarding Computer Networks 5 (27) 588 65 www.elsevier.com/locate/comnet Fast binary and multiway prefix searches for packet forwarding Yeim-Kuan Chang Department of Computer Science and Information Engineering,

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

Top-Down Network Design

Top-Down Network Design Top-Down Network Design Chapter Six Designing Models for Addressing and Naming Copyright 2010 Cisco Press & Priscilla Oppenheimer Guidelines for Addressing and Naming Use a structured model for addressing

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

Router Design: Table Lookups and Packet Scheduling EECS 122: Lecture 13

Router Design: Table Lookups and Packet Scheduling EECS 122: Lecture 13 Router Design: Table Lookups and Packet Scheduling EECS 122: Lecture 13 Department of Electrical Engineering and Computer Sciences University of California Berkeley Review: Switch Architectures Input Queued

More information

Scalable High-Speed Prefix Matching

Scalable High-Speed Prefix Matching Scalable High-Speed Prefix Matching Marcel Waldvogel Washington University in St. Louis and George Varghese University of California, San Diego and Jon Turner Washington University in St. Louis and Bernhard

More information

OSI Network Layer. Chapter 5

OSI Network Layer. Chapter 5 OSI Network Layer Network Fundamentals Chapter 5 Objectives Identify the role of the Network Layer, as it describes communication from one end device to another end device. Examine the most common Network

More information

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

Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers ABSTRACT Jing Fu KTH, Royal Institute of Technology Stockholm, Sweden jing@kth.se Virtual routers are a promising

More information

Decision Forest: A Scalable Architecture for Flexible Flow Matching on FPGA

Decision Forest: A Scalable Architecture for Flexible Flow Matching on FPGA 2010 International Conference on Field Programmable Logic and Applications Decision Forest: A Scalable Architecture for Flexible Flow Matching on FPGA Weirong Jiang, Viktor K. Prasanna Ming Hsieh Department

More information

Packet Classification for Core Routers: Is there an alternative to CAMs?

Packet Classification for Core Routers: Is there an alternative to CAMs? Packet Classification for Core Routers: Is there an alternative to CAMs? Florin Baboescu, Sumeet Singh, George Varghese Abstract A classifier consists of a set of rules for classifying packets based on

More information

CS 43: Computer Networks The Network Layer. Kevin Webb Swarthmore College November 2, 2017

CS 43: Computer Networks The Network Layer. Kevin Webb Swarthmore College November 2, 2017 CS 43: Computer Networks The Network Layer Kevin Webb Swarthmore College November 2, 2017 TCP/IP Protocol Stack host host HTTP Application Layer HTTP TCP Transport Layer TCP router router IP IP Network

More information

Predecessor. Predecessor. Predecessors. Predecessors. Predecessor Problem van Emde Boas Tries. Predecessor Problem van Emde Boas Tries.

Predecessor. Predecessor. Predecessors. Predecessors. Predecessor Problem van Emde Boas Tries. Predecessor Problem van Emde Boas Tries. Philip Bille s problem. Maintain a set S U = {,..., u-} supporting predecessor(x): return the largest element in S that is x. sucessor(x): return the smallest element in S that is x. insert(x): set S =

More information

Routers: Forwarding EECS 122: Lecture 13

Routers: Forwarding EECS 122: Lecture 13 Routers: Forwarding EECS 122: Lecture 13 epartment of Electrical Engineering and Computer Sciences University of California Berkeley Router Architecture Overview Two key router functions: run routing algorithms/protocol

More information

Memory Hierarchy Design for a Multiprocessor Look-up Engine

Memory Hierarchy Design for a Multiprocessor Look-up Engine Memory Hierarchy Design for a Multiprocessor Look-up Engine Jean-Loup Baer, Douglas Low, Patrick Crowley, Neal Sidhwaney Department of Computer Science and Engineering University of Washington baer,douglas,pcrowley

More information

CSCI 104 Tries. Mark Redekopp David Kempe

CSCI 104 Tries. Mark Redekopp David Kempe 1 CSCI 104 Tries Mark Redekopp David Kempe TRIES 2 3 Review of Set/Map Again Recall the operations a set or map performs Insert(key) Remove(key) find(key) : bool/iterator/pointer Get(key) : value [Map

More information

COMP/ELEC 429/556 Introduction to Computer Networks

COMP/ELEC 429/556 Introduction to Computer Networks COMP/ELEC 429/556 Introduction to Computer Networks Let s Build a Scalable Global Network - IP Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene

More information

HW3 and Quiz. P14, P24, P26, P27, P28, P31, P37, P43, P46, P55, due at 3:00pm with both soft and hard copies, 11/11/2013 (Monday) TCP), 20 mins

HW3 and Quiz. P14, P24, P26, P27, P28, P31, P37, P43, P46, P55, due at 3:00pm with both soft and hard copies, 11/11/2013 (Monday) TCP), 20 mins HW3 and Quiz v HW3 (Chapter 3): R1, R2, R5, R6, R7, R8, R15, P14, P24, P26, P27, P28, P31, P37, P43, P46, P55, due at 3:00pm with both soft and hard copies, 11/11/2013 (Monday) v Quiz: 10/30/2013, Wednesday,

More information

Network Layer/IP Protocols

Network Layer/IP Protocols Network Layer/IP Protocols 1 Outline IP Datagram (IPv4) NAT Connection less and connection oriented service 2 IPv4 packet header 3 IPv4 Datagram Header Format version of the IP protocol (4 BIts) IP header

More information

Flow Caching for High Entropy Packet Fields

Flow Caching for High Entropy Packet Fields Flow Caching for High Entropy Packet Fields Nick Shelly Nick McKeown! Ethan Jackson Teemu Koponen Jarno Rajahalme Outline Current flow classification in OVS Problems with high entropy packets Proposed

More information

IP LOOK-UP WITH TIME OR MEMORY GUARANTEE AND LOW UPDATE TIME 1

IP LOOK-UP WITH TIME OR MEMORY GUARANTEE AND LOW UPDATE TIME 1 2005 IEEE International Symposium on Signal Processing and Information Technology IP LOOK-UP WITH TIME OR MEMORY GUARANTEE AND LOW UPDATE TIME 1 G.T. Kousiouris and D.N. Serpanos Dept. of Electrical and

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

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

NETWORK SECURITY PROVISION BY MEANS OF ACCESS CONTROL LIST

NETWORK SECURITY PROVISION BY MEANS OF ACCESS CONTROL LIST INTERNATIONAL JOURNAL OF REVIEWS ON RECENT ELECTRONICS AND COMPUTER SCIENCE NETWORK SECURITY PROVISION BY MEANS OF ACCESS CONTROL LIST Chate A.B 1, Chirchi V.R 2 1 PG Student, Dept of CNE, M.B.E.S College

More information

Scalable High Throughput and Power Efficient IP-Lookup on FPGA

Scalable High Throughput and Power Efficient IP-Lookup on FPGA Scalable High Throughput and Power Efficient IP-Lookup on FPGA Hoang Le and Viktor K. Prasanna Ming Hsieh Department of Electrical Engineering University of Southern California Los Angeles, USA {hoangle,

More information

An Introduction to Trees

An Introduction to Trees An Introduction to Trees Alice E. Fischer Spring 2017 Alice E. Fischer An Introduction to Trees... 1/34 Spring 2017 1 / 34 Outline 1 Trees the Abstraction Definitions 2 Expression Trees 3 Binary Search

More information

Introduction to Algorithms

Introduction to Algorithms Lecture 1 Introduction to Algorithms 1.1 Overview The purpose of this lecture is to give a brief overview of the topic of Algorithms and the kind of thinking it involves: why we focus on the subjects that

More information

A middle ground between CAMs and DAGs for high-speed packet classification

A middle ground between CAMs and DAGs for high-speed packet classification A middle ground between CAMs and DAGs for high-speed packet classification Amit Prakash Adnan Aziz The University of Texas at Austin Abstract Packet classification is a computationally intensive task that

More information

12 Advanced IP Addressing

12 Advanced IP Addressing 12 Advanced IP Addressing CERTIFICATION OBJECTIVES 12.01 Variable-Length Subnet Masking 12.02 Route Summarization Q&A Two-Minute Drill Self Test 2 Chapter 12: Advanced IP Addressing In Chapter 11, you

More information

Cisco Nexus 9508 Switch Power and Performance

Cisco Nexus 9508 Switch Power and Performance White Paper Cisco Nexus 9508 Switch Power and Performance The Cisco Nexus 9508 brings together data center switching power efficiency and forwarding performance in a high-density 40 Gigabit Ethernet form

More information

OSI Network Layer. Network Fundamentals Chapter 5. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

OSI Network Layer. Network Fundamentals Chapter 5. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1 OSI Network Layer Network Fundamentals Chapter 5 Version 4.0 1 Objectives Identify the role of the Network Layer, as it describes communication from one end device to another end device. Examine the most

More information

Putting it all together

Putting it all together Putting it all together What happens when a user shows up to a new network and wants to access a web site? (These are new slides. Please stop and ask questions if anything is unclear!) Scenario Scenario

More information

Quality of Service in the Internet

Quality of Service in the Internet Quality of Service in the Internet Problem today: IP is packet switched, therefore no guarantees on a transmission is given (throughput, transmission delay, ): the Internet transmits data Best Effort But:

More information

Chapter 4 Network Layer: The Data Plane. Part A. Computer Networking: A Top Down Approach

Chapter 4 Network Layer: The Data Plane. Part A. Computer Networking: A Top Down Approach Chapter 4 Network Layer: The Data Plane Part A All material copyright 996-06 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach 7 th Edition, Global Edition Jim Kurose,

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

Overview. Internetworking and Reliable Transmission. CSE 561 Lecture 3, Spring David Wetherall. Internetworking. Reliable Transmission

Overview. Internetworking and Reliable Transmission. CSE 561 Lecture 3, Spring David Wetherall. Internetworking. Reliable Transmission Internetworking and Reliable Transmission CSE 561 Lecture 3, Spring 2002. David Wetherall Overview Internetworking Addressing Packet size Error detection Gateway services Reliable Transmission Stop and

More information

What did we talk about last time? Finished hunters and prey Class variables Constants Class constants Started Big Oh notation

What did we talk about last time? Finished hunters and prey Class variables Constants Class constants Started Big Oh notation Week 12 - Friday What did we talk about last time? Finished hunters and prey Class variables Constants Class constants Started Big Oh notation Here is some code that sorts an array in ascending order

More information

Internet Routing Protocols Part II

Internet Routing Protocols Part II Indian Institute of Technology Kharagpur Internet Routing Protocols Part II Prof. Indranil Sen Gupta Dept. of Computer Science & Engg. I.I.T. Kharagpur, INDIA Lecture 8: Internet routing protocols Part

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

KUPF: 2-Phase Selection Model of Classification Records

KUPF: 2-Phase Selection Model of Classification Records KUPF: 2-Phase Selection Model of Classification Records KAKIUCHI Masatoshi Nara Institute of Science and Technology Background Many Internet services classify the data to be handled according to rules

More information

HIGH PERFORMANCE CACHE ARCHITECTURES FOR IP ROUTING: REPLACEMENT, COMPACTION AND SAMPLING SCHEMES RUIRUI GUO

HIGH PERFORMANCE CACHE ARCHITECTURES FOR IP ROUTING: REPLACEMENT, COMPACTION AND SAMPLING SCHEMES RUIRUI GUO HIGH PERFORMANCE CACHE ARCHITECTURES FOR IP ROUTING: REPLACEMENT, COMPACTION AND SAMPLING SCHEMES By RUIRUI GUO A dissertation submitted in partial fulfillment of the requirements for the degree of DOCTOR

More information

ABC: Adaptive Binary Cuttings for Multidimensional Packet Classification

ABC: Adaptive Binary Cuttings for Multidimensional Packet Classification 98 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 21, NO. 1, FEBRUARY 2013 ABC: Adaptive Binary Cuttings for Multidimensional Packet Classification Haoyu Song, Member, IEEE, and Jonathan S. Turner, Fellow,

More information

Understanding Cisco Express Forwarding

Understanding Cisco Express Forwarding Understanding Cisco Express Forwarding Document ID: 47321 Contents Introduction Prerequisites Requirements Components Used Conventions Overview CEF Operations Updating the GRP's Routing Tables Packet Forwarding

More information

x-fast and y-fast Tries

x-fast and y-fast Tries x-fast and y-fast Tries Problem Problem Set Set 7 due due in in the the box box up up front. front. That's That's the the last last problem problem set set of of the the quarter! quarter! Outline for Today

More information

CSE/EE 461 The Network Layer. Application Presentation Session Transport Network Data Link Physical

CSE/EE 461 The Network Layer. Application Presentation Session Transport Network Data Link Physical CSE/EE 461 The Network Layer Application Presentation Session Transport Network Data Link Physical This Lecture Focus: What to do when one wire isn t big enough? Point to point link Broadcast link (Ethernet

More information

Design and Performance of the OpenBSD Stateful Packet Filter (pf)

Design and Performance of the OpenBSD Stateful Packet Filter (pf) Usenix 2002 p.1/22 Design and Performance of the OpenBSD Stateful Packet Filter (pf) Daniel Hartmeier dhartmei@openbsd.org Systor AG Usenix 2002 p.2/22 Introduction part of a firewall, working on IP packet

More information

Network layer: Overview. Network Layer Functions

Network layer: Overview. Network Layer Functions Network layer: Overview Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing 1 Network Layer Functions Transport packet from sending to receiving hosts Network layer protocols in every

More information

Architectures for Distributed Systems

Architectures for Distributed Systems Distributed Systems and Middleware 2013 2: Architectures Architectures for Distributed Systems Components A distributed system consists of components Each component has well-defined interface, can be replaced

More information

Configuring Policy-Based Routing

Configuring Policy-Based Routing 25 CHAPTER This chapter describes the tasks for configuring policy-based routing (PBR) on a router and includes these major sections: Overview of Policy-Based Routing, page 25-1 Policy-Based Routing Configuration

More information

1. Gusfield text for chapter 5&6 about suffix trees are scanned and uploaded on the web 2. List of Project ideas is uploaded

1. Gusfield text for chapter 5&6 about suffix trees are scanned and uploaded on the web 2. List of Project ideas is uploaded Date: Thursday, February 8 th Lecture: Dr. Mihai Pop Scribe: Hyoungtae Cho dministrivia. Gusfield text for chapter &6 about suffix trees are scanned and uploaded on the web. List of Project ideas is uploaded

More information

Lecture 13. Quality of Service II CM0256

Lecture 13. Quality of Service II CM0256 Lecture 13 Quality of Service II CM0256 Types of QoS Best Effort Services Integrated Services -- resource reservation network resources are assigned according to the application QoS request and subject

More information

Page 1. CS162 Operating Systems and Systems Programming Lecture 22. Networking III. Automatic Repeat Request

Page 1. CS162 Operating Systems and Systems Programming Lecture 22. Networking III. Automatic Repeat Request Review CS162 Operating Systems and Systems Programming Lecture 22 Networking III April 22, 2010 Ion Stoica http://inst.eecs.berkeley.edu/~cs162 Link (link) layer: Broadcast network; frames sent by one

More information

Topology of the Internet. Autonomous Systems (AS) Two-Level Routing. Why are there different Protocols?

Topology of the Internet. Autonomous Systems (AS) Two-Level Routing. Why are there different Protocols? Topology of the Internet Autonomous Systems (AS) The global Internet consists of Autonomous Systems (AS) interconnected with each other: - Collection of routers under same administrative control, all running

More information

Managing and Securing Computer Networks. Guy Leduc. Chapter 2: Software-Defined Networks (SDN) Chapter 2. Chapter goals:

Managing and Securing Computer Networks. Guy Leduc. Chapter 2: Software-Defined Networks (SDN) Chapter 2. Chapter goals: Managing and Securing Computer Networks Guy Leduc Chapter 2: Software-Defined Networks (SDN) Mainly based on: Computer Networks and Internets, 6 th Edition Douglas E. Comer Pearson Education, 2015 (Chapter

More information

Spatial Data Structures for Computer Graphics

Spatial Data Structures for Computer Graphics Spatial Data Structures for Computer Graphics Page 1 of 65 http://www.cse.iitb.ac.in/ sharat November 2008 Spatial Data Structures for Computer Graphics Page 1 of 65 http://www.cse.iitb.ac.in/ sharat November

More information

Tree, Segment Table, and Route Bucket: A Multistage Algorithm for IPv6 Routing Table Lookup

Tree, Segment Table, and Route Bucket: A Multistage Algorithm for IPv6 Routing Table Lookup Tree, Segment Table, and Route Bucket: A Multistage Algorithm for IPv6 Routing Table Lookup Zhenqiang LI Dongqu ZHENG Yan MA School of Computer Science and Technology Network Information Center Beijing

More information

Lecture 9 March 4, 2010

Lecture 9 March 4, 2010 6.851: Advanced Data Structures Spring 010 Dr. André Schulz Lecture 9 March 4, 010 1 Overview Last lecture we defined the Least Common Ancestor (LCA) and Range Min Query (RMQ) problems. Recall that an

More information

CSC 401 Data and Computer Communications Networks

CSC 401 Data and Computer Communications Networks CSC 401 Data and Computer Communications Networks Network Layer IPv4, Format and Addressing,, IPv6 Prof. Lina Battestilli Fall 2017 Chapter 4 Outline Network Layer: Data Plane 4.1 Overview of Network layer

More information

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

Quality of Service in the Internet. QoS Parameters. Keeping the QoS. Leaky Bucket Algorithm Quality of Service in the Internet Problem today: IP is packet switched, therefore no guarantees on a transmission is given (throughput, transmission delay, ): the Internet transmits data Best Effort But:

More information

IPv6: An Introduction

IPv6: An Introduction Outline IPv6: An Introduction Dheeraj Sanghi Department of Computer Science and Engineering Indian Institute of Technology Kanpur dheeraj@iitk.ac.in http://www.cse.iitk.ac.in/users/dheeraj Problems with

More information

Mapping of Address and Port using Translation (MAP-T) E. Jordan Gottlieb Network Engineering and Architecture

Mapping of Address and Port using Translation (MAP-T) E. Jordan Gottlieb Network Engineering and Architecture Mapping of Address and Port using Translation (MAP-T) E. Jordan Gottlieb Network Engineering and Architecture jordan.gottlieb@charter.com. What is MAP-T? One of two transport modes of MAP Mapping of Address

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

Juniper Exam JN0-102 Juniper Networks Certified Internet Associate, Junos (JNCIA- Junos) Version: 8.0 [ Total Questions: 319 ]

Juniper Exam JN0-102 Juniper Networks Certified Internet Associate, Junos (JNCIA- Junos) Version: 8.0 [ Total Questions: 319 ] s@lm@n Juniper Exam JN0-102 Juniper Networks Certified Internet Associate, Junos (JNCIA- Junos) Version: 8.0 [ Total Questions: 319 ] Topic 1, Volume A Question No : 1 - (Topic 1) The IP address 10.1.1.1

More information

String Matching. Pedro Ribeiro 2016/2017 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) String Matching 2016/ / 42

String Matching. Pedro Ribeiro 2016/2017 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) String Matching 2016/ / 42 String Matching Pedro Ribeiro DCC/FCUP 2016/2017 Pedro Ribeiro (DCC/FCUP) String Matching 2016/2017 1 / 42 On this lecture The String Matching Problem Naive Algorithm Deterministic Finite Automata Knuth-Morris-Pratt

More information

Performance analysis of packet classification algorithms on network processors

Performance analysis of packet classification algorithms on network processors Oregon Health & Science University OHSU Digital Commons Scholar Archive May 2003 Performance analysis of packet classification algorithms on network processors Deepa Srinivasan Follow this and additional

More information

IBGP internals. BGP Advanced Topics. Agenda. BGP Continuity 1. L49 - BGP Advanced Topics. L49 - BGP Advanced Topics

IBGP internals. BGP Advanced Topics. Agenda. BGP Continuity 1. L49 - BGP Advanced Topics. L49 - BGP Advanced Topics IBGP internals BGP Advanced Topics main IBGP aspects inside an AS continuity all packets entering the AS that were not blocked by some policies should reach the proper exit BGP router all transit routers

More information

The IP Data Plane: Packets and Routers

The IP Data Plane: Packets and Routers The IP Data Plane: Packets and Routers EE 122, Fall 2013 Sylvia Ratnasamy http://inst.eecs.berkeley.edu/~ee122/ Material thanks to Ion Stoica, Scott Shenker, Jennifer Rexford, Nick McKeown, and many other

More information

Bit Weaving: A Non-prefix Approach to Compressing Packet Classifiers in TCAMs

Bit Weaving: A Non-prefix Approach to Compressing Packet Classifiers in TCAMs 1 Bit Weaving: A Non-prefix Approach to Compressing Packet Classifiers in TCAMs Chad R. Meiners Alex X. Liu Eric Torng Abstract Ternary Content Addressable Memories (TCAMs) have become the de facto standard

More information

Building the Routing Table. Introducing the Routing Table Directly Connected Networks Static Routing Dynamic Routing Routing Table Principles

Building the Routing Table. Introducing the Routing Table Directly Connected Networks Static Routing Dynamic Routing Routing Table Principles Building the Routing Table Introducing the Routing Table Directly Connected Networks Static Routing Dynamic Routing Routing Table Principles Introducing the Routing Table R1# show ip route Codes: C - connected,

More information

Quality of Service Setup Guide (NB14 Series)

Quality of Service Setup Guide (NB14 Series) Quality of Service Setup Guide (NB14 Series) About This Quality of Service (QoS) Guide Quality of Service refers to the reservation of bandwidth resources on the Nb14 Series router to provide different

More information

sflow (http://www.sflow.org) Agent Software Description

sflow (http://www.sflow.org) Agent Software Description sflow (http://www.sflow.org) sflow Agent Software Description This slide set is intended as a guide to InMon s example sflow agent software. The concepts and design choices are illustrated. The intention

More information

EXAM - JN Junos, Associate (JNCIA-Junos) Buy Full Product.

EXAM - JN Junos, Associate (JNCIA-Junos) Buy Full Product. Juniper EXAM - JN0-102 Junos, Associate (JNCIA-Junos) Buy Full Product http://www.examskey.com/jn0-102.html Examskey Juniper JN0-102 exam demo product is here for you to test the quality of the product.

More information

Lecture 8. Reminder: Homework 3, Programming Project 2 due on Thursday. Questions? Tuesday, September 20 CS 475 Networks - Lecture 8 1

Lecture 8. Reminder: Homework 3, Programming Project 2 due on Thursday. Questions? Tuesday, September 20 CS 475 Networks - Lecture 8 1 Lecture 8 Reminder: Homework 3, Programming Project 2 due on Thursday. Questions? Tuesday, September 20 CS 475 Networks - Lecture 8 1 Outline Chapter 3 - Internetworking 3.1 Switching and Bridging 3.2

More information

RMIT University. Data Communication and Net-Centric Computing COSC 1111/2061. Lecture 2. Internetworking IPv4, IPv6

RMIT University. Data Communication and Net-Centric Computing COSC 1111/2061. Lecture 2. Internetworking IPv4, IPv6 RMIT University Data Communication and Net-Centric Computing COSC 1111/2061 Internetworking IPv4, IPv6 Technology Slide 1 Lecture Overview During this lecture, we will understand The principles of Internetworking

More information

Subnetting. This Hour. Subnetting. Hour 5

Subnetting. This Hour. Subnetting. Hour 5 Subnetting Hour 5 This Hour Explain how subnets are used Explain the benefits of subnetting Develop a subnet mask that meets business needs Classless Internet Domain Routing / Supernetting Subnetting Subnet

More information

Implementations. Priority Queues. Heaps and Heap Order. The Insert Operation CS206 CS206

Implementations. Priority Queues. Heaps and Heap Order. The Insert Operation CS206 CS206 Priority Queues An internet router receives data packets, and forwards them in the direction of their destination. When the line is busy, packets need to be queued. Some data packets have higher priority

More information