Навигация:  Traffic Inspector > О программе > Основные функции >

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

Previous pageReturn to chapter overviewNext page

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

 

  -

Рассмотрим простой вариант: по одному сетевому интерфейсу для внутренней и внешней cети.

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 


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

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