BGP, le meilleur ami du SDN !

Border Gateway Protocol (BGP), protocole de routage inter-domaine, est apparu à un moment où on ne s’y attendait pas : Yakov Rekhter et Kurt Lougheed, avec l’aide de Len Bosak, ont conçu et dessiné le diagramme d’état de BGP en janvier 1989, lors d’un déjeuner à l’IETF. La première RFC (document officiel décrivant les aspects techniques d’Internet ou des équipements réseaux) relative à BGP, fut formalisée en juin de la même année.

Pour ceux qui ne sont pas familiers avec BGP, retenez que BGP est aujourd’hui le seul protocole d’échange de route utilisé sur le réseau Internet. Son rôle est de distribuer les informations de routage et d'accessibilité de réseaux -appelés préfixes- entre entités administratives communément appelées AS pour « Autonomous System ».
L’ensemble de préfixes partageant les mêmes attributs BGP est appelé NLRI (Network Layer Reachability Information). Ces NLRIs sont échangés entre les routeurs de bordure des différents AS par BGP via le protocole de transport TCP.

BGP a beaucoup évolué ces cinq dernières années pour devenir le protocole réseau le plus utilisé dans des environnements programmables et automatisés pour permettre au concept Software Defined Network (SDN) de passer du rêve à la réalité.

Vous êtes dubitatifs ?

Explorons ici rapidement – et espérons-le à bon escient – les fonctionnalités clés mettant BGP au cœur de la révolution SDN.

BGP, facilitateur du routage des flux

Parmi les promesses du SDN, on retrouve des fonctionnalités de programmation réseau centralisées qui permettent aux réseaux modernes de transmettre, filtrer et/ou classer les flux selon des politiques prédéfinies. Grâce à un nouveau BGP NLRI défini dans la RFC 5575, les politiques prédéfinies de gestion des flux basées sur de multiples critères tels que l’adresse IP ou le port source et/ou destination, les paramètres TCP ou même des valeurs DSCP, peuvent être injectées par un contrôleur SDN utilisant BGP.
Un bon exemple est celui d’une technique de mitigation d’attaque par déni de service distribué (DDoS). En effet, une application de détection DDoS peut être utilisée avec le nouveau BGP NLRI appelé « BGP Flowspec » pour détourner le flux malicieux automatiquement vers un service de « scrubbing » via un contrôleur SDN.
Autrement dit, BGP prête sa puissance au paradigme de contrôle centralisé du SDN, en prenant les instructions du contrôleur et en les mettant en œuvre directement dans le routage. Et quelle puissance !

BGP, un levier d’optimisation WAN

De manière quasi unanime, les différents articles parus sur le SDN se sont focalisés sur ses applications pour les datacenters. Cependant, de vrais avantages peuvent apparaitre au niveau du WAN.
En effet, avec la croissance permanente du trafic et la guerre des prix, l’un des plus gros challenges pour les fournisseurs d’accès réside dans l’optimisation et l’orchestration des réseaux WAN. Pour relever ce défi, les fournisseurs d’accès doivent connaitre précisément les détails qui constituent le profil de trafic de chaque client, la topologie du réseau interne du client et la nature des accès de sortie vers les réseaux externes pour prendre les bonnes décisions en matière d’ingénierie de trafic.
Pour y parvenir, l’IETF a défini le standard Path Computation Engine (PCE) dans la RFC 5440 pour les calculs de chemins WAN et l’ingénierie de trafic. Cette nouvelle approche est implémentée par la plupart des produits SD-WAN du marché parmi lesquels le contrôleur SD-WAN ‘NorthStar’ de Juniper.
De nombreuses études ont été menées ces dernières années sur les protocoles réseaux qui peuvent être utilisés pour agréger les informations de topologie de réseau, essentielles au calcul des chemins de trafic (PCE).
Et devinez quel standard est recommandé ? Le bon vieux BGP !
La norme industrielle recommandée est la plus récente extension BGP NLRI appelée BGP-LS ou BGP-LinkState.

BGP, un outil de gestion offrant une belle visibilité

Les ingénieurs réseaux et les opérateurs souhaitent accéder à l’ensemble des bases de données de routage des nœuds BGP afin de gérer les états de sessions de peering BGP, les mises à jour des tables de routage et leurs contenus. Généralement, cela se fait uniquement en analysant les données relatives aux émissions de commandes « show » connues.
Pas vraiment pratique...
Encore une fois, BGP apporte une aide précieuse. BMP est une nouvelle extension BGP qui permet à un équipement compatible BGP d’envoyer les informations de sessions BGP à une station de contrôle (BMP collector). Les administrateurs et les ingénieurs réseaux peuvent déjà interagir via les interfaces OpenDayLight (ODL) et Network Control System (NCS) qui permettent de réaliser différents diagnostics et analyses BMP. A titre d’exemple, le looking glass qui permet aujourd’hui aux administrateurs réseaux d’accéder aux informations de routage Internet en se basant sur ce qu’on appelle des « Shadow router », change la manière de fonctionner. Il suffit de s’interfacer avec un contrôleur SDN pour effectuer des diagnostics et des analyses de la base de données de BGP en se basant sur BMP.

Que se passe-t-il en cas de panne de BGP ?

Si BGP tombe en panne, le routeur communiquant en BGP retirera toutes les informations de routage acquises lors de cette session et la magie s’arrêtera. Ce pourrait être le pire scénario dans le cas de l’utilisation de BGP comme un protocole de contrôle pour SDN. Le principal défi des réseaux SDN existants est la persistance de l’état des tables de routage en cas de panne des équipements réseaux et des connexions au contrôleur SDN.
Cependant, vous pouvez, une fois de plus, compter sur BGP pour poursuivre son chemin en contournant ce dernier obstacle. L’IETF a défini la fonctionnalité de persistance BGP de manière à ce que l’équipement compatible BGP soit capable de conserver l’état des tables de routage établies lors d’une précédente session déjà terminée.

Avec le SDN, le métier d’ingénieur réseau va évoluer –et c’est une bonne chose-, les rôles et responsabilités vont changer. Cependant, nous pourrons toujours compter sur le « chef d’œuvre de l’intelligence humaine » qu’incarne BGP, jusqu’au prochain bijou technologique qui le remplacera.