ons14-flowtags

advertisement
Extending SDN to Handle Dynamic
Middlebox Actions via FlowTags
(Full version to appear in NSDI’14)
Seyed K. Fayazbakhsh, Luis Chiang, Vyas Sekar,
Minlan Yu, Jeff Mogul
Attribution is hard
Block the access of hosts H1 and H3 to certain website.
H1
Firewall
NAT
H2
Internet
S1
S2
H3
NAT hides the true packet sources
2
Network Diagnosis is difficult
H1 sees a very high service delay – but what’s causing it?
NAT
Load Balancer
H1
Server 1
H2
S1
S2
t1
t2
Server 2
Difficult to correlate network logs for diagnosis
3
Data-dependent policies
Policy: Process all traffic by light IPS and only suspicious
traffic by heavy IPS.
Light
IPS
H1
Heavy
Server
IPS
…
Hn
S1
S2
Difficult to set up forwarding rules at S2
4
Policy violations may occur
Proxy
H1
Web ACL:
Block H2  xyz.com
Cached
response
Internet
S1
S2
H2
Lack of visibility into the middlebox context
5
High-level idea of FlowTags
• Middleboxes violate two SDN tenets
– Packets no longer bound to “origins”
– Packets don’t follow policy mandated paths
• Middleboxes need to help restore SDN tenets
• Add missing contextual information as Tags
– E.g., NAT or Load balancer give IP mappings;
Proxy gives cache hit/miss state
• SDN+ Controller controls tagging logic
– For both switches and middleboxes
6
FlowTags Architecture
Legacy
interface
New
interface
Control
Apps
Control
Apps
Control
Apps
e.g.,
steering,
verification
e.g.,
routing,
traffic
eng.
e.g., steering, verification
Admin
Network OS
Control
Data
SDN
Switches
Existing APIs
e.g., OpenFlow
FlowTable
FlowTags
APIs
FlowTags
Tables
Mbox
FlowTags
Config Enhanced
Middleboxes
7
Example of FlowTags in action
Tag
Generation
H1
192.168.1.1
H2
192.168.1.2
NAT Add Tags
SrcIP
192.168.1.1
192.168.1.2
192.168.1.3
Tag
1
2
3
Decode Tags
Tag
1
3
OrigSrcIP
192.168.1.1
192.168.1.3
Block 192.168.1.1
Block 192.168.1.3
Tag
Consumption
Firewall
NAT
Firewall Config w.r.t
original principals
Internet
S1
S2
S2 FlowTable
H3
192.168.1.3
Tag
Consumption
Tag
1,3
2
Forward
FW
Internet
8
Challenges and Solutions
• What semantics should FlowTags capture?
New “dynamic policy graph” abstraction
• How easy is it to enhance middleboxes?
 Less than 50-100 LOC vs. 2K-300K original
• Can we encode FlowTags in packets?
 Yes, only 14 bits in expectation
9
Summary
• Middleboxes violate the SDN tenets and make policy
enforcement and diagnosis challenging.
• FlowTags is an extension to SDN to provide contextual
information using tags to restore the SDN tenets.
• FlowTags enables new network policy enforcement and
verification capabilities.
• Practical, low-overhead, and scalable.
10
Download