Check heaps что за процесс

от admin

Check heaps что за процесс

При высокой загрузке ЦП выполните сначала команду show processes cpu. Выходные данные показывают загрузку ЦП коммутатора, а также потребление ресурсов ЦП каждым процессом.

В этих выходных данных общая загрузка ЦП составляет 57 процентов, а загрузка ЦП прерываниями — 48 процентов. Эти показатели отображаются полужирным шрифтом. Коммутация трафика прерываний процессором приводит к загрузке ЦП прерываниями. В выходных данных команды перечисляются процессы, которые приводят к разнице между этими двумя загрузками. В данном случае причиной является процесс SNMP.

Чтобы не вникать в механизмы, наймите специалистов по обслуживанию сетей. В механизме управления, который работает под управлением CatOS, выходные данные выглядят так:

В этих выходных данных первый процесс — Kernel and Idle — показывает простой в использовании ЦП. Этот процесс обычно наверху, если какие-либо другие процессы не потребляют циклы ЦП. В этом примере процесс SptBpduRx приводит к повышению загрузки ЦП.

Если причиной высокой загрузки ЦП является один из этих процессов, можно провести диагностику и определить, почему этот процесс приводит к высокой загрузке. Но если ЦП загружен из-за трафика, поступающего на него, необходимо определить, почему приходит этот трафик. При этом можно определить происхождение трафика.

Служебные программы и средства для определения трафика, поступающего на ЦП

В этом разделе определяются некоторые служебные программы и средства, которые могут помочь изучить этот трафик.

Системное программное обеспечение Cisco IOS

В ПО Cisco IOS процессор коммутатора в механизме управления называется SP, а MSFC называется RP.

Команда show interface дает основную информацию о состоянии интерфейса и скорости трафика на интерфейсе. В этой команде также предусмотрены счетчики ошибок.

В этих выходных данных можно увидеть, что входящий трафик коммутируется на 3 уровне вместо коммутации 2 уровня. Это показывает, что трафик поступает на ЦП.

Команда show processes cpu показывает, являются ли эти пакеты пакетами обычного трафика или пакетами управления.

Если пакеты коммутируются процессом, то будет видно, что процесс IP Input повышается. Чтобы увидеть эти пакеты, выполните такую команду:

show buffers input-interface

Если трафик коммутируется прерываниями, то эти пакеты нельзя увидеть с помощью команды show buffers input-interface. ИТ аутсорсинг это возможность не вникать в скучную информацию. Чтобы увидеть пакеты, поступающие на ЦП для коммутации на уровне прерываний, можно выполнить захват SPAN порта RP.

Немного о производительности сетевого оборудования Cisco

В этом году мы опубликовали две статьи, связанные со сравнением функциональности маршрутизаторов и межсетевых экранов компании Cisco, а также с обзором разделения control и data plane в сетевом оборудовании. В комментариях к этим статьям был затронут вопрос производительности сетевого оборудования. А именно как зависит производительность маршрутизаторов Cisco разных поколений от включения на них тех или иных сервисов. Так же обсуждалась тема производительности межсетевых экранов Cisco ASA. В связи с этим возникло желание посмотреть на эти вопросы с практической стороны, подкрепив известные моменты цифрами. О том, что получилось и, что получилось не очень, расскажу под катом.

Под производительностью будем подразумевать пропускную способность устройства, измеряемую в Мбит/с. Стенд для тестирования представлял из себя два ноутбука, с установленной программой iPerf3. Методика испытания – достаточно проста. iPerf3 запускался в режиме передачи пакетов по протоколу TCP. Использовалось 5 потоков. Я не ставил перед собой цели определить реальную производительность устройств. Для этой задачи необходима более сложная экипировка, так как требуется воссоздавать паттерны трафика реальной сети. Да и мерить нужно было бы количество обрабатываемых пакетов. У нас же основной задачей была оценка влияния использования различных сервисов на работу устройства, а также сравнение результатов, полученных на различных устройствах. Таким образом, выбранный инструментарий на первый взгляд казался достаточно подходящим для поставленных задач.

Cisco Integrated Services Router (ISR) Generation 1 и 2

Для начала из коробки были взяты два младших маршрутизатора Cisco 871 и 881. Это маршрутизаторы разных поколений (871 более старый – G1, а 881 более новый – G2), которые обычно ставятся в небольшие офисы, например, в удалённые филиалы компании.

Исследуемые маршрутизаторы имеют сходные черты в плане программной и аппаратной архитектуры: операционная система – Cisco IOS, «мозг» устройств – SoC MPC 8272 в 871 и SoC MPC 8300 в 881.

  • Маршрутизация с использованием технологии Cisco Express Forwarding (CEF).
  • Маршрутизация без использования оптимизирующих технологий (Process Switching).
  • Маршрутизация (CEF) и применённый список доступа (ACL) на одном из интерфейсов.
  • Маршрутизация (CEF) и ACL на одном из интерфейсов с опцией log.
  • Маршрутизация (CEF) и включённая служба трансляции адресов (NAT*).
  • Маршрутизация (CEF) и включенные сервисы межсетевого экранирования (CBAC для 871 и ZPF для 881).
  • Маршрутизация (CEF), МСЭ и NAT.

Тестирование затрагивало маршрутизацию трафика (L3-коммутацию) на базе CEF и Process Switching. Оба режима работы на исследуемых устройствах являются программной обработкой пакетов. Разница в том, как именно маршрутизатор принимает решение куда отправить пакет. В случае Process Switching маршрутизатор для каждого пакета определяет, куда его передать и формирует/модифицирует необходимые заголовки в рамках отдельного процесса на основании таблицы маршрутизации и L2-таблиц. Происходит так называемая процессорная обработка. В случае CEF маршрутизатор использует заранее подготовленные специальным образом таблицы FIB (таблица префиксов) и Adjacency (таблица данных по соседям), которые позволяют существенно снизить нагрузку на ЦПУ и повысить скорость обработки пакета внутри устройства.

Для более наглядного сравнения данные по разным устройствам нанесены на один график (рисунок 1).

  1. Так как интерфейсы на устройствах имеют тип FastEthernet, максимальная пропускная способность точка-точка, полученная через iPerf3, не превышала 95 Мбит/с. При этом загрузка ЦПУ для некоторых режимов тесетирования не достигала своих пиковых значений, а значит цифра 95 Мбит/с для этих маршрутизаторов не предел.
  2. Маршрутизатор 881 выглядит лучше, так как имеет более продвинутую аппаратную начинку (в первую очередь процессор общего назначения, далее ЦПУ).
  3. Как и следовало ожидать, мы видим заметную деградацию производительности при включении сервисов.
  4. При отключении CEF мы имеем существенное уменьшение производительности, так как маршрутизатор начинает обрабатывать каждый пакет не самым оптимальным образом.
  5. Включение опции log в ACL приводит к повышению нагрузки на устройство (загрузка ЦПУ в этом случае составляет 99%), что негативно сказывается на производительности. Обусловлено это тем фактом, что опция log заставляет маршрутизатор обрабатывать каждый пакет, попадающий в отмеченную строчку ACL, в режиме Process Switching, что существенно увеличивает нагрузку на процессор.

Общая загрузку ЦПУ составляет 47%. Из них 42% уходит на обработку прерываний, вызванных передачей пакетов. Прерывания при передаче пакетов бывают двух типов: прерывание получения и прерывание передачи пакета. Прерывание получения пакета инициируется интерфейсным процессором, когда пакет получен через интерфейс маршрутизатора и он готов к обработке. Получив такое прерывание ЦПУ прекращает обработку текущих процессов, и начинает выполнять обработку пакета. Так как включен режим CEF, ЦПУ принимает решение, куда передать пакет на основании таблиц CEF (FIB и Adjacency) во время прерывания. Т.е. ему не требуется отправлять пакет на процессорную обработку, а значит существенно экономятся процессорные мощности. В связи с этим на процессы в маршрутизаторе тратится лишь 5% загрузки ЦПУ. Прерывание отправки пакета передаётся на ЦПУ, когда пакет был отправлен интерфейсным процессором дальше по каналам связи. ЦПУ реагирует на это прерывание обновлением счётчиков и освобождением памяти, выделенной для хранения пакета. В плане вклада в общую загрузку устройства данное прерывание менее интересно.

Маршрутизация в режиме Process Switching:

Теперь общая загрузка ЦПУ составляет 99%. Причём только 27% уходит на прерывания. Остальные 72% тратятся на выполнение процессов. Процесс IP Input забирает практически 70% процессорного времени. Именно этот процесс отвечает за процессорную обработку пакетов, т.е. тех пакетов, которые не могут быть обработаны во время прерывания (например, отключен CEF или в его таблицах нет нужной информации для передачи, пакеты адресованы непосредственно маршрутизатору или являются широковещательным трафиком и пр.). А так как в нашем примере отключены CEF и Fast Switching (об этом методе я не упоминал в силу его неактуальности), после того как к ЦПУ пришло прерывание получения пакета, ЦПУ отправляет пакет на процессорную обработку. Прерывание завершается и ЦПУ обрабатывает пакет непосредственно в рамках одного из своих процессов. Поэтому мы и видим такую утилизацию ЦПУ процессом IP Input.

Ещё интересно будет посмотреть на загрузку ЦПУ в случае ACL с опцией log.

Опция log в ACL заставляет маршрутизатор каждый пакеты отправлять на процессорную обработку, признаком чего, как и в предыдущем примере, является высокая утилизация ЦПУ процессом IP Input.

Cisco ASA 5500

Давайте посмотрим теперь на такое устройство как межсетевой экран Cisco ASA 5505. Можно сказать, что ASA 5505 – это аналогичное маршрутизатору Cisco 881 устройство в плане позиционирования (для небольших офисов и филиалов). Эти устройства примерно из одного ценового сегмента и обладают относительно сходными аппаратными характеристиками. В ASA 5505 используется ЦПУ AMD Geode с тактовой частотой 500 MHz. Самое главное отличие –операционная система. В ASA 5505 используется ASA OS. Про различия между маршрутизаторами и ASA в плане функциональности мы говорили в отдельной статье. Посмотрим теперь на производительность ASA и влияния на неё различных сервисов.

  • Межсетевой экран.
  • Межсетевой экран и включённая служба трансляции адресов (NAT).
  • Межсетевой экран и ACL на одном из интерфейсов с опцией log.

Из диаграммы видно, пропускная способность ASA 5505 во всех режимах работы ограничена лишь техническими аспектами стенда. Причём, если мы посмотрим на загрузку ЦПУ, то для всех вариантов она практически идентична:

  1. При относительно схожих ценовых и аппаратных параметрах ASA 5505 предоставляет большую производительность, чем маршрутизатор 881.
  2. Производительность ASA практически не зависит от сервисов (во всяком случае в рамках данного стенда её выявить не удалось).
  3. Опция логирования (log) в ACL не приводит к деградации производительности. Обусловлено этой спецификой реализаций функции маршрутизации в устройстве.

Cisco ISR 4000

Идём дальше. Предлагаю посмотреть, как обстоят дела с влиянием сервисов на производительность маршрутизаторов Cisco ISR 4000. Это самая новая линейка маршрутизаторов Cisco для небольших и средних инсталляций. Как мы помним, в этих маршрутизаторах используется операционная система Cisco IOS XE, которая умеет работать в многопоточном режиме. С точки зрения аппаратной начинки, в этих маршрутизаторах используются многоядерные процессоры.

И так достаём из коробки самый младший Cisco ISR 4000 – 4321. Активируем на нём performance license, чтобы получить заявленную максимальную производительность 100 Мбит/с, и начинаем тестировать. Важно отметить, что на маршрутизаторах ISR 4000 всегда используется шейпер, ограничивающий максимальную производительность устройства. Используется два порога: базовая (для 4321 – это 50 Мбит/с) и расширенная (для 4321 – это 100 Мбит/с; активируется лицензией performance license) производительности. Такая схема работы направлена на получение прогнозируемых значений производительности устройства, не позволяя «захлёбывать» от большого количества трафика.

Для начала проверяем производительность чистой маршрутизации в режиме CEF без дополнительных сервисов. Запускаем iPerf3 и получаем 95 Мбит/с. Ожидаемо. Смотрим в этот момент на загрузку ЦПУ:

Вот это результат! Загрузка ЦПУ 1%. Круто! Но не всё так идеально. Понимание данного феномена приходит после более детального изучения специфики работы IOS XE.

IOS XE – это операционная система, созданная на базе Linux’а, тщательно допиленного и оптимизированного вендором. Традиционная операционная система Cisco IOS запускается в виде отдельного Linux процесса (IOSd). Самое интересное заключается в том, что в IOS XE мы имеем отдельный основной процесс, выполняющий функции data plane. Т.е. мы имеем чёткое разделение control и data plane на программном уровне. Процесс, отвечающий за control plane, называется linux_iosd-imag. Это собственно и есть привычным нам IOS. Процесс, отвечающий за data plane, называется qfp-ucode-utah. QFP, знакомо? Сразу вспоминаем про сетевой процессор QuantumFlow Processor в маршрутизаторах ASR 1000. Так как изначально IOS XE появился именно на этих маршрутизаторах, процесс, отвечающий за передачу пакетов, получил аббревиатуру qfp в своём названии. В дальнейшем для ISR 4000, видимо, ничего менять не стали, с одной лишь разницей, что в ISR 4000 QFP является виртуальным (выполняется на отдельных ядрах процессора общего назначения). Кроме озвученных процессов в IOS XE присутствуют и другие вспомогательные процессы.

Таким образом, чтобы посмотреть на сколько загружены процессорные мощности, анализируем вывод следующих команд, специфичных для IOS XE:

В нашем маршрутизаторе используется четыре ядра (CPU 0, 1, 2, и 3). Команда позволяет нам получить информацию по загрузке каждого из них.

Примечание

Увидеть аппаратную начинку маршрутизатора можно выводом стандартной для Linux информации из файла dmesg: more flash:/tracelogs/dmesg.

В маршрутизаторе ISR 4321 используется процессор:
CPU0: Intel® Atom(TM) CPU C2558 @ 2.40GHz stepping 08

Следующая команда позволяет нам увидеть утилизацию процессорных мощностей различными процессами:

В данном примере, IOS съедает всего 2%, а QFP – 150% (что эквивалентно утилизации одно ядра полностью и ещё одного на половину).

Так, что же в итоге показывает тогда команда «show processes cpu»? Она выводит загрузку виртуального ЦПУ, который был выделен процессу IOSd. Под данный процесс на маршрутизаторах ISR 4000 выделяется одно из ядер ЦПУ.

Из всего этого можно сделать вывод, что в IOS XE архитектура обработки пакетов существенно изменилась по сравнению с обычным IOS. IOS больше не занимается обработкой абсолютно всех пакетов. Данным процессом обрабатываются лишь те пакеты, которые требуют процессорной обработки. Но даже в этом случае в IOS XE используется более новый механизм Fastpath, который реализует передачу пакетов для процессорной обработки посредствам отдельного потока внутри IOSd, а не через прерывания. Прерывания в IOSd возникают только, когда не возможна обработка через Fastpath.

  • Маршрутизация с использованием технологии CEF.
  • Маршрутизация и применённый список доступа (ACL) на одном из интерфейсов.
  • Маршрутизация (CEF) и ACL на одном из интерфейсов с опцией log.
  • Маршрутизация (CEF) и включённая служба трансляции адресов NAT.
  • Маршрутизация (CEF) и включенные сервисы межсетевого экранирования (ZPF).
  • Маршрутизация (CEF), МСЭ и NAT.

Результаты тестирования представлены на рисунке 3. Для большей наглядности на один график нанесены значения пропускной способности (а они у нас во всех случаях одинаковы) и загрузку ЦПУ процессом QFP. Процесс IOSd не интересен в силу того, что во всех режимах загрузка виртуального ЦПУ внутри IOSd минимальна – 1%.

При проведении тестирования выявить зависимость производительности маршрутизатора ISR 4321 от включения сервисов не удалось. Есть небольшое повышение загрузки CPU, но совсем незначительное. Также стоит отметить, что включение опции log в ACL больше не приводит к драматическим потерям в производительности, так как пакет не отправляется на процессорную обработку.

На примере нескольких устройств разных поколений и типов мы попытались рассмотреть, как зависит производительность от включения различных сервисов. В целом полученные результаты укладываются в ранее известные факты. Америки мы не открыли. Краткие выводы, полученные в результате тестирования, можно сформулировать так:

Основы регулировки производительности

На эффективность обработки пакетов могут влиять настройки маршрутизатора. В случае маршрутизаторов, обрабатывающих большие объемы трафика, в целях оптимизации производительности стоит знать, какое действие выполняет устройство, как оно это делает и сколько времени это у него займет. Эти сведения представлены в файле конфигурации. Конфигурация отражает способ прохода пакетов через маршрутизатор. Не совсем оптимальная конфигурация может удерживать пакет в маршрутизаторе дольше, чем это необходимо. Продолжительный и высокий уровень загрузки маршрутизатора может привести к задержке ответов, перегрузке сети и увеличению времени ожидания подключения.

Основной целью настройки маршрутизатора является минимизация времени пребывания пакета в маршрутизаторе. То есть сведение к минимуму периода времени, необходимого маршрутизатору для пересылки пакета с входящего на исходящий интерфейс, а также, по возможности, устранение буферизации и перегрузки. Каждая настраиваемая функция в конфигурации должна способствовать быстрейшему достижению входящим пакетом порта назначения.

Время использования процессора и память — это два основных ресурса, за состоянием которых необходимо следить. Процессор маршрутизатора всегда должен быть доступен для обработки задач при пиковой и обычной нагрузке. Любая загрузка процессора на 99% в течение длительного времени может серьезно повлиять на стабильность работы сети. Тот же принцип применим и для доступности памяти — память должна быть всегда доступна. Если память маршрутизатора использована почти полностью, то свободного пространства в системных буферных пулах нет. Это означает, что пакеты, которым необходима обработка со стороны процессора (перенаправляемые пакеты), сбрасываются сразу же после поступления на маршрутизатор. Легко представить, что бы случилось, если бы сбрасываемые пакеты содержали параметры активного интерфейса или важные обновления маршрута.

Коммутация на уровне обработки и уровне прерывания

В IP-сетях решения о пересылках в маршрутизаторах принимаются на основе содержимого таблицы маршрутизации. При поиске в таблице маршрутизации маршрутизатор ищет самое длинное совпадение для префикса IP-адреса узла назначения. Это осуществляется "на уровне обработки" (т.н. коммутация на уровне обработки), то есть поиск является просто одним из процессов, поставленных в очередь для обработки процессором. В результате время поиска становится непредсказуемым и поиск может продолжаться очень долго. Для решения этой проблемы операционная система Cisco IOS располагает целым рядом методов коммутации, основанных на поиске точного соответствия.

Основное преимущество поиска точного соответствия состоит в том, что время поиска является детерминированным и очень коротким. Время, необходимое маршрутизатору для принятия решения о пересылке, значительно уменьшено, что позволяет выполнить это на "уровне прерывания". Коммутация на уровне прерывания означает, что при прибытии пакета инициируется прерывание, по которому процессор приостанавливает выполнение остальных задач и выполняет обработку пакета. Традиционный метод для пересылки пакетов (поиск наибольшего совпадения в таблице маршрутизации) невозможно применить на уровне прерываний, поэтому его необходимо использовать на уровне обработки. По ряду причин, некоторые из которых рассмотрены ниже, невозможно полностью отказаться от метода поиска самого длинного совпадения, поэтому эти два метода поиска сосуществуют в маршрутизаторах Cisco. Эта стратегия обобщена и применяется к протоколам IPX и AppleTalk.

Для выполнения поиска точного соответствия на уровне прерывания таблица маршрутизации должна быть преобразована, чтобы использовать структуру памяти, удобную для этого типа поиска. Различные пути маршрутизации используют различную структуру памяти. Архитектура этой так называемой структуры существенно влияет на время поиска, превращая выбор наиболее подходящего пути маршрутизации в очень важную задачу. Для принятия маршрутизатором решения о перенаправлении пакета необходимы (как минимум) сведения об адресе следующего узла и исходящем интерфейсе. Кроме того, необходимы сведения об инкапсуляции исходящего интерфейса. В зависимости от масштабируемости, сведения об инкапсуляции исходящего интерфейса могут храниться в той же самой или отдельной структуре памяти.

  1. Просмотрите структуру памяти для того, чтобы определить адрес следующего узла и исходящий интерфейс.
  2. Выполните перезапись на втором уровне модели взаимодействия открытых систем (OSI), также называемой MAC-перезаписью, которая означает изменение инкапсуляции пакета для согласования с исходящим интерфейсом.
  3. Поместите пакет в кольцо передачи или в очередь исходящего интерфейса.
  4. Обновите подходящие структуры памяти (сбросьте таймеры в кэше, обновите счетчики и т.д.).
Читать:
Как сделать герои 3 на весь экран

Различающиеся пути маршрутизации прерывания могут быть организованы в иерархическую структуру, позволяющую изменять скорость поиска от самой быстрой до самой медленной. Последней пересортировкой, используемой для обработки пакетов, всегда является коммутация на уровне обработки. Не все интерфейсы и типы пакетов поддерживаются в каждом пути маршрутизации прерывания. В общем случае, только те из них, которые требуют анализа и изменений, ограниченных заголовком пакета, могут быть коммутируемы при прерывании. Коммутация на уровне прерываний будет невозможна, если перед пересылкой необходим анализ полезной информации пакетов. Для некоторых путей маршрутизации прерывания могут существовать особые ограничения. Кроме того, если подключение второго уровня через исходящий интерфейс должно быть надежным (именно поэтому это подключение включает в себя поддержку возможности повторной передачи), то пакеты не могут обрабатываться на уровне прерывания.

Примерами пакетов, для которых не может использоваться коммутация на уровне прерываний, являются следующие пакеты:

  • Трафик, направляемый на маршрутизатор (трафик протокола маршрутизации, простой протокол сетевого управления (SNMP-протокол), Telnet, TFTP-протокол, команда ping и т.д.). Управляющий трафик может быть исходной точкой и направляться на маршрутизатор. Пакеты такого типа содержат информацию о процессах, относящихся к отдельным задачам;
  • Ориентированные на подключение инкапсуляции второго уровня модели OSI (например, стандарт X.25). Некоторые задачи слишком сложны для кодирования в путь с коммутацией на уровне прерываний, так как содержат слишком много исполняемых инструкций или требуют большого количества таймеров и окон. Примером этого являются функция шифрования, трансляция LAT-протокола и протокол Data-Link Switching Plus (DLSW+).

Пути маршрутизации

Путь прохождения пакета внутри маршрутизатора определяется активным алгоритмом пересылки. Их также называют "алгоритмами коммутации" или "путями маршрутизации". Профессиональные платформы обычно используют более мощные алгоритмы пересылки по сравнению с платформами более низкого класса, однако зачастую они не активизируются по умолчанию. Алгоритмы пересылки могут реализовываться с помощью аппаратных средств, программного обеспечения или с помощью как того, так и другого, но их целью всегда является отправка пакетов за минимально возможное время.

В маршрутизаторах Cisco доступны следующие алгоритмы коммутации:

Алгоритм пересылки Команда (подается в режиме настройки интерфейса)
Быстрая коммутация ip route-cache
Коммутация одного интерфейса ip route-cache same-interface
Автономная коммутация (только для платформ серии 7000) ip route-cache cbus
Полупроводниковая коммутация (только для платформ серии 7000 с установленной поддержкой SSP-протокола) ip route-cache sse
Распределенная коммутация (только для VIP-совместимых платформ) ip route-cache distributed
Оптимальная коммутация (только для профессиональных моделей маршрутизаторов) ip route-cache optimum
Коммутация NetFlow ip route-cache flow
CEF-коммутация (Cisco Express Forwarding) ip cef
Распределенная CEF-коммутация ip cef distributed

Далее приведем краткое описание каждого алгоритма пересылки пути маршрутизации в зависимости от производительности. Автономная коммутация и полупроводниковая коммутация не рассматриваются, поскольку они относятся к технологиям с использованием аппаратных средств.

Коммутация на уровне обработки

Коммутация на уровне обработки — наиболее простой метод обработки пакетов. Пакет помещается в очередь, относящуюся к протоколу третьего уровня, а затем соответствующий процесс обрабатывается планировщиком. Этот процесс является одним из процессов, которые отображаются в результате выполнения команды show processes cpu (а именно, "ip input" для IP-пакета). На этом этапе пакет остается в очереди до тех пор, пока планировщик предоставляет соответствующему процессу ресурсы процессора. Время ожидания зависит от количества процессов, которые ожидают выполнения, а также от количества пакетов, которые необходимо обработать. Затем на основе таблицы маршрутизации принимается решение о маршрутизации. Инкапсуляция пакета изменяется для согласования с исходящим интерфейсом, а пакет помещается в исходящую очередь соответствующего исходящего интерфейса.

Быстрая коммутация

В режиме быстрой коммутации процессор принимает решение о пересылке на уровне прерываний. Сведения, извлекаемые из таблицы маршрутизации, и сведения об инкапсуляции исходящих интерфейсов объединяются для формирования кэша быстрой коммутации. Каждая запись кэша состоит из IP-адреса назначения, идентификации исходящего интерфейса и сведений MAC-перезаписи. Кэш быстрой коммутации имеет структуру бинарного дерева.

Если для определенного узла назначения в кэше быстрой коммутации отсутствуют какие-либо записи, то текущий пакет должен быть поставлен в очередь для коммутация на уровне обработки. Когда подходящий процесс принимает решение о пересылке этого пакета, он создает запись в кэше быстрой коммутации, а все последующие пакеты для того же самого узла назначения могут быть пересланы на уровне прерывания.

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

Оптимальная коммутация

Оптимальная коммутация аналогична быстрой коммутации, но для нее используется многомерное дерево с 256 путями (mtree) вместо двоичного, что означает большую нагрузку на память и необходимость более быстрого поиска в кэше.

CEF-маршрутизация

  1. Первый пакет для конкретного адресата всегда коммутируется процессом, чтобы инициализировать быстрое кэширование.
  2. Быстрый кэш может стать очень большим. Например, если к одной и той же сети имеются несколько маршрутов с одинаковой затратностью, то быстрый кэш наполняется записями об узлах, а не записями о сети, как было описано выше.
  3. Не существует прямой связи между быстрым кэшем и таблицей протокола разрешения адресов (ARP-таблица). Если в ARP-кэше запись становится неверной, то в быстром кэше не существует способа объявления ее недействительной. Чтобы избежать этой проблемы, необходимо каждую минуту произвольным образом сбрасывать 1/20-ую часть записей кэша. Сбрасывание записей и перезагрузка кэша могут значительно повысить нагрузку на процессор в очень больших сетях.

Еще одно преимущество CEF-маршрутизации заключается в том, что структура базы данных позволяет распределять нагрузку для каждого узла назначения или для каждого пакета.

Распределенная быстрая/оптимальная коммутация

Распределенная быстрая/оптимальная коммутация снимает нагрузку с процессора (процессор маршрутизации и коммутации [RSP]) благодаря тому, что решение о маршрутизации принимают процессоры интерфейсов (IP). Это возможно только на профессиональных платформах, которые могут иметь выделенные процессоры на каждом интерфейсе (многоцелевые интерфейсные процессоры [VIP], линейные платы [LC]). В этом случае быстрый кэш просто выгружается в VIP. При получении пакета VIP пытается принять решение о маршрутизации на основе этой таблицы. Если это удается, то пакет непосредственно ставится в очередь исходящего интерфейса. При отказе пакет ставится в очередь на следующий настраиваемый путь коммутации (оптимальная коммутация -> быстрая коммутация -> коммутация на уровне обработки).

При использовании распределенной коммутации списки контроля доступа копируются в VIP, а это значит, что VIP может проверить пакет на присутствие в списке управления доступом без вмешательства RSP.

Распределенная CEF-коммутация

Распределенная CEF-коммутация (dCEF-коммутация) похожа на распределенную коммутацию, но при этом существуют несколько проблем синхронизации между таблицами. dCEF-коммутация является единственным распределенным методом коммутации, доступным в операционной системе Cisco IOS версии 12.0. Важно знать, что если распределенная коммутация разрешена на маршрутизаторе, то таблицы FIB/смежности выгружаются на все VIP в маршрутизаторе вне зависимости от CEF/dCEF-настройки интерфейса.

С помощью dCEF-коммутации VIP также обрабатывает списки контроля доступа, данные маршрутизации на основе политик и правила скорости передачи, которые все содержатся в VIP-карте. Netflow можно использовать совместно с dCEF для улучшения обработки списка управления доступом процессорами VIP.

В нижеприведенной таблице для каждой платформы показано, какой путь маршрутизации поддерживается различными версиями операционной системы Cisco IOS.

Младшие

Инициализирует кэш коммутации

По умолчанию для профессиональных
моделей
для IP до версии 12.0

моделей для IP начиная с версии 12.0

(1) Включает модели с 801 по 805.

(2) Включает модели 806 и выше, серии 1000, 1400, 1600, 1700, 2600, 3600, 3700, 4000, AS5300, AS5350, AS5400 и AS5800.

(3) Поддержка NetFlow Export версий 1, 5 и 8 на платформах 1400, 1600 и 2500 предназначена для операционной системы Cisco IOS версии 12.0

(4)T. Поддержка NetFlow для этих платформ не доступна в операционной системе Cisco IOS основной версии 12.0.

Коммутация NetFlow

Коммутация NetFlow (в данном случае) — неправильное употребление термина, усугубленное тем фактом, что она настраивается так же, как и путь маршрутизации. Фактически, коммутация NetFlow не является путём маршрутизации, так как NetFlow-кэш не содержит или не указывает на данные, необходимые для перезаписи второго уровня. Решение о коммутации должно быть принято с помощью активного пути маршрутизации.

При NetFlow-коммутации маршрутизатор классифицирует трафик в каждом потоке. Поток — это однонаправленная последовательность пакетов между заданным источником и конечными узлами сети. Для определения потока маршрутизатор использует адреса отправителя и получателя, номера портов транспортного уровня, тип IP-протокола, тип обслуживания (ToS) и исходный интерфейс. Этот способ классификации трафика позволяет маршрутизатору срабатывать только первый пакет потока при работе с такими ресурсоемкими объектами, как большие списки контроля доступа, очереди, политики учета, биллинговые системы и т.п

Распределенные службы

Профессиональные платформы позволяют передавать несколько задач с высокой загрузкой процессора (не только алгоритмы коммутации пакетов) от главного процессора на распределенные процессоры, например на процессоры плат VIP (7500). Некоторые из данных задач могут быть переданы от универсального процессора на конкретные адаптеры порта или сетевые модули, на которых реализованы функции выделенного аппаратного обеспечения.

Обычно, по возможности, задачи передают от главного процессора VIP-процессорам. Это высвобождает ресурсы и увеличивает производительность маршрутизатора. Некоторые процессы, которые можно перенести — сжатие пакетов, шифрование пакетов и справедливая постановка в очередь на основе весов. Дополнительные сведения о задачах, которые можно разгрузить, см. в нижеследующей таблице.

Выбор пути коммутации

Основное правило состоит в том, что следует выбирать наилучший из доступных коммутируемых путей (от самого быстрого к самому медленному): dCEF, CEF, оптимальный и быстрый. Разрешение использовать CEF или dSEF дает наилучшие характеристики. Разрешение использовать коммутацию NetFlow позволяет увеличивать или уменьшать производительность в зависимости от выбранных настроек. Если списки контроля доступа очень большие, или если требуется ведение некоторого учета, или и то и другое, то рекомендуется использовать коммутацию NetFlow. Обычно NetFlow разрешается использовать на оконечных коммутаторах, обладающих достаточной мощностью центрального процессора и использующих множество функций. Если в одном интерфейсе настроено несколько путей коммутации (например, пути быстрой коммутации и CEF), то маршрутизатор будет последовательно пытаться использовать все настроенные пути, начиная с наилучшего — (CEF) и заканчивая наихудшим — коммутацией на уровне обработки.

Текущий контроль маршрутизатора

Для проверки эффективности использования путей маршрутизации и уровней загрузки маршрутизаторов используйте следующие команды.

show ip interfaces: эта команда предоставляет обзор коммутируемого маршрута, примененного к конкретному интерфейсу.

Router#show ip interfaces
Ethernet0/0 is up, line protocol is up
Internet address is 10.200.40.23/22
Broadcast address is 255.255.255.255
Address determined by setup command
MTU is 1500 bytes
Helper address is not set
Directed broadcast forwarding is disabled
Outgoing access list is not set
Inbound access list is not set
Proxy ARP is enabled
Security level is default
Split horizon is enabled
ICMP redirects are always sent
ICMP unreachables are always sent
ICMP mask replies are never sent
IP fast switching is enabled
IP fast switching on the same interface is disabled
IP Flow switching is disabled
IP CEF switching is enabled

IP Fast switching turbo vector
IP Normal CEF switching turbo vector
IP multicast fast switching is enabled
IP multicast distributed fast switching is disabled
IP route-cache flags are Fast, CEF
Router Discovery is disabled
IP output packet accounting is disabled
IP access violation accounting is disabled
TCP/IP header compression is disabled
RTP/IP header compression is disabled
Probe proxy name replies are disabled
Policy routing is disabled
Network address translation is disabled
WCCP Redirect outbound is disabled
WCCP Redirect inbound is disabled
WCCP Redirect exclude is disabled
BGP Policy Mapping is disabled

Из вышеприведенного результата выполнения команды можно видеть, что быстрая коммутация и коммутация CEF разрешены, а коммутация NetFlow отключена.

show processes cpu: эта команда отображает полезные сведения о загрузке процессора.

Router#show processes cpu
CPU utilization for five seconds: 0%/0%; one minute: 0%; five minutes: 0%

PID Invoked Runtime(ms) uSecs 5Sec 1Min 5Min TTY Process
1 28 396653 0 0.00% 0.00% 0.00% 0 Load Meter
2 661 33040 20 0.00% 0.00% 0.00% 0 CEF Scanner
3 63574 707194 89 0.00% 0.00% 0.00% 0 Exec
4 1343928 234720 5725 0.32% 0.08% 0.06% 0 Check heaps
5 0 1 0 0.00% 0.00% 0.00% 0 Chunk Manager
6 20 5 4000 0.00% 0.00% 0.00% 0 Pool Manager
7 0 2 0.00% 0.00% 0.00% 0 Timers
8 100729 69524 1448 0.00% 0.00% 0.00% 0 Serial Backgroun
9 236 66080 3 0.00% 0.00% 0.00% 0 Environmental mo
10 94597 245505 385 0.00% 0.00% 0.00% 0 ARP Input
11 0 2 0 0.00% 0.00% 0.00% 0 DDR Timers
12 0 2 0 0.00% 0.00% 0.00% 0 Dialer event
13 8 2 4000 0.00% 0.00% 0.00% 0 Entity MIB API
14 0 1 0 0.00% 0.00% 0.00% 0 SERIAL A’detect
15 0 1 0 0.00% 0.00% 0.00% 0 Critical Bkgnd
16 130108 473809 274 0.00% 0.00% 0.00% 0 Net Background
17 8 327 24 0.00% 0.00% 0.00% 0 Logger
18 573 1980044 0 0.00% 0.00% 0.00% 0 TTY Background
[. ]

show memory summary: первые строки, отображаемые в результате выполнения этой команды, дают полезную информацию об использовании памяти маршрутизатора и о памяти/буфере.

Router#show memory summary

Head Total(b) Used(b) Free(b) Lowest(b) Largest(b)
Processor 8165B63C 6965700 4060804 2904896 2811188 2884112
I/O 1D00000 3145728 1770488 1375240 1333264 1375196
[. ]

show interfaces stat и show interfaces switching: эти две команды показывают, какой путь использует маршрутизатор и как коммутируется трафик.

Router#show interfaces stat

Ethernet0
Switching path Pkts In Chars In Pkts Out Chars Out
Processor 52077 12245489 24646 3170041
Route cache 0 0 0 0
Distributed cache 0 0 0 0
Total 52077 12245489 24646 3170041

Router#show interfaces switching

Ethernet0
Throttle count 0
Drops RP 0 SP 0
SPD Flushes Fast 0 SSE 0
SPD Aggress Fast 0
SPD Priority Inputs 0 Drops 0
Protocol Path Pkts In Chars In Pkts Out Chars Out
Other Process 0 0 595 35700
Cache misses 0
Fast 0 0 0 0
Auton/SSE 0 0 0 0
IP Process 4 456 4 456
Cache misses 0
Fast 0 0 0 0
Auton/SSE 0 0 0 0
IPX Process 0 0 2 120
Cache misses 0
Fast 0 0 0 0
Auton/SSE 0 0 0 0
Trans. Bridge Process 0 0 0 0
Cache misses 0
Fast 11 660 0 0
Auton/SSE 0 0 0 0
DEC MOP Process 0 0 10 770
Cache misses 0
Fast 0 0 0 0
Auton/SSE 0 0 0 0
ARP Process 1 60 2 120
Cache misses 0
Fast 0 0 0 0
Auton/SSE 0 0 0 0
CDP Process 200 63700 100 31183
Cache misses 0
Fast 0 0 0 0
Auton/SSE 0 0 0 0

Есть вопросы?
Обращайтесь в "Аквилон-А", чтобы узнать подробности и получить именно то, что вам требуется.

Check heaps что за процесс

Completing the CAPTCHA proves you are a human and gives you temporary access to the web property.

What can I do to prevent this in the future?

If you are on a personal connection, like at home, you can run an anti-virus scan on your device to make sure it is not infected with malware.

If you are at an office or shared network, you can ask the network administrator to run a scan across the network looking for misconfigured or infected devices.

Another way to prevent getting this page in the future is to use Privacy Pass. You may need to download version 2.0 now from the Chrome Web Store.

Cloudflare Ray ID: 71a8162a5e309a30 • Your IP : 82.102.23.104 • Performance & security by Cloudflare

  1. Просмотрите структуру памяти для того, чтобы определить адрес следующего узла и исходящий интерфейс.
  2. Выполните перезапись на втором уровне модели взаимодействия открытых систем (OSI), также называемой MAC-перезаписью, которая означает изменение инкапсуляции пакета для согласования с исходящим интерфейсом.
  3. Поместите пакет в кольцо передачи или в очередь исходящего интерфейса.
  4. Обновите подходящие структуры памяти (сбросьте таймеры в кэше, обновите счетчики и т.д.).
  • Трафик, направляемый на маршрутизатор (трафик протокола маршрутизации, простой протокол сетевого управления (SNMP-протокол), Telnet, TFTP-протокол, команда ping и т.д.). Управляющий трафик может быть исходной точкой и направляться на маршрутизатор. Пакеты такого типа содержат информацию о процессах, относящихся к отдельным задачам;
  • Ориентированные на подключение инкапсуляции второго уровня модели OSI (например, стандарт X.25). Некоторые задачи слишком сложны для кодирования в путь с коммутацией на уровне прерываний, так как содержат слишком много исполняемых инструкций или требуют большого количества таймеров и окон. Примером этого являются функция шифрования, трансляция LAT-протокола и протокол Data-Link Switching Plus (DLSW+).
Алгоритм пересылки Команда (подается в режиме настройки интерфейса)
Быстрая коммутация ip route-cache
Коммутация одного интерфейса ip route-cache same-interface
Автономная коммутация (только для платформ серии 7000) ip route-cache cbus
Полупроводниковая коммутация (только для платформ серии 7000 с установленной поддержкой SSP-протокола) ip route-cache sse
Распределенная коммутация (только для VIP-совместимых платформ) ip route-cache distributed
Оптимальная коммутация (только для профессиональных моделей маршрутизаторов) ip route-cache optimum
Коммутация NetFlow ip route-cache flow
CEF-коммутация (Cisco Express Forwarding) ip cef
Распределенная CEF-коммутация ip cef distributed
  1. Первый пакет для конкретного адресата всегда коммутируется процессом, чтобы инициализировать быстрое кэширование.
  2. Быстрый кэш может стать очень большим. Например, если к одной и той же сети имеются несколько маршрутов с одинаковой затратностью, то быстрый кэш наполняется записями об узлах, а не записями о сети, как было описано выше.
  3. Не существует прямой связи между быстрым кэшем и таблицей протокола разрешения адресов (ARP-таблица). Если в ARP-кэше запись становится неверной, то в быстром кэше не существует способа объявления ее недействительной. Чтобы избежать этой проблемы, необходимо каждую минуту произвольным образом сбрасывать 1/20-ую часть записей кэша. Сбрасывание записей и перезагрузка кэша могут значительно повысить нагрузку на процессор в очень больших сетях.

Коммутация NetFlow

Router#show ip interfaces
Ethernet0/0 is up, line protocol is up
Internet address is 10.200.40.23/22
Broadcast address is 255.255.255.255
Address determined by setup command
MTU is 1500 bytes
Helper address is not set
Directed broadcast forwarding is disabled
Outgoing access list is not set
Inbound access list is not set
Proxy ARP is enabled
Security level is default
Split horizon is enabled
ICMP redirects are always sent
ICMP unreachables are always sent
ICMP mask replies are never sent
IP fast switching is enabled
IP fast switching on the same interface is disabled
IP Flow switching is disabled
IP CEF switching is enabled

IP Fast switching turbo vector
IP Normal CEF switching turbo vector
IP multicast fast switching is enabled
IP multicast distributed fast switching is disabled
IP route-cache flags are Fast, CEF
Router Discovery is disabled
IP output packet accounting is disabled
IP access violation accounting is disabled
TCP/IP header compression is disabled
RTP/IP header compression is disabled
Probe proxy name replies are disabled
Policy routing is disabled
Network address translation is disabled
WCCP Redirect outbound is disabled
WCCP Redirect inbound is disabled
WCCP Redirect exclude is disabled
BGP Policy Mapping is disabled

Router#show processes cpu
CPU utilization for five seconds: 0%/0%; one minute: 0%; five minutes: 0%

Похожие статьи