WO2014135794A1 - Congestion control method for telecommunications networks - Google Patents

Congestion control method for telecommunications networks Download PDF

Info

Publication number
WO2014135794A1
WO2014135794A1 PCT/FR2014/050492 FR2014050492W WO2014135794A1 WO 2014135794 A1 WO2014135794 A1 WO 2014135794A1 FR 2014050492 W FR2014050492 W FR 2014050492W WO 2014135794 A1 WO2014135794 A1 WO 2014135794A1
Authority
WO
WIPO (PCT)
Prior art keywords
output port
congestion
port
routing
data
Prior art date
Application number
PCT/FR2014/050492
Other languages
French (fr)
Inventor
Qing SHEN
Original Assignee
Orange
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 Orange filed Critical Orange
Publication of WO2014135794A1 publication Critical patent/WO2014135794A1/en

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

Definitions

  • the invention relates to a congestion control method for telecommunications networks and applies in particular to the field of virtual networks.
  • network virtualization 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 purpose 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 allows to distribute them on several independent virtual networks.
  • VPNs acronym from the term “Virtual Private Network”
  • VLANs acronym from the term “Virtual Local Area Network”
  • VC networks including virtual circuits are known examples implementing the technique network virtualization.
  • Cloud computing commonly referred to as “Cloud Computing” is one of the areas for which virtualization techniques are used. Indeed, the sharing of resources is particularly important in this case 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 laaS layer, acronym from the English expression "Infrastructure as a Service”.
  • a virtual network relies notably on the use of nodes Routing.
  • a routing node uses a flow table to direct data streams arriving at its input ports to its output ports.
  • 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.
  • QoS quality of service
  • 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 is stored a routing rule of data stream associating a first output port of the node with an input port of the node.
  • the method comprises the following steps:
  • 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 during the transmission of data streams in a telecommunications network.
  • 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: defining 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
  • the new routing rule thus determined makes it possible to quickly modify the routing of a data stream as soon as the flow table is updated.
  • 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.
  • the second output port may be selected as a port of the routing node among the following ports:
  • 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 of 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 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.
  • 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.
  • the determination of this indicator is facilitated because the value Vp is determined by the routing node and is therefore accessible locally for that.
  • 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 IRCp congestion risk indicator of the port of output. output being determined by the network controller.
  • the network controller may determine the IRCp flag for all the output ports belonging to the routing nodes for which it is responsible.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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 the 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 comprising a network controller as described above and at least one routing node as described above.
  • FIGS. 1a to 1c illustrate the principle of network virtualization
  • FIG. 2 gives an example of a 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
  • Figure 4 illustrates one way to determine a congestion control flag.
  • FIGS 1a to 1c illustrate the principle of network virtualization.
  • 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. the implementation of appropriate protocols and physical resources.
  • the routing node 101 can directly exchange (links 107, 108 and 113) digital data with three routing nodes 102, 104 and 106.
  • links 107, 108 and 113 digital data with three routing nodes 102, 104 and 106.
  • several virtual networks can be created.
  • a first virtual network thus created 1 16 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 1 17 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 1 16 and 123. It is therefore necessary to share between these virtual networks the routing node resources, including the input and output ports 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.
  • OpenFlow registered trademark
  • the architecture thus presented comprises five routing nodes 200 to 204 providing the transport plane. It also includes a network controller 205 implementing the control plan.
  • a routing node performs data flow routing functions along 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. Routing nodes and controllers can be devices that are separate from each other. Alternatively, the invention also applies to an infrastructure comprising at least one device playing the role of both 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 this routing 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.
  • 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 for limiting the risk of congestion at 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 represented separately.
  • step 310 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 31 1) to determine if there is for this flow, a routing rule between the input port receiving the stream and one of the output ports of the node 300.
  • the flow table does not have the necessary routing information, ie there is no routing rule associating an output port with the input port where packets of this new stream arrive.
  • 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.
  • the controller can take into account the quality of service required for the transmission of the flow, ie parameters such as loss tolerance packets, the maximum delay between the sending and receiving 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 English expression "Type of Service" included in the IP header of the packets can be used for this and transmitted in the message 312.
  • the controller 301 determines (step 313) at least one routing rule, i.e. a correspondence between an input port and an output port of the routing node 300, for this purpose. flux.
  • the controller 301 analyzes the data flow requirements and verifies the availability of the resources of transmission for which he is responsible. Various methods known from the state of the art can be used for this.
  • routing rule 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.
  • 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.
  • 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.
  • the congestion control method (phase 320) can be implemented using a set of messages and operations.
  • 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 remote from the routing nodes for which it is responsible, or in one of between them. For this purpose, the controller stores a set of information representative of the congestion risk for these nodes and keeps them updated.
  • the routing nodes include means for analyzing the state of their input and output ports.
  • 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 determining, for a given output port p of node 300, a value Vp representative of the amount of data transiting through this output port p.
  • Such an analysis can be reproduced for a set of ports of the network routing nodes, or even for all the ports of the network routing nodes.
  • this value Vp may for example be determined periodically.
  • the analysis may consist of a measurement or an estimate of the average flow passing through this port p for a certain time T defined.
  • 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.
  • 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.
  • the value Vp obtained by analysis is used to estimate the risk of congestion of this port p, which can be represented by means of an IRCp parameter, called “congestion risk indicator”, associated with the port p and determined according to the value Vp.
  • 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 threshold S chosen, the risks of congestion are considered high, which can be represented with a risk indicator of congestion IRCp having a particular first value. On the contrary, if the value Vp remains lower than or equal to the value of the threshold Vp, the risks of congestion are considered low, which can be represented with a risk indicator of congestion IRCp having a second particular value, distinct from the first 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 each other for the analysis of a port, it is then possible to determine different levels of risk for the same port.
  • the routing node 300 sends a message (step 322) including this indicator (s) to the controller 301, to indicate what are the risks of congestion for these different ports.
  • This message can be sent periodically or sent on occurrence of an event.
  • the controller 301 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 can be updated periodically, for example using 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.
  • 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 to be transmitted to the network controller 301.
  • this value Vp may be transmitted to the network controller 301 so that the latter determines the IRCp congestion risk indicator.
  • 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.
  • 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 by which passes through the initial routing path an output port different from the output port p for which a risk of congestion is detected.
  • 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 of exit p , 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) to the node 300 in which is this first output port a message asking him to modify his flow table so that this flow is routed to a second output port.
  • This message may be in the form of a routing rule modification request involving the first congestion risk port p in the flow table associated with the routing node to switch the stream to the second port Release.
  • This second output port may be an output port associated with an IRCp congestion risk indicator lower than the IRCp congestion risk indicator associated with the first output port, an output port previously designated as a port of 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.
  • this modification of the routing path can be done in a more global manner, by computing (step 324), at the controller 301, a new routing path, replacing the initial routing path allocated to the data stream routed 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 risk of high congestion are avoided.
  • algorithms well known to those skilled in the art can be used.
  • a new routing rule is then defined by the network controller 301 according to the new routing path, to reflect the change of port associated with the port d entry originally associated with the 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.
  • FIG. 4 schematically illustrates a succession of steps making it possible to determine a congestion risk indicator for a given port p of a routing node.
  • an IRCp congestion risk indicator can be determined as described below:
  • a value Vp representative of the quantity of data passing through the analyzed port p is estimated, as indicated above.
  • this value Vp is compared with at least one predetermined threshold value S.
  • the threshold value S can correspond to a portion of the maximum transmission capacity of the port.
  • the value of S can be set at ninety percent of this value, ie at 9 GB / s.
  • the threshold value S may correspond to a portion of the maximum memory capacity of this memory.
  • the value of S may be set at ninety percent of that value, or four and a half gigabytes.
  • 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.
  • 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.
  • a first level corresponding to the case Vp ⁇ S1, represented by "IRCp 1 " ;
  • This indicator of congestion risk can then be coded on two bits.
  • the first level corresponds to a very low risk of congestion and the fourth level has a very high risk of congestion.
  • 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.
  • 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.
  • 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. It can thus be applied to the management of port congestion of routing nodes of all types of physical telecommunications networks.

Abstract

The invention relates to a method for controlling congestion in a telecommunications network comprising a network controller (301) and at least one routing node (300) wherein a flow table is stored, said flow table storing a data flow routing rule associating a first output port with an input port, said method comprising: the determination (321) of a congestion risk indicator (IRCp) for the first port, according to a value (Vp) representing the quantity of data passing through said first port, the detection (323) of a risk of congestion of the first port by the controller, by means of the indicator associated with said first port; and the modification (326) of the flow table so as to associate, with the input port, a second output port different from the first output port for which a risk of congestion is detected.

Description

PROCEDE DE CONTROLE DE CONGESTION POUR RESEAUX DE  METHOD OF CONGESTION CONTROL FOR NETWORKS
TELECOMMUNICATIONS  TELECOMMUNICATIONS
L'invention concerne un procédé de contrôle de congestion pour réseaux de télécommunications et s'applique notamment au domaine des réseaux virtuels. The invention relates to a congestion control method for telecommunications networks and applies in particular to the field of virtual networks.
L'ensemble des techniques permettant l'utilisation et la mise en œuvre de réseaux virtuels est habituellement désigné en utilisant l'expression « virtualisation des réseaux ». Même si cette expression comporte le 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.  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.
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 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 services différents, la virtualisation des réseaux permet de les répartir sur plusieurs réseaux virtuels indépendants.  The purpose 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 allows to distribute them on several independent virtual networks.
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 virtuels sont des exemples connus mettant en œuvre la technique de virtualisation des réseaux.  VPNs, acronym from the term "Virtual Private Network", VLANs, acronym from the term "Virtual Local Area Network", and VC networks including virtual circuits are known examples implementing the technique network virtualization.
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 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 ».  Cloud computing, commonly referred to as "Cloud Computing", is one of the areas for which virtualization techniques are used. Indeed, the sharing of resources is particularly important in this case 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 laaS layer, acronym from the English expression "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 nœuds de routage. Un nœud 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 nœud 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. In practice, it appears that the use of virtual networks is not always optimal. A virtual network relies notably on the use of nodes Routing. 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.
Un but de l'invention est notamment de pallier les inconvénients 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 nœud 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 associant un premier port de sortie du nœud à un port d'entrée du nœud. Le procédé comprend les étapes suivantes : 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 is stored a routing rule of data stream associating a first output port of the node with an input port of the node. The method comprises the following steps:
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 ;  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;
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  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
modifier la table de flux mémorisée dans le nœud 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é.  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.
Ce procédé a notamment pour avantage de limiter les risques de congestion au niveau des nœuds de routage du réseau. Il est alors possible d'éviter la perte de paquets lors de la transmission de flux de données dans un réseau de télécommunications.  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 during the transmission of data streams in a telecommunications network.
Selon un aspect de l'invention, pour chaque nœud 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 œuvre 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 nœud de routage ; et 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: defining 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
envoi, vers ledit nœud de routage, de la nouvelle règle de routage destinée à être stockée dans la table de flux mémorisée dans le nœud de routage.  sending, to said routing node, the new routing rule intended to be stored in the stream table stored in the routing node.
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 table de flux.  Advantageously, the new routing rule thus determined makes it possible to quickly modify the routing of a data stream as soon as the flow table is updated.
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 nœud de routage, pour lequel un risque de congestion est détecté, est remplacé par un deuxième port de sortie dudit nœud de routage.  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.
II est ainsi possible de reconfigurer globalement les nœuds de routage d'un réseau de télécommunications pour mettre en œuvre 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 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 nœud de routage parmi les ports suivants :  According to one aspect of the invention, the second output port may be selected as a port of the routing node among the following ports:
- 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 ;  an output port associated with a congestion risk indicator that is lower than the congestion risk indicator associated with the first output port;
- un port de sortie, dit de secours, par lequel ne transite aucun flux de données ; ou  an emergency output port, through which no data stream passes; or
- le port d'entrée associé au premier port de sortie.  - the input port associated with the first output port.
Le procédé peut comprendre également une étape de détermination, par le nœud 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 la valeur Vp à au moins une valeur de seuil S.  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 of the first output port being determined by comparing the value Vp with at least one threshold value S.
Un mécanisme de détermination de la valeur Vp par le nœud de routage a pour avantage de pouvoir être mis œuvre très simplement. En effet, il est aisé d'implémenter un mécanisme au sein d'un nœud de routage pour que celui-ci puisse effectuer des mesures sur ses propres ports de sortie. A mechanism for determining the value Vp by the routing node 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.
Dans un mode de réalisation, l'indicateur de risque de congestion IRCp du premier port de sortie est déterminé par le nœud de routage auquel 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 nœud de routage et est donc accessible localement pour cela.  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.
Alternativement, la valeur Vp représentative de la quantité de données transitant par le premier port de sortie est par exemple transmise au contrôleur de réseau par le nœud 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.  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 IRCp congestion risk indicator of the port of output. output being determined by the network controller.
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 nœuds 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.  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.
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.  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.
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.  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. 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, 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. 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 œuvre 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.  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.
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 nœud de routage au moyen d'un indicateur de risque de congestion IRCp associé audit premier port de sortie, en mettant en œuvre le procédé décrit précédemment.  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.
L'invention a aussi pour objet un nœud 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 nœud à un port d'entrée du nœud, et un module de traitement de données configuré pour modifier ladite table de flux en mettant en œuvre le procédé décrit précédemment.  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 the node, and a data processing module configured to modify said flow table by implementing the method described above.
L'invention a aussi pour objet un réseau de télécommunications comprenant un contrôleur de réseau comme décrit précédemment et au moins un nœud de routage comme décrit précédemment.  The invention also relates to a telecommunications network comprising a network controller as described above and at least one routing node as described above.
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 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 : - les figures 1 a à 1 c illustrent le principe de la virtualisation de réseaux ; 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 characteristics and advantages of the invention will become apparent with the aid of the following description given by way of nonlimiting illustration, with reference to the appended drawings in which: FIGS. 1a to 1c illustrate the principle of network virtualization;
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 œuvre 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.  Figure 2 gives an example of a 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 Figure 4 illustrates one way to determine a congestion control flag.
Les figures 1 a à 1 c 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 nœuds de routage 101 à 106. Chacun de ces nœuds de routage peut échanger directement (liens physiques 107 à 1 15) des données numériques avec trois autres nœuds de routage du réseau grâce à la mise en œuvre des protocoles et ressources physiques adaptés. Ainsi, le nœud de routage 101 peut échanger directement (liens 107, 108 et 1 13) des données numériques avec trois nœuds de routage 102, 104 et 106. Sur la base de cette infrastructure, plusieurs réseaux virtuels peuvent être créés. Figures 1a to 1c 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. the implementation of appropriate protocols and physical resources. Thus, the routing node 101 can directly exchange (links 107, 108 and 113) digital data with three routing nodes 102, 104 and 106. On the basis of this infrastructure, several virtual networks can be created.
Par exemple et comme illustré sur la figure 1 b, un premier réseau virtuel ainsi créé 1 16 est composé de cinq nœuds de routage 101 , 102, 104, 105, 106 sélectionnés parmi les six nœuds de routage de l'infrastructure du réseau de télécommunication. Des liens virtuels 1 17 à 122 sont configurés pour permettre aux nœuds de routage ainsi sélectionnés d'échanger des données entre eux. La figure 1 c 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 nœuds de routage 101 à 105 et six liens virtuels 124 à 129 sont configurés. Certains nœuds de routage et certains liens physiques sont ainsi utilisés simultanément par les deux réseaux virtuels 1 16 et 123. Il est donc nécessaire de partager entre ces réseaux virtuels les ressources des nœuds de routage, et notamment les ports d'entrée et de sortie de ces nœuds, ce qui peut entraîner une congestion de ces ports. For example and as illustrated in FIG. 1b, a first virtual network thus created 1 16 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 1 17 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 1 16 and 123. It is therefore necessary to share between these virtual networks the routing node resources, including the input and output ports of these nodes, which can lead to congestion of these ports.
La figure 2 donne un exemple d'architecture de réseau et introduit la manière dont le protocole normalisé OpenFlow (marque déposée) peut être utilisé. Figure 2 gives an example of a network architecture and introduces how the OpenFlow (registered trademark) standard protocol can be used.
L'architecture ainsi présentée comprend cinq nœuds de routage 200 à 204 assurant le plan de transport. Elle comprend aussi un contrôleur de réseau 205 mettant en œuvre le plan de contrôle. Un nœud de routage 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 nœuds de routage du réseau, par exemple en allouant des ressources physiques à un flux donné. Les nœuds de routage et les contrôleurs peuvent correspondre à des équipements distincts les uns des autres. Alternativement, l'invention s'applique aussi à une infrastructure comportant au moins un équipement jouant le rôle à la fois de nœud 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 nœuds de routage et les contrôleurs sont implémentés dans des équipements distincts.  The architecture thus presented comprises five routing nodes 200 to 204 providing the transport plane. It also includes a network controller 205 implementing the control plan. A routing node performs data flow routing functions along 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. Routing nodes and controllers can be devices that are separate from each other. Alternatively, the invention also applies to an infrastructure comprising at least one device playing the role of both 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.
Une table de flux est mémorisée dans chaque nœud 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 un port de sortie d'un nœud de routage à un port d'entrée de ce même nœud de routage, pour un type de flux de données, afin de router ce flux de données au sein de ce nœud de routage.  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 this routing node. routing.
OpenFlow est un protocole permettant de programmer les tables de flux ainsi mémorisées dans les différents nœuds de routage. Il est alors 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 nœuds 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 nœuds de routage.  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.
Le procédé selon l'invention introduit un mécanisme permettant de limiter les risques de congestion au niveau des nœuds de routage du réseau. Pour cela, les ports de sortie d'un ou plusieurs nœuds 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. The method according to the invention introduces a mechanism for limiting the risk of congestion at 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.
La figure 3 donne un exemple de mise en œuvre d'un procédé de contrôle de congestion dans un réseau de télécommunications où un nœud de routage 300 et un contrôleur 301 sont représentés séparément. 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 represented separately.
Lorsqu'un flux de données arrive (étape 310) au niveau de l'un des ports d'entrée du nœud de routage 300, la table de flux de ce nœud 300 est consultée (étape 31 1 ) 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 nœud 300.  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 31 1) to determine if there is for this flow, a routing rule between the input port receiving the stream and one of the output ports of the node 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 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 nœud 300 ainsi que des informations relatives à la qualité de service requise.  If the packets of the stream belong to a new data stream, which is the example shown in Figure 3, it is possible that the flow table does not have the necessary routing information, ie there is no routing rule associating an output port with the input port where packets of this new stream arrive. 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.
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 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 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-saxonne « Type of Service » inclus dans l'entête IP des paquets peut être utilisé pour cela et transmis dans le message 312.  In order to determine the routing rule to be applied for this new data flow, the controller can take into account the quality of service required for the transmission of the flow, ie parameters such as loss tolerance packets, the maximum delay between the sending and receiving 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 English expression "Type of Service" included in the IP header of the packets can be used for this and transmitted in the 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 nœud de routage 300, pour ce flux. A 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. On the basis of this information, the controller 301 determines (step 313) at least one routing rule, i.e. a correspondence between an input port and an output port of the routing node 300, for this purpose. flux. For this purpose, the controller 301 analyzes the data flow requirements and verifies the availability of the resources of transmission for which he is responsible. Various methods known from the state of the art can be used for this.
Une fois la règle de routage déterminée, elle est transmise (étape 314) dans un message destiné au nœud de routage 300, lequel stocke cette règle de routage dans sa table de flux. Si d'autres nœuds 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.  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.
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 nœuds de routage dont les tables de flux ont été mises à jour par le contrôleur 301 . Une fois le ou les nœuds 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 nœuds de routage de ce réseau.  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 routing node or 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.
Une fois les règles de routage mémorisées dans les différents nœuds 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 œuvre à l'aide d'un ensemble de messages et d'opérations.  Once the routing rules are 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 messages and operations.
Pour ce faire, le contrôleur 301 est chargé de mettre à jour les tables de flux d'une pluralité de nœuds de routage. En d'autres termes, il configure plusieurs nœuds 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 nœuds du routage du réseau, qu'il soit implémenté dans un équipement distant des nœuds 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 nœuds et les maintient à jour.  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 remote from the routing nodes for which it is responsible, or in one of between them. For this purpose, the controller stores a set of information representative of the congestion risk for these nodes and keeps them updated.
Les nœuds de routage comprennent des moyens d'analyse de l'état 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 œuvre (étape 321 ) par le nœud de routage 300. Cette analyse permet de déterminer, pour un port p de sortie donné du nœud 300, une valeur Vp représentative de la quantité de données transitant par ce port p de sortie. Une telle analyse peut être reproduite pour un ensemble de ports des nœuds de routage du réseau, voire pour l'intégralité des ports des nœuds de routage du réseau. 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 determining, for a given output port p of node 300, a value Vp representative of the amount of data transiting through this output port p. Such an analysis can be reproduced for a set of ports of the network routing nodes, or even for all the ports of the network routing nodes.
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 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 ces deux techniques. Dans un autre exemple de mise en œuvre, 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.  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 flow 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.
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 d'un paramètre IRCp, appelé « indicateur de risque de congestion », associé au port p et déterminé en fonction de la valeur Vp.  For a given port p, the value Vp obtained by analysis is used to estimate the risk of congestion of this port p, which can be represented by means of an IRCp parameter, called "congestion risk indicator", associated with the port p and determined according to the value 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 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 ê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 l'analyse d'un port, il est alors possible de déterminer différents niveaux de risques pour ce même port.  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 threshold S chosen, the risks of congestion are considered high, which can be represented with a risk indicator of congestion IRCp having a particular first value. On the contrary, if the value Vp remains lower than or equal to the value of the threshold Vp, the risks of congestion are considered low, which can be represented with a risk indicator of congestion IRCp having a second particular value, distinct from the first 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 each other for the analysis of a port, it is then possible to determine different levels of risk for the same port.
Une fois déterminé l'indicateur de risque de congestion IRCp pour un certain nombre de ports de sortie, le nœud de routage 300 envoie un message (étape 322) comprenant ce(s) indicateur(s) au contrôleur 301 , afin 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. 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 this indicator (s) to the controller 301, to indicate what are the risks of congestion for these different ports. This message can be sent periodically or sent on occurrence of an event.
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 mémorisés les indicateurs de risque de congestion des différents ports analysés, pour les nœuds de routage contrôlés par ce contrôleur. Cette table peut être mise à jour périodiquement, par exemple à l'aide de messages transmis au contrôleur par les nœuds de routage. Le contrôleur a donc une vision globale de l'état du réseau lui permettant de réagir avant qu'un nœud soit congestionné.  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 can be updated periodically, for example using 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 nœud 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.  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 to be transmitted to the network controller 301. Alternatively, this value Vp may be transmitted to the network controller 301 so that the latter determines the IRCp congestion risk indicator.
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 nœuds de routage, en utilisant les indicateurs de risque de congestion IRCp de ces ports transmis par les nœuds 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.  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 nœud 300 comprenant un tel port de sortie p, en modifiant (étape 326) la table de flux mémorisée dans ce nœud 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 by which passes through the initial routing path an output port different from the output port p for which a risk of congestion 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 nœud comprenant 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 contrôleur 301 envoie (étape 325) au nœud 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, dans la table de flux associée au nœud de routage, afin de basculer le flux vers le deuxième port de sortie.  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 of exit p , 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) to the node 300 in which is this first output port a message asking him to modify his flow table so that this flow is routed to a second output port. This message may be in the form of a routing rule modification request involving the first congestion risk port p in the flow table associated with the routing node to switch the stream to the second port Release.
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 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 nœud de routage, voire le port d'entrée par lequel transite le chemin de routage du flux.  This second output port may be an output port associated with an IRCp congestion risk indicator lower than the IRCp congestion risk indicator associated with the first output port, an output port previously designated as a port of 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.
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 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) nœud(s) de routage comprenant un port p présentant un risque de congestion.  In another case, this modification of the routing path can be done in a more global manner, by computing (step 324), at the controller 301, a new routing path, replacing the initial routing path allocated to the data stream routed by the routing node (s) comprising a port p presenting a risk of congestion.
Ce nouveau chemin de routage est déterminé de manière à ce que le ou les ports des nœuds de routage du réseau présentant un risque de 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.  This new routing path is determined in such a way that the port (s) of the routing nodes of the network presenting a risk of high congestion are avoided. In order to determine this replacement routing path, algorithms well known to those skilled in the art can be used.
Pour chaque nœud de routage comprenant un port p présentant un risque de congestion, une nouvelle règle de routage est alors définie par le 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 nœud de routage en question où elle et stockée dans la table de flux mémorisée dans ce nœud. For each routing node comprising a p port having a risk of congestion, a new routing rule is then defined by the network controller 301 according to the new routing path, to reflect the change of port associated with the port d entry originally associated with the 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.
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 nœuds de routage est surexploitée, une partie des flux qu'ils gèrent est transmise vers des nœuds 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 nœud de routage.  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 stressed routing nodes. FIG. 4 schematically illustrates a succession of steps making it possible to determine a congestion risk indicator for a given port p of a routing node.
Comme indiqué précédemment, dans un tel nœud 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 nœud de routage grâce à une règle de routage stockée dans la table de flux mémorisée par ce nœud. Pour un port p donné appartenant à un nœud de routage donné, un indicateur de risque de congestion IRCp peut être déterminé comme décrit ci-après :  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:
- 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.  In a first step 400, a value Vp representative of the quantity of data passing through the analyzed port p is estimated, as indicated above.
- Lors d'une deuxième étape 401 , cette valeur Vp est comparée à au moins une valeur de seuil S prédéterminée.  In a second step 401, this value Vp is compared with at least one predetermined threshold value S.
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 par seconde (Go/s), la valeur de S peut être fixée à quatre-vingt dix pourcents de cette valeur, soit à neuf Go/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é à 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. 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 memory a five-gigabyte buffer, the value of S may 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.
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.  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.
À titre d'exemple, si trois valeurs de seuil distinctes S1 < S2 < S3 sont utilisées, quatre niveaux de risques de congestion peuvent être déterminés, représentés par 4 valeurs différentes de l'indicateur de risque de congestion IRCp :  For example, if three distinct threshold values S1 <S2 <S3 are used, four levels of congestion risk can be determined, represented by 4 different values of the IRCp congestion risk indicator:
• un premier niveau correspondant au cas Vp < S1 , représenté par « IRCp=1 » ; A first level corresponding to the case Vp <S1, represented by "IRCp = 1 " ;
• un second niveau correspondant au cas S1 < Vp < S2, représenté par « IRCp=2 » ;  A second level corresponding to the case S1 <Vp <S2, represented by "IRCp = 2";
• un troisième niveau correspondant au cas S2 < Vp < S3, représenté par « IRCp=3 » ;  A third level corresponding to the case S2 <Vp <S3, represented by "IRCp = 3";
• un quatrième niveau correspondant au cas S3 < Vp, représenté par « IRCp=4 ».  • a fourth level corresponding to the case S3 <Vp, represented by "IRCp = 4".
Cet indicateur de risque de congestion peut alors être codé sur deux bits. This indicator of congestion risk can then be coded on two 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 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é.  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.
Selon un aspect de l'invention, le contrôleur peut envoyer aux nœuds 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 nœud de routage permet à un opérateur d'optimiser dynamiquement le fonctionnement de son réseau de télécommunication.  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.
Bien entendu, la présente invention n'est pas limitée aux exemples de 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. Of course, the present invention is not limited to the embodiments described above and shown, from which we can predict other modes and other embodiments, without departing from the scope of the 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 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 nœuds de routage de tout type de réseaux physiques de télécommunications.  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. It can thus be applied to the management of port congestion of routing nodes of all types of physical telecommunications networks.

Claims

REVENDICATIONS
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 du nœud à un port d'entrée du nœud, le procédé comprenant les étapes suivantes : 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 is stored a data flow routing rule associating a first output port of the node to an input port of the node, the method comprising the steps of:
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 ;  determining (321, 402) a congestion risk indicator (cPRI) for said first output port, based on a value (Vp) representative of the amount of data passing through said first output port;
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  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
modifier (326) la table de flux mémorisée dans le nœud 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é.  modifying (326) 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.
Procédé selon la revendication 1 , comprenant en outre, pour chaque nœud 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 œuvre par le contrôleur de réseau : 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:
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 nœud de routage ; et  define 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
envoyer (325), vers ledit nœud de routage, la nouvelle règle de routage destinée à être stockée dans la table de flux mémorisée dans le nœud de routage.  sending (325), to said routing node, the new routing rule to be stored in the stream table stored in the routing node.
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 nœud de routage, pour lequel un risque de congestion est détecté, est remplacé par un deuxième port de sortie dudit nœud 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 nœud de routage parmi les ports suivants : The 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:
- 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 ;  an output port associated with a congestion risk indicator that is lower than the congestion risk indicator associated with the first output port;
- un port de sortie, dit de secours, par lequel ne transite aucun flux de données ; ou  an emergency output port, through which no data stream passes; or
- le port d'entrée associé au premier port de sortie.  - 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 nœud 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 nœud de routage auquel appartient le port de sortie avant d'être transmis (322) au contrôleur de réseau (301 ). 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 nœud 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. 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). The 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). The method of 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 8- 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
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.  said at least one threshold value (S) corresponds to a bit rate value lower than the maximum information transfer rate by said first output port.
9- Procédé selon l'une des revendications 5 à 7, dans lequel : 9- Method according to one of claims 5 to 7, wherein:
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  the value (Vp) representative of the amount of data passing through the first output port is an estimate of the occupancy of a buffer associated with said first output port; and
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.  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 memory.
10- Procédé selon l'une des revendications 5 à 7, dans lequel : 10- Method according to one of claims 5 to 7, wherein:
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  the value (Vp) representative of the amount of data passing through the first output port is an average measure of the time elapsed between receiving and sending a packet by said first output port; and
ladite au moins une valeur de seuil (S) correspond à une durée déterminée.  said at least one threshold value (S) corresponds to a determined duration.
1 1 - 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 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 configuré pour détecter (323) un risque de congestion d'un premier port de sortie d'un nœud de routage au moyen d'un indicateur de risque de congestion (IRCp) associé audit premier port de sortie, en mettant en œuvre le procédé selon l'une des revendications 1 à 1 1 . 13- Nœud 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 nœud à un port d'entrée du nœud, et un module de traitement de données configuré pour modifier ladite table de flux en mettant en œuvre le procédé selon l'une des revendications 1 à 1 1 . 1 1 - 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). A network controller (301) comprising a processing module configured to detect (323) a congestion risk of a first output port of a routing node using an associated congestion risk indicator (CRII) said first output port, implementing the method according to one of claims 1 to 1 1. 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 according to one of claims 1 to 1 1.
4- Réseau de télécommunications comprenant un contrôleur de réseau (301 ) selon la revendication 12 et au moins un nœud de routage (300) selon la revendication 13. 4- telecommunications network comprising a network controller (301) according to claim 12 and at least one routing node (300) according to claim 13.
5- 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 à 1 1 , lorsque le programme est exécuté par un module de traitement de données. 5- computer program comprising instructions for executing the congestion control method according to any one of claims 1 to 1 1, when the program is executed by a data processing module.
PCT/FR2014/050492 2013-03-06 2014-03-05 Congestion control method for telecommunications networks WO2014135794A1 (en)

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=48468573

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2014/050492 WO2014135794A1 (en) 2013-03-06 2014-03-05 Congestion control method for telecommunications networks

Country Status (2)

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

Cited By (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] *

Cited By (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

Also Published As

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

Similar Documents

Publication Publication Date Title
EP2940960B1 (en) Method and device for scheduling packets to be routed in a network with implicit determination of the packets to be given priority treatment
WO2008056041A1 (en) Method and device for providing a charge balance based on the flow
EP1743452A1 (en) Performance measurement in a packet transmission network
EP1453242A2 (en) Probe for measuring quality-of-service parameters in a telecommunication network
EP2033380A1 (en) Method of routing virtual links in a frame-switching network with guaranteed determinism
EP2436155B1 (en) Method for path management between a source node and a destination node at the link layer level, corresponding source node and table
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
EP2095570A2 (en) System for reserving a pass band for different classes of traffic
EP3750285B1 (en) Method and device for sending data packets over an ip / mpls network
FR3062976A1 (en) METHOD AND DEVICE FOR DETERMINING ENERGY-EFFICIENT ROUTING PATH
EP1432184B1 (en) Apparatus for determining communication paths in a label switching communication network having selection parameters
FR3086134A1 (en) METHOD OF DETECTING ILLEGITIMATE SOURCES RESPONSIBLE FOR A DISTRIBUTED ATTACK BY DENI OF SERVICE BY LINK FLOOD AND ASSOCIATED INSTALLATION
WO2014135794A1 (en) Congestion control method for telecommunications networks
EP2396086B1 (en) Communication method
EP1958393B1 (en) Method and apparatus for distant congestion control of meshed streams in a packet-switched telecommunications network
EP2856719A1 (en) Technique for communication in an information-centred communication network
EP2103055B1 (en) Method for optimising the sharing of a plurality of network resources between a plurality of application flows
EP3963842A1 (en) Methods and devices for measuring reputation in a communication network
WO2014135793A1 (en) Method for allocating resources for implementing virtual networks in a telecommunication network
EP1575215A1 (en) Bandwidth controller, network and method for IP subnet management
EP4020926B1 (en) Routing method for routing an elastic flow in a transport network
WO2018122533A1 (en) Computer network of nodes communicating with one another by peer-to-peer messages and associated method for interconnecting between nodes
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

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14713213

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14713213

Country of ref document: EP

Kind code of ref document: A1