Архитектура модульных устройств¶
В сетях датацентров долгое время правили огромные монстры размером со стойку - модульные коммутаторы с высокой плотностью портов. Сегодня они уступают место многоуровневым IP-фабрикам, собранным из одноюнитовых одночиповых коробок. Но такие шкафы никуда не уходят с роли бордеров и из сетей операторов. Поэтому мы разберём и их устройство. Тем более, что некоторые вещи будут актуальны и для коммутаторов попроще.
Для этой модели возьмём модульное шасси, состоящее из общей шины, интерфейсных и управляющих модулей и фабрики коммутации.
Общая шина¶
Общая шина (она же Back Plane, она же Midplane) устройства, связывающая друг с другом все модули. Обычно, это просто батарея медных контактов без каких-либо микросхем.
![]()
![]()
Так выглядит задняя часть платы, которая вставляется в шину
![]()
Так выглядит общая шина Juniper
![]()
Так выглядит общая шина Huawei
Вот эти две полоски посередине, набитые медными контактами - слоты для фабрик коммутации.
Управляющий модуль¶
Так выглядят управляющие платы разных устройств:
На всех фотографиях вы можете легко найти CPU, RAM и батарейку BIOS. На некоторых есть HDD, на других Compact Flash. Да, вы правы - это обычный ПК. Причём современные управляющие платы действительно имеют производительность на уровне компьютера 5-6 летнего возраста.
Интерфейсный модуль или линейная карта¶
Это модуль, который несёт на себе физические интерфейсы и FE (чип коммутации) и выполняет функции Forwarding Plane
![]()
![]()
Так выглядит линейная карта Cisco
Плата состоит из многих компонентов, которые могут быть реализованы как в одном чипе (System-on-Chip), так и на множестве отдельных в зависимости от класса устройства и архитектуры.
Основные части линейной карты:
- Собственно интерфейс
- PHY
- MAC
- FE - Forwardin Engine (Ingress/Egress)
- TM - Traffic Manager (QoS)
- Fabric Interface
Интерфейс¶
PHY¶
PHY занимается задачами физического уровня:
- Конвертация сигнала между средами (оптика-медь), если это нужно
- Восстановление битов из сигналов и наоборот
- Коррекция ошибок
- Синхронизация
MAC¶
Модуль MAC выполняет задачи канального уровня - Ethernet. Чаще всего является частью чипа коммутации, но не всегда.
FE - Forwarding Engine¶
FE или чип коммутации реализует все функции, связанные с коммутацией и маршрутизацией:
- Запросы к CAM/TCAM
- Трансформация Soft Table в Hard Table
- Принятие решения о передаче пакета (ACL, полисинг)
- Коммутация/Маршрутизация
- Маркировка приоритетов
- Зеркалирование
- Обнаружение протокольных пакетов
- Обработка сигналов/пакетов от CPU.
Далее ВНИМАНИЕ! Это один из очень важных моментов!
Во-вторых, именно входной FE входной линейной карты определяет всю дальнейшую судьбу пакета в пределах узла:
с небольшой оговоркой, что выходной тракт всё-таки может ещё произвести репликацию пакета или зарезать его по ACL
QoS или TM - Traffic Manager¶
Задача TM - выделять очереди, следить за перегрузками и рапоряжаться трафиком таким образом, как того требует дизайн QoS и маркировка пакетов (Congestion Avoidance и Congestion Management). Он же занимается репликацией BUM-трафика.
Fabric Interface¶
Чип, который обеспечивает взаимодействие с фабрикой коммутации. Может быть как частью FE, так и самостоятельным. Зачастую трафик на фабрику отправляется не как есть, а разбивается на ячейки одинакого размера, чтобы максимально равномерно загрузить все существующие линии. Это, а также передача метаданных - задача данного чипа.
Фабрика коммутации¶
Если мы возьмём Hi-End маршрутизатор операторского класса, то обычно в нём может насчитываться до двух десятков интерфейсных плат, в каждой из которых установлен как минимум один чип коммутации FE. Каждый чип коммутации смотрит частью своих ног в сторону интерфейсов, а частью в сторону задней шины. И ног там предостаточно, потому что медная среда имеет свой предел по пропускной способности - нам не хватит одного-двух выходов.
Как связать друг с другом два чипа коммутации? Ну просто же:
Как связать друг с другом три чипа? Ну, наверное, как-то так?
Как связать 8?
Уверены? Ничего не смущает?
Входные и выходные не связаны друг с другом напрямую, транзитные также не имеют связи.
Очень подробно топологии Клоза и их применения в современных ДЦ я разбирал в статье Как построить Гугл. Или сети современных датацентров
То же происходит и на фабрике.
Неплохой метод борьбы с этим - попоточная балансировка - вычисляется хэш по кортежу значений (SMAC, DMAC, SIP, DIP, Protocol, SPort, DPort, MPLS-метка итд.) и все пакеты одного потока начинают передаваться одним путём.
Но это работает неидеально. Зачастую один очень жирный поток может нагрузить один линк в то время, как другие будут простаивать. И с этим можно смириться на сети оператора, но нельзя в пределах этого синего ящика.
Идея Чарльза Клоза, которая сначала была реализована на телефонных станциях, затем была заимствована в Ethernet-коммутаторы и далее маршрутизаторы, ныне нашла своё место в сетях ЦОДов, заменив собой классическую трёхуровневую модель.
Так выглядят фабрики коммутации
Часто фабрика совмещается с управляющим модулем в одном слоту для экономии пространства в шасси и оптимизации вентиляции.









