Отстраняване на неизправности при забавяне на мрежата с Wireshark

Латентността на мрежата е забавянето при предаване на заявки или данни от източника до дестинацията в мрежова екосистема. Нека да видим как можете да отстраните неизправностите при забавяне на мрежата.

Всяко действие, което изисква използването на мрежата, като отваряне на уеб страница, щракване върху връзка или отваряне на приложение и игра на онлайн игра, се нарича дейност. Дейността на потребителя е заявката, а времето за отговор на уеб приложението е времето, необходимо за отговор на тази заявка.

Това забавяне включва и времето, необходимо на сървъра да изпълни заявката. В резултат на това се определя като отиване и връщане – времето, необходимо на заявката да бъде записана, обработена и след това получена от потребителя, където се декодира.

Терминът „ниска латентност“ се отнася до закъснения при трансфер на данни, които са относително кратки. От друга страна, дългите забавяния или прекомерното забавяне са нежелателни, тъй като влошават потребителското изживяване.

Как да коригирам мрежовата латентност?

В интернет има много инструменти и софтуер за анализиране и отстраняване на неизправности в мрежа. Някои са платени, а други са безплатни. Въпреки това има инструмент, наречен Wireshark, което е приложение с отворен код и GPL лиценз, използвано за улавяне на пакети данни в реално време. Wireshark е най-популярният и често използван анализатор на мрежови протоколи в света.

Той ще ви помогне при улавянето на мрежови пакети и показването им в детайли. Можете да използвате тези пакети за анализ в реално време или офлайн, след като улови мрежовите пакети. Това приложение ви позволява да изследвате мрежовия си трафик под микроскоп, като го филтрирате и задълбочавате, за да намерите източника на проблемите, подпомагайки мрежовия анализ и в крайна сметка мрежовата сигурност.

Какво причинява забавяне на мрежата?

Няколко основни причини за бавната мрежова свързаност, включително:

  • Висока латентност
  • Зависимости на приложението
  • Изгубен пакет
  • Прихващащи устройства
  • Неефективни размери на прозорците

И в тази статия разглеждаме всяка причина за забавяне на мрежата и как да разрешим проблемите с Wireshark.

Изследване с Wireshark

Висока латентност

Високата латентност се отнася до времето, необходимо на данните за преминаване от една крайна точка до друга. Въздействието на високата латентност върху мрежовите комуникации е огромно. В диаграмата по-долу разглеждаме като пример времето за двупосочно изтегляне на файл по път с висока латентност. Времето за двупосочно забавяне често може да надвишава една секунда, което е неприемливо.

  Как да деблокирате уеб страница зад защитна стена

  • Отидете на Статистика на Wireshark.
  • Изберете опцията графика на TCP поток.
  • Изберете времевата графика за двупосочно пътуване, за да разберете колко време отнема изтеглянето на файл.

Wireshark се използва за изчисляване на времето за отиване и връщане по пътя, за да се види дали това е причината за недостатъчната производителност на комуникационната мрежа на протокола за контрол на предаването (TCP). TCP се използва в различни приложения, включително онлайн сърфиране, предаване на данни, протокол за прехвърляне на файлове и много други. В много случаи операционната система може да бъде променена, за да работи по-ефективно на канали с висока латентност, особено когато хостовете използват Windows XP.

Зависимости на приложението

Някои приложения зависят от други приложения, процеси или хост комуникации. Да предположим, че вашето приложение за база данни, например, разчита на свързване с други сървъри, за да извлече елементи от базата данни. В този случай бавната производителност на тези други сървъри може да наруши времето за зареждане на локалното приложение.

Вземете например изживяване при сърфиране в мрежата, при което целевият сървър препраща към няколко други уебсайта. Например, за да заредите главната страница на сайта, www.espn.com, първо трябва да посетите 16 хоста, които предоставят реклами и съдържание за главната страница www.espn.com.

В горната фигура прозорецът за разпределение на HTTP натоварването в Wireshark показва списък на всички сървъри, използвани от началната страница www.espn.com.

Изгубен пакет

Един от най-разпространените проблеми, които откривам в мрежите, е загубата на пакети. Загуба на пакети възниква, когато пакетите с данни не се доставят правилно от подателя до получателя по интернет. Когато потребител посети уебсайт и започне да изтегля елементите на сайта, пропуснатите пакети причиняват повторни предавания, увеличавайки увереността за изтегляне на уеб файловете и забавяйки цялостния процес на изтегляне.

Освен това, когато дадено приложение използва TCP, липсващите пакети имат особено отрицателно въздействие. Когато TCP връзка открие изпуснат пакет, скоростта на пропускане автоматично се забавя, за да компенсира мрежовите проблеми.

  Как да превключите имейл за родителски контрол в Google

Постепенно се подобрява до по-приемливо темпо, докато бъде изпуснат следващият пакет, което води до значително намаляване на пропускателната способност на данните. Големите изтегляния на файлове, които иначе би трябвало да протичат лесно през мрежата, страдат значително от загуба на пакети.

Как изглежда, когато се загуби пакет? Това е спорно. Загубата на пакети може да приеме две форми, ако програмата работи чрез TCP. В един пример приемникът следи пакети въз основа на техните поредни номера и открива липсващ пакет. Клиентът прави три заявки за липсващия пакет (двойни потвърждения), което води до повторно изпращане. Когато подателят забележи, че получателят не е потвърдил получаването на пакет с данни, изпращачът изтича и предава повторно пакета с данни.

Wireshark показва, че е възникнало претоварване на мрежата и многобройните потвърждения причиняват повторното предаване на проблемния трафик, като го кодират с цвят. Големият брой дублиращи се потвърждения показва загуба на пакети и значително забавяне в мрежата.

За да се подобри скоростта на мрежата, определянето на точното място на загуба на пакети е от решаващо значение. Когато възникне загуба на пакети, преместваме Wireshark надолу по пътя, докато престане да се вижда загуба на пакети. В момента сме „нагоре“ от точката на пускане на пакети, така че знаем къде да съсредоточим усилията си за отстраняване на грешки.

Прихващащи устройства

Мрежовите полицаи са свързващи устройства, които правят избор на препращане, като суичове, рутери и защитни стени. Когато възникне загуба на пакети, тези устройства трябва да бъдат проучени като вероятна причина.

Закъснението може да се добави към пътя от тези свързващи устройства. Например, ако приоритизирането на трафика е активирано, можем да станем свидетели на инжектиране на допълнително забавяне в поток с ниско ниво на приоритет.

Неефективни размери на прозорците

Освен операционната система на Microsoft, има и други „прозорци“ в TCP/IP мрежите.

  • Плъзгащ се прозорец
  • Прозорец на приемника
  • Прозорец за контрол на задръстванията

Тези прозорци заедно съставляват TCP-базирана комуникационна производителност на мрежата. Нека започнем, като дефинираме всеки от тези прозорци и тяхното въздействие върху честотната лента на мрежата.

Плъзгащ се прозорец

Тъй като данните се потвърждават, плъзгащият се прозорец се използва за излъчване на следващите TCP сегменти по мрежата. Подателят получава потвърждения за предадени фрагменти от данни, плъзгащият се прозорец се разширява. Докато няма загубени предавания в мрежата, могат да се прехвърлят по-големи количества данни. При загуба на пакет плъзгащият се прозорец се свива, защото мрежата не може да управлява увеличеното количество данни по линията.

  Как да четете заглавки на съобщения в Outlook

Прозорец на приемника

Прозорецът на приемника на TCP стека е буферно пространство. Когато се получат данни, те се съхраняват в това буферно пространство, докато приложение не ги вземе. Прозорецът на приемника се запълва, когато дадено приложение не поддържа скоростта на получаване, което в крайна сметка води до сценарий на „нулев прозорец“. Цялото предаване на данни към хоста трябва да спре, когато приемник обяви условие за нулев прозорец. Скоростта на пропускателна способност пада до нула. Метод, известен като Window Scaling (RFC 1323), позволява на хоста да увеличи размера на прозореца на приемника и да намали вероятността от сценарий с нулев прозорец.

Картината по-горе показва забавяне от 32 секунди в мрежовите комуникации поради сценарий с нулев прозорец.

Прозорец на задръстванията

Прозорецът на претоварване определя максималното количество данни, които мрежата може да обработва. Скоростта на предаване на пакети от изпращача, скоростта на загуба на пакети в мрежата и размерът на прозореца на получателя допринасят за тази цифра. Прозорецът на задръстване се увеличава стабилно по време на здрава мрежова комуникация, докато прехвърлянето приключи или достигне „таван“, установен от изправността на мрежата. Възможностите за предаване на подателя или размера на прозореца на получателя. Всяка нова връзка започва процедурата за договаряне на размера на прозореца отначало.

Съвети за здрава мрежа

  • Научете как да използвате Wireshark като задача за първа реакция, за да откриете бързо и ефективно източника на лоша производителност.
  • Идентифицирайте източника на забавяне на мрежовия път и, ако е възможно, го намалете до приемливо ниво.
  • Намерете и отстранете източника на загуба на пакети.
  • Проверете размера на прозореца за предаване на данни и, ако е възможно, го намалете.
  • Проверете производителността на прихващащите устройства, за да видите дали добавят забавяне или изпускат пакети.
  • Оптимизирайте приложенията, така че да могат да доставят по-големи количества данни и, ако е възможно, да извличат данни от прозореца на приемника.

Приключване 👨‍🏫

Прегледахме основните причини за проблеми с производителността на мрежата, но един фактор, който не бива да се пропуска, е липсата на разбиране на поведението на мрежовите комуникации. Wireshark осигурява видимост на мрежата точно като рентгеновите лъчи, а CAT сканирането предлага видимост в човешкото тяло за точни и бързи диагнози. Този инструмент се превърна в жизненоважен инструмент за локализиране и диагностициране на мрежови проблеми.

Сега трябва да проверите и разрешите производителността на мрежата чрез няколко филтъра и инструмента, използващи Wireshark. 👍