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

Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203
Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203
Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203Linaro
 
CCNA v6.0 ITN - Chapter 02
CCNA v6.0 ITN - Chapter 02CCNA v6.0 ITN - Chapter 02
CCNA v6.0 ITN - Chapter 02Irsandi Hasan
 
Introduction aux réseaux informatiques
Introduction aux réseaux informatiquesIntroduction aux réseaux informatiques
Introduction aux réseaux informatiqueslmodadam
 
CCNA v6.0 ITN - Chapter 01
CCNA v6.0 ITN - Chapter 01CCNA v6.0 ITN - Chapter 01
CCNA v6.0 ITN - Chapter 01Irsandi Hasan
 
Mise en place du Firewall IPCop
Mise en place du Firewall IPCopMise en place du Firewall IPCop
Mise en place du Firewall IPCopMohammed Zaoui
 
Metropolitan Area Network (MAN) Design with Cisco Packet Tracer
Metropolitan Area Network (MAN) Design with Cisco Packet TracerMetropolitan Area Network (MAN) Design with Cisco Packet Tracer
Metropolitan Area Network (MAN) Design with Cisco Packet TracerMaksudujjaman
 
Dynamic Routing All Algorithms, Working And Basics
Dynamic Routing All Algorithms, Working And BasicsDynamic Routing All Algorithms, Working And Basics
Dynamic Routing All Algorithms, Working And BasicsHarsh Mehta
 
HKG15-107: ACPI Power Management on ARM64 Servers (v2)
HKG15-107: ACPI Power Management on ARM64 Servers (v2)HKG15-107: ACPI Power Management on ARM64 Servers (v2)
HKG15-107: ACPI Power Management on ARM64 Servers (v2)Linaro
 
Cisco Networking (Routing and Switching)
Cisco Networking (Routing and Switching)Cisco Networking (Routing and Switching)
Cisco Networking (Routing and Switching)Alan Mark
 
WiFi – Mobile BNG Offload Deployments
WiFi – Mobile BNG Offload DeploymentsWiFi – Mobile BNG Offload Deployments
WiFi – Mobile BNG Offload DeploymentsCisco Canada
 
Windows OS Architecture in Summery
Windows OS Architecture in SummeryWindows OS Architecture in Summery
Windows OS Architecture in SummeryAsanka Dilruk
 
CCNA3 Verson6 Chapter1
CCNA3 Verson6 Chapter1CCNA3 Verson6 Chapter1
CCNA3 Verson6 Chapter1Chaing Ravuth
 
Gossip-based algorithms
Gossip-based algorithmsGossip-based algorithms
Gossip-based algorithmsAmir Payberah
 
Configuration of hybrid topology in cisco packet tracer by Tanjilur Rahman
Configuration of hybrid topology in cisco packet tracer by Tanjilur RahmanConfiguration of hybrid topology in cisco packet tracer by Tanjilur Rahman
Configuration of hybrid topology in cisco packet tracer by Tanjilur RahmanTanjilurRahman6
 

Tendances (20)

Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203
Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203
Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203
 
Network security
Network securityNetwork security
Network security
 
CCNA v6.0 ITN - Chapter 02
CCNA v6.0 ITN - Chapter 02CCNA v6.0 ITN - Chapter 02
CCNA v6.0 ITN - Chapter 02
 
Introduction aux réseaux informatiques
Introduction aux réseaux informatiquesIntroduction aux réseaux informatiques
Introduction aux réseaux informatiques
 
CCNA v6.0 ITN - Chapter 01
CCNA v6.0 ITN - Chapter 01CCNA v6.0 ITN - Chapter 01
CCNA v6.0 ITN - Chapter 01
 
Mise en place du Firewall IPCop
Mise en place du Firewall IPCopMise en place du Firewall IPCop
Mise en place du Firewall IPCop
 
Banner grabbing
Banner grabbingBanner grabbing
Banner grabbing
 
Spanning tree protocol
Spanning tree protocolSpanning tree protocol
Spanning tree protocol
 
Metropolitan Area Network (MAN) Design with Cisco Packet Tracer
Metropolitan Area Network (MAN) Design with Cisco Packet TracerMetropolitan Area Network (MAN) Design with Cisco Packet Tracer
Metropolitan Area Network (MAN) Design with Cisco Packet Tracer
 
Dynamic Routing All Algorithms, Working And Basics
Dynamic Routing All Algorithms, Working And BasicsDynamic Routing All Algorithms, Working And Basics
Dynamic Routing All Algorithms, Working And Basics
 
HKG15-107: ACPI Power Management on ARM64 Servers (v2)
HKG15-107: ACPI Power Management on ARM64 Servers (v2)HKG15-107: ACPI Power Management on ARM64 Servers (v2)
HKG15-107: ACPI Power Management on ARM64 Servers (v2)
 
Cisco Networking (Routing and Switching)
Cisco Networking (Routing and Switching)Cisco Networking (Routing and Switching)
Cisco Networking (Routing and Switching)
 
Socket programming
Socket programmingSocket programming
Socket programming
 
WiFi – Mobile BNG Offload Deployments
WiFi – Mobile BNG Offload DeploymentsWiFi – Mobile BNG Offload Deployments
WiFi – Mobile BNG Offload Deployments
 
Windows OS Architecture in Summery
Windows OS Architecture in SummeryWindows OS Architecture in Summery
Windows OS Architecture in Summery
 
Sigtran introduction
Sigtran introductionSigtran introduction
Sigtran introduction
 
CCNA3 Verson6 Chapter1
CCNA3 Verson6 Chapter1CCNA3 Verson6 Chapter1
CCNA3 Verson6 Chapter1
 
Acl cisco
Acl ciscoAcl cisco
Acl cisco
 
Gossip-based algorithms
Gossip-based algorithmsGossip-based algorithms
Gossip-based algorithms
 
Configuration of hybrid topology in cisco packet tracer by Tanjilur Rahman
Configuration of hybrid topology in cisco packet tracer by Tanjilur RahmanConfiguration of hybrid topology in cisco packet tracer by Tanjilur Rahman
Configuration of hybrid topology in cisco packet tracer by Tanjilur Rahman
 

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