Feilsøke nettverksforsinkelse med Wireshark

Nettverksforsinkelse er forsinkelsen i overføring av forespørsler eller data fra kilden til destinasjonen i et nettverksøkosystem. La oss se hvordan du kan feilsøke nettverksforsinkelse.

Enhver handling som krever bruk av nettverket, som å åpne en nettside, klikke på en lenke eller åpne en app og spille et online spill, kalles en aktivitet. En brukers aktivitet er forespørselen, og responstiden til en nettapplikasjon er tiden det tar å besvare denne forespørselen.

Denne tidsforsinkelsen inkluderer også tiden det tar en server å fullføre forespørselen. Som et resultat er det definert som rundtur – tiden det tar før en forespørsel blir registrert, behandlet og deretter mottatt av brukeren, hvor den dekodes.

Begrepet «lav latens» refererer til dataoverføringsforsinkelser som er relativt korte. På den annen side er lange forsinkelser eller overdreven ventetid uønsket siden de forringer brukeropplevelsen.

Hvordan fikser jeg nettverksforsinkelse?

Det er mange verktøy og programvare tilgjengelig på internett for å analysere og feilsøke et nettverk. Noen er betalt, og noen er gratis. Imidlertid er det et verktøy som heter Wireshark, som er en åpen kildekode og GPL-lisensiert applikasjon som brukes til å fange datapakkene i sanntid. Wireshark er den mest populære og mest brukte nettverksprotokollanalysatoren i verden.

Det vil hjelpe deg med å fange nettverkspakker og vise dem i detalj. Du kan bruke disse pakkene for sanntids- eller offlineanalyse når den fanger opp nettverkspakkene. Denne applikasjonen lar deg undersøke nettverkstrafikken din under et mikroskop, filtrere og bore ned i den for å finne kilden til problemer, bistå med nettverksanalyse og, til syvende og sist, nettverkssikkerhet.

Hva forårsaker nettverksforsinkelse?

Noen hovedårsaker til den trege nettverkstilkoblingen, inkludert:

  • Høy latens
  • Applikasjonsavhengigheter
  • Pakketap
  • Avskjære enheter
  • Ineffektive vindusstørrelser

Og i denne artikkelen undersøker vi hver årsak til nettverksforsinkelse og hvordan du kan løse problemene med Wireshark.

  10 beste webinarprogramvare for å utvide virksomheten din

Undersøker med Wireshark

Høy latens

Høy latens refererer til tiden det tar for data å overføre fra ett endepunkt til et annet. Effekten av høy latens på nettverkskommunikasjon er enorm. I diagrammet nedenfor ser vi på tur-retur-tiden for en filnedlasting på en bane med høy latens som et eksempel. Latenstiden for tur-retur kan ofte overstige ett sekund, noe som er uakseptabelt.

  • Gå til Wireshark-statistikk.
  • Velg alternativet TCP-strømgraf.
  • Velg rundreisetidsgrafen for å finne ut hvor lang tid det tar før en fil lastes ned.

Wireshark brukes til å beregne tur-retur-tiden på en bane for å se om dette er årsaken til feilaktig TCP (Transmission Control Protocol) kommunikasjonsnettverksytelse. TCP brukes i ulike applikasjoner, inkludert nettsurfing, dataoverføring, filoverføringsprotokoll og mange andre. I mange tilfeller kan operativsystemet justeres for å yte mer effektivt på kanaler med høy latens, spesielt når verter bruker Windows XP.

Applikasjonsavhengigheter

Noen applikasjoner er avhengige av andre applikasjoner, prosesser eller vertskommunikasjon. Anta at databaseapplikasjonen for eksempel er avhengig av å koble til andre servere for å hente databaseelementer. I så fall kan svak ytelse på de andre serverne svekke lastetiden til den lokale applikasjonen.

Ta for eksempel en nettleseropplevelse der målserveren refererer til flere andre nettsteder. For å laste inn nettstedets hovedside, www.espn.com, må du for eksempel først besøke 16 verter som leverer annonser og innhold til hovedsiden www.espn.com.

I figuren ovenfor viser HTTP Load Distribution-vinduet i Wireshark en liste over alle servere som brukes av hjemmesiden www.espn.com.

Pakketap

Et av de mest utbredte problemene jeg finner på nettverk er pakketap. Pakketap oppstår når datapakker ikke leveres korrekt fra avsender til mottaker over internett. Når en bruker besøker et nettsted og begynner å laste ned sidens elementer, forårsaker tapte pakker overføringer på nytt, noe som øker muligheten for å laste ned nettfilene og bremser den generelle nedlastingsprosessen.

Videre, når en applikasjon bruker TCP, har manglende pakker en spesielt negativ innvirkning. Når en TCP-tilkobling oppdager en tapt pakke, reduseres gjennomstrømningshastigheten automatisk for å kompensere for nettverksproblemer.

  Reparer Unity Web Player som ikke fungerer

Det forbedres gradvis til et mer akseptabelt tempo til neste pakke slippes, noe som resulterer i en betydelig reduksjon i datagjennomstrømming. Store filnedlastinger, som ellers skulle flyte lett over et nettverk, lider betydelig av pakketap.

Hvordan ser det ut når en pakke går tapt? Det er diskutabelt. Pakketap kan ha to former hvis programmet opererer via TCP. I ett eksempel overvåker mottakeren pakker basert på deres sekvensnumre og oppdager en manglende pakke. Klienten gjør tre forespørsler for den manglende pakken (doble bekreftelser), noe som resulterer i en ny sending. Når en avsender observerer at en mottaker ikke har bekreftet mottak av en datapakke, får avsenderen timeout og sender datapakken på nytt.

Wireshark indikerer at nettverksoverbelastning har oppstått, og flere bekreftelser forårsaker re-overføring av den problematiske trafikken ved å fargekode den. Et høyt antall dupliserte bekreftelser indikerer pakketap og betydelig forsinkelse i et nettverk.

For å forbedre nettverkshastigheten er det avgjørende å finne det nøyaktige stedet for pakketap. Når pakketap oppstår, flytter vi Wiresharken nedover banen til ikke mer pakketap er synlig. Vi er «oppstrøms» fra pakkeleveringspunktet på dette tidspunktet, så vi vet hvor vi skal fokusere feilsøkingsarbeidet.

Avskjærende enheter

Nettverkstrafikkbetjenter er sammenkoblede enheter som foretar videresendingsvalg, for eksempel brytere, rutere og brannmurer. Når pakketap oppstår, bør disse enhetene undersøkes som en sannsynlig årsak.

Latency kan legges til banen av disse koblingsenhetene. For eksempel, hvis trafikkprioritering er aktivert, kan vi være vitne til ekstra ventetid injisert i en strøm med lavt prioritetsnivå.

Ineffektive vindusstørrelser

Bortsett fra Microsoft-operativsystemet, er det andre «vinduer» i TCP/IP-nettverk.

  • Skyvevindu
  • Mottakervindu
  • Overbelastningskontrollvindu

Disse vinduene utgjør til sammen nettverkets TCP-baserte kommunikasjonsytelse. La oss starte med å definere hvert av disse vinduene og deres innvirkning på nettverksbåndbredden.

Skyvevindu

Etter hvert som data blir bekreftet, blir skyvevinduet brukt til å kringkaste de neste TCP-segmentene over nettverket. Avsenderen mottar bekreftelser for overførte datafragmenter, skyvevinduet utvides. Så lenge det ikke er tapte overføringer på nettverket, kan større datamengder overføres. Når en pakke går tapt, krymper skyvevinduet fordi nettverket ikke kan håndtere den økte mengden data på linjen.

  11 beste proxy-nettlesere for personvern på nettet

Mottakervindu

TCP-stakkens mottakervindu er et bufferrom. Når data mottas, lagres de i denne bufferplassen til en applikasjon henter den. Mottakervinduet fylles opp når en applikasjon ikke holder tritt med mottaksfrekvensen, noe som til slutt fører til et «nullvindu»-scenario. All dataoverføring til verten må stoppe når en mottaker kunngjør en nullvindustilstand. Gjennomstrømningshastigheten faller til null. En metode kjent som Window Scaling (RFC 1323) lar en vert øke mottakervindusstørrelsen og redusere sannsynligheten for et nullvindusscenario.

Bildet ovenfor viser en 32-sekunders forsinkelse i nettverkskommunikasjon på grunn av et nullvindusscenario.

Overbelastningsvindu

Overbelastningsvinduet definerer den maksimale mengden data som nettverket kan håndtere. Senderens pakkeoverføringshastighet, nettverkspakketapshastigheten og mottakerens vindusstørrelse bidrar alle til denne figuren. Overbelastningsvinduet øker jevnt under en sunn nettverkskommunikasjon til overføringen er fullført eller den når et «tak» etablert av nettverkshelsen. Senderens overføringsevne eller mottakerens vindustørrelse. Hver ny tilkobling starter forhandlingsprosedyren for vindusstørrelse på nytt.

Tips for et sunt nettverk

  • Lær hvordan du bruker Wireshark som en første-respons-oppgave for raskt og effektivt å oppdage kilden til dårlig ytelse.
  • Identifiser kilden til ventetiden for nettverksbanen, og reduser den om mulig til et akseptabelt nivå.
  • Finn og løs kilden til pakketap.
  • Undersøk størrelsen på dataoverføringsvinduet og reduser den om mulig.
  • Undersøk ytelsen til avskjærende enheter for å se om de legger til ventetid eller dropper pakker.
  • Optimaliser apper slik at de kan levere større datamengder og om mulig hente data fra mottakervinduet.

Avslutning 👨‍🏫

Vi har gått gjennom hovedårsakene til problemer med nettverksytelse, men en faktor som ikke bør gå glipp av er mangel på forståelse av nettverkskommunikasjonsadferd. Wireshark gir nettverkssynlighet akkurat som røntgenstråler, og CAT-skanninger gir synlighet inn i menneskekroppen for nøyaktige og raske diagnoser. Dette verktøyet har blitt et viktig verktøy for å finne og diagnostisere nettverksproblemer.

Du bør nå undersøke og løse nettverksytelsen via flere filtre og verktøy ved å bruke Wireshark. 👍