FI104602B - Flow control in a telecommunications network - Google Patents

Flow control in a telecommunications network Download PDF

Info

Publication number
FI104602B
FI104602B FI973746A FI973746A FI104602B FI 104602 B FI104602 B FI 104602B FI 973746 A FI973746 A FI 973746A FI 973746 A FI973746 A FI 973746A FI 104602 B FI104602 B FI 104602B
Authority
FI
Finland
Prior art keywords
network
node
packet
acknowledgments
tcp
Prior art date
Application number
FI973746A
Other languages
Finnish (fi)
Swedish (sv)
Other versions
FI973746A0 (en
FI973746A (en
Inventor
Jian Ma
Original Assignee
Nokia Networks Oy
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
Priority claimed from FI972981A external-priority patent/FI972981A/en
Publication of FI973746A0 publication Critical patent/FI973746A0/en
Priority to FI973746A priority Critical patent/FI104602B/en
Application filed by Nokia Networks Oy filed Critical Nokia Networks Oy
Priority to PCT/FI1998/000591 priority patent/WO1999004536A2/en
Priority to CN98808150.4A priority patent/CN1267419A/en
Priority to EP98935050A priority patent/EP0997020A2/en
Priority to JP2000503633A priority patent/JP2001510957A/en
Priority to AU84434/98A priority patent/AU745204B2/en
Publication of FI973746A publication Critical patent/FI973746A/en
Priority to NO20000171A priority patent/NO20000171L/en
Publication of FI104602B publication Critical patent/FI104602B/en
Application granted granted Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

1 1046021 104602

Vuon ohjaus tietoliikenneverkossaFlow control in a telecommunications network

Keksinnön alaField of the Invention

Keksintö liittyy yleisesti vuon ohjaukseen tietoliikenneverkossa. Tar-5 kemmin sanottuna, keksintö liittyy ruuhkan valvontaan pakettikytkentäisessä tietoliikenneverkossa, erityisesti verkossa, jossa TCP (Transmission Control Protocol) on käytössä kuljetuskerroksen protokollana.The invention relates generally to flow control in a telecommunications network. More specifically, the invention relates to congestion control in a packet switched communication network, particularly in a network where TCP (Transmission Control Protocol) is used as a transport layer protocol.

Keksinnön tausta 10 Kuten yleisesti tunnettua, TCP on suosituin kuljetuskerroksella tie donsiirtoon käytettävä protokolla. Se tarjoaa luotettavaa yhteydellistä tiedonsiirtoa kahden isäntäkoneen välillä. (Isäntäkone viittaa verkkoon kytkettyyn tietokoneeseen tai mihin tahansa järjestelmään, joka voidaan kytkeä verkkoon palvelujen tarjoamiseksi toiselle samaan verkkoon kytketylle isäntäkoneelle.) 15 TCP käyttää useita menettelytapoja siirtoyhteyden suorituskyvyn maksimoimiseksi monitoroimalla eri muuttujia, jotka liittyvät siirtoyhteyteen. TCP sisältää esim. sisäisen algoritmin ruuhkan välttämiseksi.BACKGROUND OF THE INVENTION As is well known, TCP is the most popular protocol used for transport layer communication. It provides reliable data communication between two hosts. (A host refers to a network-connected computer or any system that can be network-connected to provide services to another host connected to the same network.) 15 TCP uses a number of procedures to maximize transmission performance by monitoring various variables associated with the transmission. TCP includes, for example, an internal algorithm to avoid congestion.

ATM (Asynchronous Transfer Mode) on puolestaan (uudempi) yhteydellinen paketinvälitystekniikka, joka kansainvälinen tietoliikennealan standar-20 dointijärjestö ITU-T on valinnut laajakaistaisen digitaalisen monipalveluverkon (B-ISDN) perusratkaisuksi. ATM-verkossa on perinteisten pakettiverkkojen ongelmia eliminoitu käyttämällä lyhyitä, kiinteän pituisia (53 tavua) paketteja, joita kutsutaan soluiksi. ATM-verkkoja ollaan nopeasti ottamassa runkoverkoiksi TCP/IP-verkkojen (kuten Internetin) eri osissa.ATM (Asynchronous Transfer Mode), on the other hand, is a (newer) connectivity packet switching technology that has been selected by the international telecommunications industry standardization organization ITU-T as the basic solution for Broadband Digital Multiple Service (B-ISDN). In the ATM network, problems with traditional packet networks have been eliminated by using short, fixed-length (53 bytes) packets, called cells. ATM networks are rapidly being adopted as backbone networks in various parts of TCP / IP networks (such as the Internet).

25 Vaikka ATM on suunniteltu tarjoamaan päästä päähän ulottuvaa kuljetuskerrostason palvelua, on hyvin todennäköistä, että tulevaisuudessa verkot tullaan toteuttamaan siten, että (a) TCP/IP pysyy verkkojen de-facto-standardina ja (b) vain osa päästä päähän ulottuvasta yhteydestä on toteutettu ATM:n avulla. Vaikka siis ATM:n hyödyntämistä jatketaan, TCP:tä tullaan silti 7 : 30 tarvitsemaan päästä päähän ulottuvien siirtopalvelujen tarjoamiseksi.25 Although ATM is designed to provide end-to-end transport layer-level service, it is very likely that in the future networks will be implemented such that (a) TCP / IP remains the de-facto standard for networks and (b) only part of the end-to-end . Thus, while ATM utilization continues, TCP will still need 7:30 to provide end-to-end transmission services.

ATM:n käyttöönotto merkitsee myös sitä, että toteutusten on pystyttävä tukemaan suurta joukkoa sellaisia olemassa olevia datasovelluksia, joissa TCP:tä käytetään yleisesti kuljetuskerroksen protokollana. Aikaisemmin on kehitelty useita lähestymistapoja ATM-verkkojen ruuhkan hallintaa varten 35 ylempien kerrosten olemassa olevien protokollien siirtämiseksi ATM-verkkoihin.Implementing ATM also means that implementations must be able to support a large number of existing data applications where TCP is commonly used as a transport layer protocol. Several approaches for congestion management of ATM networks 35 have been developed in the past to transfer existing protocols of the upper layers to ATM networks.

2 1046022,104,602

Ruuhkan valvonta liittyy yleiseen ongelmaan, joka koskee pakettiverkkojen liikenteen hallintaa. Ruuhka (congestion) tarkoittaa tilannetta, jossa siirtopyyntöjen lukumäärä tietyllä ajanhetkellä ylittää verkon tietyn pisteen (jota kutsutaan pullonkaularesurssiksi) kapasiteetin. Ruuhka johtaa yleensä yli-5 kuormitustilanteeseen. Tämän seurauksena esim. puskurit vuotavat yli, jolloin joko verkko tai tilaaja lähettää paketteja uudelleen. Yleisesti ottaen ruuhka syntyy, kun tietylle linkille tulevan liikenteen määrä ylittää linkin lähtökapasitee-tin. Ruuhkan valvonnan pääasiallisin funktio on varmistaa hyvä suorituskyky läpimenon ja viiveen suhteen sekä ylläpitää samalla verkkoresurssien oikeu-10 denmukainen jako käyttäjille. TCP-liikenteelle, jonka liikennemallit ovat usein purskeisia, ruuhkan valvonta asettaa haastavan ongelman. On tunnettua, että pakettien menettämiset johtavat merkittävään TCP-läpimenon heikkenemiseen. Näin ollen, parhaan mahdollisen läpimenon kannalta pitäisi menetettyjen pakettien lukumäärän olla minimissään.Congestion control is a common problem in managing traffic on packet networks. Congestion refers to a situation where the number of transfer requests at a given time exceeds the capacity of a given point in the network (called a bottleneck resource). Congestion usually results in over-5 load conditions. As a result, buffers, for example, leak, causing the network or subscriber to retransmit packets. Generally, congestion occurs when the amount of traffic to a given link exceeds the link's output capacity. The main function of congestion control is to ensure good throughput and delay performance while maintaining a fair allocation of network resources to users. For TCP traffic, which often has bursting traffic patterns, congestion control poses a challenging problem. It is known that packet loss leads to a significant loss of TCP throughput. Therefore, for best throughput, the number of lost packets should be kept to a minimum.

15 Esillä oleva keksintö liittyy pakettiverkoissa suoritettavaan ruuhkan hallintaan. Edellä mainituista syistä useimmat tällaiset verkot ovat, ja tulevat ennustettavissa olevassa tulevaisuudessa olemaan, TCP-verkkoja tai TCP/ATM-verkkoja (eli verkkoja, joissa TCP tarjoaa päästä päähän ulottuvat siirtopalvelut ja ATM tarjoaa alla olevat “bittiputket”). Seuraavassa kuvataan 20 lyhyesti näiden verkkojen ruuhkanvalvontamekanismeja.The present invention relates to congestion management in packet networks. For the reasons stated above, most such networks are, and will be in the foreseeable future, TCP networks or TCP / ATM networks (i.e., networks where TCP provides end-to-end transmission services and ATM provides the "bit-pipes" below). The following is a brief description of the congestion control mechanisms of these networks.

ATM Forum on määritellyt viisi eri palveluluokkaa, jotka liittävät liikenteen ominaisuudet ja palvelun laatuvaatimukset (QoS, Quality of Service) verkon käyttäytymiseen. Nämä palveluluokat ovat: vakio bittinopeus (CBR, Constant Bit Rate), reaaliaikainen, muuttuva bittinopeus (rt-VBR, real-time 25 Variable Bit Rate), käytettävissä oleva bittinopeus (ABR, Available Bit Rate) ja määrittelemätön bittinopeus (UBR, unspecified Bit Rate). Nämä palveluluokat jakavat liikenteen taattuun liikenteeseen ja ns. “best effort" -liikenteeseen, joka on sitä liikennettä, joka täyttää jäljellä olevan kaistanleveyden sen jälkeen, kun taatulle liikenteelle on tarjottu palvelua.ATM Forum has defined five different service classes that link traffic characteristics and Quality of Service (QoS) to network behavior. These service categories are: Constant Bit Rate (CBR), Real-time Variable Bit Rate (rt-VBR), Available Bit Rate (ABR) and Unspecified Bit Rate (UBR). Rate). These service categories divide traffic into guaranteed traffic and so-called. "Best effort" traffic, which is the traffic that fills up the remaining bandwidth after the service is provided to the guaranteed traffic.

’·' 30 Eräs mahdollinen ratkaisu “best effort" -liikennettä varten on käyttää ABR-vuonohjausta. Pääajatus ABR-vuonohjauksessa on käyttää erityisiä soluja, ns. RM-soluja (Resource Management) säätämään lähteiden nopeuksia. ABR-lähteet tunnustelevat säännöllisesti verkon tilaa (sellaisia tekijöitä kuin käytettävissä oleva kaistanleveys, ruuhkan tila ja lähestyvä ruuhka) lä-35 hettämällä RM-soluja datasolujen sekaan. RM-solut käännetään takaisin kohteessa ja lähetetään takaisin lähteelle. Matkan varrella ATM-kytkimet voivat 3 104602 kirjoittaa ruuhkainformaatiota näihin RM-soluihin. Vastaanottaessaan palautetut RM-solut lähde voi lisätä tai vähentää nopeuttaan tai ylläpitää sen hetkisen nopeutensa, sen mukaan, millaista solujen tuoma informaatio on.'' '30 One possible solution for "best effort" traffic is to use ABR flow control. The main idea in ABR flow control is to use special cells, so-called RM cells (Resource Management), to control the speeds of the sources. factors such as available bandwidth, congestion status, and impending congestion) by sending RM cells between data cells .RM cells are bounced back to the target and sent back to the source .At the time ATM switches can write the traffic information to these RM cells. the returned RM cells may increase or decrease their rate or maintain their current rate, depending on the kind of information the cells bring.

TCP/ATM-verkoissa lähde ja kohde ovat yhteydessä toisiinsa 5 IP/ATM/IP-aliverkon kautta. Kuvio 1 havainnollistaa TCP-lähteen A ja TCP-kohteen B välistä yhteyttä verkossa, jossa yhteysreitti kulkee ABR-vuonohjausta käyttävän ATM-verkon läpi. Kun ATM-verkossa havaitaan ruuhkaa, ABR-nopeusvalvonta alkaa vaikuttaa pakottaen reunareitittimen R1 vähentämään lähetysnopeuttaan ATM-verkon suuntaan. ABR-10 valvontasilmukan tarkoituksena on siis komentaa verkon ATM-lähteitä vähentämään lähetysnopeuttaan. Mikäli ruuhka ei hellitä, reitittimen puskuri saavuttaa maksimikapasiteettinsa. Tämän seurauksena reititin alkaa hylätä paketteja, mikä johtaa TCP-ruuhkaikkunan pienenemiseen (ruuhkaikkunakäsitettä selostetaan tarkemmin jäljempänä.) 15 Ruuhkanvalvonnan kannalta kuvion 1 verkko käsittää kaksi itsenäistä valvontasilmukkaa: ABR-valvontasilmukan ja TCP-valvontasilmukan. Tällaisella ruuhkanvalvonnalla, joka perustuu kahteen ruuhkanhallintajärjestelmään, jotka ovat eri protokollakerroksilla, voi kuitenkin olla odottamaton ja ei-toivottu vaikutus verkon suorituskykyyn. Tarkemmin sanottuna, sisempi valvontasil-20 mukka (ABR-silmukka) voi aiheuttaa odottamattomia viiveitä ulommassa valvontasilmukassa (TCP-silmukka).In TCP / ATM networks, the source and destination are connected through 5 IP / ATM / IP subnets. Figure 1 illustrates a connection between a TCP source A and a TCP destination B in a network where the communication path passes through an ATM network using ABR flow control. When congestion is detected on the ATM network, ABR speed monitoring begins to take effect, forcing the edge router R1 to reduce its transmission speed in the direction of the ATM network. Thus, the purpose of the ABR-10 monitoring loop is to command network ATM sources to reduce their transmission speed. If the congestion is not alleviated, the router's buffer will reach its maximum capacity. As a result, the router begins to drop packets, resulting in a reduction of the TCP congestion window (the congestion window concept will be explained in more detail below.) 15 For congestion control, the network of Figure 1 comprises two independent control loops: an ABR control loop and a TCP control loop. However, such congestion control based on two congestion management systems on different protocol layers can have an unexpected and unwanted impact on network performance. More specifically, the inner control loop-20 loop (ABR loop) can cause unexpected delays in the outer control loop (TCP loop).

Vaihtoehtoinen lähestymistapa “best effort” -liikennettä varten on käyttää UBR-palvelua riittävän suurien puskurien kanssa ja antaa ylempien , kerrosten protokollien, kuten TCP:n hoitaa ylikuorma- tai ruuhkatilanteet. Kuvio 25 2 havainnollistaa tällaista verkkoa eli TCP/UBR-verkkoa. Tällaisen verkon solmut käsittävät pakettien hylkäysmekanismeja, jotka hylkäävät paketteja tai soluja, kun ruuhka syntyy. Kun paketti hylätään jossakin päin verkkoa, vastaava TCP-lähde ei vastaanota kuittausta. Tämän seurauksena TCP-lähde pienentää lähetysnopeuttaan.An alternative approach to “best effort” traffic is to use the UBR service with sufficiently large buffers and allow upper-layer protocols such as TCP to handle congestion or congestion. Figure 25 2 illustrates such a network, i.e. a TCP / UBR network. The nodes of such a network comprise packet rejection mechanisms that reject packets or cells when congestion occurs. When a packet is dropped somewhere in the network, the corresponding TCP source does not receive acknowledgment. As a result, the TCP source reduces its transmission rate.

30 UBR-palvelu ei käytä vuonvalvontaa eikä se taijoa numeerisia takuita palvelun laadulle; tämän takia se on myös halvin tarjottava palvelu. Yksinkertaisuutensa takia pelkkä UBR ilman riittävää puskurikokoa antaa kuitenkin huonon suorituskyvyn ruuhkaisissa verkoissa.30 The UBR Service does not use flow control and does not rely on numerical guarantees for quality of service; this is why it is also the cheapest service to offer. However, due to its simplicity, UBR alone without sufficient buffer size gives poor performance in congested networks.

Tämän epäkohdan eliminoimiseksi on ehdotettu monimutkaisempia 35 ruuhkanvalvontamekanismeja. Eräs tällainen on EPD-jäijestelmä (early packet discard). EPD-järjestelmässä ATM-kytkin tuhoaa kokonaisia paketteja ennen 4 104602 puskurin ylivuotoa. Tällä tavoin TCP/ATM-verkon läpäisykykyä voidaan parantaa merkittävästi, koska ATM-kytkimien ei tarvitse lähettää korruptoituneita soluja sisältävän paketin soluja, eli soluja, jotka kuuluvat paketteihin, joista ainakin yksi solu on hylätty (nämä paketit hylättäisiin joka tapauksessa paketti-5 en uudelleen muodostuksen yhteydessä): EPD-järjestelmän toinen etu on se, että se on suhteellisen halpa toteuttaa ATM-kytkimessä. Ne, jotka ovat kiinnostuneita aiheesta, löytävät EPD-menetelmän yksityiskohtaisen kuvauksen esim. artikkelista A. Romanow and S. Floyd, Dynamics of TCP Traffic over ATM Networks, Proc. ACM SIGCOMM ’94, pp. 79-88, August 1994.More sophisticated congestion control mechanisms have been proposed to overcome this disadvantage. One such is the early packet discard (EPD) system. In the EPD system, the ATM switch destroys entire packets before 4 104602 buffer overflows. In this way, the throughput of the TCP / ATM network can be significantly improved, since ATM switches do not have to send cells of a packet containing corrupt cells, i.e. cells belonging to packets of which at least one cell has been rejected (these packets would be discarded Another advantage of the EPD system is that it is relatively inexpensive to implement in an ATM switch. Those interested in the subject will find a detailed description of the EPD method in, e.g., A. Romanow and S. Floyd, Dynamics of TCP Traffic over ATM Networks, Proc. ACM SIGCOMM '94, p. 79-88, August 1994.

10 EPD-menetelmä kohtelee käyttäjiä kuitenkin epäoikeudenmukaisesti.However, the EPD method treats users unfairly.

Tämä johtuu siitä, että EPD tuhoaa kokonaisia paketteja kaikilta yhteyksiltä, ottamatta huomioon niiden sen hetkisiä nopeuksia tai niiden suhteellisia osuuksia puskurissa, eli ottamatta huomioon niiden suhteellista vaikutusta ylikuormitustilanteeseen. Tämän epäkohdan korjaamiseksi on ehdotettu useita 15 muunnelmia pakettien selektiivistä hylkäystä varten. Yksi näistä on kuvattu artikkelissa Röhit Goyal, Perfomnance of TCP/IP over UBR+, ATM_Forum/96-1269. Tämä menetelmä käyttää FIFO-puskuria kytkimessä ja se suorittaa virtuaaliyhteyskohtaista kirjanpitoa pitääkseen kirjaa kunkin virtuaaliyhteyden osuudesta puskurissa. Tällä tavoin voidaan hylätä vain ylikuormittavien yhte-20 yksien soluja, kun taas alikuormittavat yhteydet voivat lisätä läpäisykykyään.This is because the EPD destroys entire packets on all connections, regardless of their current speeds or their relative proportions in the buffer, i.e., their relative impact on the congestion situation. To overcome this disadvantage, several variants have been proposed for selective packet rejection. One of these is described in Röhit Goyal, Perfomnance of TCP / IP over UBR +, ATM_Forum / 96-1269. This method uses the FIFO buffer in the switch and performs virtual connection accounting to keep track of the share of each virtual connection in the buffer. In this way, only cells of overloaded connections can be discarded, while underloaded connections can increase their throughput.

Kaikista edellä esitetyistä parannuksista huolimatta tunnetun tekniikan mukaisilla ruuhkanvalvontamenetelmillä on edelleenkin se epäkohta, että liikennelähteelle ei pystytä antamaan aikaista varoitusta silloin, kun verkossa havaitaan liiallista kuormaa. Toisin sanoen, liikennelähdettä ei informoida 25 nopeasti ylikuormasta, jotta lähde pystyisi vähentämään lähetysnopeuttaan.In spite of all the above improvements, prior art congestion control methods still have the disadvantage of not being able to provide early warning to a traffic source when overloading is detected on the network. In other words, the traffic source is not quickly informed of the overload so that the source can reduce its transmission speed.

Keksinnön lyhyt yhteenvetoBRIEF SUMMARY OF THE INVENTION

Keksinnön tarkoituksena on eliminoida edellä mainittu epäkohta ja luoda menetelmä, jonka avulla on mahdollista, käyttäen yksinkertaista toteu-; 30 tusta, informoida liikennelähdettä hyvin aikaisessa vaiheessa siitä, että verkko • on tulossa ylikuormitetuksi ja pyytää lähdettä vähentämään lähetysnopeuttaan.The object of the invention is to eliminate the above disadvantage and to provide a method which makes it possible to use a simple implementation; 30, inform the traffic source at a very early stage that the network is • becoming congested and request the source to reduce its transmission speed.

Tarkoituksena on myös, että menetelmä sallii TCP- ja ATM-vuonohjausmekanismien tehokkaan yhteistoiminnan.It is also intended that the method allow efficient collaboration between the TCP and ATM flow control mechanisms.

Tämä päämäärä on saavutettavissa käyttämällä itsenäisissä vaati-35 muksissa esitettyä ratkaisua.This objective can be achieved by using the solution presented in the independent claims.

5 1046025, 104602

Keksinnön perusajatuksena on viivästyttää niitä kuittauksia, joita ollaan siirtämässä kohteesta kohti lähettäjää. Tämä voidaan tehdä verkon samassa pisteessä, jossa ruuhkaa on havaittu tai vaihtoehtoisesti se verkon piste, joka havaitsee ruuhkaa tai ylikuormaa voi ohjata verkon toista pistettä 5 viivästämään kuittauksia. Keksinnössä suoritetaan siis ruuhkan ohjausta yhteyden paluureitillä, kun taas tunnetut järjestelmät ohjaavat liikennettä me-noreitillä. Sen sijaan, että keksinnön mukainen verkko hylkäisi paketteja tai soluja menoreitillä, se viivästää kuittauksia paluureitillä ja saa siten aikaan sen, että TCP-lähde vähentää lähetysnopeuttaan.The basic idea of the invention is to delay the acknowledgments that are being transferred from the destination to the sender. This can be done at the same point in the network where the congestion is detected, or alternatively, the network point that detects the congestion or overload can control another point 5 of the network to delay acknowledgments. Thus, in the invention, congestion control is performed on the return path of the connection, whereas known systems control traffic along the route. Rather than rejecting packets or cells along the route, the network according to the invention delays acknowledgments on the return path and thus causes the TCP source to reduce its transmission rate.

10 Keksintö tarjoaa halvan ratkaisun aikaisen varoituksen antamiseksi TCP-lähteelle siitä, että ylikuormitus tai ruuhka on uhkaamassa verkkoa. On myös tärkeää huomata, että TCP-protokollaa ei tarvitse muuttaa mitenkään. Keksinnön käyttöönottamiseksi verkkoon on tuotava ruuhkanvalvonta-algoritmi, mutta tähän tarkoitukseen voidaan käyttää monia olemassa olevia, 15 TCP/UBR-verkkoihin liittyviä algoritmeja vain vähäisin muutoksin.The invention provides a low-cost solution to provide an early warning to a TCP source that an overload or congestion is threatening the network. It is also important to note that there is no need to change the TCP protocol. A congestion control algorithm must be introduced to implement the invention in the network, but many existing algorithms related to TCP / UBR networks can be used for this purpose with only minor changes.

Esillä olevan keksinnön avulla voidaan lisäksi tasoittaa TCP-lähteen ulostulonopeutta, mikä puolestaan johtaa tehokkaampaan kaistanleveyden hyödyntämiseen. Lisäksi puskurikapasiteettivaatimukset pienenevät, koska (nopeus)vaihtelun määrä vähenee.In addition, the present invention can smooth out the output rate of a TCP source, which in turn leads to more efficient bandwidth utilization. In addition, buffer capacity requirements are reduced as (rate) variation is reduced.

20 Keksinnön erään edullisen toteutustavan mukaisesti kuormitus- tasoinformaatiota lähetetään ATM-verkon pisteestä RM-soluissa solmuun, joka tarjoaa liittymän ATM-verkkoon ja kuittauksia viivästetään mainitussa liitty-mäsolmussa RM*solujen sisältämän informaation perusteella. Tällä tavoin TCP- ja ATM-vuonohjausmekanismit voidaan tehdä toisistaan riippuvaisiksi 25 niin, että toimivat tehokkaasti yhdessä.According to a preferred embodiment of the invention, load level information is transmitted from an ATM network point in RM cells to a node providing access to the ATM network and acknowledgments are delayed in said access node based on the information contained in the RM * cells. In this way, TCP and ATM flow control mechanisms can be made interdependent so that they work effectively together.

Keksinnön avulla yhteyksien suorituskykyä voidaan parantaa merkittävästi, erityisesti suurissa viiveellisissä verkoissa.With the invention, connection performance can be significantly improved, especially in large latency networks.

Kuvioluettelo , ; 30 Kuvio 1 havainnollistaa ABR-pohjaisen ATM-aliverkon kautta kulke- vaa TCP-yhteysreittiä, kuvio 2 havainnollistaa UBR-pohjaisen ATM-aliverkon kautta kulkevaa TCP-yhteysreittiä, kuvio 3 havainnollistaa keksinnön mukaista vuonohjaussilmukkaa 35 TCP/ATM-verkossa, 6 104602 kuvio 4a havainnollistaa uuden menetelmän yhtä mahdollista toteutustapaa IP-kytkimessä, kuvio 4b on aikadiagrammi, joka esittää kuvion 4a mukaisen toteutuksen merkitseviä ajanhetkiä, 5 kuvio 5 on vuokaavio, joka havainnollistaa menetelmää viivearvojen määrittämiseksi, kuvio 6a havainnollistaa kuittausten viivästämisen toista mahdollista toteutustapaa kytkimessä, kuvio 6b havainnollistaa kuittauspuskureiden vaihtoehtoista käyttöta- 10 paa, kuvio 7a havainnollistaa menetelmän erästä sovellustapaa IP-verkossa, kuvio 7b havainnollistaa menetelmän erästä toista sovellustapaa IP-verkossa, 15 kuvio 8a havainnollistaa menetelmän erästä sovellustapaa ATM- verkossa, kuvio 8b havainnollistaa menetelmän erästä toista sovellustapaa ATM-verkossa, kuvio 9 havainnollistaa keksinnön edullisen toteutustavan mukaista 20 TCP- ja ATM-vuonohjaussilmukoiden yhteistoimintaa, kuvio 10 havainnollistaa esimerkkiä pakettien siirrosta liikennelähteen ja -kohteen välillä tunnetussa TCP-verkossa, ja kuvio 11 havainnollistaa esimerkkiä pakettien siirrosta liikennelähteen ja -kohteen välillä TCP-verkossa, joka käyttää keksinnön mukaista menetel-25 mää.List of patterns,; Fig. 1 illustrates a TCP communication path through an ABR-based ATM subnet, Fig. 2 illustrates a TCP connection through a UBR-based ATM subnet, Fig. 3 illustrates a flow control loop according to the invention 35 in a TCP / ATM network, Figure 4b illustrates one possible embodiment of a new method in an IP switch, Figure 4b is a time diagram showing significant time points in the implementation of Figure 4a, 5 Figure 5 is a flow diagram illustrating a method for determining delay values, Figure 6a illustrates another embodiment of delay delaysb an alternative embodiment, Fig. 7a illustrates an embodiment of the method in an IP network, Fig. 7b illustrates another embodiment of the method in an IP network, Fig. 8a illustrates an embodiment of the method in an ATM network, Fig. 8b illustrates a method another embodiment of the ATM network, FIG. 9 illustrates an interaction of TCP and ATM flow control loops 20 according to a preferred embodiment of the invention, FIG. 10 illustrates an example packet transfer between a traffic source and a destination in a known TCP network, and FIG. 11 illustrates an example between a subject in a TCP network using the method of the invention.

Keksinnön yksityiskohtainen kuvausDetailed Description of the Invention

Kuvio 3 havainnollistaa keksinnön perusperiaatetta esittämällä kahden käyttäjäpäätelaitteen (A ja B) välistä yhteyttä TCP/ATM-verkossa, jossa ; 30 päätelaitteet käyttävät TCP:tä kuljetuskerroksen protokollana. Päätelaitteiden liittymäsolmujen (AN1 ja AN2) lisäksi kuviossa on esitetty vain yksi välisolmu (N1) ja solmuja yhdistävät siirtojohdot (TL1 ja TL2).Figure 3 illustrates the basic principle of the invention by showing a connection between two user terminals (A and B) on a TCP / ATM network in which; 30 terminals use TCP as a transport layer protocol. In addition to the access nodes (AN1 and AN2) of the terminals, the figure shows only one intermediate node (N1) and the transmission lines (TL1 and TL2) connecting the nodes.

Isäntäkoneiden A ja B välinen yhteys alkaa, samoin kuin mikä tahansa muu TCP-yhteys, isäntäkoneiden välisellä neuvottelulla yhteyden avaami-35 seksi. Alkuneuvottelua kutsutaan kolmivaiheiseksi kättelyksi, koska tämän kättelyvaiheen aikana siirretään kolme avaussegmenttiä. Termi "segmentti” 7 104602 viittaa TCP:n IP:lle (IP, Internet Protocol) välittämään informaatioyksikköön. IP-otsikot yhdistetään näihin TCP-segmentteihin IP-tietosähkeiden muodostamiseksi eli TCP-segmentit siirretään vastaanottimeen IP-tietosähkeiden sisällä, jotka ovat IP:n käyttämiä tietoyksiköitä. Alkukättelyprosessin aikana isäntäko-5 neet informoivat toisiaan esim. suurimmasta segmenttikoosta, jonka ne hyväksyvät. Tämä tehdään, jotta vältettäisiin TCP-segmenttien pirstoutuminen, koska se heikentäisi merkittävästi TCP-yhteyden suorituskykyä.The connection between hosts A and B, like any other TCP connection, begins by negotiating between hosts to open the connection. Initial negotiation is called a three-phase handshake because during this handshake three opening segments are moved. The term "segment" 7,104,0602 refers to an information unit transmitted by TCP to the Internet Protocol (IP). The IP headers are associated with these TCP segments to form IP datagrams, i.e., the TCP segments are transferred to a receiver within the IP datagrams. During the initial handshake process, the host computers inform each other, for example, of the maximum segment size they accept, in order to avoid fragmentation of TCP segments as this would significantly reduce the performance of the TCP connection.

Sen jälkeen, kun alkukättely on käyty loppuun, isäntäkoneet alkavat lähettää dataa TCP-segmenttien avulla. Jokainen virheetön TCP-segmentti 10 kuitataan, mukaan lukien kättelysegmentit. Keksinnön perusajatuksen havainnollistamiseksi olettakaamme, että isäntäkone A lähettää yhden TCP-segmentin isäntäkoneelle B, Verkkokerroksella isäntäkone A lisää tähän TCP-segmenttiin IP-otsikon IP-tietosähkeen muodostamiseksi. Tietosähke muutetaan standardeiksi ATM-soluiksi liittymäsolmussa AN1, joka sijaitsee ATM-15 verkon ANW reunalla. Tietosähkeen solut reititetään sen jälkeen ATM-verkon läpi isäntäkoneen B liittymäsolmulle AN2. Tämä liittymäsolmu rekonstruoi alkuperäisen IP-tietosähkeen saapuvista soluista ja lähettää sen isäntäkoneelle B. Isäntäkone B poistaa IP-otsikon saadakseen TCP-segmentin esille. Jos segmentti vastaanotetaan oikein, isäntäkone B lähettää kuittaavan TCP-20 segmentin ACK1 takaisin isäntäkoneelle A. Tähän asti verkko on toiminut tunnetulla tavalla.After the initial handshake is complete, the hosts start transmitting data using TCP segments. Each error-free TCP segment 10 is acknowledged, including handshake segments. To illustrate the basic idea of the invention, suppose that host A transmits one TCP segment to host B, on the network layer host A adds an IP header to this TCP segment to form an IP datagram. The telegram is transformed into standard ATM cells at the access node AN1 located at the edge of the ANM of the ATM-15 network. The cells of the telegram are then routed through the ATM network to the access node AN2 of the host B. This access node reconstructs the original IP datagram from incoming cells and sends it to host B. Host B removes the IP header to expose the TCP segment. If the segment is received correctly, host B sends an acknowledgment TCP-20 segment ACK1 back to host A. So far, the network has operated in a known manner.

Verkon kuormaa valvotaan liittymäsolmussa AN1 esim. valvomalla yhden tai useamman sellaisen puskurin täyttöastetta, joka puskuroi liikennettä ATM-verkkoon. Jos ylikuormaa havaitaan, eli jos puskurin täyttöaste ylittää 25 ennalta määritetyn rajan, lähetetään solmun sisällä ruuhkailmoitus CM niiden kuittausten viivästämiseksi, jotka sillä hetkellä kulkevat kytkimen läpi kohti liikennelähteitä. Näin ollen myös esimerkkinä käyttämäämme kuittausta (ACK1) viivästetään, kun se kulkee liittymäsolmun AN1 kautta, edellyttäen, että solmussa AN1 on ylikuormaa juuri kyseisen ajanjakson aikana.The network load is monitored at the access node AN1, e.g. by monitoring the fill rate of one or more buffers that buffer traffic to the ATM network. If an overload is detected, i.e., if the buffer fill rate exceeds 25 predetermined limits, a congestion message CM is sent inside the node to delay the acknowledgments currently passing through the switch towards the traffic sources. Thus, the reset (ACK1) we use as an example is also delayed as it passes through the access node AN1, provided that the node AN1 is overloaded during that period.

·: 30 TCP on yksi harvoista kuljetusprotokollista, joilla on sisäisesti ruuhkan valvontamekanismi. Keksinnön mukainen ratkaisu on riippuvainen tästä tunnetusta TCP-valvontamekanismista, muita valvontamekanismeja ei tarvita lähteessä eikä kohteessa. Seuraavassa tätä mekanismia kuvataan lyhyesti.·: 30 TCP is one of the few transport protocols that has an internal congestion control mechanism. The solution according to the invention is dependent on this known TCP monitoring mechanism, no other monitoring mechanisms are needed at the source or at the destination. In the following, this mechanism is briefly described.

TCP-ruuhkanvalvonta perustuu kahteen muuttujaan: vastaanottimen 35 ilmoitettuun ikkunaan (Wrcvr) ja ruuhkaikkunaan (CNWD). Vastaanottimen ilmoitettua ikkunaa (advertised window) ylläpidetään vastaanottimessa vas- 8 104602 taanottimen puskurointikapasiteetin mittana ja ruuhkaikkunaa (congestion window) ylläpidetään lähetyspäässä verkon kapasiteetin mittana. TCP-lähde ei voi koskaan lähettää enempää segmenttejä kuin mikä on minimi vastaanottimen ilmoitetusta ikkunasta ja ruuhkaikkunasta.TCP congestion control is based on two variables: the declared window (Wrcvr) of the receiver 35 and the congestion window (CNWD). The advertised window of the receiver is maintained at the receiver as a measure of the buffering capacity of the receiver, and the congestion window is maintained at the transmit end as a measure of network capacity. A TCP source can never send more segments than the minimum specified in the receiver's declared window and congestion window.

5 TCP-ruuhkanvalvontamenetelmä käsittää kaksi vaihetta: hitaan aloi tuksen (slow start) ja ruuhkan eston (congestion avoidance). Muuttujaa SSTHRES (slow start threshold) pidetään yllä lähteessä, jotta erotettaisiin nämä kaksi vaihetta. Lähde aloittaa lähettämisen hitaan aloituksen mukaisesti lähettämällä yhden TCP-segmentin, eli CWND:n arvo asetetaan ykköseksi 10 alussa. Kun lähde vastaanottaa kuittauksen, se kasvattaa CWND:tä yhdellä ja lähettää sen seurauksena kaksi segmenttiä. Tällä tavoin CWND:n arvo kaksinkertaistuu hitaan aloituksen vaiheessa jokaisen edestakaista kulkuaikaa vastaavan ajanjakson aikana, koska kohdepäätelaite kuittaa jokaisen segmentin. Hitaan aloituksen vaihe päättyy ja ruuhkanestovaihe alkaa, kun CWND 15 saavuttaa muuttujan SSTHRES arvon.5 The TCP congestion control method consists of two steps: slow start and congestion avoidance. The SSTHRES (slow start threshold) variable is maintained at source to distinguish between the two steps. The source starts the transmission according to the slow start by transmitting one TCP segment, i.e. the value of CWND is set to 1 at the beginning. When the source receives the acknowledgment, it increments the CWND by one and, as a result, sends two segments. In this way, the value of the CWND is doubled in the slow start phase during each time period corresponding to the round trip as the destination terminal acknowledges each segment. The slow start phase ends and the congestion phase begins when the CWND 15 reaches the value SSTHRES.

Jos paketti menetetään TCP-yhteydellä, lähde ei vastaanota kuittausta ja sen aikavalvonta laukeaa. Lähde asettaa muuttujan SSTHRES arvoon, joka on puolet muuttujan CWND arvosta paketin menettämishetkellä. Tarkemmin sanottuna, SSTHRES asetetaan arvoon max{2, min{CWND/2, 20 Wrcvr}} ja CWND asetetaan arvoon yksi. Tämän seurauksena lähde siirtyy ruuhkanestovaiheeseen, jonka aikana se kasvattaa CWND:tä arvolla 1/CWND joka kerta, kun segmentti kuitataan.If the packet is lost on a TCP connection, the source will not receive an acknowledgment and its timeout will be triggered. The source sets the SSTHRES variable to half the value of the CWND variable at the time of packet loss. More specifically, SSTHRES is set to max {2, min {CWND / 2, 20 Wrcvr}} and CWND is set to one. As a result, the source enters a congestion phase during which it increases the CWND by 1 / CWND each time the segment is acknowledged.

Koska keksintö ei millään tavalla muuta edellä kuvattua tunnettua TCP-ruuhkanvalvontamekanisimia, sitä ei kuvata tässä yhteydessä tarkemmin. 25 Asiasta kiinnostunut voi löytää yksityiskohtaisempaa tietoa useista alan kirjoista. (Katso esim. W. Richard Stevens, TCP/IP Illustrated Volume 1, The protocols, Addison-Wesley, 1994, ISBN 0-201-63346-9).Since the invention does not in any way alter the known TCP congestion control mechanisms described above, it will not be described further here. 25 Interested persons can find more detailed information in several books in the field. (See, e.g., W. Richard Stevens, TCP / IP Illustrated Volume 1, The Protocols, Addison-Wesley, 1994, ISBN 0-201-63346-9).

Keksinnön mukaisesti viivästetään yhtä tai useampaa kuittausta, kun ylikuormaa tai ruuhkaa havaitaan verkon pisteessä. Tällä tavoin TCP-lähde, ·: 30 joka toimii edellä kuvatulla tavalla, alkaa automaattisesti vähentää lähetysno peuttaan tai ainakaan se ei kasvata lähetysnopeuttaan yhtä nopeasti kuin se muuten kasvattaisi. Tämä johtuu siitä, että viive pienentää nopeutta, jolla lähde kasvattaa ruuhkaikkunansa kokoa.According to the invention, one or more acknowledgments are delayed when overload or congestion is detected at a network point. In this way, the TCP source, ·: 30, which operates as described above, will automatically begin to reduce its transmission rate, or at least it will not increase its transmission rate as fast as it otherwise would. This is because the delay reduces the rate at which the source increases the size of its congestion window.

Kuvio 4a havainnollistaa tätä periaatetta esittämällä esimerkin, jossa 35 kuittauksia viivästetään IP-kytkimen lähtöportissa OP. Kuormanmittausyksikkö LMU mittaa kytkimen kuormitustasoa mittaamalla niiden puskureiden täyttö- 9 104602 asteita, jotka puskuroivat kytkimen läpi menosuunnassa menevää liikennettä. Huomattakoon, että kuormitustaso voidaan kuitenkin määrittää millä tahansa tunnetulla tavalla.Figure 4a illustrates this principle by providing an example in which acknowledgments 35 are delayed at the output port OP of the IP switch. The load measurement unit LMU measures the load level of the switch by measuring the fill levels of the buffers which buffer the outgoing traffic through the switch. It should be noted, however, that the load level can be determined in any known manner.

IP-tietosähkeet, jotka kulkevat kytkimen läpi paluusuunnassa reitite-5 tään ensin oikeaan lähtöporttiin. Tässä portissa vastaanotetut tietosähkeet talletetaan FIFO-tyyppiseen lähtöpuskuriin OB.The IP data telegrams passing through the switch in the reverse direction are first routed to the correct output port. Data telegrams received at this port are stored in a FIFO-type output buffer OB.

Liikenteen haaroitin TS lukee talletetut puskurit lähtöpuskurista, paketti kerrallaan puskurin ensimmäisestä muistipaikasta ML1. Liikenteen haaroitin toimii seuraavalla tavalla.The traffic splitter TS reads the stored buffers from the output buffer, packet by packet from the first buffer location ML1. The traffic splitter works as follows.

10 Jos kuormanmittausyksiköltä tuleva ruuhkasignaali CS osoittaa, että kytkimen kuorma on alle ennalta määritetyn tason, liikenteen haaroitin välittää kaikki tietosähkeet (paketit) suoraan lähtevälle siirtoyhteydelle OL, riippumatta siitä, sisältävätkö ne kuittauksia vai eivät.10 If the congestion signal CS from the load measurement unit indicates that the load on the switch is below a predetermined level, the traffic branch transmits all data telegrams (packets) directly to the outgoing transmission link OL, whether or not they contain acknowledgments.

Toisaalta, jos ruuhkasignaali CS osoittaa, että kuormitustaso on 15 saavuttanut ennalta määritetyn tason, liikenteen haaroitin alkaa lukea jokaisen IP-tietosähkeen sisällä olevan TCP-otsikon kuittausbitin. Jos tämä bitti on voimassa, eli jos tietosähke sisältää kuittauksen, liikenteen haaroitin välittää paketin kuittauspuskurille AB. Jos bitti ei ole voimassa, liikenteen haaroitin välittää paketin suoraan lähtevälle siirtoyhteydelle OL. Vain siis kuittauksen 20 sisältäviä paketteja viivästetään.On the other hand, if the congestion signal CS indicates that the load level has reached a predetermined level, the traffic branch begins to read the acknowledgment bit of the TCP header inside each IP telegram. If this bit is valid, that is, if the data telegram contains an acknowledgment, the traffic splitter forwards the packet to the acknowledgment buffer AB. If the bit is not valid, the traffic splitter will forward the packet directly to the outgoing transmission OL. Thus, only packets containing acknowledgment 20 are delayed.

Kuittauspuskurissa jokaista tietosähkettä viivästetään tietyn ajanjakson verran. Ajanjakson pituus on edullisesti suoraan verrannollinen yksikön LMU mittaamaan sen hetkiseen kuormitustasoon. Kun jokaisen lähtevän . kuittauspaketin viiveaika on kulunut, paketti lähetetään lähtevälle siirtoyhtey- 25 delle.In the acknowledgment buffer, each data telegram is delayed for a certain period of time. The length of the period is preferably directly proportional to the current load level measured by the LMU. After each outgoing. when the acknowledgment packet delay time has elapsed, the packet is transmitted to the outgoing transmission link.

Jos ACKTi kuvaa sitä ajanhetkeä, jolloin kuittauksen sisältävä paketti siirretään liikenteen haaroittimelta kuittauspuskuriin ja jos ACKTo kuvaa sitä ajanhetkeä, jolloin paketti siirretään kuittauspuskurista siirtoyhteydelle, ACKTo voidaan esittää seuraavasti: . j 30 ACKTo(j) = ACKTi(j) + dj( j=1,2,...If ACKTi represents the time at which the packet containing the acknowledgment is transferred from the traffic branch to the acknowledgment buffer and if ACKTo represents the moment at which the packet is transferred from the acknowledgment buffer to the transmission link, ACKTo may be represented as:. j 30 ACKTo (j) = ACKTi (j) + dj (j = 1,2, ...

missä j on paketin järjestysnumero ja dj on järjestysnumeron j omaavaan pakettiin liittyvän viiveen arvo.where j is the sequence number of the packet and dj is the value of the delay associated with the packet having the sequence number j.

Kuvio 4b havainnollistaa niitä hetkiä, jolloin paketit lähtevät liikenteen haaroittimesta ja kuittauspuskurista. Oletetaan, että liiallista kuormaa havai-35 taan hetken ACKTo(7) jälkeen (tätä ennen kuittauksia ei ole viivästetty). Jos viiveensäätöyksikön DCU vastaanottama ruuhkasignaali osoittaa, että kuor- 10 104602 mitustaso on ylittänyt ennalta määritetyn arvon, viiveen säätöyksikkö suorittaa algoritmin, joka määrittää, kuinka kauan seuraavaa siirtoyhteydelle siirrettävää pakettia tulisi viivästää. Laskettu arvo voi riippua yhdestä tai useammasta parametristä, kuten sen hetkisestä liikennenopeudesta, sen hetkisestä pusku-5 rien täyttöasteesta tai viiveen edellisestä arvosta (dj.,). Kuten kuviosta 4b havaitaan, viiveen arvo voi vaihdella paketista toiseen.Figure 4b illustrates the times when packets leave the traffic splitter and the acknowledgment buffer. Suppose that an excessive load is detected after a moment ACKTo (7) (before this, the acknowledgments have not been delayed). If the congestion signal received by the delay control unit DCU indicates that the load level 10410602 has exceeded a predetermined value, the delay control unit performs an algorithm that determines how long the next packet to be transmitted to the transmission link should be delayed. The calculated value may depend on one or more parameters, such as the current traffic speed, the current buffer load rate, or the previous value of the delay (dj,). As seen in Figure 4b, the delay value may vary from packet to packet.

Kuvio 5 on vuokaavio, joka havainnollistaa esimerkkiä algoritmista, jonka viiveen säätöyksikkö suorittaa jokaiselle paketille, joka luetaan ulos kuittauspuskurista AB.FIG. 5 is a flowchart illustrating an example of an algorithm performed by a delay control unit for each packet read out from acknowledgment buffer AB.

10 Jos ruuhkaa havaitaan, lasketaan kuittauspuskurista sillä hetkellä ulos luettavan paketin viivearvo dj (eli aika, jonka verran sen hetkistä pakettia viivästetään puskurissa) seuraavalla kaavalla: dj = adH + (1-a)dM (1) missä dj., on edellisen paketin viivearvo, dM on mitattu viivearvo ja a 15 on tasoituskerroin (edullisesti a<0,5<1). Mitattu viive on todellinen viive, joka mitataan siitä hetkestä, jolloin paketti vastaanotetaan kuittauspuskuriin siihen hetkeen, jolloin paketti luetaan ulos kuittauspuskurista. Tämä viive voidaan mitata keskiarvona tietyn ajanjakson yli tai keskiarvona tietystä määrästä paketteja. Viiveensäätöyksikkö voi suorittaa tämän mittauksen.10 If congestion is detected, the delay value dj of the packet currently read out from the acknowledgment buffer (i.e., the amount of time the current packet is delayed in the buffer) is calculated by the following formula: dj = adH + (1-a) dM (1) where dj. , dM is the measured delay value and a 15 is the smoothing factor (preferably α <0.5 <1). The measured delay is the actual delay measured from the moment the packet is received in the acknowledgment buffer to the moment the packet is read out from the acknowledgment buffer. This delay can be measured as an average over a given time period or as an average over a certain number of packets. The delay control unit can perform this measurement.

20 Jos ruuhkaa havaitaan ja jos dj.,=0 ja dM=0, eli jos edellistä pakettia ei viivästetty ja jos tietyn ennalta määrätyn edeltävän ajanjakson aikana kuittaus-puskurissa AB ei ole ollut paketteja, sen hetkisen paketin viivearvo dj saa ennalta määritetyn viiveparametrin dinita| arvon, eli df = djnffia,.20 If congestion is detected and if dj, = 0 and dM = 0, that is, if there was no delay in the previous packet and if there were no packets in the acknowledgment buffer AB for a predetermined predetermined time period, the delay value dj of the current packet gets value, that is, df = djnff,.

Kun kytkin palautuu ruuhka- tai ylikuormatilanteesta, viiveensäätöyk- ' 9 25 sikkö laskee viivearvon dj kaavalla: dj = adj., - (1-a)dM (2).When the switch returns from a congestion or overload condition, the delay control unit calculates a delay value dj using the formula: dj = adj., - (1-a) dM (2).

Toisen termin tarkoituksena on kaavassa (1) tasaisesti lisätä viivettä, kun ruuhkaa havaitaan, ja kaavassa (2) tasaisesti vähentää viivettä, kun verkko palautuu ruuhkasta.The second term is intended to steadily increase the delay in formula (1) when congestion is detected, and in formula (2) to steadily reduce the delay when the network returns from congestion.

·: 30 Kuvio 6a esittää kuvion 4a mukaista ratkaisua jaettua puskuria käyt tävässä kytkinarkkitehtuurissa. Kuvion 6a toteutustavassa puskuroidaan kaikki paketit jaetussa puskurissa SB ennen kuin kukin paketti reititetään kytkimen oikeaan lähtöporttiin OP;. Muussa suhteessa kuvion 6a toteutustapa vastaa kuvion 4a toteutustapaa. Liikenteen haaroittimet TS; (i=1...n) voivat myös 35 muodostaa yhden yksikön, joka lukee paketin kerrallaan jaetusta puskurista ja 11 104602 toimittaa paketin oikeaan porttiin. Viiveen säätöyksikkö DCU (ei esitetty kuviossa 6a) voidaan myös toteuttaa kaikille lähtöporteille yhteisenä yksikkönä.·: 30 Figure 6a illustrates the solution of Figure 4a in a distributed buffer switch architecture. In the embodiment of Figure 6a, all packets in the shared buffer SB are buffered before each packet is routed to the switch's right output port OP ;. In another respect, the embodiment of Figure 6a corresponds to the embodiment of Figure 4a. Traffic junctions TS; (i = 1 ... n) may also form one unit which reads the packet at a time from the shared buffer and 11,104,602 delivers the packet to the correct port. The delay control unit DCU (not shown in Fig. 6a) may also be implemented as a unit common to all output ports.

Kuvioiden 4a ja 6a toteutustavoissa kuittauspuskuri sisältää useiden yhteyksien paketteja ja kaikkia paketteja viivästetään saman viivästysalgorit-5 min mukaisesti. Vaihtoehtoisesti paketit voidaan tallettaa kussakin lähtöportis-sa yhteyskohtaisesti, eli kunkin IP-yhteyden (tai TCP-yhteyden) datapaketit voidaan tallettaa erilliseen puskuriin. Näissä tapauksissa jokainen puskuri voi olla FIFO-tyyppinen puskuri, koska yksittäisen jonon paketteja ei tarvitse järjestää uudelleen vaikka eri yhteyksiä viivästettäisiin eri tavalla. Kunkin 10 yhteyden suhteellinen osuus menosuunnan puskurissa voidaan myös määrittää kuormitustason mittauksen avulla ja yhteyksiä voidaan viivästää mitattujen arvojen perusteella. Tällä tavoin voidaan viivästää enemmän niiden yhteyksien kuittauksia, jotka kuormittavat verkkoa voimakkaammin. Kuvio 6b havainnollistaa tätä vaihtoehtoista toteutustapaa, jossa lähtöportissa on puskuriyksikkö 15 BFU, joka sisältää erilliset jonot ainakin joillekin yhteyksistä.In the embodiments of Figures 4a and 6a, the acknowledgment buffer includes multi-link packets and all packets are delayed according to the same delay algorithms-5 min. Alternatively, packets can be stored on each output port per connection, i.e., data packets for each IP connection (or TCP connection) can be stored in a separate buffer. In these cases, each buffer can be a FIFO-type buffer, since packets in a single queue do not have to be rearranged even if different connections are delayed differently. The relative proportion of each of the 10 connections in the uplink buffer can also be determined by load level measurement and the connections can be delayed based on the measured values. In this way, it is possible to delay more acknowledgments of connections that load more heavily on the network. Figure 6b illustrates this alternative embodiment, wherein the output port has a buffer unit 15 BFU that includes separate queues for at least some of the connections.

Jos yhteyskohtaisia puskureita ei käytetä ja jos eri yhteyksiä viivästetään eri tavalla, puskurit voivat olla esim. siirtorekisterityyppisiä muisteja, jotka sallivat pakettien uudelleenjärjestelyn siten, että vähemmän kuormittavien yhteyksien paketit voivat ohittaa ylikuormittavien yhteyksien paketteja.If dedicated buffers are not used and different connections are delayed differently, the buffers may be, for example, shift register type memories, which allow packet reordering so that packets of less busy connections can override packets of overloaded connections.

20 Kuten aiemmin mainittiin, keksinnön mukaista ruuhkanvalvontame- netelmää voidaan hyödyntää pakettiverkoissa. Tämä tarkoittaa sitä, että verkossa on käyttäjien päätelaitteita, verkkoliittymäpisteitä, jotka taijoavat liittymän verkkoon, ja kytkimiä.As mentioned earlier, the congestion control method of the invention can be utilized in packet networks. This means that there are user terminals in the network, network access points that are running the interface, and switches.

Käyttäjien päätelaitteet toimivat liikennelähteinä -kohteina eli pisteinä, 25 jotka lähettävät ja vastaanottavat dataa. Kytkimet voivat olla pakettikytkimiä tai ATM-kytkimiä. Liittymäpiste voi olla esim. reititin tai liittymäpiste voi suorittaa pakettien kokoamista/uudelleenkokoamista, reititystä tai kytkentää. Kuittaavien pakettien viivästämistä suoritetaan edullisesti liittymäpisteissä, mutta sitä voidaan suorittaa myös verkossa olevissa kytkimissä, kuten myöhemmin . " 30 kuvataan.User terminals act as traffic sources, i.e., points that send and receive data. The switches may be packet switches or ATM switches. The access point may be, for example, a router or the access point may perform packet reassembly / reassembly, routing or switching. The delay of acknowledgment packets is preferably performed at the access points, but it can also be performed at the switches in the network, as later. "30 will be described.

Kuviot 7a ja 7b esittävät keksinnön kahta eri toteutustapaa IP-verkossa. Kuvion 7a toteutustavassa suoritetaan ruuhkan ilmaisu sekä kuittausten viivästäminen liittymäkytkimessä IPS1, joka tarjoaa liittymän IP-verkkoon. Kuvion 7b toteutustavassa ruuhkan ilmaisu suoritetaan liittymäsol-35 mussa, kun sen sijaan kuittausten viivästäminen toteutetaan käyttäjän päätelaitteen UT TCP/IP-protokollapinossa. Ruuhkailmoitukset CS lähetetään käyt- 12 104602 täjän päätelaitteelle, jossa kuittauksia sisältäviä paketteja viivästetään yllä kuvatulla tavalla ennen kuin ne lähetetään TCP-lähteelle.Figures 7a and 7b show two different embodiments of the invention in an IP network. In the embodiment of Figure 7a, congestion detection and acknowledgment delays are performed at the access switch IPS1 providing the access to the IP network. In the embodiment of Figure 7b, congestion detection is performed at the subscriber node 35, while acknowledgment delay is implemented in the TCP / IP protocol stack of the UT. Congestion messages CS are transmitted to the user terminal 104 1042, where packets containing acknowledgments are delayed as described above before being transmitted to the TCP source.

Kuviot 8a ja 8b esittävät keksinnön kahta eri toteutustapaa ATM-verkon yhteydessä. Kuvion 8a toteutustavassa ruuhkan ilmaisu ja kuittausten 5 viivästäminen suoritetaan liittymäsolmussa AN. Liittymäsolmu voidaan jakaa liitäntäkorttiyksikköön ICU ja ATM-kytkimeen ASW. Liitäntäkorttiyksikkö sisältää ATM-sovituskerroksen (AAL) toiminnot IP-tietosähkeiden pilkkomista ja uudelleenkokoamista varten. Ruuhkaa valvotaan solmun ATM-kytkimen puoleisessa osassa esim. valvomalla niiden puskureiden täyttöasteita, jotka pus-10 kuroivat tilaajalta verkkoon päin menevää liikennettä. Ruuhkailmoitukset siirretään liitäntäkorttiyksikölle, jossa uudelleen koottuja IP-paketteja viivästetään edellä kuvatulla tavalla. Kuvion 8b toteutustavassa ruuhkaa valvotaan kytkimessä ASW, kuittaavia paketteja viivästetään sen sijaan käyttäjän päätelaitteen TCP/IP-protokollapinossa.Figures 8a and 8b show two different embodiments of the invention in connection with an ATM network. In the embodiment of Figure 8a, congestion detection and acknowledgment delay are performed at the access node AN. The access node can be divided into an interface card unit ICU and an ATM switch ASW. The interface card unit includes ATM Adaptation Layer (AAL) functions for cleaving and reassembling IP datagrams. Congestion is monitored in the node's ATM switch side, for example, by monitoring the fill rates of the buffers that push the subscriber's traffic to the network. Congestion messages are transmitted to the interface card unit, whereby the redesigned IP packets are delayed as described above. In the embodiment of Figure 8b, congestion is monitored on the ASW switch, acknowledgment packets are instead delayed on the TCP / IP protocol stack of the user terminal.

15 Kuvioiden 7a ja 8a toteutustavat ovat edullisemmat, koska on paljon taloudellisempaa toteuttaa kuittausten viivästäminen yhdessä liittymäsolmussa kuin useissa päätelaitteissa, jotka sijaitsevat käyttäjien tiloissa. Lisäksi on luonnollisestikin edullisempaa, että käyttäjien päätelaitteita ei tarvitse muuttaa mitenkään otettaessa keksintö käyttöön.Embodiments of Figures 7a and 8a are more advantageous because it is much more economical to implement acknowledgment delay in a single access node than in a plurality of terminals located in users' premises. Furthermore, it is of course more advantageous that the user terminals do not have to be modified in any way when the invention is implemented.

20 Kuten aiemmin mainittiin, yksi yhteysreitillä oleva verkkoelementti voi komentaa toista samalla reitillä olevaa verkkoelementtiä suorittamaan viivästämisen. Kuvio 9 havainnollistaa tätä periaatetta TCP/ATM-verkossa esittämällä kahden päätelaitteen (A ja B) välistä yhteyttä, jolla käytetään TCP:tä kuljetuskerroksen protokollana. Käyttäjän päätelaitteiden liittymäsolmujen 25 (ANS ja AND) lisäksi kuviossa on esitetty vain yksi välissä oleva ATM-solmu (N1) ja solmuja yhdistävät siirtojohdot. Oletetaan, että verkkosolmuissa on kanavia kahteen suuntaan; menosuunnan kanava ja paluusuunnan kanava. Kuvauksen yksinkertaistamiseksi oletamme, että datapaketit lähetetään päätelaitteesta A päätelaitteeseen B liittymäsolmun ANS, yhden tai useamman 30 ATM-kytkimen ja liittymäsolmun AND kautta (menosuunta) ja kuittaukset palautetaan päätelaitteelta B päätelaitteelle A liittymäsolmun AND, yhden tai useamman ATM-kytkimen ja liittymäsolmun ANS kautta (paluusuunta). Kuten edellä mainittiin, liittymäsolmut voidaan jakaa liitäntäkorttiyksikköön ICU ja ATM-kytkimeen ASW. Liitäntäkorttiyksikkö sisältää ATM-sovituskerroksen 35 (AAL) toiminnot IP-tietosähkeiden pilkkomiseksi ja uudelleenmuodostamiseksi. Kuten kuvion 8a esimerkissä, kuittausten viivästäminen suoritetaan liitäntä- „ 104602 I o korttiyksikössä. Tässä tapauksessa ruuhkaa ei kuitenkaan valvota liittymäsol-mun ATM-kytkinosassa, vaan ATM-verkossa kauempana sijaitsevassa ATM-kytkimessä. Kuviossa 9 mainittu ATM-kytkin, joka antaa iiittymäsolmulle käskyt viivästää kuittauksia, on solmu N1.As mentioned earlier, one network element on the connection path may command another network element on the same path to perform the delay. FIG. 9 illustrates this principle in a TCP / ATM network by illustrating a connection between two terminals (A and B) using TCP as a transport layer protocol. In addition to the user terminal access nodes 25 (ANS and AND), the figure shows only one intermediate ATM node (N1) and transmission lines connecting the nodes. Assume that network nodes have channels in two directions; the return channel and the return channel. To simplify the description, we assume that data packets are transmitted from terminal A to terminal B via access node ANS, one or more ATM switches and access node AND (downstream) and acknowledgments are returned from terminal B to terminal A via access node AND, one or more ATM switches and access ). As mentioned above, the access nodes can be divided into an interface card unit ICU and an ATM switch ASW. The interface card unit includes the ATM Adaptation Layer 35 (AAL) functions for cleaving and rebuilding IP datagrams. As in the example of Fig. 8a, acknowledgment delays are performed on the interface unit "10460210". However, in this case, the congestion is not monitored in the ATM switch section of the access node, but in the ATM switch further away in the ATM network. The ATM switch mentioned in Figure 9 which commands the access node to delay acknowledgments is Node N1.

5 Kuvion 9 mukaisessa verkossa on ABR-vuonohjaus lähettävän ääri- järjestelmän (ANS) ja vastaanottavan äärijärjestelmän (AND) välillä. Mitä tulee RM-soluvirtaan tällä kaksisuuntaisella yhteydellä, kukin päätepiste on sekä lähettävä että vastaanottava äärijäijestelmä. Kuten kuviossa 9 esitetään menosuunnan informaatiovirran osalta liittymäsolmusta ANS liittymäsolmuun 10 AND, valvontasilmukka koostuu kahdesta RM-soluvirrasta, yhdestä me-nosuuntaisesta ja toisesta paluusuuntaisesta. Liittymäsolmu ANS generoi menosuuntaisia RM-soluja, jotka liittymäsolmu AND kääntää ympäri ja jotka lähetetään takaisin Iiittymäsolmulle ANS paluusuunnan RM-soluina. Nämä paluusuunnan RM-solut kuljettavat verkkosolmujen ja/tai liittymäsolmun AND 15 antamaa takaisinkytkentäinformaatiota. ATM-verkossa oleva verkkosolmu, kuten solmu N1, voi: - lisätä takaisinkytkentäinformaatiota suoraan RM-soluihin, kun ne kulkevat solmun kautta meno- tai paluusuunnassa, - informoida lähdettä epäsuorasti ruuhkasta asettamalla EFCI-brtin 20 (Explicit Forward Congestion Indication) niiden datasolujen (käyttäjäsolujen) otsikoissa, jotka kulkevat menosuunnassa. Tässä tapauksessa liittymäsolmu AND päivittää paluusuunnan RM-solut tämän ruuhkainformaation mukaisesti, - generoida paluusuuntaisia RM-soluja.The network of Figure 9 has ABR flow control between the transmitting extreme system (ANS) and the receiving extreme system (AND). With respect to the RM cell stream on this two-way connection, each endpoint is both a transmitting and a receiving extreme system. As shown in Fig. 9, for the flow of forward information from the access node ANS to the access node 10 AND, the monitoring loop consists of two RM cell streams, one outgoing and the other reverse. The access node ANS generates forward RM cells which are inverted by the access node AND which are sent back to the access node ANS as reverse RM cells. These reverse RM cells carry feedback information provided by network nodes and / or access node AND 15. A network node in an ATM network, such as node N1, can: - add feedback information directly to the RM cells as they pass through the node in the upstream or downstream direction, - inform the source indirectly from congestion by setting Explicit Forward Congestion Indication (EFCI) ) in headings that go in the direction of going. In this case, the access node AND updates the reverse RM cells according to this congestion information, - generate the reverse RM cells.

Näin ollen on ainakin kolme erilaista tapaa ohjata liittymäsolmussa 25 tapahtuvaa kuittausten viivästämistä verkosta päin.Thus, there are at least three different ways to control the acknowledgment delay at the access node 25 from the network.

RM-soluissa ruuhkainformaatio voidaan lisätä esim. 45 oktetin pituiseen kenttään “Function Specific Fields” tai sitä seuraavaaan varattu-osaan (Reserved), joka on 6 bitin pituinen. ABR-kykyiselle käyttäjälle RM-soluissa välitettäviä liikenneparametrejä kuvataan ITU-T:n spesifikaation 1.371 kohdas-30 sa 5.5.6.3 ja RM-solun rakennetta saman spesifikaation kohdassa 7.1, joista kiinnostunut lukija voi löytää yksityiskohtaisempaa kuvausta RM-soluista.In RM cells, the congestion information can be added, for example, to a 45 octets long field called "Function Specific Fields" or to a subsequent Reserved part which is 6 bits long. The traffic parameters transmitted to the ABR-capable user in RM cells are described in ITU-T Specification 1.371, paragraph 5.5.6.3, and the structure of the RM cell, in paragraph 7.1 of the same specification, from which an interested reader can find a more detailed description of RM cells.

EFCI-bitti on puolestaan keskimmäisin bitti ATM-solun otsikon 3-bittisessä PTI-kentässä (Payload Type Indicator).The EFCI bit is the middle bit in the 3-bit PTI (Payload Type Indicator) field of the ATM cell header.

Keksinnön tämän edullisen toteutustavan mukaisesti vastaava liitty-35 mäsolmu vastaanottaa ruuhkainformaatiota sisältäviä paluusuuntaisia RM-soluja, kun ATM-verkon solmussa havaitaan ylikuormaa tai ruuhkaa. Tämän 14 104602 informaation perusteella liittymäsolmun ATM-kytkinosa säätää lähetysnopeuttaan ATM-verkon suuntaan ja vuonohjausmekanismi viivästää paluusuuntai-sella kanavalla kohti liikennelähdettä kulkevia kuittauksia. Tällä tavoin TCP-lähde alkaa automaattisesti pienentää lähetysnopeuttaan tai ainakaan se ei 5 lisää lähetysnopeuttaan niin nopeasti kuin se muuten tekisi. Kuten aiemmin mainittiin, tämä johtuu siitä, että viive pienentää nopeutta, jolla lähde kasvattaa ruuhkaikkunansa kokoa.In accordance with this preferred embodiment of the invention, the corresponding access node 35 receives reverse RM cells containing congestion information when an overload or congestion is detected in an ATM network node. Based on this 14,104,602 information, the ATM switch portion of the access node adjusts its transmission rate in the direction of the ATM network and the flow control mechanism delays acknowledgments to the traffic source on the reverse channel. In this way, the TCP source automatically begins to lower its transmission rate, or at least it does not increase its transmission rate as fast as it otherwise would. As mentioned earlier, this is because the delay reduces the rate at which the source increases its congestion window size.

Yllä kuvatulla tavalla voidaan suorittaa päästä päähän ulottuva ABR-vuonohjaus muuttamatta yhteistoiminnassa olevaa TCP-protokollaa. Toisin 10 sanoen, ATM- ja TCP-vuonohjaussilmukat voidaan toteuttaa taloudellisesti edullisella tavalla.End-to-end ABR flow control can be performed as described above without changing the cooperating TCP protocol. In other words, the ATM and TCP flow control loops can be implemented in an economically advantageous way.

Kuviot 10 ja 11 ovat aikajanoja, jotka havainnollistavat segmenttien vaihtoa TCP-lähteen ja TCP-kohteen välillä. Lähde on esitetty vasemmalla puolella ja kohde oikealla puolella. Lähetys- ja vastaanottotapahtumia on 15 merkitty numeroilla, jotka alkavat kolmosesta.Figures 10 and 11 are timelines illustrating the interchange of segments between a TCP source and a TCP destination. The source is shown on the left and the subject on the right. There are 15 sending and receiving events marked with numbers starting with three.

Kuvio 10 on esimerkki siitä, kuinka lähde ja kohde käyttäytyvät konventionaalisessa verkossa eli verkossa, jossa ei käytetä keksinnön mukaista menetelmää yhteyden paluureitillä. Aluksi lähde on hitaan aloituksen vaiheessa. Olettakaamme, että verkon kuorma kasvaa vähitellen, minkä seurauksena 20 lopulta menetetään verkon ylikuormittuneessa pisteessä paketti P10, joka lähetetään numeron 21 kohdalla. Tämän jälkeen lähde lähettää yhä paketteja, koska sen vastaanottamat kuittaukset ovat järjestyksessä. Numeron 37 kohdalla lähde huomaa viimein, että vastaanotettu kuittausnumero ei ollut oikean järjestyksen mukainen, jolloin se lopettaa lähettämisen.FIG. 10 is an example of how a source and a destination behave in a conventional network, i.e., a network that does not employ the method of the invention on the reverse link path. Initially, the source is in the slow start phase. Let us assume that the network load gradually increases, resulting in the loss of packet P10 at the congested point of the network, which is transmitted at 21. After that, the source still sends packets because the acknowledgments it receives are in order. At 37, the source finally discovers that the received acknowledgment number was not in the correct order, and thus stops sending.

? 25 Numeron 41 kohdalla ajastin laukeaa ja lähde suorittaa paketin P10 uudelleenlähetyksen. Samalla lähde siirtyy ruuhkanestovaiheeseen.? 25 At number 41, the timer is triggered and the source performs retransmission of packet P10. At the same time, the source goes into the congestion phase.

Kuvio 11 esittää esimerkin tietojen vaihdosta, kun verkko käyttää esillä olevaa keksintöä. Tässä tapauksessa havaitaan ylikuormaa sen jälkeen, kun kohde on lähettänyt seitsemännen kuittauksen (ACK7). Tämän seurauk-,* 30 sena tätä kuittausta ja sitä seuraavia kuittauksia (ACK8...ACK11) viivästetään verkossa.Figure 11 illustrates an example of data exchange when a network uses the present invention. In this case, an overload is detected after the object has sent the seventh acknowledgment (ACK7). As a result, * 30 this acknowledgment and subsequent acknowledgments (ACK8 ... ACK11) are delayed on the network.

Kuten kuviosta voidaan havaita, lähde alkaa vähentää lähetysnopeuttaan jo numeron 24 kohdalla jatkaen hitaan aloituksen vaiheessa. Kuten kuvioissa on esitetty, perinteinen verkko käyttäytyy epätasaisemmin; ensin 35 lähde lähettää paljon paketteja ja kun ruuhkaa havaitaan, paketteja ei lähetetä lainkaan. Keksintöä käyttävä verkko käyttäytyy sen sijaan paljon vakaammin, 15 104602 koska kuittausten viivästäminen estää lähdettä kasvattamasta ruuhkaik-kunaansa yhtä nopeasti kuin tunnetussa verkossa. Tämän ansiosta voidaan liittymäverkon puskurointikapasiteettia pienentää.As can be seen in the figure, the source begins to decrease its transmission rate already at 24, continuing at the slow start phase. As shown in the figures, the traditional network behaves more unevenly; first 35 sources send a lot of packets and when the traffic is detected no packets are sent at all. The network using the invention, on the other hand, behaves much more steadily, since delaying the acknowledgments prevents the source from increasing its peak traffic as fast as in the known network. This allows the buffering capacity of the access network to be reduced.

Vaikka keksintöä on edellä kuvattu viitaten oheisten kuvioiden mukai-5 siin esimerkkeihin, on selvää, että keksintö ei ole rajoittunut niihin, vaan sitä voidaan muunnella monin tavoin oheisten patenttivaatimusten puitteissa. Seuraavassa kuvataan lyhyesti joitakin muuntelumahdollisuuksia.Although the invention has been described above with reference to the examples in the accompanying figures, it is to be understood that the invention is not limited thereto, but can be modified in many ways within the scope of the appended claims. The following is a brief description of some variations.

Kuten edellä esitettiin, käyttäjän päätelaitteelle asetettava edellytys on, että se kuittaa oikein vastaanotetut (virheettömät) tietoyksiköt. Tämän takia 10 ajatusta voidaan periaatteessa käyttää minkä tahansa muun protokollan yhteydessä, joka lähettää kuittauksia ja vähentää lähetysnopeuttaan, jos kuittaukset viivästyvät. Kaava, jota käytetään viiveen absoluuttisen arvon laskemiseen voi myös vaihdella monin tavoin. Mittausyksikkö voi informoida kuormitustasosta monin tavoin; ON/OFF-tyyppisenä informaationa tai mitatun kuor-15 man arvon osoittamiseen voidaan käyttää useampaa kuin yhtä bittiä. Signaali (CS), joka informoi kuormitustasosta voi myös sisältää informaatiota niistä yhteyksistä, joita kuittausten viivästäminen koskee. Käyttäjien päätelaitteilla voi olla myös langaton liittymä verkkoon.As stated above, a condition for the user terminal is that it acknowledges correctly received (error-free) data units. As a result, the 10 ideas can in principle be used in conjunction with any other protocol that transmits acknowledgments and reduces its transmission rate if acknowledgments are delayed. The formula used to calculate the absolute value of the delay can also vary in many ways. The measurement unit can inform the load level in many ways; More than one bit may be used as ON / OFF type information or to indicate the value of the measured load. The signal (CS) which informs of the load level may also contain information about the connections affected by the delay of acknowledgments. User terminals may also have a wireless interface to the network.

««

• I• I

Claims (15)

104602104602 1. Menetelmä ylikuormituksen valvomiseksi pakettivälitteisessä verkossa, joka käsittää liikennelähteitä (A), liikennekohteita (B) ja verkkosolmuja (AN, N1), jonka menetelmän mukaisesti 5. lähetetään tietoyksikköjä liikennelähteestä liikennekohteeseen, - lähetetään kuittaus kohteesta lähteelle, jos tietoyksikkö vastaanotetaan oikein kohteessa, ja - mitataan kuormitustasoa verkon ainakin yhdessä solmussa, tunnettu siitä, että 10 lähdettä kohti kulkevia kuittauksia viivästetään, mikäli mitattu kuormi tustaso ylittää ennalta määrätyn arvon.1. A method of monitoring congestion in a packet switched network comprising traffic sources (A), traffic destinations (B), and network nodes (AN, N1), comprising: 5. transmitting information units from a traffic source to a destination, - sending an acknowledgment from the source to the destination; - measuring the load level at at least one node of the network, characterized in that the acknowledgments per 10 sources are delayed if the measured load level exceeds a predetermined value. 2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että kuittauksia viivästetään verkon samassa solmussa, jossa kuormitustasoa mitataan.Method according to claim 1, characterized in that the acknowledgments are delayed at the same node of the network where the load level is measured. 3. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että kuittauksia viivästetään verkon eri solmussa kuin se, jossa kuormitustasoa mitataan.A method according to claim 1, characterized in that the acknowledgments are delayed at a different node of the network than the one in which the load level is measured. 4. Patenttivaatimuksen 3 mukainen menetelmä, tunnettu siitä, että kuittauksia viivästetään liittymäsolmussa (AN, ANS, AND), joka tarjoaa 20 liikennelähteille ja -kohteille pääsyn verkkoon, ja kuormitustasoa mitataan ainakin yhdessä verkon keskellä sijaitsevassa solmussa (N1).A method according to claim 3, characterized in that the acknowledgments are delayed in the access node (AN, ANS, AND), which provides access to traffic sources and destinations in the network, and the load level is measured in at least one node (N1) in the middle of the network. 5. Patenttivaatimuksen 4 mukainen menetelmä, jossa liittymäsolmu-jen välinen verkko on ATM-verkko, tunnettu siitä, että - kuormitustasotietoa kuljetetaan liittymäsolmulle RM-soluissa, ja 25. kuittauksia viivästetään RM-solujen sisältämän informaation perus teella.The method of claim 4, wherein the network between the access nodes is an ATM network, characterized in that - load level information is transported to the access node in RM cells, and the acknowledgments are delayed based on the information contained in the RM cells. 6. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että kuittauksia viivästetään verkon ainakin yhdessä solmussa siten, että - talletetaan ainakin osa solmun läpi ensimmäisessä suunnassa ·:* 30 kulkevista datapaketeista ensimmäiseen puskuriin, - luetaan datapaketit ulos ensimmäisestä puskurista siten, että (a) paketit, jotka sisältävät kuittauksen siirretään toiseen puskuriin, ja (b) paketit, joissa ei ole kuittausta siirretään suoraan lähtevälle siirtoyhteydelle (OL), - määritetään jokaiselle toisessa puskurissa olevalle paketille viivear- 35 vo, ja • · 17 104602 - luetaan toisesta puskurista paketti lähtevälle siirtoyhteydelle (OL), kun mainitulle paketille määritetty viive on kulunut.A method according to claim 1, characterized in that the acknowledgments are delayed in at least one node of the network by: - storing at least a portion of data packets passing through the node in a first direction ·: * 30 to the first buffer, - reading the data packets from the first buffer such that containing an acknowledgment are transferred to another buffer, and (b) packets without acknowledgment are forwarded directly to the outgoing transport link (OL), - defining a delay value for each packet in the second buffer, and • · 17 104602 - reading the packet from the second buffer for the outgoing transport link. (OL) when the delay specified for said packet has elapsed. 7. Patenttivaatimuksen 6 mukainen menetelmä, tunnettu siitä, että ensimmäisiä ja toisia puskureita käytetään ensimmäisen suunnan jokai- 5 sessa lähtöportissa.Method according to claim 6, characterized in that the first and second buffers are used at each output port in the first direction. 8. Patenttivaatimuksen 6 mukainen menetelmä, tunnettu siitä, että viivearvo määritetään käyttäen samaa määrityssääntöä kaikille toisessa puskurissa oleville paketeille.The method of claim 6, characterized in that the delay value is determined using the same determination rule for all packets in the second buffer. 9. Patenttivaatimuksen 8 mukainen menetelmä, tunnettu siitä, 10 että paketin viivearvo määritetään edeltävän paketin viivearvon ja tietyn edeltävän jakson yli mitatun viivearvon perusteella.Method according to claim 8, characterized in that the packet delay value is determined on the basis of the delay value of the preceding packet and the delay value measured over a certain preceding period. 10. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että vain valituille yhteyksille kuuluvia kuittauksia viivästetään, jos mitattu kuormitustaso ylittää ennalta määrätyn arvon.A method according to claim 1, characterized in that only acknowledgments belonging to selected connections are delayed if the measured load level exceeds a predetermined value. 11. Pakettivälitteinen tietoliikenneverkko, joka käsittää - solmuja, jotka on kytketty toisiinsa siirtoyhteyksillä (TL1, TL2), - käyttäjien päätelaitteita (UT), jotka on kytketty solmuihin, jotka päätelaitteet toimivat liikennelähteinä, jotka lähettävät datapaketteja ja liikenne-kohteina, jotka vastaanottavat datapaketteja, ja 20. mittauselimet (LMU) vallitsevan kuormitustason mittaamiseksi sol mussa, tunnettu siitä, että verkko käsittää lisäksi - viivästyselimet (AB, DCU), jotka on toiminnallisesti kytketty mittaus-elimille (LCU) sellaisten datapakettien viivästämiseksi, jotka kuljettavat koh- 25 teestä lähteelle meneviä kuittauksia.A packet switched communication network comprising: - nodes interconnected by transmission links (TL1, TL2), - user terminals (UTs) connected to nodes, which act as traffic sources that send data packets and traffic objects that receive data packets, and 20. measuring means (LMU) for measuring the current load level in the node, characterized in that the network further comprises: - delay means (AB, DCU) operatively coupled to the measuring means (LCU) for delaying data packets carrying from the destination to the source acknowledgments. 12. Patenttivaatimuksen 11 mukainen verkko, tunnettu siitä, että verkon yksi solmu käsittää sekä mittauselimet että viivästyselimet.The network according to claim 11, characterized in that one node of the network comprises both measuring elements and delaying elements. 13. Patenttivaatimuksen 12 mukainen verkko, tunnettu siitä, että ainakin yksi solmu on liittymäsolmu, joka yhdistää ainakin yhden käyttäjäpää- . : 30 telaitteen verkkoon.13. The network of claim 12, wherein the at least one node is an access node that connects at least one user head. : 30 telecommunication network. 14. Patenttivaatimuksen 12 mukainen IP-verkko, jossa verkon solmut välittävät IP-paketteja, tunnettu siitä, että mainittu ainakin yksi solmu voi olla mikä tahansa yksi tai useampi verkkosolmu.The IP network according to claim 12, wherein the network nodes transmit IP packets, characterized in that said at least one node can be any one or more network nodes. 15. Patenttivaatimuksen 11 mukainen TCP/ATM-verkko, tunnettu 35 siitä, että viivästyselimet on kytketty mittauselimille RM-soluvirran avulla, jotka ... RM-solut kuljettavat kuormitustasoinformaatiota. 104602The TCP / ATM network according to claim 11, characterized in that the delay elements are connected to the measuring elements by means of a RM cell current, which ... RM cells carry load level information. 104602
FI973746A 1997-07-14 1997-09-22 Flow control in a telecommunications network FI104602B (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
FI973746A FI104602B (en) 1997-07-14 1997-09-22 Flow control in a telecommunications network
PCT/FI1998/000591 WO1999004536A2 (en) 1997-07-14 1998-07-14 Flow control in a telecommunications network
AU84434/98A AU745204B2 (en) 1997-07-14 1998-07-14 Flow control in a telecommunications network
CN98808150.4A CN1267419A (en) 1997-07-14 1998-07-14 Flow control in telecommunications network
EP98935050A EP0997020A2 (en) 1997-07-14 1998-07-14 Flow control in a telecommunications network
JP2000503633A JP2001510957A (en) 1997-07-14 1998-07-14 Telecommunications network flow control
NO20000171A NO20000171L (en) 1997-07-14 2000-01-13 Flow control in a telecommunications network

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FI972981 1997-07-14
FI972981A FI972981A (en) 1997-07-14 1997-07-14 Flow control in a telecommunications network
FI973746A FI104602B (en) 1997-07-14 1997-09-22 Flow control in a telecommunications network
FI973746 1997-09-22

Publications (3)

Publication Number Publication Date
FI973746A0 FI973746A0 (en) 1997-09-22
FI973746A FI973746A (en) 1999-01-15
FI104602B true FI104602B (en) 2000-02-29

Family

ID=26160424

Family Applications (1)

Application Number Title Priority Date Filing Date
FI973746A FI104602B (en) 1997-07-14 1997-09-22 Flow control in a telecommunications network

Country Status (1)

Country Link
FI (1) FI104602B (en)

Also Published As

Publication number Publication date
FI973746A0 (en) 1997-09-22
FI973746A (en) 1999-01-15

Similar Documents

Publication Publication Date Title
US6882624B1 (en) Congestion and overload control in a packet switched network
AU745204B2 (en) Flow control in a telecommunications network
JP4436981B2 (en) ECN-based method for managing congestion in a hybrid IP-ATM network
CA1286758C (en) Packet switching system arranged for congestion control through bandwidth management
US6490251B2 (en) Method and apparatus for communicating congestion information among different protocol layers between networks
CA1279392C (en) Packet switching system arranged for congestion control
US5983278A (en) Low-loss, fair bandwidth allocation flow control in a packet switch
EP0712220A1 (en) Hop-by-hop flow control in an ATM network
KR100298357B1 (en) Frame relay-to-atm interface circuit and method of operation
US5956322A (en) Phantom flow control method and apparatus
US5978357A (en) Phantom flow control method and apparatus with improved stability
US7218608B1 (en) Random early detection algorithm using an indicator bit to detect congestion in a computer network
FI104602B (en) Flow control in a telecommunications network
EP1068766B1 (en) Congestion control in a telecommunications network
AU717162B2 (en) Improved phantom flow control method and apparatus
WO1999053655A2 (en) Congestion control in a telecommunications network
Iliadis Performance of TCP traffic and ATM feedback congestion control mechanisms
Shionozaki et al. Integrating resource reservation with rate-based transport protocols in AMInet
JP3097549B2 (en) ATM switch
KR100482687B1 (en) Congestion Control Apparatus And Method For UBR Service In ATM Switch
Ren et al. Performance of TCP in IP/ATM internetworks
WO1998043395A9 (en) Improved phantom flow control method and apparatus
KR100198443B1 (en) A congestion control method for the connectionless data service in atm network
Ilvesmäki et al. IP switching in a simplified ATM environment
JP2000261434A (en) Method and system for variable queue length control