Новое Распределяем каналы MAX по категориям и территориям. Читать новость

Решения о маршрутизации в ядре Linux - часть 2.1: кэширование



В предыдущей статье я много говорил про решение о маршрутизации. Его представляют внешняя struct rtable и внутренняя struct dst_entry, и оно прикрепляется к сетевому пакету skb по результату routing lookup. Но одну очень важную тему я намеренно оставил в стороне... кэширование. Если вы смотрите, как пакет обрабатывается по прикреплённому решению о маршрутизации, то неважно (по крайней мере на первый взгляд), откуда это прикреплённое решение на самом деле взялось. Может, его выделили специально под этот сетевой пакет, а может, оно пришло из какого-то кэша... неважно. Обработка пакета от этого не меняется. Но от этого тема кэширования не становится менее важной. На самом деле она очень важна, особенно для производительности, а история у неё непростая, так что я решил: ей стоит отдельная статья. Вы, наверное, то тут, то там слышали термин routing cache, да? Настоящий полноценный routing cache был в старых ядрах, и его убрали в v3.6. Но это не значит, что кэширование от этого исчезло совсем. После удаления в ядро добавили другие механизмы кэширования и оптимизации вокруг решений о маршрутизации. А кое-что из уже существовавшего оставили. В интернете полно статей и документации, где упоминается какой-нибудь routing cache. Но из-за бурной истории во всей этой, местами противоречивой, информации очень легко запутаться. По крайней мере у меня в начале так и было. Эта статья - попытка разложить эту информацию и поставить в контекст, как было в старых ядрах и как на самом деле есть в современном ядре вроде v5.14. Оно конечно уже тоже старовато, но основные принципы с тех пор не претерпели существенных изменений.

https://telegra.ph/Resheniya-o-marshrutizacii-v-yadre-Linux---chast-21-kehshirovanie-10-14

#ит_статьи #linux #kernel #routing #ipv4 #netfilter
Просмотры: 34
Открыть в MAX Сообщить о неточности

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти