Сервер
Сервером является приложение состоящие из API-сервиса и базы данных.
API: данный сервис разработан на языке программирования Go и предоставляет реализацию подходов GRPC и REST API с использованием protobuf схем. Он реализует интерфейс взаимодействия 'агентов' с данными, хранящимися в базе данных.
База данных: В качестве базы данных выступает PostgreSQL. Используется для хранения матрицы сетевого взаимодействия.
Узел
Агент: программное обеспечение осуществляющее конфигурацию netfilter'а в соответствии с правилами, указанные в API. Взаимодействие агента с API происходит через протокол gRPC, а получение конфигурации осуществляется посредством push/pull-запросов.
netlink: механизм, который позволяет различным компонентам операционной системы обмениваться информацией. Это как система передачи сообщений между разными частями операционной системы Linux, чтобы они могли работать вместе.
netfilter: часть ядра Linux, которая отвечает за фильтрацию и манипуляцию сетевым трафиком в операционной системе.
Клиент
Клиент - это инструмент, который использует для взаимодействия интерфейсы API.