Introduction
Ce document décrit la mise en réseau définie par logiciel (SDN) comme une nouvelle approche de la mise en réseau, qui complète les architectures réseau traditionnelles. La définition initiale du SDN est liée à OpenFlow.
Objectifs SDN OpenFlow
Voici les principaux objectifs d'OpenFlow SDN.
- Évolutivité accrue du réseau.
- Simplification du réseau.
- Permettre un meilleur contrôle des applications.
- Activez l'indépendance des fonctionnalités.
- Réalisé en séparant les plans de contrôle et de données et en normalisant le plan de données. Le plan de contrôle est mis en oeuvre sous la forme d'un logiciel distribué omniscient et sophistiqué exécuté sur des serveurs multicoeurs hautes performances.
- OpenFlow est une spécification de l'Open Networking Foundation (ONF) qui définit une infrastructure de transfert basée sur les flux (modèle de commutateur) et une interface de programmation d'application standardisée (définition de protocole).
- OpenFlow permet à un contrôleur de diriger les fonctions de transfert d'un commutateur via un canal sécurisé. La configuration des périphériques locaux sort du cadre du protocole OpenFlow.
Résumé des fonctionnalités
Voici le contrôleur Faucet OpenFlow :
- Commutateurs OpenFlow 1.3 (y compris TFM- Table Feature Message)
- Commutation de couche 2, VLAN, ACL, routage IPv4 et IPv6 de couche 3, statique et via BGP
- Déployé comme solution de remplacement pour un commutateur L2/L3 sur le réseau afin d'activer des fonctionnalités SDN supplémentaires.
- OpenFlow est un paradigme de transfert complètement différent, il utilise le même matériel et logiciel Catalyst 9000.
- Le mode peut être basculé entre OPENFLOW et NORMAL, un redémarrage est requis.
OpenFlow est le protocole entre le contrôleur (plan de contrôle) et le commutateur Ethernet (plan de données). Le commutateur dispose de tables de flux organisées en pipeline et les flux sont des règles permettant d’examiner les paquets.
Un flux spécifie :
- Critères de correspondance
- Priorité
- Actions à effectuer sur le paquet
- Délais
Exemple de pipeline :
Remarque : bien qu'il n'y ait aucune dépendance de fonctionnalité, le commutateur doit être démarré en mode OpenFlow. Plates-formes disponibles en mode OpenFlow, commutateurs de la gamme Catalyst 9000 - 9300/9400/9500/9500-H
Implémentation Cisco (mode OpenFlow sur Cat9k)
La même image est utilisée pour le fonctionnement normal et OpenFlow.
Le commutateur doit être en mode OpenFlow.
ott-of-c9k-210#show boot mode
System initialized in openflow forwarding mode
System configured to boot in openflow forwarding mode
All the front panel ports are openflow ports (no hybrid mode)
Changing the boot mode (reload mandatory)
ott-of-c9k-210(config)#boot mode openflow
Rechargez le commutateur.
Vérifiez que le commutateur est en mode OpenFlow.
of-switch# show boot mode
System initialized in openflow forwarding mode
System configured to boot in openflow forwarding mode
“no boot mode openflow” followed by reboot reverts to normal mode.
CAT9300#show run openflow
feature openflow
openflow
switch 1 pipeline 1
controller ipv4 10.104.99.42 port 6653 vrf Mgmt-vrf security none
controller ipv4 10.104.99.42 port 6633 vrf Mgmt-vrf security tls
controller ipv4 10.104.99.42 port 6637 vrf Mgmt-vrf security tls local-trustpoint tp-blue
Il y a un total de 8 contrôleurs pris en charge aujourd'hui !
La configuration et le fonctionnement du contrôleur IPV6 sont également pris en charge.
options de commande sous OpenFlow |
Objectif |
pipeline 1 du commutateur 1 |
Le commutateur 1 et le pipeline 1 sont les seuls choix possibles sur C9ks |
controller ipv4 10.104.99.42 port 6653 vrf Mgmt-vrf security none |
contrôleur sans sécurité |
controller ipv4 10.104.99.42 port 6633 vrf Mgmt-vrf security tls |
contrôleur avec tls, utilise la configuration globale tls trustpoint |
controller ipv4 10.104.99.42 port 6637 vrf Mgmt-vrf security tls local-trustpoint tp-blue |
contrôleur avec tls, utilise la configuration tlstrustpoint locale, mais à distance de tlstrustpoint global |
max-backoff 10 |
Délai maximal de nouvelle tentative de connexion OpenFlow lorsque la connexion du contrôleur est interrompue, la valeur par défaut est 8 secondes |
intervalle-sonde 10 |
Intervalle de temps pour sonder la connexion OpenFlow lorsque la connexion devient inactive, la valeur par défaut est 5 sec. |
rate-limit packet_in 2000 burst 3000 |
débit de paquets maximum pour le contrôleur, les valeurs par défaut sont 0 |
intervalle de collecte des statistiques 6 |
fréquence de collecte des statistiques de flux, la valeur par défaut est 5sec |
datapath-id 0x1 |
switch datapath unique-id, si la valeur par défaut non configurée est (1<<48) | system-mac-addr) |
circuit de contrôle d'omission par défaut |
le paquet ne correspondant à aucun flux peut être envoyé au contrôleur. par défaut, il est abandonné |
logging flow-modify |
vide les informations du mode de flux en tant que journal dans show logging, non activé par défaut |
tls trustpoint local tp-local remote tp-remote |
point de confiance tls global pour une connexion de contrôleur sécurisée# |
Dépannage/débogage
Le débogage côté contrôleur sort du cadre de ce document.
Les interfaces CLI de votre plate-forme ne sont pas toutes prises en charge sur le commutateur Openflow. Choisissez et utilisez uniquement les CLI autorisées pour votre scénario de débogage.
Reportez-vous à ce guide de configuration pour toute autre commande et référence : https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/prog/configuration/174/b_174_programmability_cg/openflow.html#id_76495
Commandes show - IOS®
Commande |
Objectif |
show running-configuration à flux ouvert |
Affiche les informations de configuration en cours OpenFlow. |
show openflow switch number controllers |
Affiche des informations sur la connectivité de l'agent OpenFlow au contrôleur. |
être manifeste à flux ouvert aiguillage numéro liste de flux |
Affiche des informations sur les flux OpenFlow installés. |
être manifeste à flux ouvert aiguillage numéro ports |
Affiche des informations sur l'état du port de l'agent OpenFlow. |
être manifeste à flux ouvert matériel informatique capacités |
Affiche les fonctionnalités matérielles telles que le nombre de tables, la taille de la table, la correspondance/action/absence prise en charge. |
être manifeste à flux ouvert aiguillage numéro groupes |
Affiche des informations sur les groupes Openflow. |
être manifeste à flux ouvert aiguillage numéro statistiques |
Affiche les statistiques de l'interface OpenFlow (rx/tx) et de la table OpenFlow (flux max. par table, flux actifs par table, nombre de recherches et de correspondances). |
être manifeste à flux ouvert aiguillage numéro stats du contrôleur |
Affiche les informations d'état du ou des contrôleurs openflow. |
Commandes show - hardware :
Commande |
Objectif |
show platform software fed switch active à flux ouvert status (état) |
Affiche des statistiques sur le nombre de messages installés/réussis/supprimés. |
show platform software fed switch active à flux ouvert écoulement id |
Affiche des informations dans un flux particulier. |
show platform software fed switch active à flux ouvert groupe |
Affiche des informations matérielles sur les groupes de flux. |
show platform hardware fed switch active fwd-asic ressource came utilisation |
Affiche des informations matérielles sur l'utilisation de TCAM. |
show platform software fed <switch> active openflow error [brief | événement | détail] |
Répertoriez toutes les erreurs OpenFlow, le cas échéant. |
show platform software fed <switch> active openflow table [<id-table> | mappage]
|
Cette commande peut fournir l'ID de la table pour les fonctionnalités de fonctionnalité/correspondance et les tailles de la table. |
show platform software fed switch active openflow event
|
Affiche la liste des événements de chaque table avec le temps passé sur une action par rapport au flux (ajout, suppression, mise à jour). |