Network Abstractions at
Different Layers of the
Stack
Mohammad Banikazemi
November 2013
IBM Research
Outline
IBM Research
Network Abstractions at Different Layers
Neutron: The OpenStack Networking
Application-centric Abstractions for Neutron:
Policy Extension Framework
Application-centric Network Policies
Conclusion
Different Layers
IBM Research
Neutron is the OpenStack
networking
Higher layers consume
networking resources
through the Neutron API
Lower layers realize these
networking resources
through a pluggable
architecture
App
App
App
App
Cloud
Orchestrator
Heat
Nova
Neutron
Network Controller
Abstractions at Higher Layers
IBM Research
Simple and application centric
Non-network centric: Interested in the needed
network functions and not how they are realized
Tier 2
Tier 1
Tier 3
External Network
Internet
Firewall
Load
Balancer
QoS
Abstractions in Lower Layers
IBM Research
Network centric
Device oriented (switches/routers)
Topology aware
Packet forwarding/routing, Path
computation
No standard northbound API
* M. Banikazemi, D. Olshefski, A. Shaikh, J. Tracey, and G. Wang,
Meridian: An SDN Platform for Cloud Network Services, IEEE Communications Magazine, Feb 2013
Neutron: A Quantum Approach
IBM Research
Defines a minimal set of interfaces required for
setting up networks for users
Network
• network: isolated layer-2 broadcast
domain; private/shared
Subnet
• Subnet: CIDR IP address block associated
with a network; optionally associated
gateway, DNS/DHCP servers
• port: virtual switch port on a network; has
MAC and IP address properties
Port
Extendable
Neutron Expansion through Extensions
IBM Research
Physical networks
Layer 3 networking
Layers 4-7 services
Router
NAT, Floating IP
Port Binding
Network
Provider
Network
Multi-Provider
Network
Subnet
LBaaS, FWaaS
VPNaaS,
Port
Security Group
Neutron: The 3-tier App Example
IBM Research
One possible implementation using a single router
External Network
Router
Network/subnet
Network/subnet
Network/subnet
Port
Realizing the Application
IBM Research
Consider part of the 3-tier app:
GROUP:WEB
GROUP:Inet
FW
LB
(Not including calls for creation of
Security Groups, FW and LB)
neutron net-create inet --router:external=True
neutron subnet-create inet 172.16.1.0/24 --disable-dhcp –name inet
neutron net-create web
neutron subnet-create web 10.0.0.0/24 web –name web
neutron router-create router1
neutron router-interface-add router1 web
neutron router-gateway-set router1 inet
neutron floatingip-create --port_id <internal VM port-id> inet
The Problem
IBM Research
Neutron abstractions are closer to physical
devices
Not easily understood and consumed by higher
layers and users
The Policy Extension Framework adds
application centric abstractions to Neutron
Neutron: Policy Extension Framework
IBM Research
Basic abstractions we need:
Connectivity
Groups: Grouping of endpoints
Policy: Specifying the network functions governing
connectivity of these groups
Extending the current Neutron object model
Using the existing Neutron resources
* Icehouse
Design Summit Session (IBM and Cisco joint proposal) : ” Group-based Policy
Abstractions” aka “Connectivity Group Extension API” or “Policy Extension Framework”
Policy Extension Framework
IBM Research
Simple, application-oriented network model
group
logical grouping of VMs
• traditional: MAC, IP, port
• abstract/cloud: virtual network, application group
policy
•
•
•
•
between pairs of groups
establish communication
attach properties to the communication
e.g., ACLs, middleboxes, QoS, reliability, etc.
Policy Rules and Policy Sets
IBM Research
Policy: made of Policy Rules
Policy Rule: applies actions to selected net traffic
Policy Set: An aggregation of policies; Can
represent an application pattern
Policyrule
Traffic: Http Action: Allow
Policyset
Policies: [policy_web, policy_db]
Policy: The Hierarchy
IBM Research
Policy
Policy Set
Connectivity Groups
Policy
Policy
Policy
(Source & Destination)
Policy Rule
Traffic
Classifier
Action
Policy Rules
Policy Rules
Policy Rules
Policy Rule
Policy Rule: Action Types
IBM Research
Basic connectivity
ACL
Service chaining (Middleboxes)
List
of services
Neutron services (*aaS) and/or other services
Service configuration
QoS and Monitoring
Logical middleboxes
Proposed Neutron CLI
IBM Research
GROUP:WEB
Policy:Web
GROUP:Inet
FW1
LB1
neutron connectivitygroup-create inet –external
neutron connectivitygroup-create web
neutron policy-rule-create policyrule-web --protocol http,https --action fw1,lb1
neutron policy-create policy-web-ingress --policy-endpoints inet,web --policy-rule
policyrule-web
The 3-tier App Example: Revisited
IBM Research
GROUP:LOGIC
GROUP:Web
Policy:Web
Policy:DB
GROUP:DB
GROUP:Inet
Heat Template Sketch for 3-tier App
IBM Research
Policy_web_ingress:
cg_inet:
Type: OS::Neutron::policy
Type: OS::Neutron::connectivity_group
Properties:
Properties:
connectivity_groups: {“cg_inet”, “cg_web”}
endpoints: {“inet”}
Policy_rules: [“policy_rule_web”]
configuration: “external”
Policy_rule_web:
cg_web:
Type: OS::Neutron::policy_rule
Type: OS::Neutron::connetivity_group
Properties:
Properties:
traffic_spec:
ports: 80,443
endpoints: { “webserver1”, “webserver2”,
webserver3”}
protocol: “tcp”
action_type:
service_chain: {FW1, LB1}
service_conf: {}
Endpoints:
Current Neutron resources
Neutron resource creation can be explicit or implicit; Can be
automated at higher layers
Extending Heat
IBM Research
Expanding the role of Heat
Open Specifications: TOSCA
Software
Orchestration
Infrastructure
Orchestration
Heat
Nova
Cinder
Neutron
Application-centric Network Services
IBM Research
With the basic abstractions in place, we
can build on how networking resources
are used
Provide interesting application-centric
functionalities
Let us look at a few example use cases
Dynamic Updates
IBM Research
Updating the Connectivity Group will also notify
components of the associated policy
Logical Middlebox: Monitoring
IBM Research
Monitoring defined as policy
Collecting network specific statistics for applications
Aggregate based on flows, endpoint, groups of
endpoints, applications
Feeds to the comprehensive closed-loop processing
Closed-loop Processing
IBM Research
Standard MAPE (Monitor, Analyze, Plan, Execute)
model with application-centric network monitoring
Application
specifies the service level required
Application publishes the service level it is experiencing
If service level is not met, application level monitoring
data is analyzed
If the problem is deemed to be network related,
actions are taken by modifying the network policies
Rerouting
paths
Bandwidth reservation and throttling
Updating
network service if changes in compute
resources is initiated
Topology Based Policies
IBM Research
Network controllers provide a wide selection of
topology related information and features
Make those available at higher layers through
policies
Colocation/Anti-colocation
for network routes
Non-overlapping routes
Asymmetric
Separate
Network
routes
routes on each direction
hop-count limit
Beyond Single Tenant Policies
IBM Research
The policy extension is defined for a given
tenant
Can be extended such that network functions
can be provided by a tenant to one or more
tenants and/or external users
Require to setup the networks across tenants
Admin based vs. tenant centric
Conclusion
IBM Research
Different abstractions are useful at different
layers
OpenStack Networking needs to be able to
support and use these
The framework for new application-centric
network abstractions being proposed
Let us discuss the details at the design session
“Connectivity Group Extension” (“Group-based Policy
Abstractions for Neutron”) on Friday Nov. 8th @ 3:10pm
Acknowledgement
IBM Research
Anees Shaikh
David Olshefski and John Tracey
Marcio Silva
Thank You
IBM Research
* Photo credit: wikiHow
© Copyright 2025 Paperzz