Brevet FR3003109A1 — publié le 20140912

PROCEDE DE CONTROLE DE CONGESTION POUR RESEAUX DE TELECOMMUNICATIONS L'invention concerne un procédé de contrôle de congestion pour 5 réseaux de télécommunications et s'applique notamment au domaine des réseaux virtuels. L'ensemble des techniques permettant l'utilisation et la mise en oeuvre de réseaux virtuels est habituellement désigné en utilisant l'expression « virtualisation des réseaux ». Même si cette expression comporte le 10 néologisme « virtualisation » dérivé du mot anglais « virtualization », celle-ci est utilisée dans la description car elle est communément employée par l'homme du métier. La virtualisation des réseaux a pour objectif le partage d'une même infrastructure de réseau de télécommunication ou de différentes 15 infrastructures de réseau de télécommunication. Pour cela, des réseaux virtuels isolés les uns par rapport aux autres sont créés. Les ressources à partager entre les différents réseaux virtuels peuvent être des ressources calculatoires, de la mémoire et/ou de la bande passante. Si le réseau de télécommunication est utilisé pour convoyer des données associées à des 20 services différents, la virtualisation des réseaux permet de les répartir sur plusieurs réseaux virtuels indépendants. Les réseaux VPN, acronyme venant de l'expression « Virtual Private Network », les réseaux VLAN, acronyme venant de l'expression « Virtual Local Area Network », et les réseaux VC comprenant des circuits 25 virtuels sont des exemples connus mettant en oeuvre la technique de virtualisation des réseaux. L'informatique en nuage, désignée habituellement par l'expression anglaise « Cloud Computing », est l'un des domaines pour lequel les techniques de virtualisation sont utilisées. En effet, le partage des ressources 30 est dans ce cas particulièrement important pour que les opérateurs puissent réaliser des économies et dimensionner le mieux possible leurs réseaux. A ce titre, la virtualisation des réseaux est l'un des outils permettant de rendre l'utilisation de l'informatique en nuage réaliste, que ce soit du point de vue technique ou du point de vue financier. Cette technique est utile en particulier au niveau de la couche laaS, acronyme venant de l'expression anglo- saxonne « Infrastructure as a Service ». Dans la pratique, il apparaît que l'utilisation de réseaux virtuels n'est pas toujours optimale. Un réseau virtuel s'appuie notamment sur l'utilisation de noeuds de routage. Un noeud de routage utilise une table de flux pour diriger vers ses ports de sortie des flux de données arrivant sur ses ports d'entrée. Lorsqu'il y a trop de paquets de données présent sur l'un des ports de sortie d'un noeud de routage donné, il y a congestion et les performances se dégradent. En effet, la capacité de transport du réseau virtuel est dépassée et il n'est alors plus possible de livrer à son destinataire tous les paquets du flux. Les paquets qu'un commutateur ne peut transmettre sont alors perdus. Une des conséquences est que la qualité de service (QoS) des services portés par les flux congestionnés se détériore avec pour effet une insatisfaction des utilisateurs. Un but de l'invention est notamment de pallier les inconvénients 20 précités. A cet effet l'invention a pour objet un procédé de contrôle de congestion dans un réseau de télécommunications comprenant un contrôleur de réseau et au moins un noeud de routage dans lequel est mémorisée une table de flux, dans laquelle est stockée une règle de routage de flux de données 25 associant un premier port de sortie du noeud à un port d'entrée du noeud. Le procédé comprend les étapes suivantes : déterminer un indicateur de risque de congestion IRCp pour ledit premier port de sortie, en fonction d'une valeur Vp représentative de la quantité de données transitant par ledit premier port de sortie ; détecter un risque de congestion du premier port de sortie par le contrôleur de réseau, au moyen de l'indicateur de risque de congestion associé audit premier port de sortie ; et modifier la table de flux mémorisée dans le noeud de routage de sorte à associer audit port d'entrée un deuxième port de sortie, distinct du premier port de sortie pour lequel un risque de congestion est détecté. Ce procédé a notamment pour avantage de limiter les risques de congestion au niveau des noeuds de routage du réseau. Il est alors possible 10 d'éviter la perte de paquets lors de la transmission de flux de données dans un réseau de télécommunications. Selon un aspect de l'invention, pour chaque noeud de routage comprenant un premier port de sortie pour lequel un risque de congestion est détecté par le contrôleur réseau, les étapes suivantes peuvent être mises en 15 oeuvre par le contrôleur de réseau : définition d'une nouvelle règle de routage associant, au port d'entrée associé au premier port de sortie pour lequel un risque de congestion est détecté, un deuxième port de sortie dudit noeud de routage ; et 20 envoi, vers ledit noeud de routage, de la nouvelle règle de routage destinée à être stockée dans la table de flux mémorisée dans le noeud de routage. Avantageusement, la nouvelle règle de routage ainsi déterminée permet de modifier rapidement le routage d'un flux de données dès mise à jour de la 25 table de flux. Dans un mode de réalisation, le procédé comprend en outre le calcul, par le contrôleur de réseau, d'un nouveau chemin de routage du flux de données dans lequel chaque premier port de sortie d'un noeud de routage, pour lequel un risque de congestion est détecté, est remplacé par un deuxième port de 30 sortie dudit noeud de routage. Il est ainsi possible de reconfigurer globalement les noeuds de routage d'un réseau de télécommunications pour mettre en oeuvre ce nouveau chemin de routage en prenant en compte la disponibilité des ressources de transmission sur l'ensemble dudit réseau. Selon un aspect de l'invention, le deuxième port de sortie peut être choisi comme étant un port du noeud de routage parmi les ports suivants : - un port de sortie associé à un indicateur de risque de congestion de niveau inférieur à l'indicateur de risque de congestion associé au premier port de sortie ; - un port de sortie, dit de secours, par lequel ne transite aucun flux de données ; ou - le port d'entrée associé au premier port de sortie. Le procédé peut comprendre également une étape de détermination, par le noeud de routage auquel appartient ledit premier port de sortie, de la 15 valeur Vp représentative de la quantité de données transitant par ledit premier port de sortie, l'indicateur de risque de congestion IRCp du premier port de sortie étant déterminé en comparant la valeur Vp à au moins une valeur de seuil S. Un mécanisme de détermination de la valeur Vp par le noeud de routage 20 a pour avantage de pouvoir être mis oeuvre très simplement. En effet, il est aisé d'implémenter un mécanisme au sein d'un noeud de routage pour que celui-ci puisse effectuer des mesures sur ses propres ports de sortie. Dans un mode de réalisation, l'indicateur de risque de congestion IRCp du premier port de sortie est déterminé par le noeud de routage auquel 25 appartient le port de sortie avant d'être transmis au contrôleur de réseau. Avantageusement, la détermination de cet indicateur est facilitée car la valeur Vp est déterminée par le noeud de routage et est donc accessible localement pour cela. Alternativement, la valeur Vp représentative de la quantité de données 30 transitant par le premier port de sortie est par exemple transmise au contrôleur de réseau par le noeud de routage auquel appartient ledit premier port de sortie, l'indicateur de risque de congestion IRCp du port de sortie étant déterminé par le contrôleur de réseau. Dans ce mode de réalisation, le contrôleur de réseau peut déterminer l'indicateur IRCp pour l'ensemble des ports de sortie appartenant aux noeuds de routage dont il a la charge. Avantageusement, la manière de déterminer l'indicateur IRCp pour les différents ports de sortie surveillés peut être paramétrée de manière centralisée directement auprès du contrôleur de réseau. Ainsi, les opérations de maintenance sont facilitées. Dans un mode de réalisation, la valeur Vp représentative de la quantité de données transitant par le premier port de sortie est une estimation du débit de données moyen transitant par ledit premier port de sortie et ladite au moins une valeur de seuil S correspond à une valeur de débit inférieure au débit maximal de transfert d'information par ledit premier port de sortie. Dans un autre mode de réalisation, la valeur Vp représentative de la quantité de données transitant par le premier port de sortie est une estimation de l'occupation d'une mémoire tampon associée audit premier port de sortie et ladite au moins une valeur de seuil S correspond à une quantité de donnée inférieure à la quantité de données maximale pouvant être stockée dans la mémoire tampon. Dans un autre mode de réalisation, la valeur Vp représentative de la quantité de données transitant par le premier port de sortie est une mesure moyenne du temps écoulé entre la réception et l'émission d'un paquet par ledit premier port de sortie et ladite au moins une valeur de seuil S correspond à une durée déterminée. Dans un autre mode de réalisation, une pluralité de valeurs de seuil, distinctes les unes des autres, sont associées audit premier port de sortie, la valeur Vp représentative de la quantité de données transitant par le premier port de sortie étant comparée auxdites valeurs de seuil de manière à déterminer un indicateur de risque de congestion IRCp à plusieurs niveaux. Avantageusement, cet indicateur de risque de congestion à plusieurs niveaux permet de mettre en oeuvre une gestion précise des risques de congestion dans le réseau de télécommunications. A titre d'exemple, la mise à jour des tables de flux pour faire basculer un flux de données d'un premier port de sortie vers un second port de sortie peut être déclenchée en priorité pour les flux de données transitant par un ou plusieurs ports de sortie pour lesquels un indicateur IRCp présente un niveau élevé, les ports de sortie présentant un indicateur IRCp de niveau plus bas étant traités dans un second temps. L'invention a aussi pour objet un contrôleur de réseau comprenant un module de traitement configuré pour détecter un risque de congestion d'un premier port de sortie d'un noeud de routage au moyen d'un indicateur de risque de congestion IRCp associé audit premier port de sortie, en mettant en oeuvre le procédé décrit précédemment. L'invention a aussi pour objet un noeud de routage comprenant un module de mémorisation apte à mémoriser une table de flux, dans laquelle est stockée une règle de routage de flux de données associant un premier port de sortie du noeud à un port d'entrée du noeud, et un module de traitement de données configuré pour modifier ladite table de flux en mettant en oeuvre le procédé décrit précédemment. L'invention a aussi pour objet un réseau de télécommunications 20 comprenant un contrôleur de réseau comme décrit précédemment et au moins un noeud de routage comme décrit précédemment. L'invention a aussi pour objet un programme d'ordinateur comportant des instructions pour l'exécution du procédé de contrôle de congestion décrit précédemment, lorsque le programme est exécuté par un module de 25 traitement de données D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit donnée à titre illustratif et non limitatif, faite en regard des dessins annexés parmi lesquels : 30 - les figures la à lc illustrent le principe de la virtualisation de réseaux ; - la figure 2 donne un exemple d'architecture de réseau et introduit la manière dont le protocole normalisé OpenFlow peut être utilisé ; - la figure 3 donne un exemple de mise en oeuvre d'un procédé de contrôle de congestion dans un réseau de télécommunications ; et - la figure 4 illustre une manière de déterminer un indicateur de contrôle de congestion. Les figures la à lc illustrent le principe de la virtualisation de réseaux. Dans cet exemple, un réseau de télécommunication comprend une infrastructure composée de six noeuds de routage 101 à 106. Chacun de ces noeuds de routage peut échanger directement (liens physiques 107 à 115) des données numériques avec trois autres noeuds de routage du réseau grâce à la mise en oeuvre des protocoles et ressources physiques adaptés. Ainsi, le noeud de routage 101 peut échanger directement (liens 107, 108 et 113) des données numériques avec trois noeuds de routage 102, 104 et 106. Sur la base de cette infrastructure, plusieurs réseaux virtuels peuvent être créés. Par exemple et comme illustré sur la figure lb, un premier réseau virtuel ainsi créé 116 est composé de cinq noeuds de routage 101, 102, 104, 105, 106 sélectionnés parmi les six noeuds de routage de l'infrastructure du réseau de télécommunication. Des liens virtuels 117 à 122 sont configurés pour permettre aux noeuds de routage ainsi sélectionnés d'échanger des données entre eux. La figure lc donne un exemple de second réseau virtuel 123 se basant sur l'infrastructure du réseau présenté à la figure 1 a. Pour le composer, cinq noeuds de routage 101 à 105 et six liens virtuels 124 à 129 sont configurés. Certains noeuds de routage et certains liens physiques sont ainsi utilisés simultanément par les deux réseaux virtuels 116 et 123. Il est 3003 109 8 donc nécessaire de partager entre ces réseaux virtuels les ressources des noeuds de routage, et notamment les ports d'entrée et de sortie de ces noeuds, ce qui peut entraîner une congestion de ces ports. La figure 2 donne un exemple d'architecture de réseau et introduit 5 la manière dont le protocole normalisé OpenFlow (marque déposée) peut être utilisé. L'architecture ainsi présentée comprend cinq noeuds de routage 200 à 204 assurant le plan de transport. Elle comprend aussi un contrôleur de réseau 205 mettant en oeuvre le plan de contrôle. Un noeud de routage 10 réalise des fonctions de routage de flux de données selon un chemin de routage, au sein du plan de transport. Un contrôleur de réseau a pour fonction de configurer les noeuds de routage du réseau, par exemple en allouant des ressources physiques à un flux donné. Les noeuds de routage et les contrôleurs peuvent correspondre à des équipements distincts les uns 15 des autres. Alternativement, l'invention s'applique aussi à une infrastructure comportant au moins un équipement jouant le rôle à la fois de noeud de routage et de contrôleur. Dans un but de simplification de l'exposé, le principe de l'invention est décrit ci-après en prenant l'hypothèse que les noeuds de routage et les contrôleurs sont implémentés dans des 20 équipements distincts. Une table de flux est mémorisée dans chaque noeud de routage 200 à 204. Cette table de flux contient un ensemble de champs permettant d'identifier les flux de données reçus et de les router suivant des règles de routage stockées dans cette table de flux. Une règle de routage associe ainsi 25 un port de sortie d'un noeud de routage à un port d'entrée de ce même noeud de routage, pour un type de flux de données, afin de router ce flux de données au sein de ce noeud de routage. OpenFlow est un protocole permettant de programmer les tables de flux ainsi mémorisées dans les différents noeuds de routage. Il est alors 30 possible de contrôler les différents flux transitant dans le plan de transport, en choisissant les chemins empruntés par les paquets dans ce plan de transport et déterminant des règles de routage reflétant ces chemins dans les tables de flux des noeuds de routage. En d'autres termes, le protocole OpenFlow permet de créer différents réseaux virtuels par la programmation, via le contrôleur de réseau 205, de tables de flux mémorisées dans les noeuds de routage. Le procédé selon l'invention introduit un mécanisme permettant de limiter les risques de congestion au niveau des noeuds de routage du réseau. Pour cela, les ports de sortie d'un ou plusieurs noeuds de routage sont surveillés. Lorsqu'il est estimé que les risques de congestion pour l'un de ces ports de sortie sont significatifs, les règles de routage concernant ce port de sortie peuvent être modifiées de manière à éviter la perte de paquets. La figure 3 donne un exemple de mise en oeuvre d'un procédé de contrôle de congestion dans un réseau de télécommunications où un noeud 15 de routage 300 et un contrôleur 301 sont représentés séparément. Lorsqu'un flux de données arrive (étape 310) au niveau de l'un des ports d'entrée du noeud de routage 300, la table de flux de ce noeud 300 est consultée (étape 311) afin de déterminer s'il existe, pour ce flux, une règle de routage entre le port d'entrée recevant le flux et un des ports de sortie du 20 noeud 300. Si les paquets du flux appartiennent à un nouveau flux de données, ce qui est l'exemple illustré sur la figure 3, il est possible que la table de flux ne possède pas les informations de routage nécessaires, i.e. qu'il n'y ait pas de règle de routage associant un port de sortie au port d'entrée où arrivent les 25 paquets de ce nouveau flux. Un message est alors envoyé (étape 312) au contrôleur 301, indiquant le fait qu'un nouveau flux doit être routé par le noeud 300 ainsi que des informations relatives à la qualité de service requise. Afin de déterminer la règle de routage à appliquer pour ce nouveau flux de données, le contrôleur peut tenir compte de la qualité de service 30 requise pour la transmission du flux, c'est-à-dire à des paramètres comme la tolérance en termes de pertes de paquets, le délai maximum entre l'émission 3003 109 10 et la réception d'un paquet, ainsi que d'autres paramètres bien connus de l'homme du métier. La qualité de service peut être prise en compte grâce à la notion de type de service en analysant les entêtes des paquets du flux. A titre d'exemple, le champ ToS, acronyme venant de l'expression anglo- 5 saxonne « Type of Service » inclus dans l'entête IP des paquets peut être utilisé pour cela et transmis dans le message 312. Sur la base de ces informations, le contrôleur 301 détermine (étape 313) au moins une règle de routage, c'est-à-dire une correspondance entre un port d'entrée et un port de sortie du noeud de routage 300, pour ce flux. A 10 cette fin, le contrôleur 301 analyse les besoins du flux de données et vérifie la disponibilité des ressources de transmission dont il a la responsabilité. Différentes méthodes connues de l'état de la technique peuvent être utilisées pour cela. Une fois la règle de routage déterminée, elle est transmise (étape 314) dans un message destiné au noeud de routage 300, lequel stocke cette règle de routage dans sa table de flux. Si d'autres noeuds de routage doivent également être configurés, d'autres messages leurs sont aussi envoyés de manière à déterminer, pour le nouveau flux, un chemin de routage de données dans le réseau de télécommunications. D'autres informations peuvent être envoyées dans ces messages comme par exemple la bande passante requise. Ainsi, un chemin de routage dans le réseau de télécommunications peut être déterminé pour un flux donné, les paquets dudit flux passant au travers de différents noeuds de routage dont les tables de flux ont été mises à jour par le contrôleur 301. Une fois le ou les noeuds de routage configurés par le contrôleur 301, les paquets du flux peuvent alors être transmis à travers le réseau de télécommunications, via un chemin de routage transitant par certains noeuds de routage de ce réseau. Une fois les règles de routage mémorisées dans les différents noeuds 30 de routage par lesquels doit transiter le flux de données, le procédé de contrôle de congestion (phase 320) selon l'invention peut être mis en oeuvre à l'aide d'un ensemble de messages et d'opérations. Pour ce faire, le contrôleur 301 est chargé de mettre à jour les tables de flux d'une pluralité de noeuds de routage. En d'autres termes, il configure 5 plusieurs noeuds de routage pour leur indiquer la manière dont ils doivent router les paquets des différents flux qu'ils reçoivent, notamment lorsqu'un risque de congestion est détecté. Il est ainsi souhaitable que ce contrôleur 301 possède une vision globale des risques de congestion des ports des noeuds du routage du réseau, qu'il soit implémenté dans un équipement 10 distant des noeuds de routage dont il est responsable ou bien dans l'un d'entre eux. Pour cela, le contrôleur mémorise un ensemble d'informations représentatives du risque de congestion pour ces noeuds et les maintient à jour. Les noeuds de routage comprennent des moyens d'analyse de l'état 15 de leurs ports d'entrée et de sortie. Ainsi, une analyse de l'état des ports de sortie et/ou des ports d'entrée empruntés par les paquets de données du flux peut-être mise en oeuvre (étape 321) par le noeud de routage 300. Cette analyse permet de déterminer, pour un port p de sortie donné du noeud 300, une valeur Vp représentative de la quantité de données transitant par ce port 20 p de sortie. Une telle analyse peut être reproduite pour un ensemble de ports des noeuds de routage du réseau, voire pour l'intégralité des ports des noeuds de routage du réseau. Pour un port de sortie p donné, cette valeur Vp peut par exemple être déterminée périodiquement. L'analyse peut consister en une mesure ou une 25 estimation du débit moyen transitant par ce port p pendant un certain temps T défini. Alternativement, cette analyse peut consister en une mesure ou une estimation de l'occupation d'une mémoire tampon associée au port p, c'est-à-dire de la quantité de données présente dans la mémoire tampon associée à ce port p. Cette analyse peut également consister en une combinaison de 30 ces deux techniques. Dans un autre exemple de mise en oeuvre, la valeur Vp peut être une mesure moyenne du temps écoulé entre la réception et l'émission d'un paquet par le port p. Pour un port p donné, la valeur Vp obtenue par analyse sert à estimer le risque de congestion de ce port p, lequel peut être représenté au moyen 5 d'un paramètre IRCp, appelé « indicateur de risque de congestion », associé au port p et déterminé en fonction de la valeur Vp. Pour déterminer ce paramètre IRCp, la valeur Vp peut être comparée à au moins une valeur de seuil S. Cette comparaison permet d'estimer si les risques de congestion de ce port p sont importants. À titre d'exemple, si la 10 valeur Vp dépasse une valeur du seuil S choisie, les risques de congestion sont considérés comme étant élevés, ce qui peut être représenté avec un indicateur de risque de congestion IRCp présentant une première valeur particulière. Au contraire, si la valeur Vp reste inférieure ou égal à la valeur du seuil Vp, les risques de congestion sont considérés faibles, ce qui peut 15 être représenté avec un indicateur de risque de congestion IRCp présentant une deuxième valeur particulière, distincte de la première valeur. Le ou les seuils utilisés peuvent être déterminés par l'opérateur de réseau de télécommunications en fonction de ses besoins. En particulier, en utilisant conjointement plusieurs valeurs de seuil différentes les unes des autres pour 20 l'analyse d'un port, il est alors possible de déterminer différents niveaux de risques pour ce même port. Une fois déterminé l'indicateur de risque de congestion IRCp pour un certain nombre de ports de sortie, le noeud de routage 300 envoie un message (étape 322) comprenant ce(s) indicateur(s) au contrôleur 301, afin 25 de lui indiquer quels sont les risques de congestion pour ces différents ports. Ce message peut être transmis périodiquement ou envoyé sur occurrence d'un évènement. Lorsque le contrôleur 301 reçoit un indicateur de risque de congestion IRCp, il le mémorise dans une table de contrôle dans laquelle sont 30 mémorisés les indicateurs de risque de congestion des différents ports analysés, pour les noeuds de routage contrôlés par ce contrôleur. Cette table 3003 109 13 peut être mise à jour périodiquement, par exemple à l'aide de messages transmis au contrôleur par les noeuds de routage. Le contrôleur a donc une vision globale de l'état du réseau lui permettant de réagir avant qu'un noeud soit congestionné. Dans l'exemple illustré sur la figure 3, l'indicateur de risque de congestion IRCp est déterminé par le noeud de routage 300 lui-même, à partir de la valeur Vp représentative de la quantité de données transitant par le port p, avant d'être transmis au contrôleur de réseau 301. Alternativement, cette valeur Vp peut être transmise au contrôleur de réseau 301 afin que ce dernier détermine l'indicateur de risque de congestion IRCp. Sur la base des indicateurs de risque de congestion dont il dispose, le contrôleur 301 peut alors détecter (étape 323) s'il existe un risque de congestion d'un ou plusieurs ports situés sur le chemin de routage d'un flux de données transitant par les noeuds de routage, en utilisant les indicateurs de risque de congestion IRCp de ces ports transmis par les noeuds de routage auxquels appartiennent ces ports. Ainsi, dans un cas où des indicateurs de risque de congestion IRCp selon quatre niveaux croissants sont utilisés, un risque de congestion d'un port peut être détecté si un indicateur IRCp de quatrième niveau est déterminé pour ce port. Si tel est le cas, c'est-à-dire lorsqu'au moins un port de sortie p présentant un risque élevé de congestion est utilisé par le chemin initial de routage emprunté par le flux de données, ce chemin initial de routage peut être modifié (étape 324) par le contrôleur réseau 301 en un nouveau chemin de routage, de sorte à éviter ce port de sortie p présentant un risque élevé de congestion. Ceci est réalisé, au niveau du noeud 300 comprenant un tel port de sortie p, en modifiant (étape 326) la table de flux mémorisée dans ce noeud 300 de sorte à associer au port d'entrée par lequel transite le chemin initial de routage un port de sortie différent du port de sortie p pour lequel un risque de congestion est détecté. Dans un cas de figure, cette modification du chemin de routage peut se faire de manière décentralisée, au niveau de chaque noeud comprenant 3003 109 14 un port présentant un risque de congestion : ainsi, lorsque le contrôleur de réseau 301 estime qu'un premier port de sortie p, préalablement utilisé par le flux, n'est plus capable de transporter le flux en concours suite à l'analyse de l'indicateur de risque de congestion concernant ce premier port de sortie, le 5 contrôleur 301 envoie (étape 325) au noeud 300 dans lequel se situe ce premier port de sortie un message lui demandant de modifier sa table de flux pour que ce flux soit routé vers un deuxième port de sortie. Ce message peut prendre la forme d'une requête de modification de la règle de routage impliquant le premier port de sortie p présentant un risque de congestion, 10 dans la table de flux associée au noeud de routage, afin de basculer le flux vers le deuxième port de sortie. Ce deuxième port de sortie peut être un port de sortie associé à un indicateur de risque de congestion IRCp de niveau inférieur à l'indicateur de risque de congestion IRCp associé au premier port de sortie, un port de 15 sortie désigné préalablement comme étant un port de secours, par lequel ne transite aucun flux de données, un port d'entrée du noeud de routage, voire le port d'entrée par lequel transite le chemin de routage du flux. Dans un autre cas de figure, cette modification du chemin de routage peut se faire d'une manière plus globale, en calculant (étape 324), au niveau 20 du contrôleur 301, un nouveau chemin de routage, remplaçant le chemin initial de routage alloué au flux de données cheminant par le(s) noeud(s) de routage comprenant un port p présentant un risque de congestion. Ce nouveau chemin de routage est déterminé de manière à ce que le ou les ports des noeuds de routage du réseau présentant un risque de 25 congestion élevé soient évités. Afin de déterminer ce chemin de routage de remplacement, des algorithmes bien connus de l'homme du métier peuvent être utilisés. Pour chaque noeud de routage comprenant un port p présentant un risque de congestion, une nouvelle règle de routage est alors définie par le 30 contrôleur de réseau 301 en fonction du nouveau chemin de routage, afin de refléter le changement de port de sortie associé au port d'entrée initialement associé au port p. Cette nouvelle règle de routage est ensuite transmise (étape 325) au noeud de routage en question où elle et stockée dans la table de flux mémorisée dans ce noeud. Ce basculement a pour effet de réduire les risques de congestion. En outre, ce procédé permet d'optimiser l'utilisation des ressources physiques disponibles dans le réseau de télécommunications. Ainsi, si la capacité de transmission de certains noeuds de routage est surexploitée, une partie des flux qu'ils gèrent est transmise vers des noeuds de routage moins sollicités. La figure 4 illustre de manière simplifiée une succession d'étapes permettant de déterminer un indicateur de risque de congestion, pour un port p donné d'un noeud de routage. Comme indiqué précédemment, dans un tel noeud de routage, des flux de données arrivent au niveau d'un ou plusieurs ports d'entrées et sont routés vers un ou plusieurs ports de sortie. La correspondance entre un port d'entrée et un port de sortie pour un flux donné est effectuée par le noeud de routage grâce à une règle de routage stockée dans la table de flux mémorisée par ce noeud. Pour un port p donné appartenant à un noeud de routage donné, un indicateur de risque de congestion IRCp peut être déterminé comme décrit ci-après : - Lors d'une première étape 400, une valeur Vp représentative de la quantité de données transitant par le port p analysé est estimée, de la façon indiquée précédemment. - Lors d'une deuxième étape 401, cette valeur Vp est comparée à au 25 moins une valeur de seuil S prédéterminée. A titre d'exemple, lorsque la valeur Vp correspond au débit de données moyen transitant par ce port p, la valeur de seuil S peut correspondre à une portion de la capacité maximale de transmission du port. Ainsi, si le port p a une capacité maximale de transmission de dix gigaoctets 30 par seconde (Go/s), la valeur de S peut être fixée à quatre-vingt dix pou rcents de cette valeur, soit à neuf Go/s. Dans un mode de réalisation alternatif où la valeur Vp correspond à la quantité de données présente dans la mémoire tampon associée au port p analysé, la valeur de seuil S peut correspondre à une portion de la capacité mémoire maximale de cette mémoire. Ainsi, si le port p analysé est associé à 5 une mémoire tampon de cinq giga-octets, la valeur de S peut être fixée à quatre-vingt dix pourcents de cette valeur, soit à quatre giga-octets et demi. Alternativement, plusieurs valeurs de seuil peuvent être utilisées pour chaque port. Il est ainsi possible de déterminer la valeur que prend l'indicateur IRCp par rapport à ces différentes valeurs de seuil. 10 Un indicateur de risque de congestion IRCp est ensuite déterminé (étape 402), pour le port p, en fonction du résultat de la comparaison avec la ou les valeurs de seuil associée(s) au port p. À titre d'exemple, si trois valeurs de seuil distinctes Si L'indicateur de risque de congestion IRCp ainsi déterminé peut ensuite être transmis au contrôleur 301, afin que ce dernier puisse détecter un risque de congestion sur le port p analysé. Selon un aspect de l'invention, le contrôleur peut envoyer aux noeuds de routage concernés une requête visant à modifier la ou les valeurs de seuil. La possibilité d'ajuster la ou les valeurs de seuil S associées aux ports d'entrée et de sortie d'un noeud de routage permet à un opérateur d'optimiser dynamiquement le fonctionnement de son réseau de télécommunication. Bien entendu, la présente invention n'est pas limitée aux exemples de 10 réalisation ci-dessus décrits et représentés, à partir desquels on pourra prévoir d'autres modes et d'autres formes de réalisation, sans pour autant sortir du cadre de l'invention. Par ailleurs, la présente invention a été décrite relativement au contexte des réseaux virtuels, auquel elle apporte un gain significatif en 15 termes de gestion de congestion, sans se limiter à ce seul contexte particulier. Elle peut ainsi s'appliquer à la gestion de la congestion de ports de noeuds de routage de tout type de réseaux physiques de télécommunications. REVENDICATIONS1. Procédé de contrôle de congestion dans un réseau de télécommunications comprenant un contrôleur de réseau (301) et au moins un noeud de routage (300) dans lequel est mémorisée une table de flux, dans laquelle est stockée une règle de routage de flux de données associant un premier port de sortie du noeud à un port d'entrée du noeud, le procédé comprenant les étapes suivantes : déterminer (321,402) un indicateur de risque de congestion (IRCp) pour ledit premier port de sortie, en fonction d'une valeur (Vp) représentative de la quantité de données transitant par ledit premier port de sortie ; détecter (323) un risque de congestion du premier port de sortie par le contrôleur de réseau, au moyen de l'indicateur de risque de congestion associé audit premier port de sortie ; et modifier (326) la table de flux mémorisée dans le noeud de routage de sorte à associer audit port d'entrée un deuxième port de sortie, distinct du premier port de sortie pour lequel un risque de congestion est détecté. 2- Procédé selon la revendication 1, comprenant en outre, pour chaque noeud de routage comprenant un premier port de sortie pour lequel un risque de congestion est détecté par le contrôleur réseau, les étapes suivantes mises en oeuvre par le contrôleur de réseau : définir une nouvelle règle de routage associant, au port d'entrée associé au premier port de sortie pour lequel un risque de congestion est détecté, un deuxième port de sortie dudit noeud de routage ; et envoyer (325), vers ledit noeud de routage, la nouvelle règle de routage destinée à être stockée dans la table de flux mémorisée dans le noeud de routage. 3- Procédé selon la revendication 2, comprenant en outre le calcul (324), par le contrôleur de réseau, d'un nouveau chemin de routage du flux de données dans lequel chaque premier port de sortie d'un noeud de routage, pour lequel un risque de congestion est détecté, est remplacé par un deuxième port de sortie dudit noeud de routage. 4- Procédé selon l'une des revendications 1 à 3, dans lequel le deuxième port de sortie est un port du noeud de routage parmi les ports suivants : - un port de sortie associé à un indicateur de risque de congestion de niveau inférieur à l'indicateur de risque de congestion associé au premier port de sortie ; - un port de sortie, dit de secours, par lequel ne transite aucun flux de données ; ou - le port d'entrée associé au premier port de sortie. 5- Procédé selon l'une des revendications précédentes, comprenant en outre la détermination (321), par le noeud de routage auquel appartient ledit premier port de sortie, de la valeur (Vp) représentative de la quantité de données transitant par ledit premier port de sortie, l'indicateur de risque de congestion (IRCp) du premier port de sortie étant déterminé en comparant (401) la valeur (Vp) à au moins une valeur de seuil (S). 6- Procédé selon la revendication 5, dans lequel l'indicateur de risque de congestion (IRCp) du premier port de sortie est déterminé par le noeud de routage auquel appartient le port de sortie avant d'être transmis (322) au contrôleur de réseau (301).30 7- Procédé selon la revendication 5, dans lequel la valeur (Vp) représentative de la quantité de données transitant par le premier port de sortie est transmise (322) au contrôleur de réseau par le noeud de routage auquel appartient ledit premier port de sortie, l'indicateur de risque de congestion (IRCp) du port de sortie étant déterminé par le contrôleur de réseau. 8- Procédé selon l'une des revendications 5 à 7, dans lequel : la valeur (Vp) représentative de la quantité de données transitant par le premier port de sortie est une estimation du débit de données moyen transitant par ledit premier port de sortie ; et ladite au moins une valeur de seuil (S) correspond à une valeur de débit inférieure au débit maximal de transfert d'information par ledit premier port de sortie. 9- Procédé selon l'une des revendications 5 à 7, dans lequel : la valeur (Vp) représentative de la quantité de données transitant par le premier port de sortie est une estimation de l'occupation d'une mémoire tampon associée audit premier port de sortie ; et ladite au moins une valeur de seuil (S) correspond à une quantité de donnée inférieure à la quantité de données maximale pouvant être stockée dans la mémoire tampon. 10- Procédé selon l'une des revendications 5 à 7, dans lequel : la valeur (Vp) représentative de la quantité de données transitant par le premier port de sortie est une mesure moyenne du temps écoulé entre la réception et l'émission d'un paquet par ledit premier port de sortie ; et ladite au moins une valeur de seuil (S) correspond à une durée déterminée. 3003 109 21 11- Procédé selon l'une des revendication 5 à 10, dans lequel une pluralité de valeurs de seuil, distinctes les unes des autres, sont associées audit premier port de sortie, la valeur (Vp) représentative de 5 la quantité de données transitant par le premier port de sortie étant comparée auxdites valeurs de seuil de manière à déterminer un indicateur de risque de congestion (IRCp) à plusieurs niveaux. 12- Contrôleur de réseau (301) comprenant un module de traitement 10 configuré pour détecter (323) un risque de congestion d'un premier port de sortie d'un noeud de routage au moyen d'un indicateur de risque de congestion (IRCp) associé audit premier port de sortie, en mettant en oeuvre le procédé selon l'une des revendications 1 à 11. 15 13- Noeud de routage (300) comprenant un module de mémorisation apte à mémoriser une table de flux, dans laquelle est stockée une règle de routage de flux de données associant un premier port de sortie du noeud à un port d'entrée du noeud, et un module de traitement de données configuré pour modifier ladite table de flux en mettant en 20 oeuvre le procédé selon l'une des revendications 1 à 11. 14- Réseau de télécommunications comprenant un contrôleur de réseau (301) selon la revendication 12 et au moins un noeud de routage (300) selon la revendication 13. 25 15- Programme d'ordinateur comportant des instructions pour l'exécution du procédé de contrôle de congestion selon l'une quelconque des revendications 1 à 11, lorsque le programme est exécuté par un module de traitement de données. 30