Падение выходных данных, падение входных данных и удержание очередей
-
[Введение:]
[ПОТЕРИ ВЫХОДА:]
[ОТКАЗЫ ВХОДНОЙ ОЧЕРЕДИ:]
[ВХОД В ОЧЕРЕДЬ ОЖИДАНИЯ:]
[ОЧЕРЕДЬ ОЖИДАНИЯ ВЫХОДА:]
[Связанная информация:] Введение: В этом документе вы узнаете о некоторых основных терминах, таких как ПОТЕРИ ВЫХОДА, ПОТЕРИ ВХОДНОЙ ОЧЕРЕДИ, ВХОДНАЯ ОЧЕРЕДЬ ОЖИДАНИЯ и ВЫХОДНАЯ ОЧЕРЕДЬ ОЖИДАНИЯ. OUTPUT DROPS: Каждый порт имеет буферы приема и передачи. Эти буферы используются для хранения кадров, поскольку решения о пересылке принимаются внутри коммутатора, или когда пакеты помещаются в очередь для передачи на порт со скоростью, превышающей скорость, которую может поддерживать физическая среда. В направлении tx вы увидите, как счетчик
«Total output drops» (Общее количество отброшенных выходных пакетов)
изменяется, когда трафик, переключаемый аппаратным или программным обеспечением, отбрасывается из-за нехватки буферов asic tx порта. Для интерфейсов уровня 2
«Общее количество потерь на выходе»
вызвано недостатком буфера передачи порта ASIC, что влияет как на аппаратное, так и на программное переключение трафика, в большинстве случаев из-за переподписки, очень высокой скорости трафика или из-за интенсивного трафика. Падение выходного сигнала на интерфейсе обычно указывает на проблему переподписки и увеличивается, когда скорость трафика, поступающего из фабрики, превышает способность передавать данные по проводам, и буфер tx исчерпан. ПОТЕРИ ВО ВХОДНОЙ ОЧЕРЕДИ: С интерфейсом уровня 2 падение входной очереди удержания относится не только к трафику процессора, но и к другим падениям входа (например, переполнение), которые также будут учитываться в падении входной очереди удержания. Вот пример вывода: router1#show interfaces ethernet 0/0
...
Входная очередь:
30/75/187/0 (размер/макс./отбросы/очистки); Общее количество отбросов на выходе: 0
Очередь вывода: 0/40 (размер/макс.)... Для интерфейса уровня 2, хотя счетчик отброшенных пакетов
«input-queue drop»
учитывает как трафик, переключаемый аппаратным обеспечением, так и трафик, перенаправленный на CPU, сама очередь ввода, которая может быть настроена с помощью
«hold-queue xx in»,
фактически используется для буферизации только трафика, перенаправленного на CPU. Таким образом, если
«input-queue drop»
фактически вызвано недостатком буфера rx asic порта для трафика, переключаемого аппаратным обеспечением, то увеличение «hold-queue xx in» не поможет. Сброс входной очереди на интерфейсах Layer 3 vlan вызван избыточным трафиком, предназначенным для CPU. Входная очередь на интерфейсе L3 по умолчанию может содержать 75 пакетов. Поскольку пакеты предназначены для ЦП, они хранятся в этой входной очереди до тех пор, пока ЦП не сможет обслужить эту очередь. Если скорость, с которой пакеты попадают в эту очередь, превышает частоту ее обслуживания, мы отбрасываем пакеты. Иногда это ожидаемо, исходя из ваших моделей трафика, а иногда — нет. Счетчик отбрасываемых пакетов входной очереди подсчитывает трафик, переключаемый аппаратным обеспечением, который был отброшен из-за нехватки буфера ASIC RX порта. Он также подсчитывает трафик, предназначенный для SP и отброшенный SP (что маловероятно). Для платформ 6500: Параметр hold queue позволяет зарезервировать буфер для пространства буфера RP. Эта команда зарезервирует больше места для не приоритетных данных (например, ARP), которые попадают в RP. Это не повлияет на трафик на уровне данных, такой как VOIP. HOLD-QUEUE IN: входная очередь удержания на порту уровня 3 (по умолчанию 75)
входная очередь удержания на порту уровня 2 (по умолчанию 2000) Входная очередь удержания на интерфейсах Layer2 и Layer3 использует память SP и RP I/O на супервизоре. HOLD-QUEUE OUT: очередь удержания на выходе на порту уровня 2 (по умолчанию 40)
Очередь ожидания вывода на порту уровня 3 (по умолчанию 40) Очередь ожидания вывода на интерфейсах Layer2 и Layer3 использует память ввода-вывода SP и RP на супервизоре. Очередь ожидания вывода — это программная очередь, выделяемая системной памятью. Очередь ожидания вывода, которую можно настроить с помощью «hold-queue x out», фактически используется только для трафика, обрабатываемого ЦП. Надеюсь, этот очень базовый документ будет полезен. Всего хорошего! Связанная информация: Устранение неполадок, связанных с отбрасыванием входных и выходных очередей Понимание ограничений очередей и потерь вывода на программных платформах Cisco IOS -
Большое спасибо, Свати! С уважением, Хорди
-
Привет, Свати, Большое спасибо за этот пост. Не могли бы вы подсказать, является ли счетчик в размере входной очереди текущим или историческим? Как я заметил, число 3006 в строке «Очередь ввода: 3006/2000/63932087/0 (размер/максимум/отброшенные/очищенные)» остается неизменным после того, как я оставляю порт закрытым на сутки. Если это текущее количество пакетов, ожидающих обработки, то после обработки это число должно быть сброшено, так как эти пакеты больше не ожидают; Если это счетчик истории и он только увеличивается, то почему сброс начинается только после того, как размер достигает максимального значения 2000? С уважением, Шелли
-
@shewang
, это число обычно должно быть равно нулю, если интерфейс закрыт — это текущая длина очереди.
Если оно остается равным 3006, это означает наличие условия «клин в очереди».
Такие условия неизменно вызываются ошибками IOS и обычно классифицируются как уязвимости безопасности DOS.
Например:
https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-quewedge-69BsHUBW На какой платформе это происходит?
Какая версия IOS?
Какой интерфейс? -
@Rich R
Большое спасибо за ответ. Платформа: C9200L Программное обеспечение IOS XE: 17.03.06 Интерфейс: 10Gig Полнодуплексный, 10 Гбит/с, тип соединения — автоматический, тип носителя — SFP-10GBase-LR Иногда число может немного снижаться от 1 до 10, но никогда не возвращается к 0. Я оставил порт с низкой скоростью трафика, сейчас я проверяю, что он составляет 3005 и остается таким в течение 3 дней. Очередь ввода: 3005/2000/63932087/0 (размер/максимум/отброшенные/очищенные); Общее количество отброшенных выходов: 0 Я обновлю коммутатор до текущей версии, рекомендованной Cisco, чтобы проверить, как он будет себя вести. Спасибо С уважением Шелли -
Версия 17.3 уже довольно старая и близка к окончанию срока службы —
срок технической поддержки
и
поддержки уязвимостей/безопасности
уже истек!
https://www.cisco.com/c/en/us/products/collateral/ios-nx-os-software/ios-xe-17/ios-xe-17-3-x-eol.html Так что да — любое тестирование должно проводиться на текущей рекомендуемой версии:
https://www.cisco.com/c/en/us/support/docs/switches/catalyst-9300-series-switches/214814-recommended-releases-for-catalyst-9200-9.html -
Спасибо за эту информацию!
-
@Rich R Извините, забыл обновить здесь, обновление до текущей рекомендуемой версии решило проблему. Большое спасибо!
-
Рад это слышать,
@shewang
— это всегда хороший старт для тестирования такого рода проблем.
Здравствуйте! Похоже, вам интересна эта беседа, но у вас пока нет учетной записи.
Вы устали просматривать одни и те же посты каждый раз, когда заходите на сайт? После регистрации, вам не придётся искать обсуждения в которых вы принимали участие, настройте уведомления о новых сообщениях так как вам это удобно (по электронной почте или уведомлением). У вас появится возможность сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост может стать ещё лучше 💗
Зарегистрироваться Войти