Город с двумя столицами: роль ASIC и CPU в L3-коммутаторе
Внутри коммутатора два физических устройства: CPU и ASIC. CPU принято называть Control Plane, там крутится сетевая операционная система, как правило, Linux. ASIC также называют Data Plane.
CPU (Control Plane) отвечает за:
сложную логику,
обработку служебного трафика,
управление ASIC.
ASIC (Data Plane) ответственен за:
простую логику на основе таблиц,
быструю обработку большого числа пакетов,
разбор заголовков, выбор выходного порта и выходного набора заголовков,
буферизацию, очереди, политики.
Администратор, который сидит в CLI, находится на CPU, а интерфейс, который он конфигурирует, — на соседнем устройстве ASIC.
Для простоты понимания можно думать о физическом устройстве коммутатора как о двух соседних городах. Первый город CPU — административный центр, он управляет своим соседом. Второй город ASIC — промышленный центр с крупными транспортными развязками и светофорами.
Физические порты находятся в ASIC, но управлять ими надо на CPU. На CPU крутятся сетевые демоны и разные алгоритмы, которые обрабатывают сетевой трафик. Его можно разделить на два вида:
Пользовательский. Например, фотографии котиков, которые при наличии всех маршрутов проходят через ASIC транзитом.
Служебный. ARP или протоколы маршрутизации, которые как раз должны обрабатываться демонами или алгоритмами на CPU.
Еще больше про устройство коммутатора читайте в статьях Антона Гузарева, тимлида команды, которая разрабатывает ПО для управления сетевыми устройствами в YADRO. Через кейс с ошибкой в коммутаторе он последовательно рассмотрела каждый его уровень в двух статьях:
→ Разбираемся с железом и настройками конфигурации
→ Ищем проблему с доставкой картинок с котиками на разных уровнях L3-коммутатора: от CLI до SDK