Border Gateway Protocol (BGP), protocole pour le 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. Le premier RFC, commentaire officiel décrivant les aspects techniques d’Internet ou des équipements réseaux, fut formalisé en juin de la même année.

Pour ceux qui ne sont pas familiers avec BGP, retenez que BGP est un protocole réseau qui distribue les informations réseau sur TCP utilisant NLRI (Network Layer Reachability Information).

A partir de 2012, BGP a beaucoup évolué jusqu’à devenir le protocole réseau le plus performant et ainsi permettre au Software Defined Network (SDN) de passer d’un rêve d’ingénieurs réseau à la réalité. Vous êtes dubitatifs ? N’était-ce pas le but ultime de la révolution engendrée par les logiciels que d’abolir le règne des protocoles réseaux ?

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 encodées. Grâce à un nouveau BGP NLRI défini dans le RFC 5575, les politiques encodées qui correspondent aux flux basés 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 le serveur de filtrage 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, ses vrais avantages peuvent apparaitre dans le WAN.

En effet, avec la croissance permanente du trafic et la baisse des revenus, 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 être conscients des détails granulaires qui constituent le profil de trafic de chaque client pour prendre les bonnes décisions en matière d’ingénierie de trafic. Par conséquent, une base de données d’ingénierie de trafic et une visibilité complète des domaines internes (IGP) des clients sont nécessaires.

Pour y parvenir, l’IETF a défini le standard Path Computation Engine (PCE) dans le RFC 5440 pour les calculs de chemins WAN et l’ingénierie de trafic. Cette nouvelle approche fut implémentée par la plupart des produits SD-WAN du marché parmi lesquels je voudrais citer 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 réalise 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. Le looking glass change également la manière de fonctionner.

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. Les défis des réseaux SDN existants sont 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-, son rôle et ses responsabilités vont s’étendre et 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.

___________
Cet article a été rédigé par Zied Turki  & Nidhal TALEB, consultants Réseaux & Telecoms chez NetXP