FR2798798A1 - ROUTER FOR NETWORK INTERCONNECTION - Google Patents
ROUTER FOR NETWORK INTERCONNECTION Download PDFInfo
- Publication number
- FR2798798A1 FR2798798A1 FR9911592A FR9911592A FR2798798A1 FR 2798798 A1 FR2798798 A1 FR 2798798A1 FR 9911592 A FR9911592 A FR 9911592A FR 9911592 A FR9911592 A FR 9911592A FR 2798798 A1 FR2798798 A1 FR 2798798A1
- Authority
- FR
- France
- Prior art keywords
- network
- datagram
- queue
- value
- transport layer
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 17
- 230000005540 biological transmission Effects 0.000 claims abstract description 6
- 230000008569 process Effects 0.000 claims abstract description 5
- 230000006870 function Effects 0.000 claims description 14
- 208000027744 congestion Diseases 0.000 description 14
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000010791 quenching Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L12/5602—Bandwidth control in ATM Networks, e.g. leaky bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
Une machine (15) constituant le routeur met en oeuvre un procédé conforme à l'invention pour réduire la congestion dans sa couche réseau (16) lorsqu'elle accumule dans une file d'attente (20) des datagrammes (12) à émettre sur un réseau (18). Le procédé comprend :- 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; - 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);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 machine (15) constituting the router implements a method in accordance with the invention to reduce congestion in its network layer (16) when it accumulates in a queue (20) datagrams (12) to be sent on a network (18). The method comprises: - a first step (29) which measures a filling level of said queue (20) to generate a signal (NIV) as a function of said filling level; - a second step (30) which detects any datagram received from said network (18), of which a field (28) of a transport layer (6) contains a received window value (VFR); - a third step (31) which develops an emitted window value (VFE) as a function of said signal (NIV) to process the datagram detected by putting said value (VFE) therein in said field (28); a fourth step (32) which routes the processed datagram over a network (17) to a transport layer (4) limiting its transmission rate as a function of the transmitted window value (VFE).
Description
Routeur pour interconnexion de réseaux.Router for network interconnection.
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. 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 1o 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 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. 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 execution of 1o functions. 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 to
procédures d'établissement d'appel de bout en bout. end-to-end call establishment procedures.
3s3s
2 27987982 2798798
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 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
d'attente car la capacité mémoire du routeur est limitée. waiting 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 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
io le routeur et aggravant ainsi la congestion. io the router and thus aggravating 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 l'ETTD é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 I'ETTD récepteur. Un inconvénient de cette solution est que la congestion s'est déjà produite lorsqu'elle est mise en oeuvre, la retransmission est inévitable et la nécessité d'en augmenter le délai diminue considérablement les performances de communication. On peut encore citer l'étouffement 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 à î'ETTD qui a émis le datagramme pour lui indiquer que le risque de congestion augmente. L'ETTD Jo émetteur réduit alors sa capacité d'émission. Un inconvénient de cette solution est que I'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 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 sending DTE detects network congestion when it finds that it needs to 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 reduces communication performance. 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 particular message to the DTE which sent the datagram to indicate to it as the risk of congestion increases. The transmitting DTE Jo then reduces its transmission capacity. A disadvantage 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 messages
supplémentaires sur les réseaux.additional networks.
3 27987983 2798798
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, I'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 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 of receiving DTE to 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
informations précédemment transmises ont été reçues correctement. previously transmitted information has been received correctly.
L'invention a pour objet un procédé pour réduire la congestion dans une couche [o 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: - 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; - 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; - 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; - 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 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 first step which measures a filling level of said queue to generate a signal as a function of said filling level; 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 value of
fenêtre émise.window issued.
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 oeuvre de l'invention est expliqué dans la description A preferred example of implementation of the invention is explained in the description
qui suit en référence aux figures o: which follows with reference to Figures o:
4 27987984 2798798
- la figure 1 présente un routeur de l'état de la technique; -la figure 2 présente un segment de couche transport; - la figure 3 présente un datagramme de couche réseau; -la figure 4 présente un routeur qui met l'invention en oeuvre; - la figure 5 présente un datagramme avec information de fenêtre; - Figure 1 shows a router of the state of the art; FIG. 2 shows a transport layer segment; - Figure 3 shows a network layer datagram; FIG. 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 l'ETTD 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, 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 the DTE 1 generates segments 5 intended for a transport layer 6 of the DTE 2. More generally, the segments are transport protocol data units TPDU,
acronyme de Transport Protocol Data Unit en anglais. Transport Protocol Data Unit acronym 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 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
ces informations dans un champ 9 du segment 5. this information in a field 9 of segment 5.
En référence à la figure 1, la couche transport 4 transmet le segment 5 à une couche With reference to FIG. 1, the transport layer 4 transmits the segment 5 to a layer
réseau 10 de î'ETTD 1 au moyen d'une interface 11. network 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 ceuvre 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 l'ETTD récepteur 2 et une adresse IP 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 DTE 2 and an IP address
qui identifie l'ETTD émetteur 1.which identifies the sending DTE 1.
En fonction de la configuration topologique 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 Depending on the network topological 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
27987982798798
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 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 routers as necessary to reach a physical network
auquel est directement relié l'ETTD 2. to which DTE 2 is directly connected.
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 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
qu'elle vide au fur et à mesure de la disponibilité du réseau physique 18. that it empties as the physical network becomes available 18.
[u Lorsque la couche réseau 14 de l'ETTD 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 l'ETTD 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 [u When the network layer 14 of the DTE 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 the DTE 2 by means of an interface 22. On the other hand, the transport layer 6 sends to the transport layer 4, an acknowledgment segment to indicate 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 with 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 to means
l'interface 11.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, ]0 elle accumule le datagramme 24 dans une deuxième file d'attente 25 qu'elle vide au 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,] 0 it accumulates the datagram 24 in a second queue 25 which it empties at
fur et à mesure de la disponibilité du réseau physique 17. as the physical network becomes available 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 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
6 27987986 2798798
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 regularly sends segments containing an indicator of the amount of information it can process without saturation. One simple way to do this is to
mettre par exemple cet indicateur dans le champ 7 des segments d'acquittement. for example, 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 a 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 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 receiving them
lo acquittement.lo acquittal.
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 t5 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 With reference to FIG. 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 t5 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, a function of a filling level 26 of the queue 20 before
router le datagramme détecté sur le réseau 17 à destination de la couche transport 4. route the datagram detected on the network 17 to the transport layer 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, Mo 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 When the filling level of the first queue 20 exceeds a prevention threshold 26, the network layer 16 picks up the acknowledgment datagrams 27 coming from the network 18 and performs a 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 throughput of datagrams entering on the router 15 bound for the network 18. The network layer 10 then receives the datagram 27 with a value of window in field 28 which not only takes into account the processing capacity of transport layer 6 but which also takes into account the processing capacity of network layer 16. Network layer 10 subtracts or moves field 13 of datagram 27 to obtain a segment to be transmitted to the transport layer 4. By respecting the window value of the field 28, Mo 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
couche transport 6 de I'ETTD 2.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 Referring to Figure 6, a method for reducing congestion in a machine includes four steps. A first step 29 measures the level of
7 27987987 2798798
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 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
datagramme détecté sur le réseau de destination 17. datagram detected on the destination network 17.
Le procédé, bien que mis en oeuvre au niveau de la couche réseau 16 de t 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 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
datagramme reçu, le protocole de transport. datagram received, transport protocol.
I5 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'ETTD récepteur 2, émet une valeur de fenêtre VFR représentative du nombre d'octets que I'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 I5 For example, in the case of the known TCP transport protocol, 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, the receiver DTE 2 transmits a VFR window value representative of the number of bytes that the transmitter 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
nombre d'octets déjà reçus et du nombre d'octets admissibles en réception. number of bytes already received and the number of bytes eligible for 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, I'équipement routeur 15 détecte le type de protocole de )O transport en amont. Dans le cas o le protocole de transport détecté est de type TCP, I'é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 For each connection established between the transport layers 4 and 6, the datagrams of the network layers 10 and 14 passing through the network layer 16 of the router equipment 15, the router equipment 15 detects the type of protocol of) O transport upstream . 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
8 27987988 2798798
forcer le passage de tous les datagrammes d'une même connexion par l'équipement force the passage of all datagrams of the same connection by the device
routeur que constitue la machine 15. machine router 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.Diff = ACK - ACKp.
l0 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: l0 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.
ts 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 ts The value VFE obtained in step 31 is then equal to the greater of two window values VFER and VFI o VFI is an intermediate window value calculated according to different possible embodiments as explained in the rest of the
description, laissées au choix d'un administrateur de réseau. 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 l'ETTD I continue à transmettre des octets avant de VFE = max (VFER, VFI) This ensures that the VFE value will never be lower than the VFER window value for which the DTE I continues to transmit bytes before
recevoir la nouvelle valeur de fenêtre VFE. receive the new window value VFE.
Selon une première réalisation possible, dans l'étape 29, le signal NIV est mis à un According to a first possible embodiment, in step 29, the VIN signal is set to a
état binaire d'alarme lorsque le niveau de remplissage dépasse un premier seuil. 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 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
9 27987989 2798798
valeurs de fenêtre sont déjà en dessous de la valeur talon VFT. Une variante consiste window values are already below the heel value VFT. A variant consists
à obtenir la valeur VFI en multipliant la valeur VFR par un coefficient inférieur à un. to obtain the VFI value by multiplying the VFR value by a coefficient less than one.
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 This has the effect of temporarily reducing the exchanges on all the transport layers 4, 6 in a proportionally identical manner, both for those with low speed and for those with 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 level of
remplissage redescend en dessous d'un deuxième seuil inférieur au premier seuil. filling drops below a second threshold below the first threshold.
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 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
correspondre à un état vide de la file d'attente 20. correspond 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 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 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 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 previously transmitted datagram. 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 using the RATE number in the form
polynomiale dans le calcul du signal NIV. polynomial in the calculation of the VIN signal.
27987982798798
Claims (5)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 |
JP2001524311A JP2003509962A (en) | 1999-09-16 | 2000-09-07 | Router for network interconnection |
EP00960822A EP1131922A1 (en) | 1999-09-16 | 2000-09-07 | Method for reducing congestion in a network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9911592A FR2798798B1 (en) | 1999-09-16 | 1999-09-16 | ROUTER FOR NETWORK INTERCONNECTION |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2798798A1 true FR2798798A1 (en) | 2001-03-23 |
FR2798798B1 FR2798798B1 (en) | 2004-09-10 |
Family
ID=9549918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9911592A Expired - Fee Related FR2798798B1 (en) | 1999-09-16 | 1999-09-16 | ROUTER FOR NETWORK INTERCONNECTION |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1131922A1 (en) |
JP (1) | JP2003509962A (en) |
FR (1) | FR2798798B1 (en) |
WO (1) | WO2001020857A1 (en) |
-
1999
- 1999-09-16 FR FR9911592A patent/FR2798798B1/en not_active Expired - Fee Related
-
2000
- 2000-09-07 EP EP00960822A patent/EP1131922A1/en not_active Withdrawn
- 2000-09-07 WO PCT/FR2000/002470 patent/WO2001020857A1/en not_active Application Discontinuation
- 2000-09-07 JP JP2001524311A patent/JP2003509962A/en not_active Withdrawn
Non-Patent Citations (1)
Title |
---|
KALAMPOUKAS ET AL: "EXPLICIT WINDOW ADAPTATION: A METHOD TO ENHANCE TCP PERFORMANCE", PROCEEDINGS IEEE INFOCOM. THE CONFERENCE ON COMPUTER COMMUNICATIONS,US,NEW YORK, NY: IEEE, 1998, pages 242 - 251, XP000854199, ISBN: 0-7803-4384-0 * |
Also Published As
Publication number | Publication date |
---|---|
FR2798798B1 (en) | 2004-09-10 |
JP2003509962A (en) | 2003-03-11 |
EP1131922A1 (en) | 2001-09-12 |
WO2001020857A1 (en) | 2001-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2064853B1 (en) | Method for optimising traffic control in a packet communication network | |
Ramakrishnan et al. | A proposal to add explicit congestion notification (ECN) to IP | |
FR2926939A1 (en) | DATA TRANSMISSION METHOD WITH ACQUITTATION ANTICIPATION, INPUT DEVICE, COMPUTER PROGRAM PRODUCT, AND CORRESPONDING STORAGE MEDIUM | |
EP1309131B1 (en) | Method for implementation of a full-duplex switched Ethernet redundant communication network | |
EP1771742B1 (en) | High performance tcp for systems with infrequent ack | |
KR20090014334A (en) | Systems and methods of improving performance of transport protocols | |
FR2933834A1 (en) | METHOD FOR MANAGING DATA STREAM TRANSMISSION ON A TUNNEL TRANSPORT CHANNEL, TUNNEL HEAD, COMPUTER PROGRAM PRODUCT, AND CORRESPONDING STORAGE MEDIUM. | |
US20070223529A1 (en) | Methods and apparatus for estimating bandwidth of a data network | |
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 | |
EP1240753A1 (en) | Congestion control method for a packet-switched network | |
EP0431438A1 (en) | Flow control procedure for a broadband integrated services digital telecommunication network, and network to realize the procedure | |
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 | |
EP2706781A1 (en) | Transmission method in a multi-hop ad hoc IP network | |
EP3637845B1 (en) | Communication method using frame based transmission protocol | |
Ramakrishnan et al. | RFC2481: A Proposal to add Explicit Congestion Notification (ECN) to IP | |
JP3746418B2 (en) | Sender Initiated Recovery Algorithm (SIRA) for Layer 2 Tunneling Protocol (L2TP) | |
WO2004056049A1 (en) | Dual-ring ethernet network | |
FR2798798A1 (en) | ROUTER FOR NETWORK INTERCONNECTION | |
WO2016203161A1 (en) | Method and device for managing packets in a multi-stream and multi-protocol connection | |
EP2815547B1 (en) | Technique for processing a data stream between a server and a client entity | |
EP1241842B1 (en) | Dichotomic method for determining a path between two nodes of a data network | |
EP1745603B1 (en) | Method and device for transmitting data packets | |
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 | |
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 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20160531 |