Способ отслеживания сессий в сетевом трафике

Способ отслеживания сессий в сетевом трафике, заключающийся в отслеживании сессий для балансировки нагрузки на серверные системы, отличающийся тем, что пакет после приема передается в блок анализа, в котором выполняется выделение из пакета Ethernet, IP и TCP/UDP-заголовков и формирование на их основе специального информационного блока (дескриптора), далее пакет сохраняется в пакетный буфер, а дескриптор – в буфер дескрипторов и затем в блок расчета HASH, в котором на основе полей заголовков пакета (IP-адресов, кода протокола L4 и TCP/UDP портов) рассчитывается HASH-сумма по алгоритму счетчика с аутентификацией Галуа, при этом для разрешения коллизий, возникающих при отслеживании сессии на основе HASH-суммы, в одной ячейке RAM-памяти содержатся записи с информацией о четырех сессиях, затем блок отслеживания сессий проверяет в ячейке RAM-памяти, адрес которой равен HASH-сумме, наличие информации, состоящей из полей заголовков пакета, по которым выполнялся расчет HASH-суммы, об уже принятом пакете с такой же HASH-суммой, если в ячейке уже присутствует информация, то выполняется ее сравнение с данными из дескриптора пакета, если информация совпадает и пакет не содержит флага SYN в TCP-заголовке, то считается, что пакет принадлежит к уже существующей сессии и к дескриптору пакета добавляется хранящийся в этой ячейке RAM-памяти идентификатор сессии, являющийся 32-битным числом, на основе которого блок обработки сессий выполняет обработку пакета, если информация совпадает, но в пакете присутствует флаг SYN в TCP-заголовке, то выполняется присвоение нового идентификатора сессии и в ячейку RAM-памяти заносится информация о текущем пакете, если информация не совпадает, то аналогичным образом проверяются остальные три записи, в случае отсутствия совпадений информации создается новая запись в ячейке RAM-памяти, после чего блок обработки сессий получает от блока отслеживания сессий идентификатор, на основе которого принимается решение о действии, выполняемом над пакетом – балансировка, фильтрация или другой способ обработки сетевого пакета, после которого пакет передается в выходной интерфейс.