Table of Contents
ODL: Lab 2 Mise en oeuvre d'un switch L2
Objet | test du plugin switchl2 de Opendaylight |
---|---|
Niveau requis | débutant, avisé |
Commentaires | odl-l2switch-plugin, odl-openflow-plugin, odl-overview |
Suivi | :DRAFT: |
Objectif
Le projet de commutateur L2 fournit les fonctionnalités de commutateur Layer2
Ce didacticiel, permet d'apprendre à utiliser Opendaylight conjointement avec le plugin l2switch .
À la fin de ce didacticiel, on doit être familiarisé avec les éléments suivants:
- Openflow
- opendaylight
- plugin l2switch
Description de la topologie
La topologie de test nécessite la mise en oeuvre:
- de deux hôtes, tous connectés l'un à l'autre via un seul commutateur activé par OpenFlow. Ceci est le plan de données.
- d'un commutateur connecté à un contrôleur. Ceci est le plan de contrôle.
A propos du contrôleur: Dans ce didacticiel, on utilise un contrôleur oendaylight.
Mise en oeuvre de la topologie
La topologie GNS3 est composée de 5 noeuds:
- Noeud 1: host 1
- ifconfig eth0 10.0.0.1 netmask 255.255.255.0
- route default gateway 10.0.0.7
- Noeud 2: host 2
- ifconfig eth0 10.0.0.2 netmask 255.255.255.0
- route default gateway 10.0.0.7
- Noeud 3: interface NAT pour accés au réseau via openvswitch et au contrôleur floodlight (réseau 192.168.122.0/24)
- Noeud 4: commutateur
- vlan 10 : ip address 10.0.0.7 24
- vlan 212 : ip address 192.168.122.7 24
- ge1/0 : port access vlan 10 (host1)
- ge2/0 : port access vlan 10 (host2)
- ge3/0 : port access vlan 212 (NAT)
Configuration du contrôleur
Une fois la topologie installée et que toutes les ressources sont en place, lancer le contrôleur opendaylight à partir de la ressource contrôleur.
opendaylight intégre ce qu’on appelle une API REST. Grâce à Curl et à ces commandes REST, on peut donc communiquer avec Floodlight.
Pour ce tutoriel les features odl-l2switch-plugin et odl-openflow-plugin doivent être installées :
Feature | Classe |
---|---|
odl-l2switch-all | OpenDaylight::L2Switch::All |
odl-l2switch-switch | OpenDaylight::L2Switch::Switch |
odl-l2switch-switch-rest | OpenDaylight::L2Switch::Switch |
odl-l2switch-switch-ui | OpenDaylight::L2Switch::Switch |
odl-l2switch-hosttracker | OpenDaylight::L2Switch::HostTracker |
odl-l2switch-addresstracker | OpenDaylight::L2Switch::AddressTracker |
odl-l2switch-arphandler | OpenDaylight::L2Switch::ArpHandler |
odl-l2switch-loopremover | OpenDaylight::L2Switch::LoopRemover |
odl-l2switch-packethandler | OpenDaylight::L2Switch::PacketHandler |
Configuration du commutateur
Maintenant que le contrôleur est configuré et fonctionne, il faut configurer le commutateur.
Configurer une instance
Pour configurer OpenFlow, dans la vue système, utiliser la commande openflow
et spécifier une instance. Ceci amène aux options de configuration globales OpenFlow:
system-view System View: return to User View with Ctrl+Z. [HPE]openflow instance 1
Une instance OpenFlow doit être configurée. Sur les commutateurs ProVision, il existe un mappage un à un entre les instances et les VLAN. En d'autres termes, chaque VLAN nécessite une instance OpenFlow distincte. Ceci n'est pas vrai pour les commutateurs Comware (plusieurs VLAN peuvent être mappés sur une seule instance OpenFlow).
Contrairement aux commutateurs 5900 prenant en charge 4094 instances d'OpenFlow, les commutateurs de la série 5500 ne prennent en charge que 8 instances.
Configurer le contrôleur
Un ID de contrôleur et une adresse IP doivent être spécifiés. On peut configurer plusieurs contrôleurs pour la redondance et l'équilibrage de la charge. Dans ce cas, un seul contrôleur est configuré.
[HPE-of-inst-1]controller 1 address ip 192.168.56.7
Associer les vlans
Les commutateurs hybrides OpenFlow prennent en charge le fonctionnement OpenFlow et le fonctionnement de commutation Ethernet normal. Certains VLAN utilisent la commutation Ethernet L2 traditionnelle, l'isolation de VLAN, le routage L3, le traitement des listes de contrôle d'accès et de qualité de service, etc. Ce type de commutateur doit fournir un mécanisme de classification qui achemine le trafic vers le pipeline OpenFlow ou le pipeline normal. Les commutateurs HP utilisent des VLAN (un ou plusieurs) à cette fin.
[5500-1-of-inst-1]classification vlan 10 This command isn't effective until the active instance command is issued. [5500-1-of-inst-1]
Activer l'instance
La dernière étape consiste à activer l'instance:
[5500-1-of-inst-1] active instance
C'est tout. Il n’est pas trop difficile de configurer une seule instance de base d’OpenFlow sur les commutateurs HP ProVision
Dès l'activation de l'instance openflow on doit voir des flux s'ajouter automatiquement sur chacun des interfaces en fonction dla classification choisie:
- classification global: ajout de flux sur tous les interfaces
- classification vlan: ajout des flux sur les seuls interfaces du vlan
Contrairement au lab1, les hôtes peuvent communiquer dés l'activation. Pour s'en assurer:
- sur l'hôte 1 passer la commande:
ping 20.0.0.2
- sur l'hôte 2 passer la commande:
ping 10.0.0.1
Les deux devraient fonctionner.
Configuration de arp-handler
Afin de comprendre comment la communication est possible dès l'activation il faut expliquer Arp Handler. Ce module fournit par le plugin L2switch peut être configuré en mode:
- proactif inondation: signifie que des flux FLOOD seront installés sur chaque commutateur. Avec ce flux chaque commutateur inondera un paquet qui ne correspond à aucun autre flux.
- Avantage: moins de paquets sont envoyés au contrôleur car ils sont envoyés au réseau.
- Inconvénient: beaucoup de trafic réseau est généré.
- reactif: signifie que les flux d'inondation mentionnés précédemment ne seront pas installés. Au lieu de cela, un flux ARP sera installé sur chaque commutateur qui envoie tous les paquets ARP au contrôleur.
- Avantage: moins de trafic réseau est généré.
- Inconvénient: le contrôleur gère plus de paquets (demandes et réponses ARP) et le processus ARP prend plus de temps que s'il y avait des flux inondés.
Configuration en mode inondation proactif
Par défaut Arp Handler est configuré en mode proactif inondation, donc par défaut un flux de type IP est ajouté sur chaque interface (vlan ou physique) avec en sortie chacun les autres interfaces en fonction de la classification retenue.
Donc L2switch a fait la même chose que dans le lab 1, pour que les hôtes puissent communiquer, on installe des flux (match ethernet-type=0x0800) permettant la communication bi directionnelle pour chaun des interfaces devant communiquer.
configuration en mode réactif
Méthode | PUT |
---|---|
URI | /restconf/config/arp-handler-config:arp-handler-config/ |
<?xml version="1.0" encoding="UTF-8"?> <arp-handler-config xmlns="urn:opendaylight:packet:arp-handler-config"> <is-proactive-flood-mode>false</is-proactive-flood-mode> </arp-handler-config>
Un seul flux ARP est installé sur le commutateur qui envoie tous les paquets ARP au contrôleur.