Устройство и способ глубокой проверки пакетов и сопроцессор
Иллюстрации
Показать всеИзобретение относится к технологиям сетевой связи. Технический результат заключается в повышении скорости передачи данных. Способ глубокой проверки пакетов, DPI, содержащий: прием модулем приемопередатчика сопроцессора исходного пакета данных, отправленного общим процессором, и отправку исходного пакета данных ядру процессора сопроцессора; вызов ядром процессора по меньшей мере одного подсопроцессора сопроцессора для выполнения анализа уровня приложений в отношении исходного пакета данных так, чтобы получать результат анализа уровня приложений исходного пакета данных, при этом результат анализа уровня приложений используется для указания информации уровня приложений исходного пакета данных; и отправку ядром процессора результата анализа уровня приложений общему процессору так, что общий процессор обрабатывает исходный пакет данных согласно результату анализа уровня приложений. 3 н. и 17 з.п. ф-лы, 14 ил.
Реферат
Область техники
[0001] Настоящее изобретение относится к компьютерным технологиям и, в частности, к устройству и способу глубокой проверки пакетов и сопроцессору.
Уровень техники
[0002] Технология глубокой проверки пакетов (глубокой проверки пакетов, DPI для краткости) в качестве базовой технологии для обнаружения вторжений в сеть и идентификации протокола прикладного уровня играет в большей степени важную роль в области безопасности сети и информации. Технология DPI реализует глубокий анализ в отношении пакета данных посредством использования алгоритма согласования особенностей для получения информации приложения пакета данных так, чтобы реализовывать службы, такие как оптимизация сети, управление трафиком приложения и обнаружение безопасности.
[0003] В предшествующем уровне техники служба DPI обычно реализуется посредством использования общего процессора, где общий процессор содержит согласующее устройство, и общий процессор реализует согласование особенностей посредством использования программной логики для возбуждения согласующего устройства. Поскольку общий процессор обычно не разрабатывается специально для службы DPI, для того, чтобы соблюсти требование универсальности согласующее устройство, включенное в состав общего процессора, в общем поддерживает только универсальный алгоритм согласования, например, алгоритм согласования регулярных выражений, но не поддерживает алгоритм согласования, который разработан специально для службы DPI, что приводит к плохой производительности согласования и становится критическим элементом обработки службы. Более того, все службы DPI реализованы в общем процессоре и поскольку ресурсы общего процессора ограничены, производительность служб DPI ограничена. Как показано на фиг. 1, в предшествующем уровне техники другим методом реализации службы DPI является то, чтобы записать логику службы DPI на аппаратную сущность постоянно, где аппаратная сущность может быть FPGA (программируемой пользователем вентильной матрицей, программируемой пользователем вентильной матрицей) или ASIC (специализированной интегральной схемой, специализированной интегральной схемой). Например, логика службы DPI устройства разделена на четыре этапа: 1. согласование таблицы конечных точек; 2. идентификация порта IP; 3. согласование особенностей текста пакета уровня приложений; и 4. сложная идентификация после декодирования. Первые три этапа могут быть все постоянно записаны в аппаратную логику для реализации; однако, этап 4, логика которого является очень сложной, не может быть реализован аппаратной логикой и соответственно оставляется для выполнения общим процессором.
[0004] Очевидно, что постоянная запись логики, реализуемой посредством использования аппаратного обеспечения, подвержена плохой масштабируемости: когда логика службы DPI (например, четыре этапа в вышеприведенном примере становятся пятью этапами или их порядок изменяется) изменяется, код аппаратного обеспечения должен быть переписан, эмулирован и затем выпущен для устройства в промышленной сети. Упомянутое не может быстро адаптироваться к изменению в сетевом трафике; более того, поскольку несколько этапов логики службы DPI реализованы общим процессором отдельно посредством использования логики микросхемы ускорения аппаратного обеспечения и программного обеспечения, неизбежно, что общий процессор взаимодействует с микросхемой ускорения аппаратного обеспечения множество раз, что вызывает длительную задержку в обработке DPI.
Сущность изобретения
[0005] Варианты осуществления настоящего изобретения обеспечивают устройство и способ глубокой проверки пакетов, и сопроцессор так, чтобы улучшать масштабируемость и производительность DPI.
[0006] Согласно первому аспекту вариант осуществления настоящего изобретения обеспечивает способ глубокой проверки пакетов, который включает в себя:
прием модулем приемопередатчика сопроцессора исходного пакета данных, отправленного общим процессором, и отправку исходного пакета данных ядру процессора сопроцессора; вызов ядром процессора по меньшей мере одного подсопроцессора сопроцессора для выполнения анализа уровня приложений в отношении исходного пакета данных так, чтобы получать результат анализа уровня приложений исходного пакета данных, где результат анализа уровня приложений используется для указания информации уровня приложений исходного пакета данных; и отправку ядром процессора результата анализа уровня приложений общему процессору так, что общий процессор обрабатывает исходный пакет данных согласно результату анализа уровня приложений.
[0007] В первом возможном методе реализации после приема модулем приемопередатчика сопроцессора исходного пакета данных, отправленного общим процессором, и до отправки исходного пакета данных ядру процессора сопроцессора способ дополнительно включает в себя: выполнение обработки потока в отношении исходного пакета данных; отправка исходного пакета данных ядру процессора включает в себя: отправку подвергнутого обработке потока пакета данных ядру процессора; и вызов ядром процессора по меньшей мере одного подсопроцессора сопроцессора для выполнения анализа уровня приложений в отношении исходного пакета данных так, чтобы получать результат анализа уровня приложений исходного пакета данных включает в себя: вызов ядром процессора упомянутого по меньшей мере одного подсопроцессора сопроцессора для выполнения анализа уровня приложений в отношении подвергнутого обработке потока пакета данных так, чтобы получать результат анализа уровня приложений исходного пакета данных.
[0008] Со ссылкой на первый возможный метод реализации первого аспекта во втором возможном методе реализации выполнение обработки потока в отношении исходного пакета данных включает в себя: выполнение обработки повторной сборки фрагментированного IP-пакета и обработки переупорядочения следующего не по порядку TCP-пакета в отношении исходного пакета данных.
[0009] Со ссылкой на первый аспект в третьем возможном методе реализации по меньшей мере два ядра процессора обеспечены в сопроцессоре; и отправка исходного пакета данных ядру процессора сопроцессора включает в себя:
выбор одного ядра процессора из упомянутых по меньшей мере двух ядер процессора согласно состоянию нагрузки каждого из ядер процессора и отправку исходного пакета данных выбранному ядру процессора.
[0010] Со ссылкой на первый аспект в четвертом возможном методе реализации вызов ядром процессора по меньшей мере одного подсопроцессора сопроцессора для выполнения анализа уровня приложений в отношении исходного пакета данных в частности включает в себя:
вызов ядром процессора посредством использования модуля шины коммутации сопроцессора упомянутого по меньшей мере одного подсопроцессора сопроцессора для выполнения анализа уровня приложений в отношении исходного пакета данных.
[0011] Со ссылкой на первый аспект в пятом возможном методе реализации вызов ядром процессора по меньшей мере одного подсопроцессора сопроцессора для выполнения анализа уровня приложений в отношении исходного пакета данных так, чтобы получать результат анализа уровня приложений исходного пакета данных включает в себя:
вызов ядром процессора подсопроцессора идентификации протокола, включенного в сопроцессор; выполнение подсопроцессором идентификации протокола при вызове ядра процессора поиска конечной точки в отношении исходного пакета данных так, чтобы получать результат поиска конечной точки, и возврат результата поиска конечной точки ядру процессора; и определение ядром процессора типа протокола уровня приложений исходного пакета данных, по меньшей мере, согласно результату поиска конечной точки, и использование определенного типа протокола уровня приложений в качестве результата анализа уровня приложений исходного пакета данных.
[0012] Со ссылкой на первый аспект в шестом возможном методе реализации вызов ядром процессора по меньшей мере одного подсопроцессора сопроцессора для выполнения анализа уровня приложений в отношении исходного пакета данных так, чтобы получать результат анализа уровня приложений исходного пакета данных включает в себя: вызов ядром процессора подсопроцессора идентификации протокола, включенного в сопроцессор; вызов подсопроцессором идентификации протокола при вызове ядра процессора механизма согласования строк, включенного в сопроцессор; выполнение механизмом согласования строк при вызове подсопроцессора идентификации протокола согласования строк в отношении исходного пакета данных так, чтобы получать результат согласования особенностей, и возврат результата согласования особенностей ядру процессора; и определение ядром процессора типа протокола уровня приложений исходного пакета данных, по меньшей мере, согласно результату согласования особенностей, и использование типа протокола уровня приложений в качестве результата анализа уровня приложений исходного пакета данных.
[0013] Со ссылкой на первый аспект в седьмом возможном методе реализации вызов ядром процессора по меньшей мере одного подсопроцессора сопроцессора для выполнения анализа уровня приложений в отношении исходного пакета данных так, чтобы получать результат анализа уровня приложений исходного пакета данных включает в себя:
вызов ядром процессора механизма согласования регулярных выражений, включенного в сопроцессор; выполнение механизмом согласования регулярных выражений при вызове ядра процессора согласования регулярных выражений в отношении исходного пакета данных так, чтобы получать результат согласования особенностей, и возврат результата согласования особенностей ядру процессора; и определение ядром процессора типа протокола уровня приложений исходного пакета данных, по меньшей мере, согласно результату согласования особенностей, и использование определенного типа протокола уровня приложений в качестве результата анализа уровня приложений исходного пакета данных.
[0014] Со ссылкой на первый аспект в восьмом возможном методе реализации вызов ядром процессора по меньшей мере одного подсопроцессора сопроцессора для выполнения анализа уровня приложений в отношении исходного пакета данных так, чтобы получать результат анализа уровня приложений исходного пакета данных включает в себя:
вызов ядром процессора подсопроцессора идентификации протокола, включенного в сопроцессор, для идентификации протокола уровня приложений исходного пакета данных так, чтобы получать тип протокола уровня приложений исходного пакета данных; и
вызов ядром процессора подсопроцессора анализа протокола, включенного в сопроцессор, для выполнения анализа протокола в отношении исходного пакета данных так, чтобы получать результат анализа и использование результата анализа, и типа протокола уровня приложений в качестве результата анализа уровня приложений исходного пакета данных.
[0015] Со ссылкой на шестой возможный метод реализации первого аспекта в девятом возможном методе реализации выполнение механизмом согласования строк при вызове подсопроцессора идентификации протокола согласования строк в отношении исходного пакета данных так, чтобы получать результат согласования особенностей включает в себя:
при вызове подсопроцессора идентификации протокола считывание механизмом согласования строк таблицы состояний алгоритма согласования строк из первой памяти и выполнение согласования строк в отношении подвергнутого обработке потока пакета данных согласно таблице состояний алгоритма согласования строк для получения результата согласования особенностей.
[0016] Со ссылкой на первый аспект или какой-либо из первого по девятый возможных методов реализации первого аспекта в одиннадцатом возможном методе реализации отправка ядром процессора результата анализа уровня приложений общему процессору включает в себя: отправку ядром процессора результата анализа уровня приложений модулю обработки сообщения результата, включенному в сопроцессор; и инкапсуляцию модулем обработки сообщения результата упомянутого результата анализа уровня приложений согласно предустановленному формату, и отправку инкапсулированного результата анализа уровня приложений общему процессору.
[0017] Согласно второму аспекту вариант осуществления настоящего изобретения обеспечивает способ глубокой проверки пакетов, который включает в себя:
отправку общим процессором исходного пакета данных сопроцессору; прием общим процессором результата анализа уровня приложений исходного пакета данных и отправленного сопроцессором, где результат анализа уровня приложений получается ядром процессора сопроцессора посредством вызова по меньшей мере одного подсопроцессора сопроцессора для выполнения анализа уровня приложений в отношении исходного пакета данных, и результат анализа уровня приложений используется для указания информации уровня приложений исходного пакета данных; и обработку общим процессором исходного пакета данных, по меньшей мере, согласно результату анализа уровня приложений.
[0018] В первом возможном методе реализации обработка общим процессором исходного пакета данных, по меньшей мере, согласно результату анализа уровня приложений включает в себя: определение общим процессором согласно результату анализа уровня приложений, является ли исходный пакет данных зашифрованным пакетом данных, и если исходный пакет данных является зашифрованным пакетом данных, дешифрование исходного пакета данных.
[0019] Во втором возможном методе реализации обработка общим процессором исходного пакета данных, по меньшей мере, согласно результату анализа уровня приложений включает в себя:
определение общим процессором согласно результату анализа уровня приложений типа службы потока, к которому принадлежит исходный пакет данных, и выполнение подсчета статистики трафика, назначения цены или ускорения передачи в отношении потока согласно типу службы.
[0020] В третьем возможном методе реализации результат анализа уровня приложений исходного пакета данных включает в себя: тип протокола уровня приложений исходного пакета данных и результат согласования URL, где тип протокола уровня приложений исходного пакета данных получается ядром процессора сопроцессора посредством вызова подсопроцессора идентификации протокола сопроцессора для выполнения идентификации протокола в отношении исходного пакета данных, и результат согласования URL получается ядром процессора сопроцессора при определении, что тип протокола уровня приложений исходного пакета данных является протоколом передачи гипертекстовых файлов посредством вызова механизма согласования унифицированного указателя ресурса, URL, сопроцессора для выполнения согласования URL в отношении исходного пакета данных; и обработка общим процессором исходного пакета данных, по меньшей мере, согласно результату анализа уровня приложений включает в себя: определение общим процессором согласно результату анализа уровня приложений и результату согласования URL, используется ли поток, к которому принадлежит исходный пакет данных, для осуществления доступа к ограниченному веб-сайту и если поток, к которому принадлежит исходный пакет данных, используется для осуществления доступа к ограниченному веб-сайту, блокировку потока.
[0021] Согласно третьему аспекту вариант осуществления настоящего изобретения обеспечивает сопроцессор, который включает в себя: модуль приемопередатчика, подсопроцессор и ядро процессора, где
модуль приемопередатчика сконфигурирован с возможностью приема исходного пакета данных, отправленного общим процессором, и отправки исходного пакета данных ядру процессора;
ядро процессора сконфигурировано с возможностью вызова подсопроцессора для выполнения анализа уровня приложений в отношении исходного пакета данных так, чтобы получать результат анализа уровня приложений исходного пакета данных, где результат анализа уровня приложений используется для указания информации уровня приложений исходного пакета данных; и отправки результата анализа уровня приложений общему процессору так, что общий процессор обрабатывает исходный пакет данных, по меньшей мере, согласно результату анализа уровня приложений; и
подсопроцессор сконфигурирован с возможностью выполнения анализа уровня приложений в отношении исходного пакета данных при вызове ядра процессора так, чтобы получать информацию уровня приложений исходного пакета данных.
[0022] В первом возможном методе реализации модуль приемопередатчика включает в себя:
блок приема, сконфигурированный с возможностью приема исходного пакета данных, отправленного общим процессором;
блок обработки потока, сконфигурированный с возможностью выполнения обработки потока в отношении исходного пакета данных после того, как блок приема принимает исходный пакет данных, отправленный общим процессором; и
блок распределения, сконфигурированный с возможностью отправки подвергнутого обработке потока пакета данных ядру процессора; и
ядро процессора в частности сконфигурировано с возможностью вызова подсопроцессора для выполнения анализа уровня приложений в отношении подвергнутого обработке потока пакета данных.
[0023] Со ссылкой на первый возможный метод реализации третьего аспекта во втором возможном методе реализации блок обработки потока в частности сконфигурирован с возможностью выполнения обработки повторной сборки фрагментированного IP-пакета и обработки переупорядочения следующего не по порядку TCP-пакета в отношении исходного пакета данных.
[0024] Со ссылкой на первый или второй возможный метод реализации третьего аспекта в третьем возможном методе реализации имеются по меньшей мере два ядра процессора; и
блок распределения в частности сконфигурирован с возможностью определения состояния нагрузки каждого ядра процессора из упомянутых по меньшей мере двух ядер процессора, выбора одного ядра процессора из упомянутых по меньшей мере двух ядер процессора согласно состоянию нагрузки каждого из ядер процессора и отправки подвергнутого обработке потока пакета данных выбранному ядру процессора.
[0025] Со ссылкой на третий аспект или первый, второй или третий возможный метод реализации третьего аспекта в четвертом возможном методе реализации сопроцессор дополнительно включает в себя: модуль шины коммутации; и
ядро процессора в частности сконфигурировано с возможностью вызова подсопроцессора посредством использования модуля шины коммутации сопроцессора для выполнения анализа уровня приложений в отношении исходного пакета данных.
[0026] Со ссылкой на третий аспект в пятом возможном методе реализации подсопроцессор в частности сконфигурирован с возможностью выполнения поиска конечной точки в отношении исходного пакета данных при вызове ядра процессора так, чтобы получать результат поиска конечной точки, и возврата результата поиска конечной точки ядру процессора; и ядро процессора в частности сконфигурировано с возможностью определения типа протокола уровня приложений исходного пакета данных, по меньшей мере, согласно результату поиска конечной точки и использования определенного типа протокола уровня приложений в качестве результата анализа уровня приложений исходного пакета данных, и отправки результата анализа уровня приложений общему процессору.
[0027] Со ссылкой на третий аспект в шестом возможном методе реализации подсопроцессор включает в себя: подсопроцессор идентификации протокола и механизм согласования строк, где подсопроцессор идентификации протокола в частности сконфигурирован с возможностью вызова механизма согласования строк при вызове ядра процессора, где механизм согласования строк выполняет согласование строк в отношении исходного пакета данных при вызове подсопроцессора идентификации протокола так, чтобы получать результат согласования особенностей и возвращает результат согласования особенностей ядру процессора; и ядро процессора в частности сконфигурировано с возможностью определения типа протокола уровня приложений исходного пакета данных, по меньшей мере, согласно результату согласования особенностей и использования определенного типа протокола уровня приложений в качестве результата анализа уровня приложений исходного пакета данных, и отправки результата анализа уровня приложений общему процессору.
[0028] Со ссылкой на третий аспект в седьмом возможном методе реализации подсопроцессор в частности является: механизмом согласования регулярных выражений, где механизм согласования регулярных выражений сконфигурирован с возможностью выполнения согласования регулярных выражений в отношении исходного пакета данных при вызове ядра процессора так, чтобы получать результат согласования особенностей, и возврата результата согласования особенностей ядру процессора; и ядро процессора в частности сконфигурировано с возможностью определения типа протокола уровня приложений исходного пакета данных, по меньшей мере, согласно результату согласования особенностей и использования определенного типа протокола уровня приложений в качестве результата анализа уровня приложений исходного пакета данных, и отправки результата анализа уровня приложений общему процессору.
[0029] Со ссылкой на шестой возможный метод реализации третьего аспекта в восьмом возможном методе реализации подсопроцессор дополнительно включает в себя: подсопроцессор анализа протокола, где подсопроцессор анализа протокола сконфигурирован с возможностью выполнения анализа протокола в отношении исходного пакета данных так, чтобы получать результат анализа, и возврата результата анализа ядру процессора; и ядро процессора дополнительно сконфигурировано с возможностью отправки результата анализа общему процессору так, что общий процессор обрабатывает исходный пакет данных согласно типу протокола уровня приложений и результату анализа.
[0030] Со ссылкой на шестой возможный метод реализации третьего аспекта в девятом возможном методе реализации механизм согласования строк в частности сконфигурирован с возможностью при вызове подсопроцессора идентификации протокола считывания таблицы состояний алгоритма согласования строк из первой памяти, выполнения согласования строк в отношении исходного пакета данных согласно таблице состояний алгоритма согласования строк для получения результата согласования особенностей и возврата результата согласования особенностей ядру процессора, где упомянутая первая память сконфигурирована с возможностью хранения таблицы состояний алгоритма согласования строк.
[0031] Со ссылкой на девятый возможный метод реализации третьего аспекта в десятом возможном методе реализации ядро процессора в частности сконфигурировано с возможностью считывания структуры данных условия и правила из второй памяти, и определения типа протокола уровня приложений согласно результату согласования особенностей и структуре данных условия и правила, где упомянутая вторая память сконфигурирована с возможностью хранения структуры данных условия и правила.
[0032] Согласно четвертому аспекту вариант осуществления настоящего изобретения обеспечивает общий процессор, который включает в себя:
модуль отправки, сконфигурированный с возможностью отправки исходного пакета данных сопроцессору; модуль приема, сконфигурированный с возможностью приема результата анализа уровня приложений исходного пакета данных и отправленного сопроцессором, где результат анализа уровня приложений получается ядром процессора сопроцессора посредством вызова по меньшей мере одного подсопроцессора сопроцессора для выполнения анализа уровня приложений в отношении исходного пакета данных, и результат анализа уровня приложений используется для указания информации уровня приложений исходного пакета данных; и модуль обработки, сконфигурированный с возможностью обработки исходного пакета данных, по меньшей мере, согласно результату анализа уровня приложений.
[0033] В первом возможном методе реализации модуль обработки в частности сконфигурирован с возможностью дешифрования исходного пакета данных, если идентифицируется согласно результату анализа уровня приложений, что исходный пакет данных является зашифрованным пакетом данных.
[0034] Во втором возможном методе реализации результат анализа уровня приложений исходного пакет данных включает в себя: тип протокола уровня приложений исходного пакета данных и результат согласования URL, где результат согласования URL получается ядром процессора сопроцессора при определении, что тип протокола уровня приложений исходного пакета данных является протоколом передачи гипертекстовых файлов посредством вызова механизма согласования унифицированного указателя ресурса, URL, сопроцессора для выполнения согласования URL в отношении исходного пакета данных; и
модуль обработки в частности сконфигурирован с возможностью определения согласно типу протокола уровня приложений исходного пакета данных и результату согласования URL, используется ли поток, к которому принадлежит исходный пакет данных, для осуществления доступа к ограниченному веб-сайту и если поток, к которому принадлежит исходный пакет данных, используется для осуществления доступа к ограниченному веб-сайту, блокировки потока.
[0035] Согласно пятому аспекту вариант осуществления настоящего изобретения обеспечивает устройство глубокой проверки пакетов, которое включает в себя: сопроцессор, обеспеченный каким-либо вариантом осуществления настоящего изобретения, и общий процессор, обеспеченный каким-либо вариантом осуществления настоящего изобретения.
[0036] В первом возможном методе реализации имеется один общий процессор.
[0037] Во втором возможном методе реализации имеются по меньшей мере два общих процессора; и аппарат глубокой проверки пакетов дополнительно включает в себя сетевой адаптер и аппарат балансировки нагрузки, где сетевой адаптер сконфигурирован с возможностью приема пакета данных из сети и отправки пакета данных аппарату балансировки нагрузки, и аппарат балансировки нагрузки сконфигурирован с возможностью получения состояния нагрузки каждого общего процессора из по меньшей мере двух общих процессоров, выбора одного общего процессора согласно состоянию нагрузки каждого из общих процессоров и отправки пакета данных выбранному общему процессору.
[0038] Из вышеприведенных технических решений можно узнать, что в устройстве и способе глубокой проверки пакетов, и в сопроцессоре, обеспеченном вариантами осуществления настоящего изобретения, общий процессор и сопроцессор кооперируются для реализации DPI; и подсопроцессор в сопроцессоре может быть разработан специально для службы DPI для выгрузки функции DPI с общего процессора, что сокращает занятость ресурса общего процессора так, что общий процессор может обрабатывать другие дополнительные службы. Более того, ядро процессора обеспечено в сопроцессоре и подсопроцессор работает при вызове ядра процессора так, что информация о промежуточном состоянии может быть сохранена и взаимодействия между ядром процессора и подсопроцессором являются всеми взаимодействиями в микросхеме, что избегает частых взаимодействий между сопроцессором и общим процессором, посредством этого сокращая задержку обработки.
Краткое описание чертежей
[0039] Фиг. 1 представляет собой схематическое представление способа глубокой проверки пакетов в предшествующем уровне техники;
[0040] фиг. 2 представляет собой схематическое представление архитектуры глубокой проверки пакетов согласно варианту осуществления настоящего изобретения;
[0041] фиг. 3 представляет собой схематическое представление сценария применения глубокой проверки пакетов согласно варианту осуществления настоящего изобретения;
[0042] фиг. 4 представляет собой блок-схему последовательности операций первого способа глубокой проверки пакетов согласно варианту осуществления настоящего изобретения;
[0043] фиг. 5 представляет собой блок-схему последовательности операций второго способа глубокой проверки пакетов согласно варианту осуществления настоящего изобретения;
[0044] фиг. 6A и 6B представляют собой блок-схему последовательности операций способа глубокой проверки пакетов согласно варианту осуществления настоящего изобретения;
[0045] фиг. 7A и 7B представляют собой блок-схему последовательности операций другого способа глубокой проверки пакетов согласно варианту осуществления настоящего изобретения;
[0046] фиг. 8 представляет собой блок-схему последовательности операций еще одного другого способа глубокой проверки пакетов согласно варианту осуществления настоящего изобретения;
[0047] фиг. 9 представляет собой схематическое структурное представление первого сопроцессора согласно варианту;
[0048] фиг. 10 представляет собой схематическое структурное представление второго сопроцессора согласно варианту осуществления настоящего изобретения;
[0049] фиг. 11 представляет собой схематическое структурное представление общего процессора согласно варианту осуществления настоящего изобретения;
[0050] фиг. 12 представляет собой схематическое структурное представление первого устройства глубокой проверки пакетов согласно варианту осуществления настоящего изобретения;
[0051] фиг. 13 представляет собой схематическое структурное представление второго устройства глубокой проверки пакетов согласно варианту осуществления настоящего изобретения; и
[0052] фиг. 14 представляет собой схематическое структурное представление третьего устройства глубокой проверки пакетов согласно варианту осуществления настоящего изобретения.
Описание вариантов осуществления
[0053] Для обеспечения большей понятности целей, технических решений и преимуществ вариантов осуществления настоящего изобретения, далее ясно описываются технические решения в вариантах осуществления настоящего изобретения со ссылкой на прилагаемые чертежи в вариантах осуществления настоящего изобретения. Очевидно, что описанные варианты осуществления представляют собой часть, а не все варианты осуществления настоящего изобретения. Все другие варианты осуществления, полученные специалистом в данной области техники на основе вариантов осуществления настоящего изобретения без творческих усилий, должны попадать в объем охраны настоящего изобретения.
[0054] Для того чтобы специалист в данной области техники лучше понимал технические решения настоящего изобретения, архитектура глубокой проверки пакетов (глубокой проверки пакетов, DPI для краткости) вариантов осуществления настоящего изобретения в общем описана первой, что показано на фиг. 2.
[0055] В вариантах осуществления настоящего изобретения функциональные модули для задач обработки DPI разделены на несколько уровней (типично на 4 уровня), где более высокий уровень обрабатывает более сложные и общие службы, и более низкий уровень имеет более простой и более специализированный алгоритм.
[0056] Эти уровни реализованы двумя микросхемами, которые являются общим процессором и соответственно сопроцессором DPI. Для того чтобы улучшить производительность ускорения аппаратного обеспечения как можно больше задач, связанных с DPI, могут быть выполнены сопроцессором DPI. В этом случае, общий процессор может выполнять более емкие с точки зрения арифметики задачи, поскольку общий процессор улучшен с точки зрения производительности для этого типа задач и сосредоточен на обработке дополнительных служб. Сопроцессор DPI является ответственным за реализацию логики уровня управления службой DPI, логического уровня подслужбы DPI и уровня механизма алгоритма. Сопроцессор DPI внутри дополнительно включает в себя несколько подсопроцессоров, где каждый подсопроцессор сконфигурирован с возможностью выполнения специфической подслужбы DPI; согласно различию в сложности подслужбы DPI подсопроцессоры могут быть в частности классифицированы на подсопроцессор высокого уровня (такой как подсопроцессор A на фиг. 2) и подсопроцессор низкого уровня (такой как подсопроцессоры B, C и D на фиг. 2), где подсопроцессор низкого уровня может быть в частности механизмом алгоритма, реализованным программным обеспечением или аппаратным обеспечением, и сконфигурированным с возможностью реализации специализированной функции посредством использования специфического алгоритма, таким как механизм согласования строк и механизм согласования регулярных выражений; и по сравнению с подсопроцессором низкого уровня подсопроцессор высокого уровня сконфигурирован с возможностью выполнения более общей подслужбы DPI, такой как анализ и идентификация протокола. Например, подсопроцессор высокого уровня может быть логической или физической сущностью, которая интегрирует несколько подсопроцессоров и/или функций механизма алгоритма, и которая сконфигурирована с возможностью реализации более усовершенствованной и общей подфункции DPI; более того, подсопроцессор высокого уровня может вызывать подсопроцессор низкого уровня для реализации требуемой функции, и подсопроцессоры одного и того же уровня также могут вызывать друг друга для выполнения функции совместно.
[0057] В частности, в сценарии применения, как показано на фиг. 3, задачи могут быть разделены на следующие уровни:
[0058] Уровень 1: Емкий в отношении арифметики уровень, который является ответственным за задачи, которые требуют большого объема арифметической обработки, в том числе: шифрование и дешифрование, кодирование и декодирование, и сложная обработка логики в логике службы DPI; другие службы не-DPI, такие как дополнительные службы; согласование политик; исполнение действия пакета; и подобное. В вариантах осуществления настоящего изобретения задача этого уровня завершается общим процессором.
[0059] Уровень 2: Уровень управления службой DPI, который исполняет посредством размещения ядра в сопроцессоре DPI логику управления службой DPI, включающую в себя связанную со службой DPI логику управления, такую как управление последовательностью выполнения над этапами механизма DPI, согласование условия и правила, перекрестная обработка пакета и сохранение промежуточного состояния. В вариантах осуществления настоящего изобретения задача этого уровня завершается ядром процессора (ядром) в сопроцессоре DPI.
[0060] Уровень 3: Логический уровень подслужбы DPI, который является ответственным за специфические в отношении DPI подслужбы, которые могут быть записаны постоянно, например, идентификация протокола прикладного уровня, глубокий анализ протокола и анализ особенности поведения пакета данных. В вариантах осуществления настоящего изобретения задача этого уровня завершается подсопроцессором высокого уровня в сопроцессоре DPI, например, подсопроцессором идентификации протокола для идентификации типа протокола уровня приложений пакета данных, подсопроцессором анализа протокола для выполнения глубокого анализа в отношении протокола и подобным.
[0061] Уровень 4: Уровень механизма алгоритма, который является ответственным за задачи механизма алгоритма, которые в частности оптимизированы для DPI, например, общее согласование регулярных выражений, арифметические операции с плавающей запятой, многорежимное согласование строк, однорежимное согласование строк, арифметика параметров поведения и подобное. Задача этого уровня завершается подсопроцессором низкого уровня в сопроцессоре DPI, например, механизмом согласования регулярных выражений, механизмом арифметических операций с плавающей запятой, механизмом согласования строк и подобным.
[0062] Следует специально отметить, что во внутренней части сопроцессора DPI, то есть с уровня 2 по уровень 4, внутренняя шина или модуль шины коммутации требуется для взаимодействий сообщения и данных между этими многоуровневыми модулями. Однако, взаимодействие внутри микросхемы выполняется между уровнем 1 и другими уровнями, то есть между общим процессором и сопроцессором DPI, что требует некоторых стандартизированных шин, которы