Fejlfinding af netværksforsinkelse med Wireshark

Netværksforsinkelse er forsinkelsen i transmission af anmodninger eller data fra kilden til destinationen i et netværksøkosystem. Lad os se, hvordan du kan fejlfinde netværksforsinkelse.

Enhver handling, der kræver brug af netværket, såsom at åbne en webside, klikke på et link eller åbne en app og spille et onlinespil, kaldes en aktivitet. En brugers aktivitet er anmodningen, og responstiden for en webapplikation er den tid, det tager at besvare denne anmodning.

Denne tidsforsinkelse inkluderer også den tid, det tager en server at fuldføre anmodningen. Som et resultat er det defineret som rundtur – den tid, det tager for en anmodning at blive optaget, behandlet og derefter modtaget af brugeren, hvor den afkodes.

Udtrykket “lav latency” refererer til dataoverførselsforsinkelser, der er relativt korte. På den anden side er lange forsinkelser eller overdreven latenstid uønsket, da de forringer brugeroplevelsen.

Hvordan rettes netværksforsinkelse?

Der findes mange værktøjer og software på internettet til at analysere og fejlfinde et netværk. Nogle er betalt, og nogle er gratis. Der er dog et værktøj, der hedder Wireshark, som er en open source og GPL-licenseret applikation, der bruges til at fange datapakkerne i realtid. Wireshark er den mest populære og mest brugte netværksprotokolanalysator i verden.

Det vil hjælpe dig med at fange netværkspakker og vise dem i detaljer. Du kan bruge disse pakker til realtids- eller offlineanalyse, når den fanger netværkspakkerne. Denne applikation giver dig mulighed for at undersøge din netværkstrafik under et mikroskop, filtrere og bore ned i den for at finde kilden til problemer, hjælpe med netværksanalyse og i sidste ende netværkssikkerhed.

Hvad forårsager netværksforsinkelse?

Få hovedårsager til den langsomme netværksforbindelse, herunder:

  • Høj latens
  • Applikationsafhængigheder
  • Pakketab
  • Aflytning af enheder
  • Ineffektive vinduesstørrelser

Og i denne artikel undersøger vi hver årsag til netværksforsinkelse, og hvordan man løser problemerne med Wireshark.

  Sådan sletter du din Tinder-konto i tre enkle trin

Undersøgelse med Wireshark

Høj latens

Høj latenstid refererer til den tid, det tager for data at overføre fra et slutpunkt til et andet. Indvirkningen af ​​høj latenstid på netværkskommunikation er enorm. I diagrammet nedenfor ser vi som et eksempel på retur-tiden for en fildownload på en sti med høj latency. Retur-latenstiden kan ofte overstige et sekund, hvilket er uacceptabelt.

  • Gå til Wireshark Statistik.
  • Vælg indstillingen TCP-streamgraf.
  • Vælg rundrejsetidsgrafen for at finde ud af, hvor lang tid det tager for en fil at downloade.

Wireshark bruges til at beregne rundturstiden på en sti for at se, om dette er årsagen til en mangelfuld transmissionskontrolprotokol (TCP) kommunikationsnetværksydelse. TCP bruges i forskellige applikationer, herunder online surfing, datatransmission, filoverførselsprotokol og mange andre. I mange tilfælde kan operativsystemet justeres til at fungere mere effektivt på kanaler med høj latens, især når værter bruger Windows XP.

Ansøgningsafhængigheder

Nogle applikationer er afhængige af andre applikationer, processer eller værtskommunikation. Antag, at din databaseapplikation for eksempel er afhængig af at oprette forbindelse til andre servere for at hente databaseelementer. I så fald kan træg ydeevne på disse andre servere forringe indlæsningstiden for den lokale applikation.

Tag for eksempel en web-browsing-oplevelse, hvor målserveren henviser til flere andre websteder. For at indlæse webstedets hovedside, www.espn.com, skal du f.eks. først besøge 16 værter, der leverer annoncer og indhold til hovedsiden www.espn.com.

I ovenstående figur viser vinduet HTTP Load Distribution i Wireshark en liste over alle servere, der bruges af www.espn.com-hjemmesiden.

Pakketab

Et af de mest udbredte problemer, jeg finder på netværk, er pakketab. Pakketab opstår, når datapakker ikke leveres korrekt fra afsender til modtager over internettet. Når en bruger besøger et websted og begynder at downloade webstedets elementer, forårsager mistede pakker gentransmissioner, hvilket øger muligheden for at downloade webfilerne og forsinker den overordnede downloadproces.

Ydermere, når en applikation bruger TCP, har manglende pakker en særlig negativ indvirkning. Når en TCP-forbindelse registrerer en tabt pakke, sænkes gennemløbshastigheden automatisk for at kompensere for netværksproblemer.

  GIFDeck forvandler præsentationer til SlideShare til GIF'er

Det forbedres gradvist til et mere acceptabelt tempo, indtil den næste pakke droppes, hvilket resulterer i en betydelig reduktion i datagennemstrømningen. Store fildownloads, som ellers skulle flyde let på tværs af et netværk, lider betydeligt af pakketab.

Hvordan ser det ud, når en pakke går tabt? Det kan diskuteres. Pakketab kan have to former, hvis programmet kører via TCP. I et eksempel overvåger modtageren pakker baseret på deres sekvensnumre og detekterer en manglende pakke. Klienten fremsætter tre anmodninger om den manglende pakke (dobbelt bekræftelse), hvilket resulterer i en genafsendelse. Når en afsender observerer, at en modtager ikke har bekræftet modtagelsen af ​​en datapakke, afsender afsenderen timeout og gentransmitterer datapakken.

Wireshark angiver, at der er opstået overbelastning af netværket, og flere bekræftelser forårsager gentransmission af den problematiske trafik ved at farvekode den. Et højt antal duplikerede bekræftelser indikerer pakketab og betydelig forsinkelse i et netværk.

For at forbedre netværkshastigheden er det afgørende at lokalisere det nøjagtige sted for pakketab. Når der opstår pakketab, flytter vi Wiresharken ned ad stien, indtil der ikke længere er pakketab. Vi er “opstrøms” fra pakkeleveringspunktet på dette tidspunkt, så vi ved, hvor vi skal fokusere vores fejlfindingsindsats.

Aflytning af enheder

Netværkstrafikbetjente er sammenkoblede enheder, der foretager videresendelsesvalg, såsom switche, routere og firewalls. Når der opstår pakketab, bør disse enheder undersøges som en sandsynlig årsag.

Latency kan føjes til stien af ​​disse sammenkædningsenheder. For eksempel, hvis trafikprioritering er aktiveret, kan vi være vidne til ekstra latens, der indsprøjtes i en strøm med et lavt prioritetsniveau.

Ineffektive vinduesstørrelser

Bortset fra Microsoft-operativsystemet er der andre “vinduer” i TCP/IP-netværk.

  • Skydevindue
  • Modtager vindue
  • Vinduet Congestion Control

Disse vinduer udgør tilsammen netværkets TCP-baserede kommunikationsydelse. Lad os starte med at definere hvert af disse vinduer og deres indvirkning på netværkets båndbredde.

Skydevindue

Efterhånden som data bekræftes, bruges det glidende vindue til at udsende de næste TCP-segmenter over netværket. Afsenderen modtager kvitteringer for transmitterede datafragmenter, det glidende vindue udvides. Så længe der ikke er mistede transmissioner på netværket, kan større mængder data overføres. Når en pakke går tabt, krymper det glidende vindue, fordi netværket ikke kan håndtere den øgede mængde data på linjen.

  Sådan åbner du Microsoft Word-dokumenter uden Word

Modtager vindue

TCP-stakkens modtagervindue er et bufferrum. Når data modtages, gemmes de i denne bufferplads, indtil en applikation henter dem. Modtagervinduet fyldes op, når en applikation ikke følger med modtagehastigheden, hvilket i sidste ende fører til et “nul vindue”. Al datatransmission til værten skal stoppe, når en modtager annoncerer en nulvinduetilstand. Gennemløbshastigheden falder til nul. En metode kendt som Window Scaling (RFC 1323) tillader en vært at øge modtagervinduets størrelse og sænke sandsynligheden for et nulvinduescenarie.

Ovenstående billede viser en 32-sekunders forsinkelse i netværkskommunikation på grund af et nulvinduescenarie.

Overbelastningsvindue

Overbelastningsvinduet definerer den maksimale mængde data, som netværket kan håndtere. Afsenderens pakketransmissionshastighed, netværkspakketabshastigheden og modtagerens vinduesstørrelse bidrager alle til dette tal. Overbelastningsvinduet øges støt under en sund netværkskommunikation, indtil overførslen er fuldført, eller den når et “loft”, der er etableret af netværkets sundhed. Afsenderens sendemuligheder eller modtagerens vinduesstørrelse. Hver ny forbindelse starter forhandlingsproceduren for vinduesstørrelse forfra.

Tips til et sundt netværk

  • Lær, hvordan du bruger Wireshark som en første-svar-opgave for hurtigt og effektivt at opdage kilden til dårlig ydeevne.
  • Identificer kilden til netværksstiens latens, og reducer den om muligt til et acceptabelt niveau.
  • Find og løs kilden til pakketab.
  • Undersøg vinduesstørrelsen for datatransmission, og reducer den, hvis det er muligt.
  • Undersøg aflytningsenheders ydeevne for at se, om de tilføjer latency eller dropper pakker.
  • Optimer apps, så de kan levere større mængder data og, hvis det er muligt, hente data fra modtagervinduet.

Afslutning 👨‍🏫

Vi har gennemgået hovedårsagerne til problemer med netværkets ydeevne, men en faktor, der ikke bør gå glip af, er manglende forståelse for netværkskommunikationsadfærd. Wireshark giver netværkssynlighed ligesom røntgenstråler, og CAT-scanninger giver synlighed ind i den menneskelige krop for præcise og hurtige diagnoser. Dette værktøj er blevet et vigtigt værktøj til at lokalisere og diagnosticere netværksproblemer.

Du bør nu undersøge og løse netværkets ydeevne via flere filtre og værktøjer ved hjælp af Wireshark. 👍