Felsökning av nätverkslatens med Wireshark

Nätverkslatens är fördröjningen vid överföring av förfrågningar eller data från källan till destinationen i ett nätverksekosystem. Låt oss se hur du kan felsöka nätverkslatens.

Alla åtgärder som kräver användning av nätverket, som att öppna en webbsida, klicka på en länk eller öppna en app och spela ett onlinespel, kallas en aktivitet. En användares aktivitet är förfrågan, och svarstiden för en webbapplikation är den tid det tar att svara på denna förfrågan.

Denna tidsfördröjning inkluderar också den tid det tar en server att slutföra begäran. Som ett resultat definieras det som rundresa – tiden det tar för en begäran att spelas in, behandlas och sedan tas emot av användaren, där den avkodas.

Termen ”låg latens” syftar på dataöverföringsfördröjningar som är relativt korta. Å andra sidan är långa förseningar eller överdriven latens oönskade eftersom de försämrar användarupplevelsen.

Hur fixar jag nätverkslatens?

Det finns många verktyg och programvara tillgängliga på internet för att analysera och felsöka ett nätverk. Vissa är betalda och vissa är gratis. Det finns dock ett verktyg som heter Wireshark, som är en öppen källkod och GPL-licensierad applikation som används för att fånga datapaketen i realtid. Wireshark är den mest populära och vanligaste nätverksprotokollanalysatorn i världen.

Det hjälper dig att fånga nätverkspaket och visa dem i detalj. Du kan använda dessa paket för realtids- eller offlineanalys när den fångar nätverkspaketen. Denna applikation låter dig undersöka din nätverkstrafik under ett mikroskop, filtrera och borra ner i den för att hitta källan till problem, hjälpa till med nätverksanalys och i slutändan nätverkssäkerhet.

Vad orsakar nätverksfördröjning?

Några huvudorsaker till den långsamma nätverksanslutningen inklusive:

  • Hög latens
  • Applikationsberoenden
  • Paketförlust
  • Avlyssning av enheter
  • Ineffektiva fönsterstorlekar

Och i den här artikeln undersöker vi varje orsak till nätverksfördröjning och hur man löser problemen med Wireshark.

Undersöker med Wireshark

Hög latens

Hög latens hänvisar till den tid det tar för data att överföras från en slutpunkt till en annan. Effekten av hög latens på nätverkskommunikation är enorm. I diagrammet nedan tittar vi på tur och retur-tiden för en filnedladdning på en sökväg med hög latens som ett exempel. Latenstiden tur och retur kan ofta överstiga en sekund, vilket är oacceptabelt.

  • Gå till Wireshark Statistics.
  • Välj alternativet TCP-strömdiagram.
  • Välj diagrammet Rundturstid för att ta reda på hur lång tid det tar för en fil att ladda ner.

Wireshark används för att beräkna tur och retur-tiden på en väg för att se om detta är orsaken till bristfällig transmissionskontrollprotokoll (TCP) kommunikationsnätverksprestanda. TCP används i olika applikationer, inklusive onlinesurfning, dataöverföring, filöverföringsprotokoll och många andra. I många fall kan operativsystemet justeras för att prestera mer effektivt på kanaler med hög latens, särskilt när värdar använder Windows XP.

Applikationsberoenden

Vissa applikationer är beroende av andra applikationer, processer eller värdkommunikation. Anta att din databasapplikation, till exempel, förlitar sig på att ansluta till andra servrar för att hämta databasobjekt. I så fall kan trög prestanda på de andra servrarna försämra laddningstiden för den lokala applikationen.

Ta till exempel en webbupplevelse där målservern refererar till flera andra webbplatser. För att till exempel läsa in webbplatsens huvudsida, www.espn.com, måste du först besöka 16 värdar som tillhandahåller annonser och innehåll för huvudsidan www.espn.com.

I figuren ovan visar HTTP-belastningsdistributionsfönstret i Wireshark en lista över alla servrar som används av hemsidan www.espn.com.

Paketförlust

Ett av de vanligaste problemen jag hittar på nätverk är paketförlust. Paketförlust uppstår när datapaket inte levereras korrekt från avsändare till mottagare över internet. När en användare besöker en webbplats och börjar ladda ner webbplatsens element orsakar missade paket återöverföringar, vilket ökar möjligheten att ladda ner webbfilerna och saktar ner den övergripande nedladdningsprocessen.

Dessutom, när ett program använder TCP, har saknade paket en särskilt negativ inverkan. När en TCP-anslutning upptäcker ett tappat paket saktar genomströmningshastigheten automatiskt ner för att kompensera för nätverksproblem.

Det förbättras gradvis till en mer acceptabel takt tills nästa paket släpps, vilket resulterar i en betydande minskning av datagenomströmningen. Stora filnedladdningar, som annars borde flyta lätt över ett nätverk, lider avsevärt av paketförlust.

Hur ser det ut när ett paket tappas bort? Det är diskutabelt. Paketförlust kan ha två former om programmet fungerar via TCP. I ett exempel övervakar mottagaren paket baserat på deras sekvensnummer och detekterar ett saknat paket. Klienten gör tre förfrågningar om det saknade paketet (dubbla bekräftelser), vilket resulterar i en omsändning. När en avsändare observerar att en mottagare inte har bekräftat mottagandet av ett datapaket, tar avsändaren timeout och återsänder datapaketet.

Wireshark indikerar att nätverksstockning har inträffat, och flera bekräftelser orsakar återöverföring av den problematiska trafiken genom att färgkoda den. Ett stort antal dubbletter av bekräftelser indikerar paketförlust och betydande fördröjning i ett nätverk.

För att förbättra nätverkshastigheten är det viktigt att hitta den exakta platsen för paketförlusten. När paketförlust inträffar flyttar vi Wiresharken längs vägen tills ingen mer paketförlust är synlig. Vi är ”uppströms” från paketavlämningspunkten vid denna tidpunkt, så vi vet var vi ska fokusera våra felsökningsinsatser.

Avlyssning av enheter

Nätverkstrafikpoliser är sammankopplade enheter som gör vidarebefordringsval, såsom switchar, routrar och brandväggar. När paketförlust inträffar bör dessa enheter undersökas som en trolig orsak.

Latens kan läggas till sökvägen av dessa länkningsenheter. Till exempel, om trafikprioritering är aktiverad, kan vi se extra latens injiceras i en ström med låg prioritetsnivå.

Ineffektiva fönsterstorlekar

Förutom Microsofts operativsystem finns det andra ”fönster” i TCP/IP-nätverk.

  • Glidande fönster
  • Mottagarfönster
  • Fönstret för överbelastningskontroll

Dessa fönster utgör tillsammans nätverkets TCP-baserade kommunikationsprestanda. Låt oss börja med att definiera vart och ett av dessa fönster och deras inverkan på nätverkets bandbredd.

Glidande fönster

När data kvitteras, används det glidande fönstret för att sända nästa TCP-segment över nätverket. Avsändaren tar emot kvittenser för överförda datafragment, det skjutbara fönstret expanderar. Så länge det inte finns några förlorade överföringar på nätverket kan större mängder data överföras. När ett paket går förlorat, krymper det glidande fönstret eftersom nätverket inte kan hantera den ökade mängden data på linjen.

Mottagarfönster

TCP-stackens mottagarfönster är ett buffertutrymme. När data tas emot lagras den i detta buffertutrymme tills en applikation hämtar den. Mottagarfönstret fylls upp när en applikation inte hänger med mottagningshastigheten, vilket så småningom leder till ett ”nollfönster”-scenario. All dataöverföring till värden måste stoppas när en mottagare meddelar ett nollfönstertillstånd. Genomströmningshastigheten faller till noll. En metod som kallas Window Scaling (RFC 1323) tillåter en värd att öka mottagarfönstrets storlek och minska sannolikheten för ett nollfönsterscenario.

Bilden ovan visar en 32-sekunders fördröjning i nätverkskommunikation på grund av ett nollfönsterscenario.

Trängselfönster

Överbelastningsfönstret definierar den maximala mängden data som nätverket kan hantera. Avsändarens paketöverföringshastighet, nätverkspaketförlusthastigheten och mottagarens fönsterstorlek bidrar alla till denna siffra. Överbelastningsfönstret ökar stadigt under en sund nätverkskommunikation tills överföringen är klar eller den når ett ”tak” som fastställts av nätverkshälsan. Avsändarens sändningsmöjligheter eller mottagarens fönsterstorlek. Varje ny anslutning startar förhandlingsproceduren för fönsterstorlek igen.

Tips för ett hälsosamt nätverk

  • Lär dig hur du använder Wireshark som en första-svarsuppgift för att snabbt och effektivt upptäcka källan till dålig prestanda.
  • Identifiera källan till nätverksvägens latens och, om möjligt, reducera den till en acceptabel nivå.
  • Lokalisera och åtgärda källan till paketförlust.
  • Undersök storleken på dataöverföringsfönstret och, om möjligt, minska den.
  • Undersök avlyssningsenheters prestanda för att se om de lägger till latens eller släpper paket.
  • Optimera appar så att de kan leverera större mängder data och om möjligt hämta data från mottagarfönstret.

Avslutning 👨‍🏫

Vi har gått igenom huvudorsakerna till problem med nätverksprestanda, men en faktor som inte bör missas är bristande förståelse för nätverkskommunikationens beteende. Wireshark ger nätverkssynlighet precis som röntgenstrålar, och CAT-skanningar ger insyn i människokroppen för korrekta och snabba diagnoser. Detta verktyg har blivit ett viktigt verktyg för att lokalisera och diagnostisera nätverksproblem.

Du bör nu undersöka och lösa nätverksprestanda via flera filter och verktyg med Wireshark. 👍