neutron networking: service groups, policies and chains

11
© 2014 IBM Corporation Neutron Networking: Service Groups, Policies and Chains OpenStack Meetup - IBM OpenStack Lightning Talks John M. Tracey for Mohammad Banikazemi October 7, 2014 IBM T. J. Watson Research Center

Upload: daniel-krook

Post on 05-Dec-2014

170 views

Category:

Technology


0 download

DESCRIPTION

Lightning talk from the OpenStack NYC meetup on October 8, 2014. http://bit.ly/ibm-os-meetup By John M. Tracey for Mohammad Banikazemi The content of this talk is a statement from the IBM Research division, not IBM product divisions, and is not a statement from IBM regarding its plans, directions or product intents. Any activities described by this talk are subject to change.

TRANSCRIPT

Page 1: Neutron Networking: Service Groups, Policies and Chains

© 2014 IBM Corporation

Neutron Networking: Service Groups, Policies and Chains OpenStack Meetup - IBM OpenStack Lightning Talks John M. Tracey for Mohammad Banikazemi October 7, 2014

IBM T. J. Watson Research Center

Page 2: Neutron Networking: Service Groups, Policies and Chains

© 2013 IBM Corporation

Agenda

§ Current Neutron application programming interface

§ Example multi tier application with current API

§ Application centric abstraction

§ Group based policy constructs

§ Example multi tier application with policy extension

§ For more information

2

Page 3: Neutron Networking: Service Groups, Policies and Chains

© 2013 IBM Corporation

Abstract

§ Neutron is OpenStack’s networking service. It defines an API, but allows different implementations to be plugged in.

§ The current OpenStack Neutron API provides constructs that are closely tied to physical network entities.

§ To better support application developers and allow better separation of application and infrastructure concerns, a Neutron blueprint is well underway that adds a set of higher-level abstractions to Neutron, known as group-based policy.

3

Page 4: Neutron Networking: Service Groups, Policies and Chains

© 2013 IBM Corporation 4

Neutron application programming interface

•  Current Neutron API is somewhat low-level

•  Neutron constructs mirror physical devices

•  Network: layer-2 broadcast domain; private/shared

•  Port: virtual switch port on a network; has MAC and IP address properties

•  Subnet: CIDR IP address block associated with a network; optionally associated with gateway, DNS/DHCP servers

•  Router: provides IP routing among networks, supports source NAT

Page 5: Neutron Networking: Service Groups, Policies and Chains

© 2013 IBM Corporation 5

Web Application

Database

Firewall Load Balancer

External Network (Internet)

Example multi tier application

Page 6: Neutron Networking: Service Groups, Policies and Chains

© 2013 IBM Corporation 6

Q

Network/ subnet

Network/ subnet

Network/ subnet Router

External Network

Port

Q

Example multi tier application with current neutron CLI

neutron net-create web_tier neutron subnet-create web_tier 10.0.0.0/24 neutron router-create router1 neutron router-interface-add router1 web_tier

Page 7: Neutron Networking: Service Groups, Policies and Chains

© 2013 IBM Corporation 7

Application centric abstraction

•  Need a more application centric set of abstractions as well •  More easily understood/utilized by higher layers •  Declarative model •  Separation of concerns (application/infrastructure)

•  Provide policy-based connectivity between application tiers •  Enable redirection to network services and service chains •  Support dynamic application of policies

Page 8: Neutron Networking: Service Groups, Policies and Chains

© 2013 IBM Corporation 8

• Endpoint (EP) •  Lowest unit of abstraction to which policy is applied

• Endpoint Group (EPG) •  Logical grouping of endpoints

• Policy Rule •  Specifies allowed/disallowed network access to EPGs

• Policy (a.k.a. contract) •  Collection of policy rules

Group based policy constructs

Page 9: Neutron Networking: Service Groups, Policies and Chains

© 2013 IBM Corporation 9

EPG Web

EPG Application

EPG Database

Firewall

EPG External Network (Internet)

Policy

Protocol:TCP Port:80 Action:Redirect To FW_LB_CHAIN

Protocol:TCP Port:3306 Action:ALLOW

Protocol:TCP Port:9080 Action:ALLOW

EPG EPG (Endpoint Group)

Example multi tier application with GBP extension

neutron classifier-create Insecure-Web-Access --port 80 \ --protocol TCP --direction IN neutron policy-rule-create insecure-web --policy-classifier \ Insecure-Web-Access --actions ALLOW neutron contract-create Web-Server-Contract --policy-rule insecure-web

Page 10: Neutron Networking: Service Groups, Policies and Chains

© 2013 IBM Corporation 10

For further information

•  Neutron wiki •  https://wiki.openstack.org/wiki/Neutron •  https://ibm.biz/BdFyZu

•  Blueprints for Neutron •  https://blueprints.launchpad.net/neutron •  https://ibm.biz/BdE4dC

•  Group-based policy abstractions for Neutron •  https://blueprints.launchpad.net/neutron/+spec/group-based-policy-abstraction •  https://ibm.biz/BdE4dQ

Page 11: Neutron Networking: Service Groups, Policies and Chains

© 2013 IBM Corporation 11