160 likes | 224 Views
This event on September 3rd, 2014 at Warehouse Theater from 6:30-9:30 pm will delve into the importance and intricacies of policy implementation in networking environments. Learn about various policies such as forwarding, routing table, and firewall policies, and their significance in managing network configurations efficiently. Discover research insights on policy enforcement, examples from OpenStack Congress and Group Based Policy implementations, and the impact of innovative tools like Frenetic and Resonance on network policy management. Explore practical use cases, programming languages, and frameworks for effective policy enforcement. Join us for an engaging discussion on the role of policy in enhancing network performance and security.
E N D
September 3rd, 2014, Warehouse Theater 6:30-9:30pm
What is Policy? • As defined by the Oxford English Dictionary: • A course or principle of action adopted or proposed by a government, party, business, or individual • As defined by Wikipedia: • A policy is a statement of intent, and is implemented as a procedure or protocol.
We’ve heard about policy before…. • Forwarding policy • All Ethernet multicast packets received on port 1 should be sent to VLAN 11 • Routing Table policy • Ignore all routes advertised by peer 63.24.13.5 • Firewall policy • Drop all packets from infected host 10.11.12.13
Why Policy? • Configuration and Management gets challenging at scale • How many devices do you need to touch in order to configure access across the network for a given tenant?
Blah BlahBlah Why Policy? Blah BlahBlah • Policy provides a way of expressing intent: • “I’d like to prevent Thomas from rattling off a bunch of gibberish at public speaking events” • That intent can be mapped into configuration or dynamic management, through a process called “rendering” Blah BlahBlah Blah BlahBlah Rendered Policy Enforcement
Policy in Research: Frenetic/Pyretic • Research from Jennifer Rexford’s team at Princeton and Nate Foster at Cornell • Domain-specific policy language for programming OpenFlow networks • Addresses interactions between concurrent modules: • Program A wants to install a packet-in action on traffic from 10.0.0.5 • Program B wants to install a redirect flow on traffic from 10.0.0.5 • How do we implement the behavior we want? • Provides two sub-languages: • Limited but high-level and declarative network query language • General-purpose, functional and reactive network policy management library
Frenetic (cont.) • The following example is the frenetic python code to perform Deep Packet Inspection: defweb_packets_query(): return (Select(packets) * Where(srcport_fp(80))) def dpi(): web_packets_query() >> analyze_packet()
Policy in Research: Resonance/Pyresonance • Research from Nick Feamster’s team at Georgia Tech • Express network policies as event-based programs • Specify a Finite State Machine (FSM) for each device in the network • FSMs define states the host can occupy and events that trigger changesin state • A forwarding behavior is specified for each state
OpenStack Congress • Policy framework that allows you to declare, monitor, enforce, and audit policy in a heterogeneous cloud environment • Feeds data from services into its policy engine and verifies that the cloud's actual state abides by the cloud operator's policies • Policy language resembles Datalog • Designed to work with any policy and any cloud service
Group Based Policy • Open source child of Cisco’s ACI, using concepts rooted in Promise Theory • Leverages the idea that things are typically managed in groups, not necessarily individual devices • Provides a high level policy model for describing “Intent” • Uses function-specific rendering to map intent to infrastructure
Group Based Policy: Fundamental Constructs • Endpoints • Endpoint Groups • Contracts “DB Mgr” Contract Endpoint Group “Database Managers” Endpoint Group “Database Servers” Consumes Provides Endpoint (EP “B”) Endpoint (EP “A”)
Group Based Policy: Contracts Contract • Contracts have Clauses • Clauses have Subject References which select Subjects • Contracts also have Subjects • Subjects Have Rules • Rules have Classifiers/Actions: • TCP dest port 80/allow traffic Clause: HTTP Subject Ref: HTTP Subject Ref: ICMP Subject: ICMP Rule: Allow ICMP Subject: HTTP Rule: Allow HTTP
OpenDaylight Group Based Policy • Implementation of Group Based Policy for the OpenDaylight SDN Controller • “Proof of Concept” Network Virtualization solution using OpenFlow renderer for Helium • Coordinating with related projects within OpenDaylight (e.g. Service Function Chaining) • OpFlex renderer targeted for Lithium release
OpenStack Group Based Policy • Implementation of Group Based Policy for Neutron • Provides APIs, database, plugin, and drivers • Reference driver implementation that renders the policy in terms of traditional neutron resources (port, subnet, etc.) • Code ready for Juno release (pending acceptance/approval by neutron cores)