Congestiebeheersing in netwerken

Leer waarom netwerken overbelast raken en hoe zenders een knelpunt delen zonder centrale aansturing. Volg het congestievenster van TCP tijdens slow start, congestievermijding, snelle hertransmissie en snel herstel, schat de doorvoersnelheid die dit oplevert en ontdek waarom additieve toename en multiplicatieve afname concurrerende verkeersstromen naar een eerlijke verdeling leiden. Vergelijk vervolgens CUBIC en BBR, bekijk hoe actief wachtrijbeheer en expliciete congestiemelding zenders waarschuwen voordat buffers overlopen en ontdek hoe QUIC deze ideeën toepast in een nieuw transportprotocol dat op UDP is gebouwd.

GemiddeldLes 4 van 8 in Cursus Computernetwerken en internetprotocollen

Wat je leert

  1. Beschrijf hoe verkeer dat de capaciteit van een verbinding overschrijdt, wachtrijen, vertraging en verlies veroorzaakt, waarom daardoor netwerkcapaciteit verloren gaat en wat de twee algemene manieren zijn om congestie in een netwerk te voorkomen.
    • Volg hoe belasting bij een knelpuntwachtrij leidt tot vertraging en verlies
      Definieer congestie en de knelpuntverbinding en volg hoe de wachtrij van een router groeit wanneer verkeer sneller aankomt dan de verbinding het kan verzenden.
    • Leg de kosten van congestie en congestie-instorting uit
      Laat zien hoe hertransmissies, onnodige duplicaten en pakketten die laat op een lang pad worden verworpen capaciteit verspillen, en hoe onbeheerst zendende systemen de nuttige doorvoersnelheid naar nul kunnen brengen.
    • Vergelijk eind-tot-eindcongestiebeheersing en netwerkondersteunde congestiebeheersing
      Deel methoden voor congestiebeheersing in naar de herkomst van het congestiesignaal, de gebruikte signalen en de regeling van een venster of een snelheid.
  2. Volg hoe een TCP-zender met zijn congestievenster via slow start en congestievermijding de beschikbare bandbreedte aftast, terugschakelt met snelle hertransmissie, snel herstel en time-outs, en welke doorvoersnelheid dat gedrag oplevert.
    • Leg het verband tussen het congestievenster en de verzendsnelheid
      Gebruik het congestievenster, het ontvangstvenster en de rondlooptijd om te berekenen hoe snel een TCP-zender verzendt en hoeveel gegevens op een pad onderweg moeten zijn.
    • Volg slow start en congestievermijding
      Bereken hoe cwnd groeit tijdens slow start en congestievermijding en leg uit wanneer de zender van de ene naar de andere modus overschakelt.
    • Leg uit hoe TCP reageert op verlies: time-outs, snelle hertransmissie en snel herstel
      Pas de regels toe die TCP volgt na een time-out of drie dubbele ontvangstbevestigingen en volg de verschillen tussen TCP Tahoe, Reno en NewReno.
    • Schat de doorvoersnelheid van TCP aan de hand van het zaagtandpatroon
      Gebruik het zaagtandmodel en de formule voor de verliesfractie om de doorvoersnelheid van een langdurige TCP-verbinding te schatten en ontdek waarom klassiek TCP moeite heeft met snelle, lange paden.
  3. Leg uit waarom additieve toename en multiplicatieve afname concurrerende verkeersstromen naar gelijke aandelen leiden, meet de eerlijkheid van de verdeling en herken de omstandigheden in de praktijk die ongelijke aandelen veroorzaken.
    • Laat zien waarom AIMD convergeert naar een eerlijke en efficiënte verdeling
      Gebruik het beeld van twee verkeersstromen van Chiu en Jain om te laten zien hoe additieve toename en multiplicatieve afname twee zenders naar gelijke aandelen van een verbinding leiden.
    • Beoordeel de eerlijkheid van de verdeling tussen verkeersstromen in de praktijk
      Meet de eerlijkheid van de verdeling met de index van Jain en max-min-eerlijkheid en leg uit hoe RTT-verschillen, parallelle verbindingen, niet-reagerend verkeer en verschillende algoritmen de verdeling veranderen.
  4. Beschrijf waarom volle buffers lange vertragingen veroorzaken, hoe actief wachtrijbeheer pakketten vroeg verwerpt of markeert en hoe expliciete congestiemelding een congestiesignaal naar de zender brengt zonder pakketten te verliezen.
    • Leg bufferbloat en actief wachtrijbeheer uit
      Leg uit waarom grote buffers die pas bij een volle wachtrij verwerpen en zenders die op verlies reageren blijvende wachtrijen veroorzaken, en hoe RED en CoDel wachtrijen kort houden door vroeg in te grijpen.
    • Beschrijf expliciete congestiemelding in IP en TCP
      Volg de ECN-codepunten en TCP-vlaggen van router naar ontvanger naar zender en leg uit hoe TCP voor datacenters en L4S frequente markeringen gebruiken voor zeer lage vertraging.
  5. Leg uit hoe CUBIC zijn venster laat groeien als functie van de tijd sinds het laatste verlies, hoe vertragingsgebaseerde en modelgebaseerde algoritmen zoals Vegas en BBR voorkomen dat buffers vollopen, en wat de afwegingen daarbij zijn.
    • Leg uit hoe CUBIC het congestievenster vergroot
      Bereken het venster van CUBIC met de kubische groeifunctie en leg de mildere afname, de Reno-vriendelijke modus en de afhankelijkheid van tijd in plaats van RTT uit.
    • Leg vertragingsgebaseerde regeling uit en beschrijf hoe BBR het pad modelleert
      Leg uit hoe Vegas wachtrijvorming afleidt uit vertraging, hoe BBR de bandbreedte van het knelpunt en de minimale RTT schat om met de juiste snelheid te verzenden, en hoe CUBIC en BBR zich tot elkaar verhouden.
  6. Leg uit waarom TCP moeilijk te veranderen is, hoe QUIC boven op UDP een betrouwbaar en veilig transportprotocol opbouwt en hoe QUIC verlies detecteert en congestie beheerst.
    • Leg uit waarom transportprotocollen verstarren en hoe het ontwerp van QUIC daarop inspeelt
      Leg uit hoe middleboxes en kernelimplementaties de ontwikkeling van TCP vertragen en hoe de streams, gecombineerde handshake, versleuteling en verbindings-ID's van QUIC de beperkingen van TCP aanpakken.
    • Beschrijf verliesdetectie en congestiebeheersing in QUIC
      Leg uit hoe pakketnummers en ontvangstbevestigingen van QUIC verliesdetectie verbeteren en pas de regels van de standaardcongestieregelaar toe voor het initiële venster, herstel, aanhoudende congestie, ECN en gespreide pakketverzending.

Congestiebeheersing in netwerken: uitleg

6 hoofdstukken

1

Waarom congestie de nuttige aflevering vertraagt

Ook een snelle zender kan een langzaam pad tegenkomen. Meerdere ingangen kunnen één uitgangsverbinding voeden en hun gezamenlijke verkeer moet de capaciteit daarvan delen. Volg wat er met pakketten gebeurt wanneer die capaciteit opraakt en onderscheid nuttige aflevering van verkeer dat wordt besteed aan herhalingen en pakketten die uiteindelijk verloren gaan. De uitdaging voor de zender is om overbelasting op tijd te herkennen en te verminderen, met eigen waarnemingen of terugkoppeling van routers.

1.1 Van een drukke verbinding naar een groeiende wachtrij

Congestie begint wanneer verkeer gedurende langere tijd sneller een deel van een netwerk bereikt dan dat deel kan verwerken. Pakketten wachten in de uitgangsbuffer van een router, de wachtrij. Het knelpunt is de verbinding met de minste beschikbare capaciteit voor dit verkeer langs zijn pad.

Volg het overschot

Stel dat een router 12 Mbps ontvangt voor een uitgangsverbinding die 10 Mbps kan verzenden. De uitgang kan niet sneller werken om de ingang bij te houden. Elke seconde blijft 2 megabit wachten, oftewel 250.000 bytes na deling door 8. Een aanvankelijk lege buffer van 1.000.000 bytes raakt vol in:

1.000.000/250.000=4 s.

Een pakket dat achter die hoeveelheid wachtende gegevens aansluit, wacht totdat de verbinding de gegevens ervoor heeft verzonden:

1.000.000×8/10.000.000=0,8 s.

Zodra de buffer vol blijft, vervoert de uitgang nog steeds maar 10 Mbps. Van de 12 Mbps die aankomt, wordt ongeveer 2 Mbps verworpen, een zesde van het aangeboden verkeer. Deze berekeningen behandelen aankomst en vertrek als constante snelheden; de timing van afzonderlijke pakketten zorgt voor kleine variaties.

Bepaal of de wachtrij leegloopt

Een korte burst verschilt van aanhoudende overbelasting. Een wachtrij kan een burst opvangen en leeglopen wanneer de aankomstsnelheid onder de uitgangssnelheid daalt. Als constante aankomsten precies overeenkomen met de uitgangssnelheid, blijft een bestaande wachtrij bestaan: elk vertrekkend pakket wordt vervangen door een aankomend pakket. Als de aankomstsnelheid aanhoudend boven de uitgangssnelheid ligt, groeit de wachtrij totdat de buffer vol is.

Werkelijk verkeer is ongelijkmatig. Zelfs als de gemiddelde benutting onder de volledige capaciteit ligt, laten bursts pakketten wachten. Dicht bij de capaciteit is er weinig tijd over om die bursts weg te werken, waardoor de gemiddelde vertraging sterk stijgt. Congestie verhoogt vooral de wachtrijcomponent van pakketvertraging; verwerking, transmissie en propagatie zijn afzonderlijke componenten.

Benoem welke snelheid je bedoelt
SnelheidWat wordt meegeteld
Aangeboden belastingVerkeer dat het netwerk in wordt gestuurd, inclusief hertransmissies
DoorvoersnelheidPakketten of bytes die per seconde worden afgeleverd
Nuttige doorvoersnelheidNieuwe nuttige applicatiegegevens die per seconde worden afgeleverd, eenmaal geteld

Een snelheidsverschil kan het knelpunt zichtbaar maken: een lokaal netwerk van 1 Gbps kan een toegangsverbinding van 50 Mbps voeden. Aggregatie heeft hetzelfde effect wanneer meerdere ingangen van een router één uitgang delen. Eén ingang kan weinig verkeer lijken te leveren, terwijl de som de uitgang overbelast.

Kies de juiste grens

Stroomregeling beschermt de buffer van de ontvanger met het bekendgemaakte ontvangstvenster. Congestiebeheersing beschermt het pad tussen de eindpunten. Een ontvanger kan ruim voldoende vrij geheugen hebben terwijl een router op het pad pakketten verwerpt.

Een grotere routerbuffer kan een langere burst opvangen, maar aanhoudende overbelasting vult elke eindige buffer en verhoogt de wachttijd. Een snellere knelpuntverbinding neemt dat capaciteitstekort weg. Een andere verbinding begrenst dan het pad; die raakt pas overbelast wanneer het verkeer de daar beschikbare capaciteit overschrijdt.

Belangrijkste punten

  • Bij congestie groeien wachtrijen wanneer de aanhoudende aankomstsnelheid de beschikbare uitgangssnelheid overschrijdt.
  • Een wachtrij loopt leeg onder de capaciteit en blijft bestaan bij een constante aankomstsnelheid die precies gelijk is aan de capaciteit.
  • Reken wachtende bytes om naar bits voordat je door de transmissiesnelheid deelt om de wachttijd te bepalen.
  • Nuttige doorvoersnelheid telt nuttige gegevens eenmaal; aangeboden belasting omvat hertransmissies.
  • Stroomregeling beschermt de ontvanger; congestiebeheersing beschermt het netwerkpad.

1.2 Waarom een druk netwerk heel weinig kan afleveren

Een volledig benutte verbinding is alleen nuttig wanneer het verkeer bijdraagt aan de aflevering van nieuwe gegevens. Congestie verbruikt capaciteit op manieren die de nuttige aflevering kunnen doen dalen, terwijl het netwerk druk blijft.

Tel de kosten

Wachtrijvertraging komt eerst. Een videogesprek kan moeilijk te volgen worden voordat pakketten worden verworpen, omdat spraak te laat aankomt. Betrouwbaarheid alleen kan die vertraging niet herstellen.

Verloren pakketten veroorzaken een tweede kostenpost: een zender die betrouwbare overdracht verzorgt, verzendt ze opnieuw. Als een verbinding van 10 Mbps pakketten van gelijke grootte vervoert en 20% gegevens herhaalt die al over die verbinding zijn verzonden, vervoert hoogstens 8 Mbps nieuwe gegevens:

10×(1−0,2)=8 Mbps.

De nuttige doorvoersnelheid voor de applicatie is lager als je rekening houdt met headers en eventueel verlies elders. De activiteit op de verbinding doet de voortgang van de applicatie dus groter lijken dan die is.

Sommige hertransmissies zijn onnodig. Een pakket kan in een lange wachtrij staan wanneer de timer van de zender afloopt. Het vervangende pakket komt dan in hetzelfde drukke netwerk terecht. Beide exemplaren kunnen aankomen, maar de ontvanger bewaart de gegevens slechts eenmaal. Wachtrijvorming heeft een vertragingsprobleem omgezet in extra aangeboden belasting.

Kijk naar de verbindingen vóór een verwerping

Een verwerping dicht bij de bestemming kan werk op meerdere eerdere verbindingen verspillen. Stel je voor dat een pakket verbindingen A en B passeert voordat het in de wachtrij voor C wordt verworpen. De transmissies op A en B hebben capaciteit gebruikt zonder dat pakket af te leveren. Als dit patroon zich herhaalt, blijft op eerdere verbindingen minder capaciteit over voor verkeer dat zijn bestemming wel had kunnen bereiken.

Als de aangeboden belasting stijgt, stijgt aanvankelijk ook de doorvoersnelheid. Bij voldoende verwerpingen verderop leidt een hogere belasting er echter toe dat meer verkeer werk veroorzaakt dat wordt verspild. De eind-tot-einddoorvoersnelheid kan een piek bereiken en vervolgens dalen. Congestie-instorting is het uiterste geval: de aangeboden belasting blijft hoog terwijl de nuttige doorvoersnelheid naar nul daalt.

In oktober 1986 daalde de doorvoersnelheid tussen Lawrence Berkeley Laboratory en UC Berkeley van 32 kbps naar 40 bps, een daling met een factor 800. Het werk van Jacobson en Karels uit 1988 introduceerde een samenhangende reactie: slow start, congestievermijding, een betere schatting van de rondlooptijd en exponentiële wachttijdverlenging voor timers. Vensterregeling en verstandig ingestelde timers pakken verschillende delen van de terugkoppellus aan.

Zoek het bruikbare werkgebied

Het knikpunt en het instortingspunt van Raj Jain beschrijven twee grenzen. Voorbij het knikpunt levert extra belasting weinig extra doorvoersnelheid maar veel meer vertraging op. Voorbij het instortingspunt daalt de doorvoersnelheid doordat verlies en verspild werk overheersen. Congestiebeheersing streeft naar efficiënte aflevering dicht bij het knikpunt en blijft daarbij uit de buurt van instorting.

Het internet heeft geen centrale regelaar die elke zender een snelheid toewijst. Elke zender moet reageren op de terugkoppeling die hij ziet. Als één zender met een vaste hoge snelheid blijft verzenden terwijl andere terugschakelen, kan die hun capaciteit innemen en de overbelasting verergeren.

Hertransmissie maakt een bytestroom betrouwbaar, maar maakt verlies niet kosteloos. Herstel verbruikt capaciteit en vertraagt de aflevering van de ontbrekende gegevens; wachten op een hertransmissietimer kan de verbinding veel langer stilleggen dan snel herstel.

Belangrijkste punten

  • Wachtrijvertraging kan interactief verkeer schaden voordat pakketten verloren gaan.
  • Hertransmissies en onnodige duplicaten verbruiken capaciteit zonder nieuwe applicatiegegevens toe te voegen.
  • Een verwerping verderop verspilt de eerdere transmissies die het pakket hebben vervoerd.
  • Congestie-instorting combineert veel netwerkactiviteit met zeer weinig nuttige aflevering.
  • Het knikpunt markeert toenemende vertraging met weinig winst in doorvoersnelheid; het instortingspunt markeert dalende doorvoersnelheid.
  • Elke zender draagt eraan bij de aangeboden belasting binnen de capaciteit van het pad te houden.

1.3 Hoe zenders leren wanneer ze moeten vertragen

Een zender ziet niet rechtstreeks elke routerwachtrij op zijn pad. Congestiebeheersing is een terugkoppelproces: observeer de aflevering, bepaal wat de waarnemingen betekenen en pas de hoeveelheid of snelheid van het verkeer aan dat het netwerk binnenkomt.

Bepaal waar de terugkoppeling vandaan komt

Bij eind-tot-eindregeling leiden eindpunten congestie af uit verlies of vertraging zonder expliciet bericht van een router. Reno gebruikt verlies. Vegas gebruikt veranderingen in de rondlooptijd. BBR bouwt een padmodel op uit metingen van afleveringssnelheid en RTT.

Bij netwerkondersteunde regeling geeft een router expliciete terugkoppeling. ECN markeert een pakket dat naar de ontvanger onderweg is en de ontvanger meldt de markering in zijn ontvangstbevestiging. Oudere ATM-methoden konden een expliciete toegestane snelheid melden. Een router kan ook rechtstreeks een bericht naar de zender terugsturen, een afrempakket. ICMP Source Quench op het internet gebruikte die aanpak en werd in 2012 uitgefaseerd.

Interpreteer signalen zorgvuldig
SignaalWat het biedtWat de zender kan misleiden
VerliesAanwijzing dat pakketten niet zijn aangekomenBeschadiging op een draadloze verbinding kan verlies zonder congestie veroorzaken
Stijgende RTTEen vroege waarschuwing voor extra wachttijdEen routewijziging kan de RTT ook verhogen
Expliciete markeringenEen congestiewaarschuwing van een router zonder verlies van gemarkeerde gegevensHet pad en de eindpunten moeten het mechanisme ondersteunen

Bij wachtrijen die pas bij een volle buffer verwerpen, komt verlies normaal nadat de buffer vol is. Actief wachtrijbeheer kan pakketten eerder verwerpen of markeren. Dit verandert het moment waarop een signaal aankomt, maar niet de noodzaak voor de zender om te reageren.

De minimaal waargenomen RTT is nuttig omdat die de rondlooptijd van een pad met weinig wachtrijvorming benadert. Een RTT boven dat minimum wijst op wachttijd, maar een eindpunt moet metingen over een langere periode interpreteren. Noch één wisselvallige meting, noch elk verloren draadloos pakket geeft met zekerheid de oorzaak aan.

Regel een venster of een snelheid

Een venstergebaseerde zender begrenst de hoeveelheid onbevestigde gegevens onderweg. Als ontvangstbevestigingen terugkomen, ontstaat ruimte voor nieuwe gegevens. Een snelheidsgebaseerde zender stelt een doelsnelheid in en gebruikt meestal gespreide pakketverzending, waarbij pakketten over de tijd worden verdeeld. De regelingen hangen samen:

snelheid≈venster/RTT.

Zo komt 100.000 bytes per 50 ms overeen met 2.000.000 bytes/s, oftewel 16 Mbps, wanneer het venster de werkzame grens is. Een snelheidsgebaseerde regelaar kan ook een venster gebruiken als bovengrens voor onbevestigde gegevens.

Weeg meerdere doelen af

Efficiëntie betekent dat de beschikbare capaciteit van het knelpunt bezet blijft. Eerlijke verdeling gaat over hoe concurrerende verkeersstromen die capaciteit delen. Lage vertraging vereist korte wachtrijen; stabiliteit voorkomt grote, herhaalde schommelingen; reactievermogen betekent aanpassen wanneer capaciteit of concurrentie verandert. Een regel die een pad snel vult, kan nog steeds slecht zijn in het laag houden van vertraging of het delen met andere algoritmen.

De regelaar van TCP draait meestal in het besturingssysteem. Die van QUIC draait meestal in een applicatiebibliotheek. UDP levert geen regelaar, dus applicaties die UDP gebruiken, moeten zelf voor congestiebeheersing zorgen. Het dragende protocol neemt de verplichting om op congestie te reageren niet weg.

Belangrijkste punten

  • Eind-tot-eindregelaars leiden congestie af; netwerkondersteunde regelaars krijgen expliciete terugkoppeling van routers.
  • Verlies, vertraging en expliciete markeringen verschillen in timing en in de beperkingen van hun interpretatie.
  • Vensterregeling beperkt gegevens onderweg; gespreide pakketverzending verdeelt pakketten volgens een gekozen snelheid over de tijd.
  • Efficiëntie, eerlijke verdeling, vertraging, stabiliteit en reactievermogen moeten samen worden beoordeeld.
2

Hoe TCP zijn venster vergroot en herstelt

TCP regelt hoeveel onbevestigde gegevens het in het netwerk laat. Ontvangstbevestigingen laten die hoeveelheid groeien; verlies laat die krimpen. Volg het venster in segmenten om de groeiregels duidelijk te zien en reken daarna om naar bytes en seconden om een snelheid te schatten. Door onderscheid te maken tussen een time-out en herstel na dubbele ontvangstbevestigingen, begrijp je de verschillende dalingen in een vensterreeks en zie je waarom klassiek TCP moeite heeft om te herstellen op snelle paden met lange rondlooptijden.

2.1 Het venster, de rondlooptijd en het pad

Het congestievenster, cwnd, is een grens die de zender stelt aan onbevestigde gegevens onderweg. Het wordt gemeten in bytes, hoewel uitwerkingen vaak segmenten van maximale grootte tellen. Het is geen veld in de TCP-header. De ontvanger maakt een andere grens bekend: het ontvangstvenster, rwnd.

Pas beide grenzen toe

Nieuwe transmissies moeten binnen zowel de stroomregeling als de congestiebeheersing passen. De bruikbare grens is:

min⁡(cwnd,rwnd).

Als cwnd 30.000 bytes is en rwnd 18.000 bytes, bepaalt de grens van de ontvanger de ruimte. Als nog 12.000 bytes onbevestigd zijn, kan de zender nog 6.000 bytes verzenden. Na een verlaging van het congestievenster kunnen bestaande gegevens de nieuwe grens overschrijden; de zender wacht dan op ontvangstbevestigingen voordat hij meer toevoegt.

De maximale segmentgrootte, MSS, telt applicatiegegevens zonder headers. Een Ethernet-MTU van 1.500 bytes min een IPv4-header van 20 bytes en een TCP-header van 20 bytes laat 1.460 bytes over, zonder opties. Standaarden gebruiken SMSS voor de MSS van de zender.

Reken een venster om naar een snelheid

Een zender die door het venster wordt beperkt, levert ongeveer één venster per RTT af. Voor een cwnd van 65.536 bytes en een RTT van 50 ms:

65.536/0,05=1.310.720 bytes/s.

Vermenigvuldig met 8 om ongeveer 10,5 Mbps te krijgen. Deze schatting vereist ook voldoende applicatiegegevens, een minstens even groot ontvangstvenster en een pad dat de resulterende snelheid aankan.

Vul het pad zonder de wachtrij te vullen

Het bandbreedte-vertragingsproduct, BDP, is de bandbreedte van het knelpunt maal de minimale RTT zonder wachtrijen. Voor 100 Mbps en 40 ms:

100.000.000×0,04=4.000.000 bits.

Delen door 8 geeft 500.000 bytes, ongeveer 342 segmenten van 1.460 bytes. Eén BDP aan gegevens onderweg houdt dit geïdealiseerde knelpunt bezet zonder blijvende wachtrij. Bij minder gegevens blijft capaciteit ongebruikt; overtollige gegevens wachten en verhogen de gemeten RTT. Als je het BDP berekent met een al verhoogde RTT, zie je wachtende gegevens ten onrechte aan voor gegevens die het pad nodig heeft.

De verzendklok op basis van ontvangstbevestigingen helpt het tempo vast te houden. Als pakketten het knelpunt verlaten, komen bevestigingen terug en maken die ruimte voor vervangende pakketten. In een stabiele toestand helpen vertrekkende pakketten zo het moment van nieuwe aankomsten te bepalen. Dit is het idee van pakketbehoud achter het zelfklokkende gedrag van TCP.

Bepaal het startpunt en de drempel

Het initiële venster van RFC 5681 varieert van twee tot vier segmenten volgens SMSS: vier tot en met 1.095 bytes, drie tot en met 2.190 bytes en daarboven twee. RFC 6928 staat een initieel venster van maximaal tien segmenten toe. Een uitwerking die bij één segment begint, is nuttig voor het onderwijs, maar beweert niet dat alle nieuwe verbindingen daar beginnen.

ssthresh, de slow-startdrempel, bepaalt de groeimodus. Daaronder gebruikt TCP slow start; daarboven congestievermijding. Bij gelijkheid staat RFC 5681 beide toe. Een hoge initiële drempel laat een nieuwe zender de capaciteit via slow start ontdekken.

Belangrijkste punten

  • cwnd is interne toestand van de zender; rwnd wordt door de ontvanger bekendgemaakt.
  • Nieuwe gegevens moeten binnen beide vensters passen nadat rekening is gehouden met bytes die al onderweg zijn.
  • MSS telt applicatiegegevens zonder IP- en TCP-headers.
  • Een door het venster begrensde snelheid is ongeveer het bruikbare venster gedeeld door de RTT.
  • Het BDP gebruikt de RTT zonder wachtrijen; overtollige gegevens onderweg bouwen een wachtrij op.
  • De verzendklok op basis van ontvangstbevestigingen koppelt nieuwe transmissies aan aflevering via het knelpunt.
  • Het initiële venster en ssthresh bepalen hoe een uitwerking begint en groeit.

2.2 Exponentiële groei, daarna één segment per rondlooptijd

TCP moet eerst ontdekken hoeveel verkeer het pad kan verwerken. Slow start vergroot het venster snel vanaf een klein startpunt. Congestievermijding tast daarna voorzichtiger af zodra de slow-startdrempel is bereikt.

Tel ontvangstbevestigingen tijdens slow start

RFC 5681 verhoogt cwnd met maximaal één SMSS voor elke ontvangstbevestiging van nieuwe gegevens:

Δcwnd=min⁡(N,SMSS),

waarbij N het aantal nieuw bevestigde bytes is. Met één ACK per volledig segment en voldoende gegevens om elk venster te vullen, maakt elk verzonden segment in de volgende ronde ruimte voor twee: één vervangend segment en één door het vergrote venster.

Vanaf 1 MSS zijn de waarden per ronde 1, 2, 4, 8, 16, 32 en 64 MSS. Na zes RTT's is 64 MSS bereikt. Bij 100 ms per RTT is dat 0,6 s. De naam verwijst naar een veiligere start dan het direct verzenden van een heel ontvangstvenster; de groei zelf is exponentieel.

Uitgestelde ontvangstbevestigingen veranderen de telling. Als de ontvanger één ACK per twee volledige segmenten verzendt, geeft de eenvoudige regel per ACK ongeveer 1,5 keer zoveel groei per RTT. Venstergroei op basis van bevestigde bytes, beschreven in RFC 3465, gebruikt nieuw bevestigde bytes om de afhankelijkheid van de ACK-frequentie aan te pakken.

Schakel tussen groeimodi

Kies voor een uitwerking met een initiële cwnd van 1 MSS en ssthresh van 8 MSS bij gelijkheid voor congestievermijding. De reeks wordt:

1, 2, 4, 8, 9, 10, 11, 12 MSS.

De eerste drie veranderingen verdubbelen het venster. Latere veranderingen voegen één MSS per RTT toe. Verlies kan beide fasen onderbreken. Implementaties met HyStart++ (RFC 9406) kunnen slow start ook eerder verlaten wanneer de vertraging stijgt.

Leg additieve toename uit

Een veelgebruikte regel per ACK tijdens congestievermijding is:

Δcwnd=SMSS2/cwnd.

Bij 10 MSS voegt één ACK ongeveer 0,1 MSS toe. Tijdens de ronde komen ongeveer tien ACK's aan, zodat de totale toename ongeveer één MSS is. De toename per ACK wordt kleiner naarmate cwnd groeit, zodat de toename per ronde ongeveer constant blijft.

Dit verschil doet ertoe op een groot pad. Van 16 naar 32 MSS duurt één RTT bij ideale slow start, maar zestien RTT's bij congestievermijding. De langzamere groei verkleint de kans op een plotselinge overschrijding zodra de zender een bruikbare schatting van de capaciteit heeft.

Herken een herstart

Slow start is niet beperkt tot het begin van een verbinding. Een hertransmissietime-out zet cwnd terug op één segment. Ook een inactieve periode die langer duurt dan de hertransmissietime-out vereist een herstart met hoogstens het initiële venster, omdat de eerdere verzendklok en capaciteitsschatting mogelijk niet meer bij het pad passen.

Congestievermijding houdt cwnd niet op een vaste veilige waarde. Het blijft capaciteit toevoegen totdat terugkoppeling over congestie aankomt. Op een pad waar pas bij een volle wachtrij wordt verworpen, bouwt dit voortdurende aftasten vaak een blijvende wachtrij op voordat verlies de zender aangeeft terug te schakelen.

Belangrijkste punten

  • Met één ACK per segment verdubbelt ideale slow start cwnd elke RTT.
  • Uitgestelde ontvangstbevestigingen vertragen de eenvoudige groeiregel per ACK.
  • Congestievermijding voegt ongeveer één MSS per RTT toe, niet per ACK.
  • ssthresh scheidt de groeimodi; een uitwerking moet bij gelijkheid een keuze maken.
  • Time-outs en lange inactieve perioden kunnen een nieuwe slow start vereisen.

2.3 Verschillende soorten verlies leiden tot verschillend herstel

TCP kan een ontbrekend segment afleiden uit een timer of uit dubbele ontvangstbevestigingen. Dat onderscheid is belangrijk: een time-out geeft minder aanwijzingen dat het netwerk nog verkeer aflevert dan drie dubbele ACK's.

Stel de nieuwe drempel in

Reno gebruikt de hoeveelheid gegevens die daadwerkelijk onbevestigd is, FlightSize, om het volgende in te stellen:

ssthresh=max⁡(FlightSize/2, 2×SMSS).

FlightSize ligt tijdens een volledig actieve overdracht vaak dicht bij cwnd, maar ze hoeven niet gelijk te zijn als de applicatie weinig gegevens verzendt. De ondergrens voorkomt dat de drempel onder twee segmenten daalt.

Na een time-out verzendt de zender opnieuw, zet cwnd op één SMSS en begint opnieuw met slow start. Herhaalde time-outs voor dezelfde gegevens verdubbelen de hertransmissietimer. Deze exponentiële wachttijdverlenging voorkomt dat een aanhoudende storing een even aanhoudende stroom nieuwe pogingen veroorzaakt.

Herstel voordat de timer afloopt

Drie dubbele ACK's laten zien dat na een gat drie latere segmenten zijn aangekomen. Ze betekenen niet dat drie segmenten verloren zijn gegaan. Eén of twee dubbele bevestigingen kunnen ontstaan doordat pakketten in een andere volgorde aankomen. Daarom wacht TCP op de derde voordat snelle hertransmissie het ontbrekende segment verzendt.

Reno gaat dan over op snel herstel. Stel dat FlightSize 12 MSS is. De nieuwe drempel is 6 MSS en Reno stelt tijdelijk in:

cwnd=6+3=9 MSS.

De drie extra segmenten houden rekening met pakketten waarvan is gebleken dat ze het netwerk hebben verlaten. Elke volgende dubbele ACK vergroot cwnd tijdelijk met één MSS, zodat de zender kan blijven verzenden wanneer het venster dat toelaat. Wanneer een ACK de cumulatieve ontvangstbevestiging verder brengt, verkleint Reno cwnd naar 6 MSS en hervat het congestievermijding.

Gebeurtenis met 12 MSS onbevestigdTahoeReno
Time-outcwnd wordt 1 MSScwnd wordt 1 MSS
Derde dubbele ACKOpnieuw verzenden en herstarten bij 1 MSSOpnieuw verzenden en herstel beginnen bij 9 MSS
Geslaagd herstelGroeien via slow startVerkleinen naar 6 MSS en daarna additief groeien

Met een initieel venster van 1 MSS en ssthresh van 8 MSS groeit cwnd vóór het verlies via 1, 2, 4, 8, 9, 10, 11 naar 12 MSS. Reno gaat uiteindelijk verder met 6, 7, 8, 9. Tahoe begint opnieuw met 1, 2, 4, bereikt de nieuwe drempel van 6 en gaat verder met 7, 8.

Herstel meerdere gaten in één venster

Klassiek Reno verlaat de herstelfase bij de eerste ACK voor nieuwe gegevens. Als die ACK slechts een deel van de oorspronkelijke hoeveelheid gegevens onderweg bevestigt, blijft er een ander gat over. Reno kan opnieuw verlagen of een time-out krijgen.

NewReno (RFC 6582) blijft bij zo'n gedeeltelijke ACK in de herstelfase en verzendt het volgende ontbrekende segment opnieuw. Het verlaat de herstelfase wanneer alle gegevens die bij het begin van het herstel onbevestigd waren, zijn bevestigd. SACK meldt ontvangen blokken expliciet; herstel op basis van SACK kan meerdere gaten binnen één rondlooptijd vinden en herstellen.

Eén congestieperiode hoort normaal één verlaging te veroorzaken, ook als meerdere pakketten verloren gaan. NewReno en herstel op basis van SACK handelen dit betrouwbaarder af dan klassiek Reno. CUBIC gebruikt bij gewone congestiesignalen een andere afnamefactor en behoudt 70%, maar begint na een time-out ook opnieuw bij één segment.

Belangrijkste punten

  • Reno stelt ssthresh in op basis van FlightSize, met een minimum van twee SMSS.
  • Een time-out zet cwnd terug op één SMSS en herhaalde time-outs verlengen de wachttijd van de timer.
  • Drie dubbele ACK's starten snelle hertransmissie; ze wijzen op latere aankomsten na een gat.
  • Reno vergroot cwnd tijdelijk tijdens snel herstel en verkleint het bij het verlaten van de herstelfase naar ssthresh.
  • NewReno blijft bij gedeeltelijke ACK's in de herstelfase om meerdere verliezen te herstellen.
  • SACK meldt ontvangen blokken zodat de zender meer dan één gat kan vinden.
  • Tahoe begint na verlies dat via dubbele ACK's is gedetecteerd opnieuw met slow start; Reno gaat na herstel normaal additief verder.
  • Verlagingen van het congestievenster horen bij congestieperioden, niet bij elk afzonderlijk verloren pakket.

2.4 Schat de snelheid van een langdurige overdracht

Klassiek Reno vergroot zijn venster steeds opnieuw en verkleint het na congestie. Het resulterende zaagtandpatroon geeft een bruikbare schatting voor een stabiele toestand wanneer de RTT ongeveer constant is, snelle hertransmissie verlies detecteert en time-outs en slow start ontbreken.

Bereken het gemiddelde venster

Laat het piekvenster W segmenten zijn. Een halvering levert een bereik van W/2 tot W op, met een gemiddelde van 0,75 W. Vermenigvuldig met MSS voor het aantal bytes per rondlooptijd en deel daarna door de RTT:

gemiddelde snelheid≈0,75 W MSS/RTT.

Voor W van 24 segmenten, een MSS van 1.460 bytes en een RTT van 80 ms is de pieksnelheid 3,504 Mbps. Het gemiddelde is ongeveer 2,63 Mbps. Bedenk dat je een venster in segmenten met de segmentgrootte moet vermenigvuldigen; bij een venster dat al in bytes is uitgedrukt, hoeft dat niet.

Breng doorvoersnelheid in verband met verlies

De benadering van Mathis drukt hetzelfde Reno-achtige gedrag uit met de verliesfractie L:

T≈1,22 MSSRTTL.

Als MSS in bytes en RTT in seconden is uitgedrukt, is T in bytes/s. Bij een MSS van 1.460 bytes, een RTT van 0,1 s en een verliesfractie van 0,0001 is de noemer 0,001 s. Het resultaat is 1.781.200 bytes/s, na vermenigvuldiging met 8 ongeveer 14,25 Mbps.

Bij een vaste verliesfractie halveert een verdubbeling van de RTT de doorvoersnelheid. Bij een vaste RTT moet de verliesfractie tot een kwart dalen om de doorvoersnelheid te verdubbelen, omdat de noemer de vierkantswortel van de verliesfractie bevat. Een verliesfractie van 0,0001 betekent 0,01%, niet 0,0001%.

Bekijk het probleem bij hoge transmissiesnelheden

Een pad van 10 Gbps met een RTT zonder wachtrijen van 100 ms heeft 1 miljard bits, oftewel 125.000.000 bytes, onderweg nodig om het volledig te benutten. Met segmenten van 1.500 bytes zijn dat ongeveer 83.333 segmenten. Na halvering van dat venster moeten er weer ongeveer 41.667 segmenten bij komen. Reno voegt er één per RTT toe, dus dat duurt ongeveer 4.167 s, bijna 70 minuten.

Die 83.333 segmenten vormen het venster dat nodig is om op één moment met 10 Gbps te verzenden. Een Reno-zaagtandpatroon met een gemiddelde van 10 Gbps heeft een hogere piek nodig, omdat het gemiddelde venster maar driekwart van de piek is. Volgens de formule voor de verliesfractie is voor een blijvend gemiddelde van 10 Gbps bij deze MSS en RTT ongeveer één verloren segment op 4,7 miljard nodig.

Controleer andere grenzen

Een regelaar kan niet sneller afleveren dan het knelpunt toelaat en een klein ontvangstvenster kan eerder de grens vormen dan cwnd. Gebruik de laagste toepasselijke grens. Time-outs verlagen de snelheid tot onder die van het eenvoudige model en de overdracht van een klein object kan volledig tijdens slow start eindigen. De voltooiingstijd hangt sterk af van de opstartronden en het initiële venster, waardoor de formule voor langdurige overdrachten die overdracht slecht beschrijft.

Een snellere toegangsverbinding helpt daarom alleen als die een werkzame beperking wegneemt. Een lange RTT, verlies of een klein venster kan één verbinding ver onder de capaciteit van de verbeterde verbinding houden.

Belangrijkste punten

  • Een Reno-zaagtandpatroon van W/2 tot W heeft een gemiddeld venster van ongeveer 0,75 W.
  • Volgens het model van Mathis is de doorvoersnelheid evenredig met 1/RTT en 1/√L.
  • Gebruik segmenten, bytes, bits en seconden consistent bij het berekenen van snelheden.
  • Op paden met een groot BDP herstelt Reno langzaam, omdat de groei slechts één segment per RTT is.
  • De capaciteit van het knelpunt en het ontvangstvenster blijven onafhankelijke bovengrenzen.
  • Voor korte overdrachten en verbindingen met veel time-outs is meer nodig dan een model voor de stabiele toestand.
3

Hoe verkeersstromen een gedeelde verbinding verdelen

Een verbinding bezet houden en die eerlijk delen zijn afzonderlijke doelen. Twee verkeersstromen kunnen alle capaciteit gebruiken terwijl één daarvan bijna alles neemt. Volg hoe gelijke additieve toenamen en evenredige afnamen hun snelheden veranderen en onderzoek wat er gebeurt als hun omstandigheden verschillen. Maten voor eerlijke verdeling helpen de uitkomst te beschrijven, maar om een maat te interpreteren moet je ook weten wie de verkeersstromen vertegenwoordigen en hoeveel verkeer elke stroom nodig heeft.

3.1 Waarom AIMD verkeersstromen naar gelijke aandelen leidt

Als K actieve verkeersstromen allemaal meer capaciteit willen dan een knelpunt kan bieden, is een gelijk aandeel per stroom R/K, waarbij R de beschikbare snelheid is. Efficiëntie gaat over de vraag of hun snelheden samen R zijn. Eerlijke verdeling gaat over de gelijkmatigheid waarmee ze die snelheid delen.

Zet twee snelheden in een diagram

In een Chiu-Jain-diagram zijn de horizontale en verticale coördinaat de snelheden van de twee verkeersstromen. De efficiëntielijn is:

x1+x2=R.

De lijn van gelijke verdeling is de diagonaal waarop de snelheden gelijk zijn. Hun snijpunt is de eerlijke verdeling met volledige benutting. Op een verbinding van 10 Mbps is dat 5 Mbps per stroom. Punten onder de efficiëntielijn laten capaciteit ongebruikt; punten erboven bieden meer verkeer aan dan de verbinding kan vervoeren.

Onderscheid de twee aanpassingen

Additieve toename voegt dezelfde hoeveelheid toe aan elke snelheid. Vanaf 8 en 1 Mbps geeft 0,5 Mbps erbij voor elk een snelheid van 8,5 en 1,5 Mbps. Het verschil blijft 7 Mbps, maar de kleinere stroom wint meer ten opzichte van zijn beginsnelheid. In het diagram beweegt het punt evenwijdig aan de diagonaal van gelijke verdeling.

Multiplicatieve afname vermenigvuldigt beide snelheden met dezelfde factor. Halvering van 9 en 2 Mbps levert 4,5 en 1 Mbps op. Hun verhouding blijft gelijk, terwijl het absolute verschil van 7 naar 3,5 Mbps daalt. Het punt beweegt naar de oorsprong en neemt de overbelasting snel weg.

Dit zijn verschillende betekenissen van verbetering: gelijke toevoeging verbetert het relatieve evenwicht; evenredige verlaging verkleint het absolute verschil. Door beide te herhalen voorkom je dat het verschil weer groeit terwijl de capaciteit opnieuw wordt afgetast.

Volg enkele cycli

Begin bij 8 en 1 Mbps op de verbinding van 10 Mbps. Voeg per stap per stroom 0,5 Mbps toe en verlaag pas nadat het totaal de capaciteit overschrijdt. Na twee toenamen zijn de snelheden 9 en 2, samen 11. Halvering geeft 4,5 en 1.

Na nog vijf toenamen bereiken ze 7 en 3,5, samen 10,5. Halvering geeft 3,5 en 1,75. De verschillen waren 7; 3,5; en 1,75 Mbps. Een volgende gelijktijdige halvering maakt het volgende verschil 0,875 Mbps. De stromen naderen gelijke aandelen terwijl hun totaal rond de beschikbare capaciteit blijft schommelen.

Vergelijk andere aanpassingsregels
RegelWat gebeurt er met ongelijke snelheden
Additieve toename, additieve afnameGelijke optellingen en aftrekkingen behouden het absolute verschil
Multiplicatieve toename, multiplicatieve afnameGelijke evenredige veranderingen behouden de verhouding tussen de snelheden
Multiplicatieve toename, additieve afnameGroei bevoordeelt de grotere stroom en het evenwicht kan verslechteren
Additieve toename, multiplicatieve afnameHerhaalde cycli naderen gelijke aandelen en efficiënt gebruik

Deze convergentie veronderstelt gelijke RTT's, gelijktijdige terugkoppeling over congestie, overeenkomstige reacties en stromen die lang genoeg actief blijven. De additieve stap van Reno is ongeveer één MSS per RTT en de afnamefactor is een half. Andere positieve additieve stappen en afnamefactoren tussen nul en één leiden tot hetzelfde fundamentele convergentieargument. Werkelijke stromen hoeven niet aan alle aannames te voldoen, dus een ongelijk paar op één moment laat op zichzelf niet zien dat AIMD faalt.

Belangrijkste punten

  • Efficiëntie gaat over de som van de snelheden; eerlijke verdeling gaat over de verdeling ervan.
  • Gelijke additieve toenamen behouden het absolute verschil en verbeteren tegelijk het relatieve evenwicht.
  • Gelijke multiplicatieve afnamen behouden de verhouding en verkleinen tegelijk het absolute verschil.
  • Herhaalde AIMD-cycli convergeren bij gelijke RTT's, terugkoppeling en reacties.
  • Eerlijke verdeling beschrijft het delen op lange termijn terwijl de snelheden blijven schommelen.

3.2 Meet de verdeling en verklaar ongelijke uitkomsten

Gelijke aandelen zijn een nuttig uitgangspunt, maar verkeersstromen kunnen in de praktijk verschillen in vraag, RTT, aantal verbindingen en congestieregelaar. Een uitspraak over eerlijke verdeling vereist een duidelijk antwoord op “eerlijk tussen welke verkeersstromen?”

Bereken de index van Jain

Voor niet-negatieve stroomsnelheden met een totaal groter dan nul is de index van Jain:

J=(∑xi)2n∑xi2.

Snelheden van 8 en 2 Mbps geven een som van 10 en een kwadratensom van 68, dus de index is ongeveer 0,735. Gelijke snelheden geven 1. Als één van n stromen alles ontvangt, is de index 1/n.

De index meet gelijkheid, niet benutting. Twee stromen van elk 1 Mbps en twee stromen van elk 5 Mbps hebben beide een index van 1, hoewel ze verschillende hoeveelheden van een verbinding van 10 Mbps gebruiken. Controleer de totale snelheid afzonderlijk.

Houd rekening met beperkte vraag

Max-min-eerlijkheid geeft verkeersstromen met een lage vraag wat ze nodig hebben en verdeelt daarna de resterende capaciteit onder stromen die nog meer willen. Op een verbinding van 12 Mbps willen drie stromen 2, 8 en 10 Mbps. Het aanvankelijke gelijke aandeel is 4 Mbps. De eerste heeft maar 2 nodig, zodat 10 Mbps overblijft voor de andere twee. De verdeling is dus 2, 5 en 5 Mbps.

Om een van de hogere snelheden te verhogen, zou je een stroom moeten verlagen die al een gelijke of lagere snelheid heeft. Die eigenschap definieert max-min-eerlijkheid. De ongelijke verdeling kan passend zijn, ook al daalt de gelijkheidsmaat van Jain onder 1.

Herken voordelen tussen verkeersstromen

Reno groeit eenmaal per RTT. Bij dezelfde verliesfractie is de geschatte doorvoersnelheid omgekeerd evenredig met de RTT: een stroom met 20 ms kan ongeveer vier keer de snelheid van een stroom met 80 ms bereiken. Gelijke toegang tot het knelpunt neemt dat tijdsvoordeel niet weg.

De verdeling geldt ook per verbinding. Bij negen bestaande verbindingen kan een applicatie die er één toevoegt ongeveer een tiende van de verbinding krijgen. Als die in plaats daarvan elf vergelijkbare verbindingen toevoegt, wordt het aandeel elf twintigste, oftewel 55%. HTTP/2 en HTTP/3 multiplexen veel verzoeken over één verbinding, terwijl HTTP/1.1-clients vaak meerdere verbindingen openen.

Een UDP-applicatie met een vaste snelheid kan blijven verzenden terwijl TCP-verkeersstromen terugschakelen. UDP zelf levert geen regelaar; RFC 8085 vraagt applicaties geschikte congestiebeheersing toe te voegen. Een TCP-vriendelijke stroom gebruikt onder dezelfde omstandigheden niet meer bandbreedte dan vergelijkbaar TCP-verkeer. TFRC gebruikt de TCP-doorvoervergelijking om een gelijkmatigere snelheid te ondersteunen.

Houd rekening met de wachtrij en het algoritme

Een fifo-wachtrij dwingt geen gelijke aandelen per verkeersstroom af. De uitkomst hangt af van het gedrag van de zenders. Eerlijke wachtrijbediening, waaronder de planning per stroom in FQ-CoDel, geeft stromen afzonderlijke wachtrijen en bedieningskansen.

De groei van CUBIC en Reno verschilt op paden met een groot BDP. Ook het delen tussen BBR en CUBIC hangt af van de versie en buffergrootte; vroege BBR-versies konden agressief zijn bij kleine buffers. Geen enkele gelijkheidsberekening op zichzelf stelt vast dat verschillende regelaars op elk pad gelijkmatig naast elkaar zullen werken.

Belangrijkste punten

  • De index van Jain meet gelijkheid; controleer de benutting afzonderlijk.
  • Max-min-eerlijkheid voldoet aan kleine vragen voordat de resterende capaciteit wordt verdeeld.
  • Kortere RTT's en meer parallelle verbindingen kunnen het aandeel van een zender vergroten.
  • UDP-applicaties hebben eigen congestiebeheersing nodig; TCP-vriendelijk verkeer beperkt het bandbreedtegebruik tot dat van vergelijkbaar TCP-verkeer.
  • Fifo-wachtrijen laten de verdeling over aan zenders, terwijl eerlijke wachtrijbediening elke verkeersstroom bedient.
  • Algoritmeversies en buffergrootte kunnen veranderen hoe verkeersstromen naast elkaar werken.
4

Hoe routers eerder voor congestie waarschuwen

Een grote buffer kan pakketverlies verhullen en tegelijk een interactieve verbinding pijnlijk traag maken. Routers kunnen die wachttijd verkorten door op een aanhoudende wachtrij te reageren voordat die overloopt. Volg het verschil tussen detectie op basis van wachtrijlengte en op basis van vertraging en volg daarna een ECN-markering van een router naar de zender. Hetzelfde idee van markeren ondersteunt verschillende reacties van zenders in klassiek TCP, beheerde datacenters en internetontwerpen met lage vertraging.

4.1 Behoud nuttige buffering zonder blijvende wachtrij

Een wachtrij die bij een volle buffer verwerpt accepteert pakketten totdat de buffer vol is en verwerpt daarna nieuwe aankomsten. Zenders die op verlies reageren, blijven naar boven aftasten totdat ze een congestiesignaal ontvangen. Bij een grote buffer van dit type kan dat signaal pas aankomen nadat een lange wachtrij is ontstaan.

Bereken de vertraging die in een buffer schuilgaat

Een buffer van 2.000.000 bytes vóór een uplink van 20 Mbps bevat 16 miljoen bits. Als die vol is, wacht een pakket achter die gegevens:

16.000.000/20.000.000=0,8 s.

Een upload kan de doorvoersnelheid dus hoog houden en tegelijk bijna een seconde vertraging toevoegen aan een gesprek dat de uplink deelt. Bufferbloat betekent aanhoudende overmatige vertraging door grote buffers en verkeersgedrag dat die gevuld houdt.

Buffering heeft nog steeds een doel: korte bursts moeten ergens kunnen wachten. In het eenvoudige model met één Reno-verkeersstroom kan ongeveer één BDP aan bufferruimte de verbinding direct na een halvering van het venster bezet houden. Een veel grotere buffer voegt wachttijd toe zonder de transmissiesnelheid van de verbinding te verhogen.

Signaleer congestie vóór overloop

Actief wachtrijbeheer, AQM, verwerpt of markeert pakketten vroeg om aan te geven dat zenders hun belasting moeten verlagen. Een fysieke overloop is niet langer de enige manier om congestie aan te kondigen. RFC 7567 beveelt brede toepassing van AQM aan.

Willekeurige vroegtijdige detectie, RED, bewaakt een voortschrijdend gemiddelde van de wachtrijlengte. Onder een minimumdrempel geeft RED geen signaal. Tussen twee drempels verwerpt of markeert RED met een toenemende kans. Boven de maximumdrempel geeft RED bij elke aankomst een signaal. Het gemiddelde voorkomt dat één korte burst op aanhoudende overbelasting lijkt, maar het is moeilijk drempels te kiezen die bij verschillende snelheden en belastingen werken.

Meet de wachttijd rechtstreeks

CoDel, beheerste vertraging, meet de verblijftijd van een pakket: de tijd in de wachtrij. De standaarddoelwaarde is 5 ms en het interval is 100 ms. Als zelfs de minimaal waargenomen verblijftijd een interval lang boven de doelwaarde blijft, is er een blijvende wachtrij. CoDel verwerpt of ECN-markeert dan pakketten en verhoogt de signaalfrequentie zolang de overmatige vertraging aanhoudt.

Het minimum over een interval is van belang. Een burst kan kortstondig veel vertraging veroorzaken maar kort daarna leeglopen; een wachtrij waarvan de vertraging nooit klein wordt, vereist ingrijpen. Dankzij de vertragingsmeting werken de standaardinstellingen van CoDel bij uiteenlopende verbindingssnelheden.

MechanismeWat het bewaaktWanneer het signaleert
Verwerpen bij volle wachtrijOf de buffer vol isBij overloop
REDGemiddelde wachtrijlengteMet een bepaalde kans wanneer drempels worden overschreden
CoDelAanhoudende wachttijd van pakkettenWanneer de vertraging boven de doelwaarde blijft

FQ-CoDel combineert afzonderlijke wachtrijen per verkeersstroom met CoDel. Door de stromen te scheiden helpt het voorkomen dat een grote overdracht elk klein interactief pakket achter de eigen achterstand plaatst.

Vroege signalen kunnen ook globale synchronisatie verminderen, waarbij veel stromen tegelijk pakketten verliezen, tegelijk halveren en de verbinding tijdelijk onvoldoende benutten. Willekeurige vroege signalen spreiden reacties over de tijd. Bij verkeer met ECN-ondersteuning kan AQM een waarschuwing via een markering versturen en het pakket toch afleveren.

Belangrijkste punten

  • Bufferbloat is aanhoudende wachtrijvertraging, ook wanneer de doorvoersnelheid hoog blijft.
  • De wachttijd is het aantal wachtende bits gedeeld door de uitgangssnelheid.
  • AQM signaleert congestie voordat de fysieke buffer overloopt.
  • RED volgt de gemiddelde wachtrijlengte; CoDel volgt aanhoudende wachttijd.
  • FQ-CoDel combineert wachtrijen per verkeersstroom met de vertragingsregeling van CoDel.
  • Vroege, verspreide signalen verminderen gelijktijdig verlies en gelijktijdige vensterverlagingen.

4.2 Volg een ECN-waarschuwing terug naar de zender

Expliciete congestiemelding, ECN, laat een router een pakket afleveren en waarschuwen dat congestie ontstaat. De markering verandert het gedrag van de zender zonder ontbrekende gegevens te veroorzaken die opnieuw moeten worden verzonden.

Lees het IP-codepunt

Het ECN-veld bestaat uit twee bits in de IPv4-byte voor het type dienstverlening (Type of Service) of het IPv6-veld voor de verkeersklasse (Traffic Class).

BitsBetekenis
00Not-ECT: het transportprotocol heeft geen ECN-ondersteuning aangegeven
10ECT(0): transport met ECN-ondersteuning
01ECT(1): transport met ECN-ondersteuning; ook de L4S-aanduiding
11CE: congestie ondervonden

Bij de klassieke TCP-handshake volgens RFC 3168 zet de SYN van de client ECE en CWR. De SYN-ACK van een server die ECN accepteert, zet ECE. Na de onderhandeling markeert klassiek TCP gegevenspakketten met ECT(0).

Volg de terugkoppellus

Een AQM dat een pakket met ECN-ondersteuning als congestiewaarschuwing zou verwerpen, kan het codepunt veranderen in CE en het pakket doorsturen. Een Not-ECT-pakket kan die waarschuwing niet dragen en wordt verworpen wanneer het AQM moet signaleren. Een volledig volle buffer verwerpt nog steeds pakketten, ook pakketten met ECN-ondersteuning.

De ontvanger meldt CE terug door ECE, de ECN-terugmelding, in zijn ACK's te zetten. De ontvanger blijft dat doen totdat hij CWR, congestievenster verkleind, van de zender ontvangt. Deze vlaggen melden en bevestigen de terugkoppeling; hun aanwezigheid betekent niet dat gegevens verloren zijn gegaan.

Begin bij klassiek ECN in Reno-stijl met een cwnd van 20 MSS. Nadat ECE aankomt, verlaagt de zender cwnd naar 10 MSS en zet hij CWR op het volgende nieuwe gegevenssegment. De ontvanger stopt met terugmelden zodra CWR aankomt. Herhaalde terugmeldingen uit hetzelfde venster vereisen geen herhaalde halveringen. De waarschuwing keert terug via het pad van de ontvangstbevestiging, dus de reactie heeft te maken met terugkoppelvertraging.

ECN bepaalt het signaal; het congestiealgoritme levert de verlagingsregel. Reno halveert, terwijl CUBIC bij een ECN-gebeurtenis normaal 70% behoudt. Beide eindpunten en een markerend knelpunt moeten ECN ondersteunen om deze terugkoppellus te laten werken.

Gebruik de fractie markeringen

DCTCP, TCP voor datacenters, gebruikt frequente markeringen in een beheerde omgeving. Het schat de fractie gemarkeerde bytes met een afgevlakte waarde alfa:

α←(1−g)α+gM,

waarbij M de recent gemarkeerde fractie is. Sommige implementaties gebruiken voor g de waarde 1/16. Het verlaagt het venster met:

cwnd←cwnd(1−α/2).

Bij alfa van 0,2 wordt een venster van 100 verlaagd naar 90; bij alfa van 1 halveert het. DCTCP heeft compatibele markering en terugkoppeling nodig. Als je het in één gewone wachtrij met klassiek TCP mengt, kunnen ongelijke aandelen ontstaan.

L4S, de experimentele architectuur in RFC 9330 tot en met 9332, brengt een verwante schaalbare reactie naar internetpaden. ECT(1) duidt schaalbaar verkeer aan en een gekoppeld AQM-systeem met twee wachtrijen scheidt dit van klassiek verkeer terwijl de behandeling van beide wordt afgestemd. Frequente markeringen bij een korte wachtrij streven naar een wachtrijvertraging van ongeveer een milliseconde. ECT(1) alleen garandeert die vertraging niet: de regelaar en het gedrag van het knelpunt maken het ontwerp compleet.

Belangrijkste punten

  • CE markeert een afgeleverd pakket; verkeer met ECN-ondersteuning kan bij overloop nog steeds worden verworpen.
  • Klassiek TCP onderhandelt over ECN, meldt CE terug via ECE en bevestigt zijn reactie met CWR.
  • De regelaar kiest hoeveel hij verlaagt; ECN levert het congestiesignaal.
  • DCTCP gebruikt de gemarkeerde fractie om de verlaging in beheerde omgevingen te bepalen.
  • L4S combineert ECT(1), schaalbare congestiebeheersing en gekoppeld wachtrijbeheer.
5

Hoe CUBIC en BBR zich aanpassen aan moderne paden

Een pad met een groot bandbreedte-vertragingsproduct heeft veel gegevens onderweg nodig. Reno kan er na een verlaging te lang over doen om dat venster te herstellen. CUBIC verandert hoe het venster in de tijd groeit, terwijl BBR de afleveringssnelheid en de RTT zonder wachtrijen van het pad schat. Vergelijk wat elk algoritme meet, hoe het capaciteit aftast en wat zijn gedrag betekent voor vertraging en het delen met ander verkeer.

5.1 Gebruik tijd om het CUBIC-venster te laten groeien

CUBIC pakt de langzame groei van Reno op snelle paden over lange afstanden aan. Het venster volgt de verstreken tijd sinds een congestieverlaging en reageert daardoor anders dan bij een vaste toename van één segment per RTT. RFC 9438 specificeert CUBIC; het is de standaard in belangrijke TCP-stacks van Linux, Windows en Apple.

Onthoud het laatste congestiepunt

Bij gewoon verlies of een ECN-congestiegebeurtenis legt CUBIC zijn venster vast als Wmax. Bij een volledig benut venster behoudt de afnamefactor van 0,7 70% van de hoeveelheid onbevestigde gegevens. Reno zou de helft behouden. Een hertransmissietime-out is anders: CUBIC volgt Reno terug naar een venster van één segment en slow start, terwijl het de drempel instelt met de afnamefactor van CUBIC.

Voor de standaard kubische groeiperiode na een verlaging is het doelvenster in segmenten:

W(t)=C(t−K)3+Wmax⁡,C=0,4.

Tijd t is in seconden. Wanneer het verlaagde venster 0,7 Wmax is, is de terugkeertijd naar de oude piek:

K=Wmax⁡(1−0,7)/0,43.
Werk de curve uit

Bij een Wmax van 100 segmenten is het verlaagde venster 70. De waarde onder de derdemachtswortel is 75, dus K is ongeveer 4,22 s. Na één seconde is de curve ongeveer 86,7 segmenten; na twee seconden 95,6; na drie seconden 99,3. Bij K bereikt de curve 100.

Onder de oude piek is de groei aanvankelijk snel en vertraagt die daarna. Dit concave gebied nadert voorzichtig een punt waar eerder congestie optrad. Rond de piek ligt een relatief vlak plateau. Daarboven versnelt het convexe gebied om capaciteit af te tasten die mogelijk nu beschikbaar is. Na zeven seconden bereikt de voorbeeldcurve ongeveer 108,6 segmenten.

Leg het RTT-voordeel en de beperking ervan uit

Reno heeft 50 RTT's nodig om van 50 terug te groeien naar 100 segmenten: 5 s bij een RTT van 100 ms en 10 s bij een RTT van 200 ms. De terugkeertijd van de kubische curve hangt af van de vastgelegde piek en de verstreken tijd, dus de terugkeer in 4,22 s hangt niet rechtstreeks af van het aantal ACK's.

CUBIC berekent ook een Reno-vriendelijke schatting. Het gebruikt een gelijkwaardige AIMD-toename van ongeveer 0,53 segmenten per RTT met een afnamefactor van 0,7 en kiest deze schatting wanneer die boven het kubische doel ligt. Paden met een korte RTT kunnen daardoor sneller herstellen dan de zuiver kubische terugkeertijd. Tijdgebaseerde groei vermindert een belangrijke bron van voorkeur op basis van RTT; ze maakt niet elke werkelijke verdeling onafhankelijk van de RTT.

Pas de onthouden piek aan

Als congestie onder de vorige piek terugkeert, verlaagt snelle convergentie van CUBIC de onthouden Wmax. Een nieuwe gebeurtenis bij 90 segmenten na een eerdere piek van 100 geeft:

Wmax⁡=90(1+0,7)/2=76,5.

Het direct verlaagde venster is 63 segmenten. De onthouden piek en het nieuwe huidige venster hebben verschillende taken: de ene bepaalt de vorm van toekomstige groei, het andere begrenst wat nu wordt verzonden.

CUBIC blijft op verlies reageren, met ECN als alternatief signaal. Het kan een blijvende wachtrij opbouwen op een pad waar pas bij een volle wachtrij wordt verworpen. Sneller herstel en een mildere gewone verlaging verbeteren het gebruik van paden met een groot BDP, maar geen van beide garandeert op zichzelf een lage wachtrijvertraging.

Belangrijkste punten

  • CUBIC behoudt normaal 70% na verlies of een ECN-gebeurtenis, maar begint na een time-out opnieuw bij één segment.
  • Het kubische doel hangt af van de verstreken seconden en het onthouden congestievenster.
  • De groei vertraagt rond de oude piek en versnelt daarboven.
  • De Reno-vriendelijke schatting kan boven de kubische curve liggen, vooral bij korte RTT's.
  • Snelle convergentie verlaagt de onthouden piek wanneer congestie daaronder terugkeert.
  • CUBIC blijft een regelaar die op verlies reageert en kan blijvende wachtrijen opbouwen.

5.2 Schat het pad met vertragings- en afleveringsmetingen

Verlies is niet het enige teken van een druk pad. Vertraging kan wachtende gegevens zichtbaar maken, terwijl afleveringsmetingen kunnen helpen schatten hoeveel bandbreedte het pad biedt. Vegas en BBR gebruiken deze waarnemingen op verschillende manieren.

Schat de wachtende gegevens van Vegas

Vegas vergelijkt een verwachte snelheid op basis van de minimale basisrondlooptijd met de werkelijke snelheid op basis van de gemeten RTT. Hun verschil, vermenigvuldigd met de basisrondlooptijd, schat de wachtende gegevens van de verkeersstroom.

Bij een cwnd van 50 segmenten, een basisrondlooptijd van 40 ms en een gemeten RTT van 50 ms is de verwachte aflevering 1.250 segmenten/s en de werkelijke aflevering 1.000 segmenten/s. De schatting van de wachtrij is:

(1.250−1.000)×0,04=10 segmenten.

Vegas groeit onder een ondergrens en krimpt boven een bovengrens. Als verkeer dat op verlies reageert de gedeelde wachtrij blijft vullen, ziet Vegas steeds vertraging en schakelt het terug, waardoor het een klein aandeel kan overhouden.

Bouw het tweedelige model van BBR op

BBR schat de bandbreedte van het knelpunt uit recente maximale afleveringssnelheden en de minimale RTT met een filter van 10 s. Hun product schat het BDP. Het ideale doel is een volledig benutte verbinding met ongeveer één BDP onderweg en weinig wachtende gegevens.

Een geschatte bandbreedte van 50 Mbps en een minimale RTT van 30 ms geven 1,5 miljoen bits, oftewel 187.500 bytes, per BDP. Een gebruikelijke congestievensterfactor van 2 begrenst onbevestigde gegevens op ongeveer 375.000 bytes. De snelheid voor gespreide pakketverzending is een afzonderlijke regeling: de factor voor de verzendsnelheid maal de geschatte bandbreedte. Een bovengrens staat gegevens onderweg toe; die vereist niet dat de zender met tweemaal de bandbreedte verzendt.

Volg de toestanden van BBR versie 3
ToestandHoofdtaakGedrag volgens conceptversie 3
StartupCapaciteit ontdekkenVerzenden met ongeveer 2,77 keer de schatting; stoppen wanneer groei stagneert of verlies hoog is
DrainOpstartwachtrij verwijderenVerzenden met ongeveer 0,5 keer de schatting
ProbeBWBandbreedte testen en gebruikenFactoren voor de verzendsnelheid: Up 1,25, Down 0,9, Cruise 1,0, Refill 1,0
ProbeRTTMinimale RTT vernieuwenGegevens onderweg gedurende minstens 200 ms en één rondlooptijd verlagen naar ongeveer een half BDP

De groeitoets van Startup is minder dan 25% groei van de afleveringssnelheid gedurende drie rondes. ProbeRTT wordt hoogstens ongeveer eenmaal per 5 s gepland. Op het voorbeeldpad richt ProbeBW Up zich op 62,5 Mbps en Down op 45 Mbps. Deze details van versie 3 zijn vastgelegd in het BBR-internetconcept, niet in een gepubliceerde BBR-RFC.

Vergelijk terugkoppeling en afwegingen

Reno en CUBIC verhogen totdat verlies of ECN congestie signaleert. BBR verzendt gespreid op basis van een bandbreedte- en RTT-model. Het bouwt tijdens Startup en ProbeBW Up bewust kort een wachtrij op, dus “modelgebaseerd” betekent niet “bouwt nooit een wachtrij op”.

BBR versie 1 negeerde verlies grotendeels. Versie 3 gebruikt zwaar verlies, ongeveer 2% in een ronde, om overschrijding te beperken en het naast elkaar werken te verbeteren. Het kan op lange paden met willekeurig verlies een hogere doorvoersnelheid behouden, maar kan niet perfect vaststellen waarom een pakket verloren ging. De specifieke ECN-reactie staat nog open in het concept; elke verbinding die ECN-ondersteuning aangeeft, moet op CE reageren als congestie. Buffergrootte, RTT, versie en concurrerende algoritmen blijven van belang voor een eerlijke verdeling.

Belangrijkste punten

  • Vegas leidt wachtende gegevens af uit verwachte en werkelijke snelheden met behulp van de basisrondlooptijd.
  • BBR modelleert bandbreedte en minimale RTT en regelt daarna de gespreide pakketverzending en de grenzen voor gegevens onderweg afzonderlijk.
  • BBR Startup en ProbeBW tasten bewust boven de geschatte afleveringssnelheid af.
  • Drain en ProbeRTT verminderen wachtende gegevens voor verschillende meetdoelen.
  • BBR versie 3 gebruikt zwaar verlies om overschrijding te beperken; het negeert congestie niet.
  • BBR is modelgebaseerd, terwijl Vegas rechtstreeks op toenemende vertraging reageert.
  • De algoritmeversie en padomstandigheden beïnvloeden het naast elkaar werken en de wachtrijvorming.
6

Waarom QUIC zich kan ontwikkelen terwijl het netwerk wordt gedeeld

Een transportontwerp moet werken via apparatuur die al in gebruik is. TCP-uitbreidingen kunnen worden vertraagd door middleboxes en updatecycli van besturingssystemen. QUIC vervoert een versleuteld transportprotocol via UDP, zodat applicaties nieuw gedrag gemakkelijker kunnen invoeren. Volg hoe streams, pakketnummers en uitgebreidere ontvangstbevestigingen aflevering en herstel verbeteren, terwijl de zender principes voor congestiebeheersing blijft volgen die bekend zijn uit TCP.

6.1 Breng transportfuncties onder in een versleuteld ontwerp op basis van UDP

Een protocol verstart wanneer bestaande apparaten zo sterk afhankelijk zijn van de huidige vorm dat veranderingen moeilijk zijn in te voeren. Middleboxes inspecteren TCP-headers en kunnen onbekende opties of vlaggen weigeren. Implementaties in de kernel verspreiden nieuw gedrag ook via updates van het besturingssysteem, vaak langzaam.

Herken de kosten die QUIC aanpakt

TCP is verder ontwikkeld met SACK, ECN, vensterschaling en nieuwe congestieregelaars. Toch blijft de structuur van belang voor webverkeer. Een conventionele nieuwe TCP-verbinding met TLS heeft de TCP-handshake nodig vóór de TLS-handshake. De enkele geordende bytestroom betekent ook dat één ontbrekend segment de aflevering van latere bytes blokkeert, inclusief gegevens voor niet-gerelateerde verzoeken. Dit is blokkering door het eerste element op transportniveau.

De adressen en poorten van een verbinding kunnen een ander obstakel vormen wanneer een apparaat tussen netwerken beweegt. QUIC, gestandaardiseerd in RFC 9000, verandert deze onderdelen van het transportontwerp terwijl het zijn pakketten via UDP vervoert. HTTP/3 werkt boven op QUIC.

Combineer de handshakes

QUIC integreert TLS 1.3 met de transporthandshake. Bij een eenvoudige uitwisseling met een RTT van 80 ms, verwaarloosbare verwerkingstijd en geen verlies verzendt een nieuwe TCP-verbinding met TLS 1.3 het verzoek na twee RTT's en ontvangt die de eerste antwoordbytes na drie: 240 ms. Een nieuwe QUIC-verbinding kan die na twee RTT's ontvangen: 160 ms.

Een hervatte QUIC-verbinding kan vroege applicatiegegevens meesturen met de eerste reeks pakketten, 0-RTT genoemd. Het eerste antwoord kan dan na één RTT aankomen, in dit voorbeeld 80 ms. Vroege gegevens kunnen opnieuw worden afgespeeld, dus beperken applicaties die tot handelingen die veilig kunnen worden herhaald. De term 0-RTT beschrijft wanneer de verzending kan beginnen, niet een onmiddellijk antwoord.

Scheid streams, niet alle gedeelde grenzen

QUIC vervoert onafhankelijke, geordende bytestromen. Als een pakket gegevens voor afbeelding 1 bevat, blokkeert verlies daarvan niet de aflevering van al ontvangen gegevens voor afbeeldingen 2 en 3 in afzonderlijke streams. Een pakket met meerdere streams kan elk van de vervoerde streams beïnvloeden. Alle streams delen nog steeds de congestieregelaar van de verbinding, dus verlies kan hun totale beschikbare snelheid verlagen.

QUIC levert betrouwbare aflevering van streams boven op UDP. Het biedt ook stroomregeling per stream en per verbinding. UDP is de drager, geen vervanging voor deze transportfuncties.

Bescherm veranderbare details

QUIC versleutelt pakketladingen, inclusief alle transportframes. Headerbescherming dekt pakketnummers en enkele bits van de eerste byte. Velden die nodig zijn voor routering en onderhandeling, zoals verbindings-ID's en de versie, blijven zichtbaar. Door veranderbare transportdetails te verbergen, krijgen middleboxes minder gedrag waarvan ze afhankelijk kunnen worden.

Verbindings-ID's identificeren een verbinding onafhankelijk van de huidige IP-adressen en poorten. Met padvalidatie kan een verbinding migreren wanneer een telefoon van wifi naar mobiele toegang overschakelt, zonder een volledig nieuwe verbinding te beginnen.

QUIC is meestal een bibliotheek in de gebruikersruimte. Een applicatie-update kan daardoor een transportverbetering uitbrengen zonder te wachten totdat elke kernel van een besturingssysteem verandert. Die flexibiliteit geeft de applicatie ook verantwoordelijkheid voor correcte verliesdetectie, beveiliging, stroomregeling en congestiebeheersing.

Belangrijkste punten

  • Verstarring ontstaat wanneer bestaande apparatuur protocolwijzigingen moeilijk maakt.
  • QUIC combineert transport- en TLS-opbouw en kan 0-RTT-gegevens ondersteunen die gevoelig zijn voor herhaling.
  • Onafhankelijke streams voorkomen dat geordende aflevering van niet-gerelateerde streams op transportniveau volledig stilvalt.
  • Versleuteling van de nettolading en headerbescherming verbergen de meeste veranderbare transportdetails.
  • Verbindings-ID's ondersteunen migratie buiten een vast adres- en poorttupel.
  • QUIC voegt betrouwbaarheid, stroomregeling en congestiebeheersing toe boven op UDP.

6.2 Gebruik duidelijkere verliessignalen met bekende congestiebeheersing

QUIC verbetert wat een zender uit ontvangstbevestigingen kan afleiden, maar moet nog steeds overbelasting van het pad voorkomen. RFC 9002 definieert verliesdetectie en een standaardregelaar die op NewReno lijkt. Implementaties kunnen andere geschikte algoritmen gebruiken, waaronder CUBIC of BBR.

Identificeer elke verzending

Pakketnummers nemen toe en worden binnen een pakketnummerruimte nooit herhaald. Opnieuw verzonden gegevens reizen in frames binnen een nieuw pakket met een nieuw nummer. Een ACK kan daardoor de aangekomen verzending identificeren en voorkomt de onduidelijkheid bij TCP tussen een oorspronkelijk segment en de hertransmissie ervan.

ACK-frames melden ontvangen bereiken en de bevestigingsvertraging van de ontvanger. Na de handshake gebruikt de zender een gevalideerde, begrensde bevestigingsvertraging bij het aanpassen van RTT-schattingen; hij trekt niet blindelings een willekeurige vertraging van de ontvanger van elke meting af.

QUIC verklaart een pakket verloren wanneer een pakket met een minstens drie nummers hoger pakketnummer is bevestigd, of via de tijdsdrempel zodra een later pakket is bevestigd. De aanbevolen tijdsdrempel is 9/8 van de hoogste van de meest recente en de afgevlakte RTT. Een time-out voor een meetpakket, PTO, zet de zender ertoe aan testpakketten te verzenden die ontvangstbevestigingen uitlokken. Alleen het aflopen van een PTO laat cwnd niet instorten.

Stel venstergrenzen in bytes in

Voor maximale datagramgrootte d is het initiële venster volgens RFC 9002:

min⁡(10d, max⁡(14.720,2d)).

Bij een d van 1.200 bytes is het resultaat 12.000 bytes. Bij een d van 1.500 bytes is het 14.720 bytes. Het minimale congestievenster is twee datagrammen van maximale grootte, dus die paden hebben minima van respectievelijk 2.400 en 3.000 bytes.

In de standaardregelaar halveert verlies of een nieuw CE-congestiesignaal cwnd, met het minimum als ondergrens, en stelt ssthresh in op het verlaagde venster. Een herstelperiode voorkomt een nieuwe verlaging bij verder verlies van pakketten die vóór het begin van het herstel zijn verzonden. Een ontvangstbevestiging voor een tijdens het herstel verzonden pakket beëindigt de periode. Daarna hervat de zender de normale groei.

Herken aanhoudende problemen

Aanhoudende congestie is een sterkere aanwijzing dan het eenmaal aflopen van een timer. Ze vereist een voldoende lange reeks verloren pakketten die een ontvangstbevestiging uitlokken, zonder tussentijds bevestigd pakket en met een eerdere RTT-meting. De tijdsdrempel is:

3 [afgevlakte RTT+max⁡(4 RTT-variatie,timergranulariteit)+maximale bevestigingsvertraging].

Bij een afgevlakte RTT van 100 ms, een variatie van 10 ms, een maximale bevestigingsvertraging van 25 ms en een verwaarloosbare timergranulariteit is de drempel 495 ms. Het verliesinterval dat aan de voorwaarden voldoet, moet die waarde overschrijden. De regelaar verlaagt cwnd dan naar twee datagrammen, het minimumvenster.

Houd terugkoppeling en timing bruikbaar

QUIC-ACK's kunnen cumulatieve aantallen ECT(0), ECT(1) en CE melden. Nadat de werking van ECN op het pad is gevalideerd, behandelt de zender een nieuwe stijging van CE als een congestiegebeurtenis zonder dat pakketverlies nodig is.

Gespreide pakketverzending verdeelt transmissies over de tijd. Een snelheid van ongeveer 1,25 keer cwnd gedeeld door de afgevlakte RTT is één voorgestelde aanpak; burstgrenzen kunnen hetzelfde doel dienen. Een heel venster in één keer verzenden veroorzaakt een burst, ook wanneer de gemiddelde snelheid aanvaardbaar is. Invoering in de gebruikersruimte maakt nieuwe regelaars gemakkelijker uit te brengen, maar elke stack moet nog steeds verantwoord bandbreedte delen.

Belangrijkste punten

  • Unieke pakketnummers identificeren verzendingen; ontvangen bereiken lokaliseren gaten.
  • Aanpassing voor bevestigingsvertraging volgt de regels voor validatie en de handshake.
  • Pakket- en tijdsdrempels detecteren verlies; PTO verzendt testpakketten voor terugkoppeling.
  • De standaardregelaar halveert eenmaal per herstelperiode en respecteert een minimum van twee datagrammen.
  • Aanhoudende congestie vereist een verliesinterval dat aan de voorwaarden voldoet en langer is dan de tijdsdrempel.
  • Gevalideerde ECN-aantallen kunnen congestie signaleren zonder verwerping.
  • Gespreide pakketverzending of burstgrenzen voorkomen dat het volledige venster in één burst wordt verzonden.

Congestiebeheersing in netwerken: voorbeelden

6 Walkthroughs

1

Volg verkeer door een knelpunt

13 stappen
Volg een groeiende wachtrij, bereken verspilde capaciteit en bepaal hoe terugkoppeling over congestie een zender bereikt.
  1. 1
    IntroductieEen verbinding kan bezet blijven terwijl een applicatie wacht

    Meerdere snelle ingangen voeden één langzamere uitgang, een knelpunt. De router moet het overschot vasthouden, zodat dezelfde verkeersstroom een hoge doorvoersnelheid en een lange wachttijd kan ervaren.

    Volg eerst de wachtrij en bekijk daarna het werk dat geen nieuwe gegevens aflevert (nuttige doorvoersnelheid en congestie-instorting). Bepaal ten slotte welk soort terugkoppeling de zender kan vertellen zijn gedrag te veranderen. Deze drie invalshoeken verklaren waarom activiteit alleen een slechte maat is voor de toestand van het netwerk.

  2. 2
    UitlegVergelijk aankomsten met vertrek

    Het knelpunt is de verbinding met de minste beschikbare capaciteit voor het verkeer op zijn pad. Wanneer de aankomstsnelheid aanhoudend hoger is dan de uitgangssnelheid, hoopt het overschot zich op in de uitgangswachtrij.

    Onder de uitgangssnelheid laat de overgebleven capaciteit de wachtrij leeglopen. Als de constante aankomstsnelheid precies gelijk is aan de uitgangssnelheid, blijft een bestaande wachtrij onveranderd: elk vertrekkend pakket wordt vervangen door een aankomend pakket. Een korte overbelasting kan worden opgevangen als daarna een rustigere periode volgt.

  3. 3
    VoorbeeldBepaal hoe snel de wachtrij groeit

    Een lege routerbuffer ontvangt 15 Mbps terwijl de uitgang 11 Mbps verzendt. Bepaal eerst het overschot:

    15−11=4 Mbps.

    Reken het overschot om naar bytes per seconde:

    4.000.000/8=500.000 bytes/s.

    Dit is de snelheid waarmee wachtende gegevens zich ophopen. Als je de volledige aankomstsnelheid gebruikt, tel je gegevens mee die de uitgangsverbinding al heeft verzonden.

  4. 4
    VoorbeeldReken wachtende gegevens om naar wachttijd

    Behoud dezelfde uitgang van 11 Mbps. Een buffer van 1.000.000 bytes raakt na 2 s vol door het overschot van 500.000 bytes/s.

    Wanneer de buffer vol is, staan er 8.000.000 bits vóór een nieuw aansluitend pakket. De geschatte wachttijd is:

    8.000.000/11.000.000≈0,727 s.

    De uitgangssnelheid bepaalt hoe lang het duurt voordat gegevens die al wachten vertrekken. Het ingangsoverschot bepaalt hoe snel die achterstand is ontstaan.

  5. 5
    UitdagingVoorspel wat er met een wachtrij gebeurt als de belasting daalt

    Een wachtrij bevat 300.000 bytes. De uitgang is 12 Mbps en de constante aankomstsnelheid daalt naar 8 Mbps. Hoe lang duurt het voordat de bestaande wachtrij leegloopt?

    ---reveal---

    De netto afnamesnelheid is 4 Mbps, oftewel 500.000 bytes/s. Dus:

    300.000/500.000=0,6 s.

    Als je door de volledige uitgangssnelheid deelt, negeer je nieuwe pakketten die blijven aankomen terwijl de oude achterstand wordt weggewerkt.

  6. 6
    UitlegVolg wat een hertransmissie vervangt

    Nuttige doorvoersnelheid telt nieuwe nuttige applicatiegegevens eenmaal. Doorvoersnelheid telt afgeleverd verkeer, terwijl aangeboden belasting alles omvat wat het netwerk in wordt gestuurd.

    Een zender die betrouwbare overdracht verzorgt, vervangt verloren gegevens, maar die herhalingen verbruiken verbindingstijd. Als een timer afloopt terwijl een origineel alleen vertraagd is, kunnen twee exemplaren door het pad reizen en met succes aankomen. De applicatie ontvangt dat deel van de gegevens nog steeds maar eenmaal.

  7. 7
    VoorbeeldHoud rekening met werk dat verderop verloren gaat

    Een pakket reist over verbindingen A en B en wordt daarna verworpen in de wachtrij vóór C. Beide eerdere transmissies hebben al capaciteit verbruikt, maar het pakket bereikt zijn bestemming nooit.

    Naarmate meer verkeer laat verloren gaat, kunnen eerdere verbindingen een steeds groter deel van hun tijd besteden aan pakketten die hun bestemming niet zullen bereiken. De eind-tot-eindaflevering kan dalen terwijl die verbindingen bezet blijven. Dit is één weg naar congestie-instorting, niet simpelweg een volle wachtrij bij één router.

  8. 8
    UitdagingOnderscheid gebruikte capaciteit van nuttige voortgang

    Een verbinding van 16 Mbps wordt volledig benut. Van de even grote pakketten herhaalt 25% gegevens die de verbinding eerder heeft vervoerd. Wat is, zonder rekening te houden met headers en verlies verderop, de hoogst mogelijke snelheid van nieuwe gegevens?

    ---reveal---

    Slechts driekwart is nieuw:

    16×0,75=12 Mbps.

    De overige 4 Mbps kan nuttig zijn om de betrouwbaarheid te herstellen, maar voegt geen nieuwe gegevens toe aan de snelheid die hier wordt geteld.

  9. 9
    KernpuntWeet wat er verandert bij het knikpunt en instortingspunt

    Voorbij het knikpunt geeft een grotere aangeboden belasting weinig extra doorvoersnelheid terwijl de vertraging sterk stijgt. Voorbij het instortingspunt daalt de doorvoersnelheid doordat verlies en verspild werk overheersen.

    Deze punten beschrijven verschillende problemen: inefficiënte wachttijd kan optreden voordat de nuttige aflevering instort. Een regelaar moet het knelpunt productief bezet houden en tegelijk het werkpunt met hoge vertraging vermijden dat een grote buffer kan verhullen.

  10. 10
    UitlegBepaal waar de waarschuwing vandaan komt

    Bij eind-tot-eindregeling leidt de zender congestie af uit verlies, RTT of afleveringsmetingen. Een router geeft geen expliciete congestiemelding.

    Bij netwerkondersteunde regeling verstuurt de router een waarschuwing. Bij ECN markeert de router een pakket op weg naar de ontvanger en meldt de ontvanger die markering terug. De melding geldt nog steeds als netwerkondersteund, ook al komt die terug in een ontvangstbevestiging van een eindpunt.

  11. 11
    VerbandOnderscheid het signaal van de verzendregeling

    Verlies kan ontstaan door overloop van een wachtrij of beschadiging op een draadloze verbinding. Een stijging van de RTT kan komen door een wachtrij of een routewijziging. Een markering meldt expliciet congestie, maar vereist compatibele ondersteuning op het pad.

    Na interpretatie van het signaal kan de zender een venster begrenzen of een snelheid voor gespreide verzending kiezen. Dit zijn keuzes voor de regeling, los van de herkomst van het signaal. Ongeveer één venster per RTT verbindt de hoeveelheid onderweg met de bereikte snelheid.

  12. 12
    UitdagingKies een bruikbaar terugkoppelpad

    Een download houdt een grote routerbuffer gevuld. De ontvanger heeft ruim voldoende vrij geheugen. De router begint congestie te markeren en de ontvanger meldt de markeringen terug. Wat voor regeling is dit en waarom kan die de vertraging van de download aanpakken?

    ---reveal---

    Dit is netwerkondersteunde congestiebeheersing. De zender kan het verkeer naar het overbelaste pad verminderen, zodat de routerwachtrij kan krimpen. Meer ruimte bij de ontvanger zou die wachtrij niet laten leeglopen, omdat de beperkende capaciteit in het netwerk ligt.

  13. 13
    SamenvattingBekijk belasting, nuttige aflevering en terugkoppeling samen

    Voorspel de groei van de wachtrij uit aankomsten min vertrek; bepaal de wachttijd uit wachtende bits gedeeld door de uitgangssnelheid. Controleer daarna hoeveel werk op de verbinding nieuwe applicatiegegevens aflevert.

    Verlies, vertraging en expliciete terugkoppeling vertellen een zender verschillende dingen. Een bruikbare congestieregelaar interpreteert die signalen en past het verkeer aan, zodat het pad gegevens efficiënt aflevert zonder buitensporige wachtrijen in stand te houden.

2

Volg een TCP-venster van opstart tot en met herstel

20 stappen
Gebruik vensters in bytes en segmenten, volg de klassieke regels voor groei en verlies en schat daarna de snelheid van een langdurige overdracht.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieLees eerst het venster en daarna de snelheid
  2. 2
    UitlegHoud rekening met zowel de grens van de zender als die van de ontvanger
  3. 3
    VoorbeeldSchat een door het venster begrensde snelheid
  4. 4
    VoorbeeldBereken hoeveel gegevens nodig zijn om een pad te vullen
  5. 5
    UitdagingBepaal welke grens werkelijk beperkend is
  6. 6
    UitlegWaarom slow start snel groeit
  7. 7
    VoorbeeldVerander de regel bij de drempel
  8. 8
    TipBenoem in elke uitwerking de fase
  9. 9
    UitdagingVolg de omschakeling zonder een ronde over te slaan
  10. 10
    UitlegOnderscheid een gat van een stil pad
  11. 11
    VoorbeeldBegin snel herstel met tijdelijke venstervergroting
  12. 12
    VoorbeeldBeëindig herstel bij de drempel
  13. 13
    UitdagingGebruik FlightSize en verklein het venster correct
  14. 14
    UitlegBereken het gemiddelde van het zaagtandvenster
  15. 15
    VoorbeeldReken het gemiddelde om naar bits per seconde
  16. 16
    VerbandBekijk waarom verlies en RTT van belang zijn
  17. 17
    UitdagingVerander twee modelinvoeren tegelijk
  18. 18
    KernpuntEen hoog BDP vergroot het probleem van langzaam herstel
  19. 19
    UitdagingCombineer de snelheidsschatting met stroomregeling
  20. 20
    SamenvattingBekijk groei, herstel en grenzen als afzonderlijke beslissingen
3

Volg eerlijke verdeling van een ideaal paar naar echte gebruikers

12 stappen
Volg AIMD-convergentie, bereken gelijkheid en benutting en houd rekening met vraag en aantal verbindingen.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieVraag wie de capaciteit ontvangt
  2. 2
    UitlegTeken de twee doellijnen
  3. 3
    VoorbeeldBekijk het verschil en de verhouding afzonderlijk
  4. 4
    UitdagingKies een aanpassing die de relatieve verdeling verandert
  5. 5
    VerbandWeet wanneer de ideale convergentie geldt
  6. 6
    UitlegGebruik de index van Jain voor gelijkheid
  7. 7
    VoorbeeldBereken een score en de benutting
  8. 8
    VoorbeeldVerdeel de rest na een kleine vraag
  9. 9
    UitdagingBepaal de juiste groep voor een eerlijkheidsscore
  10. 10
    KernpuntZowel zenders als wachtrijen bepalen de uitkomst
  11. 11
    UitdagingOnderscheid gelijkheid van efficiënt AIMD-gedrag
  12. 12
    SamenvattingOnderscheid een verdeling van de verklaring ervoor
4

Volg een vroege congestiewaarschuwing

13 stappen
Vergelijk verwerpen bij een volle wachtrij, RED en CoDel en volg daarna een CE-markering door TCP en een evenredige DCTCP-reactie.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieWeinig verlies kan een lange wachttijd verhullen
  2. 2
    VoorbeeldMeet de wachttijd in een grote buffer
  3. 3
    UitlegRED geeft een vroeg signaal met een bepaalde kans
  4. 4
    UitlegCoDel onderzoekt of de vertraging ooit klein wordt
  5. 5
    UitdagingInterpreteer een vertragingsverloop
  6. 6
    VerbandOnderscheid bediening per verkeersstroom van regeling van wachtrijvertraging
  7. 7
    UitlegMarkeer een afgeleverd pakket
  8. 8
    VoorbeeldSluit de klassieke TCP-terugkoppellus
  9. 9
    UitdagingVerwerk herhaalde terugmeldingen van één gebeurtenis
  10. 10
    VoorbeeldStem een DCTCP-reactie af op gemarkeerd verkeer
  11. 11
    VerbandL4S combineert gedrag van eindpunten en wachtrijen
  12. 12
    UitdagingLeg aflevering zonder time-out uit
  13. 13
    SamenvattingVolg detectie, markering en reactie
5

Vergelijk de groei van CUBIC met het padmodel van BBR

14 stappen
Bereken de terugkeercurve van CUBIC, vergelijk Vegas met BBR en onderscheid verzendsnelheid van grenzen voor gegevens onderweg.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieKies wat de regelaar moet leren
  2. 2
    UitlegBegin met een mildere gewone verlaging
  3. 3
    VoorbeeldBepaal de kubische terugkeertijd
  4. 4
    VoorbeeldBereken een punt onder de oude piek
  5. 5
    KernpuntDe zuivere curve is maar één mogelijkheid
  6. 6
    UitdagingGebruik de twee verschillende onthouden waarden van CUBIC
  7. 7
    VoorbeeldLaat Vegas wachtende segmenten afleiden
  8. 8
    UitlegBouw het bandbreedte-vertragingsmodel van BBR op
  9. 9
    VoorbeeldBereken het model voordat je factoren toepast
  10. 10
    VerbandTast af en maak daarna ruimte om te meten
  11. 11
    UitdagingVertaal een model naar regelinstellingen
  12. 12
    TipHoud versie en terugkoppelregels bij de hand
  13. 13
    UitdagingOnderscheid een RTT-waarschuwing van een padmodel
  14. 14
    SamenvattingVergelijk metingen, groei en wachtrijvorming
6

Volg QUIC van verbindingsopbouw tot herstel na congestie

15 stappen
Verbind de invoeringskeuzes van QUIC met zijn streams, verliessignalen, herstelregels en gespreide verzending.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieVerander het transportprotocol zonder zijn taak los te laten
  2. 2
    UitlegBegrijp waarom TCP-wijzigingen kunnen stagneren
  3. 3
    VerbandBescherm details die moeten kunnen veranderen
  4. 4
    VoorbeeldVergelijk de tijd tot het eerste antwoord
  5. 5
    VoorbeeldOnderscheid volgorde binnen streams van het delen van een verbinding
  6. 6
    UitdagingCorrigeer een bewering over transport op basis van UDP
  7. 7
    UitlegGeef elke verzending een eigen identiteit
  8. 8
    VoorbeeldDetecteer een gat voordat je terugkoppeling uitlokt
  9. 9
    VoorbeeldBereken het initiële venster en het minimumvenster
  10. 10
    UitdagingVerlaag eenmaal voor een verliesperiode met eerder verzonden gegevens
  11. 11
    VoorbeeldBepaal een tijdsdrempel voor aanhoudende congestie
  12. 12
    VerbandVervoer ECN-aantallen in ACK's
  13. 13
    TipControleer wanneer bytes vertrekken, niet alleen hoeveel
  14. 14
    UitdagingVerbind onafhankelijke aflevering met een gedeelde reactie
  15. 15
    SamenvattingHoud invoeringsvoordelen en congestieverplichtingen bij elkaar

Congestiebeheersing in netwerken: oefenvragen

50 Oefenvragen in 5 sets

Set 1: Lees congestiesignalen en vensterwijzigingen10 Oefenvragen

Vraag 1 van 10

Een router heeft al een wachtrij. De constante aankomstsnelheid wordt vervolgens precies gelijk aan de uitgangssnelheid. Wat gebeurt er met de bestaande wachtrij?
  1. Die loopt leeg totdat er niets over is.
  2. Die blijft even groot als daarvoor.
  3. Die blijft gelijkmatig verder groeien.
  4. Die loopt met halve snelheid leeg.
Toon antwoordVerberg antwoord
Antwoord: B
Elk vertrekkend pakket wordt vervangen door een aankomend pakket, dus de bestaande achterstand blijft even groot. Een aankomstsnelheid gelijk aan de capaciteit stopt verdere groei, maar biedt geen extra capaciteit om wachtende gegevens weg te werken. De wachtrij zou alleen krimpen als de aankomstsnelheid lager werd dan de vertreksnelheid.

Vraag 2 van 10

Een pakket gaat over twee verbindingen en wordt daarna bij de volgende router verworpen. Welke capaciteit is door deze mislukte aflevering verspild?
  1. Alleen de uitgangscapaciteit van de router die het pakket verwerpt.
  2. Alleen de ingangscapaciteit van de eerste router op het pad.
  3. Alleen de capaciteit voor het verzenden van een vervangend pakket.
  4. De capaciteit van beide verbindingen die het pakket al passeerde.
Toon antwoordVerberg antwoord
Antwoord: D
Beide eerdere verbindingen hebben transmissietijd besteed aan een pakket dat zijn bestemming niet bereikte. Een verwerping verspilt dus eerder werk en maakt herstel nodig. Als je alleen de hertransmissie telt, mis je de capaciteit die vóór de verwerping al is verbruikt.

Vraag 3 van 10

Een zender verandert zijn snelheid op basis van gemeten afleveringssnelheden en de minimale RTT, zonder markeringen van routers te ontvangen. Hoe wordt deze terugkoppeling ingedeeld?
  1. Eind-tot-eind en modelgebaseerd.
  2. Netwerkondersteund en verliesgebaseerd.
  3. Eind-tot-eind en met expliciete snelheid.
  4. Netwerkondersteund en vertragingsgebaseerd.
Toon antwoordVerberg antwoord
Antwoord: A
De metingen komen uit waarnemingen van het eindpunt, dus de terugkoppeling is eind-tot-eind. De combinatie van afleveringssnelheid en minimale RTT om het pad te schatten is modelgebaseerde regeling. Een vertragingsmeting alleen maakt de methode niet vergelijkbaar met Vegas: de regelaar gebruikt beide schattingen als model.

Vraag 4 van 10

Een zender heeft cwnd=42.000 bytes, rwnd=27.000 bytes en 19.000 onbevestigde bytes. Hoeveel extra bytes mag hij nu verzenden?
  1. 23.000 bytes
  2. 27.000 bytes
  3. 8.000 bytes
  4. 42.000 bytes
Toon antwoordVerberg antwoord
Antwoord: C
Het kleinste venster is rwnd met 27.000 bytes. Trek de 19.000 bytes af die al onbevestigd zijn; dan blijft 8.000 bytes beschikbaar voor nieuwe gegevens. Als je de onbevestigde bytes alleen van cwnd aftrekt, krijg je 23.000, maar daarmee zou je de door de ontvanger bekendgemaakte grens overschrijden.

Vraag 5 van 10

Een Reno-zender bevindt zich in congestievermijding, heeft voldoende gegevens en ontvangt één ACK per segment. Hoeveel groeit cwnd ongeveer gedurende één RTT?
  1. In totaal één MSS.
  2. Eén MSS per ACK.
  3. De helft van de huidige grootte.
  4. Nogmaals de huidige grootte.
Toon antwoordVerberg antwoord
Antwoord: A
Congestievermijding verdeelt ongeveer één MSS aan groei over alle ACK's in een rondlooptijd. De toename per ACK wordt kleiner naarmate cwnd groeit. Eén MSS toevoegen bij elke ACK beschrijft ideale slow start, waarbij ACK's voor een volledig venster het volgende venster ongeveer kunnen verdubbelen.

Vraag 6 van 10

Een Reno-zender heeft 18 MSS onbevestigd wanneer de derde dubbele ACK aankomt. Er volgen nog twee dubbele ACK's en daarna een ACK die alle onbevestigde gegevens bevestigt. Welke cwnd-waarden ontstaan bij het begin van herstel, na de extra dubbele ACK's en bij het verlaten van de herstelfase?
  1. 9, 11 en daarna 9 MSS.
  2. 12, 14 en daarna 14 MSS.
  3. 12, 14 en daarna 7 MSS.
  4. 12, 14 en daarna 9 MSS.
Toon antwoordVerberg antwoord
Antwoord: D
De helft van de hoeveelheid onbevestigde gegevens stelt ssthresh in op 9 MSS. Reno begint herstel bij 12, voegt voor elke extra dubbele ACK één MSS toe tot 14 en verkleint het venster bij de volledige ACK naar 9. Als het venster bij het verlaten van de herstelfase op 14 bleef, zou de tijdelijke venstervergroting ten onrechte als het blijvende venster voor congestievermijding worden gezien.

Vraag 7 van 10

Twee gesynchroniseerde AIMD-verkeersstromen verzenden met 9 en 3 Mbps. Elk voegt 1 Mbps toe en daarna halveren beide. Wat is hun uiteindelijke snelheidsverschil?
  1. 6 Mbps
  2. 3 Mbps
  3. 4 Mbps
  4. 2 Mbps
Toon antwoordVerberg antwoord
Antwoord: B
De additieve stap geeft 10 en 4 Mbps, waardoor het oorspronkelijke verschil van 6 Mbps gelijk blijft. Halvering geeft 5 en 2 Mbps, dus het uiteindelijke verschil is 3 Mbps. Als je de additieve toename van het verschil aftrekt, verwar je een verandering van beide snelheden met een verandering van hun verschil.

Vraag 8 van 10

Wat meet CoDel om te bepalen of een wachtrij aanhoudend te lang is?
  1. Het door de zender bekendgemaakte ontvangstvenster.
  2. Het voortschrijdend gemiddelde van de wachtrijlengte.
  3. De tijd die pakketten in de wachtrij doorbrengen.
  4. Het totale aantal bytes dat eerder op het pad is verzonden.
Toon antwoordVerberg antwoord
Antwoord: C
CoDel meet de verblijftijd van pakketten en controleert of zelfs de minimale vertraging gedurende een interval hoog blijft. Daarmee onderscheidt het een blijvende wachtrij van een burst die wegloopt. Een voortschrijdend gemiddelde van de wachtrijlengte is het signaal van RED; als je dat aan CoDel toeschrijft, verwar je de twee AQM-ontwerpen.

Vraag 9 van 10

CUBIC heeft een volledig benut venster van 80 MSS wanneer een ECN-congestiegebeurtenis optreedt, zonder time-out. Welk venster levert de gewone verlaging op?
  1. 24 MSS
  2. 40 MSS
  3. 1 MSS
  4. 56 MSS
Toon antwoordVerberg antwoord
Antwoord: D
CUBIC behoudt 70% na dit gewone congestiesignaal, dus 80 MSS wordt 56 MSS. De verwijderde hoeveelheid is 24 MSS, niet het nieuwe venster. Een verlaging naar 40 MSS past de halveringsregel van Reno toe; CUBIC zou na een hertransmissietime-out terugkeren naar één segment.

Vraag 10 van 10

Twee QUIC-streams delen één verbinding. Een verloren pakket vervoerde alleen gegevens voor stream A; latere pakketten met gegevens voor stream B komen aan. Hoe kan het verlies stream B beïnvloeden?
  1. De geordende aflevering kan doorgaan, maar gedeelde congestiebeheersing kan de snelheid verlagen.
  2. De geordende aflevering moet op A wachten, maar de verzendsnelheid blijft onafhankelijk.
  3. De aflevering en de verzendsnelheid blijven beide onafhankelijk van het verlies op de verbinding.
  4. De geordende aflevering kan pas doorgaan nadat een afzonderlijk congestievenster is gemaakt.
Toon antwoordVerberg antwoord
Antwoord: A
Stream B mist door dit verlies geen bytes, dus de ontvangen gegevens kunnen worden afgeleverd zonder op A te wachten. Beide streams delen nog steeds congestiebeheersing op verbindingsniveau, die hun gezamenlijke verzendsnelheid kan verlagen. Onafhankelijke ordening van streams creëert geen onafhankelijke congestievensters.
Set 2: Breng snelheden, eerlijke verdeling en transportterugkoppeling met elkaar in verband10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Een lege uitgangsbuffer van 600.000 bytes ontvangt constant 16 Mbps en verzendt 10 Mbps. Hoelang duurt het totdat de buffer vol is?
  1. 0,30 s
  2. 0,48 s
  3. 0,80 s
  4. 1,25 s
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een pad heeft een knelpuntcapaciteit van 60 Mbps en een RTT zonder wachtrijen van 40 ms. Welke hoeveelheid gegevens onderweg vult dit geïdealiseerde pad zonder blijvende wachtrij?
  1. 300.000 bytes
  2. 2.400.000 bytes
  3. 30.000 bytes
  4. 7.500.000 bytes
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Bij ideale slow start met één ACK per segment begint cwnd bij 2 MSS en blijft het onder ssthresh. Wat is cwnd na drie volledige RTT's?
  1. 5 MSS
  2. 16 MSS
  3. 12 MSS
  4. 8 MSS
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Een Reno-zaagtandpatroon piekt bij 40 segmenten met MSS=1.000 bytes en RTT=0,1 s. Welke gemiddelde doorvoersnelheid voorspelt het eenvoudige model?
  1. 3,20 Mbps
  2. 0,30 Mbps
  3. 1,60 Mbps
  4. 2,40 Mbps
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Een verbinding van 15 Mbps bedient drie verkeersstromen met een vraag van 3, 5 en 20 Mbps. Wat is in die volgorde de max-min-eerlijke verdeling?
  1. 3, 5 en 7 Mbps.
  2. 3, 6 en 6 Mbps.
  3. 5, 5 en 5 Mbps.
  4. 3, 3 en 9 Mbps.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Een router verandert een pakket met ECN-ondersteuning in CE en stuurt het met succes door. Wat moet de ontvanger melden bij klassiek TCP met ECN?
  1. Not-ECT in zijn ontvangstbevestigingen.
  2. CWR in zijn ontvangstbevestigingen.
  3. ECE in zijn ontvangstbevestigingen.
  4. Een dubbele ACK die gegevensverlies meldt.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Twee CUBIC-verkeersstromen hebben dezelfde onthouden piek en gewone verlaging, maar verschillende RTT's. Wat verklaart waarom hun werkelijke terugkeertijden naar de oude piek kunnen verschillen?
  1. De kubische functie gebruikt het aantal ACK's, dus de kortere RTT laat de klok sneller lopen.
  2. De afnamefactor groeit met de RTT, dus de langere RTT begint met een kleiner venster.
  3. De onthouden piek wordt door de RTT gedeeld voordat de kubische curve wordt berekend.
  4. Een Reno-vriendelijke schatting kan boven het gedeelde tijdgebaseerde kubische doel liggen.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

BBR schat de bandbreedte op 32 Mbps en de minimale RTT op 25 ms. Wat is bij een congestievensterfactor van 2 de modelgebaseerde venstergrens?
  1. 100.000 bytes
  2. 200.000 bytes
  3. 800.000 bytes
  4. 1.600.000 bytes
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Wat identificeert een QUIC-verbinding bij een ondersteunde wijziging van het netwerkadres?
  1. Een vast poortpaar.
  2. Een streamkrediet.
  3. Een verbindings-ID.
  4. Een pakketnummer.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Een QUIC-verbinding gebruikt datagrammen van maximaal 1.300 bytes en heeft cwnd=10.400 bytes. Er treedt een congestiegebeurtenis op, waarna nog meerdere eerder verzonden pakketten verloren worden verklaard voordat een tijdens het herstel verzonden pakket is bevestigd. Welke cwnd moet de standaardregelaar behouden?
  1. 5.200 bytes
  2. 2.600 bytes
  3. 1.300 bytes
  4. 10.400 bytes
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 3: Analyseer wachtrijen en herstelperioden10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Een verbinding vervoert 24 Mbps aan even grote pakketten. Een kwart herhaalt gegevens die al over deze verbinding zijn vervoerd. Wat is de bovengrens van de snelheid van nieuwe gegevens vóór aftrek van headers en ander verlies?
  1. 6 Mbps
  2. 18 Mbps
  3. 20 Mbps
  4. 24 Mbps
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een draadloos pad verliest pakketten terwijl de gemeten RTT dicht bij de waarde zonder wachtrijen blijft. Waarom kan een zender die op verlies reageert zijn snelheid ook zonder groeiende wachtrij verlagen?
  1. Het ontvangstvenster moet krimpen wanneer een radioframe beschadigd raakt.
  2. De knelpuntsnelheid wordt uitsluitend uit het aantal dubbele ACK's afgeleid.
  3. Verliesgebaseerde regeling ziet ontbrekende pakketten als congestieterugkoppeling.
  4. De router stuurt na elk beschadigd frame een expliciete snelheidsopdracht.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Een NewReno-zender heeft bij het begin van herstel 28 MSS onderweg. De eerste ACK die de bevestiging verder brengt, laat een deel van die oorspronkelijke gegevens onbevestigd. Een tweede ACK bevestigt alles. Welke drempel en welk herstelgedrag passen bij NewReno?
  1. Drempel 14 MSS; blijven na de eerste ACK en stoppen na de tweede.
  2. Drempel 14 MSS; stoppen na de eerste ACK en opnieuw halveren per gat.
  3. Drempel 17 MSS; blijven na de eerste ACK en stoppen na de tweede.
  4. Drempel 7 MSS; slow start herstarten wanneer de eerste ACK verder komt.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Een langdurige Reno-achtige overdracht heeft MSS=1.200 bytes, RTT=80 ms, een verliesfractie van 0,0004, rwnd=40.000 bytes en een knelpunt van 18 Mbps. Welke maximale snelheid volgt ongeveer uit het verliesmodel en deze grenzen?
  1. 7,32 Mbps
  2. 18,00 Mbps
  3. 0,50 Mbps
  4. 4,00 Mbps
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Twee verkeersstromen vermenigvuldigen beide hun snelheid met 0,5. Welke eigenschap van hun snelheden blijft onveranderd?
  1. Hun absolute verschil.
  2. Hun onderlinge verhouding.
  3. Hun gezamenlijke doorvoersnelheid.
  4. Hun afstand tot volledige capaciteit.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Twee verkeersstromen op een verbinding van 20 Mbps leveren elk 2 Mbps. Wat zijn hun index van Jain en hun gezamenlijke benutting?
  1. J=0,5; benutting = 20%.
  2. J=1; benutting = 100%.
  3. J=1; benutting = 20%.
  4. J=0,2; benutting = 100%.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een buffer van 1.500.000 bytes die bij een volle wachtrij verwerpt, staat vóór een uplink van 30 Mbps. Een grote upload houdt de buffer bijna vol terwijl een gesprek hapert. De ontvanger maakt ruim voldoende ruimte bekend. Wat verklaart de vertraging het best en welke verandering in signalering is geschikt?
  1. Ongeveer 50 ms vertraging; vergroot het ontvangstvenster om de router te legen.
  2. Ongeveer 400 ms vertraging; voeg AQM toe om een blijvende wachtrij eerder te signaleren.
  3. Ongeveer 50 ms vertraging; vergroot de uitgangsbuffer om de upload op te vangen.
  4. Ongeveer 400 ms vertraging; schakel congestieverlagingen uit om de wachtrij te legen.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Een DCTCP-zender heeft een afgevlakte gemarkeerde fractie α=0,4 en cwnd=60 MSS. Welk venster volgt na de evenredige verlaging?
  1. 24 MSS
  2. 30 MSS
  3. 36 MSS
  4. 48 MSS
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Welke BBR-toestand laat vooral de wachtrij leeglopen die ontstaat tijdens het aanvankelijk ontdekken van de bandbreedte?
  1. Drain.
  2. Startup.
  3. ProbeRTT.
  4. ProbeBW Up.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Na de QUIC-handshake wordt pakket 62 bevestigd terwijl pakket 59 in dezelfde pakketnummerruimte onbevestigd blijft. Hoe wordt pakket 59 volgens de aanbevolen pakketdrempel behandeld?
  1. Het blijft onbevestigd totdat drie dubbele ACK-frames aankomen.
  2. Het is alleen verloren als het veld voor bevestigingsvertraging nul is.
  3. Het wordt verloren verklaard omdat het nummerverschil drie bereikt.
  4. Het blijft onbevestigd totdat een time-out voor een meetpakket afloopt.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 4: Pas de regels toe wanneer omstandigheden veranderen10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Een aanvankelijk lege buffer van 450.000 bytes ontvangt gedurende 0,4 s 22 Mbps en verzendt 16 Mbps. Daarna daalt de aankomstsnelheid naar 10 Mbps. Hoelang duurt het na die verandering voordat de wachtrij leeg is, uitgaande van constante snelheden?
  1. 0,15 s
  2. 0,30 s
  3. 0,40 s
  4. 0,60 s
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een router markeert congestie in een pakket en de ontvanger meldt die terug in een ACK. Welke algemene aanpak levert de terugkoppeling over congestie?
  1. Eind-tot-eindafleiding uit verlies.
  2. Eind-tot-eindafleiding uit vertraging.
  3. Stroomregeling alleen bij de ontvanger.
  4. Netwerkondersteunde regeling.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Eén voortdurend verzendende verkeersstroom passeert een knelpunt van 40 Mbps met een RTT zonder wachtrijen van 50 ms. Er is 400.000 bytes onderweg; rwnd is groter en al het overschot staat in een blijvende fifo-wachtrij. Welke wachtrijvertraging en gemeten RTT passen bij dit model?
  1. 30 ms wachtrijvertraging; 80 ms RTT.
  2. 80 ms wachtrijvertraging; 130 ms RTT.
  3. 50 ms wachtrijvertraging; 100 ms RTT.
  4. 30 ms wachtrijvertraging; 50 ms RTT.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Een uitwerking begint bij cwnd=2 MSS en ssthresh = 16 MSS. Er is één ACK per segment en bij gelijkheid wordt overgeschakeld op congestievermijding. Wat is cwnd na vijf volledige RTT's?
  1. 64 MSS
  2. 18 MSS
  3. 32 MSS
  4. 20 MSS
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Een Reno-zender heeft cwnd=30 MSS, maar slechts 16 MSS onbevestigd. Er komen drie dubbele ACK's aan, gevolgd door nog twee en daarna een ACK die alle onbevestigde gegevens bevestigt. Welke cwnd-waarden ontstaan bij het begin van herstel, na de extra dubbele ACK's en bij het verlaten van de herstelfase?
  1. 18, 20 en daarna 15 MSS.
  2. 11, 13 en daarna 13 MSS.
  3. 11, 13 en daarna 8 MSS.
  4. 8, 10 en daarna 8 MSS.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Een verbinding van 24 Mbps wordt volledig gedeeld door vergelijkbare verbindingen die alle beschikbare capaciteit willen gebruiken. Eén gebruiker heeft drie verbindingen en een andere één. Welke snelheden per gebruiker en welke index van Jain voor de twee gebruikers volgen uit een gelijke verdeling per verbinding?
  1. 12 en 12 Mbps; J=1,00.
  2. 18 en 6 Mbps; J=0,80.
  3. 18 en 6 Mbps; J=1,00.
  4. 6 en 18 Mbps; J=0,50.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Eén wachtrij overschrijdt kort een wachttijd van 5 ms, maar loopt binnen 40 ms leeg. Een andere daalt gedurende 100 ms nooit onder 8 ms. Hoe moet CoDel ze onderscheiden met zijn standaarddoelwaarde en interval?
  1. Beide signaleren, omdat elk minstens eenmaal boven 5 ms komt.
  2. Alleen de eerste signaleren, omdat de vertraging sneller verandert.
  3. Geen van beide signaleren voordat elke fysieke buffer overloopt.
  4. De tweede, anders dan de eerste, als aanhoudende overmatige vertraging behandelen.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

De vorige piek van CUBIC is 160 segmenten. Er treedt nieuw gewoon verlies op bij een volledig benut venster van 120, voordat die piek opnieuw is bereikt. Wat zijn bij snelle convergentie de nieuwe onthouden piek en het verlaagde huidige venster?
  1. 102 segmenten en 84 segmenten.
  2. 120 segmenten en 84 segmenten.
  3. 102 segmenten en 60 segmenten.
  4. 84 segmenten en 102 segmenten.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Vegas heeft cwnd=72 segmenten, een basis-RTT=30 ms en een gemeten RTT=40 ms. Hoeveel van zijn segmenten staan volgens de methode op basis van het snelheidsverschil naar schatting in de wachtrij?
  1. 6 segmenten
  2. 12 segmenten
  3. 18 segmenten
  4. 24 segmenten
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Een hervatte QUIC-client verzendt een geschikt verzoek in de eerste reeks pakketten over een pad met een RTT van 55 ms. Wanneer kunnen bij verwaarloosbare verwerkingstijd en zonder verlies de eerste antwoordbytes aankomen?
  1. Na ongeveer 0 ms.
  2. Na ongeveer 110 ms.
  3. Na ongeveer 165 ms.
  4. Na ongeveer 55 ms.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 5: Redeneer over verschillende modellen en transportgedrag10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Een eerdere verbinding van 10 Mbps gebruikte 30% van de capaciteit voor pakketten die later verderop werden verworpen en 20% voor onnodige duplicaten, waarbij de categorieën elkaar uitsluiten. Een wijziging in de regeling verlaagt dit naar 10% en 5%; de verbinding blijft volledig benut. Wat is, zonder rekening te houden met headers, de toename van de capaciteit voor nuttige eerste exemplaren die aankomen?
  1. 1,5 Mbps
  2. 2,0 Mbps
  3. 5,0 Mbps
  4. 3,5 Mbps
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een verbinding wordt beperkt door een ontvangstvenster van 96.000 bytes op een pad met een RTT van 120 ms. cwnd en de capaciteit van het knelpunt zijn groter. Welk ontvangstvenster zou bij dezelfde RTT tweemaal de huidige snelheid ondersteunen?
  1. 48.000 bytes
  2. 192.000 bytes
  3. 96.000 bytes
  4. 768.000 bytes
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Een zender in slow start begint een ronde met 12 MSS. Een ontvanger bevestigt elke twee volledige segmenten met een ACK en elke ACK verhoogt cwnd met één MSS. Er is geen verlies en ssthresh is veel hoger. Welk venster ontstaat na twee geïdealiseerde volledige ronden met dezelfde ACK-regel?
  1. 24 MSS
  2. 48 MSS
  3. 27 MSS
  4. 30 MSS
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

De hertransmissietimer van een Reno-zender loopt af voor onbevestigde gegevens. Met welk congestievenster begint de daaropvolgende slow start?
  1. Eén SMSS.
  2. Twee SMSS.
  3. De helft van FlightSize.
  4. ssthresh plus drie SMSS.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Bij twee langdurige Reno-achtige overdrachten met dezelfde MSS heeft verbinding B tweemaal de RTT van A. Wat moet er met de verliesfractie van B gebeuren zodat het verliesmodel tweemaal de doorvoersnelheid van A voorspelt?
  1. Die moet een kwart van die van A zijn.
  2. Die moet een achtste van die van A zijn.
  3. Die moet de helft van die van A zijn.
  4. Die moet een zestiende van die van A zijn.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Twee gesynchroniseerde verkeersstromen beginnen met 10 en 2 Mbps op een verbinding van 16 Mbps. Beide voegen per stap 1 Mbps toe en halveren wanneer hun som voor het eerst boven 16 komt. Welke snelheden volgen na de tweede halvering?
  1. 5,25 en 3,25 Mbps.
  2. 4,5 en 3,5 Mbps.
  3. 5,5 en 3,5 Mbps.
  4. 6,5 en 2,5 Mbps.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een DCTCP-verkeersstroom heeft α=0,2, een nieuw gemeten fractie gemarkeerde bytes van 0,6, g=1/4 en cwnd=80 MSS. Welke alfa en welk venster ontstaan nadat alfa is bijgewerkt en daarna de verlaging is toegepast?
  1. Alfa 0,6; venster 56 MSS.
  2. Alfa 0,3; venster 68 MSS.
  3. Alfa 0,3; venster 56 MSS.
  4. Alfa 0,2; venster 72 MSS.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

BBR schat een knelpunt van 80 Mbps en een minimale RTT van 40 ms. Het gaat ProbeBW Up in met een factor voor de verzendsnelheid van 1,25 en een vensterfactor van 2. Welke verzendsnelheid en venstergrens volgen hieruit en kan deze fase wachtrijvorming veroorzaken?
  1. 160 Mbps en 800.000 bytes; er kan geen wachtrij ontstaan.
  2. 100 Mbps en 400.000 bytes; er kan geen wachtrij ontstaan.
  3. 100 Mbps en 800.000 bytes; er kan een wachtrij ontstaan.
  4. 160 Mbps en 400.000 bytes; er kan een wachtrij ontstaan.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

QUIC heeft een afgevlakte RTT=80 ms, RTT-variatie = 15 ms, maximale bevestigingsvertraging = 20 ms en timergranulariteit = 1 ms. Na een eerdere RTT-meting voldoet een ononderbroken interval van 510 ms aan alle overige verliesvoorwaarden voor aanhoudende congestie. Wat moet de standaardregelaar doen bij datagrammen van maximaal 1.250 bytes?
  1. Het venster behouden omdat de drempel 540 ms is.
  2. Het venster na het interval instellen op 1.250 bytes.
  3. Herhaaldelijk halveren voor elk verloren datagram in het interval.
  4. Het venster verlagen naar het minimum van 2.500 bytes.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

De overdracht van een klein object eindigt terwijl TCP nog in slow start zit. Waarom voorspelt een schatting van de doorvoersnelheid met een langdurig zaagtandpatroon de voltooiingstijd slecht?
  1. De overdracht heeft geen herhaalde cycli van groei en verlies in een stabiele toestand bereikt.
  2. Het object is tijdens de opstart vrijgesteld van het ontvangstvenster van de ontvanger.
  3. De RTT beïnvloedt alleen verliesherstel nadat congestievermijding is begonnen.
  4. Het initiële venster wordt bij de verbindingsopbouw vervangen door het volledige BDP van het knelpunt.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Kom je niet uit je eigen opgave? Huiswerkhulp

Kernbegrippen

95 Kernbegrippen, elk met een definitie

A

Aangeboden belasting
De aangeboden belasting is al het verkeer dat zenders een netwerk in sturen, inclusief nieuwe gegevens, hertransmissies en onnodige herhalingen.
Een nieuwe poging verhoogt de aangeboden belasting, ook als die applicatiegegevens vervoert die al in een eerder pakket zijn verzonden.
Aanhoudende congestie
Aanhoudende congestie is een lang verliesinterval bij QUIC dat aan de voorwaarden voldoet en de RTT-gebaseerde tijdsdrempel overschrijdt, waardoor het venster tot het minimum wordt verlaagd.
Een aanhoudende reeks verloren pakketten die ontvangstbevestigingen uitlokken, kan cwnd verlagen tot twee datagrammen van maximale grootte.
Actief wachtrijbeheer (AQM)
Actief wachtrijbeheer, AQM, verwerpt of markeert pakketten vóór overloop om congestie te signaleren en aanhoudende wachtrijvorming te beperken.
Een router kan een zender vragen terug te schakelen terwijl er nog ruimte is in de fysieke pakketbuffer.
Additieve toename
Additieve toename voegt per regelstap een vaste hoeveelheid toe; bij congestievermijding van Reno groeit het venster met ongeveer één SMSS per RTT.
Twee overeenkomstige Reno-verkeersstromen voegen per ronde vergelijkbare aantallen segmenten toe, ook als één momenteel een groter venster heeft.
Additieve toename en multiplicatieve afname (AIMD)
AIMD combineert additieve toename met multiplicatieve afname, tast herhaaldelijk capaciteit af en schakelt bij congestie evenredig terug.
Bij overeenkomstige terugkoppeling behouden twee verkeersstromen hun verschil tijdens groei en verkleinen ze het bij elke verlaging.

B

Bandbreedte-vertragingsproduct (BDP)
Het bandbreedte-vertragingsproduct, BDP, is de bandbreedte van het knelpunt maal de RTT zonder wachtrijen en schat de gegevens onderweg die nodig zijn om dat pad te vullen.
Een pad van 10 Mbps met een minimale RTT van 80 ms heeft ongeveer 100.000 bytes onderweg nodig voordat een blijvende wachtrij ontstaat.
Basisrondlooptijd
De basisrondlooptijd is de kleinste RTT die wordt gebruikt als schatting voor een pad met weinig of geen wachtrijvorming en als referentie dient voor vertragingsgebaseerde regeling.
Vegas vergelijkt een gemeten RTT van 40 ms met een basisrondlooptijd van 30 ms om te schatten hoeveel gegevens wachten.
BBR
BBR is een modelgebaseerde regelaar die de bandbreedte van het knelpunt en de minimale RTT schat en vervolgens gespreide pakketverzending en grenzen voor gegevens onderweg gebruikt om de verzending te regelen.
De geschatte bandbreedte en minimale RTT bepalen een BDP, ook wanneer de huidige gemeten RTT wachtrijvertraging bevat.
Beheerste vertraging (CoDel)
Beheerste vertraging, CoDel, signaleert congestie wanneer de wachttijd van pakketten gedurende een meetinterval aanhoudend boven een doelwaarde blijft.
Een minimale verblijftijd boven 5 ms gedurende een interval van 100 ms duidt bij de standaardinstellingen op een blijvende wachtrij.
Benadering van Mathis
De benadering van Mathis schat langdurige Reno-achtige doorvoersnelheid op basis van MSS, RTT en verliesfractie onder vereenvoudigde omstandigheden in een stabiele toestand.
Bij onveranderd verlies halveert een verdubbeling van de RTT de voorspelde snelheid, ook als de fysieke verbinding sneller is.
Bevestigd pakketnummerbereik
Een bevestigd pakketnummerbereik meldt een aaneengesloten groep ontvangen QUIC-pakketnummers, zodat de zender ontvangen verzendingen en gaten kan identificeren.
Meerdere ontvangen bereiken kunnen meerdere ontbrekende pakketten zichtbaar maken zonder op één cumulatieve grens te vertrouwen.
Bevestigingsvertraging
Bevestigingsvertraging meldt hoe lang een QUIC-ontvanger wachtte met bevestigen en ondersteunt gevalideerde en begrensde RTT-aanpassingen na de handshake.
Het aftrekken van de daarvoor in aanmerking komende wachttijd bij de ontvanger helpt uitgestelde bevestiging te onderscheiden van tijd op het pad.
Blijvende wachtrij
Een blijvende wachtrij is een aanhoudende achterstand die tussen bursts niet leegloopt en vertraging toevoegt, ook wanneer de uitgang volledig benut blijft.
Tijdens een grote overdracht blijft de kleinste waargenomen wachtrijvertraging hoog in plaats van terug te keren naar bijna nul.
Blokkering door het eerste element
Blokkering door het eerste element vertraagt latere geordende gegevens achter een ontbrekend eerder deel; de enkele bytestroom van TCP kan dit ook voor niet-gerelateerde verzoeken veroorzaken.
Een verloren TCP-segment kan een later antwoord met een afbeelding vertragen, ook wanneer alle bytes van dat antwoord zelf zijn aangekomen.
Bufferbloat
Bufferbloat is aanhoudende buitensporige vertraging door te grote, gevulde buffers, vaak in stand gehouden door verkeer dat op verlies reageert en capaciteit aftast.
Een videogesprek wordt traag tijdens een upload omdat de pakketten achter een grote routerachterstand wachten.

C

Chiu-Jain-diagram
Een Chiu-Jain-diagram zet twee snelheden van verkeersstromen uit om te laten zien hoe aanpassingen van de regeling een verdeling naar of weg van efficiënt en gelijk delen bewegen.
Een gelijktijdige halvering beweegt het snelheidspunt naar de oorsprong langs een rechte lijn die de snelheidsverhouding behoudt.
Congestie
Congestie ontstaat wanneer aanhoudend verkeer de beschikbare capaciteit in een deel van een netwerk overschrijdt, waardoor wachtrijen en uiteindelijk verliezen ontstaan.
Meerdere ingangen overbelasten samen één routeruitgang, hoewel elke ingang afzonderlijk onder de capaciteit blijft.
Congestie ondervonden (CE)
Congestie ondervonden, CE, is het IP-ECN-codepunt 11 dat aangeeft dat een router het pakket als congestiewaarschuwing heeft gemarkeerd.
Een afgeleverd CE-pakket laat de ontvanger congestie terugmelden zonder te beweren dat de gegevens ontbreken.
Congestie-instorting
Congestie-instorting is een toestand van ernstige overbelasting waarin het netwerk druk blijft maar zeer weinig nieuwe nuttige gegevens aflevert.
Eerdere verbindingen vervoeren veel pakketten die later worden verworpen, waardoor weinig capaciteit overblijft voor succesvolle aflevering.
Congestiesignaal
Een congestiesignaal is verlies, vertraging of expliciete terugkoppeling die een regelaar interpreteert bij de beslissing of hij zijn verzendgedrag moet veranderen.
Een stijging boven de minimale RTT van het pad kan voor een wachtrij waarschuwen voordat een pakket wordt verworpen.
Congestievenster (cwnd)
Het congestievenster, cwnd, is toestand die de zender bijhoudt en die voor congestiebeheersing het aantal onbevestigde bytes onderweg beperkt.
De zender kan cwnd verlagen terwijl de ontvanger nog steeds veel vrije bufferruimte bekendmaakt.
Congestievenster verkleind (CWR)
Congestievenster verkleind, CWR, is de TCP-vlag die de ontvanger vertelt dat de zender op een klassieke ECN-waarschuwing heeft gereageerd.
De ontvanger stopt met het zetten van ECE nadat een nieuw gegevenssegment met de CWR-vlag van de zender aankomt.
Congestievermijding
Congestievermijding is de aftastfase van Reno waarin cwnd met ongeveer één SMSS per RTT toeneemt totdat terugkoppeling over congestie de groei onderbreekt.
Een venster van 25 MSS groeit tijdens een ronde zonder verlies naar ongeveer 26 MSS in plaats van te verdubbelen naar 50.
CUBIC
CUBIC is een congestieregelaar die op verlies reageert en waarvan het basisdoel voor het venster een kubische functie van de tijd rond een onthouden congestiepunt is.
Een verkeersstroom met een groot BDP kan zijn verlaagde venster sneller herwinnen dan de groei van één segment per RTT bij Reno toestaat.
CUBIC-terugkeertijd K
De CUBIC-terugkeertijd K is de verstreken tijd waarna de kubische basiscurve na een gewone verlaging de onthouden Wmax bereikt.
Bij een Wmax van 100 segmenten en de standaardconstanten keert de zuivere curve na ongeveer 4,22 s terug.

D

Doorvoersnelheid
Doorvoersnelheid is de snelheid waarmee pakketten of bytes worden afgeleverd, gemeten op een aangegeven punt en laag in het netwerk.
De doorvoersnelheid van een drukke verbinding kan hoog blijven terwijl de applicatie veel minder nieuwe nuttige gegevens ontvangt.

E

ECN-terugmelding (ECE)
ECN-terugmelding, ECE, is de TCP-vlag die een ontvanger bij klassieke ECN-terugkoppeling gebruikt om congestiemarkeringen te melden totdat de zender zijn reactie bevestigt.
Meerdere ECE-ACK's kunnen dezelfde gebeurtenis terugmelden terwijl het CWR-segment van de zender nog onderweg is.
Eerlijke wachtrijbediening
Eerlijke wachtrijbediening scheidt verkeer in wachtrijen per verkeersstroom en geeft die bedieningskansen, zodat een router verdeling per stroom kan afdwingen.
Een interactieve verkeersstroom hoeft niet achter de hele achterstand van een grote gegevensoverdracht te wachten wanneer elk een eigen bediende wachtrij heeft.
Eerlijkheidsindex van Jain
De eerlijkheidsindex van Jain meet de gelijkheid van niet-negatieve snelheden met een totaal groter dan nul en bereikt 1 bij gelijkheid en 1/n bij één winnaar onder n verkeersstromen.
Twee even langzame verkeersstromen scoren 1, ook als ze samen de meeste knelpuntcapaciteit ongebruikt laten.
Efficiëntielijn
De efficiëntielijn in het diagram met twee verkeersstromen bevat snelheidsparen waarvan de som gelijk is aan de beschikbare capaciteit van het gedeelde knelpunt.
Op een verbinding van 14 Mbps liggen zowel 7 en 7 Mbps als 12 en 2 Mbps op de efficiëntielijn.
Eind-tot-eindcongestiebeheersing
Eind-tot-eindcongestiebeheersing past verkeer aan op basis van waarnemingen van eindpunten, zonder expliciete terugkoppeling over congestie van routers.
Reno ziet een ontbrekend segment als reden om zijn venster te verkleinen, ook zonder ECN-markering.
Expliciete congestiemelding (ECN)
Expliciete congestiemelding, ECN, laat een router een pakket met ECN-ondersteuning markeren om congestie te signaleren en de gegevens toch door te sturen.
De ontvanger kan een waarschuwing van een router melden, ook al is het gemarkeerde pakket met succes aangekomen.

F

Factor voor de verzendsnelheid
Een factor voor de verzendsnelheid vermenigvuldigt de door BBR geschatte bandbreedte van het knelpunt om een verzendsnelheid voor een bepaalde aftast- of leegloopfase te kiezen.
Een factor van 1,25 bij een schatting van 40 Mbps richt zich op 50 Mbps tijdens een fase waarin de bandbreedte wordt afgetast.

G

Gedeeltelijke ontvangstbevestiging
Een gedeeltelijke ontvangstbevestiging brengt de cumulatieve ACK verder, maar laat een deel van de gegevens onbevestigd die bij het begin van herstel onderweg waren.
NewReno ziet zo'n ACK als aanwijzing voor een ander gat en gaat door met herstel in plaats van de herstelfase vroeg te verlaten.
Gespreide pakketverzending
Gespreide pakketverzending verdeelt pakkettransmissies over de tijd volgens een doelsnelheid om te voorkomen dat een volledig toegestaan venster als één burst wordt verzonden.
Een applicatie spreidt uitgaande pakketten over de ronde in plaats van ze allemaal vrij te geven wanneer een ACK aankomt.
Globale synchronisatie
Globale synchronisatie ontstaat wanneer veel verkeersstromen tegelijk verlies ervaren en hun vensters verkleinen, wat een gezamenlijke daling in benutting veroorzaakt.
Willekeurige vroege signalering kan congestiereacties spreiden in plaats van alle zenders tegelijk te laten halveren.

H

Herstelperiode
Een herstelperiode groepeert de congestiereactie van QUIC zodat verlies van eerder verzonden gegevens cwnd niet herhaaldelijk verlaagt voordat een tijdens herstel verzonden pakket is bevestigd.
Nog twee pakketten van vóór het herstel kunnen verloren gaan zonder twee extra vensterhalveringen te veroorzaken.
Herstelprobleem bij hoge transmissiesnelheden
Het herstelprobleem bij hoge transmissiesnelheden is het langzame herstel van een groot verlaagd venster door Reno, omdat congestievermijding slechts één segment per RTT toevoegt.
Het herwinnen van duizenden segmenten in het venster kan minuten duren op een pad met een lange rondlooptijd.
Hertransmissie
Een hertransmissie is een nieuwe verzending van eerder verzonden gegevens, gebruikt door een betrouwbaar transportprotocol om gegevens te herstellen die vermoedelijk ontbreken.
Het herstellen van een verloren segment gebruikt verbindingscapaciteit die anders nieuwe applicatiebytes had kunnen vervoeren.
Hertransmissietime-out (RTO)
Een hertransmissietime-out treedt op wanneer de ontvangstbevestiging voor onbevestigde gegevens niet vóór het aflopen van de timer aankomt, wat herstel en een voorzichtige herstart in gang zet.
Reno keert terug naar een venster van één segment nadat de timer afloopt, ook als het oude congestievenster groot was.
Hoeveelheid verzonden onbevestigde gegevens (FlightSize)
FlightSize is de hoeveelheid verzonden maar nog niet bevestigde gegevens, die kleiner kan zijn dan het congestievenster wanneer de applicatie minder verzendt.
Bij een cwnd van 30 MSS maar slechts 12 MSS onbevestigd, baseert Reno zijn verliesdrempel op de 12 MSS onderweg.

I

Initieel venster
Het initiële venster is de congestievenstergrens die een zender bij het begin van een verbinding gebruikt, voordat hij de beschikbare padcapaciteit kent.
Een groter initieel venster kan een kleine overdracht in minder opstartronden laten eindigen als het pad dat ondersteunt.
Instortingspunt
Het instortingspunt is het gebied waar voorbij een hogere aangeboden belasting de eind-tot-einddoorvoersnelheid verlaagt doordat verwerpingen en verspilde transmissies overheersen.
Het netwerk vervoert meer verkeer nadat een andere zender begint, maar de nuttig afgeleverde doorvoersnelheid daalt.

K

Knelpunt
Een knelpunt is de verbinding met de minste beschikbare capaciteit voor bepaald verkeer langs het pad en begrenst de afleveringssnelheid van dat verkeer.
Een snel lokaal netwerk voedt een langzamere toegangsverbinding, waar het gezamenlijke uitgaande verkeer begint te wachten.
Knikpunt
Het knikpunt is het gebied van een belasting-prestatiecurve waar voorbij extra aangeboden belasting weinig doorvoersnelheid toevoegt maar de vertraging sterk verhoogt.
Een extra upload levert vrijwel geen winst in totale doorvoersnelheid op, maar laat elke interactieve verkeersstroom langer wachten.

L

L4S
L4S is een experimentele architectuur die schaalbare congestiebeheersing, ECT(1) en gekoppeld wachtrijbeheer combineert voor zeer lage wachtrijvertraging.
Frequente markeringen bij korte wachtrijen sturen schaalbaar verkeer, terwijl een gekoppeld wachtrijontwerp plaats biedt aan klassiek verkeer.
Lijn van gelijke verdeling
De lijn van gelijke verdeling in het diagram met twee verkeersstromen bevat snelheidsparen waarbij beide stromen dezelfde snelheid hebben, ongeacht hun totale benutting.
Snelheden van 2 en 2 Mbps liggen op de lijn van gelijke verdeling, ook als de gedeelde verbinding veel meer kan vervoeren.

M

Max-min-eerlijkheid
Max-min-eerlijkheid verdeelt capaciteit zo dat verhoging van één verkeersstroom verlaging vereist van een stroom met een gelijk of kleiner aandeel.
Een verkeersstroom met een lage vraag krijgt wat hij nodig heeft, waarna de resterende capaciteit wordt verdeeld onder de stromen die nog meer willen.
Maximale segmentgrootte (MSS)
De maximale segmentgrootte, MSS, is de grootste nettolading aan TCP-applicatiegegevens in één segment, zonder TCP- en IP-headers.
Een segment met 1.460 bytes aan nettolading heeft op de verbinding extra bytes nodig voor de TCP- en IP-headers.
Multiplicatieve afname
Multiplicatieve afname schaalt een congestievenster of verzendsnelheid met een vaste factor en haalt zo een grotere absolute hoeveelheid van een grotere verkeersstroom af.
Halvering van snelheden van 12 en 4 Mbps geeft 6 en 2 Mbps, wat het verschil verkleint terwijl hun verhouding gelijk blijft.

N

Netwerkondersteunde congestiebeheersing
Netwerkondersteunde congestiebeheersing gebruikt expliciete terugkoppeling van routers om een zender te vertellen dat hij het verkeer naar het pad moet aanpassen.
Een AQM markeert een pakket en de ontvanger meldt de waarschuwing in een ontvangstbevestiging terug aan de zender.
NewReno
NewReno verbetert het herstel van Reno door na een gedeeltelijke ACK het volgende ontbrekende segment te herstellen en in de herstelfase te blijven voor de oorspronkelijke hoeveelheid onbevestigde gegevens.
Twee verliezen in één reeks gegevens onderweg kunnen worden hersteld zonder direct na het eerste herstel het venster opnieuw te verlagen.
Nuttige doorvoersnelheid
Nuttige doorvoersnelheid is de snelheid waarmee nuttige gegevens aan de ontvangende applicatie worden afgeleverd, waarbij elk deel eenmaal meetelt en protocoloverhead niet meetelt.
Dezelfde applicatiebytes tweemaal ontvangen voegt na de eerste nuttige aflevering geen extra nuttige doorvoersnelheid toe.

O

Oneerlijke verdeling door verschillen in rondlooptijd
Oneerlijke verdeling door verschillen in rondlooptijd is een ongelijke verdeling door verschillende rondlooptijden, die Reno-achtige verkeersstromen met een kortere RTT vaker kunnen laten groeien.
Bij gelijk verlies kan een verkeersstroom van 25 ms een hogere gemodelleerde doorvoersnelheid hebben dan een concurrent van 100 ms.
Onnodige hertransmissie
Een onnodige hertransmissie verzendt gegevens opnieuw terwijl het origineel alleen vertraagd was of de ontvangstbevestiging ervan nog niet was teruggekeerd.
Een lange wachtrijvertraging kan langer duren dan de timer van de zender, waardoor een vervangend pakket ontstaat terwijl het origineel nog onderweg is.
Ontvangstvenster (rwnd)
Het ontvangstvenster, rwnd, is de door de ontvanger bekendgemaakte grens voor TCP-stroomregeling die de onbevestigde gegevens beperkt die de ontvanger kan accepteren.
Een rwnd van 20.000 bytes kan verzending beperken, ook als cwnd 60.000 bytes onderweg zou toestaan.

P

Pakketdrempel
De pakketdrempel verklaart een QUIC-pakket verloren zodra een voldoende veel later pakket is bevestigd, met een aanbevolen nummerverschil van drie.
Een ACK van pakket 24 kan drempelverlies vaststellen voor het nog onbevestigde pakket 21 in dezelfde ruimte.
Pakketnummerruimte
Een pakketnummerruimte is een nummeringscontext van QUIC waarbinnen verzonden pakketnummers toenemen en nooit opnieuw worden gebruikt.
Opnieuw verzonden streamgegevens krijgen een nieuw pakketnummer in plaats van het nummer van de verloren verzending opnieuw te gebruiken.
Parallelle verbindingen
Parallelle verbindingen zijn meerdere gelijktijdige transportverbindingen van één applicatie, die elk mogelijk om een afzonderlijk aandeel per verkeersstroom concurreren.
Eén gebruiker met vier vergelijkbare verbindingen kan in totaal meer capaciteit ontvangen dan een gebruiker met slechts één verbinding.
ProbeBW
ProbeBW is de toestand van BBR voor het aftasten van bandbreedte, met fasen die op meer capaciteit testen en daarna verkeer onderweg laten afnemen of op peil houden.
De fase Up kan kort een wachtrij opbouwen door boven de huidige schatting te verzenden voordat een langzamere fase volgt.
ProbeRTT
ProbeRTT vermindert de gegevens onderweg bij BBR om de schatting van de minimale RTT te vernieuwen, met voorwaarden voor duur en rondlooptijd in het concept voor versie 3.
Een tijdelijk kleinere achterstand geeft de zender de kans het pad met minder wachtrijvertraging waar te nemen.
Protocolverstarring
Protocolverstarring maakt wijzigingen moeilijk in te voeren doordat bestaande netwerkapparaten of implementaties afhankelijk zijn van de huidige vorm van het protocol.
Een middlebox die onbekende TCP-vlaggen weigert, kan voorkomen dat twee geschikte eindpunten een uitbreiding gebruiken.

Q

QUIC
QUIC is een veilig transportprotocol boven op UDP dat betrouwbare streams, stroomregeling en congestiebeheersing biedt, meestal via een bibliotheek in de gebruikersruimte.
Een applicatie-update kan een verbetering van het QUIC-transport uitbrengen zonder op een wijziging van het besturingssysteem te wachten.
QUIC-stream
Een QUIC-stream is een onafhankelijk geordende bytestroom binnen een verbinding, die aflevering mogelijk maakt zonder op gaten in niet-gerelateerde streams te wachten.
Verlies dat beperkt blijft tot stream A hoeft niet te verhinderen dat ontvangen bytes van stream B de applicatie bereiken.

R

Reno-vriendelijk gebied
Het Reno-vriendelijke gebied is CUBIC-gedrag waarbij een RTT-afhankelijke AIMD-schatting boven het kubische doel ligt en de groei bepaalt.
Een CUBIC-verkeersstroom met een korte RTT kan herstellen voordat de zuivere tijdgebaseerde curve naar de oude piek zou terugkeren.
Rondlooptijd (RTT)
De rondlooptijd, RTT, is de tijd die een transmissie nodig heeft om de andere kant te bereiken en de ontvangstbevestiging om terug te keren, inclusief de relevante wachttijd.
Een groeiende routerwachtrij verhoogt de gemeten RTT, ook al is het fysieke propagatiepad niet veranderd.

S

Selectieve ontvangstbevestiging (SACK)
Selectieve ontvangstbevestiging, SACK, meldt ontvangen byteblokken voorbij de cumulatieve ACK, zodat een TCP-zender meerdere gaten kan identificeren.
Ontvangen blokken aan weerszijden van twee gaten helpen de zender kiezen welke gegevens nog opnieuw moeten worden verzonden.
Slow start
Slow start verhoogt cwnd met maximaal één SMSS per ACK voor nieuwe gegevens en geeft ongeveer exponentiële groei wanneer een volledig benut venster wordt bevestigd.
Met één ACK per segment groeit een initieel venster van 2 MSS na één volledige RTT naar ongeveer 4 MSS.
Slow-startdrempel (ssthresh)
De slow-startdrempel, ssthresh, is toestand bij de zender die daaronder slow start en daarboven congestievermijding kiest, met beide mogelijkheden bij gelijkheid.
Een uitwerking die 8 MSS bereikt, kan overschakelen op groei van één MSS per RTT wanneer de drempel ook 8 MSS is.
Snel herstel
Snel herstel is het herstelproces van Reno na dubbele ACK's dat cwnd tijdelijk vergroot en het daarna bij een ACK die de bevestiging verder brengt, verkleint naar ssthresh.
Een drempel van 10 MSS geeft een venster bij aanvang van 13 MSS, voordat het later wordt verkleind naar 10 MSS.
Snelheidsgebaseerde regeling
Snelheidsgebaseerde regeling kiest rechtstreeks een verzendsnelheid, spreidt pakketten vaak over de tijd en begrenst ook vaak de hoeveelheid die onderweg mag zijn.
Een regelaar richt zich op 15 Mbps, hoewel zijn afzonderlijke grens voor gegevens onderweg een korte burst zou kunnen toestaan.
Snelle convergentie
Snelle convergentie verlaagt de door CUBIC onthouden piek wanneer congestie onder de vorige piek optreedt en helpt zo bij aanpassing aan verminderde beschikbare capaciteit.
Een nieuwe verkeersstroom bij een knelpunt kan de oude stroom ertoe brengen de piek aan te passen die zijn toekomstige groei bepaalt.
Snelle hertransmissie
Snelle hertransmissie verzendt een segment opnieuw nadat de derde dubbele ACK een waarschijnlijk gat aanwijst, zonder op de hertransmissietimer te wachten.
Latere segmenten komen na een ontbrekend segment aan en veroorzaken voldoende dubbele ACK's om direct herstel te starten.
Stroomregeling
Stroomregeling beperkt de verzending tot de beschikbare buffercapaciteit van de ontvanger en beschermt dat eindpunt tegen gegevens die het niet kan accepteren.
Een ontvanger maakt een kleiner venster bekend wanneer zijn applicatie binnenkomende gegevens langzaam verwerkt.

T

TCP Vegas
TCP Vegas gebruikt het verschil tussen verwachte en gemeten afleveringssnelheden om wachtende gegevens te schatten en zijn venster via terugkoppeling op basis van vertraging aan te passen.
Een stijgende RTT kan Vegas laten terugschakelen terwijl een concurrent die op verlies reageert hun gedeelde wachtrij blijft vullen.
TCP voor datacenters (DCTCP)
TCP voor datacenters, DCTCP, bepaalt vensterverlagingen op basis van de afgevlakte fractie gemarkeerde bytes in een compatibel beheerd netwerk.
Wanneer alfa 0,2 is, behoudt DCTCP 90% van zijn venster in plaats van bij elke aanwezige markering te halveren.
TCP-vriendelijk verkeer
TCP-vriendelijk verkeer gebruikt onder dezelfde netwerkomstandigheden niet meer bandbreedte dan een vergelijkbare TCP-verkeersstroom en ondersteunt zo eerlijke verdeling naast ander verkeer.
Een applicatie kan een op TCP gebaseerde snelheidsvergelijking gebruiken om TCP-overdrachten die op congestie reageren niet te verdringen.
Tijdelijke venstervergroting
Tijdelijke venstervergroting voegt tijdelijk ruimte toe aan het herstelvenster van Reno voor dubbele ACK's die aangeven dat latere pakketten het netwerk hebben verlaten.
Een extra dubbele ACK tijdens snel herstel van Reno voegt één SMSS toe voordat het venster later wordt verkleind.
Tijdsdrempel
De tijdsdrempel detecteert QUIC-verlies op basis van verstreken tijd sinds verzending zodra latere aflevering bekend is, met een aanbevolen RTT-vermenigvuldigingsfactor van 9/8.
De zender vergelijkt de leeftijd van het pakket met de hoogste van de meest recente en de afgevlakte RTT, vermenigvuldigd met die factor.
Time-out voor een meetpakket (PTO)
Een time-out voor een meetpakket, PTO, zet QUIC ertoe aan verkeer te verzenden dat ontvangstbevestigingen uitlokt wanneer terugkoppeling stagneert, zonder op zichzelf het congestievenster te laten instorten.
Een testpakket kan terugkoppeling herstellen voordat de zender voldoende aanwijzingen heeft om aanhoudende congestie vast te stellen.
Transport met ECN-ondersteuning (ECT)
Transport met ECN-ondersteuning geeft via een ECT-codepunt aan dat een pakket de markering voor ondervonden congestie van een router kan dragen.
Een AQM kan ECT(0) veranderen in CE, terwijl bij Not-ECT-verkeer een verwerping nodig is wanneer congestie moet worden gesignaleerd.

U

Uitgangswachtrij
Een uitgangswachtrij is een routerbuffer met pakketten die wachten op verzending over een bepaalde uitgaande verbinding.
Een pakket achter 200.000 bytes wacht terwijl de uitgangsverbinding die bytes eerst verzendt.
Uitgestelde ontvangstbevestiging
Een uitgestelde ontvangstbevestiging bevestigt meer dan één ontvangen segment of wacht kort met verzenden, waardoor het aantal ACK-pakketten afneemt.
Eén ACK per twee volledige segmenten vertraagt de groei volgens de eenvoudige slow-startregel van één toename per ACK.

V

Vensterfactor
Een vensterfactor vermenigvuldigt het door BBR geschatte BDP om een grens voor gegevens onderweg in te stellen, los van de factor die de gespreide verzendsnelheid bepaalt.
Een grens van twee BDP's staat extra onbevestigde gegevens toe zonder rechtstreeks opdracht te geven tot een snelheid van tweemaal de bandbreedte.
Venstergebaseerde regeling
Venstergebaseerde regeling beperkt de hoeveelheid onbevestigde gegevens onderweg en staat nieuwe transmissies toe wanneer ontvangstbevestigingen ruimte vrijmaken.
Een zender met een vol congestievenster wacht op terugkerende ACK's voordat hij meer gewone gegevens toevoegt.
Venstergroei op basis van bevestigde bytes
Venstergroei op basis van bevestigde bytes gebruikt het aantal nieuw bevestigde bytes voor de venstergroei en vermindert zo de afhankelijkheid van het aantal ACK's dat de ontvanger verzendt.
Een ACK die meerdere segmenten bevestigt, bevat meer afleveringsinformatie dan een ACK voor één segment.
Verbindingsmigratie
Verbindingsmigratie laat een ondersteunde QUIC-verbinding doorgaan na een adres- of poortwijziging met behulp van verbindings-ID's en padvalidatie.
Een telefoon kan zijn verbinding behouden bij de overgang van wifi naar een mobiel netwerk in plaats van een nieuwe te beginnen.
Verblijftijd
De verblijftijd van een pakket is de tijd die het in een wachtrij doorbrengt tussen het plaatsen in de wachtrij en het vertrek daaruit voor verzending.
CoDel geeft een pakket bij aankomst een tijdstempel en gebruikt de wachttijd om te bepalen of vertraging aanhoudt.
Verliesfractie
De verliesfractie is het aandeel verzonden segmenten dat verloren gaat, in het doorvoermodel uitgedrukt als fractie in plaats van als percentage.
Een verliesfractie van 0,001 betekent één segment op duizend, oftewel 0,1%, voordat rekening wordt gehouden met effecten van time-outs.
Verwerpen bij een volle wachtrij
Verwerpen bij een volle wachtrij is een fifo-wachtrijbeleid dat aankomende pakketten weggooit wanneer de buffer vol is en fysieke overloop zo als congestiesignaal gebruikt.
Meerdere verkeersstromen kunnen bijna tegelijk pakketten verliezen wanneer hun gedeelde buffer vol raakt en pakketten begint te verwerpen.
Verzendklok op basis van ontvangstbevestigingen
De verzendklok op basis van ontvangstbevestigingen bepaalt het tijdstip van nieuwe verzendingen met terugkerende bevestigingen en koppelt vervangend verkeer zo aan het afleveringstempo van het knelpunt.
Wanneer een segment het pad verlaat en de ACK terugkeert, krijgt de zender ruimte voor een vervangend segment.
Vroege 0-RTT-gegevens
Vroege 0-RTT-gegevens laten een hervatte QUIC-client geschikte applicatiegegevens verzenden zonder op voltooiing van de handshake te wachten, waarbij de risico's van herhaling moeten worden beheerst.
Een verzoek direct verzenden kan opstartvertraging besparen, maar het antwoord heeft nog steeds een rondlooptijd nodig om aan te komen.

W

Willekeurige vroegtijdige detectie (RED)
Willekeurige vroegtijdige detectie, RED, signaleert congestie met een kans die stijgt wanneer de gemiddelde wachtrijlengte ingestelde drempels overschrijdt.
Een korte burst kan passeren omdat het gemiddelde van de wachtrijlengte langzamer stijgt dan de piek op dat moment.
Wmax
Wmax is het door CUBIC onthouden venster rond een congestiegebeurtenis, dat wordt gebruikt om de curve rond een eerder werkpunt vorm te geven.
Snelle convergentie kan Wmax verlagen wanneer nieuw verlies optreedt voordat de eerdere piek is herwonnen.

Z

Zaagtandmodel
Het zaagtandmodel benadert de herhaalde lineaire venstergroei en halvering van Reno en geeft een gemiddeld venster van driekwart van de piek.
Een piek van 20 segmenten komt overeen met gemiddeld ongeveer 15 segmenten wanneer aan de voorwaarden van het model is voldaan.

Over deze les

Door StudeliFout melden

Maak je eigen Studiemateriaal

Maak van je aantekeningen, slides en documenten Leermodules, Oefenvragen, Flashcards en 6 andere tools.

Aan de slag