SlideShare a Scribd company logo
How to implement complex policies on existing
network infrastructure
Pavel Chuprikov Kirill Kogan Sergey Nikolenko
Ajay Kharat (2019H1030011G)
BITS - Pilani
Motivation
• Network has grown complex today and requires several features like
VPN, firewall, intrusion detection etc
• Network wide policy cannot be defined on a single switch(approximately
around 750 entries per table), requires too much memory and
computation
• Need to split policy into several switches
Problem Statement
• To find scalable and manageable methods to support these
complexities without upgrading the capabilities of individual network
elements
• Splitting policy over several switches and minimizing individual flow -
table size in switches is an intractable optimization problem
• Earlier proposed solutions suffer from three problems
1. very high computation cost
2. the resulting number of table sizes can grow exponentially
3. dynamic header fields cannot be handled
Approach and Solution
• Model description:
1. Packet header H= (h1, h2, ..., hw ), bit sequence of 0 or 1
2. Classifier K = {R1, R2 , ..., Rn }, ordered set of rules with total
ordering
3. Rule Ri = (Fi , Ai ), filter Fi and pointer to action Ai
4. Filter F = (f1, f2,..., fw), bit sequence of 0, 1 and *(don’t care)
corresponding to header bits
Approach and Solution
• A classifier’s main purpose is to find the action corresponding to the
highest priority rule that matches a given header
• Two classifiers K1 and K2 are equivalent if they choose the same actions
for every possible incoming packet
• If the individual capacity of each switch adds up to the total number of
rules in the classifier then the solution works.
i.e ∑ ci >= |K|
Approach and Solution
• We simply put the first c1 rules to the first switch , then next c2 rules to
the next switch and so on until all the rules in K are covered
• The approach uses a “matched” bit. This bit ensures that the header is
matched with the rules only once among all the switches
Algorithm followed
• Runs in linear time
complexity.(i.e O(K))
Example
K #1 #2 #3 #4 Action
R1 * * 1 0 A1
R2 1 0 * * A2
R3 0 0 * * A3
R4 * * 1 1 A4
K1 #1 #2 #3 #4 Action
R1 * * 1 0 A1,
Matched=1
R2 1 0 * *
A2,
Matched =1
R3 0 0 * *
A3,
Matched =1
K2 #1 #2 #3 #4
Action
If matched==0
R4 * * 1 1
A4,
Matched = 1
Algorithm for OneBit(K<,c1,c2,…,cl)
1. Initialize K1,K2,…..,Kl to emply classifiers
2. For I in 1,2,….,l do
3. Let Ri be ci highest priority rules of K
4. for (F,A) € sorted(R,<) do
5. Append(F,[A , matched 1]) to Ki
6. if i=1 then
7. Set default action to matched  0 in Ki
8. else
9. Make Ki conditioned on matched = 1
10. Remove R from K
11. return K1,K2,……,Kl
Evaluation of the solution
Related work
• Palette : Distributing tables in software – defined networks
• Expands each bit of header one by one.
• Unable to cope with dynamic header changes.
• Optimizing the "one big switch “ abstraction in software-defined
networks
• Uses header space and overlapping technique.
• Unable to cope with dynamic header changes.

More Related Content

PPTX
K neareast neighbor algorithm presentation
PPT
Sets and disjoint sets union123
PDF
15 unionfind
PPTX
Advanced Algorithms #1 - Union/Find on Disjoint-set Data Structures.
PDF
Kmeans initialization
PPTX
PPT
Array operations
DOCX
Canopy clustering algorithm
K neareast neighbor algorithm presentation
Sets and disjoint sets union123
15 unionfind
Advanced Algorithms #1 - Union/Find on Disjoint-set Data Structures.
Kmeans initialization
Array operations
Canopy clustering algorithm

What's hot (11)

PPTX
Presentation1
PPTX
9 big o-notation
PPTX
Data Mining: Implementation of Data Mining Techniques using RapidMiner software
PDF
VHDL Encryption
PDF
Algorithm run results
PPTX
GRAPHICAL STRUCTURES in our lives
PPTX
Divide & conqre
PPTX
Data structures and Big O notation
PPTX
Ee4718
PPT
Complexity
PDF
SocNL: Bayesian Label Propagation with Confidence
Presentation1
9 big o-notation
Data Mining: Implementation of Data Mining Techniques using RapidMiner software
VHDL Encryption
Algorithm run results
GRAPHICAL STRUCTURES in our lives
Divide & conqre
Data structures and Big O notation
Ee4718
Complexity
SocNL: Bayesian Label Propagation with Confidence
Ad

Similar to How to implement complex policies on existing network infrastructure (20)

PPTX
Semantical Cognitive Scheduling
PPTX
Network-Wide Heavy-Hitter Detection with Commodity Switches
PDF
A Stochastic Model Approach for Reaching Probabilities of Message Flow in Spa...
PDF
METHODS AND ALGORITHMS FOR ASSESSING COMPUTER NETWORK PERFORMANCE
PDF
METHODS AND ALGORITHMS FOR ASSESSING COMPUTER NETWORK PERFORMANCE
PDF
METHODS AND ALGORITHMS FOR ASSESSING COMPUTER NETWORK PERFORMANCE
PDF
METHODS AND ALGORITHMS FOR ASSESSING COMPUTER NETWORK PERFORMANCE
PDF
Review on redundancy removal of rules for optimizing firewall
PDF
An Effective Strategy of Firewall Based Matching Algorithm
PDF
13 Petri Nets (22).pdf
PPTX
Monitoring "unknown unknowns" - Guy Fighel - DevOpsDays Tel Aviv 2017
PDF
Dp31547550
PDF
Gamesec23 - Scalable Learning of Intrusion Response through Recursive Decompo...
DOCX
Cross domain privacy-preserving cooperative firewall optimization
PDF
Operating Task Redistribution in Hyperconverged Networks
PDF
Real time intrusion detection in network traffic using adaptive and auto-scal...
PDF
Design And Analysis Of Algorithms Lecture Notes Mit 6046j Itebooks
PDF
The math behind big systems analysis.
PDF
Introduction to Artificial Intelligence with Python, CS50 Approach - GDG on C...
PPTX
BFS,DFS, BEST FIRST,A-STAR,AO-STAR SEARCH.pptx
Semantical Cognitive Scheduling
Network-Wide Heavy-Hitter Detection with Commodity Switches
A Stochastic Model Approach for Reaching Probabilities of Message Flow in Spa...
METHODS AND ALGORITHMS FOR ASSESSING COMPUTER NETWORK PERFORMANCE
METHODS AND ALGORITHMS FOR ASSESSING COMPUTER NETWORK PERFORMANCE
METHODS AND ALGORITHMS FOR ASSESSING COMPUTER NETWORK PERFORMANCE
METHODS AND ALGORITHMS FOR ASSESSING COMPUTER NETWORK PERFORMANCE
Review on redundancy removal of rules for optimizing firewall
An Effective Strategy of Firewall Based Matching Algorithm
13 Petri Nets (22).pdf
Monitoring "unknown unknowns" - Guy Fighel - DevOpsDays Tel Aviv 2017
Dp31547550
Gamesec23 - Scalable Learning of Intrusion Response through Recursive Decompo...
Cross domain privacy-preserving cooperative firewall optimization
Operating Task Redistribution in Hyperconverged Networks
Real time intrusion detection in network traffic using adaptive and auto-scal...
Design And Analysis Of Algorithms Lecture Notes Mit 6046j Itebooks
The math behind big systems analysis.
Introduction to Artificial Intelligence with Python, CS50 Approach - GDG on C...
BFS,DFS, BEST FIRST,A-STAR,AO-STAR SEARCH.pptx
Ad

More from AJAY KHARAT (11)

PPTX
Uncovering Bugs in P4 Programs with Assertion-based Verification
PPTX
SDPROBER: A SOFTWARE DEFINED PROBER FOR SDN
PPTX
Instrumenting Open vSwitch with Monitoring Capabilities: Designs and Challenges
PPTX
Memory and Performance Isolation for a Multi-tenant Function-based Data-plane
PPTX
NS4: Enabling Programmable Data Plane Simulation
PPTX
YATES: Rapid Prototyping for Traffic Engineering Systems
PPTX
Life in the Fast Lane: A Line-Rate Linear Road
PPTX
p4pktgen: Automated Test Case Generation for P4 Programs
PPTX
Mutual exclusion in distributed systems
PDF
virtual memory management in multi processor mach os
PPTX
Solutions to byzantine agreement problem
Uncovering Bugs in P4 Programs with Assertion-based Verification
SDPROBER: A SOFTWARE DEFINED PROBER FOR SDN
Instrumenting Open vSwitch with Monitoring Capabilities: Designs and Challenges
Memory and Performance Isolation for a Multi-tenant Function-based Data-plane
NS4: Enabling Programmable Data Plane Simulation
YATES: Rapid Prototyping for Traffic Engineering Systems
Life in the Fast Lane: A Line-Rate Linear Road
p4pktgen: Automated Test Case Generation for P4 Programs
Mutual exclusion in distributed systems
virtual memory management in multi processor mach os
Solutions to byzantine agreement problem

Recently uploaded (20)

PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PPTX
Sustainable Sites - Green Building Construction
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PDF
PPT on Performance Review to get promotions
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
web development for engineering and engineering
PPT
Mechanical Engineering MATERIALS Selection
PPTX
additive manufacturing of ss316l using mig welding
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PPT
Project quality management in manufacturing
PPTX
OOP with Java - Java Introduction (Basics)
DOCX
573137875-Attendance-Management-System-original
PDF
composite construction of structures.pdf
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Foundation to blockchain - A guide to Blockchain Tech
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
R24 SURVEYING LAB MANUAL for civil enggi
Sustainable Sites - Green Building Construction
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPT on Performance Review to get promotions
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
web development for engineering and engineering
Mechanical Engineering MATERIALS Selection
additive manufacturing of ss316l using mig welding
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
UNIT-1 - COAL BASED THERMAL POWER PLANTS
Project quality management in manufacturing
OOP with Java - Java Introduction (Basics)
573137875-Attendance-Management-System-original
composite construction of structures.pdf
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...

How to implement complex policies on existing network infrastructure

  • 1. How to implement complex policies on existing network infrastructure Pavel Chuprikov Kirill Kogan Sergey Nikolenko Ajay Kharat (2019H1030011G) BITS - Pilani
  • 2. Motivation • Network has grown complex today and requires several features like VPN, firewall, intrusion detection etc • Network wide policy cannot be defined on a single switch(approximately around 750 entries per table), requires too much memory and computation • Need to split policy into several switches
  • 3. Problem Statement • To find scalable and manageable methods to support these complexities without upgrading the capabilities of individual network elements • Splitting policy over several switches and minimizing individual flow - table size in switches is an intractable optimization problem • Earlier proposed solutions suffer from three problems 1. very high computation cost 2. the resulting number of table sizes can grow exponentially 3. dynamic header fields cannot be handled
  • 4. Approach and Solution • Model description: 1. Packet header H= (h1, h2, ..., hw ), bit sequence of 0 or 1 2. Classifier K = {R1, R2 , ..., Rn }, ordered set of rules with total ordering 3. Rule Ri = (Fi , Ai ), filter Fi and pointer to action Ai 4. Filter F = (f1, f2,..., fw), bit sequence of 0, 1 and *(don’t care) corresponding to header bits
  • 5. Approach and Solution • A classifier’s main purpose is to find the action corresponding to the highest priority rule that matches a given header • Two classifiers K1 and K2 are equivalent if they choose the same actions for every possible incoming packet • If the individual capacity of each switch adds up to the total number of rules in the classifier then the solution works. i.e ∑ ci >= |K|
  • 6. Approach and Solution • We simply put the first c1 rules to the first switch , then next c2 rules to the next switch and so on until all the rules in K are covered • The approach uses a “matched” bit. This bit ensures that the header is matched with the rules only once among all the switches
  • 7. Algorithm followed • Runs in linear time complexity.(i.e O(K))
  • 8. Example K #1 #2 #3 #4 Action R1 * * 1 0 A1 R2 1 0 * * A2 R3 0 0 * * A3 R4 * * 1 1 A4 K1 #1 #2 #3 #4 Action R1 * * 1 0 A1, Matched=1 R2 1 0 * * A2, Matched =1 R3 0 0 * * A3, Matched =1 K2 #1 #2 #3 #4 Action If matched==0 R4 * * 1 1 A4, Matched = 1 Algorithm for OneBit(K<,c1,c2,…,cl) 1. Initialize K1,K2,…..,Kl to emply classifiers 2. For I in 1,2,….,l do 3. Let Ri be ci highest priority rules of K 4. for (F,A) € sorted(R,<) do 5. Append(F,[A , matched 1]) to Ki 6. if i=1 then 7. Set default action to matched  0 in Ki 8. else 9. Make Ki conditioned on matched = 1 10. Remove R from K 11. return K1,K2,……,Kl
  • 9. Evaluation of the solution
  • 10. Related work • Palette : Distributing tables in software – defined networks • Expands each bit of header one by one. • Unable to cope with dynamic header changes. • Optimizing the "one big switch “ abstraction in software-defined networks • Uses header space and overlapping technique. • Unable to cope with dynamic header changes.