FR3003109A1 - METHOD OF CONGESTION CONTROL FOR TELECOMMUNICATIONS NETWORKS - Google Patents

METHOD OF CONGESTION CONTROL FOR TELECOMMUNICATIONS NETWORKS Download PDF

Info

Publication number
FR3003109A1
FR3003109A1 FR1352009A FR1352009A FR3003109A1 FR 3003109 A1 FR3003109 A1 FR 3003109A1 FR 1352009 A FR1352009 A FR 1352009A FR 1352009 A FR1352009 A FR 1352009A FR 3003109 A1 FR3003109 A1 FR 3003109A1
Authority
FR
France
Prior art keywords
output port
port
congestion
routing
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR1352009A
Other languages
French (fr)
Inventor
Qing Shen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Priority to FR1352009A priority Critical patent/FR3003109A1/en
Priority to PCT/FR2014/050492 priority patent/WO2014135794A1/en
Publication of FR3003109A1 publication Critical patent/FR3003109A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing

Abstract

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 (301) et au moins un nœud 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 à un port d'entrée, le procédé comprenant les étapes suivantes : déterminer (321) un indicateur de risque de congestion (IRCp) pour ledit premier port, en fonction d'une valeur (Vp) représentative de la quantité de données transitant par ledit premier port ; détecter (323) un risque de congestion du premier port par le contrôleur, au moyen de l'indicateur associé audit premier port ; et modifier (326) la table de flux 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é.The subject of the invention is a congestion control method in a telecommunications network comprising a network controller (301) and at least one routing node (300) in which a flow table is stored in which a rule is stored. method of routing a data stream associating a first output port with an input port, the method comprising the steps of: determining (321) a congestion risk indicator (CRII) for said first port, based on a value (Vp) representative of the amount of data passing through said first port; detect (323) a risk of congestion of the first port by the controller, by means of the indicator associated with said first port; and modifying (326) the flow table so as to associate with said input port a second output port, distinct from the first output port for which a risk of congestion is detected.

Description

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.The invention relates to a congestion control method for telecommunication networks and applies in particular to the field of virtual networks. The set of techniques enabling the use and implementation of virtual networks is usually referred to using the term "network virtualization". Although this expression includes the neologism "virtualization" derived from the English word "virtualization", it is used in the description because it is commonly used by those skilled in the art. The goal of network virtualization is to share the same telecommunication network infrastructure or different telecommunication network infrastructures. For this, virtual networks isolated from each other are created. The resources to be shared between the different virtual networks can be computing resources, memory and / or bandwidth. If the telecommunication network is used to convey data associated with different services, the virtualization of the networks makes it possible to distribute them on several independent virtual networks. VPNs, acronym derived from the term "Virtual Private Network", VLANs, an acronym derived from the term "Virtual Local Area Network", and VC networks including virtual circuits are known examples implementing the network virtualization technique. Cloud computing, commonly referred to as "Cloud Computing", is one of the areas for which virtualization techniques are used. Indeed, the sharing of resources 30 is in this case particularly important so that operators can achieve savings and size their networks as best as possible. As such, network virtualization is one of the tools to make the use of cloud computing realistic, both from a technical and a financial point of view. This technique is particularly useful at the level of the laaS layer, an acronym derived from the English expression "Infrastructure as a Service". In practice, it appears that the use of virtual networks is not always optimal. A virtual network relies notably on the use of routing nodes. A routing node uses a flow table to direct data streams arriving at its input ports to its output ports. When there are too many data packets present on one of the output ports of a given routing node, there is congestion and performance degrades. Indeed, the transport capacity of the virtual network is exceeded and it is no longer possible to deliver to its recipient all the packets of the stream. Packets that a switch can not transmit are lost. One of the consequences is that the quality of service (QoS) of the services carried by the congested flows deteriorates with the result of dissatisfaction of the users. An object of the invention is in particular to overcome the aforementioned drawbacks. For this purpose, the subject of the invention is a congestion control method in a telecommunications network comprising a network controller and at least one routing node in which a flow table is stored, in which a routing rule is stored. data stream 25 associating a first output port of the node with an input port of the node. The method includes the steps of: determining an IRCp congestion risk flag for said first output port, based on a value Vp representative of the amount of data passing through said first output port; detect a risk of congestion of the first output port by the network controller, by means of the congestion risk indicator associated with said first output port; and modifying the flow table stored in the routing node so as to associate with said input port a second output port, distinct from the first output port for which a risk of congestion is detected. This method has the particular advantage of limiting the risk of congestion at the routing nodes of the network. It is then possible to avoid the loss of packets when transmitting data streams in a telecommunications network. According to one aspect of the invention, for each routing node comprising a first output port for which a congestion risk is detected by the network controller, the following steps can be implemented by the network controller: definition of a new routing rule associating, at the input port associated with the first output port for which a risk of congestion is detected, a second output port of said routing node; and sending, to said routing node, the new routing rule to be stored in the stream table stored in the routing node. Advantageously, the new routing rule thus determined makes it possible to rapidly modify the routing of a data stream as soon as the flow table is updated. In one embodiment, the method further comprises calculating, by the network controller, a new routing path of the data stream in which each first output port of a routing node, for which a risk of congestion is detected, is replaced by a second output port of said routing node.

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.It is thus possible to reconfigure globally the routing nodes of a telecommunications network to implement this new routing path by taking into account the availability of transmission resources on the entire network.

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.According to one aspect of the invention, the second output port can be chosen as a port of the routing node among the following ports: an output port associated with a level of congestion risk indicator lower than the indicator of risk of congestion associated with the first port of exit; an emergency output port, through which no data stream passes; or - the input port associated with the first output port. The method may also comprise a step of determining, by the routing node to which said first output port belongs, the value Vp representative of the quantity of data passing through said first output port, the IRCp congestion risk indicator. the first output port being determined by comparing the value Vp with at least one threshold value S. A mechanism for determining the value Vp by the routing node 20 has the advantage of being able to be implemented very simply. Indeed, it is easy to implement a mechanism within a routing node so that it can perform measurements on its own output ports. In one embodiment, the IRCp congestion risk flag of the first output port is determined by the routing node to which the output port belongs before being transmitted to the network controller. Advantageously, the determination of this indicator is facilitated because the value Vp is determined by the routing node and is therefore accessible locally for that. Alternatively, the value Vp representative of the quantity of data passing through the first output port is for example transmitted to the network controller by the routing node to which said first output port belongs, the indicator of risk of congestion IRCp of the port output being determined by the network controller. In this embodiment, the network controller may determine the IRCp flag for all the output ports belonging to the routing nodes for which it is responsible. Advantageously, the manner of determining the IRCp indicator for the different monitored output ports can be parameterized centrally directly with the network controller. Thus, the maintenance operations are facilitated. In one embodiment, the value Vp representative of the amount of data passing through the first output port is an estimate of the average data rate passing through said first output port and said at least one threshold value S is a value. flow rate lower than the maximum information transfer rate by said first output port. In another embodiment, the value Vp representative of the quantity of data passing through the first output port is an estimate of the occupancy of a buffer memory associated with said first output port and said at least one threshold value S is less than the maximum amount of data that can be stored in the buffer.

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.In another embodiment, the value Vp representative of the amount of data passing through the first output port is an average measure of the time elapsed between receipt and transmission of a packet by said first output port and said minus a threshold value S corresponds to a determined duration.

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.In another embodiment, a plurality of threshold values, distinct from each other, are associated with said first output port, the value Vp representative of the amount of data passing through the first output port being compared with said threshold values. in order to determine a multi-level cPIC congestion risk indicator.

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.Advantageously, this multi-level congestion risk indicator makes it possible to implement precise management of congestion risks in the telecommunications network. For example, updating the flow tables to switch a data stream from a first output port to a second output port can be triggered as a priority for data flows passing through one or more ports. for which an IRCp indicator has a high level, the output ports having a lower level indicator IRCp being processed in a second time. The subject of the invention is also a network controller comprising a processing module configured to detect a risk of congestion of a first output port of a routing node by means of an IRCp congestion risk indicator associated with said first port. output port, by implementing the method described above. The invention also relates to a routing node comprising a storage module capable of storing a flow table, in which is stored a data flow routing rule associating a first output port of the node to an input port node, and a data processing module configured to modify said flow table by implementing the method described above. The invention also relates to a telecommunications network 20 comprising a network controller as described above and at least one routing node as described above. The invention also relates to a computer program comprising instructions for executing the congestion control method described above, when the program is executed by a data processing module. Other features and advantages of the program The invention will become apparent from the following description given by way of nonlimiting illustration, with reference to the appended drawings in which: FIGS. 1a-1c illustrate the principle of network virtualization; - Figure 2 gives an example of network architecture and introduces how the OpenFlow standard protocol can be used; FIG. 3 gives an example of implementation of a congestion control method in a telecommunications network; and FIG. 4 illustrates a way of determining a congestion control flag. Figures la to lc illustrate the principle of network virtualization. In this example, a telecommunication network comprises an infrastructure composed of six routing nodes 101 to 106. Each of these routing nodes can directly exchange (physical links 107 to 115) digital data with three other routing nodes of the network through the implementation of appropriate protocols and physical resources. Thus, the routing node 101 can exchange directly (links 107, 108 and 113) digital data with three routing nodes 102, 104 and 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é.Based on this infrastructure, multiple virtual networks can be created. For example, and as illustrated in FIG. 1b, a first virtual network thus created 116 is composed of five routing nodes 101, 102, 104, 105, 106 selected from among the six routing nodes of the telecommunication network infrastructure. Virtual links 117 to 122 are configured to allow the selected routing nodes to exchange data with each other. Figure 1c gives an example of a second virtual network 123 based on the network infrastructure shown in Figure 1a. To dial it, five routing nodes 101 to 105 and six virtual links 124 to 129 are configured. Some routing nodes and some physical links are thus used simultaneously by the two virtual networks 116 and 123. It is therefore necessary to share between these virtual networks the resources of the routing nodes, and in particular the input and output ports. out of these nodes, which can lead to congestion of these ports. Figure 2 gives an example of a network architecture and introduces how the OpenFlow (registered trademark) standard protocol can be used. The architecture thus presented comprises five routing nodes 200 to 204 providing the transport plane. It also comprises a network controller 205 implementing the control plan. A routing node 10 performs data flow routing functions according to a routing path, within the transport plane. A network controller has the function of configuring the routing nodes of the network, for example by allocating physical resources to a given stream. The routing nodes and the controllers may correspond to separate devices from each other. Alternatively, the invention also applies to an infrastructure comprising at least one equipment acting as both a routing node and controller. For the purpose of simplifying the presentation, the principle of the invention is described below assuming that the routing nodes and the controllers are implemented in separate devices. A flow table is stored in each routing node 200 to 204. This flow table contains a set of fields for identifying the data streams received and routing them according to routing rules stored in this flow table. A routing rule thus associates an output port of a routing node with an input port of the same routing node, for a type of data stream, in order to route this data stream within that node. Routing. OpenFlow is a protocol for programming the flow tables stored in the different routing nodes. It is then possible to control the different flows transiting in the transport plane, by choosing the paths taken by the packets in this transport plane and determining routing rules reflecting these paths in the flow tables of the routing nodes. In other words, the OpenFlow protocol makes it possible to create different virtual networks by programming, via the network controller 205, flow tables stored in the routing nodes. The method according to the invention introduces a mechanism making it possible to limit the risks of congestion at the level of the routing nodes of the network. For this, the output ports of one or more routing nodes are monitored. When it is estimated that the congestion risks for one of these output ports are significant, the routing rules for that output port can be modified to avoid packet loss. FIG. 3 gives an example of implementation of a congestion control method in a telecommunications network where a routing node 300 and a controller 301 are shown separately. When a data stream arrives (step 310) at one of the input ports of the routing node 300, the flow table of this node 300 is consulted (step 311) to determine if it exists, for this flow, a routing rule between the input port receiving the stream and one of the output ports of the node 300. If the packets of the stream belong to a new data stream, which is the example shown in FIG. Figure 3, it is possible that the flow table does not have the necessary routing information, ie that there is no routing rule associating an output port with the input port where the packets of this input arrive. new stream. A message is then sent (step 312) to the controller 301, indicating that a new stream must be routed by the node 300 as well as information relating to the required quality of service. In order to determine the routing rule to be applied for this new data stream, the controller can take into account the quality of service required for the transmission of the stream, i.e., parameters such as the tolerance in terms of packet loss, the maximum delay between the transmission 3003 109 10 and the receipt of a packet, as well as other parameters well known to those skilled in the art. The quality of service can be taken into account thanks to the notion of type of service by analyzing the headers of the packets of the stream. For example, the ToS field, an acronym derived from the Anglo-Saxon term "Type of Service" included in the IP header of the packets can be used for this purpose and transmitted in the message 312. On the basis of these information, the controller 301 determines (step 313) at least one routing rule, that is to say a correspondence between an input port and an output port of the routing node 300, for this flow. For this purpose, the controller 301 analyzes the data flow requirements and verifies the availability of the transmission resources for which it is responsible. Various methods known from the state of the art can be used for this. Once the routing rule is determined, it is transmitted (step 314) in a message to the routing node 300, which stores this routing rule in its flow table. If other routing nodes also need to be configured, other messages are also sent to them in order to determine, for the new stream, a data routing path in the telecommunications network. Other information can be sent in these messages such as the required bandwidth. Thus, a routing path in the telecommunications network can be determined for a given stream, the packets of said stream passing through different routing nodes whose flow tables have been updated by the controller 301. Once the the routing nodes configured by the controller 301, the packets of the stream can then be transmitted through the telecommunications network, via a routing path passing through certain routing nodes of this network. Once the routing rules have been stored in the different routing nodes through which the data stream must pass, the congestion control method (phase 320) according to the invention can be implemented using a set of rules. messages and operations. To do this, the controller 301 is responsible for updating the flow tables of a plurality of routing nodes. In other words, it configures several routing nodes to indicate to them how they must route the packets of the different streams they receive, especially when a risk of congestion is detected. It is thus desirable for this controller 301 to have a global view of the risks of congestion of the ports of the network routing nodes, whether it is implemented in a device 10 remote from the routing nodes for which it is responsible, or in one of the 'between them. For this, the controller stores a set of information representative of the congestion risk for these nodes and keeps them up to date. The routing nodes include means for analyzing the state of their input and output ports. Thus, an analysis of the state of the output ports and / or the input ports borrowed by the data packets of the stream can be implemented (step 321) by the routing node 300. This analysis makes it possible to determine for a given output port p of node 300, a value Vp representative of the amount of data passing through this output port p. Such an analysis can be reproduced for a set of ports of the network's routing nodes, or for all the ports of the routing nodes of the network. For a given output port p, this value Vp may for example be determined periodically. The analysis may consist of a measurement or an estimate of the average rate passing through this port p for a certain time T defined. Alternatively, this analysis may consist of a measurement or an estimate of the occupancy of a buffer associated with the port p, that is to say the amount of data present in the buffer associated with this port p. This analysis can also consist of a combination of these two techniques. In another exemplary embodiment, the value Vp may be an average measure of the time elapsed between the reception and the transmission of a packet by the port p. For a given port p, the value Vp obtained by analysis serves to estimate the risk of congestion of this port p, which can be represented by means of an IRCp parameter, called a "congestion risk indicator", associated with the port p. and determined according to the value Vp. To determine this parameter IRCp, the value Vp can be compared with at least one threshold value S. This comparison makes it possible to estimate whether the risks of congestion of this port p are important. For example, if the value Vp exceeds a value of the chosen threshold S, the risks of congestion are considered to be high, which can be represented with a risk indicator of cpn congestion with a particular first value. On the contrary, if the value Vp remains lower than or equal to the value of the threshold Vp, the congestion risks are considered low, which can be represented with a risk indicator of congestion IRCp having a second particular value, distinct from the first one. value. The threshold or thresholds used can be determined by the telecommunications network operator according to his needs. In particular, by jointly using several threshold values different from one another for the analysis of a port, it is then possible to determine different levels of risk for the same port. Once the IRCp congestion risk flag has been determined for a number of output ports, the routing node 300 sends a message (step 322) including that indicator (s) to the controller 301, to indicate to it what are the risks of congestion for these different ports? This message can be sent periodically or sent on occurrence of an event. When the controller 301 receives an IRCp congestion risk indicator, it stores it in a control table in which the congestion risk indicators of the various analyzed ports are stored for the routing nodes controlled by this controller. This table 3003 can be periodically updated, for example by means of messages transmitted to the controller by the routing nodes. The controller therefore has a global view of the state of the network to react before a node is congested.

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.In the example illustrated in FIG. 3, the congestion risk indicator IRCp is determined by the routing node 300 itself, starting from the value Vp representative of the quantity of data passing through the port p, before It can be transmitted to the network controller 301. Alternatively, this value Vp can be transmitted to the network controller 301 so that the latter determines the IRCp congestion risk indicator. On the basis of the congestion risk indicators available to it, the controller 301 can then detect (step 323) whether there is a risk of congestion of one or more ports located on the routing path of a transiting data stream. by the routing nodes, using the IRCp congestion risk indicators of these ports transmitted by the routing nodes to which these ports belong. Thus, in a case where four increasing levels of IRCp congestion risk indicators are used, a risk of port congestion can be detected if a fourth level IRCp flag is determined for that 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é.If this is the case, that is, when at least one p-port with a high risk of congestion is used by the initial routing path taken by the data stream, this initial routing path may be modified (step 324) by the network controller 301 to a new routing path, so as to avoid this output port p presenting a high risk of congestion. This is done at the node 300 comprising such an output port p, by modifying (step 326) the flow table stored in this node 300 so as to associate with the input port through which the initial routing path transits output port different from the output port p for which a congestion risk is detected.

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.In one case, this modification of the routing path can be done in a decentralized manner, at each node comprising a port presenting a risk of congestion: thus, when the network controller 301 estimates that a first port p-output, previously used by the stream, is no longer able to transport the flow in competition following the analysis of the congestion risk indicator for this first output port, the controller 301 sends (step 325) at the node 300 in which this first output port is located a message asking it to modify its flow table so that this flow is routed to a second output port. This message may take the form of a routing rule modification request involving the first p-risked output port p, in the flow table associated with the routing node, to switch the stream to the second one. exit port. This second output port may be an output port associated with an IRCp congestion risk flag lower than the IRCp congestion risk flag associated with the first output port, an output port previously designated as a port backup, through which no data flow passes, an input port of the routing node, or the input port through which the routing path of the flow passes. In another case, this modification of the routing path can be done in a more global manner, by calculating (step 324), at the level of the controller 301, a new routing path, replacing the initial routing path allocated. the flow of data traveling by the routing node (s) comprising a port p presenting a risk of congestion. This new routing path is determined in such a way that the port (s) of the routing nodes of the network presenting a high congestion risk are avoided. In order to determine this replacement routing path, algorithms well known to those skilled in the art can be used. For each routing node including a p port with congestion risk, a new routing rule is then set by the network controller 301 based on the new routing path to reflect the port port associated port change. input initially associated with port p. This new routing rule is then transmitted (step 325) to the routing node in question where it is stored in the stream table stored in this node. This switch has the effect of reducing the risk of congestion. In addition, this method makes it possible to optimize the use of the physical resources available in the telecommunications network. Thus, if the transmission capacity of certain routing nodes is overexploited, part of the flows they manage is transmitted to less busy routing nodes.

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.FIG. 4 schematically illustrates a succession of steps for determining a congestion risk indicator for a given port p of a routing node. As previously indicated, in such a routing node, data streams arrive at one or more input ports and are routed to one or more output ports. The correspondence between an input port and an output port for a given stream is performed by the routing node by virtue of a routing rule stored in the stream table stored by this node. For a given port p belonging to a given routing node, an IRCp congestion risk indicator can be determined as described below: in a first step 400, a value Vp representative of the quantity of data passing through the port p analyzed is estimated, as previously indicated. In a second step 401, this value Vp is compared with at least one predetermined threshold value S. By way of example, when the value Vp corresponds to the average data rate passing through this port p, the threshold value S can correspond to a portion of the maximum transmission capacity of the port. Thus, if the port p has a maximum transmission capacity of ten gigabytes per second (GB / s), the value of S can be set at ninety percent of this value, ie, at 9 GB / 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 <S2 <S3 sont utilisées, quatre niveaux de risques de congestion peuvent être déterminés, 15 représentés par 4 valeurs différentes de l'indicateur de risque de congestion IRCp: - un premier niveau correspondant au cas Vp Si, représenté par « IRCp=1 » ; - un second niveau correspondant au cas Si < Vp S2, 20 représenté par « IRCp=2 » ; - un troisième niveau correspondant au cas S2 < Vp S3, représenté par « IRCp=3 » ; - un quatrième niveau correspondant au cas S3 < Vp, représenté par « IRCp=4 ». 25 Cet indicateur de risque de congestion peut alors être codé sur deux bits. Dans cet exemple, le premier niveau correspond à un risque de congestion très faible et le quatrième niveau à un risque de congestion très élevé.In an alternative embodiment where the value Vp corresponds to the amount of data present in the buffer associated with the analyzed port p, the threshold value S may correspond to a portion of the maximum memory capacity of this memory. Thus, if the analyzed port p is associated with a five-gigabyte buffer, the value of S can be set at ninety percent of that value, or four and a half gigabytes. Alternatively, several threshold values can be used for each port. It is thus possible to determine the value that the indicator IRCp takes with respect to these different threshold values. 10 An IRCp congestion risk indicator is then determined (step 402), for the port p, as a function of the result of the comparison with the threshold value (s) associated with the port p. For example, if three distinct threshold values If <S2 <S3 are used, four levels of congestion risk can be determined, represented by 4 different values of the IRCp congestion risk indicator: - a first level corresponding to the case Vp Si, represented by "IRCp = 1"; a second level corresponding to the case Si <Vp S2, represented by "IRCp = 2"; a third level corresponding to the case S2 <Vp S3, represented by "IRCp = 3"; a fourth level corresponding to the case S3 <Vp, represented by "IRCp = 4". This congestion risk indicator can then be coded on two bits. In this example, the first level corresponds to a very low risk of congestion and the fourth level has a very high risk of congestion.

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.The IRCp congestion risk indicator thus determined can then be transmitted to the controller 301, so that the latter can detect a risk of congestion on the port p analyzed. According to one aspect of the invention, the controller can send to the routing nodes concerned a request to modify the threshold value or values. The ability to adjust the threshold value (s) S associated with the input and output ports of a routing node allows an operator to dynamically optimize the operation of his telecommunication network. Of course, the present invention is not limited to the embodiments described above and shown, from which we can provide other modes and other embodiments, without departing from the scope of the invention. Moreover, the present invention has been described with respect to the context of virtual networks, to which it brings a significant gain in terms of congestion management, without being limited to this particular context alone. It can thus be applied to the management of port congestion of routing nodes of all types of physical telecommunications networks.

Claims (15)

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é.REVENDICATIONS1. A congestion control method in a telecommunications network comprising a network controller (301) and at least one routing node (300) in which a flow table is stored, in which a data flow routing rule is stored associating a first output port of the node to an input port of the node, the method comprising the steps of: determining (321,402) a congestion risk indicator (CRII) for said first output port, as a function of a value ( Vp) representative of the amount of data passing through said first output port; detecting (323) a congestion risk of the first output port by the network controller, by means of the congestion risk flag associated with said first output port; and modifying (326) the stream table stored in the routing node so as to associate with said input port a second output port, distinct from the first output port for which a congestion risk is detected. 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.The method of claim 1, further comprising, for each routing node comprising a first output port for which a congestion risk is detected by the network controller, the following steps implemented by the network controller: define a a new routing rule associating, at the input port associated with the first output port for which a risk of congestion is detected, a second output port of said routing node; and sending (325), to said routing node, the new routing rule to be stored in the stream table stored in the routing node. 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.The method of claim 2, further comprising calculating (324), by the network controller, a new routing path of the data stream in which each first output port of a routing node, for which a risk of congestion is detected, is replaced by a second output port of said routing node. 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.4- Method according to one of claims 1 to 3, wherein the second output port is a port of the routing node among the following ports: - an output port associated with a level congestion risk indicator less than 1 congestion risk indicator associated with the first port of exit; an emergency output port, through which no data stream passes; or - the input port associated with the first output port. 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).5. Method according to one of the preceding claims, further comprising determining (321), by the routing node to which said first output port belongs, the value (Vp) representative of the quantity of data transiting through said first port. the congestion risk indicator (IRCp) of the first output port being determined by comparing (401) the value (Vp) with at least one threshold value (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).30The method of claim 5, wherein the congestion risk flag (PPCR) of the first output port is determined by the routing node to which the output port belongs before being transmitted (322) to the network controller. (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.The method according to claim 5, wherein the value (Vp) representative of the amount of data passing through the first output port is transmitted (322) to the network controller by the routing node to which said first output port belongs, the congestion risk indicator (IRCp) of the output port being determined by the network controller. 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.The method according to one of claims 5 to 7, wherein: the value (Vp) representative of the amount of data passing through the first output port is an estimate of the average data rate passing through said first output port; and said at least one threshold value (S) corresponds to a bit rate value less than the maximum information transfer rate by said first output port. 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.9- Method according to one of claims 5 to 7, wherein: the value (Vp) representative of the amount of data passing through the first output port is an estimate of the occupation of a buffer associated with said first port Release ; and said at least one threshold value (S) corresponds to a quantity of data less than the maximum amount of data that can be stored in the buffer. 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 2110- Method according to one of claims 5 to 7, wherein: the value (Vp) representative of the amount of data passing through the first output port is an average measure of the time elapsed between the reception and the transmission of a packet by said first output port; and said at least one threshold value (S) corresponds to a determined duration. 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.11. A method according to one of claims 5 to 10, wherein a plurality of threshold values, distinct from each other, are associated with said first output port, the value (Vp) representative of the amount of data transiting through the first output port being compared to said threshold values so as to determine a multilevel congestion risk indicator (PCI). 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. 1512- Network controller (301) comprising a processing module 10 configured to detect (323) a congestion risk of a first output port of a routing node by means of a congestion risk indicator (cPRI) associated with said first output port, implementing the method according to one of claims 1 to 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.13- Routing node (300) comprising a storage module able to store a flow table, in which is stored a data flow routing rule associating a first output port of the node with an input port of the node, and a data processing module configured to modify said flow table by implementing the method of one of claims 1 to 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. 25A telecommunications network comprising a network controller (301) according to claim 12 and at least one routing node (300) according to claim 13. 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. 3015- computer program comprising instructions for executing the congestion control method according to any one of claims 1 to 11, when the program is executed by a data processing module. 30
FR1352009A 2013-03-06 2013-03-06 METHOD OF CONGESTION CONTROL FOR TELECOMMUNICATIONS NETWORKS Withdrawn FR3003109A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1352009A FR3003109A1 (en) 2013-03-06 2013-03-06 METHOD OF CONGESTION CONTROL FOR TELECOMMUNICATIONS NETWORKS
PCT/FR2014/050492 WO2014135794A1 (en) 2013-03-06 2014-03-05 Congestion control method for telecommunications networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1352009A FR3003109A1 (en) 2013-03-06 2013-03-06 METHOD OF CONGESTION CONTROL FOR TELECOMMUNICATIONS NETWORKS

Publications (1)

Publication Number Publication Date
FR3003109A1 true FR3003109A1 (en) 2014-09-12

Family

ID=48468573

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1352009A Withdrawn FR3003109A1 (en) 2013-03-06 2013-03-06 METHOD OF CONGESTION CONTROL FOR TELECOMMUNICATIONS NETWORKS

Country Status (2)

Country Link
FR (1) FR3003109A1 (en)
WO (1) WO2014135794A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618254A (en) * 2015-02-12 2015-05-13 杭州华三通信技术有限公司 Method and controller capable of avoiding network congestion in software defined network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110090789A1 (en) * 2009-10-16 2011-04-21 Hei Tao Fung QoS-aware Flow-based Dynamic Load Balancing for Link Aggregation
US20120155268A1 (en) * 2010-12-20 2012-06-21 Keiichi Ohshio Packet relay device
WO2012130264A1 (en) * 2011-03-29 2012-10-04 Nec Europe Ltd. User traffic accountability under congestion in flow-based multi-layer switches

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110090789A1 (en) * 2009-10-16 2011-04-21 Hei Tao Fung QoS-aware Flow-based Dynamic Load Balancing for Link Aggregation
US20120155268A1 (en) * 2010-12-20 2012-06-21 Keiichi Ohshio Packet relay device
WO2012130264A1 (en) * 2011-03-29 2012-10-04 Nec Europe Ltd. User traffic accountability under congestion in flow-based multi-layer switches

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NICK MCKEOWN ET AL: "OpenFlow: Enabling Innovation in Campus Networks", 14 March 2008 (2008-03-14), pages 1 - 6, XP055002028, Retrieved from the Internet <URL:http://www.openflow.org/documents/openflow-wp-latest.pdf> [retrieved on 20110705] *

Also Published As

Publication number Publication date
WO2014135794A1 (en) 2014-09-12

Similar Documents

Publication Publication Date Title
WO2008056041A1 (en) Method and device for providing a charge balance based on the flow
EP1453242A2 (en) Probe for measuring quality-of-service parameters in a telecommunication network
WO2007147990A1 (en) Method of routing virtual links in a frame-switching network with guaranteed determinism
EP2460322B1 (en) Method and system for the automatic selection of transmission media
CA2398366C (en) Method for dynamic optimisation of service quality in a data transmission network
EP3750285B1 (en) Method and device for sending data packets over an ip / mpls network
WO2018145945A1 (en) Method and device for determining an energy-saving routing path
EP2923461A1 (en) Device and method for retransmitting data in a network switch
EP2856719B1 (en) Technique for communication in an information-centred communication network
EP1432184B1 (en) Apparatus for determining communication paths in a label switching communication network having selection parameters
EP2396086B1 (en) Communication method
EP1958393B1 (en) Method and apparatus for distant congestion control of meshed streams in a packet-switched telecommunications network
FR3003109A1 (en) METHOD OF CONGESTION CONTROL FOR TELECOMMUNICATIONS NETWORKS
EP2103055B1 (en) Method for optimising the sharing of a plurality of network resources between a plurality of application flows
WO2020221779A1 (en) Methods and devices for measuring reputation in a communication network
EP1575215A1 (en) Bandwidth controller, network and method for IP subnet management
FR3003115A1 (en) METHOD FOR ALLOCATING RESOURCES FOR IMPLEMENTING VIRTUAL NETWORKS IN A TELECOMMUNICATION NETWORK
EP4020926B1 (en) Routing method for routing an elastic flow in a transport network
EP3231137B1 (en) Overlay network for communication network connecting data centres of a cloud services provider
EP2119140B1 (en) Method for conveying a data packet through a router in a packet communication network supported by a transport network
FR2963517A1 (en) Method for transmitting data stream between base station and e.g. digital subscriber line access multiplexer of communication network in traffic engineering field, involves transmitting data stream to destination of communication equipment
FR2846170A1 (en) Optimisation of traffic through Internet includes creation of routing tables based on measured performance of different operator routes
WO2010052406A1 (en) Method for monitoring flows transmitted through a packet communication network

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20141128