Недавно я изучал статистику производительности своего маршрутизатора на базе Linux и был удивлен тем, что увидел. Я ожидал, что рабочая нагрузка маршрутизации будет гораздо более тяжелой для ОЗУ и ЦП, чем есть на самом деле. Вы можете помочь мне понять, почему это так?
Какая часть работы маршрутизатора занимает оперативную память? Драгоценное немного. Пакеты входят, пакеты выходят. Сетевые стеки современных операционных систем очень хорошо настроены, а вся проверка и маршрутизация пакетов происходит непосредственно в ядре, поэтому дополнительный код пользователя не требуется.
Если ваш маршрутизатор также выполняет NAT, тогда таблица состояний будет занимать некоторую память, но даже скромная система на 2 ГБ способна хранить сотни тысяч записей таблицы состояний NAT, не мигая.
Кроме того, если ваш маршрутизатор выполняет обязанности динамической маршрутизации (VRRP, BGP и т. Д.), Они будут потреблять память.
В заключение, однако, большинство задач брандмауэра и маршрутизации очень просты для системных ресурсов.