FlowTags: Enforcing Network-Wide Policies with Dynamic Middlebox Actions

Enforcing Network-Wide Policies in
the Presence of Dynamic Middlebox
Actions using FlowTags
Seyed K. Fayazbakhsh
*
, Luis Chiang
, Vyas Sekar
*
,
Minlan Yu
, Jeffrey Mogul
*
CMU, 
Deutsche Telekom, 
USC,  Google
Data Plane
Policy:
E.g., service chaining,
access control
Middleboxes complicate
policy enforcement in SDN
2
Dynamic and 
traffic-dependent
modifications!
e.g., NATs, proxies
Modifications 
 
Attribution is hard
3
S
1
S
2
Firewall
NAT
Internet
H
1
Block the access of H
2 
to certain websites.
 
H
2
Dynamic actions 
 
Policy violations
S
1
S
2
Proxy
Internet
H
2
H
1
Web ACL
Block H
2
 
 xyz.com
1. Get xyz.com
 
3. Get xyz.com
 
4. Cached response
2. Response
4
 
Cached
response
 
Our work: FlowTags
5
FlowTags provides an architectural solution:
 
 Enables policy enforcement and diagnosis
 
despite dynamic middlebox actions.
Some candidate (non-)solutions:
Placement, tunneling, consolidation, correlation
Address some symptoms but not root cause
 OriginBinding and PathsFollowPolicy violations
Outline
Motivation
High-level Idea
FlowTags Design
Evaluation
6
High-level idea
Middleboxes need to restore SDN tenets
Possibly only option for correctness
Minimal changes to middleboxes
Add missing contextual information as Tags
NAT gives IP mappings,
Proxy provides cache hit/miss info
FlowTags controller configures tagging logic
7
Control Apps
e.g., steering, verification
Control Apps
Network OS
Control plane
Data plane
SDN
Switches
FlowTable
Middleboxes
FlowTags
Tables
New control apps
e.g., policy steering, verification
Admin
Mbox
Config
FlowTags
APIs
Existing APIs
e.g., OpenFlow
FlowTags architecture
8
 
FlowTags
Enhanced
 
Policy
Web ACL
Block:  10.1.1.2 
 xyz.com
Config w.r.t original principals
FlowTags in action
9
S
1
S
2
Proxy
Internet
H
1
10.1.1.1
H
2
10.1.1.2
xyz.com
 
DROP
Outline
Motivation
High-level Idea of FlowTags
FlowTags Design
Evaluation
10
Challenge 1: Tag Semantics
11
S
1
S
2
Proxy
Internet
H
1
10.1.1.1
H
2
10.1.1.2
Control plane
Data plane
FlowTags-enhanced
SDN Controller
Web ACL
Challenge 2: New APIs, control apps
12
FlowTags-enhanced
SDN Controller
S
1
S
2
Proxy
Internet
H
1
10.1.1.1
H
2
10.1.1.2
Web ACL
Control plane
Data plane
Challenge 3: Middlebox Extensions
13
FlowTags-enhanced
SDN Controller
S
1
S
2
Proxy
Internet
H
1
10.1.1.1
H
2
10.1.1.2
Web ACL
Control plane
Data plane
Outline
Motivation
High-level Idea of FlowTags
FlowTags Design
Tag semantics
Controller and APIs
Middlebox modification
Evaluation
14
Semantics: Dynamic Policy Graph (DPG)
15
S
1
S
2
Proxy
Internet
H
2
H
1
Web ACL: Block H
2
 
 xyz.com
 
Proxy
ACL
Internet
 
{H
2
};  Blocked
H
1
H
2
 
{H
1
}; -
 
{H
2
}; -
 
{H
2
}; Hit
{H
2
}; Miss
 
 {H
2
}; <Allowed,Miss>
 
{H
1
}; Miss
 
{H
2
}; <Allowed,Hit>
Drop
 
{H
1
}; Hit
Semantics: Dynamic Policy Graph (DPG)
16
Intuitively, need a Tag <per flow, per-edge> in DPG
S
1
S
2
Proxy
Internet
H
2
H
1
Web ACL: Block H
2
 
 xyz.com
Proxy
ACL
Internet
{H
2
};  Blocked
H
1
H
2
{H
1
}; -
{H
2
}; -
{H
2
}; Hit
{H
2
}; Miss
 {H
2
}; <Allowed,Miss>
{H
1
}; Miss
{H
2
}; <Allowed,Hit>
Drop
{H
1
}; Hit
Outline
Motivation
High-level Idea of FlowTags
FlowTags Design
Tag semantics
Controller and APIs
Middlebox modification
Evaluation
17
FlowTags APIs
18
S
1
S
2
Internet
H
1
10.1.1.1
H
2
10.1.1.2
FlowTags-enhanced
SDN Controller
OpenFlow
FlowTags
Generate Tag
Web ACL
Proxy
19
FlowTags-enhanced controller
 
Policy DPG
Physical
realization
S
1
S
2
S
3
S
4
 
Reactive
Outline
Motivation
High-level Idea of FlowTags
FlowTags Design
Tag semantics
Controller and APIs
Middlebox modification
Evaluation
20
Middlebox extension strategies
to add FlowTags support
21
Pro: One shot
Con: Hard to get internal context
input
traffic
output
traffic
Light-weight packet
rewriting shims
Middlebox
Strategy 1: Packet Rewriting
module
module
module
module
module
module
Middlebox extension strategies
to add FlowTags support
22
Pro: More change is needed
Con: Suited for getting internal context
input
traffic
output
traffic
Middlebox
Strategy 2: Module Modification
module
module
module
module
module
module
Middlebox extension strategies
to add FlowTags support
23
Our Strategy:
Packet rewriting for Tag consumption
Module modification for Tag generation
input
traffic
output
traffic
Middlebox
S
h
i
m
module
module
module
module
module
module
Outline
Motivation
High-level Idea of FlowTags
FlowTags Design
Evaluation
24
Key evaluation questions
Feasibility of middlebox modification
FlowTags overhead
Number of Tag bits
New capabilities
25
FlowTags needs minimal
middlebox modifications
26
FlowTags adds low overhead
 
27
 
Breakdown of flow
processing time (ms)
Abilene  Geant  Telstra  Sprint  Verizon  AT&T
11
 
        22         44          52          70        115
1.
4
1.
2
1
0.
8
0.
6
0.
4
0.
2
0
Controller Processing
Middlebox Tag Processing
Switch Setup
# PoPs:
Summary of other results
 
Adds < 1% overhead to middlebox processing
 
Tags can be encoded in ~ 15 bits
E.g., IP-ID, IPv6 FlowLabel, EncapHeaders (NVP)
 
Can enable new capabilities
Extended header space analysis
Diagnosing network bottlenecks
28
Conclusions
 
Middleboxes complicate enforcement
E.g., NAT/LB rewrite headers, proxy sends cached response
Root cause: Violation of the SDN tenets
Origin Binding and Paths-Follow-Policy
FlowTags extends SDN with new middlebox APIs
Restores tenets using new DPG abstraction
No changes to switches and switch APIs
FlowTags is practical
Minimal middlebox changes, low overhead
An enabler for verification, testing, and diagnosis
 
29
Slide Note
Embed
Share

This research focuses on enforcing network-wide policies in the presence of dynamic middlebox actions using FlowTags. It addresses the complexity middleboxes introduce to policy enforcement in software-defined networks (SDNs). The FlowTags architecture enables policy enforcement and diagnosis despite dynamic changes in middlebox behavior.

  • FlowTags
  • Policy Enforcement
  • Dynamic Middlebox Actions
  • SDN
  • Network Architecture

Uploaded on Sep 23, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Enforcing Network-Wide Policies in the Presence of Dynamic Middlebox Actions using FlowTags Seyed K. Fayazbakhsh*, Luis Chiang , Vyas Sekar*, Minlan Yu , Jeffrey Mogul *CMU, Deutsche Telekom, USC, Google

  2. Middleboxes complicate policy enforcement in SDN Policy: E.g., service chaining, access control Control Apps Network OS Dynamic and traffic-dependent modifications! e.g., NATs, proxies Data Plane 2

  3. Modifications Attribution is hard Block the access of H2 to certain websites. Firewall NAT H1 Internet S1 S2 H2 3

  4. Dynamic actions Policy violations Web ACL Block H2 xyz.com Proxy H1 Cached response Internet S2 S1 H2 4

  5. Our work: FlowTags Some candidate (non-)solutions: Placement, tunneling, consolidation, correlation Address some symptoms but not root cause OriginBinding and PathsFollowPolicy violations FlowTags provides an architectural solution: Enables policy enforcement and diagnosis despite dynamic middlebox actions. 5

  6. Outline Motivation High-level Idea FlowTags Design Evaluation 6

  7. High-level idea Middleboxes need to restore SDN tenets Possibly only option for correctness Minimal changes to middleboxes Add missing contextual information as Tags NAT gives IP mappings, Proxy provides cache hit/miss info FlowTags controller configures tagging logic 7

  8. FlowTags architecture Admin Control Apps e.g., steering, verification Control Apps New control apps e.g., policy steering, verification Policy Network OS Control plane FlowTags APIs Existing APIs e.g., OpenFlow Data plane FlowTags Enhanced Mbox Config FlowTags Tables SDN Switches FlowTable Middleboxes 8

  9. FlowTags in action Config w.r.t original principals Block: 10.1.1.2 xyz.com <SrcIP,Cache Hit> 10.1.1.2, Hit Tag 2 Tag 2 OrigSrcIP 10.1.1.2 DROP H1 10.1.1.1 Proxy Web ACL xyz.com 2 S1 S2 Internet Tag 2 Fwd S2 Tag 2 Fwd ACL xyz.com H2 10.1.1.2 9

  10. Outline Motivation High-level Idea of FlowTags FlowTags Design Evaluation 10

  11. Challenge 1: Tag Semantics FlowTags-enhanced SDN Controller Control plane Data plane Decode Tag Add Tag H1 10.1.1.1 Proxy Web ACL Internet S1 S2 H2 10.1.1.2 Tag Forward Tag Forward 11

  12. Challenge 2: New APIs, control apps FlowTags-enhanced SDN Controller Control plane Data plane Decode Tag Add Tag H1 10.1.1.1 Proxy Web ACL Internet S2 S1 H2 10.1.1.2 Forward Tag Tag Forward 12

  13. Challenge 3: Middlebox Extensions FlowTags-enhanced SDN Controller Control plane Data plane Decode Tag Add Tag H1 10.1.1.1 Proxy Web ACL Internet S1 S2 H2 10.1.1.2 Tag Forward Forward Tag 13

  14. Outline Motivation High-level Idea of FlowTags FlowTags Design Tag semantics Controller and APIs Middlebox modification Evaluation 14

  15. Semantics: Dynamic Policy Graph (DPG) Web ACL: Block H2 xyz.com Proxy H1 Internet H2 S1 S2 {H1}; Miss {H1}; Hit Internet {H2}; Hit {H2}; Miss H1 Proxy ACL H2 {H2}; <Allowed,Hit> Drop 15

  16. Semantics: Dynamic Policy Graph (DPG) Web ACL: Block H2 xyz.com Proxy H1 Internet H2 S1 S2 {H1}; Miss {H1}; Hit Internet {H2}; Hit {H2}; Miss H1 Proxy ACL H2 {H2}; <Allowed,Hit> Drop Intuitively, need a Tag <per flow, per-edge> in DPG 16

  17. Outline Motivation High-level Idea of FlowTags FlowTags Design Tag semantics Controller and APIs Middlebox modification Evaluation 17

  18. FlowTags APIs OpenFlow FlowTags FlowTags-enhanced SDN Controller Consume Tag Generate Tag H1 10.1.1.1 Tag Tag 2 OrigSrcIP OrigSrcIP 10.1.1.2 Web ACL <SrcIP,Cache Hit> <SrcIP,Cache Hit> 10.1.1.2, Hit Proxy Tag Tag 2 S1 S2 Internet Tag Fwd Tag 2 Fwd S2 Tag Fwd Tag 2 Fwd ACL H2 10.1.1.2 18

  19. FlowTags-enhanced controller Reactive Policy DPG Middlebox Event Handlers Switch Event Handlers Physical realization Tag generate and consume Flow expiry Flow rules S1 S2 S4 S3 19

  20. Outline Motivation High-level Idea of FlowTags FlowTags Design Tag semantics Controller and APIs Middlebox modification Evaluation 20

  21. Middlebox extension strategies to add FlowTags support Strategy 1: Packet Rewriting Middlebox module module input traffic output traffic module module module module Light-weight packet rewriting shims Pro: One shot Con: Hard to get internal context 21

  22. Middlebox extension strategies to add FlowTags support Strategy 2: Module Modification Middlebox module module output traffic input traffic module module module module Pro: More change is needed Con: Suited for getting internal context 22

  23. Middlebox extension strategies to add FlowTags support Middlebox module module S h i m output traffic input traffic module module module module Tag generation Tag consumption Our Strategy: Packet rewriting for Tag consumption Module modification for Tag generation 23

  24. Outline Motivation High-level Idea of FlowTags FlowTags Design Evaluation 24

  25. Key evaluation questions Feasibility of middlebox modification FlowTags overhead Number of Tag bits New capabilities 25

  26. FlowTags needs minimal middlebox modifications Middlebox Total LOC Modified LOC Squid Snort Balance iptables PRADS 216,000 336,000 2,000 42,000 15,000 75 45 60 55 25 26

  27. FlowTags adds low overhead 1. Controller Processing Middlebox Tag Processing Switch Setup processing time (ms) Breakdown of flow 4 1. 2 1 0. 8 0. Abilene Geant Telstra Sprint Verizon AT&T 11 22 44 52 70 115 # PoPs: 6 0. 4 0. 27 2

  28. Summary of other results Adds < 1% overhead to middlebox processing Tags can be encoded in ~ 15 bits E.g., IP-ID, IPv6 FlowLabel, EncapHeaders (NVP) Can enable new capabilities Extended header space analysis Diagnosing network bottlenecks 28

  29. Conclusions Middleboxes complicate enforcement E.g., NAT/LB rewrite headers, proxy sends cached response Root cause: Violation of the SDN tenets Origin Binding and Paths-Follow-Policy FlowTags extends SDN with new middlebox APIs Restores tenets using new DPG abstraction No changes to switches and switch APIs FlowTags is practical Minimal middlebox changes, low overhead An enabler for verification, testing, and diagnosis 29

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#