Top Banner
Flow-based Management Language
17

Flow-based Management Language Tim Hinrichs Natasha Gude* Martín Casado John Mitchell Scott Shenker University of Chicago Stanford University ICSI/UC Berkeley.

Mar 27, 2015

Download

Documents

Charles Clark
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Flow-based Management Language Tim Hinrichs Natasha Gude* Martín Casado John Mitchell Scott Shenker University of Chicago Stanford University ICSI/UC Berkeley.

Flow-based Management Language

Page 2: Flow-based Management Language Tim Hinrichs Natasha Gude* Martín Casado John Mitchell Scott Shenker University of Chicago Stanford University ICSI/UC Berkeley.

Network Configuration Today

•Distributed state

• VLANs, subnets, ACLs, NAT, routing policies…

•Problems

• Low-level, indirect mechanisms[Maltz04]

• Topology-dependent[Bellovin99]

• Connectivity is difficult to reason about[Xie04]

Page 3: Flow-based Management Language Tim Hinrichs Natasha Gude* Martín Casado John Mitchell Scott Shenker University of Chicago Stanford University ICSI/UC Berkeley.

Our Goal

Design a policy language to simplify network configuration without loss of

today’s expressiveness.

Page 4: Flow-based Management Language Tim Hinrichs Natasha Gude* Martín Casado John Mitchell Scott Shenker University of Chicago Stanford University ICSI/UC Berkeley.

Language Goals•Maintain Today’s Expressiveness• Support High-level Naming• “Guests must send all HTTP traffic via a proxy”

• Single Point of Declaration• Clear how traffic will be treated

• Support Composition and Exception Policy Models• Performance• Amenable to efficient implementation

• Extensibility•Multiple Authorship

Page 5: Flow-based Management Language Tim Hinrichs Natasha Gude* Martín Casado John Mitchell Scott Shenker University of Chicago Stanford University ICSI/UC Berkeley.

FML Overview•Form of nonrecursive Datalog•Flow-based

An FML policy is a set of rules declared over a flow and its high-level attributes

•Attributes include src/dst access points, hosts, and users

•Rules that match a flow dictate its policy

Page 6: Flow-based Management Language Tim Hinrichs Natasha Gude* Martín Casado John Mitchell Scott Shenker University of Chicago Stanford University ICSI/UC Berkeley.

Rule Definition

action :- condition

h :- []b1 ∧ … ∧ []bn

“Guest users must send all HTTP trafficvia a proxy”

allow(Flow) :- guest(Usrc) ∧ http = Prot ∧ proxy(Hdst)

Page 7: Flow-based Management Language Tim Hinrichs Natasha Gude* Martín Casado John Mitchell Scott Shenker University of Chicago Stanford University ICSI/UC Berkeley.

allow(Flow) :- guest(Usrc) ∧ http = Prot ∧ proxy(Hdst)allow(Flow) :- guest(Usrc) ∧ http = Prot ∧ proxy(Hdst)allow(Flow) :- guest(Usrc) ∧ http = Prot ∧ proxy(Hdst)allow(Flow) :- guest(Usrc) ∧ http = Prot ∧ proxy(Hdst)

An FML policy is an unordered set of rules

allow(Flow) :- guest(Usrc) ∧ http = Prot ∧ proxy(Hdst)

Page 8: Flow-based Management Language Tim Hinrichs Natasha Gude* Martín Casado John Mitchell Scott Shenker University of Chicago Stanford University ICSI/UC Berkeley.

Example Rules

Page 9: Flow-based Management Language Tim Hinrichs Natasha Gude* Martín Casado John Mitchell Scott Shenker University of Chicago Stanford University ICSI/UC Berkeley.

Policy Model Goals•Exception Model

waypoint(Flow, proxy) :- guest(Usrc) ∧ http = Prot

deny(Flow) :- guest(Usrc)

•Composition Model

waypoint(Flow, proxy) :- guest(Usrc) ∧ http = Prot

rate-limit(Flow, 1Mbps) :- http = Prot

Page 10: Flow-based Management Language Tim Hinrichs Natasha Gude* Martín Casado John Mitchell Scott Shenker University of Chicago Stanford University ICSI/UC Berkeley.

Conflict Resolution•Action Reconciliation

deny > [ waypoint, rate-limit ] > allow

•Ordering of Rule SetsPolicy 1 > Policy 2

waypoint(Flow, proxy) :- guest(Usrc) ∧ http = Prot

cascade()deny(Flow) :- guest(Usrc)

Page 11: Flow-based Management Language Tim Hinrichs Natasha Gude* Martín Casado John Mitchell Scott Shenker University of Chicago Stanford University ICSI/UC Berkeley.

Implementation Requirements

•At least per flow interposition•Name-to-address bindings

Any system providing these capabilities can support FML.

Page 12: Flow-based Management Language Tim Hinrichs Natasha Gude* Martín Casado John Mitchell Scott Shenker University of Chicago Stanford University ICSI/UC Berkeley.

NOX

•Openflow Controller•Maintains Global View of

Topology•Dictates Switch Behavior•Provides Authentication

Framework

Page 13: Flow-based Management Language Tim Hinrichs Natasha Gude* Martín Casado John Mitchell Scott Shenker University of Chicago Stanford University ICSI/UC Berkeley.

Policy Engine

+Flow

Flow Actions

Rule Lookup

Policy

CompilerNamespace

Auth Bindings

Page 14: Flow-based Management Language Tim Hinrichs Natasha Gude* Martín Casado John Mitchell Scott Shenker University of Chicago Stanford University ICSI/UC Berkeley.

Performance

# FML Rules

Flow

s/se

cond

Page 15: Flow-based Management Language Tim Hinrichs Natasha Gude* Martín Casado John Mitchell Scott Shenker University of Chicago Stanford University ICSI/UC Berkeley.

Deployment Experience•Medical University Network in Japan• 200 hosts• In-use for 10 months• 40 line policy• NAC-focused

http_redirect(Flow) :- unauthenticated = Usrc ∧ (workstation(Hsrc) |

laptop(Hsrc)) ∧ http = Prot

Page 16: Flow-based Management Language Tim Hinrichs Natasha Gude* Martín Casado John Mitchell Scott Shenker University of Chicago Stanford University ICSI/UC Berkeley.

Ongoing Work•Distribute Policy Enforcement• Virtualized Datacenter Support in Progress

•Expand FML to Define Actions• Conflict Resolution Scheme

•Administrator Debugging Tools

Page 17: Flow-based Management Language Tim Hinrichs Natasha Gude* Martín Casado John Mitchell Scott Shenker University of Chicago Stanford University ICSI/UC Berkeley.

Questions?