ORange: Multi Field OpenFlow based Range Classifier Liron Schiff Tel Aviv University Yehuda Afek Tel Aviv University Anat Bremler-Barr Inter Disciplinary.

Slides:



Advertisements
Similar presentations
IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
Advertisements

Liron Schiff * (TAU) Joint work with Yehuda Afek, Anat Bremler-Barr (TAU) (IDC) Recursive Design of Hardware Priority Queues Supported by European Research.
A Search Memory Substrate for High Throughput and Low Power Packet Processing Sangyeun Cho, Michel Hanna and Rami Melhem Dept. of Computer Science University.
Router/Classifier/Firewall Tables Set of rules—(F,A)  F is a filter Source and destination addresses. Port number and protocol. Time of day.  A is an.
Internet Routers
1 IP-Lookup and Packet Classification Advanced Algorithms & Data Structures Lecture Theme 08 – Part I Prof. Dr. Th. Ottmann Summer Semester 2006.
A Scalable and Reconfigurable Search Memory Substrate for High Throughput Packet Processing Sangyeun Cho and Rami Melhem Dept. of Computer Science University.
OpenFlow overview Joint Techs Baton Rouge. Classic Ethernet Originally a true broadcast medium Each end-system network interface card (NIC) received every.
1 An Efficient, Hardware-based Multi-Hash Scheme for High Speed IP Lookup Hot Interconnects 2008 Socrates Demetriades, Michel Hanna, Sangyeun Cho and Rami.
Bio Michel Hanna M.S. in E.E., Cairo University, Egypt B.S. in E.E., Cairo University at Fayoum, Egypt Currently is a Ph.D. Student in Computer Engineering.
M. Waldvogel, G. Varghese, J. Turner, B. Plattner Presenter: Shulin You UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Electrical and Computer Engineering.
Incremental Consistent Updates Naga Praveen Katta Jennifer Rexford, David Walker Princeton University.
Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.
1 TCAM Razor: A Systematic Approach Towards Minimizing Packet Classifiers in TCAMs Department of Computer Science and Information Engineering National.
OpenFlow-Based Server Load Balancing GoneWild
Ranges & Cross-Entrance Consistency with OpenFlow Liron Schiff (TAU) Joint work with Yehuda Afek (TAU) Anat Bremler-Barr (IDC) Israel Networking Day 2014.
Flowspace revisited OpenFlow Basics Flow Table Entries Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot L4 sport L4 dport Rule Action.
On the Code Length of TCAM Coding Schemes Ori Rottenstreich (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel) 1.
Efficient Multi-match Packet Classification with TCAM Fang Yu Randy H. Katz EECS Department, UC Berkeley {fyu,
張 燕 光 資訊工程學系 Dept. of Computer Science & Information Engineering,
An Efficient IP Lookup Architecture with Fast Update Using Single-Match TCAMs Author: Jinsoo Kim, Junghwan Kim Publisher: WWIC 2008 Presenter: Chen-Yu.
EaseCAM: An Energy And Storage Efficient TCAM-based IP-Lookup Architecture Rabi Mahapatra Texas A&M University;
Data Plane Verification. Background: What are network policies Alice can talk to Bob Skype traffic must go through a VoIP transcoder All traffic must.
Worst-Case TCAM Rule Expansion Ori Rottenstreich (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel)
Chapter 9 Classification And Forwarding. Outline.
Languages for Software-Defined Networks Nate Foster, Arjun Guha, Mark Reitblatt, and Alec Story, Cornell University Michael J. Freedman, Naga Praveen Katta,
Hash, Don’t Cache: Fast Packet Forwarding for Enterprise Edge Routers Minlan Yu Princeton University Joint work with Jennifer.
Cs6390 summer 2000 Tradeoffs for Packet Classification 1 Tradeoffs for Packet Classification Members: Jinxiao Song & Yan Tong.
Workshop on Software Defined Networks Spring 2014.
Cellular Core Network Architecture
1 Route Table Partitioning and Load Balancing for Parallel Searching with TCAMs Department of Computer Science and Information Engineering National Cheng.
OpenFlow-Based Server Load Balancing GoneWild Author : Richard Wang, Dana Butnariu, Jennifer Rexford Publisher : Hot-ICE'11 Proceedings of the 11th USENIX.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
PEDS: Parallel Error Detection Scheme for TCAM Devices David Hay, Politecnico di Torino Joint work with Anat Bremler Barr (IDC, Israel), Danny Hendler.
Othman Othman M.M., Koji Okamura Kyushu University 1.
Author: Haoyu Song, Fang Hao, Murali Kodialam, T.V. Lakshman Publisher: IEEE INFOCOM 2009 Presenter: Chin-Chung Pan Date: 2009/12/09.
Wire Speed Packet Classification Without TCAMs ACM SIGMETRICS 2007 Qunfeng Dong (University of Wisconsin-Madison) Suman Banerjee (University of Wisconsin-Madison)
Packet Classifiers In Ternary CAMs Can Be Smaller Qunfeng Dong (University of Wisconsin-Madison) Suman Banerjee (University of Wisconsin-Madison) Jia Wang.
Multi-Field Range Encoding for Packet Classification in TCAM Author: Yeim-Kuan Chang, Chun-I Lee and Cheng-Chien Su Publisher: INFOCOM 2011 Presenter:
CA-RAM: A High-Performance Memory Substrate for Search-Intensive Applications Sangyeun Cho, J. R. Martin, R. Xu, M. H. Hammoud and R. Melhem Dept. of Computer.
Applied Research Laboratory Edward W. Spitznagel 24 October Packet Classification using Extended TCAMs Edward W. Spitznagel, Jonathan S. Turner,
1. Outline Introduction Related work on packet classification Grouper Performance Analysis Empirical Evaluation Conclusions 2/42.
Routing Prefix Caching in Network Processor Design Huan Liu Department of Electrical Engineering Stanford University
Jennifer Rexford Princeton University MW 11:00am-12:20pm Measurement COS 597E: Software Defined Networking.
Scalable High Speed IP Routing Lookups Scalable High Speed IP Routing Lookups Authors: M. Waldvogel, G. Varghese, J. Turner, B. Plattner Presenter: Zhqi.
A Smart Pre-Classifier to Reduce Power Consumption of TCAMs for Multi-dimensional Packet Classification Yadi Ma, Suman Banerjee University of Wisconsin-Madison.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
CS 740: Advanced Computer Networks IP Lookup and classification Supplemental material 02/05/2007.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 4: Planning and Configuring Routing and Switching.
Packet Switch Architectures The following are (sometimes modified and rearranged slides) from an ACM Sigcomm 99 Tutorial by Nick McKeown and Balaji Prabhakar,
Packet Classification Using Multidimensional Cutting Sumeet Singh (UCSD) Florin Baboescu (UCSD) George Varghese (UCSD) Jia Wang (AT&T Labs-Research) Reviewed.
On-Chip Logic Minimization Roman Lysecky & Frank Vahid* Department of Computer Science and Engineering University of California, Riverside *Also with the.
Author : Lynn Choi, Hyogon Kim, Sunil Kim, Moon Hae Kim Publisher/Conf : IEEE/ACM TRANSACTIONS ON NETWORKING Speaker : De yu Chen Data :
Network Anti-Spoofing with SDN Data plane Authors:Yehuda Afek et al.
IP Routers – internal view
Load Balancing Memcached Traffic Using SDN
Be Fast, Cheap and in Control
Transport Layer Systems Packet Classification
Software Defined Networking
Yotam Harchol The Hebrew University of Jerusalem, Israel
Jason Klaus Supervisor: Duncan Elliott August 2, 2007 (Confidential)
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 4: Planning and Configuring Routing and Switching.
Scalable Memory-Less Architecture for String Matching With FPGAs
Implementing an OpenFlow Switch on the NetFPGA platform
Ct1304 Lecture#4 IPV4 Addressing Asma AlOsaimi.
Programmable Networks
Yotam Harchol The Hebrew University of Jerusalem, Israel
Worst-Case TCAM Rule Expansion
Lecture#3-IPV4 Addressing
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

ORange: Multi Field OpenFlow based Range Classifier Liron Schiff Tel Aviv University Yehuda Afek Tel Aviv University Anat Bremler-Barr Inter Disciplinary Center The 11th ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS '15) Supported by the European Research Council (ERC) Starting Grant no and by the Israel Science Foundation Grant no. 1386/11. Presenter: Netanel Cohen Inter Disciplinary Center

ActionEndStart Server r Server r Server r Drop ……………….. Source IP Address replicas Internet … Firewalls Forwarding Load Balancers DDoS mitigation ……. Range-based packet classification ActionEndStart Server r Server r Server r Drop ……………….. Destination IP Address

But OpenFlow matches can not be ranges! – Only masked values No consistent multi switch update ActionsMatch Flow Table: Flow Entry Field k…Field 2Field 1 Packet header :

Contributions Ranges classification in OpenFlow: ORange1 – Costs 2 entries per range (instead of linear with field size, usually 16 or 32) Multi Field ranges classification: ORange-k Update consistency (with ranges) – Per packet, per flow and cross-entrance

Single Field Ranges classification in OpenFlow ORange1

Ranges by Naive Prefix Expansion ActionEndStart Server A Server B w – 2 entries per range 62 entries per IPv4 range 254 entries per IPv6 range

Associative Memory chips: Properties: –Ternary values (‘0’,’1’ and ‘*’) –High throughput (300M ops per sec for 1Mb TCAM) –Used in routers (IP lookup, classification) –Expensive, high power consumption -> limited size –Sometimes used to implement Flow Tables Ternary CAMs (TCAMs) 0 * 10 ** 1 * *** in m out

A non OpenFlow Approach - PIDR [Panigrahy&Sharma2003] 1-ELCPs 0011**** … 0-ELCPs 0010**** … TCAMs: Longest common prefix (LCP):

A non OpenFlow Approach - PIDR [Panigrahy&Sharma2003] (TCAM) Query Compare Read Range Bound (TCAM) Query Read Range Bound

Adapting PIDR to OpenFlow Special hardware design – Parallel TCAMs – Query and read range bounds – Comparing with bounds Static configuration – No online updates New OpenFlow design – OpenFlow pipeline – Match+Action sets field – Compare by flow table and metadata field Dynamic configuration – Consistent updates ORange1 PIDR

A non OpenFlow Approach - PIDR [Panigrahy&Sharma2003] (TCAM) Query Compare Read Range Bound (TCAM) Query Read Range Bound

Adapting PIDR to OpenFlow Even Comparisons are Flow-Table based! Query Compare Flow Table based comparisons Read Range Bound Query Read Range Bound Flow Table match + action

Converting TCAM to Flow Table ActionsMatch (on q) Write rid,55 to metadata 0011**** q Packet: 51 qmaxrid ELCPs Flow Table

Adapting PIDR to OpenFlow ELCP1s (size n TCAM) Compare max≥q (size 2w TCAM) q qmax ELCP0s (size n TCAM) qmax RIDs (size n CAM) q max/ min rid False no match Compare min≤q (size 2w TCAM) False True qminrid Packet: Range Action Drop / controller no match True Range 0 Action

OpenFlow based Comparison patterns 0*******1******* 0******* *0*******1****** *0****** *******0*******1 *******0 ******** Result m>q m<q m>q m<q m>q m<q m=q qm Packet header 2w+1 entries w is the field's width (32 for IPv4)

Reducing Pipeline Length ELCP1s (size n TCAM) Compare max≥q (size 2w TCAM) q qmax ELCP0s (size n TCAM) qmax RIDs (size n CAM) q max/ min rid False no match Compare min≤q (size 2w TCAM) False True qminrid Packet: Range Action Drop / controller no match True No need if ranges span the entire space No need if ranges span the entire space Can be implemented by the groups table

ORange1 Implementation Space Complexity (entries per range) – Naive Approach: 2w-2 – Our work: 2 e.g. for 100 IPv4 ranges: 6,200 vs 265 entries Limitation – only disjoint ranges 2 per range + 65 for comparison table

k field Ranges Classification ORange-k

Multi Dimensional Ranges Naive expansion: #entries exponentially grows with the dimension k: Naive expansion: #entries exponentially grows with the dimension k: entries per range Bigger problem!

Field Reduction Given k-dimensional ranges:

Field Reduction We project them on each axis

Field Reduction We compose each axis to disjoint intervals [1,3] [4,6] [7,10] [11,13]

Field Reduction We re-encode the ranges according to intervals ids

Field Reduction For each packet we re-encode its field values

Field Reduction Smaller fields make much smaller k-dimensional encoding

ORange-k Implementation Re-encode each field in the metadata field Then classify by new (smaller) k field ranges MetadataPacket header fk…f2f1field k…field2field1 ORange1 Classifier #1 ORange1 Classifier #2 ORange1 Classifier #k … k dims. Classifier

ORange-k Implementation

ORange-k Space Improvement 1000 Random ranges 16bit fields

ORange-k Space Improvement Total space for 100 Random 4-dimensional ranges. Naïve expansion ORange

Consistency As time permits

Update Consistency Consistency of adding, changing and deleting ranges Three levels of consistency: Per-Packet Per-Flow Cross-Entrance

Per-Packet consistency Change affects several entries ActionEndStart Server A Server B Flow table:

Per-Packet consistency Change affects several entries Need atomicity (while traffic passes thru) Existing solutions implemented using Packet buffering, or duplicating and switching tables time Flow Table Accesses modify entry modify entry modify entry modify entry modify entry modify entry Packet match Single range update

Per-Flow Consistency [Reitblatt, Foster, Rexford, Schlesinger, Walker 2012] Internet replicas client’s IPs … ActionEndStart Server Server

Internet replicas client’s IPs Change in weights  Change in ranges … ActionEndStart Server Server But existing flow shouldn’t change Per-Flow Consistency [Wang, Butnariu, Rexford, 2011]

replicas client’s IPs … ActionEndStart Server Server Per-Flow Consistency [Wang, Butnariu, Rexford, 2011] New flow

Cross-Entrance Consistency replicas … client’s IPs Internet X SDN Network

summary Efficient Ranges implementation in OpenFlow – One dimensional – ORange1 – Multi-dimensional – ORange-k Update Consistency – Per packet – Per flow – Cross-entrance

Questions ?