RFC: 3549
Оригинал: Linux Netlink as an IP Services Protocol
Категория: Информационный
Дата публикации:
Авторы: , , ,
Перевод: Николай Малых
1.1.2.1. Модель машины пересылки IP в Linux
                          ____      +---------------+
                     +->-| FW |---> | TCP, UDP, ... |
                     |   +----+     +---------------+
                     |                   |
                     ^                   v
                     |                  _|_
                     +----<----+       | FW |
                               |       +----+
                               ^         |
                               |         Y
                         В сетевой    Из сетевого
                         стек хоста   стека хоста
                               ^         |
                               |_____    |
Приемное                             ^   Y
устройство ____    +-------+        +|---|--+   ____   +----------+ Выходное
  ->----->| FW |-->|Входной|-->---->| Пере- |->| FW |->| Выходной | устройство
          +----+   |  TC   |        | сылка |  +----+  |    TC    |-->
                   +-------+        +-------+          +----------+

На рисунке показана модель Linux FE для отдельного устройства. Единственной обязательной частью этой модели является модуль пересылки (Пересылка), соответствующий RFC 1812. Различные модули сетевого экранирования (FW), управления входящим и исходящим трафиком (TC) не являются обязательными и могут даже использоваться для обхода модуля RFC 1812. Эти модули показаны в виде простых блоков на пути передачи данных и, фактически, могут представлять собой каскады из множества субмодулей. Дополнительную информацию о таких модулях вы найдете на сайтах [10] и [11].

Пакеты, прибывающее на входное устройство, сначала проходят через модуль межсетевого экранирования (FW), который может отбрасывать (drop) и изменять (mangle) пакеты или выполнять с ними иные операции. После прохождения модуля FW входящие пакеты в зависимости от принятой политики, могут попадать во входной модуль контроля трафика TC, который выполняет операции по измерению и регулированию потоков входящего трафика. Пакеты могут отбрасываться входным модулем TC в зависимости от результатов измерения уровня трафика и принятой политики. После этого пакет передается единственному обязательному модулю, который обеспечивает пересылку в соответствии с требованиями RFC 1812. Пакет может быть отброшен, если он не соответствует требованиям RFC 1812, 1122, а также дополняющих их документов. Этот модуль является точкой выбора пути, из которой пакет, направленный принявшему его сетевому элементу NE, может быть передан сетевому стеку хоста.

Пакеты, которые не адресованы данному NE, могут проходить через субмодуль маршрутизации на базе правил (часть модуля пересылки), если такая маршрутизация поддерживается. После этого пакет передается следующему модулю сетевого экранирования, который может отбросить или изменить пакет в зависимости от настроек своих субмодулей и выбранной политики. После прохождения модуля экранирования пакет попадает в выходной фильтр контроля трафика (TC).

Выходной TC может отбрасывать пакеты с учетом политики, состояния очередей, уровня насыщения и правил управления скоростью исходящего потока. На этом этапе используются выходные очереди и задержки или отбрасывание пакета могут происходить как до его включения в очередь, так и после этого. Судьба пакета определяется выбранными для модуля алгоритмами и политикой.

2007 - 2018 © Русские переводы RFC, IETF, ISOC.