Способ высокоскоростного удаления поля данных при пакетной коммутации

Изобретение относится к способам высокоскоростной модификации сетевых пакетов в высоконагруженных сетях. Технический результат - повышение пропускной способности и производительности систем глубокого анализа сетевого трафика. Происходит формирование дескриптора, включающего в себя размеры заголовков, поля данных и всего пакета. Дескриптор сохраняется в буфер дескрипторов, а пакет сохраняется в пакетный буфер. Из буфера дескрипторов дескрипторы передаются в блок удаления поля данных, в котором пересчитывается размер пакета без поля данных и записывается полученное значение в буфере дескрипторов. При чтении пакета из пакетного буфера используется информация о размере пакета из его дескриптора. Если в блоке анализа пакета определяется, что в пакете нет IP-заголовка, то в блоке удаления поля данных размер пакета в дескрипторе устанавливается равным размеру Ethernet-заголовка. Если в блоке анализа пакета определяется, что в пакете есть IP-заголовок, то в блоке удаления поля данных размер пакета в дескрипторе устанавливается равным сумме размеров Ethernet-заголовка и IP-заголовка. Если в результате удаления поля данных из передаваемого пакета размер пакета становится меньше минимально заданного размера в 60 байт, доставляемого получателю в составе одного пакета, то в блоке дополнения выполняется дополнение пакета нулевыми байтами до 60 байт и выполняется передача его в блок корректировки FCS. Если размер пакета больше или равен минимальному заданному размеру в 60 байт, то пакет сразу передаётся в блок корректировки FCS. В блоке корректировки FCS выполняется пересчет контрольной суммы, и 4 байта контрольной суммы добавляются к пакету, после чего он передаётся в выходной интерфейс. 4 ил.

 

Изобретение относится к области построения систем мониторинга и анализа сетей передачи данных, а именно к методам высокоскоростной модификации сетевых пакетов в высоконагруженных сетях и может быть использовано в устройствах предварительной обработки данных для систем глубокого анализа сетевого трафика, в частности, в составе сетевых коммутаторов стандарта Ethernet или брокерах сетевых пакетов, поддерживающих стек протоколов TCP/IP. Заявляемый способ направлен на повышение производительности устройств предварительной обработки сетевого трафика и может быть применен в устройствах на базе ПЛИС (программируемая логическая интегральная схема) или СБИС (сверхбольшая интегральная схема).

В настоящее время большинство локальных вычислительных сетей подключено к сети Интернет. Расширение спектра и повышение требований к уровню конфиденциальности требует использования специальных технических средств глубокого анализа данных, передаваемых по сети, а также разграничения доступа к информационным ресурсам.

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

В существующих устройствах обработки трафика на процессорах, функционирующих под управлением операционных систем, обработка пакета включает последовательность следующих операций: чтения, модификации и записи данных. Данные из сетевого интерфейса посредством драйвера сначала загружаются в системную память, которая обычно реализуется на основе DRAM (dynamic random access memory — динамическая память с произвольным доступом), где они последовательно обрабатываются центральным процессором, и, по завершению обработки, перегружаются в память сетевого интерфейса, откуда далее передаются потребителю. При этом в известных ранее устройствах обработки трафика на процессорах присутствует значительная временная задержка, связанная с ограниченной пропускной способностью системной памяти, и в результате не обеспечивается пропускная способность, достаточная для передачи требуемых объемов сетевого трафика (предельно достижимая величина пропускной способности для таких коммутаторов составляет не более
40 Гбит/с).

Кроме того, операционные системы, применяемые в устройствах обработки трафика на процессорах, могут потенциально содержать уязвимости, которые могут использоваться злоумышленниками.

Брокеры сетевых пакетов – специализированные устройства, которые нашли наибольшее применение в системах информационной безопасности. Правила распределения и агрегации трафика в брокерах сетевых пакетов полностью определяются настройками, в них нет стандартов построения таблиц пересылки (MAC-таблиц) и протоколов обмена с другими коммутаторами (типа STP), поэтому диапазон возможных настроек и обрабатываемых полей в них гораздо шире.

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

Наиболее близким аналогом к предложенному способу высокоскоростного удаления поля данных при пакетной коммутации является способ, описанный в патенте на изобретение JP4162210B2 (кл. H04L 12/66, 08.10.2008). Известный способ заключается в приеме входного потока пакетов через входной интерфейс, передачу его в блок анализа пакета, в котором выполняется анализ содержимого пакета и выделение Ethernet-заголовка, IP-заголовка, поля данных и определение их размеров, после чего размеры заголовков, поля данных и всего пакета сохраняются в буфер дескрипторов, а пакет сохраняется в пакетный буфер.

Недостатком наиболее близкого аналога является меньшая производительность (до 40 Гб/с) по сравнению с реализацией описываемого метода на ПЛИС или СБИС (до 1,5 Тб/с), реализованного на базе брокера
DS Integrity).

Технической проблемой способа является повышение производительности систем глубокого анализа сетевого трафика.

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

Технический результат достигается тем, что в заявленном способе высокоскоростного удаления поля данных при пакетной коммутации, входной поток пакетов принимается через входной интерфейс, передаётся в блок анализа пакета, в котором выполняется анализ содержимого пакета и выделение Ethernet-заголовка, IP-заголовка, поля данных и определение их размеров, происходит формирование дескриптора, включающего в себя размеры заголовков, поля данных и всего пакета, который сохраняется в буфер дескрипторов, а пакет сохраняется в пакетный буфер,

согласно предложенному изобретению

из буфера дескрипторов дескрипторы передаются в блок удаления поля данных, в котором пересчитывается размер пакета без поля данных и записывается полученное значение в буфере дескрипторов,

при чтении пакета из пакетного буфера используется информация о размере пакета из его дескриптора,

если в блоке анализа пакета определяется, что в пакете нет IP-заголовка, то в блоке удаления поля данных размер пакета в дескрипторе устанавливается равным размеру Ethernet-заголовка,

если в блоке анализа пакета определяется, что в пакете есть IP-заголовок, то в блоке удаления поля данных размер пакета в дескрипторе устанавливается равным сумме размеров Ethernet-заголовка и IP-заголовка,

если в результате удаления поля данных из передаваемого пакета размер пакета становится меньше минимально заданного размера в 60 байт, доставляемого получателю в составе одного пакета, то в блоке дополнения выполняют дополнение пакета нулевыми байтами до 60 байт и выполняется передача его в блок корректировки FCS,

если размер пакета больше или равен минимальному заданному размеру в 60 байт, то пакет сразу передаётся в блок корректировки FCS,

при этом в блоке корректировки FCS выполняется пересчет контрольной суммы, и 4 байта контрольной суммы добавляются к пакету, после чего он передаётся в выходной интерфейс.

Изобретение поясняется следующими графическими материалами:

фиг. 1 блок-схема высокоскоростного удаления поля данных при пакетной коммутации;

фиг. 2.1 – схема, иллюстрирующая пакет до удаления поля данных;

фиг. 2.2 – схема, иллюстрирующая пакет после удаления поля данных;

фиг. 3 – блок-схема алгоритма высокоскоростного удаления поля данных при пакетной коммутации.

фиг. 4 – схема, иллюстрирующая пример удаления поля данных:

а) для случая, если размер пакета Nfilt≥60 байт, где Nfilt – размер передаваемого пакета;

б) для случая, если размер пакета Nfilt<60 байт.

Система высокоскоростного удаления поля данных при пакетной коммутации содержит (фиг. 1) входной интерфейс (101), блок анализа пакета (102), пакетный буфер (103), буфер дескрипторов (104), блок удаления поля данных (105), блок дополнения (106), блок корректировки FCS (107), выходной интерфейс (108).

Входной интерфейс (101) выполняет прием сетевого пакета, проверку на соответствие требованием протокола Ethernet.

Блок анализа пакета (102) – блок, который выполняет выделение из сетевых заголовков принятого пакета Ethernet-заголовков и IP-заголовков, и формирование на их основе дескриптора.

Пакетный буфер (103) – блок хранения, в котором на время обработки дескриптора пакета сохраняется весь пакет.

Буфер дескрипторов (104) – временное хранилище, где хранятся дескрипторы на время ожидания обработки.

Блок удаления поля данных (105) – блок, в котором пересчитывается размер пакета без поля данных и записывается полученное значение в буфере дескрипторов (104).

Блок дополнения (106) – блок, в котором осуществляется дополнение поля данных до минимально необходимой величины, если это необходимо, что бы минимальные размер пакета после обработки соответствовал требованиям стандарта 802.3 (64 байта). Блок (106) является стандартным устройством, реализованном в сетевых коммутаторах, функционирующих в соответствии со стандартом IEEE 802.3.

Блок корректировки FCS (107) – блок дополнения контрольной последовательностью, являющийся стандартным устройством, реализованном в сетевых коммутаторах, функционирующих в соответствии со стандартом IEEE 802.3. FCS (Frame check sequence – «последовательность проверки кадра»). FCS— четырёхбайтное значение CRC (Cyclic redundancy check – «Циклический избыточный код»), используемое для выявления ошибок передачи данных. Вычисляется отправляющей стороной и помещается в поле FCS. Принимающая сторона вычисляет данное значение самостоятельно и сравнивает с полученным по алгоритму CRC-32-IEEE 802.3.

CRC – алгоритм нахождения контрольной суммы, предназначенный для проверки целостности данных. CRC является практическим приложением помехоустойчивого кодирования, основанным на определённых математических свойствах циклического кода.

Выходной интерфейс (108) – выполняет передачу сетевого пакета в сеть.

Блок анализа пакета, блок удаления поля данных, блок дополнения и блок корректировки FCS могут быть реализованы или выполнены на базе ПЛИС или СБИС. Вышеуказанные логические блоки, схемы/алгоритмы обработки могут быть выполнены с помощью элемента памяти, который записывает обрабатываемые данные, и процессора обработки, в качестве которого могут применяться процессор общего назначения, машиночитаемый носитель, конечный автомат или другое аппаратно-программируемое логическое устройство, дискретный логический элемент или транзисторная логика, дискретный компонент аппаратных средств или любого их сочетания, чтобы выполнять описанные выше функции. ПЛИС или СБИС может быть запрограммирована для выполнения предложенного способа и размещена в любом месте компьютерной сети центра обработки данных или брокерах сетевых пакетов.

Минимально возможное количество байт Nmin, доставляемое получателю в составе одного пакета, определяется стандартом сетевого протокола, например, IEEE 802.3, в соответствии с которым оно может быть равно 60 байтам.

Заявленный способ высокоскоростного удаления поля данных при пакетной коммутации осуществляется следующим образом.

Входной поток пакетов (фиг. 1) принимается последовательно через входной интерфейс (101), включающий функции преобразования из электрического сигнала в набор последовательных цифровых значений и выполняющий проверку на соответствие требованием протокола Ethernet. Затем пакеты передаются в блок анализа пакета (102), в котором выполняется анализ содержимого пакета и выделение Ethernet-заголовка (203), IP-заголовка (204), поля данных (205) и определение их размеров
(фиг. 2.1). Блок анализирует пакет (определяет размер заголовка, протокол, и, в зависимости от вида протокола, определяет длину заголовка пакета). Затем происходит формирование дескриптора, включающего в себя размеры заголовков, поля данных и всего пакета, при этом дескриптор сохраняется в буфер дескрипторов (104), а пакет сохраняется в пакетный буфер (103).

Из буфера дескрипторов (104) дескрипторы передаются в блок удаления поля данных (105), в котором пересчитывается размер пакета без поля данных и записывается полученное значение в буфере дескрипторов (104). При чтении пакета из пакетного буфера используется информация о размере пакета из его дескриптора,

если в блоке анализа пакета (102) определяется, что в пакете нет IP-заголовка (фиг.3), то в блоке удаления поля данных (105) размер пакета в дескрипторе устанавливается равным размеру Ethernet-заголовка,

если в блоке анализа пакета (102) определяется, что в пакете есть IP-заголовок, то в блоке удаления поля данных (105) размер пакета в дескрипторе устанавливается равным сумме размеров Ethernet-заголовка и IP-заголовка,

если в результате удаления поля данных из передаваемого пакета размер пакета Nfilt стал меньше минимально заданного размера Nmin в 60 байт, доставляемого получателю в составе одного пакета, то в блоке дополнения (106) выполняется дополнение пакета нулевыми байтами до 60 байт и выполняется передача его в блок корректировки FCS (107).

Nfilt – размер передаваемого пакета.

Nmin – минимально возможное количество байт, доставляемое получателю в составе одного пакета, определяемое стандартом сетевого протокола IEEE 802.3.

Если размер пакета Nfilt больше или равен минимально заданного размера Nmin в 60 байт (фиг.2.2), то пакет сразу передаётся в блок корректировки FCS (107).

В блоке корректировки FCS (107) выполняется пересчет контрольной суммы, и 4 байта контрольной суммы (206) добавляются к пакету, после чего он передаётся в выходной интерфейс (108).

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

Удаление данных из передаваемого пакета, вычисление контрольной последовательности и дополнение ею пакета данных, доставляемых получателю, выполняется аппаратно на основе жесткой логики.

Пример 1. Удаление поля данных для случая, если размер пакета
Nfilt ≥ 60 байт (фиг. 4а).

Входной поток пакетов принимается последовательно через входной интерфейс (101). Затем пакеты передаются в блок анализа пакета (102), в котором выполняется анализ содержимого пакета и выделение Ethernet-заголовка, IP-заголовка, поля данных и определение их размеров. Из буфера дескрипторов (104) дескрипторы передаются в блок удаления поля данных (105), в котором пересчитывается размер пакета без поля данных и записывается полученное значение в дескриптор. При чтении пакета из пакетного буфера (103) используется информация о размере пакета из его дескриптора.

После того, как блок анализа пакета (102) определил, что в пакете есть IP-заголовок, в блоке удаления поля данных (105) размер пакета в дескрипторе устанавливается равным сумме размеров Ethernet-заголовка и IP-заголовка.

Размер пакета больше минимального заданного размера в 60 байт
(Nfilt ≥ 60 байт), поэтому пакеты из буфера дескрипторов (104) сразу передаются в блок корректировки FCS (107), в котором выполняется пересчет контрольной суммы, и 4 байта контрольной суммы (206) добавляются к пакету, после чего он передаётся в выходной интерфейс (108).

Пример 2. Удаление поля данных для случая, если размер пакета
Nfilt <60 байт (фиг. 4б).

Входной поток пакетов принимается последовательно через входной интерфейс (101), затем пакеты передаются в блок анализа пакета (102).

Из буфера дескрипторов (104) дескрипторы передаются в блок удаления поля данных (105), в котором пересчитывается размер пакета без поля данных и записывается полученное значение в дескриптор. При чтении пакета из пакетного буфера используется информация о размере пакета из его дескриптора.

После того, как в блоке анализа пакета (102) определилось, что в пакете нет IP-заголовка, то в блоке удаления поля данных (105) размер пакета в дескрипторе устанавливается равным размеру Ethernet-заголовка.

Затем в блоке удаления поля данных (105) пересчитывается размер пакета без поля данных и записывается полученное значение в дескриптор, устанавливая размер пакета равным сумме размеров Ethernet-заголовка и IP-заголовка.

В результате удаления поля данных размер пакета Nfilt стал меньше минимального размера пакета (Nmin) в 60 байт.

В блоке дополнения (106) выполняется дополнение пакета до 60 байт нулевыми байтами размером (Nmin – Nfilt). В блоке корректировки FCS (107) выполняется пересчет контрольной суммы FCS: 4 байта FCS (206) добавляются к пакету, после чего пакет передается в выходной интерфейс (108).

Заявляемый способ позволяет повысить производительность устройств предварительной обработки сетевого трафика за счет оптимизации процедуры удаления поля данных из сетевых пакетов и отсутствия операций копирования пакета при его обработке и может быть применен в устройствах на базе ПЛИС или СБИС.

Способ высокоскоростного удаления поля данных при пакетной коммутации, заключающийся в приеме входного потока пакетов через входной интерфейс, передачу его в блок анализа пакета, в котором выполняется анализ содержимого пакета и выделение Ethernet-заголовка, IP-заголовка, поля данных и определение их размеров, после чего происходит формирование дескриптора, включающего в себя размеры заголовков, поля данных и всего пакета, при этом дескриптор сохраняется в буфер дескрипторов, а пакет сохраняется в пакетный буфер,

отличающийся тем, что

из буфера дескрипторов дескрипторы передаются в блок удаления поля данных, в котором пересчитывается размер пакета без поля данных и записывается полученное значение в буфере дескрипторов,

при чтении пакета из пакетного буфера используется информация о размере пакета из его дескриптора,

если в блоке анализа пакета определяется, что в пакете нет IP-заголовка, то в блоке удаления поля данных размер пакета в дескрипторе устанавливается равным размеру Ethernet-заголовка,

если в блоке анализа пакета определяется, что в пакете есть IP-заголовок, то в блоке удаления поля данных размер пакета в дескрипторе устанавливается равным сумме размеров Ethernet-заголовка и IP-заголовка,

если в результате удаления поля данных из передаваемого пакета размер пакета становится меньше минимально заданного размера в 60 байт, доставляемого получателю в составе одного пакета, то в блоке дополнения выполняют дополнение пакета нулевыми байтами до 60 байт и выполняется передача его в блок корректировки FCS,

если размер пакета больше или равен минимальному заданному размеру в 60 байт, то пакет сразу передаётся в блок корректировки FCS,

при этом в блоке корректировки FCS выполняется пересчет контрольной суммы, и 4 байта контрольной суммы добавляются к пакету, после чего он передаётся в выходной интерфейс.



 

Похожие патенты:

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

Изобретение относится к области информационной безопасности. Технический результат заключается в повышении точности определении фишингового электронного сообщения, уменьшении количества ложных определений фишингового электронного сообщения, снижении временных и ресурсных затрат на применение ресурсоемкой второй модели машинного обучения путем предварительного определения электронного сообщения как подозрительного при помощи первой модели.

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

Изобретение относится к высвобождению N2 соединения, ассоциированного с устройством пользователя, UE. Технический результат – улучшение управления сеансом сети связи.

Изобретение относится к области связи. Технический результат заключается в улучшении управления сеансом сети связи.

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

Изобретение относится к вычислительной технике. Технический результат заключается в повышении результативности защиты вычислительных сетей.

Изобретение относится к способу определения состояний сетей цифровой радиосвязи. Техническим результатом изобретения является - оптимизация работы сетей и выявление деструктивных воздействий.

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

Изобретение относится к вычислительной технике. Технический результат заключается в повышении безопасности приема данных вычислительным устройством извне.
Наверх