UMBRELLA : Une nouvelle fabrique SDN pour les IXPs
Les IXPs appliquent des rรจgles strictes [19], [20] pour rรฉduire lโeffet de bord dรป ร lโutilisation dโun domaine broadcast partagรฉ de niveau 2 ; par exemple, lโadresse MAC du routeur sur lequel les membres se connectent ร la fabrique doit รชtre connu ร lโavance. Cโest seulement ร ce moment que lโIXP alloue un port Ethernet sur le commutateur de bordure et une adresse IP publique de son espace [21] et configure une liste de contrรดle dโaccรจs (ou ACL pour Access control List) avec cette adresse MAC. Cโest ainsi que la localisation de tous les routeurs des membres est connue de lโIXP. Cโest pour cela quโUmbrella รฉlimine le besoin dโun mรฉcanisme de dรฉcouverte des localisations des รฉquipements et qui reposerait sur des messages en mode broadcast (i.e., requรชtes ARP, IPv6 neighbor discovery) et par consรฉquent rend inutile un proxy-ARP comme cela est proposรฉ dans les prรฉcรฉdentes solutions pour les IXP-SDN [15], [16], [2], [3]. Umbrella convertit ร la volรฉe les paquets broadcast en paquets unicast en utilisant la possibilitรฉ offerte par OF de rรฉ-รฉcrire le champ dโadresse MAC et qui correspond ร une rรจgle donnรฉe [22].
Nous proposons dโutiliser un mรฉcanisme de forwarding basรฉ sur des labels pour rรฉduire le nombre de rรจgles dans le cลur de la fabrique de lโIXP. Les commutateurs de bordure Umbrella รฉcrivent explicitement les ports destination pour chaque saut dans le champ destination de la trame MAC du paquet. Le premier octet de lโadresse MAC indique donc pour chacun des commutateurs de cลur traversรฉs le numรฉro de port de sortie ร utiliser.
Lorsque la source et la destination sont directement connectรฉes au mรชme commutateur de bordure, aucun encodage nโest requis, et lโadresse broadcast de destination est directement remplacรฉe par lโadresse MAC de destination par le commutateur de bordure concernรฉ. Dans un scรฉnario IPv6, lโindication OF dans le commutateur de bordure doit รชtre placรฉe dans le champs IPv6 ND target du paquet de sollicitation ICMPv6 Neighbor [23]. La table de correspondance sur le commutateur de bordure doit conserver les associations entre les adresses IPv6 et leur localisation, comme dans le cas IP4.
Une approche de commutation basรฉe sur des labelsย
Le mรฉcanisme de propagation (forwarding) dโumbrella permet dโutiliser des commutateurs traditionnels (sans implรฉmentation dโOF) dans le cลur, limitant ainsi les investissements (et coรปts) de mise ร jours des matรฉriels. Un commutateur de cลur doit seulement forwarder les paquets sur la base de rรจgles de filtrage dโaccรจs, alors que les commutateurs de bordure doivent intรฉgrer OF pour rรฉ-รฉcrire le champ MAC de destination. Cette approche est directement applicable pour des IXPs permettant un seul saut dans le cลur (comme AMS-IX et DE-CIX), mais nโest pas applicable pour des fabriques autorisant plusieurs sauts (comme LINX et MSK-IX). Avec un seul saut, le port de sortie est encodรฉ dans lโoctet de poids fort de lโadresse MAC de destination. Dans le cas multi-sauts, comme un paquet peut traverser plusieurs commutateurs de cลur, un nouveau mรฉcanisme dโencodage est requis pour indiquer les diffรฉrents ports de sortie au niveau des diffรฉrents commutateurs de cลur.
Adapter Umbrella aux topologies multi-sauts dโIXP nโest pas trivial. Il faudrait pour cela dรฉfinir un mรฉcanisme dโencodage des adresses MAC de destination dans lequel lโoctet de poids fort indique le port de sortie du premier commutateur de cลur (i.e., core-a), le second octet indique le port de sortie du second commutateur de cลur (i.e., core-b), et ainsi de suite. Cโest tout bonnement impossible. En effet, selon la route, un commutateur de cลur peut รชtre soit le premier soit le second sur le chemin ร suivre. Une autre solution pourrait consister ร considรฉrer les ports dโentrรฉe de la trame dans les rรจgles de forwarding installรฉes au niveau des commutateurs de cลur. Avec les ports dโentrรฉe, on peut savoir oรน se situe le commutateur sur le chemin entre la source et la destination, et ainsi considรฉrer le bon octet dans le champ de lโadresse MAC de destination. Hรฉlas, cette approche ne peut pas fonctionner sur des topologies arbitraires. De plus, un tel mรฉcanisme conduirait ร une explosion du nombre de rรจgles dans le cลur, le nombre de rรจgles de forwarding grandissant de faรงon quadratique avec le nombre de ports dโentrรฉe possibles.
En mettant en place une mรฉthode ร base de source routing, Umbrella sโabsout enfin de ce problรจme. Dans lโapproche Umbrella pour les fabriques multi-sauts dโIXP, le premier commutateur de bordure doit sรฉlectionner le chemin ร emprunter pour chaque paquet. Une liste ordonnรฉe des ports de sortie est alors encodรฉe dans le champ dโadresse MAC de destination, comme une pile de labels. Finalement, chaque nลud de cลur traite les trames en considรฉrant la valeur au sommet de la pile, et la dรฉpile avant de les forwarder .
Avec cette configuration, chaque commutateur nโa besoin de ne regarder que lโoctet de poids fort de lโadresse, peut importe la place quโil occupe sur le chemin vers la destination. Retirer de la pile le dernier label utilisรฉ nรฉcessite de pouvoir rรฉ-รฉcrire les entรชtes, rendant cette solution possible uniquement sur des commutateurs de cลur compatibles avec OF. En particulier, chaque commutateur de cลur doit possรฉder deux tables dโactions : forwarding et coppy-field . Cette solution prรฉsente donc deux limites pratiques :
โข Le nombre maximum de ports de sorties qui peuvent รชtre adressรฉs lors de chaque saut est limitรฉ ร 256, puisque le numรฉro de port de sortie pour chaque commutateur est encodรฉ dans lโoctet de poids fort du champ dโadresse MAC de destination.
โข Le nombre maximal de sauts au sein de lโIXP est limitรฉ ร 6, car nous ne pouvons utiliser que les 6 octets de lโadresse MAC pour encoder tout le cheminement des trames.
Cependant, nous devons surtout considรฉrer Umbrella comme une approche permettant une sรฉparation plus forte entre les plans de contrรดle et de donnรฉes. Les limitations pratiques peuvent se rรฉsoudre avec lโapparition de nouvelles implรฉmentations des diffรฉrents protocoles.
Dรฉploiement et รฉvaluation dโUmbrella sur TouIX : de TouIX ร TouSIX
Le rรฉseau TouIX รฉtait une infrastructure interconnectรฉe autour de 4 POPs (Point of Presence) et interconnectรฉe avec deux autres IXP : FranceIX et LyonIX. TouIX a รฉtรฉ renommรฉ TouSIX aprรจs sa migration vers une approche OF. Depuis mai 2015, TouSIX est le premier IXP europรฉen (et ร ce jour le seul) ร exploiter la technologie OF pour ses opรฉration quotidiennes. Lโarchitecture TouSIX utilise lโapproche Umbrella. Cette partie commence par prรฉsenter les travaux de migration de TouIX vers une solution OF, puis montre ensuite comment TouSIX et son approche Umbrella fonctionnent et rรฉsolvent les problรจmes prรฉsents avec lโancien rรฉseau TouIX.
TouIX
En particulier, les mauvaises configurations de membres (i.e., avec des boucles non souhaitรฉes) affectaient lโensemble des opรฉrations de la fabrique, et rendaient dรฉlicate la gestion de lโIXP. Plusieurs ยซ tempรชtes ARP ยป (ARP storm) ont รฉtรฉ subies. Lโabsence dโun systรจme de monitoring moderne et efficace couplรฉe ร des apparitions irrรฉguliรจres de ce phรฉnomรจne lโont rendu difficile ร dรฉtecter. Les commutateurs CISCO ne disposaient pas des rรจgles de filtrage requises pour empรชcher ce trafic non voulu de perturber la fabrique. Protรฉger la fabrique du trafic indรฉsirable est une nรฉcessitรฉ, non seulement pour protรฉger les routeurs pairs, mais aussi pour amรฉliorer la stabilitรฉ et la facilitรฉ de gestion de toute lโinfrastructure. Umbrella a รฉtรฉ notre rรฉponse pour solutionner ces problรจmes.
|
Table des matiรจres
1. Introduction
2. UMBRELLA : Une nouvelle fabrique SDN pour les IXPs
Une approche de commutation basรฉe sur des labels
3. Dรฉploiement et รฉvaluation dโUmbrella sur TouIX : de TouIX ร TouSIX
TouIX
TouSIX : un IXP totalement opรฉrรฉ par SDN
4. Amรฉlioration de la robustesse des SFC dans un IXP
Architecture SFC
Renforcement de la robustesse dโun chainage SFC
Evaluation
5. Etat de lโart
6. Conclusion
7. Rรฉfรฉrences