Внутренняя архитектура сервера

Previous pageReturn to chapter overviewNext page

 

Для понимания работы программы следует рассмотреть внутреннюю архитектуру.

 

 

 

Здесь рассматривается наиболее типовой вариант - по одному сетевому интерфейсу внутренней и внешней сети.

 

Имеется 2 основных программных компонента сервера - сетевой драйвер и сервис.

 

Сетевой драйвер работает на уровне ядра операционной системы. Он "врезается" между драйвером сетевой карты и стеком TCP/IP и пропускает через себя весь трафик. Тем самым у него есть возможность этот трафик пропустить, отфильтровать или задержать в своей очереди для выполнения задачи регулирования скорости (шейпер). Также часть трафика снимается и передается сервису программы для его дальнейшего анализа.

 

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

 

Так как сетевых интерфейсов несколько, то система загружает по отдельному экземпляру драйвера на каждый интерфейс. В настройках сетевых интерфейсов этот драйвер присутствует в списке сетевых служб и имеется возможность его выгрузить индивидуально для каждого интерфейса, сняв там соотв. галку привязки. После этого программа с этим интерфейсам, где отвязан драйвер, работать уже не будет. Отвязывать драйвер от интерфейса следует в случаях -

 

При несовместимости драйвера программы с драйвером сетевой карты. Это позволит запустить и настроить работу программы хотя-бы в ограниченном варианте. Например, имеются некоторые специализированные сетевые адаптеры, для которых не разработано драйверов с полноценной поддержкой стандарта Ndis5.
На сетевом интерфейсе нет IP трафика. Например, чистый PPPoE. В этом случае драйвер можно отключить, что сэкономит немного оперативной памяти а также уменьшит нагрузку на процессор.
Интерфейс не используется в программе.

 

Для WAN интерфейсов имеются важные особенности - для них система загружает один общий сетевой драйвер для всех WAN интерфейсов. В связи с этим в программе реализована довольно сложная логика работы с несколькими виртуальными WAN интерфейсами и имеются некоторые ограничения по их применению - смотрите раздел Интерфейсы и сети.

 

Драйвер программы решает следующие основные задачи -

 

Маркировка трафика. Для внутреннего интерфейса это тип трафика (внутренний транзитный, внутренний на сам сервер, внешний), соотнесение трафика пользователям (авторизованный или неавторизованный). Также пакеты метятся атрибутами - скидки (наценки), ограничения по скорости, маршрутизация и т.д.
Внутренняя буферизация трафика, передаваемого на обработку сервису программы. Это важная функция, так как сервис программы в силу загруженности системы бывает не состоянии вовремя забрать все данные, переполнение буфера повлечет потери данных. Размер буфера задается в настройках программы и эта настройка может быть использована для улучшения работы программы в особых случаях.
Фильтрация трафика на основе правил (фильтров). Тут также реализуется логика внешнего и внутреннего сетевого экрана.
Динамическая фильтрация для UDP и FTP-DATA.
Ограничение скорости. Реализуется путем задержки пакетов в очереди. Также для решения этой задачи производится измерение скорости передачи данных.
Перенаправление (редирект) TCP соединений. Этот механизм используется для реализации функции Transparent Proxy.
Переадресация пакетов по виртуальным маршрутам. Используется для реализации функции Advanced Routing.
Учет трафика по отдельным TCP сессиям. Используется для учета трафика в прокси и SOCKS сервере в т.н. Kernel режиме учета.
Блокировка внешних сетей при остановке Traffic Inspector.
Определение тега VLAN для принимаемого пакета, а также добавление необходимых тегов для отправляемых пакетов.

 

Для анализа работы драйвера выводится некоторое количество данных - различные счетчики пакетов и т.д. Они доступны в списке интерфейсов консоли, а также отдельно в разделе Диагностики.

 

Сервис программы включает много различных компонентов, которые могут быть использованы выборочно в зависимости от используемой конфигурации (смотрите следующие разделы).

 

 

 


Текущая страница справки: help.smart-soft.ru/index.html?intstruct.htm

Сайт разработчиков Traffic Inspector