Протоколирование пакетов
TMeter позволяет записывать (протоколировать) заголовки собранных IP пакетов в текстовый файл или в базу данных. Для реализации этой возможности, каждый фильтр имеет так называемый "Коллектор Пакетов" (другими словами "Хранилище Пакетов"), в который помещаются попавшие в фильтр пакеты. Основная идея Коллектора Пакетов - группировка IP пакетов имеющих идентичные характеристики, т.к. записывать заговолок каждого IP пакета слишком накладно с точки зрения объема дискового пространства. Размер Коллектора Пакетов определяется в количестве позиций. Каждая позиция в Коллекторе Пакетов включает в себя следующий набор свойств заголовка IP пакета:
Действие, которое называется "Сброс Коллектора Пакетов" означает что все обновленные позиции из Коллектора Пакетов будут записаны в файл или в базу данных. Коллектор Пакетов сбрасывается через определенные интервалы времени (по умолчанию - каждые 20 секунд). Коллектор Пакетов может переполнится, в этом случае в лог-файле появится сообщение "Packet Collector is full" и Вам следует подумать об уменьшении интервала сбора Коллектора Пакетов.
Режим сжатия динамических портов TCP и UDP
Как известно, открытие одной веб-страницы в Интернет-браузере влечет за собой, как правило, открытие нескольких TCP соединений одновременно, т.к. веб-страница может содержать графические изображения. Пакеты такой сессии имеют очень похожие характеристики, что позволяет существенно уменьшить объем протоколирования.
Особенность протоколов TCP и UDP такова, что при инициировании нового TCP- или UDP-соединения клиент выбирает на своей стороне случайным образом номер порта из диапазона 1024-65535. Данный номер порта называется "динамическим" и, как правило, не несет в себе никакого смысла с точки зрения подсчета трафика. Поэтому TMeter использует по-умолчанию режим сжатия динамических портов TCP и UDP. В режиме сжатия динамических портов TCP и UDP, TMeter должен знать какой IP адрес принадлежит клиенту, а какой - серверу для того, чтобы перед помещением нового IP пакета в Коллектор Пакетов заменить номер динамического порта на "магическое число" 65535.
Согласно протоколу TCP, для инициировании нового TCP-соединения, клиент обязан послать серверу первый IP-пакет с включенным флагом SYN в заголовке TCP. TMeter умеет анализировать наличие флага SYN в заголовке TCP для определения кто выступает в роли клиента, а кто - в роли сервера для правильного определения динамического номера порта.
См также: