Vous êtes sur la page 1sur 126
Virtualisation des Réseaux ISSAT Mateur Automne 2017
Virtualisation des Réseaux
ISSAT Mateur
Automne 2017
Akram Hakiri
Akram Hakiri

Objectif

Comprendre le passage vers l’infrastructure Cloud, les topologies réseaux, les protocoles

1. Introduction au Cloud Computing

Modèles, architectures et infrastructure

Migration du cloud vers les Cloudlets et le Fog Computing

2. Notions sur la virtualisation du réseau et NFV

3. Introduction à la programmabilité du réseau

Introduction au Software Defined Networking (SDN)

4. Des Systèmes Cyber-Physiques (CPS) à l’Internet des Objets (IoT)

au Software Defined Networking (SDN) 4. Des Systèmes Cyber-Physiques (CPS) à l’Internet des Objets (IoT) 2

2

Prérequis & Apports

Prérequis:

Notions sur le réseau et CCNA

Notion sur la pile de protocole IP

Apports:

Comprendre le modèle de cloud et la Virtualization du réseau

Programmer des services réseaux virtualisés

Programmation de conteneurs (Docker)

Programmer des réseau (SDN)

Programmation pour l’Internet des Objets (IoT)

de conteneurs (Docker)  Programmer des réseau (SDN)  Programmation pour l’Internet des Objets (IoT) 3

3

Organisation du cours

1. Cours Intégré de 3h par semaine/12 semaines

2. Prévoir 4 séances de TP pour la programmation dans le cloud

3. Evaluation des connaissances

1. DS (30% de la note globale)

2. Examen (70% de la note globale)

4. Support de cours

1. Diapositives à fournir à chaque étudiant (PDF ou papiers)

2. Enoncés de TP/TD

Attention !

Elimination 3 absences non justifiées (Avis Administration)

ou papiers) 2. Enoncés de TP/TD  Attention !  Elimination 3 absences non justifiées (Avis

4

Chapitre 1: Introduction – Panorama du Cloud Computing Akram Hakiri 5

Chapitre 1: Introduction – Panorama du Cloud Computing

Akram Hakiri
Akram Hakiri

Évolution du monde IT

Évolution du monde IT SAP, Oracle, AutoCAD, Exchange) 6
Évolution du monde IT SAP, Oracle, AutoCAD, Exchange) 6
SAP, Oracle, AutoCAD, Exchange)
SAP, Oracle, AutoCAD,
Exchange)
Évolution du monde IT SAP, Oracle, AutoCAD, Exchange) 6
Évolution du monde IT SAP, Oracle, AutoCAD, Exchange) 6
Évolution du monde IT SAP, Oracle, AutoCAD, Exchange) 6
Évolution du monde IT SAP, Oracle, AutoCAD, Exchange) 6
Évolution du monde IT SAP, Oracle, AutoCAD, Exchange) 6
Évolution du monde IT SAP, Oracle, AutoCAD, Exchange) 6
Évolution du monde IT SAP, Oracle, AutoCAD, Exchange) 6
Évolution du monde IT SAP, Oracle, AutoCAD, Exchange) 6

6

Cloud Computing -- Notions

Ensemble partagé de ressources informatiques configurable Access à la demande aux ressources réseaux Fournis par un fournisseur de service ‘Cloud Service Provider’

7
7
Access à la demande aux ressources réseaux  Fournis par un fournisseur de service ‘Cloud Service

Cloud Computing -- Notions

Le cloud computing est un terme générique utilisé pour désigner les logiciels et les services basés sur Internet Les plateformes cloud:

cachent la complexité et les détails de l’infrastructure réseau des utilisateurs et des applications, fournissent une interface graphique ou des interfaces de programmation (API)

utilisateurs et des applications,  fournissent une interface graphique ou des interfaces de programmation (API) 8

8

Cloud Computing -- Notion

La plateforme offre des services à la demande:

toujours disponible, partout, à tout moment, et de n’importe quel endroit,

Payer pour l’utilisation, au besoin de manière élastique

Passage à l’échelle (up & down) en capacité et en fonctionnalités

Les services matériels et logiciels sont disponibles pour le public, les entreprises et les marchés des entreprises

Exemples:

Dropbox, Google drive, OneDrive,

Amazon Elastic Compute Cloud (EC2), Microsoft Azure

 Exemples:  Dropbox, Google drive, OneDrive,  Amazon Elastic Compute Cloud (EC2), Microsoft Azure 9

9

Modèles de Service Cloud

Software as a Service (SaaS)
Software as a
Service (SaaS)
Platform as a Service (PaaS)
Platform as a
Service (PaaS)
Infrastructure as a Service (IaaS)
Infrastructure as a
Service (IaaS)

SalesForce CRM LotusLive

(SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) SalesForce CRM LotusLive Google App

Google App Engine

(SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) SalesForce CRM LotusLive Google App
(SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) SalesForce CRM LotusLive Google App
(SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) SalesForce CRM LotusLive Google App
(SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) SalesForce CRM LotusLive Google App
(SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) SalesForce CRM LotusLive Google App
(SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) SalesForce CRM LotusLive Google App
(SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) SalesForce CRM LotusLive Google App

10

Infrastructure As A Service (IAAS)

La mise a disposition de ressources matérielles (CPU, Mémoire, stockage) sous forme de serveurs virtualisés

Il s’agit de serveurs où les ressources peuvent être évoluées à la demande

L’utilisateur gère le middleware et la couche application (SOA, DB, etc.)

Le fournisseur cloud gère l’infrastructure physique (serveurs, stockage, réseaux, data center) et la couche virtualisation

cloud gère l’infrastructure physique (serveurs, stockage, réseaux, data center) et la couche virtualisation 11
cloud gère l’infrastructure physique (serveurs, stockage, réseaux, data center) et la couche virtualisation 11

11

Platform As A Service (PAAS)

Il s’agit d’offrir des ressources machines et de l’espace de stockage, en plus d’avoir accès à une véritable plate-forme de développement (langage de programmation, outils de développements, modules), Google Apps Engine incluent la notion de temps CPU, d’espace de stockage, de bande passante consommée. Payement à la demande: à la consommation de ressources nécessaires pour traiter une application,

fait de manière dynamique selon la

Le

payement

se

consommation

nécessaires pour traiter une application, fait de manière dynamique selon la  Le payement se consommation

12

Software as a Service (SaaS)

Une ou un exemple d’applications mises à la disposition du client final, sans qu’il n’a besoin de connaissance spécifique (pas besoin d’installer ces applications)

Généralement, une interface web est fournit à l’utilisateur pour qu’il puisse y accéder à distance comme un service,

SaaS est un modèle qui s’appuie sur les technologies liées aux « Web Services »,

Exemples:

Google Apps : Google documents,Agenda,Talk

Facebook, LinkedIn,Tweeter,Viadeo

Web Services »,  Exemples:  Google Apps : Google documents,Agenda,Talk  Facebook, LinkedIn,Tweeter,Viadeo 13

13

Différentes couches de Cloud Computing

Description Services Services Services – Complete business services such as PayPal, OpenID, OAuth, Google Maps,Alexa
Description
Services
Services
Services – Complete business services such as PayPal,
OpenID, OAuth, Google Maps,Alexa
Application
Cloud based software that eliminates the need for local
installation such as Google Apps, Microsoft Online
Development
Software development platforms used to build custom
cloud based applications (PAAS & SAAS) such as SalesForce
Platform
Cloud based platforms, typically provided using
virtualization, such as Amazon ECC, Sun Grid
Storage
Application
Infrastructure
Focused
Focused
Hosting
Data storage or cloud based NAS such as CTERA,
iDisk, CloudNAS
Physical data centers such as those run by IBM,
HP, NaviSite, etc.
or cloud based NAS such as CTERA, iDisk, CloudNAS Physical data centers such as those run

14

Caractéristiques du cloud Computing

Caractéristiques du cloud Computing 15

15

Avantages du cloud computing 1/5

Cout faible de PC

Pas besoin de machine super puissante et performante (CPU, Mémoire, disque dur de stockage) pour exécuter des applications web sur le cloud,

On peut utiliser des tablettes, smartphone, laptop, etc., pour exécuter des applications web dans le cloud

Pas besoins d’installer des applications lourde pour réaliser ces taches, ces applications sont déjà déployer sur le cloud (Microsoft Office 360)

Performance améliorée

Avec moins de programmes gourmands en termes de mémoire et d’utilisation CPU, vous pourrez voir de meilleures performances de votre PC

Les ordinateurs sur le cloud démarre plus rapidement car ils ont des programmes lourd moins gourmand en CPU et Memoire

ordinateurs sur le cloud démarre plus rapidement car ils ont des programmes lourd moins gourmand en

16

Avantages du cloud computing 2/5

Réduction des coûts de logiciels

Au lieu d'acheter des applications logicielles coûteuses, vous pouvez obtenir la plupart de ce que vous avez besoin gratuitement (OneDrive, Google Doc)

Mieux que de payer pour un logiciel commercial similaire (Microsoft Office 360)

Mises à jour logicielles instantanée

Vous n'êtes plus confrontés à choisir entre des logiciels obsolètes et les coûts élevés de mise à jour

Lorsque l'application est basée sur le Web, les mises à jour sont automatiques (disponible la prochaine fois que vous vous connectez dans le cloud).

Lorsque vous accédez à une application basée sur le Web, vous obtenez la dernière version (sans avoir besoin de payer pour ou télécharger une mise à niveau)

sur le Web, vous obtenez la dernière version (sans avoir besoin de payer pour ou télécharger

17

Avantages du cloud computing 3/5

Compatibilité de format de document

Ne pas paniquer quand à l’architecture ou l’OS sur lequel vous créez vos documents,

Il y a potentiellement aucune incompatibilité de format quand tout le monde utilise et partage ces documents et applications dans le cloud.

Capacité de stockage illimitée

Cloud computing offre un stockage virtuellement illimitée.

Augmentation de la fiabilité des données

Contrairement à un ordinateur dans lequel si un disque tombe en panne tous vos données précieuses sont détruites, sur le cloud les données sont toujours sauvegardés (via des mécanismes de fiabilité, de réplication, etc.)

sur le cloud les données sont toujours sauvegardés (via des mécanismes de fiabilité, de réplication, etc.)

18

Avantages du cloud computing 4/5

Access universel aux documents

Les documents sont accessibles ou, que vous soyez n’importe quand

Vous ne prenez pas vos documents avec vous, ils restent dans le cloud, vous pouvez y accéder à chaque fois vous avez une connexion à Internet

Disponibilité des dernières versions

Lorsque vous éditer une version à la maison, c’est cette dernière version que vous y accéder dans votre bureau

Le cloud accueille toujours la dernière version de vos documents,

Aussi longtemps que vous êtes connecté, vous n'êtes pas en danger d'avoir une version obsolète

 Aussi longtemps que vous êtes connecté, vous n'êtes pas en danger d'avoir une version obsolète

19

Avantages du cloud computing 5/5

Collaboration simple entre groupe

Partage de documents mène direction à une meilleur collaboration (projets, documents, rapports, etc.)

Indépendance de l’appareil

On n’est pas attaché à un seul appareil (laptop, PC de bureau) ou un seul réseau (connectivité)

Même si on change d’ordinateurs, de réseaux ou d’applications, les documents vous suivent à travers le cloud

Utiliser un ordinateur, un smartphone, une tablette ou un appareil portable, vos applications et vos documents sont toujours disponibles.

un smartphone, une tablette ou un appareil portable, vos applications et vos documents sont toujours disponibles.

20

Inconvénients du Cloud Computing

Besoin d’une connexion permanente à Internet

Pour se connecter à vos applications et à vos documents, sinon vous ne pouvez pas accéder du tout

Dans les zones où les connexions Internet sont rares ou peu fiables, rend la connexion au cloud computing souvent impossible.

Les applications Web nécessitent beaucoup de bande passante pour télécharger les gros documents.

Caractéristiques pourraient être limités

Aujourd'hui, de nombreuses applications basées sur le Web ne sont pas aussi complètes que celles de bureau (MS Office).

Service Peut être lent

Même avec une connexion rapide, des applications Web peuvent parfois être plus lent que l'accès à un logiciel similaire sur votre PC de bureau.

des applications Web peuvent parfois être plus lent que l'accès à un logiciel similaire sur votre

21

Fog Computing -- Notions

Fog computing

C’est un nouveau paradigme qui étend le cloud computing et des services à la périphérie du réseau (Edge Network),

fournit des données, de calcul, de stockage et des services d'application aux utilisateurs finaux.

La motivation de Fog computing réside dans une série de scénarios réels:

Smart Grid,

Smart cities : les feux de circulation intelligents

Programmabilité des réseaux (SDN).

 Smart Grid,  Smart cities : les feux de circulation intelligents  Programmabilité des réseaux

22

Fog Computing -- Concepts

Cloud

Fog

Edge

Fog Computing -- Concepts Cloud Fog Edge Core 23 Locations

Core

Fog Computing -- Concepts Cloud Fog Edge Core 23 Locations
Fog Computing -- Concepts Cloud Fog Edge Core 23 Locations
Fog Computing -- Concepts Cloud Fog Edge Core 23 Locations

23

Locations

Architecture du Fog Computing

Contrairement à l’architecture classique du cloud, les « Fog devices » sont géographiquement réparties sur des plateformes hétérogènes, couvrant plusieurs domaines de gestion.

Facilitent la mobilité des services à travers les plates- formes,

Transparence vise à vis des technologies pour préserver la sécurité du contenu et la vie privée de l'utilisateur final à travers des domaines

pour préserver la sécurité du contenu et la vie privée de l'utilisateur final à travers des

24

Avantages du Fog Computing

Placer des données à proximité des utilisateurs finaux

Répartition dans des zones géographiquement dense

Support de la mobilité

Les administrateurs peuvent supporter les services de localisation de terminaux en se basant sur la demande de mobilité et n’ont pas avoir à traverser le réseau entier.

Faible latence (par rapport au cloud)

L’analyse de Big Data peut être faite plus rapidement avec de meilleurs résultats.

(par rapport au cloud)  L’analyse de Big Data peut être faite plus rapidement avec de

25

Avantages du Fog Computing

Amélioration de la QoS en temps-réel

Améliorer l'expérience CLOUD en isolant les données utilisateur qui nécessitent rester sur la frontière du réseau (Edge Network).

Connaissance de l’endroit de déploiement (location awareness)

Déploiement sur:

des applications qui nécessitent très faibles et prévisibles latence.

Des applications mobiles rapide.

Des système distribuées de contrôle à large envergure.

latence.  Des applications mobiles rapide.  Des système distribuées de contrôle à large envergure. 26

26

Caractéristiques

Sécurité

Sécurité forte (le matériel est la racine de la confiance)

Résilience et tolérance aux fautes

Programmabilité

Support de plusieurs types d’applications

Polyvalence des environnements d’exploitation

Caractéristiques temps-réel

Capabilités de synchronisation déterministes

Support de plusieurs types d’OS (Windows, Unix, Linux, Mac)

Emploi des protocoles simples et rapides de l’Internet of Things (TCP/IP, 6LowPAN, COAP, Sockets, etc…)

Fonctionne des « composants pris sur étager » (COTS), comme des tablettes, des PCs, des routeurs wifi, des cartes embarquées (Raspberry PI, Beagle Bone,Arduino, etc,)

comme des tablettes, des PCs, des routeurs wifi, des cartes embarquées (Raspberry PI, Beagle Bone,Arduino, etc,)

27

Domaines d’applications

Smart Smart Software grid Traffic Defined Lights Networks Scenarios Wireless
Smart
Smart
Software
grid
Traffic
Defined
Lights
Networks
Scenarios
Wireless
Internet of Things Sensor Decentralized Smart Building Control
Internet
of Things
Sensor
Decentralized
Smart Building
Control
Defined Lights Networks Scenarios Wireless Internet of Things Sensor Decentralized Smart Building Control 28

28

Chapitre 2: Ingénierie de trafic dans le Cloud/Fog computing
Chapitre 2: Ingénierie de trafic dans le
Cloud/Fog computing
Akram Hakiri
Akram Hakiri

TE pour le Cloud & Data Center

Dans les réseaux IP:

Optimisation de l’acheminement de données par l’analyse, la prévision et l’ajustement efficace du trafic dans le réseau,

Dans le cloud

Les Data Center avec une énorme capacité de stockage et de traitement sont à la base de nombreux services Cloud et Internet

Ils utilisent des équipements réseau Ethernet, la majorité sont dominés par différentes variantes du protocole Spanning Tree.

Les problèmes de TE dans les DC sont très variés, à la fois dans la formulation du problème et aux critères d’évaluation

Certaines approches sont hors-ligne (off-line), d’autres sont enligne (on line),VLAN, optimisation de multiple Spanning Tree, assignation de trafic, etc.

d’autres sont enligne (on line),VLAN, optimisation de multiple Spanning Tree, assignation de trafic, etc. 30

30

Techniques de TE dans le cloud

Les techniques de TE dans les DCs visent à résoudre plusieurs problèmes

Le formulation de ces problèmes dépend du contexte

Minimiser l’utilisation maximale de lien entre les switches Ethernet utilisant un algorithme Spanning Tree (intra data center)

Minimiser l’utilisation maximale de lien entre Data centers en utilisant plusieurs Spanning Tree (inter-data center)

Minimisation des interruptions de services (fiabilité, migration de VMs, etc.)

TE multi-objectifs: on choisis multiples critères pour l’optimisation: utilisation maximale de liens, charge totale du réseaux et nombre de liens (connexions) utilisées,

l’optimisation: utilisation maximale de liens, charge totale du réseaux et nombre de liens (connexions) utilisées, 31

31

Les ressources dans le cloud

Ressources élastiques

Étendre et contracter les ressources

Payer par utilisation

Infrastructure à la demande

Locations multiples (Multi-tenancy)

Plusieurs utilisateurs indépendants

Sécurité et isolation des ressources

Amortir le coût de l'infrastructure (partagé)

Flexibilité de gestion de services

Résilience: isolation de pannes de serveurs et de stockages

Déplacer la charge (équilibre de charges): déplacer la charge vers d’autres infrastructures

et de stockages  Déplacer la charge (équilibre de charges): déplacer la charge vers d’autres infrastructures

32

Les modèles du cloud

Software as a Service

Le fournisseur propose des applications comme des services

Par exemple, la gestion de la relation client, e-mail,

Évitez les coûts de l'installation, l'entretien, correctifs,

Platform as a Service

Le fournisseur offre une plateforme logicielle pour la construction des applications de

Par exemple,App-Engine de Google

Évitez les problèmes de l'évolutivité de la plateforme

Infrastructure as a Service

Le fournisseur propose l’infrastructure de calcul, de stockage et de réseau

E.g.,Amazon’s Elastic Computing Cloud (EC2)

Évitez d'acheter des serveurs et estimer les besoins en ressources

Elastic Computing Cloud (EC2)  Évitez d'acheter des serveurs et estimer les besoins en ressources 33

33

Applications Multi-tiers

Les applications consistent en plusieurs taches, séparés en composants, tournant sur plusieurs machines

L’utilisation des ordinateurs classiques mainframes

Simplifier l’évolutivité

Front end

au lieu des

Server

l’évolutivité Front end au lieu des Server Aggregator … … Aggregator Aggregator Aggregator … …
Aggregator
Aggregator
… …
… …
Aggregator
Aggregator
Aggregator
Aggregator

Aggregator

… … Worker Worker Worker Worker Worker 34 34
Worker
Worker
Worker
Worker
Worker
34
34

La virtualisation: technologie support de multi-tiers 1/3

La virtualisation: technologie support de multi-tiers 1/3  Plusieurs machines virtuelles sur une seule machine

Plusieurs machines virtuelles sur une seule machine physique

Les applications fonctionnent non modifiée que sur la machine réelle

 VM peut migrer d'un ordinateur à un autre 35
VM peut migrer d'un ordinateur à un autre
35

La virtualisation: technologie support de multi-tiers 2/3

La virtualisation: technologie support de multi-tiers 2/3 36
La virtualisation: technologie support de multi-tiers 2/3 36
La virtualisation: technologie support de multi-tiers 2/3 36
La virtualisation: technologie support de multi-tiers 2/3 36
La virtualisation: technologie support de multi-tiers 2/3 36
La virtualisation: technologie support de multi-tiers 2/3 36

36

La virtualisation: technologie support de multi-tiers 3/3

La virtualisation: technologie support de multi-tiers 3/3  Rack of servers  Serveurs classiques et ToR

Rack of servers

technologie support de multi-tiers 3/3  Rack of servers  Serveurs classiques et ToR  Conception

Serveurs classiques et ToR

Conception modulaire

Rack préconfiguré

Consommation d’énergie, CPU, RAM, stockage

et ToR  Conception modulaire  Rack préconfiguré  Consommation d’énergie, CPU, RAM, stockage 37
37
37

Topologies réseau du cloud & data center 1/2

Internet

Topologies réseau du cloud & data center 1/2 Internet AR . . . CR CR AR
AR
AR

.

.

.

CR CR
CR
CR
AR
AR
du cloud & data center 1/2 Internet AR . . . CR CR AR S S
S S S S S S … … ~ 1,000 servers/pod
S
S
S
S
S
S
~ 1,000 servers/pod
AR AR
AR
AR

.

.

.

Key CR = Core Router

AR = Access Router

S = Ethernet Switch

A = Rack of app. servers

. . . Key • CR = Core Router • AR = Access Router • S

38

Topologies réseau du cloud & data center 1/2

CR CR ~ 200:1 AR AR AR AR S S S S ~ 40:1 S
CR
CR
~ 200:1
AR
AR
AR
AR
S
S
S
S
~ 40:1
S
S
S
S
S
S
S
S
~ 5:1
.
.
.
1/2 CR CR ~ 200:1 AR AR AR AR S S S S ~ 40:1 S

39

Topologies réseau du cloud & data center 1/2

Internet

S S S S S S SS S S S S … … ~ 1,000
S S
S S
S S
SS S S
S S
~ 1,000 servers/pod == IP subnet

.

S SS S S S S … … ~ 1,000 servers/pod == IP subnet . CR
CR CR
CR
CR
DC-Layer 3 . . . AR AR AR AR DC-Layer 2
DC-Layer 3
.
.
.
AR
AR
AR
AR
DC-Layer 2

.

.

Key CR = Core Router (L3)

AR = Access Router (L3)

S = Ethernet Switch (L2)

A = Rack of app. servers

CR = Core Router (L3) • AR = Access Router (L3) • S = Ethernet Switch

40

Équilibre de charges entre serveurs dans le data center

Charge Réparties sur des répliques de serveur

Présenter une adresse publique unique (VIP) pour un service

Dirigez chaque demande d'une réplique du serveur

 Dirigez chaque demande d'une réplique du serveur Virtual IP (VIP) 192.121.10.1 10.10.10.1 10.10.10.2
 Dirigez chaque demande d'une réplique du serveur Virtual IP (VIP) 192.121.10.1 10.10.10.1 10.10.10.2

Virtual IP (VIP)

192.121.10.1

chaque demande d'une réplique du serveur Virtual IP (VIP) 192.121.10.1 10.10.10.1 10.10.10.2 10.10.10.3 41 41
chaque demande d'une réplique du serveur Virtual IP (VIP) 192.121.10.1 10.10.10.1 10.10.10.2 10.10.10.3 41 41
chaque demande d'une réplique du serveur Virtual IP (VIP) 192.121.10.1 10.10.10.1 10.10.10.2 10.10.10.3 41 41
chaque demande d'une réplique du serveur Virtual IP (VIP) 192.121.10.1 10.10.10.1 10.10.10.2 10.10.10.3 41 41
chaque demande d'une réplique du serveur Virtual IP (VIP) 192.121.10.1 10.10.10.1 10.10.10.2 10.10.10.3 41 41
chaque demande d'une réplique du serveur Virtual IP (VIP) 192.121.10.1 10.10.10.1 10.10.10.2 10.10.10.3 41 41
chaque demande d'une réplique du serveur Virtual IP (VIP) 192.121.10.1 10.10.10.1 10.10.10.2 10.10.10.3 41 41

10.10.10.1

10.10.10.2

10.10.10.3

chaque demande d'une réplique du serveur Virtual IP (VIP) 192.121.10.1 10.10.10.1 10.10.10.2 10.10.10.3 41 41

41

41

Utilisation des ressources dans le data center

• Servers: 45%

– CPU, memory, disk

• Infrastructure: 25%

– UPS, cooling, power distribution

• Power draw: 15%

– Electrical utility costs

• Network: 15%

– Switches, links, transit

power distribution • Power draw: 15% – Electrical utility costs • Network: 15% – Switches, links,

42

Trafic entre data centers sur Internet

. . . Servers Router
.
.
.
Servers
Router

.

.

.

Servers

Router

Data

Centers

Internet
Internet

DNS

Server

Clients

DNS-based site selection

. . Servers Router . . . Servers Router Data Centers Internet DNS Server Clients DNS-based

43

Trafic entre data centers sur Internet

. . . . . Data Servers Centers Router Router Proxy Proxy
.
.
.
.
.
Data
Servers
Centers
Router
Router
Proxy
Proxy
entre data centers sur Internet . . . . . Data Servers Centers Router Router Proxy
entre data centers sur Internet . . . . . Data Servers Centers Router Router Proxy

.

Servers

. Servers

Clients

entre data centers sur Internet . . . . . Data Servers Centers Router Router Proxy

44

Ingénierie de trafic dans le DC Challenges

Scalabilité (scale up/down)

Combien de switches, de serveurs, machines virtuelles

Churn

Migration de machines virtuelles allocation de resources

Recouvrement après échec/panne

Caractérisation de trafic

Volume de trafic élevé et la matrice de trafic dense

Les modèles de trafic volatiles, imprévisibles

Exigences de performance

Applications sensibles aux retards,

L'isolement des ressources entre les tenants

Exigences de performance  Applications sensibles aux retards,  L'isolement des ressources entre les tenants 45

45

Ingénierie de trafic dans le DC Opportunités

réseau efficace

Faible temps de propagation et de haute capacité

topologie spécialisés

Fat Tree,Arbre Fat, réseau Clos, etc.

Opportunités pour l'adressage hiérarchique

Le contrôle sur le réseau et les hôtes

L'optimisation conjointe du serveur de routage et de placement

Peut déplacer la fonctionnalité de réseau dans l'hôte final

Mouvement souple de la charge de travail

Services de réplication sur plusieurs serveurs et centres de données

Machine virtuelle (VM) la migration

 Services de réplication sur plusieurs serveurs et centres de données  Machine virtuelle (VM) la

46

Exemple: Virtual Layer 2 Switch

CR CR 1. L2 semantics . . . AR AR AR AR 2. Uniform high
CR
CR
1. L2 semantics
.
.
.
AR
AR
AR
AR
2. Uniform high
capacity
S
S
3. Performance
isolation
S
S
S
S
S
S
S
S
S
S
.
.
.
2. Uniform high capacity S S 3. Performance isolation S S S S S S S

47

Virtualisation L2 dans le cloud & data center

Objectif 1. Sémantiques de la couche 2 2. Grande capacité uniforme entre serveurs 3. Performance
Objectif
1. Sémantiques de
la couche 2
2. Grande capacité
uniforme entre
serveurs
3. Performance
Isolation
Approche Utilisation de l’adressage FAT Bande passante garantie pour le trafic tuyau modèle Appliquer le
Approche
Utilisation de
l’adressage FAT
Bande passante
garantie pour le trafic
tuyau modèle
Appliquer le modèle de
tuyau en utilisant les
mécanismes existants
seulement

Solution

Séparation Nom- emplacement et le service de résolution

Le trafic aléatoire indirection fondée sur les flux

TCP

Nom- emplacement et le service de résolution Le trafic aléatoire indirection fondée sur les flux TCP

48

Virtualisation L2 dans le cloud & data center

Directory Switches run link-state routing and Service maintain only switch-level topology • Allows to use
Directory
Switches run link-state routing and
Service
maintain only switch-level topology
• Allows to use low-cost switches
… …
x x
 ToR 2
 ToR
• Protects network and hosts from host-state churn
2
y y
 ToR
 ToR 3
3
• Obviates host and switch
reconfiguration
z
z  ToR
 ToR 4
3
ToR 1
.
.
.
ToR 2
.
.
.
ToR 3
.
.
.
ToR 4
… …
ToR 3 y
payload
Lookup &
x
y y, z
z
Response
ToR
ToR
z z
payload
payload
3 4
ToR 3 y payload Lookup & x y y, z z Response ToR ToR z z

49

Servers use flat names

Virtualisation L2 dans le cloud & data center

Offer huge aggr capacity & multi paths at modest cost
Offer huge aggr capacity & multi paths at modest cost
Int . . . D Max DC size (# of 10G ports) (# of Servers)
Int
. .
.
D
Max
DC size
(# of 10G ports)
(# of Servers)
48
11,520
Aggr
.
.
.
96
46,080
K aggr switches with
D ports
144
103,680
.
.
.
. .
.
.
.
.
TOR
.
.
.
.
.
.
.
.
.
.
.
Servers 20
20*(DK/4) Servers
50

Virtualisation L2 dans le cloud & data center

Cope with arbitrary TMs with very little overhead
Cope with arbitrary TMs with very little overhead
I ANY I ANY I ANY [ ECMP + IP Anycast ] • Harness huge
I ANY
I ANY
I ANY
[ ECMP + IP Anycast ]
• Harness huge bisection bandwidth
Links used
for up paths
Links used
for down paths
• Obviate esoteric traffic engineering or
optimization
• Ensure robustness to failures
• Work with switch mechanisms available today
T 1
T 2
T 3
T 4
T 5
T 6
T
T
y z
payload
payload
I ANY
3
5
x
1. Must spread traffic Equal Cost Multi Path Forwarding y 2. Must ensure dst independence
1. Must spread traffic
Equal
Cost Multi Path Forwarding
y
2. Must ensure dst independence
z
I ANY 3 5 x 1. Must spread traffic Equal Cost Multi Path Forwarding y 2.

51

Notions sur la virtualisation du réseau
Notions sur la virtualisation du réseau
Akram Hakiri
Akram Hakiri

Virtualisation réseau – Notions

Faire coexister sur une même infrastructure réseau physique plusieurs réseaux logiques isolés et indépendants.

Un réseau logique est un réseau dont certains éléments (nœuds ou terminaux et liens) sont logiques ou virtuels.

Un nœud virtuel est une abstraction représentant un nœud porté par un nœud physique via les ressources partagées.

Les ressources consommées par ce nœud virtuel (dites ressources virtuelles) sont nécessaires pour lui permettre d’exécuter ses fonctions réseau (acheminement, routage, etc.).

virtuelles) sont nécessaires pour lui permettre d’exécuter ses fonctions réseau (acheminement, routage, etc.). 53

53

Virtualisation réseau – Notions

Elles correspondent potentiellement à des ressources de commutation, CPU, mémoire, matérielle des interfaces réseau et éventuellement de stockage.

Un lien virtuel est une abstraction représentant un lien de communication qui peut être porté par un seul lien physique ou plus souvent par un voire plusieurs chemins physiques (liens + équipements réseau traversés)

Des ressources virtuelles (de transmission et de commutation) sont donc allouées au lien virtuel le long des liens physiques et équipements qu’il traverse.

et de commutation) sont donc allouées au lien virtuel le long des liens physiques et équipements

54

Exemple de virtualisation réseau

l’équipement physique Ep1 héberge deux nœuds virtuels Nv11 et Nv21 appartenant respectivement aux réseaux virtuels 1 et 2. Le lien Lv11 est porté par les liens physiques Lp1 et Lp2 ainsi que Ep1

aux réseaux virtuels 1 et 2.  Le lien Lv11 est porté par les liens physiques
aux réseaux virtuels 1 et 2.  Le lien Lv11 est porté par les liens physiques

55

Principe de l’isolation

La virtualisation réseau permet le partage de ressources d’une infrastructure physique entre plusieurs réseaux logiques Ces ressources virtuelles associées à un réseau virtuel sont isolées pour éviter toute interférence avec d’autres réseaux virtuels

associées à un réseau virtuel sont isolées pour éviter toute interférence avec d’autres réseaux virtuels 56

56

Principe de l’isolation

Améliorer les performances et la sécurité:

Permet de protéger réseau virtuel du dysfonctionnement de tout autre réseau virtuel qui serait amené par son état de charge à consommer la quasi-totalité des ressources physiques.

isolation du trafic (données et contrôle): doit rester confiné dans son réseau virtuel d’appartenance et ne doit aucunement se retrouver dans un autre réseau virtuel.

confiné dans son réseau virtuel d’appartenance et ne doit aucunement se retrouver dans un autre réseau

57

Principe de l’indépendance

Chaque réseau virtuel peut être personnalisé en toute indépendance, et donc montrer des caractéristiques (QoS, performances, sécurité, etc.) qui lui sont propres pour offrir des services spécifiques. Elle peut même reposer sur l’utilisation de piles protocolaires spécifiques à chaque réseau virtuel.

 Elle peut même reposer sur l’utilisation de piles protocolaires spécifiques à chaque réseau virtuel. 58

58

Technologies de la virtualisation réseau

Plusieurs technologies réseau historiques relèvent de la virtualisation réseau:

VLAN (Virtual LAN):

faire coexister plusieurs réseaux virtuels Ethernet isolés sur une infrastructure physique de type Ethernet commuté l’isolation du trafic et donc des domaines de diffusion

une infrastructure physique de type Ethernet commuté  l’isolation du trafic et donc des domaines de

59

Technologies de la virtualisation réseau

Les réseaux à commutation de circuits virtuels (tels qu’ATM, MPLS):

intègrent une forme importante de la virtualisation des liens,

un circuit virtuel ATM ou un LSP MPLS n’est autre qu’un lien virtuel de bout-en-bout

ATM garantit l’isolation des ressources consommées par chaque circuit virtuel grâce à la signalisation et aux mécanismes de réservation de ressources

Ce niveau d’isolation est également possible avec MPLS avec des protocoles de distribution de labels orientés QdS

Ce niveau d’isolation est également possible avec MPLS avec des protocoles de distribution de labels orientés

60

Technologies de la virtualisation réseau

VPN : mettre en place des réseaux privés sur une infrastructure publique. Techniques de « virtualisation de liens » techniques de tunneling (MPLS, IP, GRE, etc.). Virtualisation de niveau 2 VPN Ethernet point à point ou multipoint Virtualisation de niveau 3 VPN-IP avec des topologie personnalisable

Ethernet point à point ou multipoint  Virtualisation de niveau 3  VPN-IP avec des topologie

61

Technologies de la virtualisation réseau

Les réseaux overlays applicatifs Routeurs Overlay (RO) déployés sur des machines dédiées à l’extrémité de l’Internet Ces RO sont reliés entre eux par les liens virtuels (tunnels) traversant l’Internet

de l’Internet  Ces RO sont reliés entre eux par les liens virtuels (tunnels) traversant l’Internet

62

63
63
63
63
63
63
63

63

Nouvelles tendances et challenges de la virtualisation

Il existe une multitude de technologies pour la virtualisation réseau depuis bien longtemps

Mais, répondent partiellement aux besoins et aux attentes des utilisateurs

Ces attentes s’expriment selon différentes directions :

Virtualisation partout et à tous les niveaux (Full Virtualization)

Indépendance et programmation

Provisionnement à la demande

Flexibilité (Elasticité)

Virtualization)  Indépendance et programmation  Provisionnement à la demande  Flexibilité (Elasticité) 64

64

Virtualisation des interface -- Solution logicielle

Vise à partager une interface réseau entre plusieurs machines virtuelles via des interfaces réseau virtuelles

Solutions purement logicielles de virtualisation des interfaces:

Un hyperviseur assure entièrement

le rôle d’isolation et de partage de(s) interface(s) physique(s) entre les interfaces virtuelles,

l’acheminement du trafic entre interfaces virtuelles et entre interfaces virtuelles et physiques

émule donc le comportement d’un switch auquel sont reliées les interfaces virtuelles et physiques par l’interception et la retraduction des requêtes et commandes d’entrées/sorties

virtuelles et physiques par l’interception et la retraduction des requêtes et commandes d’entrées/sorties 65

65

Virtualisation des cartes réseau Solution logicielle: Vise à partager une interface réseau entre plusieurs machines
Virtualisation des cartes réseau Solution logicielle: Vise à partager une interface réseau entre plusieurs machines
Virtualisation des cartes réseau Solution logicielle: Vise à partager une interface réseau entre plusieurs machines
Virtualisation des cartes réseau Solution logicielle: Vise à partager une interface réseau entre plusieurs machines
Virtualisation des cartes réseau Solution logicielle: Vise à partager une interface réseau entre plusieurs machines

Virtualisation des cartes réseau

Solution logicielle:

Vise à partager une interface réseau entre plusieurs machines virtuelles via des interfaces réseau virtuelles

Vise à partager une interface réseau entre plusieurs machines virtuelles via des interfaces réseau virtuelles 66

66

Virtualisation des interface – Extension matérielle

Extensions matérielles pour la virtualisation des interfaces

Partitionnement de certaines ressources matérielles (CPU, Mémoire, file d’attente, etc.) entre des interfaces réseaux physiques

Permettre aux machines virtuelles d’avoir un accès direct (sans passer par l’hyperviseur) au matériel et

Réduire le sur-débit des solutions purement logicielles.

(sans passer par l’hyperviseur) au matériel et  Réduire le sur-débit des solutions purement logicielles. 67

67

Extension matérielle Virtualisation des interface
Extension matérielle
Virtualisation des interface
Extension matérielle Virtualisation des interface 68

68

Virtualisation des équipements réseau

Virtualisation d’un routeur physique qui supporte deux routeurs virtuels RvA et RvB Chaque routeur virtuel dispose de:

son propre plan de contrôle

sa propre instance du protocole de routage,

sa propre table de routage/acheminement

son propre plan de données (en charge de l’acheminement des paquets).

les ressources physiques sont virtualisées par partitionnement où chaque équipement virtuel dispose de ses propres instances des fonctions réseau

par partitionnement où chaque équipement virtuel dispose de ses propres instances des fonctions réseau 69
par partitionnement où chaque équipement virtuel dispose de ses propres instances des fonctions réseau 69

69

Virtualisation des liens

C’une pratique très ancienne et très courante dans les réseaux

la virtualisation de la ressource de transmission matérialisée par la capacité de transmission d’un lien physique (i.e. débit).

Basée sur les techniques de multiplexage ou d’accès multiple selon le type de lien considéré (point-à-point ou multipoints).

La virtualisation des ressources de transmission peut impliquer l’agrégation de plusieurs liens physiques en un seul lien logique

des ressources de transmission peut impliquer l’agrégation de plusieurs liens physiques en un seul lien logique

70

Virtualisation des liens

La virtualisation du chemin de données repose sur :

Une isolation des liens virtuels basée sur l’intégration de labels dans les paquets qui sont utilisés par les équipements réseau pour l’acheminement (MPLS,ATM, Frame-Relay, labels 802.1Q sur LAN Ethernet) Une isolation basée sur des techniques de tunneling avec l’encapsulation d’un paquet dans un autre, l’en-tête externe servant à l’acheminement et comme moyen d’isolation entre liens virtuels (IP-dans-IP, GRE (Generic Routing Encapsulation), tunnels MPLS,VXLAN, NVGRE, STT).

d’isolation entre liens virtuels (IP-dans-IP, GRE (Generic Routing Encapsulation), tunnels MPLS,VXLAN, NVGRE, STT). 71

71

Ecosystème de la virtualisation réseau

Le concept de virtualisation réseau fait très simplement apparaître deux rôles:

le fournisseur de l’infrastructure physique:

Il est responsable de la gestion et l’exploitation de son infrastructure

Offre la possibilité de mobiliser des ressources virtuelles localisées sur des éléments physiques différents pour mettre en place un réseau virtuel

le prestataire de service (provider de service):

responsable de la configuration, l’exploitation et gestion du réseau virtuel

fixe les fonctions réseau exécutées dans le réseau virtuel

l’exploitation et gestion du réseau virtuel  fixe les fonctions réseau exécutées dans le réseau virtuel

72

Exemple de modèle à 4 acteurs

le provider d’infrastructure détient et gère des ressources réseau physiques qu’il virtualise et met à disposition de providers de réseaux virtuels Ce dernier construit une topologie réseau virtuel en assemblant des ressources virtuelles émanant d’un ou plusieurs providers d’infrastructure

réseau virtuel en assemblant des ressources virtuelles émanant d’un ou plusieurs providers d’infrastructure 73
réseau virtuel en assemblant des ressources virtuelles émanant d’un ou plusieurs providers d’infrastructure 73

73

Exemple de modèle à 4 acteurs

Un opérateur de réseau virtuel (VNO-Virtual Network Operator) repose sur la topologie virtuelle construite par le VNP pour mettre en place les fonctionnalités réseau permettant d’offrir le service de connectivité répondant aux besoins du provider de services Le provider de service utilise un réseau virtuel opérationnel et customisé à ses besoins pour offrir ses services applicatifs à ses usagers.

un réseau virtuel opérationnel et customisé à ses besoins pour offrir ses services applicatifs à ses

74

Cas utilisation

Support de services diversifiés

Certains services utilisent des architectures différentes de TCP/IP

La virtualisation réseau est catalyseur pour le support efficace de ces architectures

Cela évite la prolifération de réseaux spécialisés avec les coûts d’investissement et d’opération associés

Support de réseaux pluri-générationnels

pouvoir faire cohabiter sur une même infrastructure réseau plusieurs générations ou évolutions d’une même technologie réseau

Ex, une même infrastructure réseaux cellulaire peut être virtualisée pour supporter en même temps plusieurs des technologies (2G, 3G,

réseaux cellulaire peut être virtualisée pour supporter en même temps plusieurs des technologies (2G, 3G, 75

75

4G)

Cas utilisation

Migration des applications/services applicatifs Migration de machines virtuelles pour la tolérance aux fautes Migration du composant applicatif par des politiques de gestion de ressources et/ou pour améliorer l’expérience utilisateur (Quality of Experience (QoE)) Améliorer la qualité de l’accès au service (délais plus

faibles)

utilisateur (Quality of Experience (QoE))  Améliorer la qualité de l’accès au service (délais plus faibles)

76

Cas utilisation

Tests à grande échelle sur réseaux opérationnels

Effectuer des expérimentations à grande échelle en déployant un réseau virtuel de grande envergure sur l’infrastructure physique d’un ou plusieurs réseaux opérationnels possible de customiser les caractéristiques du réseau virtuel et son déploiement selon les besoins des expérimentations.

de customiser les caractéristiques du réseau virtuel et son déploiement selon les besoins des expérimentations. 77

77

Cas utilisation

Location à la demande et élastiques de ressources virtuelles

Un opérateur peut louer à la demande et de manière élastique une partition de ses ressources

Cherche à répondre à ces limites en ouvrant les ressources aux équipements réseau, et en permettant que les ressources soient louées à la demande et de manière élastique

Virtual Networks As A service

l’on fournisse à un utilisateur suite à sa demande un réseau virtuel complet répondant exactement à ses besoins qui peuvent évoluer dans le temps

Ces cas relèvent du « cloud networking »

exactement à ses besoins qui peuvent évoluer dans le temps  Ces cas relèvent du «

78

Partie 4: Software Defined Networking
Partie 4: Software Defined Networking
Akram Hakiri
Akram Hakiri

Paysage actuel Réseau 1/2

Limitation du traitement

Acheminement (routeurs, switches, etc.)

Traitement (Cisco IOS, protocoles de routage, etc.)

App App App Operating System Specialized Packet Forwarding Hardware
App
App
App
Operating
System
Specialized Packet
Forwarding Hardware

Limitation dans stockage de données

Manque de management de stockage conscient du contenu/contexte

Manque d’intégrité, de fiabilité et de protection de la vie privée

Limitation de la transmission de données

Les réseaux optiques et sans fil isolés

Limitation du contrôle centralisé:

sans fil isolés  Limitation du contrôle centralisé:  Manque de flexibilité et d’adaptabilité du contrôle

Manque de flexibilité et d’adaptabilité du contrôle

sans fil isolés  Limitation du contrôle centralisé:  Manque de flexibilité et d’adaptabilité du contrôle

Paysage actuel du réseaux

Modèle de trafic mobile indéterministe place une pression croissante sur l’infrastructure du réseau mobile

Fournir un terminal d'utilisateur unique qui peut coopérer à différents réseaux sans fil

Besoin d'améliorer les futurs réseaux grâce à l'intelligence:

Cloud Virtualization (e.g., OpenStack)

Cloud Networking (e.g., CloudMac)

Network Function Virtualization (NFV)

Software Defined Network (SDN)

 Cloud Networking (e.g., CloudMac)  Network Function Virtualization (NFV)  Software Defined Network (SDN)

Software Defined Network

 Control Programs Network Operating System Simple Packet Simple Packet Forwarding Forwarding Hardware Hardware
Control Programs
Network Operating System
Simple Packet
Simple Packet
Forwarding
Forwarding
Hardware
Hardware
Simple Packet
Forwarding
Simple Packet
Hardware
Forwarding
Hardware
Simple Packet
Forwarding
Hardware
Hardware Simple Packet Forwarding Simple Packet Hardware Forwarding Hardware Simple Packet Forwarding Hardware

Software Defined Network

 f
f

OpenFlow-enabled SDN

OpenFlow-enabled SDN  OpenFlow Controller OpenFlow Protocol (SSL/TCP) Control Path OpenFlow Data Path (Hardware)
OpenFlow Controller
OpenFlow Controller

OpenFlow Protocol (SSL/TCP)

Control Path OpenFlow
Control Path
OpenFlow
Data Path (Hardware)
Data Path (Hardware)
OpenFlow-enabled SDN  OpenFlow Controller OpenFlow Protocol (SSL/TCP) Control Path OpenFlow Data Path (Hardware)

OpenFlow-enabled SDN

Controller

PC
PC
OpenFlow Client OpenFlow Table MAC MAC IP IP TCP TCP Action src dst Src Dst
OpenFlow Client
OpenFlow Table
MAC
MAC
IP
IP
TCP
TCP
Action
src
dst
Src
Dst
sport
dport
* *
*
5.6.7.8
*
*
port 1
src dst Src Dst sport dport * * * 5.6.7.8 * * port 1 port 1

port 1

src dst Src Dst sport dport * * * 5.6.7.8 * * port 1 port 1

port 2

src dst Src Dst sport dport * * * 5.6.7.8 * * port 1 port 1
port 3
port 3
src dst Src Dst sport dport * * * 5.6.7.8 * * port 1 port 1

Software

Layer

Hardware

Layer

port 4
port 4
src dst Src Dst sport dport * * * 5.6.7.8 * * port 1 port 1
src dst Src Dst sport dport * * * 5.6.7.8 * * port 1 port 1

OpenFlow Table Entry

Rule Action Stats Packet + byte counters 1.Forward packet to port(s) 2.Encapsulate and forward to
Rule
Action
Stats
Packet + byte counters
1.Forward packet to port(s)
2.Encapsulate and forward to controller
3.Drop packet
4.Send to normal processing pipeline
5.…
Switch
MAC
MAC
Eth
VLAN
IP
IP
IP
TCP
TCP
Port
src
dst
type
ID
Src
Dst
Prot
sport
dport
pipeline 5.… Switch MAC MAC Eth VLAN IP IP IP TCP TCP Port src dst type

Examples of OpenFlow Match-Actions

Switching Switch MAC MAC Eth VLAN IP IP IP TCP TCP Action Port src dst
Switching
Switch
MAC
MAC
Eth
VLAN
IP
IP
IP
TCP
TCP
Action
Port
src
dst
type
ID
Src
Dst
Prot
sport
dport
* *
00:1f:
*
*
*
*
*
*
*
port6
Routing Switch MAC MAC Eth VLAN IP IP IP TCP TCP Action Port src dst
Routing
Switch
MAC
MAC
Eth
VLAN
IP
IP
IP
TCP
TCP
Action
Port
src
dst
type
ID
Src
Dst
Prot
sport
dport
* *
*
*
*
*
5.6.7.8 *
*
*
port6
Firewall Switch MAC MAC Eth VLAN IP IP IP TCP TCP Action Port src dst
Firewall
Switch
MAC
MAC
Eth
VLAN
IP
IP
IP
TCP
TCP
Action
Port
src
dst
type
ID
Src
Dst
Prot
sport
dport
* *
*
*
*
*
*
*
*
22
drop
IP IP IP TCP TCP Action Port src dst type ID Src Dst Prot sport dport

SDN: cas d’utilisation 1/4

Network Slicing &Virtualization

Network Slicing:

diviser

plusieurs partitions de réseau isolé Chaque partie contrôle son propre transfert de paquets

en

l'infrastructure

de

réseau

physique

NetworkVirtualization:

politiques

d’abstraction et de gestion du réseau Plus de flexibilité de contrôle et d’allocation, des ressources (par slice, par partition)

Le

contrôleur

SDN

fournit

des

flexibilité de contrôle et d’allocation, des ressources (par slice, par partition)  Le contrôleur SDN fournit
flexibilité de contrôle et d’allocation, des ressources (par slice, par partition)  Le contrôleur SDN fournit

SDN: cas d’utilisation 2/4

Interconnexion entre domaines cloud distants (Data Center InterConnect)

Le contrôleur centralisé permet l’acheminement dynamique de données entre les applications dans les machines virtuelles locales et / ou les ressources matérielles physiques

Le contrôleur peut fournir des interfaces Web (REST API) pour l’allocation et l'orchestration de ressources réseau

contrôleur peut fournir des interfaces Web (REST API) pour l’allocation et l'orchestration de ressources réseau
contrôleur peut fournir des interfaces Web (REST API) pour l’allocation et l'orchestration de ressources réseau

SDN: cas d’utilisation 3/4

Connectivite sans-fil ouverte

Mobilité transparente: les utilisateurs mobiles peuvent se déplacer de manière transparente d'un point d'accès à un autre

SDN offre de nouvelles capacités de partager les mêmes ressources réseau, tout en préservant l'isolation et la sécurité des partitions

Partition du réseau sans-fil peut être basé sur plusieurs paramètres tels que la bande passante, l'espace-débit, charge CPU, etc.
.

peut être basé sur plusieurs paramètres tels que la bande passante, l'espace-débit, charge CPU, etc. 
peut être basé sur plusieurs paramètres tels que la bande passante, l'espace-débit, charge CPU, etc. 

SDN: cas d’utilisation 4/4

Ingénierie de Traffic

SDN peut créer un réseau programmable et flexible pour optimiser le transfert de données

Un contrôleur SDN peut fournir les fonctions réseaux nécessaires à la création de tunnels virtuels selon le type de trafic (HTTP,Video,VoIP)

SDN permet de créer un réseaux convergeant optique-cellulaire sur un même équipement réseau SDN (principe de de l’abstraction)

créer un réseaux convergeant optique-cellulaire sur un même équipement réseau SDN (principe de de l’abstraction)
créer un réseaux convergeant optique-cellulaire sur un même équipement réseau SDN (principe de de l’abstraction)

Mininet: Basic Usage, CLI, API

Mininet: émulateur réseau pour la création de réseau virtuel réaliste

Exécute un noyau Linux réel, des switches/routeurs et le code d'application sur une seule machine virtuelle

Fournit à la fois Command Line Interface (CLI) et Application Programming Interface (API)

Raisonnablement précise l'utilisation interactive / facile à télécharger et rapide,

Abstraction

Host: emulated as an OS level process

Switch: emulated by using software-based switch

Mais, lus long qu’in band d’essai matériel, peut avoir moins de précisions

by using software-based switch  Mais, lus long qu’in band d’essai matériel, peut avoir moins de
by using software-based switch  Mais, lus long qu’in band d’essai matériel, peut avoir moins de

Mininet: Basic Usage, CLI, API

Install Mininet

Mininet VM Installation

Download the Mininet VM image

https://github.com/mininet/mininet/wiki/Mininet-VM-Images

Native Installation from Source

git clone git://github.com/mininet/mininet

$ mininet/util/install.sh

Installation from Packages

$ sudo apt-get install mininet

Upgrading an existing Mininet Installation

$ cd mininet && git fetch && git checkout master

2.2.1

# Or a specific version like

git fetch && git checkout master 2.2.1 # Or a specific version like  $ git

$ git pull && sudo make install

Mininet: Basic Usage, CLI, API

Mininet GUI

Mininet provide a tool “MiniEdit” to help creating real networks

Mininet CLI

$sudo mn --topo tree,depth=3,fanout=3 --link=tc,bw=10

mininet> xterm h1 h2

Mininet's Python API

net = Mininet() # net is a Mininet() object

h1 = net.addHost( 'h1' ) # h1 is a Host() object

h2 = net.addHost( 'h2' ) # h2 is a Host()

s1 = net.addSwitch( 's1' ) # s1 is a Switch() object

 h2 = net.addHost( 'h2' ) # h2 is a Host()  s1 = net.addSwitch( 's1'
 h2 = net.addHost( 'h2' ) # h2 is a Host()  s1 = net.addSwitch( 's1'

Mininet: Basic Usage, CLI, API

Example 1: create a network and run a simple performance test

Minimal topology: $sudo mn –topo single,3

Minimal is very simple topology that contains 1 OpenFlow switch and 3 hosts.

Reversed topology: $sudo mn --topo reversed,4

3 hosts.  Reversed topology: $sudo mn --topo reversed,4  It is similar to single topology
3 hosts.  Reversed topology: $sudo mn --topo reversed,4  It is similar to single topology

It is similar to single topology but connection order is reversed

Linear topology: $sudo mn --topo linear,3

Linear topology contains k switches and k hosts.

It also creates a link between each switch and each host and among the switches

contains k switches and k hosts.  It also creates a link between each swit ch

Mininet: Basic Usage, CLI, API

Example 1: create a network and run a simple performance test

Tree topology: $sudo mn --topo tree, 3

Tree topology contains k levels and 2 hosts are attached to per switch

 Tree topology: $sudo mn --topo tree, 3  Tree topology contains k levels and 2
 Tree topology: $sudo mn --topo tree, 3  Tree topology contains k levels and 2

Mininet: Basic Usage, CLI, API

Example 2: Create a customized network topology

Using Mininet CLI: $sudo mn --topo tree,depth=3,fanout=3 --link=tc,bw=10

 Needs just writing a few lines of Python def perfTest(): #!/usr/bin/python from mininet.topo import
 Needs just writing a few lines of Python
def perfTest():
#!/usr/bin/python
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.node import CPULimitedHost
from mininet.link import TCLink
from mininet.util import dumpNodeConnections
from mininet.log import setLogLevel
class SingleSwitchTopo(Topo):
"Single switch connected to n hosts."
def
init
(self,
n=2, **opts):
Topo
init
(self,
**opts)
switch = self.addSwitch('s1')
for h in range(n):
"Create network and run simple performance test"
topo = SingleSwitchTopo(n=4)
net = Mininet(topo=topo,host=CPULimitedHost,
link=TCLink)
net.start()
print "Dumping host connections"
dumpNodeConnections(net.hosts)
print "Testing network connectivity"
net.pingAll()
print "Testing bandwidth between h1 and h4"
h1, h4 = net.get('h1', 'h4')
net.iperf((h1, h4))
net.stop()
#Each host gets 50%/n of system CPU
host = self.addHost('h%s' % (h + 1), cpu=.5/n)
#10 Mbps, 5ms delay, 0% Loss, 1000 packet queue
self.addLink(host, switch, bw=10, delay='5ms', loss=0,
if
name
=='
main
':
setLogLevel('info')
perfTest()
max_queue_size=1000, use_htb=True)

Mininet: Basic Usage, CLI, API

Example 3: Create a simple network and use a POX controller

#!/usr/bin/python controllers = { 'poxbridge': POXBridge } from mininet.net import Mininet from mininet.node
#!/usr/bin/python
controllers = { 'poxbridge': POXBridge }
from mininet.net import Mininet
from mininet.node import Controller
from mininet.topo import SingleSwitchTopo
from mininet.log import setLogLevel
if
== '
main
':
import os
name
setLogLevel( 'info' )
net = Mininet( topo=SingleSwitchTopo( 2 ),
controller=POXBridge )
net.start()
net.pingAll()
net.stop()
class POXBridge( Controller ):
"Custom Controller class to invoke POX
forwarding.l2_learning"
$ sudo mn --custom poxbridge.py --controller poxbridge --
topo tree,2,2 --test pingall -v output
def start( self ):
"Start POX learning switch"
self.pox = '%s/pox/pox.py' % os.environ[ 'HOME' ]
self.cmd( self.pox, 'forwarding.l2_learning &' )
def stop( self ):
"Stop POX"
self.cmd( 'kill %' + self.pox )
'forwarding.l2_learning &' ) def stop( self ): "Stop POX" self.cmd( 'kill %' + self.pox )

Mininet: Basic Usage, CLI, API

Example 4: Dynamically change the network parameters—change link delay

#!/usr/bin/python from mininet.net import Mininet from mininet.node import Node from mininet.link import * from
#!/usr/bin/python
from mininet.net import Mininet
from mininet.node import Node
from mininet.link import *
from mininet.log import setLogLevel, info
from threading import Timer
def myNet():
"Create network from scratch using Open vSwitch."
info( "*** Creating nodes\n" )
switch0 = Node( 's0', inNamespace=False )
switch1 = Node( 's1', inNamespace=False )
h0 = Node( 'h0' )
h1 = Node( 'h1' )
info( "*** Creating links\n" )
linkopts0=dict(bw=100, delay='1ms', loss=0)
link1=TCLink( h0, switch0, **linkopts0)
TCLink( switch0, switch1, **linkopts0)
link2=TCLink( h1, switch4, **linkopts0)
info( "*** Configuring hosts\n" )
h0.setIP( '192.168.123.1/24' )
h1.setIP( '192.168.123.2/24' ) info( str( h0 ) + '\n' ) info( str( h1 ) +
h1.setIP( '192.168.123.2/24' )
info( str( h0 ) + '\n' )
info( str( h1 ) + '\n' )
info( "*** Starting network using Open vSwitch\n" )
switch0.cmd( 'ovs-vsctl del-br dp0' )
switch0.cmd( 'ovs-vsctl add-br dp0' )
switch1.cmd( 'ovs-vsctl del-br dp1' )
switch1.cmd( 'ovs-vsctl add-br dp1' )
for intf in switch0.intfs.values():
print intf
print switch0.cmd( 'ovs-vsctl add-port dp0 %s' % intf )
for intf in switch1.intfs.values():
print intf
print switch1.cmd( 'ovs-vsctl add-port dp1 %s' % intf )
% intf ) for intf in switch1.intfs.values(): print intf print switch1.cmd( 'ovs-vsctl add-port dp1 %s' %

Mininet: Basic Usage, CLI, API

Example 4: Dynamically change the network parameters—change link delay

print switch1.cmd(r'ovs-ofctl add-flow dp1 idle_timeout=0,priority=1,in_port=1,actions=flood' ) print
print switch1.cmd(r'ovs-ofctl add-flow dp1 idle_timeout=0,priority=1,in_port=1,actions=flood' )
print switch1.cmd(r'ovs-ofctl add-flow dp1 idle_timeout=0,priority=1,in_port=1,actions=output:2' )
print switch0.cmd(r'ovs-ofctl add-flow dp0 idle_timeout=0,priority=10,ip,nw_dst=192.168.123.2,nw_tos=0x10,actions=output:2')
print switch0.cmd(r'ovs-ofctl add-flow dp0 idle_timeout=0,priority=10,ip,nw_dst=192.168.123.2,nw_tos=0x20,actions=output:3')
print switch0.cmd(r'ovs-ofctl add-flow dp0 idle_timeout=0,priority=10,ip,nw_dst=192.168.123.2,nw_tos=0x30,actions=output:4')
def cDelay1():
h1.cmdPrint('ethtool -K h1-eth0 gro off')
h1.cmdPrint('tc qdisc del dev h1-eth0 root')
h1.cmdPrint('tc qdisc add dev h1-eth0 root handle 10: netem delay 100ms')
def hello(a, b='4'):
print a
print b
t=Timer(5.0, cDelay1)
t.start()
info( "*** Running test\n" )
h0.cmdPrint( 'ping -Q 0x30 -c 10 ' + h1.IP() )
info( "*** Stopping network\n" )
switch0.cmd( 'ovs-vsctl del-br dp0' )
switch0.deleteIntfs()
switch1.cmd( 'ovs-vsctl del-br dp1' )
switch1.deleteIntfs()
if
name
== '
main
':
setLogLevel( 'info' )
info( '*** Scratch network demo (kernel datapath)\n' )
Mininet.init()
myNet()
setLogLevel( 'info' ) info( '*** Scratch network demo (kernel datapath)\n' ) Mininet.init() myNet()

Concluding Remarks

What is SDN

A layered-abstracted architecture that separates the control logic from the packet forwarding logic

What are the SDN benefits:

Centralized control and management of the whole network

Reduce CAPEX & OPEX

Programmability of the network

Flexible management, resource orchestration and network virtualization

What is OpenFlow

One of the SDN-enabled southbound interfaces (most used)

Interface between the controller and the switch (secure channel)

Future of SDN

Enabling innovation in diverse day life use cases (IoT, Cloud, Cloudlets, Fog computing, Wi-Fi, Cellular networks, satellite virtualization, etc.)

Several research challenges are begin investigated…

Wi-Fi, Cellular networks, satellite virtualization, etc.)  Several research challenges are begin investigated…
Partie 3: Virtualisation de fonctions réseau et NFV
Partie 3: Virtualisation de fonctions réseau et
NFV
Akram Hakiri
Akram Hakiri

C’est quoi la Virtualisation des Fonctions Réseau?

Consiste à virtualiser un ensemble de fonctions du réseau par des modules logiciels, qu’il est possible d’assembler, de chainer, pour créer les services offerts par le réseau.

une fonction virtuelle (VNF) peut-être implémentée dans une ou plusieurs machines virtuelles exécutant différents logiciels ou processus

Adresser les défis technologiques suivants :

Garantir que la virtualisation du réseau simplifiera l’opération des réseaux

Définir des applications réseau portables entre différents équipementiers et avec différents hyperviseurs.

Assurer un niveau suffisant de robustesse matérielle et logicielle

et avec différents hyperviseurs.  Assurer un niveau suffisant de robustesse matérielle et logicielle 103

103

les besoins la virtualisation des fonctions réseau

Adresser les défis technologiques suivants :

Assurer la coexistence entre réseau classique et virtualisé, ainsi qu’assurer une transition douce vers des réseaux entièrement virtualisés en s’appuyant sur l’existant business et opérationnel.

Permettre la gestion et l’orchestration des services réseau tout en les protégeant d’attaques ou de mauvaises configurations.

Assurer la stabilité du réseau durant la mise en place de fonctions et services.

Permettre la création de services réseaux qui pourraient idéalement être déployés en ligne sans recompilation sur n’importe quel hyperviseur ou équipement.

pourraient idéalement être déployés en ligne sans recompilation sur n’importe quel hyperviseur ou équipement. 104

104

Les besoins de NFV

Les besoins techniques dans les réseaux IP sont les suivants:

Monitoring et Reporting

Facturation (Billing)

Chainage des fonctions possibles, même si appartenant à une infrastructure différentes. Authentication Authorization Accounting (AAA)

Mesure de SLA

Notification d’incident et diagnostique

105 
105

Service Chaining de NFV

106
106

Service Chaining de NFV

s’intéresse à la définition du concept de fonction virtuelle et de son chainage dans l’optique d’offrir des services

La configuration centralisée et automatisée des chaînes de services, dans les services des couches 3 et des couches 4 à 7, permet d’accélérer le déploiement de services tels que les pare-feu, l’IPS, etc.

Ce scénario d’utilisation de chaînes de services nécessite généralement l’orchestration d’un réseau superposé avec le réseau physique sous- jacent, alors que les services réseau transitent depuis les dispositifs physiques vers les appareils virtuels.

jacent, alors que les services réseau transitent depuis les dispositifs physiques vers les appareils virtuels. 107

107

Distribution des fonctions sur le POP métropolitain

Accès Internet et Carrier Grade NAT

fonctions chainables et fonction liée aux traitements du routage

Filtrage web et contrôle parental.

du routage  Filtrage web et contrôle parental.  Sécurité du trafic et filtrage de contenu

Sécurité du trafic et filtrage de contenu (HTTP)

Interception judiciaire et Deep Packet Inspection;

Interception de messages terroriste, liberté d’expression

Distributed Service Function:

une distribution des fonctions LI et DPI au niveau du POP métropolitain

 Distributed Service Function:  une distribution des fonctions LI et DPI au niveau du POP

108

Virtualisation de passerelle maison

les appareils mobiles peuvent se déplacer de manière transparente entre les infrastructures sans fil Une passerelle résidentielle virtualisé peut améliorer la prestation de services entre le réseau domestique de base et les dispositifs compatibles réseau.

améliorer la prestation de services entre le réseau domestique de base et les dispositifs compatibles réseau.
améliorer la prestation de services entre le réseau domestique de base et les dispositifs compatibles réseau.

109

Virtualisation des réseaux LTE EPC

Virtualisation d’une base station d’un opérateur de réseau mobile:

Virtualisation de fonctions généralement hardware (traitement de la bande de base, traitement du signal, etc.) Les base stations sont souvent développées pour assurer une charge maximale, donc sont souvent sous utilisées. L’utilisation de VNF pourrait permettre une meilleure utilisation et un partage.

donc sont souvent sous utilisées. L’utilisation de VNF pourrait permettre une meilleure utilisation et un partage.

110

Virtualisation des réseaux LTE EPC La coopération entre Base Band Unit (BBU) pourrait être renforcée
Virtualisation des réseaux
LTE EPC
La coopération entre Base Band Unit
(BBU) pourrait être renforcée par
l’utilisation de VNF.
réseaux LTE EPC La coopération entre Base Band Unit (BBU) pourrait être renforcée par l’utilisation de

111

Partie 4: Introduction à l’Internet des Objets (IoT)
Partie 4: Introduction à l’Internet des Objets (IoT)
Akram Hakiri
Akram Hakiri

Introduction à l’IoT

Plusieurs terminologies sont utilisés pour décrire la même technologie

L’Internet des objets

La communication machine-to-machine (M2M)

L’informatique ubiquitaire

L’informatique embarquée

L’informatique omniprésente

Services intelligents

Systèmes cyber-physiques

Présent dans les équipements, les capteurs, les services cloud et les données qu’une entreprise exploite

 Présent dans les équipements, les capteurs, les services cloud et les données qu’une entreprise exploite

113

Domaine d’applications & efforts de standardisation

Fonctions/usages ? (pour quoi faire, quel public)

Smart cities

ville intelligente, Feux de Carrefour intelligent

Smart agriculture

Agriculture durable

L'agriculture climato-intelligente

E-health

Suivie de patients, handicapés, personnes âgées

Smart transportation

Sécurité routière, voiture autonomes & intelligentes, électrique

Industrial automation

Usines intelligentes, adaptabilité dans la production, allocation efficace des ressources (économie d’énergie)

Usines intelligentes, adaptabilité dans la pr oduction, allocation efficace des ressources (économie d’énergie) 114

114

Exemple d’utilisation (smart agriculture)

Exemple d’utilisation (smart agriculture) 115
Exemple d’utilisation (smart agriculture) 115

115

Exemple d’utilisation (smart city)

116
116

Exemple d’utilisation (Smart Grid)

Exemple d’utilisation (Smart Grid) 117
Exemple d’utilisation (Smart Grid) 117

117

Exemple d’utilisation (Smart Utility Networks (SUNs))

Exemple d’utilisation (Smart Utility Networks (SUNs)) 118
Exemple d’utilisation (Smart Utility Networks (SUNs)) 118

118

Support de communication (Enabling Technologies)

Support de communication (Enabling Technologies) 119
Support de communication (Enabling Technologies) 119

119

Framework pour l’IoT

Applications and Services Over-the-air Programming Network Protocols Blocks, Scheduling, Streaming Logs, Files
Applications and Services
Over-the-air
Programming
Network
Protocols
Blocks,
Scheduling,
Streaming
Logs, Files
Management
drivers
Link
Radio Serial
Flash
MCU, Timers,
Bus,…
ADC,
Sensor
I/F
WSN mote platform
Storage
Sensors
Wireless
Processing
Communication Centric
Resource-Constrained
120
Event-driven Execution
CWSN'11

Support de communication (Enabling Technologies)

Réseaux, protocoles ?

WPAN: Bluetooth & Zigbee (Réseaux de capteurs sans-fil)

Normes IP:

6LowPAN (IPv6 Low power Wireless Personal Area Networks)

COAP (Constrained Application Protocol)

ROLL (Routing Over Low power and Lossy networks)

RFID (Radio Frequency IDentification)

mémoriser et récupérer des données à distance en utilisant des marqueurs appelés « radio- étiquettes »

Wireless Broadband: Cellular (3G/4G/5G) & Wi-Fi

Smartphone & Tablettes

Interconnexion avec des domaines Internet distants

Communication avec le cloud (IAAS, SAAS, PAAS)

Cloud Computing & Big Data

Virtualisation (NFV) & SDN

Communication avec le cloud (IAAS, SAAS, PAAS)  Cloud Computing & Big Data  Virtualisation (NFV)
Communication avec le cloud (IAAS, SAAS, PAAS)  Cloud Computing & Big Data  Virtualisation (NFV)

121

Communication multi-dimensions

Communication multi-dimensions  s 122

s

Communication multi-dimensions  s 122

122

Architecture de communication pour IoT

Architecture de communication pour IoT 123
Architecture de communication pour IoT 123

123

Architecture de communication pour IoT

Domaine M2M

La machine (devise) fournit une connectivité directe au domaine réseau par l'intermédiaire du réseau d’accès

La connectivité est assurée soit directement via WPAN (bluetooth, zigbee, etc) ou via une passerelle (gateway),

Une Gateway ressemble à un routeur ADSL ou point d'accès wifi, la ou on fournit une connectivité réseau distant

Domaine du réseau

Comprend les différentes technologies d'accès (XDSL, Satellite, Optical Fiber, etc) entre appareils et passerelle,

Il fournit également une connectivité au réseau de cœur à travers différentes technologies (3GPP, TISPAN, LTE-A, et 5G)

également une connectivité au réseau de cœur à travers différentes technologies (3GPP, TISPAN, LTE-A, et 5G)

124

Architecture de communication pour IoT

Domaine des applications

Comprend les applications IoT et les infrastructures et les services du cloud computing (stockage et analyse de données)

Comprend aussi des services (service capabilities) qui permettent le partage de données et de ressources physiques et virtuelles entre éléments IoT

Quelques approches au niveau middleware

OpenIoT

OM2M - Open Source platform for M2M communication

DDS IoT

approches au niveau middleware  OpenIoT  OM2M - Open Source platform for M2M communication 

125

Défis (protection vie privée)

Défis (protection vie privée)  Sécurité 126

Sécurité

Défis (protection vie privée)  Sécurité 126

126