Depanarea latenței rețelei cu Wireshark

Latența rețelei este întârzierea în transmiterea cererilor sau a datelor de la sursă la destinație într-un ecosistem de rețea. Să vedem cum poți depana latența rețelei.

Orice acțiune care necesită utilizarea rețelei, cum ar fi deschiderea unei pagini web, clic pe un link sau deschiderea unei aplicații și jucarea unui joc online, se numește activitate. Activitatea unui utilizator este cererea, iar timpul de răspuns al unei aplicații web este timpul necesar pentru a răspunde acestei solicitări.

Această întârziere include și timpul necesar unui server pentru a finaliza solicitarea. Ca urmare, este definit ca dus-întors – timpul necesar pentru ca o solicitare să fie înregistrată, procesată și apoi primită de utilizator, unde este decodificată.

Termenul „latență scăzută” se referă la întârzierile de transfer de date relativ scurte. Pe de altă parte, întârzierile mari sau latența excesivă sunt nedorite, deoarece degradează experiența utilizatorului.

Cum se remediază latența rețelei?

Există multe instrumente și software disponibile pe internet pentru analiza și depanarea unei rețele. Unele sunt plătite, iar altele sunt gratuite. Cu toate acestea, există un instrument numit Wireshark, care este o aplicație open source și cu licență GPL folosită pentru a captura pachetele de date în timp real. Wireshark este cel mai popular și mai folosit analizor de protocol de rețea din lume.

Vă va ajuta să capturați pachetele de rețea și să le afișați în detaliu. Puteți utiliza aceste pachete pentru analiză în timp real sau offline, odată ce captează pachetele de rețea. Această aplicație vă permite să examinați traficul de rețea la microscop, filtrăndu-l și analizând-o pentru a găsi sursa problemelor, asistând la analiza rețelei și, în cele din urmă, la securitatea rețelei.

Ce cauzează întârzierea rețelei?

Câteva motive principale pentru conexiunea lentă a rețelei, inclusiv:

  • Latență ridicată
  • Dependențe de aplicație
  • Pierdere de pachete
  • Dispozitive de interceptare
  • Dimensiuni ineficiente ale ferestrelor

Și în acest articol, examinăm fiecare cauză a întârzierii rețelei și cum să rezolvăm problemele cu Wireshark.

Examinând cu Wireshark

Latență ridicată

Latența mare se referă la timpul necesar pentru ca datele să treacă de la un punct final la altul. Impactul latenței mari asupra comunicațiilor în rețea este enorm. În diagrama de mai jos, ne uităm la timpul de călătorie dus-întors al unui fișier descărcat pe o cale cu latență ridicată, ca exemplu. Timpul de latență dus-întors poate depăși adesea o secundă, ceea ce este inacceptabil.

  Doriți să creați un startup Femtech? Iată cum

  • Accesați Wireshark Statistics.
  • Selectați opțiunea Grafic flux TCP.
  • Alegeți graficul de timp dus-întors pentru a afla cât timp durează descărcarea unui fișier.

Wireshark este folosit pentru a calcula timpul dus-întors pe o cale pentru a vedea dacă aceasta este cauza performanței defectuoase a rețelei de comunicații Transmission Control Protocol (TCP). TCP este utilizat în diverse aplicații, inclusiv navigarea online, transmisia de date, protocolul de transfer de fișiere și multe altele. În multe cazuri, sistemul de operare poate fi modificat pentru a funcționa mai eficient pe canalele cu latență ridicată, în special atunci când gazdele folosesc Windows XP.

Dependențe de aplicație

Unele aplicații depind de alte aplicații, procese sau comunicații gazdă. Să presupunem că aplicația dumneavoastră de bază de date, de exemplu, se bazează pe conectarea la alte servere pentru a prelua elementele bazei de date. În acest caz, performanța lentă pe acele alte servere poate afecta timpul de încărcare a aplicației locale.

Luați, de exemplu, o experiență de navigare web în care serverul țintă se referă la alte câteva site-uri web. De exemplu, pentru a încărca pagina principală a site-ului, www.espn.com, trebuie să vizitați mai întâi 16 gazde care furnizează reclame și conținut pentru pagina principală www.espn.com.

În figura de mai sus, fereastra HTTP Load Distribution din Wireshark afișează o listă cu toate serverele utilizate de pagina de pornire www.espn.com.

Pierdere de pachete

Una dintre cele mai răspândite probleme pe care le găsesc pe rețele este pierderea pachetelor. Pierderea pachetelor are loc atunci când pachetele de date nu sunt livrate corect de la expeditor la destinatar prin internet. Când un utilizator vizitează un site web și începe să descarce elementele site-ului, pachetele pierdute provoacă retransmisii, crescând posibilitatea de a descărca fișierele web și încetinind procesul general de descărcare.

În plus, atunci când o aplicație folosește TCP, pachetele lipsă au un impact deosebit de negativ. Când o conexiune TCP detectează un pachet pierdut, rata de transfer încetinește automat pentru a compensa problemele de rețea.

  Cum HTTP/3 și QUIC vă vor accelera navigarea pe web

Se îmbunătățește treptat la un ritm mai acceptabil până când următorul pachet este abandonat, rezultând o reducere semnificativă a debitului de date. Descărcările de fișiere mari, care altfel ar trebui să circule cu ușurință într-o rețea, suferă semnificativ de pierderea pachetelor.

Cum arată când un pachet este pierdut? Este discutabil. Pierderea pachetelor poate lua două forme dacă programul funcționează prin TCP. Într-un exemplu, receptorul monitorizează pachetele pe baza numerelor lor de secvență și detectează un pachet lipsă. Clientul face trei cereri pentru pachetul lipsă (duble confirmari), rezultând o retrimitere. Când un expeditor observă că un receptor nu a confirmat primirea unui pachet de date, expeditorul expiră și retransmite pachetul de date.

Wireshark indică faptul că a avut loc congestionarea rețelei, iar recunoașterile multiple provoacă retransmiterea traficului problematic prin codificarea culorilor acestuia. Un număr mare de confirmări duplicate indică pierderea pachetelor și o întârziere semnificativă într-o rețea.

Pentru a îmbunătăți viteza rețelei, identificarea exactă a locului de pierdere a pachetelor este esențială. Când are loc pierderea pachetelor, mutăm Wireshark pe cale până când nu mai este vizibilă pierderea de pachete. Suntem „în amonte” față de punctul de eliminare a pachetelor în acest moment, așa că știm unde să ne concentrăm eforturile de depanare.

Dispozitive de interceptare

Polițiștii din rețea sunt dispozitive de interconectare care fac alegeri de redirecționare, cum ar fi comutatoarele, routerele și firewall-urile. Când are loc pierderea pachetelor, aceste dispozitive ar trebui investigate ca un motiv probabil.

Latența poate fi adăugată căii de către aceste dispozitive de conectare. De exemplu, dacă prioritizarea traficului este activată, putem asista la o latență suplimentară injectată într-un flux cu un nivel de prioritate scăzut.

Dimensiuni ineficiente ale ferestrelor

În afară de sistemul de operare Microsoft, există și alte „ferestre” în rețelele TCP/IP.

  • Fereastra glisanta
  • Fereastra receptorului
  • Fereastra de control a congestionării

Aceste ferestre împreună constituie performanța de comunicare bazată pe TCP a rețelei. Să începem prin a defini fiecare dintre aceste ferestre și impactul lor asupra lățimii de bandă a rețelei.

Fereastra glisanta

Pe măsură ce datele sunt confirmate, fereastra glisantă este utilizată pentru a difuza următoarele segmente TCP în rețea. Expeditorul primește confirmări pentru fragmentele de date transmise, fereastra glisantă se extinde. Atâta timp cât nu există transmisii pierdute în rețea, pot fi transferate cantități mai mari de date. Când un pachet este pierdut, fereastra glisantă se micșorează deoarece rețeaua nu poate gestiona cantitatea crescută de date de pe linie.

  21 de cele mai bune site-uri web precum Omegle

Fereastra receptorului

Fereastra receptorului stivei TCP este un spațiu tampon. Când datele sunt primite, acestea sunt stocate în acest spațiu tampon până când o aplicație le preia. Fereastra receptorului se umple atunci când o aplicație nu ține pasul cu rata de primire, conducând în cele din urmă la un scenariu de „fereastră zero”. Toate transmisiile de date către gazdă trebuie să se oprească atunci când un receptor anunță o condiție de fereastră zero. Rata de debit scade la zero. O metodă cunoscută sub numele de Window Scaling (RFC 1323) permite unei gazde să mărească dimensiunea ferestrei receptorului și să scadă probabilitatea unui scenariu de fereastră zero.

Imaginea de mai sus afișează o întârziere de 32 de secunde în comunicațiile de rețea din cauza unui scenariu de fereastră zero.

Fereastra de congestionare

Fereastra de congestie definește cantitatea maximă de date pe care o poate gestiona rețeaua. Rata de transmisie a pachetelor expeditorului, rata de pierdere a pachetelor din rețea și dimensiunea ferestrei receptorului contribuie toate la această cifră. Fereastra de congestie crește constant în timpul unei comunicări de rețea sănătoase până când transferul este finalizat sau atinge un „plafon” stabilit de sănătatea rețelei. Capacitățile de transmisie ale expeditorului sau dimensiunea ferestrei receptorului. Fiecare nouă conexiune începe procedura de negociere a dimensiunii ferestrei din nou.

Sfaturi pentru o rețea sănătoasă

  • Aflați cum să utilizați Wireshark ca sarcină de prim răspuns pentru a descoperi rapid și eficient sursa performanței slabe.
  • Identificați sursa latenței căii de rețea și, dacă este posibil, reduceți-o la un nivel acceptabil.
  • Localizați și rezolvați sursa pierderii pachetelor.
  • Examinați dimensiunea ferestrei de transmisie a datelor și, dacă este posibil, reduceți-o.
  • Examinați performanța dispozitivelor de interceptare pentru a vedea dacă adaugă latență sau aruncă pachete.
  • Optimizați aplicațiile astfel încât să poată furniza cantități mai mari de date și, dacă este posibil, să preia date din fereastra receptorului.

Încheiere 👨‍🏫

Am trecut prin principalele motive pentru problemele de performanță a rețelei, dar un factor care nu trebuie ratat este lipsa de înțelegere a comportamentului comunicațiilor în rețea. Wireshark oferă vizibilitate în rețea la fel ca razele X, iar scanările CAT oferă vizibilitate în corpul uman pentru diagnostice precise și prompte. Acest instrument a devenit un instrument vital pentru localizarea și diagnosticarea problemelor de rețea.

Acum ar trebui să examinați și să rezolvați performanța rețelei prin mai multe filtre și instrumente folosind Wireshark. 👍