Какие методы можно использовать для предотвращения переполнения приемных буферов коммутаторов или маршрутизаторов
Обновлено: 21.11.2024
Поведение буфера маршрутизатора может влиять на качество обслуживания (QoS) сетевых служб при определенных условиях, поскольку оно может изменять некоторые характеристики трафика, такие как задержка или дрожание, а также может отбрасывать пакеты. Как следствие, характеристика буфера интересна, особенно когда передаются мультимедийные потоки и даже больше, если они передают информацию с требованиями реального времени. В этой работе представлена новая методология с целью определения технических и функциональных характеристик реальных буферов (т. е. поведения, размера, ограничений, а также скорости ввода и вывода) сетевого пути. Он позволяет определять характеристики промежуточных буферов различных устройств на сетевом пути через Интернет.
1. Введение
Традиционно доступная пропускная способность, задержка и дрожание между двумя сквозными устройствами использовались в качестве параметра, который может дать приблизительное представление об ожидаемом качестве обслуживания (QoS). Но в настоящее время мы знаем, что на QoS также влияет поведение буфера промежуточного маршрутизатора, которое в основном определяется его размером и политиками управления. Таким образом, буфер может вызвать различное поведение при потере пакетов, а также может изменить некоторые параметры QoS.
Многие мультимедийные приложения и сервисы (например, видеоконференции, потоковое видео, одноранговые услуги и услуги VoIP) используют преимущества различных доступных методов и инструментов оценки пропускной способности (ABETT) для улучшения некоторых параметров QoS. Но у всех этих методов есть одна общая черта: они ориентированы на оценку каналов в базовой сети, где поведение буфера и его параметры не являются главными приоритетами.
Как правило, буферы используются в качестве механизма регулирования трафика в сетевых устройствах. Текущие основные маршрутизаторы широко используют дисциплины AQM (активное управление очередями), которые могут поддерживать более короткую длину очереди, чем очереди с отбрасыванием; это борется с раздуванием буфера и уменьшает задержку. Но эти методы (например, RED и SRED) требуют тщательной настройки их параметров, чтобы обеспечить хорошую производительность [1]. Существуют алгоритмы планирования QoS, такие как взвешенная справедливая организация очередей (WFQ), которая представляет собой метод планирования пакетов данных, позволяющий использовать различные приоритеты планирования для статистически мультиплексированных потоков данных.
Однако некоторые сетевые точки могут стать критическими узкими местами, в основном в сетях доступа, поскольку возможности этих сетей ниже, чем у магистральных, что является основной причиной потери пакетов из-за отбрасывания пакетов в очередях маршрутизатора. В сетях доступа обычно используются маршрутизаторы среднего и нижнего уровня, в которых не реализованы расширенные механизмы управления трафиком. В этом сценарии в первую очередь могут пострадать среды МСП (малых и средних предприятий) из-за их скромной инфраструктуры. Таким образом, проектные характеристики буферов маршрутизатора и реализованные политики планирования имеют первостепенное значение для обеспечения правильной доставки трафика различных приложений и служб, поэтому будет полезно включить параметры буфера в оценку пропускной способности канала.
С другой стороны, производительность TCP (протокола управления передачей) была тщательно изучена, и для ее улучшения было развернуто большое количество вариантов (SACK, New Reno, Vegas и т. д.). . Тем не менее, многие мультимедийные приложения и службы реального времени передают свою информацию по протоколу UDP (протокол пользовательских дейтаграмм). Таким образом, приложения должны описывать определенное поведение сети для оптимизации трафика.
Следовательно, характеристика технических и функциональных параметров буфера маршрутизатора в средах малого и среднего бизнеса становится критически важной при планировании сети или попытке обеспечить определенные уровни QoS. Как следствие, если размер и поведение буфера известны, можно использовать некоторые методы для улучшения использования канала, например, мультиплексирование нескольких небольших пакетов в один большой, фрагментацию, сглаживание трафика и т. д. .
В этом документе представлена новая методология для описания сети доступа с помощью моделирования буфера маршрутизатора (например, поведения, размера, ограничений, а также скорости ввода и вывода) с использованием четырех простых шагов, которые будут подробно описаны ниже. в разделе 3.3. В частности, мы будем оценивать пропускную способность, размер и поведение, потому что это дает нам больше полезной информации о ссылке, чем только оценка с помощью методов ABETT. Кроме того, эта методология была развернута для решения проблем потребления ресурсов для обработки данных и неточностей при получении оценок скорости ввода и размера буфера.
Документ организован следующим образом: в разделе 2 представлена соответствующая работа, а в разделе 3 описана методология тестирования. В следующем разделе представлены экспериментальные результаты, а статья заканчивается выводами.
2. Похожие работы
2.1.Оценки пропускной способности
Существует несколько методов оценки доступной пропускной способности. Оценка производительности Pathload, Pathchirp, Spruce, IGI и Abing на гибком испытательном стенде была представлена в [2]. Результаты показывают, что ABETT далеко не готовы к применению во всех приложениях и сценариях. Оценка включает сценарии, в которых скорость потери пакетов и задержки распространения в каналах варьировались. Кроме того, объем перекрестного трафика, пропускная способность каналов и размер пакета перекрестного трафика были протестированы для различных значений.
В [3] авторы определяют вероятностную доступную пропускную способность как наибольшую входную скорость, с которой мы можем отправлять поток трафика по пути, достигая с заданной вероятностью выходной скорости, которая почти равна входной скорости. Метод выражается непосредственно в терминах измеримой производительности и включает настраиваемые параметры, которые позволяют пользователю адаптироваться к различным требованиям приложения. Он был предложен в качестве нового определения доступной пропускной способности и новой структуры, которая решает некоторые проблемы: обеспечивает доверительный интервал, подходит для задачи оценки многолучевости в крупномасштабных сетях и обеспечивает достаточную гибкость с точки зрения точности, накладных расходов, задержки. и надежность для адаптации к требованиям различных приложений.
Более того, в [4] в качестве ключевого компонента, встроенного в RUBENS, был предложен новый инструмент для сквозных ABETT PRM (моделей промежутка между зондами), называемый мониторингом и оценкой качества (QMoE), в качестве ключевого компонента, встроенного в RUBENS (переосмысление использования широкополосной связи). доступ к оптимизированным сетям и услугам). Результаты показывают, что QMoE демонстрируют хорошие характеристики с точки зрения точности и времени оценки, что подтверждает ABETT в рамках RUBENS.
2.2. Проблемы с буфером
Буферы используются для уменьшения потерь пакетов за счет поглощения кратковременных всплесков трафика, когда маршрутизаторы не могут их пересылать в данный момент. Они играют важную роль в обеспечении полной загрузки выходных каналов во время перегрузки.
В течение многих лет исследователи использовали так называемое эмпирическое правило (или продукт задержки пропускной способности, BDP), чтобы получить объем буферизации, необходимый на выходном интерфейсе маршрутизатора. Это правило было предложено в [5] и определяется как
, где — размер буфера, — среднее время приема-передачи и пропускная способность сетевого интерфейса маршрутизатора. В [6] было предложено уменьшить размер буфера путем деления BDP на квадратный корень из числа потоков TCP,
<р>. Эта модель называлась маленький буфер. В [7] было предложено использовать буферы еще меньшего размера, называемые tiny buffers, учитывая размер нескольких десятков пакетов.В [8] авторы представили простой алгоритм управления очередью отбрасывания, который адаптирует свой размер в зависимости от условий трафика, чтобы получить минимальный размер и обеспечить высокий уровень использования. Результаты показывают, что при использовании адаптивного отбрасывания очередей значительно меньше, чем при использовании существующих подходов, за счет 1–2 % использования канала.
Буфер можно измерять по-разному: максимальное количество пакетов, количество байтов или даже ограничение времени ожидания в очереди [9, 10]. Например, в [11] сравнивались маршрутизаторы двух производителей, и было замечено, что один измеряет буфер в пакетах, а другой в миллисекундах.
Более того, буфер должен играть важную роль при планировании сети, поскольку он может влиять на потерю пакетов различных служб и приложений. Причина этого в том, что существует взаимосвязь между размером буфера маршрутизатора и использованием канала, поскольку избыточный объем памяти приведет к значительному увеличению задержки при заполнении буфера. С другой стороны, очень маленький объем памяти в буфере увеличит потерю пакетов во время перегрузки. Как следствие, знание поведения буфера является интересным параметром, который можно учитывать при попытке улучшить использование канала.
2.3. Влияние буфера на службы реального времени
Влияние буфера маршрутизатора на субъективное качество, с которым сталкиваются пользователи интерактивной услуги (например, онлайн-игры) с очень жесткими требованиями к реальному времени, было изучено в [4], показывая взаимосвязь между размером и политиками. буфера и получаемого субъективного качества, которое в данном случае в основном зависит от задержки и джиттера.
Проведенное исследование показало, что маленькие буферы более адекватны для поддержания качества игры на приемлемом уровне. Так как, если он слишком большой, это может добавить задержку и дрожание, что неприемлемо для геймеров.
В [12] изучался популярный сетевой многопользовательский игровой сервер; в документе показаны результаты трассировки 500 миллионов пакетов, в которых поведение трафика описывает загруженный игровой сервер и может быть объяснено тем фактом, что современные игровые проекты нацелены на насыщение самого узкого канала последней мили.Онлайн-игры стараются обеспечить относительно одинаковый опыт для всех игроков, максимизируя интерактивность игры, поэтому они устанавливают свои требования к использованию таким образом, чтобы насыщать сетевое соединение игроков с самой низкой скоростью.
Авторы также отмечают, что в условиях строгих требований к интерактивности маршрутизаторы должны иметь достаточную мощность, чтобы без промедления справляться с такими всплесками. Но современные маршрутизаторы предназначены для массовой передачи данных большими пакетами, поэтому значительное развертывание серверов онлайн-игр может привести к перегрузке существующего сетевого оборудования.
В нескольких исследованиях охарактеризованы приложения потоковой передачи видео P2P и измерено их влияние на трафик сетей связи. Так, в [13] была представлена характеристика трафика основного приложения P2P-TV, и они пришли к выводу, что трафик состоит из смеси небольших пакетов (сигнальных пакетов) и больших пакетов (видеопакетов). Кроме того, высокая скорость генерации небольших пакетов может негативно сказаться на видеопакетах, и, следовательно, поведение однорангового узла в структуре P2P может оказаться не таким, как ожидалось. Приложение использует трафик UDP, и выяснилось, что это приложение сталкивается с большими накладными расходами; о
пакетов соответствуют сигнализации, а остальные
соответствуют пакетам видеоданных.
Результаты исследования [14] показывают, что наличие скачкообразного приложения (видеонаблюдение) приводит к потере пакетов для всех сосуществующих приложений, даже для тех, которые генерируют трафик с постоянной скоростью передачи данных (VoIP). Кроме того, потери пакетов уменьшаются при увеличении размера буфера, поскольку большие буферы могут поглощать всплески, вызванные смешанным трафиком. Как и ожидалось, потери пакетов увеличиваются при увеличении использования канала в случае -packet buffer (рис. 1).
(a) Когда использование канала составляет 70 % для другого размера буфера
(b) Когда размер буфера составляет 40 пакетов для различных значений использования канала
(a) Когда использование канала составляет 70 % для разных размеров буфера
(b) Когда размер буфера составляет 40 пакетов для разных значений использования канала
Тесты были развернуты в сценарии, в котором потоки двух IP-камер, один сеанс видеоконференцсвязи и два вызова VoIP используются в качестве тестового трафика в двух разных тестах: в первом канал доступа в Интернет был установлен как средний канал. использование
и тестировались разные значения размера буфера. Во втором тесте размер буфера маршрутизатора доступа в Интернет был зафиксирован на уровне пакетов и использовались разные значения пропускной способности доступа, поэтому, следовательно, разные уровни использования канала варьировались от
3. Методология характеристики Интернет-путей
Сетевой путь (рис. 2) не определен для большинства приложений и служб, которые измеряют только доступную полосу пропускания, чтобы ограничить генерируемый трафик и редко настраивать его (например, путем его сглаживания). Таким образом, мы предлагаем метод, с помощью которого приложения могут обнаруживать и получать преимущества от знания характеристик сети посредством поиска моделей поведения буфера, которые могут быть полезны для правильной настройки трафика.
3.1. Модель сетевого пути
Традиционно сетевой путь характеризуется пропускной способностью, потерей пакетов и задержкой. Предпосылки этой работы заключаются в том, что большинство характеристик сети можно объяснить моделями буферов. Мы рекомендуем характеристику, включающую параметры буфера (размер и скорость ввода и вывода) и поведение буфера; см. рис. 3.
В этой работе модель буфера рассматривает только очереди FIFO, поскольку они наиболее распространены в сетевых устройствах с реальным доступом, как это наблюдалось в [15]. В той же работе также сообщается, что поведение этих буферов можно охарактеризовать следующим образом: как только буфер полностью заполняется, пакеты или байты больше не принимаются до тех пор, пока не будет доступен определенный объем памяти; см. рис. 4. Таким образом, можно определить верхний предел и нижний предел: при достижении верхнего предела больше не будет пакетов или байтов. принимаются до тех пор, пока размер буфера не будет соответствовать нижнему пределу.В некоторых случаях разница между нижним пределом и верхним пределом составляет всего один пакет; однако эта разница иногда достигает десятков пакетов. Вообще говоря, буфер отбрасывает пакеты пачками. Количество пакетов в пакете зависит от соотношения между скоростью ввода и вывода. Когда эти скорости очень похожи, количество пакетов в пакете может составлять всего один пакет.
3.2. Процедура тестирования
Схема тестов показана на рисунке 2. Существует «тестируемая система» (далее ТУС), которая может быть как отдельным устройством, так и целой сетью. Тест основан на отправке пакетов UDP-пакетов одинаковой длины от источника к машине-получателю, чтобы вызвать переполнение буфера в SUT. Все передаваемые пакеты идентифицируются порядковым номером, включенным в полезную нагрузку.
3.3. Методология
Методология основана на предположении, что выходная скорость может быть получена путем захвата трафика на целевом устройстве. Эта выходная скорость зависит от технологии, используемой в каждом конкретном случае (Ethernet, Wi-Fi, кабельный модем и другие). Различные буферы могут быть обнаружены с помощью анализа схемы потери пакетов, когда на пути находится более одного узкого места. В большинстве случаев один буфер является основной причиной потери пакетов в сетевом тракте, а иногда два буфера могут получить переполнение одновременно в сети доступа; по этой причине мы будем использовать в качестве примера случай двух объединенных буферов для представления этой методологии (рис. 5).
Скорость вывода можно легко определить по трассировке адресата, поскольку мы знаем все пришедшие пакеты и время каждого из них; см. рис. 6. Кроме того, скорость ввода можно оценить, подсчитывая отброшенные пакеты в трассировке пункта назначения с помощью порядкового номера, включенного в полезную нагрузку.
Карта потери пакетов полезна не только для определения количества потерь, но и для наблюдения за схемами потери пакетов, которые могут определять каждую модель буфера. Это простой разброс потерь пакетов (см. рис. 7). Следует отметить, что информация на этой карте эквивалентна заполнению буфера при тех же условиях, что также является простым способом увидеть модели потери пакетов (последовательность переходов), которые трудно вывести из рисунка 6.
Методология состоит из четырех простых шагов, которые будут описаны следующим образом:
Сертификаты могут помочь специалистам по безопасности подтвердить свои базовые знания в области информационной безопасности. Рассмотрите возможность добавления этих лучших облачных средств безопасности .
Изучите три основные проблемы безопасности при работе с несколькими арендаторами и способы их устранения, в том числе недостаточную видимость и превышение привилегий.
Если ваша компания использует поставщика облачных баз данных, очень важно обеспечить максимальную безопасность. Ознакомьтесь с функциями безопасности .
Cradlepoint и Extreme Networks объединят маршрутизаторы 5G первой компании с сетевой структурой второй для создания беспроводной глобальной сети 5G.
Израильский стартап OneLayer запустился незаметно с начальным финансированием в размере 8,2 млн долларов США и программной платформой для защиты Интернета вещей.
Российско-украинская война, которая затрагивает все, от инфляции до доступности чипов, оставила половину корпоративных технических лидеров.
ИТ-руководители начали год с ветерком в спину, опираясь на инвестиции, сделанные во время пандемии, и вновь сосредоточившись на .
Определения метавселенной различаются, как и прогнозы относительно того, когда она появится. Но умные ИТ-директора должны ознакомиться с .
Компании, привлекающие украинских программистов, работают над переводом сотрудников, желающих переехать. Технологические компании в долгосрочной перспективе могут .
ИТ-администраторам, рассматривающим возможность перехода на Windows 11, следует узнать, как функции версии Enterprise могут помочь их .
Последняя сборка для разработчиков Windows 11 позволяет открывать несколько папок в приложении для управления файлами. Предполагается, что эта функция .
Администраторам настольных компьютеров следует обратить внимание на собственные функции безопасности и архитектуру Windows 10, чтобы установить базовый уровень настольных компьютеров.
Чтобы добиться высокой доступности и отказоустойчивости в AWS, ИТ-администраторы должны сначала понять различия между двумя моделями.
Amazon ECS и EKS похожи, но их различий достаточно, чтобы выделить их для пользователей AWS. Узнайте, что лучше всего подходит для вашего .
Новые дополнения к системам хранения, такие как гибкие блочные тома и высокая доступность для ZFS, делают облачную платформу Oracle более конкурентоспособной.
Университет сотрудничает с Oracle в проведении исследований по наблюдению за цветущими фруктовыми деревьями весной
Оператор мобильной связи добился самого значительного прироста клиентов с потребительскими контрактами с 2012 года и увеличения EBITDA на 10 % с постепенным увеличением.
Внедрение систем EPR в организациях NHS поможет активизировать усилия по цифровой трансформации и является ключом к достижению результатов.
В большинстве случаев коммутаторы и маршрутизаторы настроены на пересылку пакетов с максимальной эффективностью. Это означает, что маршрутизатор пересылает все полученные пакеты в меру своих возможностей. Маршрутизатор пересылает пакет, как только он может выполнить поиск в таблице, необходимый для определения соответствующего выходного интерфейса(ов) для пакета. Если маршрутизатор не может отправить пакет немедленно, пакет ставится в очередь. Если очередь заполнена, пакет отбрасывается. Пакеты обычно обрабатываются в порядке очереди (или FIFO, First In First Out). Это обеспечивает максимально эффективную переадресацию.
Обычно все в порядке с переадресацией с максимальной эффективностью, пока интерфейс не перегружен. Как только это произойдет, даже если переподписка будет кратковременной, маршрутизатор должен поставить пакеты в очередь, чтобы избежать их потери. Таким образом, объем очереди, доступный на интерфейсе, определяет объем мгновенного превышения лимита подписки, который маршрутизатор может выдержать на этом интерфейсе без потери пакетов и снижения производительности. Обратите внимание, что в большинстве научно-исследовательских и образовательных (R&E) сетей переподписка на интерфейсы 1 Гбит/с или 10 Гбит/с обычно носит мгновенный характер — основная часть сетевого трафика состоит из научных потоков, которые потребляют большую часть полосы пропускания в небольшом числе потоков, и один раз эти потоки сталкиваются с потерей пакетов, они схлопываются и перестают потреблять полосу пропускания. Это очень отличается от просмотра веб-страниц, электронной почты, YouTube и т. д., где очень большое количество потоков потребляет относительно небольшую полосу пропускания каждый. Сети R&E рассчитаны на научные потоки, поэтому меньшие потоки обычно не переполняют интерфейсы. Однако фонового трафика часто бывает достаточно, так что всплески, связанные с высокоскоростными передачами, могут привести к сбою этих передач, поскольку большие передачи на мгновение переполняют интерфейс и переполняют его выходную очередь. Поскольку TCP плохо работает даже при небольшой потере пакетов, очень важно настроить маршрутизаторы и коммутаторы с достаточной очередностью вывода, чтобы приспособиться к моментальному превышению лимита подписки на интерфейсы, связанному со скачкообразными моделями трафика, характерными для глобальных сетей с высокой пропускной способностью. -производительность, передача данных на основе TCP.
На следующей диаграмме показана общая конфигурация кластера и места, где обычно происходит потеря пакетов из-за нехватки ресурсов очереди:
Рассмотрите ситуацию, когда у вас есть узел DTN 10G, подключенный к коммутатору с восходящим каналом 100G. Из-за снижения скорости потребуются буферы в выходной очереди интерфейса 10G, обращенного к DTN. Если вышестоящая DTN с большей пропускной способностью начинает отправлять данные в нашу 10G DTN (например, потоки со скоростью более 10 Гбит/с), этот коммутатор будет поглощать дополнительный трафик в буферах, и, если они недоступны, начнет отбрасывать данные, что отрицательно скажется на пропускной способности TCP и сети.< /p>
Некоторые поставщики советуют вам не увеличивать глубину очереди вывода на интерфейсе, потому что они основывают все свои предположения на профиле трафика, который сильно отличается от профиля трафика R&E. Они скажут вам, что увеличивать глубину выходной очереди нехорошо, потому что трафик заполнит эту очередь, и это приведет к увеличению RTT для трафика, проходящего через интерфейс. Это может быть верно для постоянного трафика (например, 10G видеоконференций или VOIP или миллионов веб-браузеров), но обычно это не так для трафика R&E, особенно больших потоков данных, связанных с передачей крупномасштабных наборов научных данных. (например, данные моделирования на суперкомпьютере, данные физики высоких энергий, данные телескопа высокого разрешения и т. д.).
Потоки TCP с высокой пропускной способностью, наблюдаемые в сети R&E, обычно разрываются на скорости канала, даже если поток не будет работать на скорости канала в устойчивом состоянии в течение всего времени передачи. Таким образом, сеть должна быть в состоянии выдерживать высокоскоростные всплески во время запуска соединения, но канал (и, конечно, выходная очередь) не будет оставаться заполненным, потому что стационарная нагрузка не составляет полных 10G. Целью увеличения глубины очереди вывода является придание сети достаточной «эластичности», позволяющей TCP увеличиваться и сглаживаться, не сталкиваясь с потерей пакетов на ранних этапах передачи.
Оптимальный размер буфера
Сетевое оборудование с большим буферным пространством обычно дороже. Насколько достаточно буферизации?
Общее эмпирическое правило заключается в том, что вам нужно 50 мс буфера очереди вывода с линейной скоростью, поэтому для коммутатора 10G буфер должен быть около 60 МБ. Это особенно важно, если у вас есть хост 10G, отправляющий данные на хост 1G по глобальной сети. Но есть ряд проблем с конструкцией коммутатора, из-за которых трудно точно определить, сколько буфера действительно требуется.
Более подробная информация и некоторые результаты тестов — в этом докладе от NANOG, июнь 2015 г.
В этом документе представлен обзор настройки буфера на основе текущих платформ, а также общая информация о команде show buffers.
Предпосылки
Требования
Для этого документа нет особых требований.
Используемые компоненты
Этот документ не ограничивается конкретными версиями программного и аппаратного обеспечения.
Информация, представленная в этом документе, была получена с устройств в специальной лабораторной среде. Все устройства, используемые в этом документе, запускались с очищенной (по умолчанию) конфигурацией. Если вы работаете в действующей сети, убедитесь, что понимаете потенциальное влияние любой команды перед ее использованием.
Условия
Дополнительную информацию об условных обозначениях см. в разделе Технические советы Cisco.
Общий обзор
Настройка буфера позволяет изменить способ, которым маршрутизатор выделяет буферы из доступной памяти, и помогает предотвратить отбрасывание пакетов во время временного всплеска трафика.
Чтобы определить, нужно ли настроить буфер маршрутизатора, используйте команды show interfaces и show buffers.
Если у вас есть выходные данные команд show interfaces и show buffers или выходные данные show Technical-Support (из режима включения) с вашего устройства Cisco, вы можете использовать Cisco CLI Analyzer для отображения потенциальных проблем и исправлений. Чтобы использовать Cisco CLI Analyzer, вы должны быть зарегистрированным клиентом, войти в систему и включить JavaScript.
Ниже приведен пример вывода команды show interfaces:
Падение входных и выходных данных происходит из-за переполнения входных и выходных очередей из-за всплеска трафика. Это связано не с проблемой буфера, а с ограничением производительности переключения процессов.
"Нет буфера" представляет количество пакетов, отброшенных из-за отсутствия свободного буфера для копирования пакета.
С помощью команды show buffers посмотрите размер буфера, соответствующий максимальной единице передачи (MTU) интерфейса:
В таблице ниже поясняется вывод:
Ключевое слово | Описание |
---|---|
всего | Общее количество буферов в пуле, включая как используемые, так и неиспользуемые буферы. |
permanent | Постоянное количество выделенных буферов в пуле. Эти буферы всегда находятся в пуле и не могут быть удалены. |
в списке свободных | Количество доступных в настоящее время в пуле свободных буферов. для использования. |
min | Минимальное количество буферов, которое маршрутизатор должен попытаться сохранить «в свободном списке». Если количество буферов «в свободном списке» падает ниже значения «min», маршрутизатор должен попытаться создать больше буферов для этого пула. |
максимально допустимое | Максимальное количество буферов, разрешенное "в свободном списке". Если количество буферов «в свободном списке» превышает максимально допустимое значение, маршрутизатор должен попытаться удалить буферы из пула. |
hits | Количество буферов, успешно выделенных из списка свободных. |
промахов | Количество раз, когда буфер был запрошен, но ни один буфер не был доступны в списке свободных буферов или когда в списке свободных буферов меньше "min". |
trims | Количество буферов, которые были удаляется из пула, когда количество буферов "в свободном списке" превышает количество "максимально допустимых" буферов. |
создано | Количество буферов которые были созданы в пуле, когда количество буферов "в свободном списке" было меньше, чем "min." |
нет памяти | Количество количество попыток маршрутизатора создать новые буферы, но это не удалось из-за недостатка свободной памяти в маршрутизаторе. |
failures | Количество сбоев при предоставлении буфер запросчику во время прерывания (помните, что маршрутизатор может создавать новые буферы на уровне переключения процессов, поэтому «сбой» не происходит, если нет «нет памяти»). Количество «сбоев» представляет собой количество пакетов, которые были отброшены из-за нехватки буфера. |
Как маршрутизатор обрабатывает буферы
Количество буферов "в свободном списке" – это количество доступных буферов. При поступлении запроса на буфер выделяется буфер из «свободного списка».
Буферы IOS используются по двум основным причинам:
Для обработки трафика, входящего в маршрутизатор.
При коммутации пакетов.
Если нет доступных буферов и включено быстрое переключение, происходит сбой буфера и пакет отбрасывается. Когда процесс диспетчера пула буферов обнаруживает сбой буфера, он «создает» новый буфер, чтобы избежать сбоев в будущем.
Маршрутизатор не создает новый буфер, если число "в свободном списке" равно "максимально допустимому" значению. Если в маршрутизаторе недостаточно памяти для создания нового буфера, это записывается как «нет памяти». Если число "в свободном списке" больше, чем "максимально допустимое" число, маршрутизатор "обрезает" некоторые лишние буферы.
Единственными проблемными областями являются количество "сбоев" и "отсутствия памяти". Возможны сбои, но через некоторое время они должны стабилизироваться. Маршрутизатор создает или урезает буферы по мере необходимости, чтобы стабилизировать количество сбоев. Если количество сбоев продолжает увеличиваться, может потребоваться настройка буфера.
Если для создания новых буферов недостаточно памяти, ищите утечку буфера или более общую проблему с памятью. Буферы не создаются на пути быстрой коммутации, поэтому, если маршрутизатор пытается быстро коммутировать пакет, а буфер недоступен, пакет отбрасывается, и сообщается об ошибке. Новый буфер создается при следующем запуске менеджера пула буферов.
Младшие платформы (маршрутизаторы Cisco серий 1600, 2500 и 4000)
Пакеты с быстрой коммутацией и пакеты с коммутацией процессов используют одни и те же буферы. Эти буферы расположены в разделяемой памяти. Общая память находится в динамической ОЗУ (DRAM) в маршрутизаторах Cisco серий 1600 и 2500 или в общей ОЗУ (SRAM) в маршрутизаторах Cisco серий 4000, 4500 и 4700.
В первых строках команды show memory сообщается, сколько у вас есть общей памяти, сколько в настоящее время используется, а также самая низкая точка. Когда пакет не может быть быстро переключен, указатель на пакет вставляется во входную очередь переключения процесса, но сам пакет не копируется.
Вот результат выполнения команды show buffers на бюджетной платформе (Cisco 4500):
Пулы интерфейсных буферов используются интерфейсами для ввода/вывода (I/O). Когда в списке свободных буферов интерфейса больше нет буферов, маршрутизатор переходит к общедоступным пулам буферов в качестве запасного варианта. Откат не влияет на производительность.
Кэширование — это программная манипуляция, которая ускоряет доступность буферов для кода драйвера уровня прерывания за счет обхода некоторых накладных расходов.
Примечание. Обычно буферы интерфейса не следует настраивать.
Высокопроизводительные платформы (процессоры маршрутизации, процессоры коммутации, процессоры Silicon Switch и процессоры маршрутизации/коммутации)
Вот результат выполнения команды show buffers на высокопроизводительной платформе:
Пулы заголовков
Общие пулы буферов расположены в DRAM и называются системными буферами. Общая память процессора маршрутизации/коммутации (RSP) называется системной пакетной памятью (MEMD) и позволяет использовать 2 МБ памяти. В процессоре маршрутизации (RP) и процессоре коммутации (SP) (или Silicon Switch Processor — SSP) системные буферы расположены на RP, а MEMD — на SP (или SSP).
Когда приходит пакет, он сохраняется в MEMD принимающим интерфейсным процессором (за исключением универсального интерфейсного процессора — VIP). Если он не может быть быстро переключен, весь пакет копируется в системный буфер в DRAM. Таким образом, буферы, которые вы видите в команде show buffers, являются системными буферами, расположенными в DRAM.
Команда show controllers cbus показывает буферы интерфейса в MEMD. Опять же, не рекомендуется настраивать интерфейсные буферы. Когда пакет не может быть быстро переключен и копируется в системный буфер, пакет отбрасывается, и если системный буфер недоступен, засчитывается сбой.
Платформы на основе частиц
Маршрутизаторы Cisco серий 3600 и 7200 используют частицы. Буферы интерфейса представляют собой атомарные буферы, называемые частицами, на которые разбиваются пакеты. Когда пакет не может быть быстро переключен, маршрутизатору приходится заново собирать его в одном системном буфере, потому что код коммутации процесса не может обрабатывать частицы.
Ниже показан вывод команды show buffers на Cisco 3600:
Частные пулы частиц используются интерфейсами и не должны настраиваться. Когда в свободном списке нет доступных буферов, маршрутизатор возвращается к общедоступным пулам частиц.
Буферы заголовков используются для записи списка всех частиц, принадлежащих пакету.
Примечание. Системные буферы используются для переключения процессов. В Cisco 3600 все эти буферы находятся в памяти ввода-вывода, расположенной в DRAM. Вы можете указать объем памяти ввода/вывода с помощью команды iomem memory-size. В Cisco 7200 пулы буферов частиц интерфейса для адаптеров портов с высокой пропускной способностью (PA) расположены в SRAM.
Настройка буфера
Ниже приведен пример команды show buffers:
В этом примере средние буферы имеют много сбоев.Это не является серьезной проблемой, так как составляет всего 0,1% попаданий. Эти цифры можно легко улучшить с помощью некоторой настройки буфера.
Настройка буфера выполняется только в том случае, если пакеты не могут быть переключены в CEF.
В зависимости от архитектуры маршрутизатора настраиваемые буферы обычно относятся либо к памяти ввода-вывода (младшая), либо к основной памяти (высокая). Перед настройкой буферов сначала проверьте, достаточно ли у вас свободного ввода-вывода или основной памяти, используя первые строки команды show memory.
Вот некоторые общие значения, которые вы можете использовать:
постоянный: взять общее количество буферов в пуле и добавить около 20%.
min-free: задайте для min-free примерно 20-30% от постоянного количества выделенных буферов в пуле.
max-free: задайте для max-free нечто большее, чем сумма постоянных и минимальных значений.
В приведенном выше примере настройки буфера мы могли бы ввести эти команды в режиме глобальной конфигурации:
Обычно программное обеспечение Cisco IOS® динамически создает буферы, поэтому эти настройки подходят. Однако в случае всплеска трафика у маршрутизатора может не хватить времени для создания новых буферов, и количество сбоев может продолжать расти. Используйте команду buffers, чтобы изменить настройки пула буферов по умолчанию. Обеспечьте осторожность при изменении значений буфера, поскольку неправильные настройки буфера могут повлиять на производительность системы. Если вы хотите очистить счетчики буфера, маршрутизатор необходимо будет перезагрузить.
Существует два вида всплесков трафика:
Медленный пакет: в этом случае маршрутизатор имеет достаточно времени для создания новых буферов. Увеличьте количество min-free буферов. Используя свободные буферы, вы можете достичь значения min-free, а затем создать новые буферы.
Быстрый всплеск: при быстрых всплесках трафика маршрутизатору не хватает времени для создания новых буферов, поэтому следует использовать свободные буферы. Для этого измените количество постоянных буферов.
Вывод. Если счетчик создания увеличивается после первоначальной настройки, увеличьте минимальное значение (медленный пакет). Если увеличивается счетчик сбоев, но не счетчик создания (быстрый пакет), увеличьте постоянное значение.
Резервирование буфера ткани
Вы можете ввести команду fabric buffer-reserve, чтобы повысить пропускную способность системы и зарезервировать буферы ASIC.
Эта команда поддерживается в следующих модулях:
Эта команда не поддерживается на маршрутизаторах Cisco серии 7600, настроенных с Supervisor Engine 32.
Внимание! Используйте эту команду только под руководством Центра технической поддержки Cisco.
Эта команда полезна в следующих случаях:
Линейный протокол отключается для нескольких интерфейсов
Переполнение наблюдается на нескольких интерфейсах
Порты часто покидают и присоединяются к EtherChannel
Тест TestMacNotification постоянно завершается неудачно для линейных карт с DFC
Утечки буфера
Ниже приведен пример вывода команды show buffers:
Эти выходные данные указывают на утечку буфера в большом пуле буферов. Всего в роутере 1556 больших буферов и только 52 находятся в свободном списке. Что-то использует все буферы, а не освобождает их. Дополнительную информацию об утечках буфера см. в разделе Устранение неполадок с утечкой буфера.
Читайте также: