SlideShare a Scribd company logo
Architektura systemu 
OpenContrail 
Michał Dubiel 
Kraków 2014
Plan 
• Cloud operating system 
– Why? 
• Network virtualization 
– Why it is important 
– OpenContrail solution 
• OpenContrail architecture 
– Goals, assumptions 
– Functional partitioning 
– Components
• Compute power 
• Storage 
• Networking 
CLOUD OPERATING SYSTEM
Operating System analogy 
• Resources in a typical server 
– CPU cores 
– Memory 
– Storage 
– Networking 
• Resources in a datacenter 
– Hardware machines 
– Storage appliances 
– Networking equipment
OpenStack 
source: openstack.org
Up to now quite missing 
source: openstack.org
• Virtual endpoints domination 
• Solutions 
NETWORK VIRTUALIZATION
Rack, servers, VMs 
VM VM VM VM 
hypervisor 
VM VM VM VM 
hypervisor 
VM VM VM VM 
hypervisor 
Server rack 
To spine switch
A wider view 
Clos network
Observations 
• Majority of network endpoints are virtual 
• Virtual networks dominate 
• Isolation between them has to be 
provided 
• While using the same physical network 
• Automatically
Solutions 
• Vlans 
– Default OpenStack approach 
– Limited, not flexible 
• Overlay networking 
– OpenContrail as a Neutron plugin 
– Flexible 
– Scalable
VLANs 
• VM’s interfaces placed on bridges 
– Each bridge for a virtual network 
• Difficult to manage 
• 4096 VLAN tags limit 
– Can be extended using Shortest Path Bridging 
• Physical switches have to contain the VN state
Overlay networking 
• “Old” technology, new for data-centers 
• Physical underlay network 
– IP fabric 
– No state of the virtual networks 
• Virtual overlay network 
– Holds state of the virtual networks 
– Dynamic tunnels (MPLSoGRE, VXLAN, etc.)
VM migration example 
VM1 VM2 
VM3 
Server 1 
VM4 VM5 
VM6 
Server 2 
Physical switch 
VM7 VM8 
VM9 
Server 3 
Virtual networks: 
1 2 
3 
S3 VM9 Payload 
Physical network:
VM migration example 
VM1 VM2 
VM3 
Server 1 
VM4 VM5 
Physical switch 
VM6 
VM9 Server 2 
VM7 VM8 
Server 3 
Virtual networks: 
1 2 
3 
S2 VM9 Payload 
Physical network:
Overlay networks advantages 
• “Knowledge” about network only in the 
software (vRouter) 
• Any switch works for IP fabric network 
– No configuration 
– Only speed matters 
– Low price 
• OpenContrail implementation is standards-based 
(MPLS, BGP, VXLAN, etc.)
• Goals 
• Nodes 
• Components 
OPENCONTRAIL ARCHITECTURE
Architecture goals 
• Scalability 
• Compatibility 
• Extensibility 
• Fault tolerance 
• Performance
“Think globally, act locally” 
• The system is physically distributed 
– No single point of failure 
– Scalability 
– Performance 
• Logically centralized control and management 
– Simplicity 
– Ease of use
Architecture overview 
Source: www.opencontrail.org
Configuration node 
Source: www.opencontrail.org
Configuration node components 
• Configuration API Server 
– Active/Active mode 
– Receives REST API calls 
– Publishes configuration to the IF-MAP Server 
– Receives configuration from other API Servers 
• Discovery Service 
– Active/Active mode 
– A Registry of all OpenContrail services 
– Provides REST API for publishing and querying of 
services
Configuration node components (2) 
• Schema Transformer 
– Active/Backup mode 
– Receives high-level configuration from IF-MAP Server 
– Transforms high-level constructs (eg. virtual network) 
to low-level (eg. routing instance) 
• IF-MAP Server 
– Active/Active mode 
– Publishes system configuration to Control nodes, 
Schema Transformer 
– All configuration comes from API Server (both high 
and low level)
Configuration node components (3) 
• Service Monitor 
– Active/Backup mode 
– Monitors service virtual machines (firewall, analyzer, 
etc.) 
– Calls nova API to control VMs 
• AMPQ Server (RabbitMQ) 
– Communication between system components 
• Persistent storage (Cassandra) 
– Receives and stores system configuration from the 
Configuration API Server
Configuration flow (user) 
1. User Request 
2. Original API Server 
3. RabbitMQ 
4. All API Servers 
5. Local IF-MAP Server 
6. Schema Transformer
Configuration flow (transformed) 
1. Schema Transformer 
2. Configuration API Server 
3. RabbitMQ 
4. All API Servers 
5. Local IF-MAP Server 
6. Control nodes and DNS
Controller node 
Source: www.opencontrail.org
Control node components 
• Controller 
– Active/Active mode 
– Receives configuration from IF-MAP Server 
– Exchanges XMPP messages with vRouter Agent 
– Federate with other nodes and physical switches via 
BGP/Netconf 
• DNS Service 
– Active/Active 
– Receives configuration from IF-MAP Server 
– Exchanges XMPP messages with vRouter Agent 
– Front-end only, backend using host native ‘named’
Compute node 
Nova 
Scheduler 
Contrail Control 
node 
Nova vif 
driver 
VM VM VM 
KVM 
Contrail 
Agent 
Contrail 
vRouter 
Nova 
compute 
Libvirt 
Kernel space 
TCP 
NetLink 
/dev/flow 
pkt 
QEMU 
TUN/TAP
Compute node components 
• vRouter Agent 
– Communication via XMPP with the Control node 
– Installation of forwarding state into vRouter 
– ARP, DHCP, DNS proxy 
• vRouter 
– Packet forwarding 
– Applying flow policies 
– Encapsulation, decapsulation
Agent <-> vRouter communication 
• NetLink 
– Routing entry, next-hop, flow, etc. synchronization 
– Uses RCU 
• /dev/flow 
– Shared memory for flow hash tables 
• pkt tap device 
– Flow discovery (first packet of a flow) 
– ARP, DHCP, DNS proxy
Analytics node 
Source: www.opencontrail.org
Analytics node components 
• API Server 
– REST API for querying analytics 
• Collector 
– Collects analytics information from all system nodes 
• Query Engine 
– Map-reduce over collected analytics 
– Executes queries 
• Rules Engine 
– Controls which events are collected by the Collector
Any questions?

More Related Content

PDF
NaaS in OpenStack - CloudCamp Moscow
PDF
Function Mesh for Apache Pulsar, the Way for Simple Streaming Solutions
PDF
【EPN Seminar Nov.10.2015】 Services Function Chaining Architecture, Standardiz...
PPTX
DEVNET-1175 OpenDaylight Service Function Chaining
PPTX
VXLAN Practice Guide
PPTX
Traffic Control as a Service
PPTX
Barak Perlman, ConteXtream - SFC (Service Function Chaining) Using Openstack ...
PDF
10 sdn-vir-6up
NaaS in OpenStack - CloudCamp Moscow
Function Mesh for Apache Pulsar, the Way for Simple Streaming Solutions
【EPN Seminar Nov.10.2015】 Services Function Chaining Architecture, Standardiz...
DEVNET-1175 OpenDaylight Service Function Chaining
VXLAN Practice Guide
Traffic Control as a Service
Barak Perlman, ConteXtream - SFC (Service Function Chaining) Using Openstack ...
10 sdn-vir-6up

What's hot (20)

PPTX
Juniper Network Automation for KrDAG
PDF
VPNaaS in Neutron
PPTX
EYWA (Elastic load-balancing & high-availabilitY Wired virtual network Archit...
PDF
【EPN Seminar Nov.10. 2015】 パネルディスカッション その2: BGP Peering Engineering Automatio...
PDF
Service Chaining overview (English) 2015/10/05
PPTX
Introduction to vxlan
PDF
An Overview of Linux Networking Options
PDF
Interconnecting Neutron and Network Operators' BGP VPNs
PPTX
Vxlan deep dive session rev0.5 final
PPTX
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
PDF
Open Networking for Your OpenStack
ODP
What's new in Neutron Juno
PPTX
PPTX
VXLAN Integration with CloudStack Advanced Zone
PDF
Cumulus Linux 2.5.4
PPTX
Data centre networking at London School of Economics and Political Science - ...
PPTX
DevOops - Lessons Learned from an OpenStack Network Architect
PPTX
DEVNET-1006 Getting Started with OpenDayLight
PPTX
L2 and L3 agent restructure
Juniper Network Automation for KrDAG
VPNaaS in Neutron
EYWA (Elastic load-balancing & high-availabilitY Wired virtual network Archit...
【EPN Seminar Nov.10. 2015】 パネルディスカッション その2: BGP Peering Engineering Automatio...
Service Chaining overview (English) 2015/10/05
Introduction to vxlan
An Overview of Linux Networking Options
Interconnecting Neutron and Network Operators' BGP VPNs
Vxlan deep dive session rev0.5 final
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
Open Networking for Your OpenStack
What's new in Neutron Juno
VXLAN Integration with CloudStack Advanced Zone
Cumulus Linux 2.5.4
Data centre networking at London School of Economics and Political Science - ...
DevOops - Lessons Learned from an OpenStack Network Architect
DEVNET-1006 Getting Started with OpenDayLight
L2 and L3 agent restructure
Ad

Similar to PLNOG 13: Michał Dubiel: OpenContrail software architecture (20)

PDF
Software Defined Networks (SDN) na przykładzie rozwiązania OpenContrail.
PDF
OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
PDF
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
PPTX
Raga_SDN_NSX_1
PPTX
Secure Multi Tenant Cloud with OpenContrail
PPTX
Open stack ha design & deployment kilo
PPTX
Network and Service Virtualization tutorial at ONUG Spring 2015
PDF
Open stack networking_101_update_2014-os-meetups
PPTX
OpenStack Networking and Automation
PPTX
Openstack Basic with Neutron
PDF
Understanding network and service virtualization
PDF
NSX: La Virtualizzazione di Rete e il Futuro della Sicurezza
PDF
Agile OpenStack Networking with Cisco Solutions
PPTX
Testing the limits of cloud networks
PDF
CloudStack - LinuxFest NorthWest
PPTX
Virt july-2013-meetup
PPT
CloudStack and SDN
PPTX
Openstack meetup-pune-aug22-overview
PDF
DPDK Summit 2015 - RIFT.io - Tim Mortsolf
PDF
Osnug meetup-tungsten fabric - overview.pptx
Software Defined Networks (SDN) na przykładzie rozwiązania OpenContrail.
OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
Raga_SDN_NSX_1
Secure Multi Tenant Cloud with OpenContrail
Open stack ha design & deployment kilo
Network and Service Virtualization tutorial at ONUG Spring 2015
Open stack networking_101_update_2014-os-meetups
OpenStack Networking and Automation
Openstack Basic with Neutron
Understanding network and service virtualization
NSX: La Virtualizzazione di Rete e il Futuro della Sicurezza
Agile OpenStack Networking with Cisco Solutions
Testing the limits of cloud networks
CloudStack - LinuxFest NorthWest
Virt july-2013-meetup
CloudStack and SDN
Openstack meetup-pune-aug22-overview
DPDK Summit 2015 - RIFT.io - Tim Mortsolf
Osnug meetup-tungsten fabric - overview.pptx
Ad

Recently uploaded (20)

PPTX
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION
PPTX
introduction about ICD -10 & ICD-11 ppt.pptx
PDF
WebRTC in SignalWire - troubleshooting media negotiation
PDF
Cloud-Scale Log Monitoring _ Datadog.pdf
PDF
The Internet -By the Numbers, Sri Lanka Edition
PPTX
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
PDF
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
DOCX
Unit-3 cyber security network security of internet system
PDF
Paper PDF World Game (s) Great Redesign.pdf
PPTX
Digital Literacy And Online Safety on internet
PDF
Testing WebRTC applications at scale.pdf
PDF
Decoding a Decade: 10 Years of Applied CTI Discipline
PPTX
INTERNET------BASICS-------UPDATED PPT PRESENTATION
PDF
Triggering QUIC, presented by Geoff Huston at IETF 123
PPT
tcp ip networks nd ip layering assotred slides
PDF
Unit-1 introduction to cyber security discuss about how to secure a system
PPTX
522797556-Unit-2-Temperature-measurement-1-1.pptx
PPTX
QR Codes Qr codecodecodecodecocodedecodecode
PPTX
Funds Management Learning Material for Beg
PDF
RPKI Status Update, presented by Makito Lay at IDNOG 10
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION
introduction about ICD -10 & ICD-11 ppt.pptx
WebRTC in SignalWire - troubleshooting media negotiation
Cloud-Scale Log Monitoring _ Datadog.pdf
The Internet -By the Numbers, Sri Lanka Edition
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
Unit-3 cyber security network security of internet system
Paper PDF World Game (s) Great Redesign.pdf
Digital Literacy And Online Safety on internet
Testing WebRTC applications at scale.pdf
Decoding a Decade: 10 Years of Applied CTI Discipline
INTERNET------BASICS-------UPDATED PPT PRESENTATION
Triggering QUIC, presented by Geoff Huston at IETF 123
tcp ip networks nd ip layering assotred slides
Unit-1 introduction to cyber security discuss about how to secure a system
522797556-Unit-2-Temperature-measurement-1-1.pptx
QR Codes Qr codecodecodecodecocodedecodecode
Funds Management Learning Material for Beg
RPKI Status Update, presented by Makito Lay at IDNOG 10

PLNOG 13: Michał Dubiel: OpenContrail software architecture

  • 1. Architektura systemu OpenContrail Michał Dubiel Kraków 2014
  • 2. Plan • Cloud operating system – Why? • Network virtualization – Why it is important – OpenContrail solution • OpenContrail architecture – Goals, assumptions – Functional partitioning – Components
  • 3. • Compute power • Storage • Networking CLOUD OPERATING SYSTEM
  • 4. Operating System analogy • Resources in a typical server – CPU cores – Memory – Storage – Networking • Resources in a datacenter – Hardware machines – Storage appliances – Networking equipment
  • 6. Up to now quite missing source: openstack.org
  • 7. • Virtual endpoints domination • Solutions NETWORK VIRTUALIZATION
  • 8. Rack, servers, VMs VM VM VM VM hypervisor VM VM VM VM hypervisor VM VM VM VM hypervisor Server rack To spine switch
  • 9. A wider view Clos network
  • 10. Observations • Majority of network endpoints are virtual • Virtual networks dominate • Isolation between them has to be provided • While using the same physical network • Automatically
  • 11. Solutions • Vlans – Default OpenStack approach – Limited, not flexible • Overlay networking – OpenContrail as a Neutron plugin – Flexible – Scalable
  • 12. VLANs • VM’s interfaces placed on bridges – Each bridge for a virtual network • Difficult to manage • 4096 VLAN tags limit – Can be extended using Shortest Path Bridging • Physical switches have to contain the VN state
  • 13. Overlay networking • “Old” technology, new for data-centers • Physical underlay network – IP fabric – No state of the virtual networks • Virtual overlay network – Holds state of the virtual networks – Dynamic tunnels (MPLSoGRE, VXLAN, etc.)
  • 14. VM migration example VM1 VM2 VM3 Server 1 VM4 VM5 VM6 Server 2 Physical switch VM7 VM8 VM9 Server 3 Virtual networks: 1 2 3 S3 VM9 Payload Physical network:
  • 15. VM migration example VM1 VM2 VM3 Server 1 VM4 VM5 Physical switch VM6 VM9 Server 2 VM7 VM8 Server 3 Virtual networks: 1 2 3 S2 VM9 Payload Physical network:
  • 16. Overlay networks advantages • “Knowledge” about network only in the software (vRouter) • Any switch works for IP fabric network – No configuration – Only speed matters – Low price • OpenContrail implementation is standards-based (MPLS, BGP, VXLAN, etc.)
  • 17. • Goals • Nodes • Components OPENCONTRAIL ARCHITECTURE
  • 18. Architecture goals • Scalability • Compatibility • Extensibility • Fault tolerance • Performance
  • 19. “Think globally, act locally” • The system is physically distributed – No single point of failure – Scalability – Performance • Logically centralized control and management – Simplicity – Ease of use
  • 20. Architecture overview Source: www.opencontrail.org
  • 21. Configuration node Source: www.opencontrail.org
  • 22. Configuration node components • Configuration API Server – Active/Active mode – Receives REST API calls – Publishes configuration to the IF-MAP Server – Receives configuration from other API Servers • Discovery Service – Active/Active mode – A Registry of all OpenContrail services – Provides REST API for publishing and querying of services
  • 23. Configuration node components (2) • Schema Transformer – Active/Backup mode – Receives high-level configuration from IF-MAP Server – Transforms high-level constructs (eg. virtual network) to low-level (eg. routing instance) • IF-MAP Server – Active/Active mode – Publishes system configuration to Control nodes, Schema Transformer – All configuration comes from API Server (both high and low level)
  • 24. Configuration node components (3) • Service Monitor – Active/Backup mode – Monitors service virtual machines (firewall, analyzer, etc.) – Calls nova API to control VMs • AMPQ Server (RabbitMQ) – Communication between system components • Persistent storage (Cassandra) – Receives and stores system configuration from the Configuration API Server
  • 25. Configuration flow (user) 1. User Request 2. Original API Server 3. RabbitMQ 4. All API Servers 5. Local IF-MAP Server 6. Schema Transformer
  • 26. Configuration flow (transformed) 1. Schema Transformer 2. Configuration API Server 3. RabbitMQ 4. All API Servers 5. Local IF-MAP Server 6. Control nodes and DNS
  • 27. Controller node Source: www.opencontrail.org
  • 28. Control node components • Controller – Active/Active mode – Receives configuration from IF-MAP Server – Exchanges XMPP messages with vRouter Agent – Federate with other nodes and physical switches via BGP/Netconf • DNS Service – Active/Active – Receives configuration from IF-MAP Server – Exchanges XMPP messages with vRouter Agent – Front-end only, backend using host native ‘named’
  • 29. Compute node Nova Scheduler Contrail Control node Nova vif driver VM VM VM KVM Contrail Agent Contrail vRouter Nova compute Libvirt Kernel space TCP NetLink /dev/flow pkt QEMU TUN/TAP
  • 30. Compute node components • vRouter Agent – Communication via XMPP with the Control node – Installation of forwarding state into vRouter – ARP, DHCP, DNS proxy • vRouter – Packet forwarding – Applying flow policies – Encapsulation, decapsulation
  • 31. Agent <-> vRouter communication • NetLink – Routing entry, next-hop, flow, etc. synchronization – Uses RCU • /dev/flow – Shared memory for flow hash tables • pkt tap device – Flow discovery (first packet of a flow) – ARP, DHCP, DNS proxy
  • 32. Analytics node Source: www.opencontrail.org
  • 33. Analytics node components • API Server – REST API for querying analytics • Collector – Collects analytics information from all system nodes • Query Engine – Map-reduce over collected analytics – Executes queries • Rules Engine – Controls which events are collected by the Collector

Editor's Notes

  • #3: Cel (przedstawić architekture sofware’u, zachęcić do rozwijania) Temat Agenda Czas Dlaczego ja
  • #8: Dojdziemy do tego jak się OpenContrail integruje z OpenStackiem później Zastanówmy się jaki mamy tutaj problem w datacentrze zarządzanym przez OpenStacka
  • #11: - Top of rack - Są inne np. End-of-row
  • #12: Kto zna proste rozwiazanie VLAN?
  • #14: Migration example
  • #22: Doszliśmy do sedna sprawy, wiemy jak ma (od strony sieciowej działać system) jak to teraz zrealizować
  • #25: - Modele danych HIGH i LOW level