Маршрутизаторы Cisco 7200

Маршрутизаторы серии 7200 были первыми устройствами Cisco, использующими шину PCI, ставшую в настоящее время промышленным стандартом. Данные маршрутизаторы имеют модульную структуру, которая использует заменяемые интерфейсы доступа к среде передачи данных, называемые модулями портов (port adapters), и сменный основной процессор, называемый сетевым операционным модулем (Network Processing Engine — NPE).

Существует много конфигураций маршрутизаторов серии 7200, которые основаны на комбинациях моделей шасси и различных модулях NPE. Количество разъемов и тип установленной материнской платы различаются в зависимости от модели шасси:

    • Базовая материнская плата содержит две шины PCI, работающие на частоте 25 МГц. Каждая шина присоединена к половине установленных на шасси разъемов. Данный тип материнских плат поддерживает все модули NPE кроме NРЕ-300.

    • Плата VXR ("Voice eXchange Router" - "Very eXpensive Router" - "Voice extended Router") содержит две двухскоростные шины PCI, которые могут работать на частотах 25 или 50 МГц. Каждая шина присоединена к половине разъемов, установленных на шасси. На плате находится устройство мультиплексора с разделением по времени (time division multiplexing — TDM) с двумя выделенными линиями связи, которые называются сменными многофункциональными контактами (Multiservice Interchange Connections), для каждого из разъемов. Данный тип материнских плат первоначально разрабатывался для работы с модулями NPE-300, но он также поддерживает все остальные устройства типа NPE.

Шасси для маршрутизаторов серии 7200 реализуются в комплекте с двумя, четырьмя и шестью разъемами. Ниже описаны возможные конфигурации шасси для устройств 7200:

    • Модель 7202 — шасси с двумя разъемами, используемое в некоторых специальных приложениях. Маршрутизаторы с данным типом шасси имеют исходную материнскую плату с частотой 25 МГц и поддерживают только модуль NPE-150.

    • Модель 7204 — шасси с четырьмя разъемами и базовой материнской платой.

    • Модель 7206 — шасси с шестью разъемами и материнской платой VXR.

    • Модель 7204VXR — шасси с четырьмя разъемами и материнской платой VXR.

    • Модель 7206VXR — шасси с шестью разъемами и материнской платой VXR.

Для маршрутизаторов серии 7200 было разработано несколько вариантов модулей NPE, все функций которого определяются MIPS-совместимым процессором. Большинство модулей (за исключением нескольких) такого типа являются взаимозаменяемыми. Например, шасси с двумя разъемами поддерживает модули версии NPE-150, а NPE-300 поддерживается только в шасси с материнской платой VXR. Каждый тип модуля NPE отличается только скоростью процессора и типом встроенной памяти, что подробно описано ниже.

    • Модуль NPE-100 — первый NPE-модуль для маршрутизаторов серии 7200; работающий на частоте 100 МГц и содержащий процессор с соответствующей частотой VR4700-100 и память DRAM (без памяти типа SRAM),

    • Моду ль NPE-150 — содержит работающий на частоте 150 МГц процессор VR4700-150. Память DRAM используется в качестве основной памяти, а устройства хранения типа DRAM и SRAM — в качестве памяти для хранения пакетов.

    • Модуль NPE-175 — содержит работающий на частоте 200 МГц процесса RM 5270-200 с унифицированным кэшем объемом 2Мбайт. В качестве основной памяти и памяти для хранения пакетов используется устройство типа SDRAM.

    • Модуль NPE-200 — содержит работающий на частоте 200 МГц процессор VR5000-200. Память типа DRAM используется в качестве основной, а устройства типа DRAM и SRAM — как память для хранения пакетов.

    • Модуль NPE-225 — содержит работающий на частоте 262 МГц процессор RM5271-262 с унифицированным кэшем объемом 2 Мбайт. В качестве основной памяти и памяти для хранения пакетов используется устройство хранения типа SDRAM.

    • Модуль NPE-300 — содержит работающий на частоте 300 МГц процессор RM7000-300 и два независимых.банка памяти SDRAM. Для улучшения производительности данный модуль имеет два различных контроллера шины памяти PCI, которые предоставляют одновременный доступ к SDRAM-памяти с двух различных модулей портов. Кроме того, устройство NPE-300 может работать на шинах PCI на частоте 50 МГц и требует наличия материнской платы VXR.

    • Модуль NPE-400 https://www.cisco.com/c/en/us/products/routers/7200-series-routers

    • Модуль NPE-G2 https://www.cisco.com/c/en/us/products/routers/7200-series-routers

Аппаратное устройство маршрутизаторов 7200

Аппаратная структура маршрутизаторов серии 7200 меняется от модели к модели и зависит от комбинации шасси и модулей NPE. В общем случае структура может быть разделена на две основные части:

    • маршрутизаторы с базовой материнской платой и ранними типами устройств NPE (NPE-100, NPE-150, NPE-200)

    • маршрутизаторы с материнской платой VXR и модулями NPE-300.

На рис. 5.3 представлены компоненты маршрутизаторов серии 7200 для конструкций с базовой материнской платой, а именно — маршрутизатор 7206 с модулем NPE-150.

Функции компонентов устройств серии 7200, приведенных на рис. 5.3, подробно описаны ниже.

    • Модуль NPE содержит основную память, процессор, память шины PCI (устройство типа SRAM, за исключением модуля N РЕ-100, который использует память DRAM) и управляющую схему шин PCI. Как было описано выше, в базовых материнских платах поддерживаются почти все модели устройств NPE, совместимые с исходной материнской платой, за исключением NPE-300.

    • Шина PCI. В маршрутизаторах серии 7200 используются три шины PCI: PCI 0, PCI 1 и PCI 2. Шины PCI 1 и PCI 2 физически расположены между модулем NPE и материнской платой и соединяют модули портов с находящимися в устройстве NPE процессором и памятью. Шина PCI 0 — это отдельная шина, соединяющая модули портов и разъемы PCMCIA контроллера ввода-вывода с находящимися в модуле NPE процессором и памятью. Шины PCI О, PCI 1 и PCI 2 работают на частоте 25 МГц, что обеспечивает пропускную способность каждой из них до 800 Мбит/с.

    • Шина ввода-вывода — эта шина соединяет все устройства, не работающие с шиной PCI (консольный и AUX-порт, память NVRAM, загрузчики ROM и Fjash) с процессором модуля NPE.

    • Модули портов — это Модульные контроллеры интерфейса, содержащие, кольца передачи и приема пакетов из физической среды передачи данных. Точно такие же модули портов используются в VIP-процессорах маршрутизаторов Cisco серии 7500. Обе Платформы поддерживают большинство модулей портов, за редким исключением устройств, специфичных для платформ.

    • Контроллер ввода-вывода обеспечивает подключение к консольному устройству, порту модема AUX, памяти NVRAM, загрузчикам ROM и Flash и встроенному контроллеру интерфейса, а также к интерфейсам Ethernet или Fast Ethernet. Посредством шины PCI 0 контроллер ввода-вывода обеспечивает доступ к модулям Flash-памяти, находящимся внутри модуля PCMCIA.

На рис. 5.4 показана аппаратная структура маршрутизатора Cisco 7200VXR. В данном примере рассмотрены шасси 7206VXR и NPE-300.



На рис. 5.4 приведены элементы аппаратной схемы маршрутизатора Cisco 7200VXR, которые подробно описаны ниже.

    • Сетевой операционный модуль (NPE) — содержит основную память, процессор, память шины PCI и схему управления шиной PCI. Устройство NPE-300 содержит два контроллера шины PCI и два независимых банка памяти SDRAM, которые используются как для основной памяти, так и для динамической пакетной.

    • Шина PCI. В маршрутизаторах серии 7200VXR присутствуют три разновидности шины PCI: PCI 0, PCI 1 и PCI 2. Шины PCI 1 и PCI 2 расположены между модулем NPE и материнской платой и соединяют модули портов с находящимися в устройстве NPE процессором и памятью. Шина PCI 0 — это отдельная шина, соединяющая модули портов и разъемов или устройств PCMCIA контроллера ввода-вывода с находящимися в модуле NPE процессором и памятью. Шина PCI 0 работает на частоте 25 МГц. В том случае, если установлен модуль NPE, способный работать на частоте 50 МГц (как в данном примере NPE-300), то шины PCI 1 и PCI 2 работают на частоте 50 МГц, в противном случае данные шины будут работать на частоте 25 МГц. :

    • TDM-коммутатор. Материнская плата содержит мультиплексор с разделением времени (TDM) c двумя выделенными соединениями к каждому слоту шасси. TDM-коммутатор обеспечивает взаимодействие модулей портов, которые имеют TDM-интерфейсы.

    • Шина ввода-вывода — соединяет все устройства, которые не работают с шиной PCI (порт консольного устройства, AUX-порт, память NVRAM, загрузчики ROM и Flash), с находящимся в модуле NPE процессором.

    • Модули портов — обычно это точно такие же карты, которые используются в обычных маршрутизаторах 7200 (не VXR), за исключением тех, которые требуют коммутатора TDM и поэтому могут быть установлены только на моделях 7200VXR. Конфигурация модели 7200VXR поддерживает адаптеры портов, которые работают с шиной PCI как на частоте 25 МГц, так и 50 МГц; несогласованность скорости шины разрешается на материнской плате.

    • Контроллер ввода-вывода обеспечивает подключение к консольному порту, шине AUX, памяти NVRAM, загрузчикам ROM и Flash и встроенному контроллеру интерфейса, а также к интерфейсам Ethernet или Fast Ethernet. Контроллер ввода-вывода также обеспечивает доступ к модулям Flash-памяти в разъеме карт PCMCIA посредством шины PCI 0.

Память

В зависимости от модели устройства NPE маршрутизаторы серии 7200 используют память типа DRAM, SDRAM и SRAM в различных комбинациях. Три пула памяти делят всю доступную память на следующие области: стандартный пул памяти процессора, пул ввода-вывода и пул PCI (в случае использования модуля NPE-300 используются два пула ввода-вьгвода — I/O и I/0-2).

В примере 5.2 показан результат выполнения команды show memory, который содержит информацию обо всех приведенных выше пулах. Первая часть примера предоставляет информацию о распределении памяти для маршрутизатора с модулем NРЕ-200, вторая часть — результат выполнения команды для устройства NPE-300.

На рис. 5.5 показаны пулы памяти, приведенные в примере 5.2, и принцип выделения свободной памяти при использовании двух различных модулей NPE. Как операционная система IOS распределяет доступную память между разными пулами, описано ниже.

Память процессора

Пул памяти процессора используется для хранения кода операционной системы IOS, общих структур данных (таких как таблицы маршрутизации) и системных буферов. Данная область выделяется из памяти DRAM для модулей NPE-100, NPE-150 и NPE-200 или памяти SDRAM для устройств NPE-175 и NPE-225; или из нулевого банка памяти SDRAM для NPE-300.

Память ввода-вывода

Пул памяти ввода-вывода используется для фрагментарных пулов и из него выделяются как локальные фрагментарные пулы интерфейсов, так и общий пул, называемый нормальным. Для платформ с устройствами NPE-100, NPE-150 и NPE-200 такой пул создается в памяти DRAM, так что его основное предназначение — это выделение локальных (приватных) фрагментарных пулов для более медленных по скорости интерфейсов. Размер памяти ввода-вывода зависит от общего объема памяти DRAM, доступной в NPE. Например, в модуле NPE-150 объем и распределение памяти ввода-вывода определяются по совокупности правил, приведенных ниже.

    • Если модуль NPE-150 содержит всего 16 Мбайт памяти DRAM, то для памяти ввода-вывода выделяется 4 Мбайт.

    • Если модуль NPE-150 содержит от 24 до 48 Мбайт памяти DRAM, из них для памяти ввода-вывода выделяется 6 Мбайт.

    • Если модуль NPE-150 содержит более 48 Мбайт памяти DRAM, то для памяти ввода-вывода выделяется 8 Мбайт.

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

В устройствах NPE-300 пул памяти ввода-вывода создается на основе первого банка памяти SDRAM, и его размер устанавливается равным 32 Мбайт. Для такого модуля все локальные фрагментарные пулы интерфейсов создаются в памяти ввода-вывода, независимо от скорости среды передачи данных.


Память шины PCI

Пул памяти шины PCI используется для передающих и приемных колец интерфейсов. В некоторых случаях для высокоскоростных интерфейсов пул шины PCI используется для выделения памяти под локальные фрагментарные пулы интерфейсов. В случае использования модулей NPE-175, NPE-225 и NPE-300 такой пул создается в области памяти SDRAM. В случае использования устройств NPE-150 и NPE-200 пул PCI-памяти полностью создается в области SRAM. Обычно пул памяти шины PCI очень мал. Как видно из примера 5.2, модуль NPE-200 содержит только 4 Мбайт PCI-памяти, а модуль NPE-300 — около 8 Мбайт, обозначенной как I/O-2.

Коммутация пакетов в маршрутизаторах Cisco серии 7200

Маршрутизаторы серии 7200 поддерживают программную коммутацию, быструю коммутацию и быструю пересылку корпорации Cisco (CEF), однако не поддерживают ни одну из форм распределенной коммутации. Все задачи коммутации выполняет процессор, установленный в модуле NPE.

Этап получения пакета

Процесс получения пакета проиллюстрирован на рис. 5.6.

    • Этап 1. Пакет из среды передачи данных копируется в ряд фрагментов, логически связанных с приемным кольцом интерфейса. Фрагменты могут располагаться как в памяти ввода-вывода, так и в памяти шины PCI, что зависит от платформы и скорости среды передачи данных интерфейса.

    • Этап 2. Интерфейс отправляет прерывание процессору.

    • Этап 3. Операционная система IOS подтверждает прерывание и начинает поиск фрагментов для замены заполненных участков в приемном кольце интерфейса. Сначала система IOS проверяет локальный пул интерфейса и, если он заполнен до отказа, проверяет общий нормальный пул. При недостаточном числе свободных фрагментов для сохранения информации из приемного кольца пакет уничтожается (при этом все заполненные фрагменты приемного кольца очищаются) и значение счетчика “переполнение буфера” (no buffer) увеличивается на единицу. В случае возникновения ситуации, описанной выше, операционная система IOS подавляет (throttle) интерфейс. Если интерфейс подавлен, то все приходящие на него пакеты игнорируются и операционная система активизирует интерфейс после появления свободных фрагментов в полностью заполненных на момент подавления фрагментарных пулах.

    • Этап 4. Сначала операционная система IOS связывает воедино фрагменты,которые составляют пакет, а потом логически привязывает к нему фрагменты заголовка. Далее система заполняет приемное кольцо маркированными фрагментами, связывая заполненные участки.

Этап коммутации пакета

После того как пакет разбит на фрагменты, операционная система IOS приступает к его коммутации. Последовательность данного процесса приведена на рис. 5.7 и подробно описана в следующем ниже списке.

    • Этап 5. Сначала программный код коммутации проверяет кэш маршрутов (быстрый кэш или CEF), для того чтобы определить, может ли пакет быть переключен с помощью какого-либо из алгоритмов быстрой коммутации. Если возможно коммутировать пакет во время обработки прерывания, то происходит переход на этап 6, в противном случае операционная система подготавливает пакет к программной коммутации.

5.1. Пакет объединяется в один непрерывный буфер (системный). Если свободные системные буферы для размещения пакета отсутствуют, он уничтожается и значение счетчика переполнения буфера увеличивается, что можно увидеть в информации, выводимой командой show interface.

Когда операционная система IOS не может выделить буфер для слияния фрагментов пакета, интерфейс подавляется и увеличивается, значение-счетчика подавления (throttles), как показано в приведенном выше примере использования команды show interface. Весь входной трафик при этом игнорируется, и такое положение дел сохраняется до тех пор, пока операционная система IOS не освободит системные буферы интерфейса.

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

5.3. Предположим, что мы работаем с IP-пакетом. Когда в таком случае запускается служба IP Input, он обращается к таблице маршрутизации и определяет выходной интерфейс. Далее служба проверяет таблицы, связанные с выходным интерфейсом, и находит соответствующий MAC-заголовок, который помешается в начало пакета (что не показано на рис.5.7).



5.4. В случае успешной коммутации пакет копируется в исходящую очередь выходного интерфейса.

5.5. Начиная с этого момента система IOS переходит к этапу передачи.

    • Этап 6. Программный код коммутации (быстрая или CEF-коммутация) операционной системы IOS заменяет в МАС-заголовке пакета адрес получателя(что не показано на рис. 5.7). Если новый МАС-заголовок больше исходного, то система IOS выделяет новый фрагмент из пула быстрой коммутации и вставляет его в начале цепочки фрагментов, составляющих пакет, чтобы разместить больший заголовок.

Этап передачи пакета: быстрая и экспресс-коммутация

В приведенном ниже списке описаны основные этапы передачи пакета для быстрой коммутации.

    • Этап 7. Сначала операционная система IOS проверяет выходную очередь интерфейса. Если данная,очередь не пуста или передающая цепь интерфейса заполнена, то полученное прерывание сбрасывается и пакет помешается в исходящую очередь. Даже если интерфейс в данный момент обрабатывает другой программно-коммутированный пакет или запрашивает прерывание на передачу данных, то пришедший пакет все равно будет поставлен в очередь. Если выходная очередь пуста и в передающей цепи имеется свободная память, система IOS переходит к этапу 8.

    • Этап 8. Система IOS связывает фрагменты пакета с передающей цепью интерфейса и освобождает полученное прерывание.

    • Этап 9. Контроллер интерфейса опрашивает передающий интерфейс и определяет новый пакет для передачи.

    • Этап 10. Контроллер интерфейса копирует пакет из передающей "цепи" в среду и вызывает прерывание контроллера

    • Этап 11. IOS подтверждает передающее прерывание и очищает все составляющие пакет фрагменты, потом возвращает освобожденные фрагменты в исходные фрагментарные пулы.

    • Этап 12. Если какие-то пакеты все еще ожидают своей очереди на передачу (например, если исходящая очередь была до сих пор заполнена), то IOS убирает пакеты из очереди и связывает соответствующие им фрагменты с передающей цепью, чтобы контроллер интерфейса мог увидеть освобожденные фрагменты (не показан на рис. 5.8)

    • Этап 13. IOS освобождает передающее прерывание.

Этап передачи пакета: программная коммутация

В данном разделе описаны этапы передачи пакета в случае программной коммутации (на рис. 5.8 они не показаны).

    • Этап 14. Система IOS проверяет размер следующего пакета в исходящей очереди и сравнивает его со свободной памятью в передающей цепи. Если свободного места достаточно, то IOS удаляет пакет из исходящей очереди и связывает его непрерывный пакет (или фрагменты) с передающей цепью. Нужно заметить, что если в исходящей очереди стоит несколько пакетов, то IOS попытается перевести все пакеты из очереди в интерфейсную передающую цепь.

    • Этап 15. Контроллер интерфейса опрашивает передающий интерфейс и замечает новый пакет для передачи.

    • Этап 16. Контроллер интерфейса копирует пакет из передающей цепи в среду и вызывает прерывание контроллера.

    • Этап 17. Система IOS подтверждает передающее прерывание и освобождает непрерывный буфер (или фрагменты), составляющий пакет, возвращая освобожденный буфер (или фрагмент) в исходный пул.

Резюме

Фрагментарная буферизация обеспечивает эффективный способ буферизации пакетов с минимальными потерями памяти. Начиная с операционной системы IOS версии 11.1 фрагментарная буферизация фактически становится основной схемой буферизации маршрутизаторов Cisco; в настоящее время разрабатываются новые устройства, которые используют аналогичную технологию.