EP1131922A1 - Method for reducing congestion in a network - Google Patents

Method for reducing congestion in a network

Info

Publication number
EP1131922A1
EP1131922A1 EP00960822A EP00960822A EP1131922A1 EP 1131922 A1 EP1131922 A1 EP 1131922A1 EP 00960822 A EP00960822 A EP 00960822A EP 00960822 A EP00960822 A EP 00960822A EP 1131922 A1 EP1131922 A1 EP 1131922A1
Authority
EP
European Patent Office
Prior art keywords
network
value
vfe
datagram
transmitted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP00960822A
Other languages
German (de)
French (fr)
Inventor
Nadine Fabiano
Bernard Maingueno
René Martin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull SA
Original Assignee
Bull SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull SA filed Critical Bull SA
Publication of EP1131922A1 publication Critical patent/EP1131922A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • 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/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • 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/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Definitions

  • the field of the invention is that of communication networks.
  • data terminal equipment DTE Data Terminal Equipment DTE in English
  • uses different protocols to communicate.
  • the application layer is not directly concerned with the locations of function execution.
  • we can cite different protocols usable in an application layer such as TELNET to couple a local terminal to a remote machine, FTP to transfer files between machines, HTTP to access WEB pages.
  • a client application issues requests to a server application from which it receives responses regardless of whether the server application can run in a physical and software environment different from that of the client application.
  • the transport layer has the function of communicating two applications taking into account the physical and software environment of each of them.
  • There are connected type transport layer protocols such as TCP and unconnected type protocols such as UDP.
  • the advantage of a connected type transport protocol is that it ensures the reliability of exchanges while an unconnected type protocol allows greater speed.
  • the function of the network layer is to route messages between two DTEs, taking into account the networks on which the two DTEs are connected.
  • network protocols such as IP or CLNP provide a datagram-type connectionless service. This means that for a message made up of datagrams, the network protocol retransmits each datagram from machine to machine according to the availability of the paths offered without ensuring that each transmitted datagram actually arrives at its destination, for example in the event of congestion of a network or an intermediate machine.
  • Such an intermediate machine responsible for propagating datagrams between two distinct networks, is generally called a router.
  • connectionless service is defined as a service allowing the transfer of information between two users of the service without the need for procedures of end-to-end call establishment.
  • the datagrams are put in queues inside the router for further processing.
  • the router discards the new datagrams which arrive and which should have taken place in this queue because the memory capacity of the router is limited.
  • the transport layer of the transmitting I ⁇ TTD detects network congestion when it finds that it must retransmit data. It relieves the routers crossed by its traffic by temporarily and spontaneously reducing its transmission capacity for a connection concerned. This is done for example by increasing the time interval between any two retransmissions, by sending a smaller amount of information than that authorized by the receiving DTE.
  • a disadvantage of this solution is that congestion has already occurred when it is implemented, retransmission is inevitable and the need to increase the delay considerably decreases communication performance.
  • the router finds that the number of messages in a queue reaches an intermediate threshold when putting a new datagram in the queue, it sends a specific message to I ⁇ TTD which has issued the datagram to indicate that the risk of congestion increases.
  • the transmitting DTE then reduces its transmission capacity.
  • One drawback of this solution is that the transmitting DTE is poorly informed of the extent to which it can increase its throughput.
  • this solution requires to send additional messages on the networks.
  • the invention uses datagrams which pass through the router in the direction from the receiving DTE to the sending DTE. and which contain window information.
  • This window information is that generated at the transport protocol level by the receiving DTE to indicate to the sending DTE, the amount of information that the latter is authorized to transmit on a connection before receipt of an acknowledgment indicating that the previously transmitted information has been received correctly.
  • the subject of the invention is a method for reducing congestion in a network layer of a router machine when it accumulates datagrams to be sent on a network in a queue, characterized in that it comprises:
  • a second step which detects any datagram received from said network, a field of a transport layer of which contains a first value of window received;
  • a third step which elaborates a second window value transmitted as a function of said signal to process the detected datagram by putting there said second value in said field;
  • a fourth step which routes the datagram processed on a network to a transport layer limiting its transmission rate as a function of the window value transmitted.
  • an intermediate machine which sees passing all datagrams exchanged by two terminal data processing equipment can control the flow of datagrams which crosses it, by acting from its network layer on the transport layer of the transmitting terminal data processing equipment. This has the advantage of reducing congestion in the intermediate machine without requiring any special procedure in the terminal data processing equipment.
  • FIG. 2 shows a transport layer segment
  • FIG. 3 shows a network layer datagram
  • - Figure 4 shows a router which implements the invention
  • - Figure 5 shows a datagram with window information
  • a sending DTE (terminal data processing equipment) 1 communicates messages to a receiving DTE 2 by means of a transport protocol 3.
  • a transport layer 4 of I ⁇ TTD 1 generates segments 5 intended for a transport layer 6 of the DTE 2. More generally, the segments are transport protocol data units TPDU, acronym for Transport Protocol Data Unit in English.
  • each segment 5 of the transport layer comprises at least one transport field 7.
  • the transport layer 4 receives information from an application layer, not shown from the machine 1, by means of an interface 8. The transport layer 4 then incorporates this information into a field 9 of segment 5.
  • the transport layer 4 transmits the segment 5 to a network layer 10 of the DTE 1 by means of an interface 11.
  • the network layer 10 juxtaposes a field 13 with the segment 5 to constitute a datagram 12 intended for a network layer 14 of the receiving DTE 2.
  • the field 13 contains data for implementing a network protocol between DTEs 1 and 2.
  • field 13 contains an IP address which identifies the receiving IDTTD 2 and an IP address which identifies the sending DTE 1.
  • the datagram 12 is routed directly from DTE 1 to DTE 2 or indirectly through one or more router devices 15.
  • the network layer 10 routes the datagram 12 to a network layer 16 of router equipment 15, by means of a physical network 17.
  • the network layer 16 then routes the datagram 12 to layer 14 by means of a physical network 18.
  • the datagram 12 passes through as many routing equipment as necessary to reach a physical network to which is directly connected to I ⁇ TTD 2.
  • the network layer 16 of the router equipment 15 When the network layer 16 of the router equipment 15 receives a datagram 19 which it cannot immediately retransmit on the physical network 18 due to congestion, it accumulates the datagram 19 in a first queue 20 which it empties as the physical network becomes available 18.
  • the network layer 14 of I ⁇ TTD 2 When the network layer 14 of I ⁇ TTD 2 receives the datagram 12, it removes the field 13 to transfer it in the form of segment 5 to the transport layer 6 by means of an interface 21.
  • the transport layer 6 transfers the field 9 to an application layer not shown of I ⁇ TTD 2 by means of an interface 22.
  • the transport layer 6 sends to the transport layer 4, an acknowledgment segment for tell it that it has received the segment 5.
  • the transport layer 6 transmits to the network layer 14, the acknowledgment segment which generally includes only the field 7.
  • the network layer 14 then juxtaposes a field 13 at the field 7 so as to obtain a route an acknowledgment datagram which is routed to the network layer 10.
  • the network layer 10 then transmits field 7 of the acknowledgment datagram to the transport layer 4 by means of the interface 11 .
  • the network layer 14 routes the datagrams on the physical network 18 to the network layer 16 of the router equipment 15 which redirects them over the physical network 17 to the network layer 10.
  • the network layer 16 of the router equipment 15 receives a datagram 24 which it cannot immediately retransmit on the physical network 17 due to congestion, it accumulates the datagram 24 in a second queue 25 which it empties as and when measuring the availability of the physical network 17.
  • a transport protocol window system indicates to the transport layer 4, the quantity of information that it can send to the transport layer 6 before receiving the acknowledgment segment.
  • the transport layer 6 regularly sends segments containing an indicator of the amount of information it can process without saturation. A simple way to do this is for example to put this indicator in field 7 of the acknowledgment segments.
  • transport layer 4 does not receive acknowledgment to segments generated destined for transport layer 6. For example, the segments generated destined for the transport layer or the acknowledgment segments may have been lost in network layers. The transport layer 4 can then retransmit unacknowledged segments until it receives acknowledgment.
  • the router machine 15 comprises a device for reducing congestion in its network layer 16 when it accumulates in the queue 20 datagrams 12 to be transmitted on the network 18.
  • the device comprises means 33 to detect any datagram received from the network 18, including a field 28 of the transport layer 6 containing a received window value VFR and putting therein a transmitted window value VFE, which is a function of a filling level 26 of the queue 20 before routing the datagram detected on the network 17 to the transport layer 4.
  • VFE transmitted window value
  • the network layer 16 picks up the acknowledgment datagrams 27 in from the network 18 and performs the processing of the content of their field 28 before retransmitting them on the network 17.
  • the processing of the field 28 is done so that the window value slows the bit rate of datagrams entering router 15 to network 18.
  • Network layer 10 then receives datagram 27 with a window value in field 28 which not only takes into account the processing capacity of transport layer 6 but which takes into account also the processing capacity of the network layer 16.
  • the network layer 10 subtracts or moves the field 13 of the datagram 27 to obtain a segment to be transmitted to the transport layer 4.
  • the transport layer 4 then generates a number of datagrams destined for the transport layer 6, less than or equal to the number of datagrams admissible by the transport layer 6 of the DTE 2.
  • a method for reducing congestion in a machine includes four steps.
  • a first step 29 measures the level of filling of the first queue 20 of the datagrams to be transmitted on the network 18, to develop a VIN signal.
  • a second step 30 detects the datagrams coming from the network 18 containing the field 28 with a received window value VFR.
  • a third step 31 processes the value VFR to develop a transmitted window value VFE and replace the value VFR by the value VFE in the detected datagram, as a function of the signal VIN.
  • a fourth step 32 retransmits the datagram detected on the destination network 17.
  • Step 30 begins by identifying in field 7 of the received datagram, the transport protocol.
  • the segments are transmitted in sequences of bytes, each numbered from the first to the last byte of the sequence.
  • the transport layer 6 of the receiving DTE 2 On receipt of the last octet of a sequence, the transport layer 6 of the receiving DTE 2 sends an acknowledgment if it is the first sequence or if it has already sent an acknowledgment for the immediately preceding sequence.
  • This acknowledgment generally indicates the number of the first byte of the following sequence awaiting reception.
  • I ⁇ TTD receiver 2 transmits a VFR window value representative of the number of bytes that the transmitting DTE 1 can transmit in the sequences to come.
  • the VFR value takes into account a possible value already transmitted with a previous acknowledgment, the number of bytes already received and the number of bytes admissible on reception.
  • the router equipment 15 For each connection established between the transport layers 4 and 6, the datagrams of the network layers 10 and 14 pass through the network layer 16 of the router equipment 15, the router equipment 15 detects the type of upstream transport protocol. In the case where the detected transport protocol is of the TCP type, the router equipment 15 calculates, in parallel with steps 29 to 32, a remaining window value VFER representative of the number of bytes that the transmitting DTE can still transmit 1 when it is calculated. So that the remaining window value VFER is representative of reality, it is advisable to force the passage of all datagrams of the same connection by the router equipment that constitutes the machine 15.
  • VFER The remaining window value VFER is calculated as follows. Each time the means 33 receive a datagram containing an acknowledgment, the value which it indicates is stored in a variable called ACK. An ACKp variable, initialized to zero, contains the value indicated by the previous acknowledgment. A Diff value is calculated by the formula:
  • the Diff value then represents a number of bytes transmitted within a VFEp window previously transmitted to the DTE 1.
  • the VFER value is then given by the formula:
  • VFER VFEp - Diff.
  • VFE obtained in step 31 is then equal to the greater of two window values VFER and VFI where VFI is an intermediate window value calculated according to different possible embodiments as explained in the following description, left to the choice of a network administrator.
  • VFE max (VFER, VFI) This ensures that the VFE value will never be lower than the VFER window value for which ETTD 1 continues to transmit bytes before receiving the new VFE window value.
  • step 29 the VIN signal is set to a binary alarm state when the filling level exceeds a first threshold.
  • step 31 when the signal VIN is at an initial state, the value VFI is equal to the value VFR, it is the transport layer 6 which imposes the window value on the transport layer 4 to regulate the transmission thereof datagrams. Steps 30 and 31 can be short-circuited, that is to say that window datagrams can be directly retransmitted from network 18 to network 17.
  • the value VFI is obtained by taking the lowest value from the VFR value and a predetermined VFT stub value as a function of the capacity of the network 18 to empty the queue 20. This has the effect of temporarily reducing exchanges on transport layers 4, 6 at high communication speed without necessarily reducing them on transport layers 4, 6 at lower speed whose window values are already below the VFT stub value.
  • a variant consists in obtaining the VFI value by multiplying the VFR value by a coefficient less than one. This has the effect of temporarily reducing the exchanges on all the transport layers 4, 6 in a proportionally identical manner, both for those at low speed and for those at high communication speed.
  • the VIN signal is reset, datagrams with the VFR window value are retransmitted as is.
  • the VIN signal is reset in step 29 when the filling level falls below the first threshold or when the filling level falls below a second threshold below the first threshold.
  • the hysteresis thus caused on the limitation of the size of the windows has the effect of avoiding instabilities.
  • the second threshold can be very low, to the point of corresponding to an empty state of the queue 20.
  • the VIN signal is the complement to one of a RATE number obtained by dividing the filling level measured by the total capacity of the queue 20.
  • the VIN signal is equal to one
  • the value VFI is obtained by multiplying the value VFR by the signal VIN.
  • the value VFI is equal to the value VFR and the datagrams remain unchanged.
  • the value VFI is zero, that is to say that the transport layer 4 can only transmit a datagram to the network layer 10 after having received an acknowledgment for a datagram previously transmitted.
  • the size of the windows is gradually reduced with a PFD value between VFR and zero.
  • the filling level of the queue 20 tends to stabilize around an intermediate value which makes it possible to anticipate a subsequent reduction in load. It is possible to act on this intermediate value by involving the number TAUX in polynomial form in the calculation of the VIN signal.

Abstract

The invention concerns a machine (15) acting as router implementing the inventive method to reduce congestion in its network layer (16) when it accumulates in a waiting list datagrams (12) to be transmitted on a network (18). The method comprises a first step (29) which consists in measuring the filling up level of said waiting list (20) to prepare a signal (NIV) based on said filling level; a second step (30) which consists in detecting any datagram received from said network (18), whereof a field (28) of a transport layer (6) contains a received window value (VFE); a third step (31) which works out a transmitted window value (VFE) based on said signal (NIV) to process the detected datagram by including therein said value (VFE) in said field; a fourth step (32) which consists in routing the datagram processed on the network (17) addressed to a transport layer (4) limiting its transmission rate on the basis of the transmitted window value (VFE).

Description

PROCEDE POUR REDUIRE LA CONGESTION DANS UN RESEAUMETHOD FOR REDUCING CONGESTION IN A NETWORK
Le domaine de l'invention est celui des réseaux de communication. Pour communiquer, des équipements terminaux de traitement de données ETTD (Data Terminal Equipement DTE en anglais) utilisent différents protocoles.The field of the invention is that of communication networks. To communicate, data terminal equipment DTE (Data Terminal Equipment DTE in English) use different protocols.
On distingue habituellement plusieurs couches de communication, par exemple une couche application, une couche transport et une couche réseau. La couche application ne se préoccupe pas directement des localisations d'exécution de fonctions. A titre d'exemple non limitatif, on peut citer différents protocoles utilisables dans une couche application tel que TELNET pour coupler un terminal local à une machine distante, FTP pour transférer des fichiers entre machines, HTTP pour accéder à des pages WEB. Généralement, une application client émet des requêtes vers une application serveur dont elle reçoit des réponses sans se préoccuper du fait que l'application serveur puisse s'exécuter dans un environnement physique et logiciel différent de celui de l'application client. La couche transport a pour fonction de faire communiquer deux applications en tenant compte de l'environnement physique et logiciel de chacune d'elle. Il existe des protocoles de la couche transport de type connecté tel que TCP et des protocoles de type non connectés tels que UDP. L'intérêt d'un protocole de transport de type connecté est qu'il assure la fiabilité des échanges alors qu'un protocole de type non connecté permet une plus grande rapidité. La couche réseau a pour fonction d'acheminer les messages entre deux ETTD en tenant compte des réseaux sur lesquels sont reliés les deux ETTD. Par exemple, des protocoles de réseau tels que IP ou CLNP rendent un service sans connexion de type datagramme. C'est à dire que pour un message constitué de datagrammes, le protocole de réseau retransmet chaque datagramme de machine en machine suivant la disponibilité des chemins offerts sans assurer que chaque datagramme émis arrive effectivement à destination, par exemple en cas de congestion d'un réseau ou d'une machine intermédiaire. Une telle machine intermédiaire, chargée de propager les datagrammes entre deux réseaux distincts, est généralement appelée routeur. Selon la recommandation 1.113 ITU-T "Vocabulary of Terms for Broadband Aspects of ISDN", Helsinki, mars 1993, un service sans connexion est défini comme un service permettant le transfert d'informations entre deux usagers du service sans le besoin de procédures d'établissement d'appel de bout en bout. Quand le nombre de datagrammes à propager entre deux réseaux dépasse la capacité d'émission du routeur, les datagrammes sont mis dans des files d'attente à l'intérieur du routeur pour traitement ultérieur. Quand le nombre de datagrammes en attente de traitement dans une file d'attente dépasse un seuil, le routeur jette les nouveaux datagrammes qui arrivent et qui auraient dû prendre place dans cette file d'attente car la capacité mémoire du routeur est limitée.There are usually several communication layers, for example an application layer, a transport layer and a network layer. The application layer is not directly concerned with the locations of function execution. By way of nonlimiting example, we can cite different protocols usable in an application layer such as TELNET to couple a local terminal to a remote machine, FTP to transfer files between machines, HTTP to access WEB pages. Typically, a client application issues requests to a server application from which it receives responses regardless of whether the server application can run in a physical and software environment different from that of the client application. The transport layer has the function of communicating two applications taking into account the physical and software environment of each of them. There are connected type transport layer protocols such as TCP and unconnected type protocols such as UDP. The advantage of a connected type transport protocol is that it ensures the reliability of exchanges while an unconnected type protocol allows greater speed. The function of the network layer is to route messages between two DTEs, taking into account the networks on which the two DTEs are connected. For example, network protocols such as IP or CLNP provide a datagram-type connectionless service. This means that for a message made up of datagrams, the network protocol retransmits each datagram from machine to machine according to the availability of the paths offered without ensuring that each transmitted datagram actually arrives at its destination, for example in the event of congestion of a network or an intermediate machine. Such an intermediate machine, responsible for propagating datagrams between two distinct networks, is generally called a router. According to recommendation 1.113 ITU-T "Vocabulary of Terms for Broadband Aspects of ISDN", Helsinki, March 1993, a connectionless service is defined as a service allowing the transfer of information between two users of the service without the need for procedures of end-to-end call establishment. When the number of datagrams to propagate between two networks exceeds the sending capacity of the router, the datagrams are put in queues inside the router for further processing. When the number of datagrams waiting to be processed in a queue exceeds a threshold, the router discards the new datagrams which arrive and which should have taken place in this queue because the memory capacity of the router is limited.
Ces phénomènes de délai et de perte font qu'en cas de congestion, les couches transport des ETTD réémettent, multipliant le nombre de datagrammes à propager par le routeur et aggravant ainsi la congestion.These delay and loss phenomena mean that in the event of congestion, the DTE transport layers re-emit, multiplying the number of datagrams to be propagated by the router and thus aggravating the congestion.
Des solutions connues existent au niveau des couches transport telles que par exemple le ralentissement pour éviter la congestion (Slow Start with Congestion Avoidance) du protocole TCP. La couche transport de IΕTTD émetteur détecte la congestion de réseau lorsqu'elle constate qu'elle doit retransmettre des données. Elle soulage les routeurs traversés par son trafic en réduisant temporairement et spontanément sa capacité d'émission pour une connexion concernée. Ceci est réalisé par exemple en augmentant l'intervalle de temps entre deux retransmissions éventuelles, en envoyant une quantité d'information plus faible que celle autorisée par l'ETTD récepteur. Un inconvénient de cette solution est que la congestion s'est déjà produite lorsqu'elle est mise en œuvre, la retransmission est inévitable et la nécessité d'en augmenter le délai diminue considérablement les performances de communication.Known solutions exist at the transport layer level such as for example slowing down to avoid congestion (Slow Start with Congestion Avoidance) of the TCP protocol. The transport layer of the transmitting IΕTTD detects network congestion when it finds that it must retransmit data. It relieves the routers crossed by its traffic by temporarily and spontaneously reducing its transmission capacity for a connection concerned. This is done for example by increasing the time interval between any two retransmissions, by sending a smaller amount of information than that authorized by the receiving DTE. A disadvantage of this solution is that congestion has already occurred when it is implemented, retransmission is inevitable and the need to increase the delay considerably decreases communication performance.
On peut encore citer l'etouffement de source (Source Quench) du protocole de contrôle ICMP. Quand le routeur constate que le nombre de messages dans une file d'attente atteint un seuil intermédiaire au moment de mettre un nouveau datagramme dans la file d'attente, il envoie un message particulier à IΕTTD qui a émis le datagramme pour lui indiquer que le risque de congestion augmente. L'ETTD émetteur réduit alors sa capacité d'émission. Un inconvénient de cette solution est que l'ETTD émetteur est mal informé de la mesure dans laquelle il peut réaugmenter son débit. D'autre part, cette solution nécessite d'émettre des messages supplémentaires sur les réseaux. Pour contrôler le débit de l'ETTD émetteur, de façon à le réduire avant qu'une congestion ne se produise, sans générer de trafic supplémentaire, l'invention utilise des datagrammes qui transitent à travers le routeur dans le sens ETTD récepteur vers ETTD émetteur et qui contiennent des informations de fenêtre. Ces informations de fenêtre sont celles générées au niveau du protocole de transport par l'ETTD récepteur pour indiquer à l'ETTD émetteur, la quantité d'information que ce dernier est autorisé à émettre sur une connexion avant réception d'un acquittement indiquant que les informations précédemment transmises ont été reçues correctement. L'invention a pour objet un procédé pour réduire la congestion dans une couche réseau d'une machine routeur lorsqu'elle accumule dans une file d'attente des datagrammes à émettre sur un réseau, caractérisé en ce qu'il comprend:We can also cite the Source Quench of the ICMP control protocol. When the router finds that the number of messages in a queue reaches an intermediate threshold when putting a new datagram in the queue, it sends a specific message to IΕTTD which has issued the datagram to indicate that the risk of congestion increases. The transmitting DTE then reduces its transmission capacity. One drawback of this solution is that the transmitting DTE is poorly informed of the extent to which it can increase its throughput. On the other hand, this solution requires to send additional messages on the networks. To control the speed of the sending DTE, so as to reduce it before congestion occurs, without generating additional traffic, the invention uses datagrams which pass through the router in the direction from the receiving DTE to the sending DTE. and which contain window information. This window information is that generated at the transport protocol level by the receiving DTE to indicate to the sending DTE, the amount of information that the latter is authorized to transmit on a connection before receipt of an acknowledgment indicating that the previously transmitted information has been received correctly. The subject of the invention is a method for reducing congestion in a network layer of a router machine when it accumulates datagrams to be sent on a network in a queue, characterized in that it comprises:
- une première étape qui mesure un niveau de remplissage de ladite file d'attente pour élaborer un signal en fonction dudit niveau de remplissage;- a first step which measures a filling level of said queue to develop a signal as a function of said filling level;
- une deuxième étape qui détecte tout datagramme reçu dudit réseau, dont un champ d'une couche transport contient une première valeur de fenêtre reçue;a second step which detects any datagram received from said network, a field of a transport layer of which contains a first value of window received;
- une troisième étape qui élabore une deuxième valeur de fenêtre émise en fonction dudit signal pour traiter le datagramme détecté en y mettant ladite deuxième valeur dans ledit champ;a third step which elaborates a second window value transmitted as a function of said signal to process the detected datagram by putting there said second value in said field;
- une quatrième étape qui route le datagramme traité sur un réseau à destination d'une couche transport limitant son débit d'émission en fonction de la valeur de fenêtre émise.a fourth step which routes the datagram processed on a network to a transport layer limiting its transmission rate as a function of the window value transmitted.
Ainsi, dans un environnement avec un protocole de réseau rendant un service sans connexion de type datagramme et un protocole de transport rendant un service de connexion fiable utilisant un système de fenêtre pour le contrôle de flux de bout en bout, une machine intermédiaire qui voit passer tous les datagrammes que s'échangent deux équipements terminaux de traitement de données, peut contrôler le flux de datagrammes qui la traverse, en agissant depuis sa couche réseau sur la couche transport de l'équipement terminal de traitement de données émetteur. Ceci présente l'avantage de réduire la congestion dans la machine intermédiaire sans nécessiter de procédure particulière dans les équipements terminaux de traitement de données.Thus, in an environment with a network protocol making a connectionless service of the datagram type and a transport protocol making a reliable connection service using a window system for end-to-end flow control, an intermediate machine which sees passing all datagrams exchanged by two terminal data processing equipment can control the flow of datagrams which crosses it, by acting from its network layer on the transport layer of the transmitting terminal data processing equipment. This has the advantage of reducing congestion in the intermediate machine without requiring any special procedure in the terminal data processing equipment.
Un exemple préféré de mise en œuvre de l'invention est expliqué dans la description qui suit en référence aux figures où: - la figure 1 présente un routeur de l'état de la technique;A preferred example of implementation of the invention is explained in the description which follows with reference to the figures in which: - Figure 1 shows a router of the state of the art;
- la figure 2 présente un segment de couche transport;- Figure 2 shows a transport layer segment;
- la figure 3 présente un datagramme de couche réseau;- Figure 3 shows a network layer datagram;
- la figure 4 présente un routeur qui met l'invention en œuvre; - la figure 5 présente un datagramme avec information de fenêtre;- Figure 4 shows a router which implements the invention; - Figure 5 shows a datagram with window information;
- la figure 6 présente des étapes de procédé conforme à l'invention.- Figure 6 shows process steps according to the invention.
En référence à la figure 1 , un ETTD (équipement terminal de traitement de donnée) émetteur 1 communique des messages à un ETTD récepteur 2 au moyen d'un protocole de transport 3. Pour ce faire, une couche transport 4 de IΕTTD 1 génère des segments 5 destinés à une couche transport 6 de l'ETTD 2. De façon plus générale, les segments sont des unités de données de protocole de transport TPDU, acronyme de Transport Protocol Data Unit en anglais.With reference to FIG. 1, a sending DTE (terminal data processing equipment) 1 communicates messages to a receiving DTE 2 by means of a transport protocol 3. To do this, a transport layer 4 of IΕTTD 1 generates segments 5 intended for a transport layer 6 of the DTE 2. More generally, the segments are transport protocol data units TPDU, acronym for Transport Protocol Data Unit in English.
En référence à la figure 2, chaque segment 5 de la couche transport comprend au moins un champ 7 de transport. Lorsque le message concerne une application, la couche transport 4 reçoit d'une couche applicative non représentée de la machine 1 , des informations au moyen d'une interface 8. La couche transport 4 incorpore alors ces informations dans un champ 9 du segment 5.With reference to FIG. 2, each segment 5 of the transport layer comprises at least one transport field 7. When the message relates to an application, the transport layer 4 receives information from an application layer, not shown from the machine 1, by means of an interface 8. The transport layer 4 then incorporates this information into a field 9 of segment 5.
En référence à la figure 1 , la couche transport 4 transmet le segment 5 à une couche réseau 10 de l'ETTD 1 au moyen d'une interface 11.With reference to FIG. 1, the transport layer 4 transmits the segment 5 to a network layer 10 of the DTE 1 by means of an interface 11.
En référence à la figure 3, la couche réseau 10 juxtapose un champ 13 au segment 5 pour constituer un datagramme 12 destiné à une couche réseau 14 de l'ETTD récepteur 2. Le champ 13 contient des données pour mettre en œuvre un protocole réseau entre les ETTD 1 et 2. Dans le cas où par exemple le réseau est de type IP, le champ 13 contient une adresse IP qui identifie IΕTTD récepteur 2 et une adresse IP qui identifie l'ETTD émetteur 1.With reference to FIG. 3, the network layer 10 juxtaposes a field 13 with the segment 5 to constitute a datagram 12 intended for a network layer 14 of the receiving DTE 2. The field 13 contains data for implementing a network protocol between DTEs 1 and 2. In the case where, for example, the network is of the IP type, field 13 contains an IP address which identifies the receiving IDTTD 2 and an IP address which identifies the sending DTE 1.
En fonction de la configuration topoiogique de réseau, le datagramme 12 est acheminé directement de l'ETTD 1 à l'ETTD 2 ou indirectement à travers un ou plusieurs équipements routeurs 15. En référence à la figure 1 , la couche réseau 10 achemine le datagramme 12 à une couche réseau 16 d'un équipement routeur 15, au moyen d'un réseau physique 17. La couche réseau 16 achemine ensuite le datagramme 12 vers la couche 14 au moyen d'un réseau physique 18. Lorsque le réseau physique 18 n'est pas directement relié à l'ETTD 2, le datagramme 12 passe par autant d'équipements routeurs que nécessaire pour atteindre un réseau physique auquel est directement relié IΕTTD 2.Depending on the topoiogical network configuration, the datagram 12 is routed directly from DTE 1 to DTE 2 or indirectly through one or more router devices 15. With reference to FIG. 1, the network layer 10 routes the datagram 12 to a network layer 16 of router equipment 15, by means of a physical network 17. The network layer 16 then routes the datagram 12 to layer 14 by means of a physical network 18. When the physical network 18 is not directly connected to the DTE 2, the datagram 12 passes through as many routing equipment as necessary to reach a physical network to which is directly connected to IΕTTD 2.
Lorsque la couche réseau 16 de l'équipement routeur 15 reçoit un datagramme 19 qu'elle ne peut réémettre immédiatement sur le réseau physique 18 à cause d'encombrement, elle accumule le datagramme 19 dans une première file d'attente 20 qu'elle vide au fur et à mesure de la disponibilité du réseau physique 18.When the network layer 16 of the router equipment 15 receives a datagram 19 which it cannot immediately retransmit on the physical network 18 due to congestion, it accumulates the datagram 19 in a first queue 20 which it empties as the physical network becomes available 18.
Lorsque la couche réseau 14 de IΕTTD 2 reçoit le datagramme 12, elle en retranche le champ 13 pour le transférer sous forme de segment 5 à la couche transport 6 au moyen d'une interface 21. Lorsque le segment 5 comprend un champ 9 destiné à une application, la couche transport 6 transfert le champ 9 à une couche applicative non représentée de IΕTTD 2 au moyen d'une interface 22. D'autre part, la couche transport 6 envoie à la couche transport 4, un segment d'acquittement pour lui signifier qu'elle a bien reçu le segment 5. Pour ce faire, la couche transport 6 transmet à la couche réseau 14, le segment d'acquittement qui comprend généralement uniquement le champ 7. La couche réseau 14 juxtapose ensuite un champ 13 au champ 7 de façon à obtenir un acheminer un datagramme d'acquittement qui est acheminé jusqu'à la couche réseau 10. La couche réseau 10 transmet ensuite le champ 7 du datagramme d'acquittement à la couche transport 4 au moyen de l'interface 11.When the network layer 14 of IΕTTD 2 receives the datagram 12, it removes the field 13 to transfer it in the form of segment 5 to the transport layer 6 by means of an interface 21. When the segment 5 comprises a field 9 intended for an application, the transport layer 6 transfers the field 9 to an application layer not shown of IΕTTD 2 by means of an interface 22. On the other hand, the transport layer 6 sends to the transport layer 4, an acknowledgment segment for tell it that it has received the segment 5. To do this, the transport layer 6 transmits to the network layer 14, the acknowledgment segment which generally includes only the field 7. The network layer 14 then juxtaposes a field 13 at the field 7 so as to obtain a route an acknowledgment datagram which is routed to the network layer 10. The network layer 10 then transmits field 7 of the acknowledgment datagram to the transport layer 4 by means of the interface 11 .
En référence à la figure 1 , la couche réseau 14 achemine les datagrammes sur le réseau physique 18 vers la couche réseau 16 de l'équipement routeur 15 qui les réachemine sur le réseau physique 17 jusqu'à la couche réseau 10. Lorsque la couche réseau 16 de l'équipement routeur 15 reçoit un datagramme 24 qu'elle ne peut réémettre immédiatement sur le réseau physique 17 à cause d'encombrement, elle accumule le datagramme 24 dans une deuxième file d'attente 25 qu'elle vide au fur et à mesure de la disponibilité du réseau physique 17.With reference to FIG. 1, the network layer 14 routes the datagrams on the physical network 18 to the network layer 16 of the router equipment 15 which redirects them over the physical network 17 to the network layer 10. When the network layer 16 of the router equipment 15 receives a datagram 24 which it cannot immediately retransmit on the physical network 17 due to congestion, it accumulates the datagram 24 in a second queue 25 which it empties as and when measuring the availability of the physical network 17.
Un système de fenêtre du protocole de transport indique à la couche transport 4, la quantité d'information qu'elle peut émettre à destination de la couche transport 6 avant de recevoir le segment d'acquittement. Pour ce faire, la couche transport 6 envoie régulièrement des segments contenant un indicateur de la quantité d'information qu'elle peut traiter sans saturation. Une façon simple pour ce faire est de mettre par exemple cet indicateur dans le champ 7 des segments d'acquittement.A transport protocol window system indicates to the transport layer 4, the quantity of information that it can send to the transport layer 6 before receiving the acknowledgment segment. To do this, the transport layer 6 regularly sends segments containing an indicator of the amount of information it can process without saturation. A simple way to do this is for example to put this indicator in field 7 of the acknowledgment segments.
Plusieurs raisons peuvent faire que la couche transport 4 ne reçoive pas d'acquittement à des segments générés à destination de la couche transport 6. Par exemple, les segments générés à destination de la couche transport ou les segments d'acquittement peuvent avoir été perdus dans les couches réseaux. La couche transport 4 peut alors réémettre des segments non acquittés jusqu'à en recevoir acquittement.There are several reasons why transport layer 4 does not receive acknowledgment to segments generated destined for transport layer 6. For example, the segments generated destined for the transport layer or the acknowledgment segments may have been lost in network layers. The transport layer 4 can then retransmit unacknowledged segments until it receives acknowledgment.
En référence à la figure 4, la machine routeur 15 comprend un dispositif pour réduire la congestion dans sa couche réseau 16 lorsqu'elle accumule dans la file d'attente 20 des datagrammes 12 à émettre sur le réseau 18. Le dispositif comprend des moyens 33 pour détecter tout datagramme reçu du réseau 18, dont un champ 28 de la couche transport 6 contient une valeur de fenêtre reçue VFR et y mettre une valeur de fenêtre émise VFE, fonction d'un niveau 26 de remplissage de la file d'attente 20 avant de router le datagramme détecté sur le réseau 17 à destination de la couche transport 4. Lorsque le niveau de remplissage de la première file d'attente 20 dépasse un seuil 26 de prévention, la couche réseau 16 capte les datagrammes d'acquittement 27 en provenance du réseau 18 et effectue un traitement du contenu de leur champ 28 avant de les retransmettre sur le réseau 17. Le traitement du champ 28 est fait de façon à ce que la valeur de fenêtre ralentisse le débit de datagrammes entrant sur le routeur 15 à destination du réseau 18. La couche réseau 10 reçoit alors le datagramme 27 avec une valeur de fenêtre dans le champ 28 qui tient non seulement compte de la capacité de traitement de la couche transport 6 mais qui tient compte aussi de la capacité de traitement de la couche réseau 16. La couche réseau 10 retranche ou déplace le champ 13 du datagramme 27 pour obtenir un segment à transmettre à la couche transport 4. En respectant la valeur de fenêtre du champ 28, la couche transport 4 génère alors un nombre de datagrammes à destination de la couche transport 6, inférieur ou égal au nombre de datagrammes admissibles par la couche transport 6 de l'ETTD 2.Referring to Figure 4, the router machine 15 comprises a device for reducing congestion in its network layer 16 when it accumulates in the queue 20 datagrams 12 to be transmitted on the network 18. The device comprises means 33 to detect any datagram received from the network 18, including a field 28 of the transport layer 6 containing a received window value VFR and putting therein a transmitted window value VFE, which is a function of a filling level 26 of the queue 20 before routing the datagram detected on the network 17 to the transport layer 4. When the filling level of the first queue 20 exceeds a prevention threshold 26, the network layer 16 picks up the acknowledgment datagrams 27 in from the network 18 and performs the processing of the content of their field 28 before retransmitting them on the network 17. The processing of the field 28 is done so that the window value slows the bit rate of datagrams entering router 15 to network 18. Network layer 10 then receives datagram 27 with a window value in field 28 which not only takes into account the processing capacity of transport layer 6 but which takes into account also the processing capacity of the network layer 16. The network layer 10 subtracts or moves the field 13 of the datagram 27 to obtain a segment to be transmitted to the transport layer 4. By respecting the window value of the field 28, the transport layer 4 then generates a number of datagrams destined for the transport layer 6, less than or equal to the number of datagrams admissible by the transport layer 6 of the DTE 2.
En référence à la figure 6, un procédé permettant de réduire la congestion dans une machine comprend quatre étapes. Une première étape 29 mesure le niveau de remplissage de la première file d'attente 20 des datagrammes à émettre sur le réseau 18, pour élaborer un signal NIV. Une deuxième étape 30 détecte les datagrammes en provenance du réseau 18 contenant le champ 28 avec une valeur de fenêtre reçue VFR. Une troisième étape 31 traite la valeur VFR pour élaborer une valeur de fenêtre émise VFE et remplacer la valeur VFR par la valeur VFE dans le datagramme détecté, en fonction du signal NIV. Une quatrième étape 32 retransmet le datagramme détecté sur le réseau de destination 17.Referring to Figure 6, a method for reducing congestion in a machine includes four steps. A first step 29 measures the level of filling of the first queue 20 of the datagrams to be transmitted on the network 18, to develop a VIN signal. A second step 30 detects the datagrams coming from the network 18 containing the field 28 with a received window value VFR. A third step 31 processes the value VFR to develop a transmitted window value VFE and replace the value VFR by the value VFE in the detected datagram, as a function of the signal VIN. A fourth step 32 retransmits the datagram detected on the destination network 17.
Le procédé, bien que mis en œuvre au niveau de la couche réseau 16 de l'équipement routeur 15, en remplaçant la valeur de fenêtre VFR par la valeur VFE, modifie un champ de la couche transport. Il faut tenir compte des contraintes liées au protocole de transport. L'étape 30 commence donc par identifier dans le champ 7 du datagramme reçu, le protocole de transport.The method, although implemented at the network layer 16 of the router equipment 15, by replacing the window value VFR with the value VFE, modifies a field of the transport layer. The constraints related to the transport protocol must be taken into account. Step 30 therefore begins by identifying in field 7 of the received datagram, the transport protocol.
Par exemple, dans le cas du protocole de transport connu TCP, les segments sont transmis par séquences d'octets, numérotée chacune du premier au dernier octet de la séquence. A réception du dernier octet d'une séquence, la couche transport 6 de l'ETTD récepteur 2 émet un acquittement si c'est la première séquence ou s'il a déjà émis un acquittement pour la séquence immédiatement précédente. Cet acquittement indique généralement le numéro du premier octet de la séquence suivante en attente de réception. Dans le même segment que celui contenant l'acquittement, IΕTTD récepteur 2, émet une valeur de fenêtre VFR représentative du nombre d'octets que l'ETTD émetteur 1 peut émettre dans les séquences à venir. La valeur VFR tient compte d'une éventuelle valeur déjà transmise avec un acquittement précédent, du nombre d'octets déjà reçus et du nombre d'octets admissibles en réception.For example, in the case of the known transport protocol TCP, the segments are transmitted in sequences of bytes, each numbered from the first to the last byte of the sequence. On receipt of the last octet of a sequence, the transport layer 6 of the receiving DTE 2 sends an acknowledgment if it is the first sequence or if it has already sent an acknowledgment for the immediately preceding sequence. This acknowledgment generally indicates the number of the first byte of the following sequence awaiting reception. In the same segment as that containing the acknowledgment, IΕTTD receiver 2, transmits a VFR window value representative of the number of bytes that the transmitting DTE 1 can transmit in the sequences to come. The VFR value takes into account a possible value already transmitted with a previous acknowledgment, the number of bytes already received and the number of bytes admissible on reception.
Pour chaque connexion établie entre les couches transports 4 et 6, dont les datagrammes des couches réseaux 10 et 14 passent par la couche réseau 16 de l'équipement routeur 15, l'équipement routeur 15 détecte le type de protocole de transport en amont. Dans le cas où le protocole de transport détecté est de type TCP, l'équipement routeur 15 calcule, en parallèle avec les étapes 29 à 32, une valeur de fenêtre restante VFER représentative du nombre d'octets que peut encore transmettre l'ETTD émetteur 1 au moment où celle-ci est calculée. De façon à ce que la valeur de fenêtre restante VFER soit représentative de la réalité, il convient de forcer le passage de tous les datagrammes d'une même connexion par l'équipement routeur que constitue la machine 15.For each connection established between the transport layers 4 and 6, the datagrams of the network layers 10 and 14 pass through the network layer 16 of the router equipment 15, the router equipment 15 detects the type of upstream transport protocol. In the case where the detected transport protocol is of the TCP type, the router equipment 15 calculates, in parallel with steps 29 to 32, a remaining window value VFER representative of the number of bytes that the transmitting DTE can still transmit 1 when it is calculated. So that the remaining window value VFER is representative of reality, it is advisable to force the passage of all datagrams of the same connection by the router equipment that constitutes the machine 15.
La valeur de fenêtre restante VFER est calculée de la façon suivante. A chaque fois que les moyens 33 reçoivent un datagramme contenant un acquittement, la valeur qu'il indique est mémorisée dans une variable nommée ACK. Une variable ACKp, initialisée à zéro, contient la valeur indiquée par l'acquittement précédent. Une valeur Diff est calculée par la formule:The remaining window value VFER is calculated as follows. Each time the means 33 receive a datagram containing an acknowledgment, the value which it indicates is stored in a variable called ACK. An ACKp variable, initialized to zero, contains the value indicated by the previous acknowledgment. A Diff value is calculated by the formula:
Diff = ACK - ACKp. La valeur Diff représente alors un nombre d'octets émis à l'intérieur d'une fenêtre VFEp transmise précédemment à l'ETTD 1. La valeur VFER est alors donnée par la formule:Diff = ACK - ACKp. The Diff value then represents a number of bytes transmitted within a VFEp window previously transmitted to the DTE 1. The VFER value is then given by the formula:
VFER = VFEp - Diff.VFER = VFEp - Diff.
La valeur VFE obtenue dans l'étape 31 est alors égale à la plus grande de deux valeurs de fenêtre VFER et VFI où VFI est une valeur de fenêtre intermédiaire calculée suivant différentes réalisations possibles comme expliqué dans la suite de la description, laissées au choix d'un administrateur de réseau.The value VFE obtained in step 31 is then equal to the greater of two window values VFER and VFI where VFI is an intermediate window value calculated according to different possible embodiments as explained in the following description, left to the choice of a network administrator.
VFE = max (VFER, VFI) Ceci permet d'assurer que la valeur VFE ne sera jamais inférieure à la valeur de fenêtre VFER pour laquelle ETTD 1 continue à transmettre des octets avant de recevoir la nouvelle valeur de fenêtre VFE.VFE = max (VFER, VFI) This ensures that the VFE value will never be lower than the VFER window value for which ETTD 1 continues to transmit bytes before receiving the new VFE window value.
Selon une première réalisation possible, dans l'étape 29, le signal NIV est mis à un état binaire d'alarme lorsque le niveau de remplissage dépasse un premier seuil.According to a first possible embodiment, in step 29, the VIN signal is set to a binary alarm state when the filling level exceeds a first threshold.
Dans l'étape 31 , lorsque le signal NIV est à un état initial, la valeur VFI est égale à la valeur VFR, c'est la couche transport 6 qui impose la valeur de fenêtre à la couche transport 4 pour en réguler l'émission de datagrammes. Les étapes 30 et 31 peuvent être court-circuitées, c'est à dire que les datagrammes à fenêtre peuvent être directement retransmis du réseau 18 au réseau 17. Lorsque le signal NIV est à l'état binaire d'alarme, la valeur VFI est obtenue en prenant la valeur la plus basse parmi la valeur VFR et une valeur talon VFT prédéterminée en fonction de la capacité du réseau 18 à vider la file d'attente 20. Ceci a pour effet de réduire momentanément les échanges sur des couches transport 4, 6 à gros débit de communication sans nécessairement les réduire sur des couches transport 4, 6 à plus faible débit dont les valeurs de fenêtre sont déjà en dessous de ia valeur talon VFT. Une variante consiste à obtenir la valeur VFI en multipliant la valeur VFR par un coefficient inférieur à un. Ceci a pour effet de réduire momentanément les échanges sur toutes les couches transport 4, 6 de manière proportionnellement identique, tant pour celles à faible débit que pour celles à fort débit de communication. Lorsque le signal NIV est remis à l'état initial, les datagrammes avec la valeur de fenêtre VFR sont retransmis à nouveau tel quel. Le signal NIV est remis à l'état initial dans l'étape 29 lorsque le niveau de remplissage redescend en dessous du premier seuil ou lorsque le niveau de remplissage redescend en dessous d'un deuxième seuil inférieur au premier seuil. L'hystérésis ainsi provoqué sur la limitation de la taille des fenêtres a pour effet d'éviter des instabilités. Le deuxième seuil peut être très bas, au point de correspondre à un état vide de la file d'attente 20.In step 31, when the signal VIN is at an initial state, the value VFI is equal to the value VFR, it is the transport layer 6 which imposes the window value on the transport layer 4 to regulate the transmission thereof datagrams. Steps 30 and 31 can be short-circuited, that is to say that window datagrams can be directly retransmitted from network 18 to network 17. When the VIN signal is in the binary alarm state, the value VFI is obtained by taking the lowest value from the VFR value and a predetermined VFT stub value as a function of the capacity of the network 18 to empty the queue 20. This has the effect of temporarily reducing exchanges on transport layers 4, 6 at high communication speed without necessarily reducing them on transport layers 4, 6 at lower speed whose window values are already below the VFT stub value. A variant consists in obtaining the VFI value by multiplying the VFR value by a coefficient less than one. This has the effect of temporarily reducing the exchanges on all the transport layers 4, 6 in a proportionally identical manner, both for those at low speed and for those at high communication speed. When the VIN signal is reset, datagrams with the VFR window value are retransmitted as is. The VIN signal is reset in step 29 when the filling level falls below the first threshold or when the filling level falls below a second threshold below the first threshold. The hysteresis thus caused on the limitation of the size of the windows has the effect of avoiding instabilities. The second threshold can be very low, to the point of corresponding to an empty state of the queue 20.
Selon une deuxième réalisation possible, dans l'étape 29, le signal NIV est le complément à un d'un nombre TAUX obtenu en divisant le niveau de remplissage mesuré par la capacité totale de la file d'attente 20. Ainsi, lorsque la file d'attente 20 est vide, le signal NIV est égal à un, lorsque la file d'attente 20 est pleine, le signal NIV est égal à zéro. Dans l'étape 31, la valeur VFI est obtenue en multipliant la valeur VFR par le signal NIV. Ainsi, lorsque la file d'attente 20 est vide, la valeur VFI est égale à la valeur VFR et les datagrammes restent inchangés. Lorsque la file d'attente 20 est pleine, la valeur VFI est nulle, c'est à dire que la couche transport 4 ne peut transmettre un datagramme à la couche réseau 10 qu'après avoir reçu un acquittement pour un datagramme précédemment transmis. Entre ces deux extrêmes, la taille des fenêtres est progressivement diminuée avec une valeur VFI comprise entre VFR et zéro. En cas de surcharge momentanée du réseau 18, le niveau de remplissage de la file d'attente 20 a tendance à se stabiliser autour d'une valeur intermédiaire qui permet d'anticiper une diminution de charge ultérieure. Il est possible d'agir sur cette valeur intermédiaire en faisant intervenir le nombre TAUX sous forme polynomiale dans le calcul du signal NIV. According to a second possible embodiment, in step 29, the VIN signal is the complement to one of a RATE number obtained by dividing the filling level measured by the total capacity of the queue 20. Thus, when the queue waiting 20 is empty, the VIN signal is equal to one, when the queue 20 is full, the VIN signal is equal to zero. In step 31, the value VFI is obtained by multiplying the value VFR by the signal VIN. Thus, when the queue 20 is empty, the value VFI is equal to the value VFR and the datagrams remain unchanged. When the queue 20 is full, the value VFI is zero, that is to say that the transport layer 4 can only transmit a datagram to the network layer 10 after having received an acknowledgment for a datagram previously transmitted. Between these two extremes, the size of the windows is gradually reduced with a PFD value between VFR and zero. In the event of a temporary overload of the network 18, the filling level of the queue 20 tends to stabilize around an intermediate value which makes it possible to anticipate a subsequent reduction in load. It is possible to act on this intermediate value by involving the number TAUX in polynomial form in the calculation of the VIN signal.

Claims

REVENDICATIONS : CLAIMS:
1. Procédé pour réduire la congestion dans une couche réseau (16) d'une machine (15) lorsqu'elle accumule dans une file d'attente (20) des datagrammes (12) à émettre sur un réseau (18), caractérisé en ce qu'il comprend:1. Method for reducing congestion in a network layer (16) of a machine (15) when it accumulates in a queue (20) datagrams (12) to be transmitted over a network (18), characterized in what he understands:
- une première étape (29) qui mesure un niveau de remplissage de ladite file d'attente (20) pour élaborer un signal (NIV) en fonction dudit niveau de remplissage;- a first step (29) which measures a filling level of said queue (20) to generate a signal (VIN) as a function of said filling level;
- une deuxième étape (30) qui détecte tout datagramme reçu dudit réseau (18), dont un champ (28) d'une couche transport (6) contient une valeur de fenêtre reçue (VFR); - une troisième étape (31) qui élabore une valeur de fenêtre émise (VFE) en fonction dudit signal (NIV) pour traiter le datagramme détecté en y mettant ladite valeur (VFE) dans ledit champ (28), la valeur de la fenêtre émise (VFE) étant au moins égale à une valeur de fenêtre restante (VFER) représentative pour chaque connexion établie, du nombre d'octets transmissibles au moment de l'élaboration; - une quatrième étape (32) qui route le datagramme traité sur un réseau (17) à destination d'une couche transport (4) limitant son débit d'émission en fonction de la valeur de fenêtre émise (VFE).- a second step (30) which detects any datagram received from said network (18), a field (28) of a transport layer (6) of which contains a received window value (VFR); - a third step (31) which generates a transmitted window value (VFE) as a function of said signal (VIN) to process the detected datagram by putting said value (VFE) in said field (28), the value of the transmitted window (VFE) being at least equal to a remaining window value (VFER) representative for each connection established, of the number of bytes transmissible at the time of preparation; - A fourth step (32) which routes the datagram processed on a network (17) to a transport layer (4) limiting its transmission rate as a function of the value of window transmitted (VFE).
2. Procédé selon la revendication 1, caractérisé en ce que le signal (NIV) est élaboré au moyen d'une fonction binaire qui donne un état d'alarme lorsque le niveau de remplissage de la file d'attente (20) dépasse un premier seuil.2. Method according to claim 1, characterized in that the signal (VIN) is produced by means of a binary function which gives an alarm state when the filling level of the queue (20) exceeds a first threshold.
3. Procédé selon la revendication 1, caractérisé en ce que le signal (NTV) est élaboré au moyen d'une fonction polynomiale proportionnelle au niveau de remplissage et inversement proportionnelle à la capacité de la file d'attente (20).3. Method according to claim 1, characterized in that the signal (NTV) is produced by means of a polynomial function proportional to the filling level and inversely proportional to the capacity of the queue (20).
4. Procédé selon la revendication 2, caractérisé en ce que la valeur de fenêtre émise (VFE) est élaborée en limitant la valeur de fenêtre reçue (VFR) lorsque le signal (NTV) est à l'état d'alarme.4. Method according to claim 2, characterized in that the transmitted window value (VFE) is developed by limiting the received window value (VFR) when the signal (NTV) is in the alarm state.
5. Dispositif pour réduire la congestion dans une couche réseau (16) d'une machine (15) lorsqu'elle accumule dans une file d'attente (20) dans une mémoire de ladite machine (15), des datagrammes (12) à émettre sur un réseau (18), caractérisé en ce qu'il comprend des moyens (33) dans ladite mémoire, pour détecter tout datagramme reçu dudit réseau (18), dont un champ (28) d'une couche transport (6) contient une valeur de fenêtre reçue (VFR) et y mettre une valeur de fenêtre émise (VFE) fonction d'un niveau (26) de remplissage de ladite file d'attente (20) avant de router le datagramme détecté sur un réseau (17) à destination d'une couche transport (4) limitant son débit d'émission en fonction de la valeur de fenêtre émise (VFE), la valeur de la fenêtre émise (VFE) étant au moins égale à une valeur de fenêtre restante (VFER) représentative pour chaque connexion établie, du nombre d'octets transmissibles au moment de l'élaboration. 5. Device for reducing congestion in a network layer (16) of a machine (15) when it accumulates in a queue (20) in a memory of said machine (15), datagrams (12) to transmit on a network (18), characterized in that it comprises means (33) in said memory, for detecting any datagram received from said network (18), a field (28) of a transport layer (6) of which contains a received window value (VFR) and putting therein a transmitted window value ( VFE) as a function of a level (26) of filling said queue (20) before routing the datagram detected on a network (17) to a transport layer (4) limiting its transmission rate by function of the transmitted window value (VFE), the value of the transmitted window (VFE) being at least equal to a remaining window value (VFER) representative for each connection established, of the number of bytes transmissible at the time of development.
EP00960822A 1999-09-16 2000-09-07 Method for reducing congestion in a network Withdrawn EP1131922A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9911592 1999-09-16
FR9911592A FR2798798B1 (en) 1999-09-16 1999-09-16 ROUTER FOR NETWORK INTERCONNECTION
PCT/FR2000/002470 WO2001020857A1 (en) 1999-09-16 2000-09-07 Method for reducing congestion in a network

Publications (1)

Publication Number Publication Date
EP1131922A1 true EP1131922A1 (en) 2001-09-12

Family

ID=9549918

Family Applications (1)

Application Number Title Priority Date Filing Date
EP00960822A Withdrawn EP1131922A1 (en) 1999-09-16 2000-09-07 Method for reducing congestion in a network

Country Status (4)

Country Link
EP (1) EP1131922A1 (en)
JP (1) JP2003509962A (en)
FR (1) FR2798798B1 (en)
WO (1) WO2001020857A1 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0120857A1 *

Also Published As

Publication number Publication date
WO2001020857A1 (en) 2001-03-22
FR2798798B1 (en) 2004-09-10
FR2798798A1 (en) 2001-03-23
JP2003509962A (en) 2003-03-11

Similar Documents

Publication Publication Date Title
EP2064853B1 (en) Method for optimising traffic control in a packet communication network
US8605590B2 (en) Systems and methods of improving performance of transport protocols
Ramakrishnan et al. A proposal to add explicit congestion notification (ECN) to IP
US6625118B1 (en) Receiver based congestion control
JP3789120B2 (en) RTT measurement method for receiving side in TCP
FR2926939A1 (en) DATA TRANSMISSION METHOD WITH ACQUITTATION ANTICIPATION, INPUT DEVICE, COMPUTER PROGRAM PRODUCT, AND CORRESPONDING STORAGE MEDIUM
US20070223529A1 (en) Methods and apparatus for estimating bandwidth of a data network
FR2933834A1 (en) METHOD FOR MANAGING DATA STREAM TRANSMISSION ON A TUNNEL TRANSPORT CHANNEL, TUNNEL HEAD, COMPUTER PROGRAM PRODUCT, AND CORRESPONDING STORAGE MEDIUM.
FR2851708A1 (en) High priority voice and data packets transmitting method for Internet protocol transmission network, involves keeping bit in high priority packets protocol header at 1 and resuming low priority packet/packet fragment transmission
FR2954029A1 (en) METHOD FOR TRANSMITTING PACKETS OF A PASSENGER BIDIRECTIONAL DATA STREAM, MANAGER DEVICE, COMPUTER PROGRAM PRODUCT, AND CORRESPONDING STORAGE MEDIUM
FR2929789A1 (en) Data flow transmission improvement mechanisms managing method for use over internet to passenger, involves determining nature and location of transmission problem, and managing transmission improvement mechanisms based on determined results
EP3637845B1 (en) Communication method using frame based transmission protocol
Ramakrishnan et al. RFC2481: A Proposal to add Explicit Congestion Notification (ECN) to IP
WO2019169273A1 (en) Method of traffic and congestion control for a network with quality of service
WO2001020857A1 (en) Method for reducing congestion in a network
EP1745603B8 (en) Method and device for transmitting data packets
EP1241842B1 (en) Dichotomic method for determining a path between two nodes of a data network
WO2023078993A1 (en) Method for managing retransmission of data exchanged on a path established between a first communication equipment and a second communication equipment by way of a value of an intermediate performance parameter
WO2023169938A1 (en) Method for managing a retransmission of data exchanged on a path established between a first communication equipment and a second communication equipment by way of a value of an intermediate performance parameter determined by an intermediate node belonging to said path
WO2023078995A2 (en) Method for checking the reliability of a first value of a flow control parameter relating to a connection intended to be established between a first communication device and a second communication device linked by a path comprising at least one intermediate node by means of a value of an intermediate performance parameter determined by the intermediate node
EP1668869B1 (en) Method for adapting a congestion avoidance threshold as a function of the load on a network and associated transmission device
EP2011273B1 (en) Method and device for adapting a point to point protocol in a telecommunications network
WO2006058212A2 (en) Methods and apparatus for estimating bandwidth of a data network
FR2935576A1 (en) Data flow's e.g. audio flow, hybrid transmission managing method for multi-channel tunnel, involves sending acknowledgement to transmission device with delay determined from instant at which delayed acknowledgement is received by head
WO2007101962A1 (en) Multilayer mechanism for regulating the rate of a tcp data flow in a full duplex ethernet high-volume network

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

17P Request for examination filed

Effective date: 20010924

RBV Designated contracting states (corrected)

Designated state(s): DE FR GB IT

17Q First examination report despatched

Effective date: 20060807

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20070816