Fördröjning i Nätverk: Orsaker och Felsökning med Wireshark
Nätverkslatens, eller fördröjning, är den tidsfördröjning som uppstår när data eller förfrågningar skickas från en källa till en destination inom ett nätverk. Låt oss utforska hur man kan identifiera och åtgärda nätverkslatens.
Varje aktivitet som involverar nätverket, som att besöka en webbsida, klicka på en länk, öppna en applikation eller spela onlinespel, genererar en förfrågan. Svarstiden för en webbapplikation representerar den tid det tar för applikationen att hantera och svara på en sådan förfrågan.
Denna tidsfördröjning innefattar även den tid det tar för en server att processa förfrågan. Därför definieras det som rundturstid – den tid det tar för en förfrågan att skickas, behandlas och sedan returneras till användaren i avkodat format.
Begreppet ”låg latens” indikerar korta dataöverföringsfördröjningar, medan ”hög latens” eller överdriven latens innebär långa fördröjningar som negativt påverkar användarupplevelsen.
Hur åtgärdar man nätverkslatens?
Det finns ett brett utbud av verktyg och programvaror tillgängliga online för att analysera och felsöka nätverk, både kostnadsfria och kommersiella. Ett särskilt kraftfullt verktyg är Wireshark, en öppen källkod applikation som används för att fånga upp och analysera datapaket i realtid. Wireshark är världens mest använda analysator för nätverksprotokoll.
Wireshark gör det möjligt att detaljerat granska och analysera nätverkspaket. Denna information kan användas för både realtidsanalys och offlineanalys. Applikationen ger möjlighet att undersöka nätverkstrafiken noggrant, filtrera den och identifiera källor till problem, vilket är till stor hjälp för nätverksanalys och säkerhet.
Vad orsakar fördröjning i nätverk?
Här är några vanliga orsaker till nedsatt nätverksprestanda:
- Hög latens
- Applikationsberoenden
- Paketförlust
- Överbelastning av nätverksenheter
- Inadekvata fönsterstorlekar
I den här artikeln granskar vi dessa orsaker till nätverksfördröjning och diskuterar hur Wireshark kan användas för att lösa problemen.
Analys med Wireshark
Hög Latens
Hög latens innebär en lång tidsfördröjning för dataöverföring mellan två punkter. Detta påverkar nätverkskommunikationen avsevärt. Betrakta till exempel nedladdning av en fil över en väg med hög latens. Tur- och returtiden kan överstiga en sekund, vilket är oacceptabelt.
- Öppna Wireshark och navigera till ”Statistik”.
- Välj alternativet ”TCP Stream Graph”.
- Välj grafen ”Round Trip Time” för att analysera filnedladdningstider.
Wireshark används för att mäta tur- och returtiden, vilket hjälper till att identifiera om det är orsaken till dålig TCP-kommunikationsprestanda. TCP används i många sammanhang, som webbsurfning och filöverföring. I många fall kan operativsystem optimeras för att prestera bättre i miljöer med hög latens, särskilt äldre system som Windows XP.
Applikationsberoenden
Vissa applikationer är beroende av andra applikationer, processer eller värdkommunikationer. Om din databasapplikation till exempel är beroende av anslutningar till andra servrar för att hämta data, kan långsam prestanda hos dessa servrar försämra laddningstiden för den lokala applikationen.
Ta webbupplevelsen som exempel där en server är beroende av flera andra webbplatser. För att ladda huvudsidan, till exempel www.espn.com, kan det krävas 16 andra värdar som tillhandahåller annonser och innehåll till huvudsidan.
Bilden ovan illustrerar hur Wireshark visar HTTP-belastningsdistribution, där alla servrar som används av www.espn.com presenteras.
Paketförlust
Ett vanligt nätverksproblem är paketförlust. Det innebär att datapaket inte levereras korrekt från avsändare till mottagare. När en webbsida laddas och paket går förlorade, måste de återsändas, vilket saktar ner hela nedladdningsprocessen.
Paketförlust har en särskilt negativ effekt på TCP-anslutningar. När ett tappat paket detekteras sänks datahastigheten automatiskt för att kompensera, vilket leder till en betydande minskning av datagenomströmningen. Stora filnedladdningar påverkas negativt av paketförlust.
Hur ser paketförlust ut? Om TCP används kan paketförlust identifieras på två sätt. Mottagaren övervakar paket baserat på sekvensnummer och detekterar ett saknat paket. Mottagaren begär om det saknade paketet tre gånger (dubbla bekräftelser) vilket resulterar i en återsändning. Om avsändaren inte får bekräftelse på paketet inom en viss tid, timeoutar avsändaren och skickar datapaketet igen.
Wireshark kan visa paketförlust genom färgkodning, där dubbla bekräftelser indikerar nätverksträngsel och återsändning. Ett stort antal dubbla bekräftelser pekar på paketförlust och betydande fördröjning.
För att förbättra nätverkshastigheten är det viktigt att lokalisera paketförlustens exakta position. Genom att flytta Wireshark längs vägen kan vi identifiera var paketförlusten inträffar. Vi hamnar ”uppströms” från den punkt där paketen tappas bort och vet var vi ska fokusera felsökningen.
Avlyssning av Nätverksenheter
Enheter som switchar, routrar och brandväggar är ansvariga för att styra nätverkstrafiken. Om paketförlust uppstår, bör dessa enheter undersökas som potentiella orsaker.
Dessa enheter kan introducera latens på vägen. Till exempel kan trafikprioritering orsaka extra latens i en lågprioriterad trafikström.
Inadekvata Fönsterstorlekar
I TCP/IP-nätverk finns det olika ”fönster” förutom de som finns i Microsofts operativsystem:
- Glidande fönster
- Mottagarfönster
- Överbelastningskontrollfönster
Tillsammans bestämmer dessa fönster nätverkets TCP-baserade kommunikationsprestanda. Låt oss gå igenom varje fönster och hur det påverkar nätverkets bandbredd.
Glidande Fönster
Det glidande fönstret används för att sända nästa TCP-segment efter att data har bekräftats. Avsändaren mottar bekräftelser för datafragment. Det glidande fönstret expanderar. Så länge det inte sker förlorade data kan större mängder data överföras. Om ett paket går förlorat minskar det glidande fönstret eftersom nätverket inte kan hantera ökad datatrafik.
Mottagarfönster
Mottagarfönstret i TCP-stacken är ett buffertutrymme. Inkommande data lagras där tills en applikation hämtar dem. Mottagarfönstret fylls om en applikation inte hänger med, vilket så småningom leder till ett ”nollfönster”. När en mottagare meddelar nollfönstertillstånd måste dataöverföringen till den stoppas, vilket resulterar i att genomströmningshastigheten faller till noll. Window Scaling (RFC 1323) möjliggör för en värd att öka mottagarfönstrets storlek och minska sannolikheten för nollfönster.
Bilden ovan visar en 32 sekunders fördröjning i nätverkskommunikationen på grund av ett nollfönster.
Trängselfönster
Överbelastningsfönstret definierar den maximala mängden data som nätverket kan hantera. Avsändarens paketöverföringshastighet, nätverkspaketförlust och mottagarfönsterstorleken påverkar detta fönster. Under hälsosam kommunikation ökar överbelastningsfönstret successivt tills överföringen är klar eller tills ett ”tak” som bestäms av nätverkets hälsa nås. Varje ny anslutning startar om förhandlingen av fönsterstorleken.
Tips för ett hälsosamt nätverk
- Lär dig använda Wireshark för att snabbt och effektivt hitta orsaken till dålig prestanda.
- Identifiera och minska latens längs nätverksvägen till en acceptabel nivå.
- Lokalisera och åtgärda källor till paketförlust.
- Undersök storleken på dataöverföringsfönstret och optimera vid behov.
- Analysera nätverksenheternas prestanda för att utesluta att de orsakar latens eller paketförlust.
- Optimera applikationer för att hantera större datamängder och snabbare hämta data från mottagarfönstret.
Avslutning 👨🏫
Vi har nu gått igenom de främsta orsakerna till nedsatt nätverksprestanda. Det är dock viktigt att förstå hur nätverkskommunikation fungerar. Wireshark ger insyn i nätverket, likt röntgenstrålar ger insikt i människokroppen. Detta verktyg är ovärderligt för att diagnostisera och lösa nätverksproblem.
Med hjälp av Wireshark, och dess många filter och verktyg, bör du nu vara väl rustad att felsöka och optimera nätverksprestanda. 👍