Wednesday, October 5, 2016

Eksponensiële Bewegende Gemiddelde Rtt

Hoe TCP ronde trip tyd (RTT) skatting werk Hoe anders is die implementering regoor bedryfstelsels TCP skat RTT gebruik van 'n eksponensiële Geweegde bewegende gemiddelde (en. m.wikipedia. o RG / wiki /. (Jammer ek can039t uit te vind hoe om te formateer hyperlink op mobiele)) gebaseer op die waargenome RTT tydens die oordrag. Eintlik, as TCP stuur 'n pakkie, dit begin 'n timer, wat sal tyd wanneer dit die berekende TimeoutInterval waarde bereik. Vir eenvoud, is net een timer gebruik, ten spyte van die feit dat 'n paar segmente kan wees in transito in 'n keer (dit is pipelining genoem). Vir enige gegewe pakkie, is daar 'n volgnommer. Wanneer die TCP sender 'n ACK vir die pakkie ontvang, dit tot stilstand kom die timer die tydsverloop is gestoor as SampleRTT, en bied 'n oorsig van die netwerk voorwaardes. As hierdie waarde kan wissel met die tyd, is die EWMA bereken met behulp van die vorige EstimatedRTT en die nuutverworwe SampleRTT deur die vergelyking: EstimatedRTT 0,875 EstimatedRTT 0,125 SampleRTT Vir 'n verduideliking van die waardes wat gebruik word, raadpleeg RFC 6298. Die gebruik van 'n EWMA beteken dat die relatiewe belangrikheid van 'n gegewe voorbeeld afval eksponensieel as meer bygevoeg word. In Engels, is meer onlangse monsters beskou as meer belangrik, want die verteenwoordig 'n meer onlangse skatting. Benewens die gemiddelde, is die RTT variasie of afwyking beraam deur DevRTT 0.75 DevRTT 0.25 SampleRTT - EstimatedRTT Gegewe hierdie gemiddeldes, moet ons besluit op 'n time-out te stel. Dit is duidelik dat indien die time-out ten minste EstimatedRTT wees, met 'n bykomende marge vir afwyking. As DevRTT is klein, die RTT is redelik konstant, sodat die kantlyn kan klein wees. As die variansie is hoër, moet ons 'n groter ruimte vir foute toelaat. Daarom TimeoutInterval EstimatedRTT 4 DevRTT RFC 6298 beveel 'n aanvanklike TimeoutInterval van 'n sekonde. Wanneer 'n time-out plaasvind, is die waarde van TimeoutInterval verdubbel na 'n ander Tydverstreke vir dieselfde pakkie te vermy. Dit bied 'n paar opeenhoping beheer asook - die meer outs voorkom, hoe langer TCP sal wag voordat heruitsending. Sodra die lastige pakkie gaan deur, is TimeoutInterval herstel tot sy laaste berekende waarde. EstimatedRTT is nie bereken vir pakkies wat herversend is, so dit verdubbeling het geen invloed op die value. Assume dat die beraamde RTT volgens die werklik verlore. Aanvaar dat die beraamde RTT (volgens die eksponensiële geweegde bewegende gemiddelde) is gelyk aan die ware (ensemble) gemiddeld van RTT, maw EstimatedRTT gemiddelde waarde van RTT ESampleRTT. a) Aanvaar dat die time-out is ingestel op 2 (twee) keer die geskatte RTT (soos in die oorspronklike weergawe van TCP), dit wil sê tyduit 2 x EstimatedRTT. Watter breukdeel van die pakkies sal aanvaar word verloor deur die TCP sender b) Op die oomblik gebruik weergawes van TCP skatting beide die gemiddelde en die gemiddelde afwyking soos ons in die klas bespreek word (die gemiddelde afwyking is die gemiddelde absolute afstand van RTT monsters van die beraamde RTT ), en stel die tydverstreke om die geskatte gemiddelde (estimatedRTT) plus 4 (vier) keer die geskatte afwyking (devRTT), dit wil sê tyduit Hierdie voorskou het doelbewus vaag afdelings. Sluit aan by die volledige weergawe te sien. EstimatedRTT 4 x devRTT. Aanvaar dat die TCP-verbinding gebruik hierdie nuwe metode, en die beraamde RTT en afwyking is gelyk aan hul ware (ensemble) waardes, dit wil sê EstimatedRTT ESampleRTT en devRTT ESampleRTT-EstimatedRTT. Watter breukdeel van die pakkies sal aanvaar word verloor deur die TCP sender 6) Dink aan die RTT skatting algoritme vir die opstel van die heruitsending tydverstreke wat gebruik word deur TCP soos ons in die klas bespreek word: EstimatedRTT nuwe larr (1 - Alpha) EstimatedRTT ou Alpha SampleRTT DevRTT nuwe larr (1 - beta) DevRTT ou beta EstimatedRTT ou - SampleRTT tyduit larr EstimatedRTT nuwe gamma DevRTT nuwe Een van die vereistes van hierdie algoritme, hoewel nie uitdruklik vermeld, is dat die time-out ten minste gelyk is aan die mees onlangse gemeet RTT, met ander woorde tydverstreke moet wees dit is die einde van die voorskou. Sluit aan toegang tot die res van die document. Estimated RTT volgens die eksponensiële geweegde geskatte RTT (volgens die eksponensiële geweegde bewegende gemiddelde) is gelyk aan die ware (ensemble) gemiddeld van RTT, maw EstimatedRTT gemiddelde waarde van RTT ESampleRTT. i) (7 punte) Aanvaar dat die time-out is ingestel op 2 (twee) keer die geskatte RTT (soos in die oorspronklike weergawe van TCP), dit wil sê tyduit 2 x EstimatedRTT. Watter breukdeel van die pakkies sal aanvaar word verloor deur die TCP sender ii) (7 punte) wat tans gebruik word weergawes van TCP skatting beide die gemiddelde en die gemiddelde afwyking soos ons in die klas bespreek word (die gemiddelde afwyking is die gemiddelde absolute afstand van RTT monsters van die beraamde RTT), en stel die tydverstreke om die geskatte gemiddelde (estimatedRTT) plus 3 (drie) keer die geskatte afwyking (devRTT), dit wil sê tyduit EstimatedRTT 3 x devRTT. Aanvaar dat die TCP-verbinding gebruik hierdie nuwe metode, en die beraamde RTT en afwyking is gelyk aan hul ware (ensemble) waardes, dit wil sê EstimatedRTT ESampleRTT en devRTT ESampleRTT-EstimatedRTT. Watter breukdeel van die pakkies sal aanvaar word verloor deur die TCP sender b) (8 punte) Veronderstel dat R HS. die tempo waarteen stukkies aankom om 'n TCP ontvang buffer, word in die volgende figuur as 'n funksie van tyd. Die aansoek proses by die ontvanger is die verwydering van stukkies uit die ontvang buffer teen die konstante tempo van 200 Kbits / sek (2 x 10 6 stukkies / sek). Aanvaar dat die ontvang buffer is aanvanklik leë by t 0, en dit het 'n vaste grootte van 50,000 grepe. Met inagneming van die TCP vloei beheer algoritme, wat is die waarde van die venster Kry geadverteer deur die ontvanger by t 2 sek R HS 0 keer sek 1 2 400 Kbits / sek 300 Kbits / sec Dit is die einde van die voorskou. Sluit aan toegang tot die res van die dokument. Klik om te verander die dokument besonderhede op hierdie skakel met 'n vriend Deel: Rapporteer hierdie dokument Verslag Gewildste Dokumente vir CS 421 midterm1spring2005 bilkent Universiteit CS 421 - Lente 2012 CS 421: Rekenaarnetwerke akademiese trimester ek 31 Maart 2005 120 minute Naam: Student No: SPRI midterm1spring2006 bilkent Universiteit CS 421 - Lente 2012 CS 421: Rekenaarnetwerke akademiese trimester ek 23 Maart 2006 120 minute Naam: Student No: SPRI midterm1spring2007 bilkent Universiteit CS 421 - Lente 2012 CS 421: Rekenaarnetwerke SPRING 2007 akademiese trimester ek 22 Maart 2007 120 minute naam: Stoet finalfall2007 bilkent Universiteit CS 421 - Lente 2012 CS 421: Rekenaarnetwerke FALL 2007 FINALE 9 Januarie 2008 150 minute naam: Student N finalspring2009 bilkent Universiteit CS 421 - Lente 2012 CS 421: Rekenaarnetwerke die lente van 2009 FINALE 29 Mei 2009 150 minute Naam: Student Geen midtermspring2010 bilkent Universiteit CS 421 - Lente 2012 CS 421: Rekenaarnetwerke die lente van 2010 akademiese trimester 30 Maart 2010 120 minute Naam: StudenMoving gemiddelde en eksponensiële gladstryking modelle As 'n eerste stap in die beweging van buite gemiddelde modelle, ewekansige loop modelle, en lineêre tendens modelle, kan nonseasonal patrone en tendense word geëkstrapoleer deur 'n bewegende-gemiddelde of glad model. Die basiese aanname agter gemiddelde en glad modelle is dat die tyd reeks is plaaslik stilstaande met 'n stadig wisselende gemiddelde. Vandaar, neem ons 'n bewegende (plaaslike) gemiddelde om die huidige waarde van die gemiddelde skat en dan gebruik dit as die voorspelling vir die nabye toekoms. Dit kan beskou word as 'n kompromie tussen die gemiddelde model en die ewekansige-stap-sonder-drif-model. Dieselfde strategie gebruik kan word om te skat en ekstrapoleer 'n plaaslike tendens. 'N bewegende gemiddelde is dikwels 'n quotsmoothedquot weergawe van die oorspronklike reeks, want kort termyn gemiddelde het die effek van gladstryking uit die knoppe in die oorspronklike reeks. Deur die aanpassing van die mate van gladstryking (die breedte van die bewegende gemiddelde), kan ons hoop om 'n soort van 'n optimale balans tussen die prestasie van die gemiddelde en die stogastiese wandeling modelle slaan. Die eenvoudigste soort gemiddelde model is die. Eenvoudige (ewe-geweeg) Moving Average: Die voorspelling vir die waarde van Y op tyd T1 wat gemaak word op tydstip t is gelyk aan die eenvoudige gemiddelde van die mees onlangse m waarnemings: (hier en elders sal ek die simbool 8220Y-hat8221 gebruik om op te staan vir 'n voorspelling van die tyd reeks Y gemaak op die vroegste moontlike voor datum deur 'n gegewe model.) Hierdie gemiddelde is gesentreer op tydperk t (M1) / 2, wat impliseer dat die skatting van die plaaslike gemiddelde sal neig om agter die werklike waarde van die plaaslike gemiddelde met sowat (M1) / 2 periodes. So, sê ons die gemiddelde ouderdom van die data in die eenvoudige bewegende gemiddelde is (M1) / 2 met betrekking tot die tydperk waarvoor die voorspelling is bereken: dit is die hoeveelheid tyd waarop voorspellings sal neig om agter draaipunte in die data. Byvoorbeeld, as jy gemiddeld die afgelope 5 waardes, sal die voorspellings wees oor 3 periodes laat in reaksie op draaipunte. Let daarop dat indien M1, die eenvoudige bewegende gemiddelde (SMA) model is soortgelyk aan die ewekansige loop model (sonder groei). As m is baie groot (vergelykbaar met die lengte van die skatting tydperk), die SMA model is gelykstaande aan die gemiddelde model. Soos met enige parameter van 'n voorspelling model, is dit gebruiklik om die waarde van k te pas ten einde die beste quotfitquot om die data, dit wil sê die kleinste voorspelling foute gemiddeld behaal. Hier is 'n voorbeeld van 'n reeks wat blykbaar ewekansige skommelinge toon om 'n stadig-wisselende gemiddelde. In die eerste plek kan probeer om dit aan te pas met 'n ewekansige loop model, wat gelykstaande is aan 'n eenvoudige bewegende gemiddelde van 1 kwartaal: Die ewekansige loop model reageer baie vinnig om veranderinge in die reeks, maar sodoende dit tel baie van die quotnoisequot in die data (die ewekansige skommelinge) asook die quotsignalquot (die plaaslike gemiddelde). As ons eerder probeer 'n eenvoudige bewegende gemiddelde van 5 terme, kry ons 'n gladder lyk stel voorspellings: Die 5 termyn eenvoudige bewegende gemiddelde opbrengste aansienlik kleiner foute as die ewekansige loop model in hierdie geval. Die gemiddelde ouderdom van die data in hierdie voorspelling is 3 ((51) / 2), sodat dit is geneig om agter draaipunte met sowat drie periodes. (Byvoorbeeld, blyk 'n afswaai het plaasgevind by tydperk 21, maar die voorspellings nie omdraai tot verskeie tydperke later.) Let daarop dat die langtermyn-voorspellings van die SMA model is 'n horisontale reguit lyn, net soos in die ewekansige loop model. So, die SMA model veronderstel dat daar geen neiging in die data. Maar, terwyl die voorspellings van die ewekansige loop model is eenvoudig gelyk aan die laaste waargenome waarde, die voorspellings van die SMA model is gelykstaande aan 'n geweegde gemiddelde van die afgelope waardes. Die vertroue perke bereken deur Stat Graphics vir die langtermyn-voorspellings van die eenvoudige bewegende gemiddelde nie groter as die vooruitskatting horison styg kry. Dit is natuurlik nie korrek Ongelukkig is daar geen onderliggende statistiese teorie wat ons vertel hoe die vertrouensintervalle behoort te brei vir hierdie model. Dit is egter nie te moeilik om empiriese ramings van die vertroue perke vir die langer-horison voorspellings te bereken. Byvoorbeeld, kan jy die opstel van 'n sigblad waarop die SMA model sal gebruik word om 2 stappe vooruit, 3 stappe vooruit, ens binne die historiese data monster voorspel. Jy kan dan bereken die monster standaardafwykings van die foute op elke voorspelling horison, en dan bou vertrouensintervalle vir langer termyn voorspellings deur optelling en aftrekking veelvoude van die toepaslike standaard afwyking. As ons probeer om 'n 9-termyn eenvoudige bewegende gemiddelde, kry ons selfs gladder voorspellings en meer van 'n sloerende uitwerking: Die gemiddelde ouderdom is nou 5 periodes ((91) / 2). As ons 'n 19-termyn bewegende gemiddelde te neem, die gemiddelde ouderdom toeneem tot 10: Let daarop dat, inderdaad, is die voorspellings nou agter draaipunte met sowat 10 periodes. Watter bedrag van smoothing is die beste vir hierdie reeks Hier is 'n tabel wat hulle dwaling statistieke vergelyk, ook met 'n 3-gemiddelde: Model C, die 5-termyn bewegende gemiddelde, lewer die laagste waarde van RMSE deur 'n klein marge oor die 3 - term en 9 termyn gemiddeldes, en hul ander statistieke is byna identies. So, onder modelle met 'n baie soortgelyke fout statistieke, kan ons kies of ons 'n bietjie meer responsiewe ingesteldheid of 'n bietjie meer gladheid in die voorspellings sou verkies. (Terug na bo.) Browns Eenvoudige Eksponensiële Smoothing (eksponensieel geweeg bewegende gemiddelde) Die eenvoudige bewegende gemiddelde model hierbo beskryf het die ongewenste eienskap dat dit behandel die laaste k Waarnemings ewe en heeltemal ignoreer al voorafgaande waarnemings. Intuïtief, moet afgelope data verdiskonteer in 'n meer geleidelike mode - byvoorbeeld, die mees onlangse waarneming moet 'n bietjie meer gewig kry as 2 mees onlangse, en die 2de mees onlangse moet 'n bietjie meer gewig as die 3 mees onlangse kry, en so aan. Die eenvoudige eksponensiële gladstryking (SES) model accomplishes hierdie. Laat 945 dui n quotsmoothing constantquot ( 'n getal tussen 0 en 1). Een manier om die model te skryf is om 'n reeks L dat die huidige vlak (dit wil sê die plaaslike gemiddelde waarde) van die reeks verteenwoordig as geraamde van data tot op hede te definieer. Die waarde van L op tydstip t is rekursief bereken uit sy eie vorige waarde soos volg: Dus, die huidige stryk waarde is 'n interpolasie tussen die vorige stryk waarde en die huidige waarneming, waar 945 kontroles die nabyheid van die geïnterpoleerde waarde tot die mees onlangse waarneming. Die voorspelling vir die volgende tydperk is eenvoudig die huidige stryk waarde: anders gestel ons kan die volgende voorspelling direk in terme van vorige voorspellings en vorige waarnemings uit te druk, in enige van die volgende ekwivalent weergawes. In die eerste weergawe, die voorspelling is 'n interpolasie tussen vorige skatting en vorige waarneming: In die tweede weergawe, is die volgende voorspelling verkry deur die aanpassing van die vorige skatting in die rigting van die vorige fout deur 'n breukdeel bedrag 945. is die fout gemaak by tyd t. In die derde weergawe, die voorspelling is 'n eksponensieel geweeg (dit wil sê afslag) bewegende gemiddelde met afslag faktor 1- 945: Die interpolasie weergawe van die voorspelling formule is die eenvoudigste om te gebruik as jy die uitvoering van die model op 'n spreadsheet: dit pas in 'n enkele sel en bevat selverwysings verwys na die vorige skatting, die vorige waarneming, en die sel waar die waarde van 945 gestoor. Let daarop dat indien 945 1, die SES model is gelykstaande aan 'n ewekansige loop model (sonder groei). As 945 0, die SES model is gelykstaande aan die gemiddelde model, met die veronderstelling dat die eerste stryk waarde gelyk aan die gemiddelde is ingestel. (Terug na bo.) Die gemiddelde ouderdom van die data in die eenvoudige eksponensiële-glad voorspelling is 1/945 relatief tot die tydperk waarvoor die voorspelling is bereken. (Dit is nie veronderstel duidelik te wees, maar dit kan maklik aangetoon deur die evaluering van 'n oneindige reeks.) Dus, die eenvoudige bewegende gemiddelde voorspelling is geneig om agter draaipunte met sowat 1/945 periodes. Byvoorbeeld, wanneer 945 0.5 die lag is 2 periodes wanneer 945 0.2 die lag is 5 periodes wanneer 945 0.1 die lag is 10 periodes, en so aan. Vir 'n gegewe gemiddelde ouderdom (bv bedrag van lag), die eenvoudige eksponensiële gladstryking (SES) voorspelling is 'n bietjie beter as die eenvoudige bewegende gemiddelde (SMA) voorspel, want dit plaas relatief meer gewig op die mees onlangse waarneming --i. e. dit is 'n bietjie meer quotresponsivequot om veranderinge voorkom in die onlangse verlede. Byvoorbeeld, 'n SMA model met 9 terme en 'n SES model met 945 0.2 beide het 'n gemiddelde ouderdom van 5 vir die data in hul voorspellings, maar die SES model plaas meer gewig op die laaste 3 waardes as wel die SMA model en by die Terselfdertyd is dit doesn8217t heeltemal 8220forget8221 oor waardes meer as 9 tydperke oud was, soos getoon in hierdie grafiek: nog 'n belangrike voordeel van die SES model die SMA model is dat die SES model maak gebruik van 'smoothing parameter wat voortdurend veranderlike, so dit kan maklik new deur die gebruik van 'n quotsolverquot algoritme om die gemiddelde minimum te beperk kwadraat fout. Die optimale waarde van 945 in die SES model vir hierdie reeks blyk te wees 0,2961, soos hier gewys word: die gemiddelde ouderdom van die data in hierdie voorspelling is 1 / 0,2961 3.4 tydperke, wat soortgelyk is aan dié van 'n 6-termyn eenvoudige bewegende gemiddelde. Die langtermyn-voorspellings van die SES model is 'n horisontale reguit lyn. soos in die SMA model en die ewekansige loop model sonder groei. Let egter daarop dat die vertrouensintervalle bereken deur Stat Graphics nou divergeer in 'n redelike aantreklike mode, en dat hulle aansienlik nouer as die vertrouensintervalle vir die ewekansige loop model. Die SES model veronderstel dat die reeks is 'n bietjie quotmore predictablequot as wel die ewekansige loop model. 'N SES model is eintlik 'n spesiale geval van 'n ARIMA model. sodat die statistiese teorie van ARIMA modelle bied 'n goeie basis vir die berekening van vertrouensintervalle vir die SES model. In die besonder, 'n SES model is 'n ARIMA model met een nonseasonal verskil, 'n MA (1) termyn, en geen konstante term. andersins bekend as 'n quotARIMA (0,1,1) model sonder constantquot. Die MA (1) koëffisiënt in die ARIMA model stem ooreen met die hoeveelheid 1- 945 in die SES model. Byvoorbeeld, as jy 'n ARIMA (0,1,1) model inpas sonder konstante om die reeks te ontleed hier, die beraamde MA (1) koëffisiënt blyk te wees 0,7029, wat byna presies 'n minus 0,2961. Dit is moontlik om die aanname van 'n nie-nul konstante lineêre tendens voeg by 'n SES model. Om dit te doen, net 'n ARIMA model met een nonseasonal verskil en 'n MA (1) termyn met 'n konstante, dit wil sê 'n ARIMA (0,1,1) model met 'n konstante spesifiseer. Die langtermyn-voorspellings sal dan 'n tendens wat gelyk is aan die gemiddelde tendens waargeneem oor die hele skatting tydperk is. Jy kan dit nie doen in samewerking met seisoenale aanpassing, omdat die aanpassing opsies seisoenale is afgeskakel wanneer die model tipe is ingestel op ARIMA. Jy kan egter 'n konstante langtermyn eksponensiële tendens om 'n eenvoudige eksponensiële gladstryking model voeg (met of sonder seisoenale aanpassing) deur gebruik te maak van die opsie inflasie-aanpassing in die vooruitskatting prosedure. Die toepaslike quotinflationquot (persentasie groei) koers per periode kan geskat word as die helling koëffisiënt in 'n lineêre tendens model toegerus om die data in samewerking met 'n natuurlike logaritme transformasie, of dit kan op grond van ander, onafhanklike inligting oor die langtermyn groeivooruitsigte . (Terug na bo.) Browns Lineêre (dws dubbel) Eksponensiële glad die SMA modelle en SES modelle aanvaar dat daar geen tendens van enige aard in die data (wat gewoonlik OK of ten minste nie-te-sleg vir 1- stap-ahead voorspellings wanneer die data is relatief raserig), en hulle kan verander word om 'n konstante lineêre tendens inkorporeer soos hierbo getoon. Wat van kort termyn tendense As 'n reeks vertoon 'n wisselende koers van groei of 'n sikliese patroon wat uitstaan ​​duidelik teen die geraas, en as daar 'n behoefte aan meer as 1 tydperk wat voorlê voorspel, dan skatting van 'n plaaslike tendens kan ook wees n probleem. Die eenvoudige eksponensiële gladstryking model veralgemeen kan word na 'n lineêre eksponensiële gladstryking (LES) model wat plaaslike begrotings van beide vlak en tendens bere te kry. Die eenvoudigste-time wisselende tendens model is Browns lineêr eksponensiële gladstryking model, wat twee verskillende reëlmatige reeks wat op verskillende punte gesentreer in die tyd gebruik. Die vooruitskatting formule is gebaseer op 'n ekstrapolasie van 'n streep deur die twee sentrums. ( 'N meer gesofistikeerde weergawe van hierdie model, Holt8217s, word hieronder bespreek.) Die algebraïese vorm van Brown8217s lineêr eksponensiële gladstryking model, soos dié van die eenvoudige eksponensiële gladstryking model, uitgedruk kan word in 'n aantal verskillende maar ekwivalente vorms. Die quotstandardquot vorm van hierdie model word gewoonlik uitgedruk as volg: Laat S dui die enkel-stryk reeks verkry deur die toepassing van eenvoudige eksponensiële gladstryking om reeks Y. Dit is, is die waarde van S op tydperk t gegee word deur: (Onthou dat, onder eenvoudige eksponensiële gladstryking, dit sou die voorspelling vir Y by tydperk T1 wees) Dan Squot dui die dubbel-stryk reeks verkry deur die toepassing van eenvoudige eksponensiële gladstryking (met behulp van dieselfde 945) tot reeks S:. ten slotte, die voorspelling vir Y tk. vir enige kgt1, word gegee deur: Dit lewer e 1 0 (dit wil sê kul n bietjie, en laat die eerste skatting gelyk wees aan die werklike eerste waarneming), en e 2 Y 2 8211 Y 1. waarna voorspellings gegenereer met behulp van die vergelyking hierbo. Dit gee dieselfde toegerus waardes as die formule gebaseer op S en S indien laasgenoemde is begin met behulp van S 1 S 1 Y 1. Hierdie weergawe van die model gebruik word op die volgende bladsy wat 'n kombinasie van eksponensiële gladstryking met seisoenale aanpassing illustreer. Holt8217s Lineêre Eksponensiële Smoothing Brown8217s LES model bere plaaslike begrotings van vlak en tendens deur glad die onlangse data, maar die feit dat dit nie so met 'n enkele glad parameter plaas 'n beperking op die data patrone wat dit in staat is om aan te pas: die vlak en tendens word nie toegelaat om wissel op onafhanklike tariewe. Holt8217s LES model spreek hierdie kwessie deur die insluiting van twee glad konstantes, een vir die vlak en een vir die tendens. Te eniger tyd t, soos in Brown8217s model, die daar is 'n skatting L t van die plaaslike vlak en 'n skatting T t van die plaaslike tendens. Hier is hulle rekursief bereken vanaf die waarde van Y op tydstip t en die vorige raming van die vlak en tendens waargeneem deur twee vergelykings wat eksponensiële gladstryking afsonderlik van toepassing op hulle. As die geskatte vlak en tendens op tydstip t-1 is L t82091 en T t-1. onderskeidelik, dan is die voorspelling vir Y tshy wat op tydstip t-1 sal gemaak is gelyk aan L t-1 T T-1. Wanneer die werklike waarde is waargeneem, is die opgedateer skatting van die vlak rekursief bereken deur interpol tussen Y tshy en sy voorspelling, L t-1 T T-1, die gebruik van gewigte van 945 en 1- 945. Die verandering in die geskatte vlak, naamlik L t 8209 L t82091. geïnterpreteer kan word as 'n lawaaierige meting van die tendens op tydstip t. Die opgedateer skatting van die tendens is dan rekursief bereken deur interpol tussen L t 8209 L t82091 en die vorige skatting van die tendens, T t-1. die gebruik van gewigte van 946 en 1-946: Die interpretasie van die tendens-glad konstante 946 is soortgelyk aan dié van die vlak glad konstante 945. Models met klein waardes van 946 aanvaar dat die tendens verander net baie stadig met verloop van tyd, terwyl modelle met groter 946 aanvaar dat dit vinniger is om te verander. 'N Model met 'n groot 946 is van mening dat die verre toekoms is baie onseker, omdat foute in die tendens-skatting word baie belangrik wanneer voorspel meer as een tydperk wat voorlê. (Terug na bo.) Die smoothing konstantes 945 en 946 kan in die gewone manier word beraam deur die vermindering van die gemiddelde kwadraat fout van die 1-stap-ahead voorspellings. Wanneer dit in Stat Graphics gedoen, die skattings uitdraai om te wees 945 0.3048 en 946 0,008. Die baie klein waarde van 946 beteken dat die model veronderstel baie min verandering in die tendens van een tydperk na die volgende, so basies hierdie model is besig om 'n langtermyn-tendens skat. Volgens analogie met die idee van die gemiddelde ouderdom van die data wat gebruik word in die skatte van die plaaslike vlak van die reeks, die gemiddelde ouderdom van die data wat gebruik word in die skatte van die plaaslike tendens is eweredig aan 1/946, hoewel nie presies gelyk aan Dit. In hierdie geval is dit blyk 1 / 0,006 125. Dit isn8217t n baie presiese aantal sover die akkuraatheid van die skatting van 946 isn8217t regtig 3 desimale plekke te wees, maar dit is van dieselfde algemene orde van grootte as die steekproefgrootte van 100 , so hierdie model is gemiddeld oor 'n hele klomp van die geskiedenis in die skatte van die tendens. Die voorspelling plot hieronder toon dat die LES model skat 'n effens groter plaaslike tendens aan die einde van die reeks as die konstante tendens geskat in die SEStrend model. Ook waarvan die beraamde waarde van 945 is byna identies aan die een wat deur die pas van die SES model met of sonder tendens, so dit is amper dieselfde model. Nou, doen hierdie lyk redelike voorspellings vir 'n model wat veronderstel is om te beraming 'n plaaslike tendens As jy hierdie plot 8220eyeball8221, dit lyk asof die plaaslike tendens afwaarts gedraai aan die einde van die reeks: Wat het die parameters van hierdie model gebeur is beraam deur die vermindering van die kwadraat fout van 1-stap-ahead voorspellings, nie langer termyn voorspellings, in welke geval die tendens 'n groot verskil doesn8217t maak. As alles wat jy is op soek na is 1-stap-ahead foute, is jy nie sien die groter prentjie van tendense oor (sê) 10 of 20 periodes. Ten einde hierdie model meer in harmonie te kry met ons oogbal ekstrapolasie van die data, kan ons met die hand die tendens-glad konstante pas sodat dit 'n korter basislyn vir tendens skatting. Byvoorbeeld, as ons kies om te stel 946 0.1, dan is die gemiddelde ouderdom van die gebruik in die skatte van die plaaslike tendens data is 10 periodes, wat beteken dat ons die gemiddeld van die tendens oor daardie laaste 20 periodes of so. Here8217s wat die voorspelling plot lyk asof ons '946 0.1 terwyl 945 0.3. Dit lyk intuïtief redelike vir hierdie reeks, maar dit is waarskynlik gevaarlik om hierdie tendens te ekstrapoleer nie meer as 10 periodes in die toekoms. Wat van die fout statistieke Hier is 'n model vergelyking vir die twee modelle hierbo asook drie SES modelle getoon. Die optimale waarde van 945.Vir die SES model is ongeveer 0,3, maar soortgelyke resultate (met 'n bietjie meer of minder 'n responsiewe ingesteldheid, onderskeidelik) verkry met 0,5 en 0,2. (A) Holts lineêre exp. glad met alfa 0,3048 en beta 0,008 (B) Holts lineêre exp. glad met alfa 0,3 en beta 0,1 (C) Eenvoudige eksponensiële gladstryking met alfa 0,5 (D) Eenvoudige eksponensiële gladstryking met alfa 0,3 (E) Eenvoudige eksponensiële gladstryking met alfa 0,2 hul statistieke is byna identies, so ons can8217t regtig die keuse te maak op die basis van 1-stap-ahead voorspelling foute binne die data monster. Ons het om terug te val op ander oorwegings. As ons glo dat dit sinvol om die huidige tendens skatting van wat die afgelope 20 periodes of so gebeur baseer, kan ons 'n saak vir die LES model met 945 0.3 en 946 0.1 maak. As ons wil hê agnostikus te wees oor die vraag of daar 'n plaaslike tendens, dan een van die SES modelle makliker om te verduidelik kan wees en sou ook vir meer middel-of-the-road voorspellings vir die volgende 5 of 10 periodes. (Terug na bo.) Watter tipe tendens-ekstrapolasie die beste: horisontale of lineêre empiriese bewyse dui daarop dat, indien die data is reeds aangepas (indien nodig) vir inflasie, dan is dit dalk onverstandig om kort termyn lineêre ekstrapoleer wees tendense baie ver in die toekoms. Tendense duidelik vandag mag verslap in die toekoms as gevolg van uiteenlopende oorsake soos produk veroudering, toenemende mededinging en sikliese afswaai of opwaartse fases in 'n bedryf. Om hierdie rede, eenvoudige eksponensiële gladstryking voer dikwels beter out-of-monster as wat dit andersins word verwag, ten spyte van sy quotnaivequot horisontale tendens ekstrapolasie. Gedempte tendens veranderinge van die lineêre eksponensiële gladstryking model word ook dikwels gebruik in die praktyk om 'n aantekening van konserwatisme in te voer in die tendens projeksies. Die gedempte-tendens LES model geïmplementeer kan word as 'n spesiale geval van 'n ARIMA model, in die besonder, 'n ARIMA (1,1,2) model. Dit is moontlik om vertrouensintervalle rondom langtermyn voorspellings wat deur eksponensiële gladstryking modelle bereken deur die oorweging van hulle as spesiale gevalle van ARIMA modelle. (Pasop: nie alle sagteware bereken vertrouensintervalle vir hierdie modelle korrek.) Die breedte van die vertrouensintervalle hang af van (i) die RMS fout van die model, (ii) die tipe glad (eenvoudige of lineêr) (iii) die waarde (s) van die smoothing konstante (s) en (iv) die aantal periodes voor jy voorspel. In die algemeen, die tussenposes versprei vinniger as 945 kry groter in die SES model en hulle uitgebrei, sodat baie vinniger as lineêre, eerder as eenvoudige smoothing gebruik. Hierdie onderwerp word verder in die ARIMA modelle deel van die notas bespreek. (Terug na bo.) Passief meting van TCP heen-en terugreis keer per vinnige blik op RTT metings met TCP Stephen D. Strowes, Boundary Inc. meet en monitering netwerk RTT (heen-en terugreis tyd) is belangrik vir verskeie redes: dit laat netwerk operateurs en eindgebruikers om hul netwerk prestasie te verstaan ​​en te help optimaliseer hul omgewing, en dit help besighede verstaan ​​die reaksie van hul dienste aan afdelings van hul gebruiker basis. Meet netwerk RTT is ook belangrik vir TCP (Transmission Control Protocol) stapels te help optimaliseer bandwydte gebruik. TCP stapels aaneen gashere te optimaliseer vir 'n hoë prestasie deur passief te meet netwerk RTTs behulp wyd ontplooi TCP tyd stempel opsies gedra in TCP kop. Hierdie inligting, indien gebruik, dra 'n duidelike operasionele voordele vir dienste en programme: gashere hoef nie te loods buite-orkes ICMP (Internet Control Message Protocol) eggo versoeke (pings), ook nie wat hulle nodig het om tydsberekening inligting in die aansoek insluit verkeer. In plaas daarvan, kan die leërskare passief meet RTT verteenwoordiger van full-pad netwerk latency ervaar deur TCP verkeer. Begrip netwerk vertraging is die sleutel tot die begrip van 'n paar belangrike aspekte van die netwerk prestasie. Die tyd wat dit neem om die netwerk deurkruis tussen twee gashere beïnvloed hoe reageer dienste is, en dit affekteer die effektiewe bandwydte beskikbaar om einde gashere. Die meting van hierdie inligting passief op bedieners kan help om 'n fyn aanduiding van diens reaksie van die kliënte perspektief, en dit bied terselfdertyd 'n netwerk-afstand metrieke vir kliënte wat meer nuttig as grof-gegranuleerde en dikwels onakkurate-IP gebaseer ligginggewing. Die meting van RTT te veel gashere of kliënte is triviaal. Een oplossing is aktief ondersoek, in die vorm van ICMP echo versoeke en reaksies (dit is, ping), maar dit aangegaan bykomende netwerk vrag. In sommige gevalle ICMP verkeer deprioritized, val heeltemal, of aangestuur oor 'n ander pad as TCP verkeer. Wanneer een van hierdie is waar, daar is nog die moontlikheid dat RTT word gemeet aan 'n NAT (Network Address Translator) en nie tot die einde gasheer uitruil data. Nog 'n moontlike oplossing vir die meet netwerk RTT is om die aansoek-laag reaksie te meet. Dit is egter impliseer 'n aansoek-spesifieke, ad hoc meting uitgevoer deur die inbedding ID's of tyd tempel in die TCP bytestream, wat 'n misleidende, opgeblaas meting vir netwerk RTT kan gee, afhangende van die netwerk voorwaardes (meer hieroor later). Nie een van hierdie oplossings is heeltemal bevredigend, want nie gewaarborg om die netwerk RTT wat aansoek verkeer raak te meet. Die datum en tyd inligting oorgedra in TCP kop, maar bied 'n ander oplossing: dit is effektief 'n netwerk-laag RTT meting wat deur die meeste middleboxes soos NAT en firewalls gaan en meet die volle pad RTT tussen die twee gashere op 'n verband. Hierdie inligting bied die enigste noncustom RTT skatting oplossing beskikbaar vir einde gashere. Gereedskap soos tcptrace kan RTT te bereken met behulp van hierdie toestand, maar enige sagteware wat kan inspekteer pakkie headers (gewoonlik tot stand gebring via libpcap) of ondervra die plaaslike stelsel vir sodanige kern staat kan passief te samel netwerk RTTs vir alle aktiewe verbindings. Die belangrikste verskille tussen hierdie metings en hoe uiteenlopende netwerk voorwaardes affekteer dit is nie voor die hand liggend. Die doel van hierdie artikel is om te bespreek en demonstreer die passiewe RTT metings moontlik met behulp van TCP verkeer. Agtergrond TCP bied 'n betroubare bytestream om die programme wat dit gebruik aansoeke stuur arbitrêre hoeveelhede data, en die TCP laag stuur dit as 'n reeks van segmente met ry getalle en loonvrag lengtes wat die stuk van die bytestream elke segment verteenwoordig. Om 'n geordende byte stroom bereik, TCP retransmits segmente as hulle gaan ontbreek tussen die bron en bestemming (of as 'n erkenning vir 'n ontvang segment gaan ontbreek tussen die bestemming en die bron). Om prestasie in alle netwerk te verbeter, die TCP stapel maatreëls RTT tussen dit en die ander gasheer op elke verbinding te laat om sy RTO (heruitsending tydverstreke) te optimaliseer gepas en te optimaliseer die tyd wat dit neem om te herstel van 'n verlies gebeurtenis. Die oorspronklike TCP spesifikasie bevat geen verpligte, toegewyde RTT berekening meganisme. In plaas daarvan, TCP stapels probeer om RTTs bereken deur die tydstip waarop 'n volgnommer gestuur waarneem en korreleer dit met 'n ooreenstemmende erkenning. Berekening van RTTs gebruik van hierdie meganisme in die teenwoordigheid van pakkie verlies egter maak akkurate meting onmoontlik. 13 TCP tyd tempel is gedefinieer om hierdie berekening onafhanklik toelaat aan beide kante van 'n verband, terwyl data word uitgeruil tussen die twee gashere. TCP tyd tempel bied 'n meganisme vir die berekening van RTT wat onafhanklik van volgorde nommers en erkennings. Die algoritme vir die berekening van RTT uit 'n TCP vloei tussen twee gashere, gedokumenteer in RFC 1323, 3 word algemeen gebruik deur beide einde gashere op 'n verbinding met die RTO verfyn om die prestasie van TCP in die teenwoordigheid van verlies te verbeter. Die meganisme is aangeskakel is by verstek in die moderne bedryfstelsels en word selde geblokkeer deur firewalls, en dus verskyn in die meeste TCP vloei die opsie TCP Tyd Stempel Dit is bekend dat wyd ontplooi word in die natuur. 5 RTT is voortdurend bereken vir elke verbinding vir so lank as wat data uitgeruil oor die verbindings. TCP bereken RTT vir pakkies geruil op 'n per-verbinding basis en bere die eksponensiële bewegende gemiddelde van hierdie metings, waarna verwys word as SRTT (stryk RTT). Die TCP stapel hou ook die variansie in die gemete RTT, die RTTVAR. Die SRTT dat die TCP stapel bereken vir 'n verband bepaal die RTO waarde. Gegewe veranderlikes G, wat is die stelsel klok korrelig, en K. STO SRTT Max (G, K RTTVAR) Die RTO word gebruik om die tyd van die TCP stapel wag, nadat 'n TCP segment oorgedra optimaliseer, vir 'n ooreenstemmende erkenning voor weer probeer die: wat is ingestel op 4, 8 die RTO soos volg bereken stuur werking. Akkurate metings van RTT tussen twee gashere toelaat TCP om te stem sy RTO akkuraat vir elke aktiewe verbinding. Verstaan ​​die staat binne die TCP kop gedra in die meeste TCP verkeer kan help aansoek ontwerpers of netwerk operateurs verstaan ​​die netwerk RTTs ervaar aansoek verkeer. Baie aansoeke met realtime beperkings gebruik TCP om hul verkeer, wat binne sekere perke aanvaarbaar is vervoer. 1 Dit is nuttig om te verstaan ​​hoe die bytestream semantiese realtime prestasie kan beïnvloed. TCP tyd tempel is opsioneel velde in die TCP kop, so alhoewel hulle baie nuttig en uitgevoer in die meeste verkeer, is dit nie streng nodig is vir TCP om te funksioneer. Die waardes word in twee 4-byte kop velde: TSval (Tyd Stempel Waarde) en TSecr (Tyd Stempel Echo Antwoorde). Elke gasheer by 'n verband straal TSval tyd tempel aan die ander gasheer wanneer 'n TCP segment oorgedra, en wag op die ooreenstemmende TSecr in ruil. Die tydsverskil gemeet tussen die eerste 'n TSval afgee en ontvang dit in 'n TSecr is die TCP stapels beste raaiskoot oor RTT. Tyd stempel hier is 'n arbitrêre waarde wat vermeerderings by die korrelig van die plaaslike stelsel klok is dit nie 'n tyd stempel wat onafhanklik kan geïnterpreteer, soos die aantal sekondes sedert die epog. By wyse van voorbeeld, in figuur 1 keer vorder van bo tot onder, en die horisontale lyne dui realtime die verhoog (byvoorbeeld, in millisekondes). Twee gashere, A en B, het 'n oop verbinding en word die uitruil van pakkies. In werklikheid is die twee gashere het uiteenlopende horlosies, maar vir eenvoud neem aan hulle is perfek gesinchroniseer. Die voorbeeld bedryf soos volg: Host A stuur 'n TCP segment wat die tyd stempel opsies TSval 1 bevat, TSecr 0 TSecr is ingestel op 0, omdat daar geen TSval van B het op 'n waargeneem dit dui gewoonlik A opening van 'n verbinding met B. Host B ontvang hierdie tyd stempel op tyd 1 op tyd 2, gasheer B stuur 'n TCP segment terug na a, wat die waardes TSval 2, TSecr TSvalA 1 hierdie ontvang by gasheer 'n ten tye 3. Gegewe hierdie eggo waarde en die huidige tyd, gasheer bevat A weet dat RTT in hierdie geval is ongeveer 2 Me. Daarna het die volgende twee segmente wat 'n straal beide dra die waardes TSval 3, TSecr TSvalB 2 Die eerste hiervan is ontvang by gasheer B ten tyde 4, so gasheer B ook 'n RTT van 2 ms kan bereken. Gegewe die twee eggo van dieselfde tyd stempel ontvang, is die minimum duur aanvaar dat die naaste aan die werklike netwerk vertraging wees indien netwerk vertraging veranderinge, toekomstige ruil sal hierdie meet. Voortdurend die stuur van waardes om die ander gasheer en let op die minimum tyd totdat die eggo antwoord met daardie waarde ontvang kan elke einde gasheer vir die RTT te bepaal tussen hom en die ander gasheer op 'n verband. Die caveat is dat vir 'n TSval nuttig ag geneem moet word, moet die TCP segment wees wat data van die aansoek. TCP segmente kan wettig dra 'n nul-byte loonvrag, meestal toe te erken 'n data segment, of wanneer TCP lewensredders is aangeskakel. Deur te vereis dat geldige TSvals kom net van TCP segmente wat data, die algoritme is minder geneig om te breek in die kommunikasie tussen die leërskare, waar data-uitruilprogram pouses vir 'n tyd te meet, dan weer begin met behulp van die laaste ontvang TSval as die TSecr. Dit impliseer ook dat op 'n TCP vloei waarop data uitsluitlik uitgeruil in een rigting, sal slegs een van die gashere in staat wees om RTT te bereken. Gewoonlik egter 'n paar aansoek laag chatter kom voor in beide rigtings. Ten slotte, kan RTT berekening uitgevoer word op enige gasheer wat stuur verkeer, nie net die einde leërskare, so vol-pad RTTs op alle verbindings binne 'n netwerk kan bereken word uit sy poort gasheer, byvoorbeeld. Al wat nodig is om te bereken akkurate RTTs is, is dat albei rigtings van 'n verband te slaag deur die monitering gasheer. Of dit die geval is dikwels afhanklik van die netwerk argitektuur, maar dit is bekend dat paaie op die Internet is gewoonlik nie simmetriese. 2 Running hierdie algoritme op 'n poort knoop vir 'n netwerk waardeur al die verkeer gaan egter toelaat dat die RTT berekening om plaas te passief te neem op alle verbindings van net een plek. Demonstrasie RTT metings Die netwerk is 'n gedeelde hulpbron, en verskeie faktore beïnvloed TCP RTT berekening. Hierdie afdeling breed dek sommige van hierdie faktore en dui waar die TCP RTT berekening verskil van die RTT waargeneem deur programme. Die doel is om gelykheid te demonstreer met ICMPs RTT skattings, alles in die veronderstelling is gelyk, en hoe pakkie verlies en oormatige buffer beïnvloed hierdie maatreëls met betrekking tot vermeende latency by die aansoek laag. Om die reaksie van RTT metings toon, is verkeersvloei nageboots in 'n skynwerklike omgewing. Die omgewing is eenvoudig: twee Linux leërskare is ingestel op verskillende subnets, en 'n derde Linux gasheer, met pakkie stuur geaktiveer is, is ingestel met twee netwerk interfaces, een vir elke subnet. Dit stuur gasheer gebruik word om die netwerk eienskappe waargeneem tussen die twee einde gashere wissel, met behulp van die instrument TC (verkeer beheer). Netwerk eienskappe is nie verander op die ou end die leërskare, so hulle TCP stapels is nie direk bewus van die verstellings vir elke eksperiment. Vir elke eksperiment, is 'n uitgang vertraging van 50 ms stel op elke koppelvlak op die ekspedisie gasheer, wat lei tot 'n RTT 100 ms tussen die twee einde gashere. Elke eksperiment loop vir 180 sekondes. Die maksimum datatempo is ingestel op 10 Mbps. Op hierdie einde die leërskare, is die volgende komponente hardloop Bull Ping loop op beide die leërskare, so elke gasheer stuur ICMP echo versoeke aan die ander keer per sekonde. Dit meet die ICMP RTT waarde om 'n grond-waarheid RTT te vestig tussen die leërskare. bul 'n Eenvoudige kliënt / bediener denim programme loop, waar die kliënt stuur 'n plaaslike tyd stempel oor 'n TCP-verbinding een keer elke tweede tot die bediener, en die bediener eggo die tyd stempel terug aan die kliënt die kliënt bereken die verskil wanneer dit die reaksie lees uit die bytestream. Die kliënt aansoek loop twee drade: een vir die stuur en een vir die ontvangs. Dit meet die RTT waargeneem deur die toepassing laag. bul ook uitgevoer word op beide einde gashere is 'n PCAP (pakkie capture) leser dat die TCP tyd stempel waardes gedra in die TCP kop vir die verkeer wat gegenereer word deur die kliënt / bediener program waaruit dit bereken RTT waarneem, uitdruk die nuutste RTT waarde een keer elke tweede . Die uitvoer van hierdie eksperimente waarde is die RTT eerder as die SRTT, aangesien die doel hier is om te ondersoek werklike RTT en nie 'n benadering. Dit word bereken dat RTT passief van TCP tyd tempel. Geen ander verkeer uitgeruil tussen die leërskare, behalwe tydens die demonstrasie van bufferbloat. Die volgende voorbeelde te demonstreer: 1. Die vermoë om te monitor veranderende RTT akkuraat deur die wysiging van die netwerk latency. 2. Die impak van pakkie verlies. 3. Die impak van oorgrootte buffers (algemeen na verwys as bufferbloat). Nagles Algoritme Voordat beskryf hierdie eksperimente in detail, laat 'n blik op Nagles algoritme, 6 wat aangeskakel is by verstek in baie TCP stapels. Die doel daarvan is om die aantal klein, kop-swaar datagramme oorgedra deur die netwerk te verminder. Dit werk deur die uitstel van die oordrag van nuwe data of die hoeveelheid data wat beskikbaar is om te stuur minder as die MSS (maksimum segment grootte), wat is die langste segment toelaatbaar gegewe die maksimum oordrag eenheid op die pad is, en as daar 'voorheen gestuur data wag nog vir erkenning. Nagles algoritme kan onnodige vertragings vir tyd kritiese programme wat oor TCP veroorsaak. So, omdat die aanname is dat sulke aansoeke oor TCP sal loop in die hier aangebied eksperimente, Nagles algoritme is afgeskakel. Dit word bereik in die kliënt en bediener deur die oprigting van die TCPNODELAY socket opsie op alle voetstukke in gebruik. Eksperiment 1: Die verandering van Network Voorwaardes Wanneer die berekening RTTs, dit is van kritieke belang dat die metings akkuraat weerspieël die huidige omstandighede. Die doel van hierdie eksperiment is eenvoudig om die reaksie van ons statistieke aan voorwaardes wat verander in 'n voorspelbare wyse te demonstreer. In hierdie eksperiment die basis RTT (100 ms) is aanvanklik ingestel, en dan 'n bykomende latency (50 ms) is afwisselend bygevoeg en afgetrek word van daardie basis RTT deur die verhoog die vertraging aan beide koppelvlakke op die ekspedisie gasheer deur 25ms. Geen verlies-verhouding is wat op die pad, en geen bykomende verkeer gestuur tussen die twee gashere. Let daarop dat sedert TCPs RTT berekening is geheel en al passief, beteken dit nie variasie in ag te neem in RTT indien geen data word uitgeruil. In die teenwoordigheid van die verkeer, maar sy voordelige dat die RTT meting werk vinnig. Die resultate van hierdie eksperiment word in figuur 2. Die geneem by alle lae metings dui op 'n bimodale verspreiding, wat is presies wat moet verwag word sonder ander netwerk toestande wat verkeer. Die drie vorme van metings geneem is almal effektief ekwivalent, met die gemiddelde RTT gemeet tydens die eksperimente wat wissel van nie meer as 1 persent. Eksperiment 2: pakket verlies pakket verlies op 'n netwerk beïnvloed betroubaarheid, 'n responsiewe ingesteldheid, en deurset. Dit kan veroorsaak word deur baie faktore, insluitend lawaaierige skakels onheil data, foutiewe ekspedisie hardeware, of verbygaande haakplekke tydens routing herkonfigurasie. Die aanvaarding van die netwerk-infrastruktuur is nie foutief en routing is stabiel, verlies word dikwels veroorsaak deur netwerk opeenhoping wanneer konvergerende data vloei veroorsaak 'n bottelnek, dwing buffers oorloop in ekspedisie hardeware en dus pakkies te laat val. Verlies kan gebeur op óf die vorentoe of die omgekeerde weg van 'n TCP-verbinding, die enigste aanduiding van die TCP stapel om die afwesigheid van 'n ontvang ACK. TCP bied programme 'n geordende bytestream. Dus, wanneer die verlies plaasvind en 'n segment moet Service weer, segmente wat reeds aangekom, maar dit blyk later in die bytestream moet lewering van die vermiste segment wag sodat die bytestream kan opgebou ten einde. Bekend as hoof-van-lyn sluit, kan dit nadelig wees vir die uitvoering van programme wat oor TCP wees, veral as latency is hoog. Selektiewe erkenning, indien geaktiveer, toelaat dat 'n gasheer vir presies aandui watter subset van segmente vermis geraak het op die vorentoe pad en dus wat subset om weer te stuur. Dit help in vlug te verbeter die aantal segmente toe verlies plaasgevind het. In hierdie eksperiment, was pakkie verlies geaktiveer is op die ekspedisie gasheer by verlies pryse van 5, 10, 15, en 20 persent, is die doel om dit TCP segmente demonstreer nog uitgeruil en RTTs beraam deur TCP is meer verdraagsaam tot die verlies as RTTs gemeet deur die aansoek. Die resultate van hierdie eksperiment word in figuur 3. Die punte verteenwoordig mediaanwaardes, met 5 en 95 persentiele getoon. In hierdie toetse, 'n 5 persent pakkie verlies was in staat om van die bekendstelling van 'n half-sekonde vertraging vir die aansoek, selfs al is die mediaan waarde is naby aan die werklike RTT 100 ms die gemete gemiddelde vir aansoek-laag RTT met 5 persent verlies is 196,4 Me, 92,4 ms hoër as die gemete gemiddelde vir TCP RTT. Die gemete middel styg vinnig: 400,3 me vir 10 persent verlies, 1.2 s vir 15 persent verlies, en 17,7 s vir 20 persent verlies. Die mediaanwaardes getoon in figuur 3 vir aansoek-laag RTT volg 'n soortgelyke patroon, en in hierdie voorbeeld openbaar in mediaan aansoek-laag RTTs gemeet teen ongeveer 12 sekondes met 20 persent pakkie verlies. Die TCP RTT is egter altyd naby aan die ware 100-ms afstand hoewel vertraagde pakkie ruil hierdie maatreël kan opblaas, die grootste gemiddelde afwyking waargeneem in hierdie toetse tussen TCP RTT en ICMP RTT was 'n 57,7-Me toename in gemeet RTT op die TCP laag. Die effek van pakkie verlies kan verwoestend om die reaksie van TCP aansoeke wees, maar dit is duidelik dat passief meet netwerk-vlak RTTs steeds haalbaar is, en in teenstelling met die vermeende latency ervaar deur programme wat deur TCPs ingestel kan word in-order semantiek . Eksperiment 3: Bufferbloat misverstande oor die verhouding tussen verlies voorkoming en netwerk prestasie het gelei tot oormatige buffer word bekend gestel aan die stuur en routing hardeware as 'n verlies-vermyding strategie. Dikwels (maar nie uitsluitlik nie), dit beïnvloed kommoditeit CPE (kliënt perseel toerusting), en dus direk beïnvloed eindgebruikers. Oormatige buffer egter werk teen TCPs verlies-opsporing algoritme deur die verhoging van die vertraging en dus uitstel van die tyd wat dit neem vir 'n TCP stapel te verloor identifiseer en terug offmdashthat is, aangestel om die bykomende vertraging wat deur groot buffers kan TCPs opeenhoping-beheermeganisme ontwrig. Bufferbloat is 'n bekende verskynsel 7 waar die diepste buffer op 'n netwerk pad tussen twee gashere uiteindelik gevul deur TCP. Oënskynlik, stelsel ontwerpers verhoog buffer grootte van die verlies te verminder, maar dieper buffers verhoog die werklike tyd wat dit neem vir pakkies om 'n pad oor te steek, die verhoging van die RTT en die vertraging van die tyd wat dit neem vir TCP om te bepaal wanneer 'n verlies gebeurtenis plaasgevind het. Verlies is die bestuurder vir TCPs opeenhoping-beheer algoritme, sodat toenemende grootte buffer is eintlik teenproduktief. Om bufferbloat demonstreer in hierdie eksperiment, is TC tou groottes stelselmatig toegeneem van 10 KB, 100 KB, dan 200 KB, dan uiteindelik 300 KB op die ekspedisie gasheer, en netcat is gebruik om 'n hoë-bandwydte vloei tussen elk van die einde te skep gashere voor die begin van die kliënt / bediener program. Die bedoeling van die hoë-bandwydte vloei was om die langer toue vul op die ekspedisie gasheer, toon dat die dreinering van tyd raak aansoek reaksie. Die resultate van die eksperiment word in figure 4 en 5. Figuur 4 toon die verspreiding van RTT metings as die buffer groottes verhoog. Die 300-KB toets in Figuur 5 toon baie soortgelyk RTT maatreëls van beide die leërskare in die ICMP metings, by die TCP laag, en in die aansoek laag beteken en mediaanwaardes vir alle lae in hierdie eksperimente was almal binne 2 ms van mekaar. Alle RTT maatreëls opgeblaas met dieselfde bedrag as gevolg van die oormatige grootte buffer effektief die lengte netwerk-laag pad verhoog. Gegewe dat die toets aansoek straal net 'n handjievol van pakkies keer per sekonde, die zaag patroon is 'n aanduiding van die netcat data te vul 'n tou, dan TCP wag vir die ry om te dreineer voordat die stuur van meer van netcats data, die vorming van 'n bursty patroon. Hierdie gevul toue nadelige uitwerking op die lewering van alle ander verkeer en verhoog die toets programme RTTs, wat wissel van 100 ms tot ongeveer 250 ms as gevolg daarvan. Die bufferbloat probleem is aktief gewerk. Meganismes soos sak (Selektiewe Erkennings), DSACK (Dubbele sak), en ECN (Explicit Opeenhoping Kennisgewing), wanneer geaktiveer is, al help verlig bufferbloat. Daarbenewens aktiewe tou bestuurstrategieë soos Codel is in hoofstroom Linux kernels aanvaar. Om op te som, is dit duidelik dat vertragings wat veroorsaak word deur kop-of-line blokkeer in TCP, moet pakkie verlies aan 'n minimum beperk word verminder. Gegewe dat ons pakkie verlies as 'n primêre dryfveer van TCPs opeenhoping-beheer algoritme moet verwag, moet ons ook versigtig wees om netwerk buffer verminder word, en te verhoed dat die vertragings wat deur bufferbloat. Laasgenoemde vereiste veral nuttig in gedagte gehou moet word wanneer voorsiening netwerke vir time-kritiese data wat betroubaar moet afgelewer word. Verwante Werk Die belangrike kwessie by die gebruik van TCP vir tyd sensitiewe programme is dat TCP bied 'n betroubare bytestream. Hierdie vereiste is apart van ander belangrike aspekte van TCP, soos kongestiebeheer en vloei beheer. TCP is nie geskik vir alle aansoeke egter. Eli Brosh et al. bespreek in meer detail die gedrag van TCP in die teenwoordigheid van die vertraging en sekere aanvaarbaarheid perke vir aansoek prestasie. 1 UDP 9 is die mees algemeen gebruik word vervoer protokol na TCP sy 'n datagram georiënteerde protokol met geen opeenhoping beheer, vloei beheer, of boodskap-bestel meganismes. Dit bou voort op effektief die IP laag met hawe getalle UDP-laag. Sonder die boodskap-bestel beperking, is dit nie geraak word deur die hoof-van-lyn blokkeer probleem wat kan beïnvloed TCP verbindings. UDP alleen is nie geskik vir baie toepassings, maar omdat betroubaarheid is dikwels 'n vereiste, en opeenhoping beheer is belangrik om billike deel van die netwerk hulpbronne toelaat. Baie aansoeke kies om protokolle op die top van UDP, soos RTP (Real Time Protocol) laag in tandem met RTCP (Real Time Control Protocol), 10 in die eerste plek bedoel vir die uitvoering van tyd-sensitiewe Trafic kan klein hoeveelhede verlies te hanteer. Hierdie protokolle pak programme soos VoIP wat nie vereis dat 100 persent betroubaarheid en vind vertraging wat deur die hoof-van-lyn sluit van nadelige. RTCP toelaat grof-gegranuleerde opeenhoping beheer en kan realtime aansoeke om hul gebruik te verander deur die keuse van verskillende kwaliteit instellings vir die live stream, maar opeenhoping beheer is nie gebou in sigself. DCCP 4 is 'n boodskap gerig is, die beste-poging vervoer-laag protokol wat nie streng bestel by aflewering data nie af te dwing, nie hanteer datagram heruitsending, maar presteer opeenhoping beheer te netwerk hulpbronne te bewaar. DCCP is nuttig vir 'n soortgelyke stel van aansoeke as RTP en RTCP, maar die byvoeging van opeenhoping beheer sonder potensiële datagram duplisering is belangrik, dit toelaat RTP uit te voer oor DCCP met minder kommer vir verbruik netwerk hulpbron. SCTP 11 is ook 'n boodskap georiënteerde vervoer protokol, waar elke boodskap aan die aansoek gelewer ten einde. Streng boodskap bestel is egter opsioneel, en so die vervoer kan meer ontvanklik vir aansoek verkeer wees. SCTP voorsiening ook gedeeltelike betroubaarheid. 12 Let daarop dat bufferbloat endemies, en ander vervoer protokolle geraak op dieselfde manier as TCP, maar ontspan streng bestel beperkings op die transportlaag is een benadering tot die verbetering van prestasie deur die verwydering van die addisionele reaksie tyd aangegaan wanneer die stroom is geblokkeer wag vir vermiste data.


No comments:

Post a Comment