SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
P4
Programing Protocol-Independent Packet Processor
M. Antitene
Laboratoire Informatique Paris VI (LIP6)
Universit´e de Pierre et Marie Curie
Juillet 2016
M. Antitene (UPMC-LIP6) P4 Juillet 2016 1 / 13
Motivations
Un Plan de contrˆole programmable pour SDN.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 2 / 13
Motivations
Un Plan de contrˆole programmable pour SDN.
Int´egration de nouvelles technologies `a SDN.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 2 / 13
Motivations
Un Plan de contrˆole programmable pour SDN.
Int´egration de nouvelles technologies `a SDN.
Abstraction du plan de contˆole par rapport aux sp´ecifications du
materiel.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 2 / 13
Motivations
Un Plan de contrˆole programmable pour SDN.
Int´egration de nouvelles technologies `a SDN.
Abstraction du plan de contˆole par rapport aux sp´ecifications du
materiel.
Offrir un m´ecanisme pour automatiser le traitement de tout sorte de
donn´ee.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 2 / 13
Introduction
P4 un langage open source, sp´ecifie comment les paquets doivent ˆetre
trait´es ind´ependamment.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 3 / 13
Introduction
P4 un langage open source, sp´ecifie comment les paquets doivent ˆetre
trait´es ind´ependamment.
Bas´e sur un mod`ele utilisant des tables type match+action.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 3 / 13
Introduction
P4 un langage open source, sp´ecifie comment les paquets doivent ˆetre
trait´es ind´ependamment.
Bas´e sur un mod`ele utilisant des tables type match+action.
Automatisation des traitements des donn´ees sans avoir `a sp´ecifier
quel protocole est support´e par le switch.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 3 / 13
Introduction
P4 un langage open source, sp´ecifie comment les paquets doivent ˆetre
trait´es ind´ependamment.
Bas´e sur un mod`ele utilisant des tables type match+action.
Automatisation des traitements des donn´ees sans avoir `a sp´ecifier
quel protocole est support´e par le switch.
Une interface flexible entre le plan de contrˆole et de donn´ee.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 3 / 13
Introduction
P4 un langage open source, sp´ecifie comment les paquets doivent ˆetre
trait´es ind´ependamment.
Bas´e sur un mod`ele utilisant des tables type match+action.
Automatisation des traitements des donn´ees sans avoir `a sp´ecifier
quel protocole est support´e par le switch.
Une interface flexible entre le plan de contrˆole et de donn´ee.
Reconfiguration, Ind´ependance des protocoles, Ind´ependances des
´equipements.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 3 / 13
Mod`ele pour l’acheminements des paquets
Un parseur pour analyser les paquets entrants, extraire les champs
Header fields et ordonnancer les tables match+action.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 4 / 13
Mod`ele pour l’acheminements des paquets
Un parseur pour analyser les paquets entrants, extraire les champs
Header fields et ordonnancer les tables match+action.
Tables match+action contiennent les informations des paquets
correspondant et les protocoles pris en compte pour leur
acheminement.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 4 / 13
Mod`ele pour l’acheminements des paquets
Un parseur pour analyser les paquets entrants, extraire les champs
Header fields et ordonnancer les tables match+action.
Tables match+action contiennent les informations des paquets
correspondant et les protocoles pris en compte pour leur
acheminement.
Ingresse & Egrees: Manipuler les tables match+action, ajout de
metadata.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 4 / 13
Header & Fields
M. Antitene (UPMC-LIP6) P4 Juillet 2016 5 / 13
Header & Fields
D´eclarer un entˆete avec
header.
Ajouter des champs
fields.
taille des champs en bits.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 5 / 13
The packet parser
M. Antitene (UPMC-LIP6) P4 Juillet 2016 6 / 13
The packet parser
Les headers sont manipul´e
par les tables
match+action.
s´electionner le prochain
traitement.
Machine `a ´etat avec
transitions.
Commence avec l’´etat
start et fini avec end.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 6 / 13
Packet Processing
Le processus de traitement des paquets comporte les points suivant :
Sp´ecification des tables.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 7 / 13
Packet Processing
Le processus de traitement des paquets comporte les points suivant :
Sp´ecification des tables.
Sp´ecification des actions.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 7 / 13
Packet Processing
Le processus de traitement des paquets comporte les points suivant :
Sp´ecification des tables.
Sp´ecification des actions.
Programme ou flux de contrˆole.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 7 / 13
Table specifications
M. Antitene (UPMC-LIP6) P4 Juillet 2016 8 / 13
Table specifications
Tables match+action.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 8 / 13
Table specifications
Tables match+action.
Sp´ecifier sur quels champs
faire la correspondance
(reads)
M. Antitene (UPMC-LIP6) P4 Juillet 2016 8 / 13
Table specifications
Tables match+action.
Sp´ecifier sur quels champs
faire la correspondance
(reads)
Sp´ecifier les actions `a
ex´ecuter pour les paquets
correspondants.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 8 / 13
Table specifications
Tables match+action.
Sp´ecifier sur quels champs
faire la correspondance
(reads)
Sp´ecifier les actions `a
ex´ecuter pour les paquets
correspondants.
Sp´ecifier la taille des
tables.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 8 / 13
Action specifications
M. Antitene (UPMC-LIP6) P4 Juillet 2016 9 / 13
Action specifications
Actions compos´ees de primitives.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 9 / 13
Action specifications
Actions compos´ees de primitives.
Add/remove/copy fields, modify header.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 9 / 13
Action specifications
Actions compos´ees de primitives.
Add/remove/copy fields, modify header.
Peuvent ˆetre ex´ecut´ees en parall`ele.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 9 / 13
Control Flow
M. Antitene (UPMC-LIP6) P4 Juillet 2016 10 / 13
Control Flow
D´etermine le plan `a suivre
au long du processus de
traitement des paquets.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 10 / 13
Control Flow
D´etermine le plan `a suivre
au long du processus de
traitement des paquets.
Appliquer des proc´edures.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 10 / 13
Control Flow
D´etermine le plan `a suivre
au long du processus de
traitement des paquets.
Appliquer des proc´edures.
Contrˆole au niveau
Ingress & Egress.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 10 / 13
Compiling Control Program
Analyser les d´ependances entre les tables .
M. Antitene (UPMC-LIP6) P4 Juillet 2016 11 / 13
Compiling Control Program
Analyser les d´ependances entre les tables .
Analyser le plan de contrˆole et d´eterminer les op´erations `a ex´ecuter en
parall`ele.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 11 / 13
Compiling Control Program
Analyser les d´ependances entre les tables .
Analyser le plan de contrˆole et d´eterminer les op´erations `a ex´ecuter en
parall`ele.
Deux ´etapes de compilation :
M. Antitene (UPMC-LIP6) P4 Juillet 2016 11 / 13
Compiling Control Program
Analyser les d´ependances entre les tables .
Analyser le plan de contrˆole et d´eterminer les op´erations `a ex´ecuter en
parall`ele.
Deux ´etapes de compilation :
Convertir le plan de contrˆole en un graphe de d´ependance (TDG: Table
Dependency Graph).
Convertir ce graphe en des ressources pouvant ˆetre ex´ecut´ees par le
switch.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 11 / 13
Conclusion
P4 langage simple avec un mod`ele de traitement efficace.
P4 offre une interface dynamique.
Rend OpenFlow plus flexible.
D´etermine la fa¸con dont les paquets seront achemin´e dans le r´eseau
sans se soucier des contraintes de l’infrastructure.
M. Antitene (UPMC-LIP6) P4 Juillet 2016 12 / 13
P4
Questions ?
M. Antitene (UPMC-LIP6) P4 Juillet 2016 13 / 13

Contenu connexe

Tendances (20)

Practica de Redes
Practica de RedesPractica de Redes
Practica de Redes
 
Interoperabilidad Ubuntu y Windows
 Interoperabilidad Ubuntu y Windows Interoperabilidad Ubuntu y Windows
Interoperabilidad Ubuntu y Windows
 
6190163 arquitectura-de-von-neumann
6190163 arquitectura-de-von-neumann6190163 arquitectura-de-von-neumann
6190163 arquitectura-de-von-neumann
 
Clase 9 grafos parte iii (cam min - arbol min)-ay_ed-2014
Clase 9  grafos parte iii (cam min - arbol min)-ay_ed-2014Clase 9  grafos parte iii (cam min - arbol min)-ay_ed-2014
Clase 9 grafos parte iii (cam min - arbol min)-ay_ed-2014
 
01 5-1 cableado de red y configuración básica de router
01 5-1 cableado de red y configuración básica de router01 5-1 cableado de red y configuración básica de router
01 5-1 cableado de red y configuración básica de router
 
Tasm
TasmTasm
Tasm
 
T.magica
T.magicaT.magica
T.magica
 
Informe laboratorio 4 ospf rip
Informe laboratorio 4 ospf   ripInforme laboratorio 4 ospf   rip
Informe laboratorio 4 ospf rip
 
Eigrp
EigrpEigrp
Eigrp
 
puertos de entrada y salida
puertos de entrada y salida puertos de entrada y salida
puertos de entrada y salida
 
Medios de transmisión
Medios de transmisiónMedios de transmisión
Medios de transmisión
 
Sdp(version completa)
Sdp(version completa)Sdp(version completa)
Sdp(version completa)
 
Comandos usados en kali linux
Comandos usados en kali linuxComandos usados en kali linux
Comandos usados en kali linux
 
Practica dhcp 16.03.17
Practica dhcp 16.03.17Practica dhcp 16.03.17
Practica dhcp 16.03.17
 
Calculo de Predicados
Calculo de PredicadosCalculo de Predicados
Calculo de Predicados
 
Instrucciones lenguaje assembler
Instrucciones lenguaje assemblerInstrucciones lenguaje assembler
Instrucciones lenguaje assembler
 
Redes: Protocolo Arp
Redes: Protocolo ArpRedes: Protocolo Arp
Redes: Protocolo Arp
 
Udp
UdpUdp
Udp
 
Tarjeta de sonido modulo 11
Tarjeta de sonido modulo 11Tarjeta de sonido modulo 11
Tarjeta de sonido modulo 11
 
Redes punto a punto
Redes punto a puntoRedes punto a punto
Redes punto a punto
 

En vedette

SDEC2011 Going by TACC
SDEC2011 Going by TACCSDEC2011 Going by TACC
SDEC2011 Going by TACCKorea Sdec
 
2016 NCTU P4 Workshop
2016 NCTU P4 Workshop2016 NCTU P4 Workshop
2016 NCTU P4 WorkshopYi Tseng
 
Extending Network Virtualization into the Optical Domain
Extending Network Virtualization into the Optical DomainExtending Network Virtualization into the Optical Domain
Extending Network Virtualization into the Optical DomainADVA
 
JS introduction
JS introductionJS introduction
JS introductionYi Tseng
 
ONOS intent introduction
ONOS intent introductionONOS intent introduction
ONOS intent introductionYi Tseng
 
Ryu dynamic loader
Ryu dynamic loaderRyu dynamic loader
Ryu dynamic loaderYi Tseng
 
SDN & OPTICAL FLOW STEERING FOR NETWORK FUNCTION VIRTUALIZATION
SDN & OPTICAL FLOW STEERING FOR NETWORK FUNCTION VIRTUALIZATIONSDN & OPTICAL FLOW STEERING FOR NETWORK FUNCTION VIRTUALIZATION
SDN & OPTICAL FLOW STEERING FOR NETWORK FUNCTION VIRTUALIZATIONOpen Networking Summits
 
Stacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStackStacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStackOpen-NFP
 
DDoS Attack Detection & Mitigation in SDN
DDoS Attack Detection & Mitigation in SDNDDoS Attack Detection & Mitigation in SDN
DDoS Attack Detection & Mitigation in SDNChao Chen
 

En vedette (10)

SDEC2011 Going by TACC
SDEC2011 Going by TACCSDEC2011 Going by TACC
SDEC2011 Going by TACC
 
2016 NCTU P4 Workshop
2016 NCTU P4 Workshop2016 NCTU P4 Workshop
2016 NCTU P4 Workshop
 
Extending Network Virtualization into the Optical Domain
Extending Network Virtualization into the Optical DomainExtending Network Virtualization into the Optical Domain
Extending Network Virtualization into the Optical Domain
 
JS introduction
JS introductionJS introduction
JS introduction
 
ONOS intent introduction
ONOS intent introductionONOS intent introduction
ONOS intent introduction
 
NSCTF
NSCTFNSCTF
NSCTF
 
Ryu dynamic loader
Ryu dynamic loaderRyu dynamic loader
Ryu dynamic loader
 
SDN & OPTICAL FLOW STEERING FOR NETWORK FUNCTION VIRTUALIZATION
SDN & OPTICAL FLOW STEERING FOR NETWORK FUNCTION VIRTUALIZATIONSDN & OPTICAL FLOW STEERING FOR NETWORK FUNCTION VIRTUALIZATION
SDN & OPTICAL FLOW STEERING FOR NETWORK FUNCTION VIRTUALIZATION
 
Stacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStackStacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStack
 
DDoS Attack Detection & Mitigation in SDN
DDoS Attack Detection & Mitigation in SDNDDoS Attack Detection & Mitigation in SDN
DDoS Attack Detection & Mitigation in SDN
 

P4: Programming Protocol-Independent Packet Processor

  • 1. P4 Programing Protocol-Independent Packet Processor M. Antitene Laboratoire Informatique Paris VI (LIP6) Universit´e de Pierre et Marie Curie Juillet 2016 M. Antitene (UPMC-LIP6) P4 Juillet 2016 1 / 13
  • 2. Motivations Un Plan de contrˆole programmable pour SDN. M. Antitene (UPMC-LIP6) P4 Juillet 2016 2 / 13
  • 3. Motivations Un Plan de contrˆole programmable pour SDN. Int´egration de nouvelles technologies `a SDN. M. Antitene (UPMC-LIP6) P4 Juillet 2016 2 / 13
  • 4. Motivations Un Plan de contrˆole programmable pour SDN. Int´egration de nouvelles technologies `a SDN. Abstraction du plan de contˆole par rapport aux sp´ecifications du materiel. M. Antitene (UPMC-LIP6) P4 Juillet 2016 2 / 13
  • 5. Motivations Un Plan de contrˆole programmable pour SDN. Int´egration de nouvelles technologies `a SDN. Abstraction du plan de contˆole par rapport aux sp´ecifications du materiel. Offrir un m´ecanisme pour automatiser le traitement de tout sorte de donn´ee. M. Antitene (UPMC-LIP6) P4 Juillet 2016 2 / 13
  • 6. Introduction P4 un langage open source, sp´ecifie comment les paquets doivent ˆetre trait´es ind´ependamment. M. Antitene (UPMC-LIP6) P4 Juillet 2016 3 / 13
  • 7. Introduction P4 un langage open source, sp´ecifie comment les paquets doivent ˆetre trait´es ind´ependamment. Bas´e sur un mod`ele utilisant des tables type match+action. M. Antitene (UPMC-LIP6) P4 Juillet 2016 3 / 13
  • 8. Introduction P4 un langage open source, sp´ecifie comment les paquets doivent ˆetre trait´es ind´ependamment. Bas´e sur un mod`ele utilisant des tables type match+action. Automatisation des traitements des donn´ees sans avoir `a sp´ecifier quel protocole est support´e par le switch. M. Antitene (UPMC-LIP6) P4 Juillet 2016 3 / 13
  • 9. Introduction P4 un langage open source, sp´ecifie comment les paquets doivent ˆetre trait´es ind´ependamment. Bas´e sur un mod`ele utilisant des tables type match+action. Automatisation des traitements des donn´ees sans avoir `a sp´ecifier quel protocole est support´e par le switch. Une interface flexible entre le plan de contrˆole et de donn´ee. M. Antitene (UPMC-LIP6) P4 Juillet 2016 3 / 13
  • 10. Introduction P4 un langage open source, sp´ecifie comment les paquets doivent ˆetre trait´es ind´ependamment. Bas´e sur un mod`ele utilisant des tables type match+action. Automatisation des traitements des donn´ees sans avoir `a sp´ecifier quel protocole est support´e par le switch. Une interface flexible entre le plan de contrˆole et de donn´ee. Reconfiguration, Ind´ependance des protocoles, Ind´ependances des ´equipements. M. Antitene (UPMC-LIP6) P4 Juillet 2016 3 / 13
  • 11. Mod`ele pour l’acheminements des paquets Un parseur pour analyser les paquets entrants, extraire les champs Header fields et ordonnancer les tables match+action. M. Antitene (UPMC-LIP6) P4 Juillet 2016 4 / 13
  • 12. Mod`ele pour l’acheminements des paquets Un parseur pour analyser les paquets entrants, extraire les champs Header fields et ordonnancer les tables match+action. Tables match+action contiennent les informations des paquets correspondant et les protocoles pris en compte pour leur acheminement. M. Antitene (UPMC-LIP6) P4 Juillet 2016 4 / 13
  • 13. Mod`ele pour l’acheminements des paquets Un parseur pour analyser les paquets entrants, extraire les champs Header fields et ordonnancer les tables match+action. Tables match+action contiennent les informations des paquets correspondant et les protocoles pris en compte pour leur acheminement. Ingresse & Egrees: Manipuler les tables match+action, ajout de metadata. M. Antitene (UPMC-LIP6) P4 Juillet 2016 4 / 13
  • 14. Header & Fields M. Antitene (UPMC-LIP6) P4 Juillet 2016 5 / 13
  • 15. Header & Fields D´eclarer un entˆete avec header. Ajouter des champs fields. taille des champs en bits. M. Antitene (UPMC-LIP6) P4 Juillet 2016 5 / 13
  • 16. The packet parser M. Antitene (UPMC-LIP6) P4 Juillet 2016 6 / 13
  • 17. The packet parser Les headers sont manipul´e par les tables match+action. s´electionner le prochain traitement. Machine `a ´etat avec transitions. Commence avec l’´etat start et fini avec end. M. Antitene (UPMC-LIP6) P4 Juillet 2016 6 / 13
  • 18. Packet Processing Le processus de traitement des paquets comporte les points suivant : Sp´ecification des tables. M. Antitene (UPMC-LIP6) P4 Juillet 2016 7 / 13
  • 19. Packet Processing Le processus de traitement des paquets comporte les points suivant : Sp´ecification des tables. Sp´ecification des actions. M. Antitene (UPMC-LIP6) P4 Juillet 2016 7 / 13
  • 20. Packet Processing Le processus de traitement des paquets comporte les points suivant : Sp´ecification des tables. Sp´ecification des actions. Programme ou flux de contrˆole. M. Antitene (UPMC-LIP6) P4 Juillet 2016 7 / 13
  • 21. Table specifications M. Antitene (UPMC-LIP6) P4 Juillet 2016 8 / 13
  • 22. Table specifications Tables match+action. M. Antitene (UPMC-LIP6) P4 Juillet 2016 8 / 13
  • 23. Table specifications Tables match+action. Sp´ecifier sur quels champs faire la correspondance (reads) M. Antitene (UPMC-LIP6) P4 Juillet 2016 8 / 13
  • 24. Table specifications Tables match+action. Sp´ecifier sur quels champs faire la correspondance (reads) Sp´ecifier les actions `a ex´ecuter pour les paquets correspondants. M. Antitene (UPMC-LIP6) P4 Juillet 2016 8 / 13
  • 25. Table specifications Tables match+action. Sp´ecifier sur quels champs faire la correspondance (reads) Sp´ecifier les actions `a ex´ecuter pour les paquets correspondants. Sp´ecifier la taille des tables. M. Antitene (UPMC-LIP6) P4 Juillet 2016 8 / 13
  • 26. Action specifications M. Antitene (UPMC-LIP6) P4 Juillet 2016 9 / 13
  • 27. Action specifications Actions compos´ees de primitives. M. Antitene (UPMC-LIP6) P4 Juillet 2016 9 / 13
  • 28. Action specifications Actions compos´ees de primitives. Add/remove/copy fields, modify header. M. Antitene (UPMC-LIP6) P4 Juillet 2016 9 / 13
  • 29. Action specifications Actions compos´ees de primitives. Add/remove/copy fields, modify header. Peuvent ˆetre ex´ecut´ees en parall`ele. M. Antitene (UPMC-LIP6) P4 Juillet 2016 9 / 13
  • 30. Control Flow M. Antitene (UPMC-LIP6) P4 Juillet 2016 10 / 13
  • 31. Control Flow D´etermine le plan `a suivre au long du processus de traitement des paquets. M. Antitene (UPMC-LIP6) P4 Juillet 2016 10 / 13
  • 32. Control Flow D´etermine le plan `a suivre au long du processus de traitement des paquets. Appliquer des proc´edures. M. Antitene (UPMC-LIP6) P4 Juillet 2016 10 / 13
  • 33. Control Flow D´etermine le plan `a suivre au long du processus de traitement des paquets. Appliquer des proc´edures. Contrˆole au niveau Ingress & Egress. M. Antitene (UPMC-LIP6) P4 Juillet 2016 10 / 13
  • 34. Compiling Control Program Analyser les d´ependances entre les tables . M. Antitene (UPMC-LIP6) P4 Juillet 2016 11 / 13
  • 35. Compiling Control Program Analyser les d´ependances entre les tables . Analyser le plan de contrˆole et d´eterminer les op´erations `a ex´ecuter en parall`ele. M. Antitene (UPMC-LIP6) P4 Juillet 2016 11 / 13
  • 36. Compiling Control Program Analyser les d´ependances entre les tables . Analyser le plan de contrˆole et d´eterminer les op´erations `a ex´ecuter en parall`ele. Deux ´etapes de compilation : M. Antitene (UPMC-LIP6) P4 Juillet 2016 11 / 13
  • 37. Compiling Control Program Analyser les d´ependances entre les tables . Analyser le plan de contrˆole et d´eterminer les op´erations `a ex´ecuter en parall`ele. Deux ´etapes de compilation : Convertir le plan de contrˆole en un graphe de d´ependance (TDG: Table Dependency Graph). Convertir ce graphe en des ressources pouvant ˆetre ex´ecut´ees par le switch. M. Antitene (UPMC-LIP6) P4 Juillet 2016 11 / 13
  • 38. Conclusion P4 langage simple avec un mod`ele de traitement efficace. P4 offre une interface dynamique. Rend OpenFlow plus flexible. D´etermine la fa¸con dont les paquets seront achemin´e dans le r´eseau sans se soucier des contraintes de l’infrastructure. M. Antitene (UPMC-LIP6) P4 Juillet 2016 12 / 13
  • 39. P4 Questions ? M. Antitene (UPMC-LIP6) P4 Juillet 2016 13 / 13