Почему я получаю ошибки повторной передачи TCP?
Я сделал несколько снимков транзакций с помощью WireShark.
У меня есть 3 сервера, 1 веб-сервер, подключающийся к серверу приложений (локально), а затем тот же веб-сервер, подключающийся к удаленному серверу приложений... сделанные мной снимки; некоторые используют маршрут веб-сервера к серверу приложений (локально), а другая транзакция использует веб-сервер для сервера приложений (удаленно).
В основном я получаю ошибки повторной передачи TCP обоими путями (удаленные и локальные), или дублирующие кадры, отправляемые в очень жестких условиях в моих перехватах.
Я знаю, что это такое, и я знаю, что это обычно происходит из-за перегрузки сети. Но как я могу узнать ПОЧЕМУ??
2 ответа
Так же, как комментарий, иногда то, что кажется дублирующими кадрами, может быть вызвано смешиванием драйверов сетевых адаптеров с драйверами захвата.
Если вы видите четкую схему отката повторной передачи TCP, то есть повторную передачу через 1 секунду, затем 2, затем 5, скорее всего, это настоящая проблема с повторными передачами, а не артефакт захвата.
Для реального устранения проблем повторной передачи в локальной подсети, которую вы контролируете и уверены, что она не просто насыщена трафиком, замените или настройте:
- Драйверы NIC - попробуйте драйверы более низкого уровня, отключите функции Whizbang, снимите команду, не усложняйте
- сетевые адаптеры
- Выключатели
- кабели
Если один из блоков больше вовлечен в ретрансляцию, чем другие, вы можете определить, какая из ссылок может быть из этого.
Когда вы говорите, что получаете дублирующие кадры, вы имеете в виду дублирующиеся подтверждения или вы ссылаетесь на саму ретрансляцию TCP или они действительно дублируют кадры? Дублированный кадр, скорее всего, будет результатом плохой сетевой карты или драйвера, в то время как дублированные ACK и повторные передачи TCP, скорее всего, являются результатом перегрузки сети.