Сети Для Самых Маленьких. Часть Четырнадцатая. Путь К Пакету

Пересылающий объект всегда пересылает пакеты в порядке каждого потока ноль, один или несколько собственных интерфейсов передачи объекта пересылки и никогда не пересылает пакет на собственный интерфейс приема пакета.

Брайан Петерсен.

Аппаратно спроектированная сеть Одно из самых удивительных достижений современности – это то, как, сидя в Норильске, человек может пообщаться со своим другом в Таиланде, одновременно купить ему билет на вечерний самолет, расплатившись банковской картой, находясь где-то в Состояния на своем виртуальном счету Бот совершает сделки на бирже так же быстро, как его сын переключает вкладки, когда в комнату входит отец.

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

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

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

скорость света до центров обработки данных по всему миру.

Разве это не электрическое волшебство? В нашем путешествии по QoS, теме, которая уже много раз обещалась, мы совершим еще одну встречу.

На этот раз давайте посмотрим на жизнь пакетов в коммуникационном оборудовании.

Давайте откроем эту синюю коробку и выпотрошим ее.



Сети для самых маленьких.
</p><p>
 Часть четырнадцатая.
</p><p>
 Путь к пакету

Кликабельно и увеличивается.



Сегодня:

  1. Коротко о судьбе и пути посылки
  2. Самолеты (также известные как самолеты): Пересылка/Данные, Контроль, Управление.

  3. Кто, как и почему обрабатывает трафик?
  4. Типы чипов: от ЦП до ASIC
  5. Аппаратная архитектура сетевого устройства
  6. Путешествие на всю жизнь



Забегая вперед, поговорим немного о самолетах и введем некоторые определения.

Итак, есть две плоскости, очень четкое разделение архитектуры сетевого устройства на две части: плоскость управления и плоскость данных.

Это элегантное решение, которое много лет назад позволило абстрагировать путь трафика от физической топологии, что привело к коммутации пакетов, и которое сегодня является основой всей отрасли.

Плоскость данных — это перенаправление трафика от входных интерфейсов к выходным интерфейсам — чуть ближе к месту назначения.

Data Plane руководствуется таблицами маршрутизации/коммутации/меток (далее мы будем называть их таблицы пересылки ).

Здесь нет задержек – все происходит быстро.

Плоскость управления — это уровень протоколов, которые следят за состоянием сети и заполняют таблицы пересылки (BGP, OSPF, LDP, STP, BFD и т. д.).

Здесь можно идти медленнее — главное построить правильные таблицы.

Зачем было такое разделение, читайте в соответствующей главе.

Поскольку все предыдущие 14 деталей СДСМ так или иначе были про плоскость управления, на этот раз речь пойдет о плоскости пересылки.

И прежде всего, давайте введем понятие транзитных и локальных пакетов.

Транзит — Это пакеты, которые обрабатываются исключительно в плоскости данных и не требуют передачи в плоскость управления.

Они пролетают через узел быстро и прозрачно.

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

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

Например, BGP или Targeted LDP. Местный делятся на три различных типа:

  • Предназначен для применения на этом устройстве.

    То есть либо адрес назначения принадлежит ему (настроен на нем).

    Адрес назначения широковещательной рассылки (ARP) или многоадресной рассылки (OSPF Hello), который устройство должно прослушивать.

    Здесь важно понимать, что речь идет об адресе самого внутреннего заголовка пересылки: например, для BGP или OSPF это IP, для ISIS или STP — MAC. В то же время пакет ОКУНАТЬ который является внешним, и ДМАК — локальный, остаётся транзитным, так как пакет нужно доставить к выходному интерфейсу снаружи, а не в Control Plane.
  • Генерируется этим устройством.

    То есть создается на ЦП, на плоскости управления и отправляется на плоскость данных.

  • Транзитные пакеты, требующие обработки на уровне управления.

    Примеры включают пакеты, срок жизни которых истек — вам необходимо сгенерировать ICMP TTL Expired in Transit. Или пакеты с установленной опцией IP: Router Alert или Record Route.

В этой статье мы поговорим обо всех.

Но речь пойдет в основном о транзитных — ведь именно на них провайдер зарабатывает.


1. Коротко о судьбе и пути посылки
Под пакетом мы подразумеваем PDU любого уровня — IP-пакеты, кадры, сегменты и т. д. Нам важно, чтобы это был сформированный пакет информации.

На протяжении всей статьи мы будем рассматривать некий модульный узел, который пересылает пакеты.

Чтобы не запутать читателя, определим, что это маршрутизатор .

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

Во избежание недоразумений и неуместной критики: автор осознает, что реальная ситуация зависит от конкретного устройства.

Однако цель статьи – дать общее представление о принципах работы сетевого оборудования.

В качестве отправной точки мы выберем следующую диаграмму.



Сети для самых маленьких.
</p><p>
 Часть четырнадцатая.
</p><p>
 Путь к пакету

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

  1. Путь разделен на две части: входной и выходной пути.

  2. На входе сначала происходит декапсуляция — отделение заголовка от полезной нагрузки и прочего, свойственного протоколу (например, вычисление контрольной суммы).

  3. Далее идет этап Ingress Processing — сам пакет без заголовка (загрузки) томится в буфере, а заголовок анализируется.

    Здесь к пакетам можно применять политики, искать интерфейс назначения и вывода, создавать копии и т. д.

  4. По завершении анализа заголовок преобразуется в метаданные (временный заголовок), объединяется с пакетом и переносится во входную очередь.

    Это позволяет не отправлять на выходной путь больше, чем он может обработать.

  5. Дальше пакет может дождаться (или запросить) явного разрешения на перемещение в выходную очередь, а может просто передаться туда, а там уже разберутся.

  6. Путей вывода может быть несколько, поэтому пакет затем попадает на фабрику коммутации, цель которой — доставить его к нужному.

  7. На пути вывода также имеется очередь — очередь вывода.

    В нем пакеты ожидают обработки на выходе (Egress Processing): политики, QoS, репликация, формирование.

    Здесь же формируются заголовки будущих пакетов.

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

  8. И завершающий этап — инкапсуляция пакета в подготовленные заголовки и передача его дальше.

Эта упрощенная схема более или менее универсальна.

Давайте немного усложним задачу, взглянув на стек протоколов.

Например, IP-маршрутизатор должен сначала восстановить битовый поток из электрического импульса, затем распознать, какой тип протокола канала используется, определить границы кадра, удалить заголовок Ethernet, узнать, что находится под ним (пусть это будет IP ) и передать IP-пакет для дальнейшей обработки.

Тогда схема будет выглядеть так:

Сети для самых маленьких.
</p><p>
 Часть четырнадцатая.
</p><p>
 Путь к пакету

  1. Модуль заработал первым физический уровень .

    • Используя АЦП восстановил битовый поток — в некотором смысле декапсуляция физического уровня.

    • Работая над портом определенного типа (Ethernet), он понимает, что выходным интерфейсом будет модуль Ethernet.
  2. Далее идет декапсуляция и обработка ввода.

    Ethernet-модуль :

    • Определение границ кадра, преамбулы, ИФГ , ФТС
    • Расчет контрольной суммы
    • Удаление заголовков, разбор на поля
    • Обеспечение соблюдения политик
    • Определяем адрес назначения - он локальный - и далее выходной интерфейс к IP модулю.

  3. Обработка ввода ИП :
    • Удаление заголовков, разбор на поля
    • Обеспечение соблюдения политик
    • Анализ адреса назначения
    • Поиск выходного интерфейса в таблице пересылки
    • Формирование временных внутренних заголовков
    • Склеивание временных заголовков с данными и отправка пакета в выходной путь.

  4. Обработка во входной очереди.

  5. Доставка через коммутационная фабрика.

  6. Обработка в очереди вывода.

  7. На выходном пути модуль ИП выполняет обработку вывода:
    • Применение политик, формирование
    • Формирование итогового заголовка на основе метаданных (временного заголовка) и передача его в Ethernet-модуль.

  8. Следующая обработка вывода включена Ethernet-модуль
    • Поиск в таблице ARP MAC-адреса следующего перехода.

    • Формирование заголовка Ethernet
    • Расчет контрольной суммы
    • Обеспечение соблюдения политик
    • Спуск к физическому модулю.

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

*Порядок действий приблизительный и может варьироваться в зависимости от реализации.




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

Итак, вопрос: аппаратное или программное обеспечение? .

Он преследовал мир IP-сетей с момента его создания, и, как обычно, развитие происходит циклично.

Есть тривиальные вещи, для которых элементная база существует. ммм.

с 60-х годов.

Например, АЦП , аппаратные очереди или процессор.

А есть те, которые стали прорывными сравнительно недавно.

Какие-то функции всегда были и будут аппаратными, какие-то всегда будут программными, а какие-то будут носиться как эта обезьяна.

В этой статье мы в основном будем говорить об аппаратных устройствах, лишь попутно делая замечания о виртуальных.




2. Уровни и плоскости

Сети для самых маленьких.
</p><p>
 Часть четырнадцатая.
</p><p>
 Путь к пакету

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

Работу оборудования можно разделить на три уровня/плоскости:

  • Плоскость пересылки/данных
  • Плоскость управления
  • Плоскость управления


Сети для самых маленьких.
</p><p>
 Часть четырнадцатая.
</p><p>
 Путь к пакету






Плоскость пересылки/данных

Экспедиционный самолет. Основная задача сети — доставка трафика от одного приложения к другому.

И делайте это как можно быстрее, как с точки зрения пропускной способности, так и с точки зрения задержки.

Соответственно, основная задача узла — максимально быстро передать входящий пакет на правильный выходной интерфейс, успев изменить его заголовки и применить политики.

Поэтому существуют предварительно заполненные таблицы передачи пакетов — таблицы коммутации, таблицы маршрутизации, таблицы меток, таблицы соседства и т. д. Они могут быть реализованы на специальных чипах CAM и TCAM, работающих на линейной (интерфейсной) скорости.

Или они могут быть программными.

Примеры:
  1. Получите кадр Ethernet, вычислите контрольную сумму, проверьте, СМАК в таблице MAC-адресов.

    Находить ДМАК в таблице MAC-адресов определяем интерфейс, передаем кадр.

  2. Получите пакет MPLS, определите входной интерфейс и метку входа.

    Найдите таблицу меток, чтобы определить выходной интерфейс и выходную метку.

    Менять.

    Сдавать.

  3. Пришел поток пакетов.

    Выходной интерфейс оказался ЛАГ .

    Решение о том, на какой интерфейс их отправлять, также принимается на уровне пересылки.

Разница между плоскостью данных и пересылкой В подавляющем большинстве случаев считается, что Data и Forwarding Plane — это одно и то же.

Однако иногда они разделяются.

Тогда Data Plane означает именно манипулирование полезной нагрузкой: процесс доставки пакета от входного интерфейса к выходному интерфейсу и его обработки в буферах.

А Forwarding Plane — это обработка заголовков и принятие решений о пересылке.

Как это:

Сети для самых маленьких.
</p><p>
 Часть четырнадцатая.
</p><p>
 Путь к пакету






Плоскость управления

Плоскость управления.

Глава всего.

Она заранее заполняет таблицы, через которые потом будет передаваться трафик.

Он использует протоколы со сложными алгоритмами, которые дорого или невозможно реализовать аппаратно.

Например, Алгоритм Дейкстры На чипе реализовать это можно, но это сложно.

Также сложно выбрать лучший маршрут BGP или определить FEC и распределить метки.

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

В такой ситуации лучше пожертвовать субсекундной сходимостью в пользу удобства и цены.

Таким образом, программное обеспечение работает на процессоре общего назначения.

Получается медленно, но гибко — вся логика программируется.

И на самом деле скорость на Плоскости Управления не важна.

После того, как маршрут рассчитан, он устанавливается в ФИБ, а дальше все зависит от скорости линии.

Вопрос скорости Control Plane возникает при обрывах или колебаниях в сети, но сравнительно успешно решается механизмами TE HSB, TE FRR, IP FRR, VPN FRR, когда альтернативные пути заранее подготавливаются в одной Control Plane. .

Примеры:
  1. Мы запустили сеть с IGP. Необходимо сформировать Hello, согласовать параметры сеанса, обменяться базами данных, рассчитать кратчайшие маршруты, установить их в Таблицу маршрутизации, поддерживать связь через периодические Keepalives.
  2. Я приехал Обновление BGP .

    Control Plane добавляет новые маршруты в таблицу BGP, выбирает лучший, устанавливает его в таблицу маршрутизации и при необходимости пересылает Update дальше.

  3. Администратор включен ЛДП .

    Для каждого префикса создается ТЭК , метка присваивается, помещается в таблицу меток, анонсы идут всем соседям LDP.

  4. Мы собрали два коммутатора в стек.

    Выбор основного, индексация интерфейсов, обновление таблиц пересылки — задача Control Plane.

Работа и реализация Control Plane универсальны: ЦП + ОЗУ: одинаково работает как на стоечных маршрутизаторах, так и на виртуальных сетевых устройствах.

Эта система — не мысленный эксперимент, не разные функции одной программы, это на самом деле физически разделенные пути, взаимодействующие друг с другом.

Все началось с разделения самолетов на разные доски.

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

Вчера появились такие системы, как Cisco Nexus 5000 Switch + Nexus 2000 Fabric Extender, где 2000 выступает в качестве внешней интерфейсной карты для 5000. Где-то в параллельной Вселенной спокойно живет SDN-разлив 1.0 — с Openflow-подобными механизмами, где Control Plane перенесен на внешние контроллеры, а таблицы пересылки загружены на совершенно бестолковые коммутаторы.

Наша реальность и ближайшее будущее — это оверлейные сети (Overlay), настроенные SDN-контроллерами, где сервисы абстрагируются от физической топологии на более высоком уровне иерархии.

И несмотря на то, что с каждой статьей мы глубже погружаемся в детали, мы учимся мыслить свободно и глобально.

Разделение на Control и Forwarding Plane позволило отделить передачу данных от работы протоколов и построения сети, что привело к значительному повышению масштабируемости и отказоустойчивости.

Таким образом, один модуль плоскости управления может поддерживать несколько интерфейсных модулей.

В случае сбоя на плоскости управления механизмы Г.

Р.

, Н.

С.

Р.

, ГРЭС И ИССУ помогите самолету-переносчику продолжать работать, как ни в чем не бывало.






Плоскость управления

Самолет или демон наблюдения.

Его не всегда выделяют в самостоятельную плоскость, возлагая свои задачи на Плоскость Управления, а иногда при выделении их называют Мониторингом.

Этот модуль отвечает за настройку и функционирование узла.

Он отслеживает такие параметры, как:

  • Температура
  • Переработка ресурсов
  • Эисточник питания
  • Скорость вентилятора
  • Производительность плат и модулей.

Примеры:
  1. Упал интерфейс - генерируется авария, лог и лестница к системе мониторинга
  2. Поднялась температура чипа - увеличивается скорость вращения вентилятора
  3. Обнаружил, что одна плата перестала отвечать на периодические запросы - перезагружает платы - и вдруг поднимается.

  4. Оператор подключался через SSH для получения диагностической информации — CLI также предоставляется Control Plane.
  5. Конфигурация Netconf прибыла — Management Plane проверяет и применяет ее.

    При необходимости инструктирует Control Plane о произошедших изменениях и необходимых действиях.




Так: Пересылающий самолет — Передача трафика на основе таблиц переадресации — это, собственно, и есть прибыль оператора.

Плоскость управления — уровень обслуживания, необходимый для создания условий для работы Forwarding Plane. Плоскость управления — модуль, отслеживающий общее состояние устройства.

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



Сети для самых маленьких.
</p><p>
 Часть четырнадцатая.
</p><p>
 Путь к пакету

Разделение на плоскости управления и пересылки/данных не является абстрактным — их функции фактически выполняют разные микросхемы на плате.

Таким образом, плоскость управления обычно реализуется на комбинации ЦП+ОЗУ+карта памяти, а плоскость пересылки — на ASIC, FPGA, CAM, TCAM. Но в мире виртуализации сетевых функций все перепутано — это замечание я сделаю до конца статьи.




3. История методов обработки трафика Теперь с Forwarding Plane все в порядке: 10 Гбит/с, 100 Гбит/с — нет проблем — плати и пользуйся.

Любые политики без влияния на производительность.

Но так было не всегда.

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

Для этого в сетевых устройствах имеется куча разных фишек.



Сети для самых маленьких.
</p><p>
 Часть четырнадцатая.
</p><p>
 Путь к пакету

Это пример интерфейсной платы Cisco. Так, например, микросхемы (ASIC, FPGA) выполняют простые операции, такие как АЦП / ЦАП , вычисление контрольных сумм, буферизация пакетов.

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

И модуль, который будет определять, куда, на какой интерфейс следует передать пакет. Это необходимо сделать для каждого Божьего пакета.

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

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

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

Процессор мог с этим справиться, но он был единственным, кто мог справиться с этим.

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

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

И из обычного x86-сервера роутеры превратились в специализированные сетевые коробки, наполненные непонятными деталями и интерфейсами.

А концентраторы Ethernet превратились в интеллектуальные коммутаторы.

Функции разбора заголовков и их анализа, а также поиска выходного интерфейса взяли на себя ASIC, FPGA, Network Processor. Обработка в очередях, обеспечение QoS и контроль перегрузки также являются специализированными ASIC. Такие вещи, как брандмауэр с отслеживанием состояния, остались на ЦП, потому что количество сеансов было несъедобным.

Еще вопрос: надо где-то хранить таблицы коммутации.

Что-то быстрое.

Первое, что приходит на ум – классическая оперативная память.

Проблема в том, что к нему обращаются по адресу ячейки, а он возвращает ее содержимое (или контент, если не по-русски).

Однако входящий пакет несет не адрес ячейки памяти, а только MAC, IP, MPLS. Тогда нам пришлось бы иметь какой-то хеш-алгоритм, который с помощью ЦП вычислял бы адрес ячейки и извлекал бы оттуда необходимые данные.

Но пропускная способность порта 10 Гбит/с означает, что ЦП должен передавать 1 бит каждые 10 нс.

И на передачу пакета размером в один килобайт у него есть около 80 микросекунд. Однако вычисление хеша — очень простой алгоритм, и с ним справится любой уважающий себя ASIC. Инженерам был задан вопрос: что дальше делать с хешем? Так появилась память CAM — Адресуемая память по содержимому .

Его адреса представляют собой хеши значений.

В своей ячейке CAM содержит либо значение ответа (например, номер порта), либо чаще адрес ячейки в обычной оперативной памяти.

То есть пришел кадр Ethernet, асики разорвали его на заголовки и вытащили ДМАК — прогнали через CAM и получили нужный исходящий интерфейс.

Подробнее о CAM ниже.






Что с тобой, ИП?!

Я не зря в качестве примера взял фрейм Ethernet. ИП – это совсем другая история.

Переключение MAC-адресов осуществляется просто: нет агрегации маршрутов, нет совпадений по самому длинному префиксу — всего 48 уникальных битов.

Но в IP все это есть.

У нас в Таблице маршрутизации может быть несколько маршрутов с разной длиной маски, и нам нужно выбрать самый длинный.

Это основной принцип IP-маршрутизации, с которым невозможно спорить или который невозможно обойти.

Кроме того, существуют сложные списки ACL с подстановочными масками.

Долгое время не было решения этой проблемы.

На заре развития сетей с коммутацией пакетов IP-пакеты обрабатывались центральным процессором.

И основная проблема при этом даже не в переключении линейной скорости (хотя и это тоже), а во влиянии дополнительных настроек на производительность.

Такое еще можно увидеть на каком-нибудь домашнем Микротике, если настроить на нем с десяток ACL, то сразу заметите, как падает пропускная способность.

Интернет рос, политик становилось все больше и больше, а требования к пропускной способности прыгали вверх и вниз, а камнем преткновения стал процессор.

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

Так в лихие 90-е годы родился MPLS. Какая блестящая идея заранее построить путь на плоскости управления.

Адресация в MPLS будет меткой фиксированной длины, и, соответственно, необходима единственная запись в таблице меток, чтобы определить, что делать с пакетом дальше.

При этом мы не теряем гибкости IP, поскольку он лежит в основе, и мы можем использовать CAM. Плюс заголовок MPLS короткий (4 байта против 20 в IP) и предельно простой.

Однако, по иронии судьбы, в это же время инженеры совершили прорыв, разработав TCAM — Ternary CAM. И с тех пор ограничений (хотя и не без оговорок) почти не было.

Подробнее о TCAM дальше.

Что касается МПЛС, которому из-за этого события пришлось скоропостижно умереть, то сразу же после рождения он прорезал себе дверь в другой дом.

Но мы уже об этом говорим много говорил .






О дивный новый мир

В последнее десятилетие вокруг SDN и NFV было много ажиотажа.

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

  • Нам нужна маршрутизация и коммутация внутри одного сервера между разными виртуальными машинами.

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

  • Цепочки услуг, такие как Anti-DDoS, IDS/IPS, FW, включают в себя программно-управляемую маршрутизацию и автоматическую настройку сетевых узлов.

Поэтому большая часть сетевой инфраструктуры дата-центров сейчас виртуализирована.

А это предполагает переход от аппаратной архитектуры к гибридной.

CAM, TCAM, NP, ASIC теперь заменяются комплектом DPDK с более умными сетевыми картами, которые также поддерживают виртуализацию — СР-ИОВ - и переносят часть рутинной работы на свои чипы.

Кроме того, с развитием алгоритмических методов поиска потребность в CAM/TCAM на традиционных коммутаторах и маршрутизаторах теперь снижается.

Таким образом, мы вновь являемся свидетелями смены парадигмы реализации Forwarding Plane. Но мы пока остаёмся в сфере аппаратного проброса и теперь давайте поближе познакомимся со всеми фишками.




4. Типы чипов Я не собираюсь описывать в этой статье все существующие чипы — только те, которые используются в сетевом оборудовании.



ЦП — центральный процессор

Самый медленный, но гибкий элемент устройства – центральный процессор.

Он обрабатывает пакеты протоколов и сложное поведение.



Сети для самых маленьких.
</p><p>
 Часть четырнадцатая.
</p><p>
 Путь к пакету

Его прелесть в том, что он управляется посредством запуска приложений и «многозадачности».

Логику можно легко изменить, просто корректируя программный код. На нем происходят такие вещи, как SPF, настройка смежности по всем протоколам, генерация журналов, оповещений, подключение к интерфейсам управления пользователями — все действия со сложной логикой.

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

Хотя трафик движется стабильно.

ЦП берет на себя функции плоскости управления.

На устройствах с программной переадресацией также участвует в плоскости пересылки.

.

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

ЦП записывает результаты своей работы в ОЗУ ↓.






ОЗУ — оперативное запоминающее устройство

Классическая оперативная память – где бы мы были без нее?

Сети для самых маленьких.
</p><p>
 Часть четырнадцатая.
</p><p>
 Путь к пакету

Даем ей адрес ячейки — она нам передает содержимое.

В нем хранятся так называемые Мягкие столы (таблицы программы) — таблицы маршрутизации, метки, MAC-адреса.

Когда вы запускаете команду "показать IP-маршрут" , запрос поступает непосредственно в оперативную память Soft Tables. ЦП работает именно с оперативной памятью — когда он рассчитал маршрут или построил LSP — в него записывается результат. И оттуда изменения синхронизируются в Жесткие столы в CAM/TCAM↓.

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

Soft Tables нельзя напрямую использовать для передачи данных, поскольку это слишком медленно — доступ к оперативной памяти осуществляется через ЦП и требует алгоритмического поиска, который отнимает много времени.

С резервацией для NFV .

Кроме того, микросхемы оперативной памяти (DRAM) реализуют очереди: вход, выход, интерфейс.






CAM — память с адресацией по содержимому

Это особенно сложный тип памяти.

Вы сообщаете ей значение, а она дает вам адрес ячейки.

Content-Addressable означает, что адресация основана на значениях (контенте).



Сети для самых маленьких.
</p><p>
 Часть четырнадцатая.
</p><p>
 Путь к пакету

Значением может быть, например, DMAC. CAM просматривает DMAC все свои записи и находит совпадение.

В результате CAM выдаст адрес ячейки классической оперативной памяти, в которой хранится номер выходного интерфейса.

Затем устройство обращается к этой ячейке и отправляет кадр туда, где он должен быть.

Для достижения максимальной скорости CAM и RAM расположены очень близко друг к другу.

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



Сети для самых маленьких.
</p><p>
 Часть четырнадцатая.
</p><p>
 Путь к пакету

Прелесть CAM в том, что он возвращает результат за фиксированное время, независимое от количества и размера записей в таблице — O(1), выраженное через сложность алгоритмов.

Это достигается за счет того, что стоимость сопоставима.

Теги: #cisco #cisco #Сетевые технологии #микроконтроллеры #маршрутизация #Системное администрирование #Huawei #ASIC #tcp #сети передачи данных #ЦП #микроэлектроника #стандарты связи #IP #qos #RAM #ethernet #FPGA #TM #сети для самых маленьких #сети для самых маленьких #плоскость пересылки #планирование #плоскость управления #juniper #juniper #switching #CAM #linkmeup #плоскость данных #маршрутизаторы #cef #очередь #аппаратная архитектура #tcam #сетевой процессор #пересылка #плоскость управления #разработка плоскости данных комплект #сердес #управление дорожным движением #фиб #лфиб
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.