SDN Software Defined Networking Yassine HADJADJ AOUL Maître de Conférences Université de Rennes 1 Laboratoire IRISA – Equipe-projet Dionysos Campus de Beaulieu 35042 Rennes Cedex yhadjadj@irisa.fr Objectifs § Se faire une idée sur le domaine § Architecture des réseaux SDN § L’impact du SDN sur la gestion, la maintenance et la sécurisation des réseaux SDN – Yassine HADJADJ AOUL 2 SDN ou la programmabilité des réseaux • Une nouvelle architecture réseaux : – Facilitant la programmabilité des réseaux – Avec l’idée que des applications contrôlent, à distance, des équipements réseaux SDN – Yassine HADJADJ AOUL 3 Pourquoi un cours sur le SDN? (1) • L’idée intéresse énormément les chercheurs – Vu comme moyen d’optimiser et de mettre à l’échelle les réseaux ... • L’idée est récente mais intéresse énormément les industriels et les opérateurs – Permet aux entreprises d'accélérer le déploiement et la distribution d'applications – Moyen de gagner de l’argent … • Réduire le CAPEX et l’OPEX • Équipements déjà proposés dans le marché SDN – Yassine HADJADJ AOUL 4 Réduction des coûts avec SDN Coût (CAPEX) 200,000 serveurs Degrés de 20 è 10,000 switches $5k vendor switch = $50M $1k commodity switch = $10M Économie dans 1 data centers = $40M Contrôle (OPEX) Contrôle plus flexible Adaptation du réseau aux services Amélioration et innovation rapide Moins d’administrateurs et moins d’erreurs humaines SDN – Yassine HADJADJ AOUL 5 Router: Cisco ASR 9000 series Router: Juniper MX Series • Une centaine de famille de produit dans : https://www.opennetworking.org/products-listing Switch: Juniper MX80…Series Switch: Cisco Nexus Series • Tous les5500 constructeurs (ou presque) ont leurs produits/solutions • Plusieurs contrôleurs SDN sur le marché … Switch: HP 5900 series • Beaucoup d’Opensource … Switch: IP8800 series Router: Brocade ADX Series SDN – Yassine HADJADJ AOUL Router: Huawei CX600 Series 6 Pourquoi un cours sur le SDN? (2) • 55% des clients de « Gartner », leader mondial du conseil, pensent déployer du SDN • Croissance estimée du marché SDN de 734% – 960M $ en 2014 à 8B $ en 2018 • Le SDN en production, dans les centres de données – 11% en 2014, 45% en 2015 et une estimation de 87% en 2016 http://www.cisco.com/c/dam/en/us/solutions/collateral/unified-communications/unified-communications-managerSDN – Yassine HADJADJ AOUL callmanager/cisco_sdn_infographic_layout_1a_round7.pdf 7 Google SDN WAN SDN – Yassine HADJADJ AOUL 8 Bibliographie SDN: Software Defined Networks Par: Thomas D. Nadeau, Ken Gray • Cours de: – Nick Feamster, Georgia Tech (Coursera) – Jennifer Rexford, Princeton – Nick McKeown, Stanford SDN – Yassine HADJADJ AOUL 9 Plan 1. Introduction 4. Virtualisation des réseaux 2. Architecture traditionnelle vs SDN 5. Challenges 3. Composants du SDN a. Openflow et la programmabilité des réseaux b. Contrôleurs SDN c. Applications SDN – Yassine HADJADJ AOUL 10 L’Internet … une belle histoire • Grand succès – De l’expérimentation à la réalisation • Brillance de la sous-spécification – Réseaux: mode « Best Effort » – Hôtes: application arbitraire • Permet l’innovation au niveau applicatif – Web, P2P, VoIP, Réseaux sociaux, Virtualisation, … • Mais le changement est facile seulement au niveau de la bordure du réseaux … SDN – Yassine HADJADJ AOUL 11 L’intérieur du Net … une autre histoire • Équipement fermé (black box) – Le logiciel et fourni avec le matériel – Interfaces spécifiques constructeurs • Sur spécification – Processus de standardisation très lourd • OSPF (RFC 2328): 245 pages – Complexité liée à la distribution des algorithmes (e.g. count-to-infinity) • L’innovation est limitée à un ensemble très limité de personnes – Les équipementiers écrivent le code – Délai très important pour l’introduction d’une nouvelle fonctionnalité … ou pour corriger un bug !!! Impact sur la performance, la sécurité, la fiabilité et le coût … SDN – Yassine HADJADJ AOUL 12 Un réseau difficile à gérer … • Les systèmes d’exploitation (OS) sont très onéreux – Plus de la moitié du coût du réseau – Les erreurs humaines sont très nombreuses • Présence de bugs dans les équipements – Routeurs avec plus de 20 millions de lignes de code – Pannes possibles, vulnérabilités, … – Les mises à jour sont très difficiles à mettre en place • Arrêt, nouveaux bugs, nouvelles vulnérabilités, interfaçage avec certains logiciels, … • Problématique de la maîtrise d’équipements fermés (black box) hétérogènes inter-opérants … SDN – Yassine HADJADJ AOUL 13 Nécessité de repenser la répartition des responsabilités vers une nouvelle architecture ? SDN – Yassine HADJADJ AOUL 14 Plan 1. Introduction 4. Virtualisation des réseaux 2. Architecture traditionnelle vs SDN 5. Challenges 3. Composants du SDN a. Openflow et la programmabilité des réseaux b. Contrôleurs SDN c. Applications SDN – Yassine HADJADJ AOUL 15 Repenser la répartition des responsabilités VERS UNE NOUVELLE ARCHITECTURE SDN – Yassine HADJADJ AOUL 16 Qu’est-ce qu’un plan contrôle et un plan données? • Plan contrôle – La logique pour contrôler la fonction de réexpédition « forwarding » • Exemples: Routage, la configuration des middle box (e.g. firewall) • Plan données – Expédition des paquets suivant les règles établies par le plan contrôle • Exemple: Forwarding IP, Switching au niveau 2 SDN – Yassine HADJADJ AOUL 17 Architecture traditionnelle Plan données: Diffusion de paquets Transfert, filtrage, mise en tampon, marquage, mesures de paquets, … SDN – Yassine HADJADJ AOUL 18 Architecture traditionnelle Plan contrôle: Algorithmes distribués Gestion de la topologie, calcul des routes, mise en place des règles de routage, … SDN – Yassine HADJADJ AOUL 19 Architecture traditionnelle Plan management (Facteur humain) Collecte des mesures et configuration des équipements, … SDN – Yassine HADJADJ AOUL 20 AppAppAppAppAppAppAppAppAppAppApp Applications spécialisées Open Interface Windows (OS) Des OS spécialisés ou Linux ou Mac OS Open Interface Hardware spécialisés Microprocessor Intégration verticale, fermé, propriétaire, innovation lente, marché restreint à quelques industriels Interface horizontale ouverte, innovation, marché étendu SDN – Yassine HADJADJ AOUL 21 Vers un plan contrôle logiquement centralisé … • Gestion plus facile – Configuration des équipements – Vérification/débogage des contrôleurs plus facile • Innovation facile et rapide – Moins de dépendances aux équipementiers et aux standards – Évolution du logiciel de contrôle indépendamment du hardware • Interopération facile – La compatibilité est clé seulement là où il y a des protocoles • Équipement plus simple et moins cher – Logiciel/OS minimaliste SDN – Yassine HADJADJ AOUL 22 SDN Plan contrôle logiquement centralisé Intelligent, Lent API au plan données (e.g., OpenFlow) Slow path Stupide, Fast Switches Fast path SDN – Yassine HADJADJ AOUL 23 Network OS Open Interface Fonctionnalités spécialisées Control Plane Plan contrôle spécialisé Hardware spécialisé AppAppAppAppAppAppAppAppAppAppApp ou Control Plane ou Control Plane Open Interface Vues (parfois différentes) du réseaux Equipementier de Chips de switching Interface au forwarding Intégration verticale fermée, propriétaire, Innovation lente Interface horizontale ouverte, innovation rapide SDN – Yassine HADJADJ AOUL 24 Un exemple OSPF (Dijkstra) OSPF IS-IS Distributed System Distributed System IS-IS New! Distributed System Network OS OS Packet Forwarding Custom Hardware Packet Forwarding SDN – Yassine HADJADJ AOUL Packet Forwarding Packet Forwarding 25 Un exemple OSPF (Dijkstra) IS-IS New! Distributed System OSPF• OSPF IS-IS Network OS • RFC 2328: 245 pages Distributed Distributed • Systèmes distribués System System • Construire une représentation à jour du réseau: 101 pages OS • Dijkstra’s Algorithm Packet Forwarding • Travail sur un graphe: 4 pages Custom Hardware Packet Forwarding SDN – Yassine HADJADJ AOUL Packet Forwarding Packet Forwarding 26 Network OS • Système centralisé ou distribué qui permet la création et le maintient (i.e. consistant) d’une vue du réseaux • Utilise un protocole ouvert (e.g. Openflow) pour: – Obtenir l’état des éléments de forwarding – Donner des directives aux éléments de forwarding SDN – Yassine HADJADJ AOUL 27 Plan 1. Introduction 4. Virtualisation des réseaux 2. Architecture traditionnelle vs SDN 5. Challenges 3. Composants du SDN a. Openflow et la programmabilité des réseaux b. Contrôleurs SDN c. Applications SDN – Yassine HADJADJ AOUL 28 Openflow • Openflow est un protocole pour le contrôle à distance des tables de forwarding de switches ou routeurs. • Agit sur des flux non pas sur des paquets … – Un flux étant: trafic d’un point A vers un point B, trafic de Toto, trafic HTTP, … • C’est un des éléments (optionnel) du SDN … SDN – Yassine HADJADJ AOUL 29 Comment cela fonctionne? Contrôleur OpenFlow OpenFlow Protocol (SSL/TCP) Control Path Ethernet Switch (Software) Client OpenFlow Data Path (Hardware) SDN – Yassine HADJADJ AOUL 30 Comment cela fonctionne? Software Layer Controller PC OpenFlow Client Flow Table Hardware Layer MAC src * MAC dst * port 1 IP Src * IP Dst 5.6.7.8 port 2 TCP TCP sport dport * * Action port 1 port 3 5.6.7.8 Pas de modification du hard … port 4 1.2.3.4 SDN – Yassine HADJADJ AOUL 31 Les bases d’Openflow Les entrée des tables de flux Rule Stats Action Packet + byte counters 1. 2. 3. 4. 5. Switch Port VLAN ID Forward packet to zero or more ports Encapsulate and forward to controller Send to normal processing pipeline Modify Fields Any extensions you add! VLAN pcp MAC src MAC dst Eth type IP Src IP Dst IP ToS IP Prot L4 sport L4 dport + mask what fields to match SDN – Yassine HADJADJ AOUL 32 Exemples Switching Switch MAC Port src * MAC Eth dst type 00:1f:.. * * VLAN IP ID Src IP Dst IP Prot TCP TCP Action sport dport * * * * IP Dst IP Prot TCP TCP Action sport dport * * port6 Flow Switching Switch MAC Port src MAC Eth dst type port3 00:20.. 00:1f.. 0800 VLAN IP ID Src vlan1 1.2.3.4 5.6.7.8 4 17264 80 port6 Firewall Switch MAC Port src * * MAC Eth dst type * * VLAN IP ID Src IP Dst IP Prot TCP TCP Action sport dport * * * * * SDN – Yassine HADJADJ AOUL 22 drop 33 Exemples Routing Switch MAC Port src * * MAC Eth dst type * * VLAN IP ID Src IP Dst * 5.6.7.8 * * VLAN IP ID Src IP Dst IP Prot vlan1 * * * TCP TCP Action sport dport port6, port7, * * port9 * IP Prot TCP TCP Action sport dport * port6 VLAN Switching Switch MAC Port src * * MAC Eth dst type 00:1f.. * SDN – Yassine HADJADJ AOUL 34 Les bases d’Openflow: Controller les composantes principale Group Table PC OpenFlow Client Flow Table 0 Flow Table N Pipeline Packet Out Packet In SDN – Yassine HADJADJ AOUL 35 Cas pratique: Mobilité et migration transparente • Détection des envois de paquets depuis la nouvelle localisation • Modification des règles de routage du trafic SDN – Yassine HADJADJ AOUL 36 Cas pratique: Service de load balancing • Pré-installation de règles de load-balancing suivant l’adresse IP src=0* src=1* SDN – Yassine HADJADJ AOUL 37 Programmabilité des réseaux (1) • Openflow permet la programmabilité des réseaux – Équipement simple/disponible/interchangeable/pas cher … « Commodity hardware » • Existe-il d’autres outils pour le faire dans les réseaux traditionnels ? SDN – Yassine HADJADJ AOUL 38 Programmabilité des réseaux (2) • CLI à distance – Difficile à mettre en place (récupération et reprise après erreur, …) – Équipements chers et évolution difficile • SNMP – Pour la supervision (i.e. management) SDN – Yassine HADJADJ AOUL 39 Programmabilité des réseaux (3) • NETCONF du WG NETMOD (IETF) – Netconf (protocole de config) + YANG (langage de modélisation des données) – Met à disposition des mécanismes pour installer, manipuler et supprimer des configurations d’éléments réseau – Configuration d’un serveur vers un client, mais pas du client vers le serveur pour remonter des alarmes, … • Forces (IETF) – Standard complet permettant de décrire à peu près n’importe quelle fonction réseau (y compris un switch Openflow ! ) – Non adopté car nécessite de reprendre entièrement l’architecture des équipements SDN – Yassine HADJADJ AOUL 40 Plan 1. Introduction 4. Virtualisation des réseaux 2. Architecture traditionnelle vs SDN 5. Challenges 3. Composants du SDN a. Openflow et la programmabilité des réseaux b. Contrôleurs SDN c. Applications SDN – Yassine HADJADJ AOUL 41 Plusieurs contrôleurs SDN • • • • • • • • NOX/POX Ryu Floodlight Pyretic Frenetic RouteFlow Opendaylight ONOS SDN – Yassine HADJADJ AOUL 42 Plusieurs considérations • Langage de programmation – Impact sur les performances • Rapidité de maîtrise • Support de la communauté • Focalisation – API southbound – API northbound – Support d’Openstack – Éducation, recherche ou réseaux de production SDN – Yassine HADJADJ AOUL 43 Récapitulatif sur les contrôleurs NOX POX Ryu Floodlight ODL Langage C++ Python Python Java Java Perf. Rapide Lent Lent Rapide Rapide OF 1.0 1.0 1.0-1.4 1.0-1.3 1.0- Openstack Non Non Oui Oui Oui Maîtrise Modérée Facile Modérée Lente Lente Les contrôleurs doivent offrir: • Une interface southbound efficace • Permettant d’exprimer beaucoup de choses • Une interface northbound puissante • Permettant d’exploiter au mieux le réseaux sans rentrer dans l’implémentation du contrôleur (e.g. REST) SDN – Yassine HADJADJ AOUL 44 Autres solutions (1) • Plusieurs plateformes – Juniper Networks: Contrail systems • Contrôleur SDN logiquement centralisé mais physiquement distribué • Virtualisation avec MPLS • Interface REST – IBM: DOVE « Distributed Overlay Virtual Ethernet » • Virtualisation avec VxLAN (jusqu’à 16 millions de réseaux virtuels) • Solution centralisée – ALU: Nuage Controller • Similaire à Contrail systems (Juniper) – Tail-F • Orienté Netconf – OpenDayLight • Intègre plusieurs modules de contrôle de plusieurs équipementiers SDN – Yassine HADJADJ AOUL 45 Autres solutions (2) • Plusieurs solutions propriétaires – Juniper networks: Junos – Cisco: OnePK « One Platform Kit » • API (C, Java) unifiée pour contrôler du Cisco – ALU: ALU SR OS • Dédié au telco. SDN – Yassine HADJADJ AOUL 46 Plan 1. Introduction 4. Virtualisation des réseaux 2. Architecture traditionnelle vs SDN 5. Challenges 3. Composants du SDN a. Openflow et la programmabilité des réseaux b. Contrôleurs SDN c. Applications SDN – Yassine HADJADJ AOUL 47 Au niveau applicatif (1) Application monolithique Monitor + Route + FW + … Contrôleur Difficile à programmer, à tester, à déboguer, porter, … Packet Forwarding Packet Forwarding SDN – Yassine HADJADJ AOUL Packet Forwarding Packet Forwarding 48 Au niveau applicatif (2) Un module par tâche Monitor Route Contrôleur Facile à programmer, à tester, à déboguer, à porter, … Mais comment combiner les modules dans une application complète et cohérente (module affectant un même trafic)? Packet Forwarding Packet Forwarding SDN – Yassine HADJADJ AOUL Packet Forwarding Packet Forwarding 49 Approches de la composition (1) • Composition parallèle – Permet de lancer plusieurs opérations simultanément – Comptage, Forwarding, … • Composition séquentielle – Permet de lancer une opération après l’autre – Firewall puis le switching SDN – Yassine HADJADJ AOUL 50 Approches de la composition (2) • Division du trafic sur plusieurs modules – Dest port != 80: Monitor + Routing – Dest port == 80: Load balancing >> Routing • Ne pas tout spécifier afin d’éviter de se marcher sur les pieds – Load balancing ne doit pas s’occuper du chemin • Utiliser pour chaque module une vue abstraite • Séparer par intérêt – Cacher certains détails SDN – Yassine HADJADJ AOUL 51 Plan 1. Introduction 4. Virtualisation des réseaux 2. Architecture traditionnelle vs SDN 5. Challenges 3. Composants du SDN a. Openflow et la programmabilité des réseaux b. Contrôleurs SDN c. Applications SDN – Yassine HADJADJ AOUL 52 Qu’est ce que la Virtualisation des réseaux? • Abstraction de l’infrastructure physique – Support de plusieurs réseaux logiques s’exécutant sur un substrat physique – Un conteneur de services réseau • Aspects du réseau pouvant être virtualisés – Nœuds: Machine virtuelle – Liens: Tunnels (e.g. Ethernet GRE) – Stockage SDN – Yassine HADJADJ AOUL 53 Objectifs de la virtualisation des réseaux • Innovation rapide • Nouvelle façon de contrôler le réseau • Choix du vendeur (architectures multitenants) • Opérations et programmabilité simplifiées L’abstraction de l’infrastructure physique n’est pas inhérente dans les réseaux SDN SDN – Yassine HADJADJ AOUL 54 SDN vs Réseaux virtuels • Les réseaux SDN séparent le plan contrôle du plan données • Les réseaux virtuels séparent le réseau logique du réseau physique • SDN pourrait être un bon moyen pour implémenter les réseaux virtuels SDN – Yassine HADJADJ AOUL 55 Applications des réseaux virtuels • Expérimentation dans un réseau de production – Network slicing – Isolation des morceaux • Développement et déploiement rapide – Un service peut être déployé indépendamment de l’équipement (équipementier) sous jacent … • Mise à l’échelle dynamique des ressources – Allocation possible à partir d’un pool de ressources (comme dans un data center) SDN – Yassine HADJADJ AOUL 56 Exemple 1: FlowVisor (Virtualisation du plan contrôle) Server Custom Control Plane OpenFlow Controller Servers OpenFlow Controller OpenFlow Controller OpenFlow Controller OpenFlow Network OpenFlow Protocol Policy Check: Est-ce que cette règle est acceptable? FlowVisor OpenFlow Stub Control Plane OpenFlow Firmware Data Plane Data Path Data Path Switch/ Router Switch/ Router SDN – Yassine HADJADJ AOUL Policy Check: Qui contrôle ce paquet? OpenFlow Firmware 57 Exemple 2: Cloud privé virtuel (VPC) d’Amazon • Permet aux clients de définir leurs propres réseau – Avec leurs propres plans d’adressage • Étend les centres de données des entreprises – VPN entre le data center et le VPC • Bénéfices: – Mise à l’échelle à la demande – Gestion simplifiée – Recouvrement en cas de problème SDN – Yassine HADJADJ AOUL 58 Networking virtuel dans Mininet • Environnement réseau virtuel pouvant être exécuté dans un PC • Exécute un vrai Kernel, switch et du code applicatif réel sur une même machine – CLI, interface python ... • Plusieurs fonctions Openflow sont supportées – Pratique pour développer, déployer et partager • Facile à utiliser et open source SDN – Yassine HADJADJ AOUL 59 Du côté des alternatives à Mininet • Systèmes réel – Configuration difficile • Réseau de VMs – Problème de passage à l’échelle • Simulateurs – Pas facile de passer vers un déploiement réel SDN – Yassine HADJADJ AOUL 60 Plan 1. Introduction 4. Virtualisation des réseaux 2. Architecture traditionnelle vs SDN 5. Challenges 3. Composants du SDN a. Openflow et la programmabilité des réseaux b. Contrôleurs SDN c. Applications SDN – Yassine HADJADJ AOUL 61 Questions ouverte dans le SDN • Applications et API northbound – Routage inter-domaine (SDX), réseaux de mobiles • Contrôle – – – – Sécurité Combinaison entre Big data et gestion de réseaux Orchestration Inconsistance possible lors de l’utilisation de plusieurs contrôleurs • Plan données – Aller plus loin du match/action (détection de pattern, DPI, …) • Programmation du plan données (e.g. Fast reroute, …) • QoS/QoE SDN – Yassine HADJADJ AOUL 62 Programmation et débogage • Programmation d’application facilitée par le SDN … mais pas tant que cela • Couplage et composition de services • Débogage pas si facile … è Vers la définition d’un langage réseau … SDN – Yassine HADJADJ AOUL 63 Et maintenant c’est la course vers le : NFV: NETWORK FUNCTION VIRTUALISATION SDN – Yassine HADJADJ AOUL 64 NFV • Virtualisation de fonctions de réseau – Consiste à mettre en œuvre des fonctions de réseau par du logiciel … – Fonctions fonctionnant aujourd'hui sur des serveurs propriétaires sur du matériel exclusifs • Permet l'utilisation d'une plate-forme physique unique pour différentes applications, utilisateurs et propriétaires (tenants) • Applicable à tous les plans de données/de contrôle SDN – Yassine HADJADJ AOUL 65 Architecture NFV • Utilisation des techniques de virtualisation (IT) pour la virtualisation de fonctions réseaux – Moyen de rendre les réseaux encore plus flexibles et simples en minimisant les dépendances au hardware v v Traditional Network Model: APPLIANCE APPROACH Virtualised Network Model: VIRTUAL APPLIANCE APPROACH DPI GGSN/ CG-NAT BRAS SGSN PE Router Firewall DPI BRAS Firewall CG-NAT GGSN/SGSN Session Border Controller VIRTUAL APPLIANCES ORCHESTRATION, AUTOMATION & REMOTE INSTALL PE Router § Network Functions are based on specific HW § One physical node per role STANDARD HIGH VOLUME SERVERS § Network Functions are deployed over well-known HW § Multiple roles over same HW SDN – Yassine HADJADJ AOUL 66 Avantages et promesses de NFV • Réduction des coûts d'équipements (CAPEX) • Augmentation de la rapidité de mise sur le marché • Disponibilité de l'application réseau en multi-version et en multipropriétaires « multi-tenancy » • Permet une variété d'écosystèmes et encourage l'ouverture • Encourager l'innovation pour apporter de nouveaux services et générer de nouvelles sources de revenus. SDN – Yassine HADJADJ AOUL 67 Avantages et promesses de NFV • Flexibilité pour fournir facilement et rapidement, dynamiquement et instancier de nouveaux services dans divers endroits • Amélioration de l'efficacité opérationnelle • Innovation orientée logiciel pour prototyper rapidement et tester de nouveaux services et générer de nouveaux revenus • Coûts opérationnels réduits (OPEX): réduction de la puissance, réduction de l'espace, amélioration de la surveillance du réseau SDN – Yassine HADJADJ AOUL 68 NFV et SDN • NFV et SDN sont très complémentaires • Les deux concepts sont mutuellement bénéfiques mais ne dépendent pas l'un de l'autre SDN: redéfinition de l'architecture réseau • SDN vient du monde de l'informatique • • Séparer le plan données et le plan contrôle (Tout en centralisant le contrôle) Offrir la possibilité de programmer le comportement du réseau NFV: redéfinition de l'architecture des équipements réseau • NFV est né pour répondre aux besoins des fournisseurs de services (SP) • • Réduction du CAPEX en réduisant / éliminant le matériel propriétaire Consolider plusieurs fonctions de réseau sur des plateformes standard de l'industrie SDN – Yassine HADJADJ AOUL 69 CDNaaS: CDN as a Service SDN – Yassine HADJADJ AOUL 70 Architecture logiciel User (content provider) front end • Northbound customer API vCDN request Service Orchestrator (SO) Deploy resources – Skeleton of a vCDN service – Basic constraints Customer Interface SO API Service Instance Graph • Service Template SIDR API • Mandatory existence of specific VNF (e.g., DNS, origin server) • Constraints on instance capabilities • Constraints on #instances/type (e.g., “> 0 origin srv”) Service Instance Descriptor Repository (SIDR) VIM API Virtual Infrastructure Manager (VIM) All communication over HTTP using REST APIs Service Template • Service Instance Graph – Map of VNF instances to physical hosts – The output of a VNF placement algorithm Southbound interface (OpenStack API) Cloud infrastructure • Python implementation 71