Способ передачи данных в цифровых сетях передачи данных по протоколу тср/ip через нттр

Изобретение относится к области передачи данных в цифровых сетях передачи данных по протоколу TCP/IP через HTTP. Техническим результатом является повышение скорости передачи данных между клиентом и сервером. Способ передачи данных в цифровых сетях передачи данных по протоколу TCP/IP через HTTP реализуется с помощью системы, включающей сетевые модули, встроенные в компьютер-клиент и компьютер-сервер и обеспечивающие формирование соединения между компьютером-клиентом и компьютером-сервером; прием и передачу сетевых пакетов в соединении между клиентом и сервером; шифрование сетевых пакетов для установленного соединения: туннелирование сетевых пакетов; причем между клиентом и сервером имеется, по крайней мере, два прокси-сервера, связанных с клиентом и сервером, способ заключается в том, что формируют с помощью сетевых модулей соединение между клиентом и сервером, причем соединение устанавливается, по крайней мере, через два прокси-сервера; создают туннельное сообщение в сетевом модуле клиента; передают туннельное сообщение серверу; подбирают величину задержки T по признаку максимальной скорости передачи туннельного сообщения между клиентом и сервером, выполняя следующие действия: устанавливают интервал изменения времени T и шаг по времени; выполняют измерение скорости передачи туннельного сообщения для каждого значения T в интервале; выбирают значение T, соответствующее максимальной скорости передачи; определяют объем пакета с фиктивными данными Q; отправляют из клиента пакет с фиктивными данными объемом Q через T секунд с момента последней передачи нефиктивных данных через НТТР-туннель, принимают на сервере туннельное сообщение; отключают алгоритм Нэйгла для TCP соединения в сетевых модулях клиента и сервера; отключают алгоритм TCP delayed acknowledgment в сетевых модулях клиента и сервера.

 

Область техники, к которой относится изобретение

Предлагаемое изобретение относится к сетевым технологиям, в частности к способам передачи данных в цифровых сетях передачи данных по протоколу TCP/IP через HTTP.

Уровень техники

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

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

Известен способ обнаружения в установленном соединении использования алгоритма Нэйгла (Nagle algorithm) [l], реализуемый с помощью системы, включающей

сетевой модуль, встроенный в компьютер-отправитель и обеспечивающий

- формирование соединения между компьютером-отправителем и компьютером-приемником сообщений;

- прием и передачу сетевых пакетов в соединении между клиентом и сервером;

- определение размера и формирование совокупности пакетов (сегментов) для передачи через установленное соединение;

- обнаружение использования алгоритма Нэйгла в установленном соединении;

- отключение использования алгоритма Нэйгла в установленном соединении.

Способ включает:

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

- создание сетевым модулем одного или более сегментов, которые будут переданы в компьютерную систему-приемник через сетевое соединение;

- определение сетевым модулем, является ли один или более сегментов, которые будут переданы, малыми сегментами, и подтвержден ли прием ранее переданного малого сегмента компьютером-приемником;

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

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

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

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

- определение компьютерной системой-отправителем, является ли один или более сегментов, которые будут переданы, малыми сегментами, включает определение компьютерной системой-отправителем, является ли один или более сегментов меньше, чем максимальный объем сегмента (maximum segment size, MSS) для сетевого соединения;

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

В известном способе не предложено какого-либо решения для повышения скорости передачи при инкапсуляции пакетов протокола TCP/IP в HTTP.

Известен способ обеспечения максимальной передаваемой величины сетевых пакетов [2], реализуемый с помощью системы, включающей

сетевой модуль, встроенный в компьютер-клиент и обеспечивающий

- формирование соединения между компьютером-клиентом и компьютером-сервером;

- прием и передачу сетевых пакетов в соединении между клиентом и сервером;

- шифрование сетевых пакетов для установленного соединения;

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

способ включает

- формирование сетевым модулем соединения между клиентом и сервером, причем сетевой модуль выполняет шифрование множества сетевых пакетов для соединения;

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

- определение превышения размера пакета в результате шифрования для каждого из множества сетевых пакетов;

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

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

При реализации способа предусматривается также возможность формирования соединения, включающего SSL (secure socket layer) или защищенного туннеля транспортного уровня.

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

Описанный способ принимается за прототип.

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

Раскрытие изобретения

Техническим результатом является повышение скорости передачи (обмена) туннелированного TCP соединения, осуществляемого, по крайней мере, через два прокси-сервера.

Для этого предлагается способ повышения быстродействия, реализуемый с помощью системы, включающей сетевые модули, встроенные в компьютер-клиент и компьютер-сервер, и обеспечивающие

- формирование соединения между компьютером-клиентом и компьютером-сервером;

- прием и передачу сетевых пакетов в соединении между клиентом и сервером;

- туннелирование сетевых пакетов;

причем между клиентом и сервером имеется, по крайней мере, два прокси-сервера, связанных с клиентом и сервером,

способ, заключающийся в том, что

- формируют с помощью сетевых модулей соединение между клиентом и сервером, причем соединение устанавливается, по крайней мере, через два прокси-сервера;

- создают туннельное сообщение в сетевом модуле клиента;

- передают туннельное сообщение серверу;

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

- определяют объем пакета с фиктивными данными Q по формуле

Q = i = 1 N 1 M S S i , ( 1 )

где MSSi - значение максимального объема сегмента в TCP соединениях между i прокси-сервером и i+1 прокси сервером;

N - количество прокси-серверов;

- отправляет из клиента пакет с фиктивными данными объемом Q через Т секунд с момента последней передачи нефиктивных данных через НТТР-туннель,

- принимают на сервере туннельное сообщение;

- отключают алгоритм Нэйгла для TCP соединения в сетевых модулях клиента и сервера;

- отключают алгоритм TCP delayed acknowledge в сетевых модулях клиента и сервера.

Отключение алгоритмов Нэйгла и TCP delayed acknowledge в сетевых модулях клиента и сервера для TCP соединения позволяет увеличить скорость передачи на участке клиент - прокси-сервер и сервер - прокси-сервер. Это происходит за счет того, что передача через TCP туннель будет происходить без задержек, которые вносят алгоритмы Нэйгла и TCP delayed acknowledge.

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

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

Осуществление изобретения

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

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

Компьютер клиент и сервер могут работать под управлением операционной системы (ОС) общего назначения, например Microsoft Windows 7. Для реализации программного модуля ОС должна предоставлять:

- программный интерфейс для работы с транспортным протоколом TCP (в Windows 7 это - API сокетов);

- программный интерфейс, позволяющий управлять сетевым протоколом IP (в ОС Windows 7 это - API Windows Filtering Platform);

- возможность отключения алгоритмов Нэйгла и TCP delayed acknowledge (в ОС Windows 7 такая возможность может быть реализована путем редактирования реестра).

Сетевой модуль клиента должен содержать ПО, обеспечивающее выполнение следующих функций:

- отключение алгоритмов Нэйгла и TCP delayed acknowledge;

- формирование соединения с сервером через два прокси-сервера (НТТР-туннель) с помощью запроса к серверу;

- перенаправление исходящего IP трафика в НТТР-туннель;

- формирует входящий IP трафик, принятый из НТТР-туннеля;

- формирование пакета с фиктивными данными объемом Q через Т секунд с момента последней передачи нефиктивных (полезных) данных через НТТР-туннель.

Сетевой модуль сервера должен содержать ПО, обеспечивающее выполнение следующих функций:

- отключение алгоритмов Нэйгла и TCP delayed acknowledge;

- формирование соединения с клиентом через два прокси-сервера (НТТР-туннель) после получения запроса от клиента;

- перенаправление исходящего IP трафика в НТТР-туннель;

- формирует входящий IP трафик, принятый из HTTP туннеля;

- формирование пакета с фиктивными данными объемом Q через Т секунд с момента последней передачи нефиктивных (полезных) данных через НТТР-туннель.

На компьютере-клиенте и сервере загружаются соответствующие программные модули, с заданием следующих параметров для каждого программного модуля:

- количество прокси-серверов и значение MSS на участках между прокси-серверами;

- значение T;

- параметры для идентификации IP трафика, который будет перенаправляться в туннель (например, IP адреса, номер прикладного протокола и др.).

Значение параметра T определяется путем последовательного перебора значений T с определенным шагом в заранее установленном интервале времени (практически можно принять интервал 0-500 мс с шагом 5-10 мс). Для каждого значения T запускается ПО сетевого модуля и определяется пропускная способность соединения с помощью протокола TCP. Тестирование пропускной способности можно выполнить, например, с помощью бесплатного программного пакета Iperf. Искомое значение T определяется по максимальной величине пропускной способности соединения при посылке пакетов объемом, не превышающим MSS на участке между двумя прокси-серверами.

Затем в ПО сетевых модулей клиента и сервера определяют объем Q пакета с фиктивными данными по формуле

Q = i = 1 N 1 M S S i ,

где MSSi - значение максимального объем сегмента в TCP соединениях между i прокси-сервером и i+1 прокси-сервером;

N - количество прокси-серверов.

После этого из клиента отправляют фиктивные данные объемом Q через T секунд с момента последней передачи нефиктивных данных через НТТР-туннель, принимают на сервере туннельное сообщение и отключают алгоритм Нэйгла и TCP delayed acknowledge для TCP соединения в сетевых модулях клиента и сервера.

В случае, если заранее точно неизвестно количество прокси-серверов, для расчета объема Q пакета с фиктивными данными по формуле (1) количество прокси-серверов N принимается минимально возможным и равным 2. Однако в этом случае максимальная скорость передачи не достигается.

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

Источники информации

1. Патент США №7970864, приоритет от 02.04.2009 г., МКИ G06F 15/16.

2. Патент США №8014421, приоритет от 15.09.2009 г., МКИ H04J 3/16.

Способ передачи данных в цифровых сетях передачи данных по протоколу TCP/IP через HTTP, реализуемый с помощью системы, включающей сетевые модули, встроенные в компьютер-клиент и компьютер-сервер и обеспечивающие
формирование соединения между компьютером-клиентом и компьютером-сервером;
прием и передачу сетевых пакетов в соединении между клиентом и сервером;
шифрование сетевых пакетов для установленного соединения:
туннелирование сетевых пакетов;
причем между клиентом и сервером имеется, по крайней мере, два прокси-сервера, связанных с клиентом и сервером,
способ, заключающийся в том, что
формируют с помощью сетевых модулей соединение между клиентом и сервером, причем соединение устанавливается, по крайней мере, через два прокси-сервера;
создают туннельное сообщение в сетевом модуле клиента;
передают туннельное сообщение серверу;
подбирают величину задержки T по признаку максимальной скорости передачи туннельного сообщения между клиентом и сервером, выполняя следующие действия:
устанавливают интервал изменения времени T и шаг по времени;
выполняют измерение скорости передачи туннельного сообщения для каждого значения T в интервале;
выбирают значение T, соответствующее максимальной скорости передачи;
определяют объем пакета с фиктивными данными Q по формуле
,
где MSSi - значение максимального объем сегмента в TCP соединениях между i прокси-сервером и i+1 прокси-сервером;
N - количество прокси-серверов;
отправляют из клиента пакет с фиктивными данными объемом Q через T секунд с момента последней передачи нефиктивных данных через НТТР-туннель,
принимают на сервере туннельное сообщение;
отключают алгоритм Нэйгла для TCP соединения в сетевых модулях клиента и сервера;
отключают алгоритм TCP delayed acknowledgment в сетевых модулях клиента и сервера.



 

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

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

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

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

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

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

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

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

Способ шифрования с использованием ключа K шифрования с длиной k ключа по меньшей мере одного сообщения M, содержащего однородно распределенные символы, причем k битов шифруют (830) из сообщений длиной по меньшей мере k битов, в то время как более короткие сообщения удлиняются (840), например, посредством заполнения незначащей информацией или последовательного соединения для получения удлиненного сообщения длиной по меньшей мере k битов перед шифрованием.

Изобретение относится к вычислительной технике и электросвязи, предназначено для решения задач защиты компьютерной информации. Наиболее предпочтительной областью использования изобретения является построение генераторов псевдослучайных чисел (ГПСЧ), а также криптографических примитивов хеширования, блочного и поточного шифрования. Техническим результатом изобретения является повышение криптостойкости и увеличение быстродействия итеративного криптографического преобразования данных. Указанный технический результат при осуществлении изобретения достигается тем, что в итеративном криптографическом преобразовании данных, включающем формирование из секретного ключа с помощью процедуры разворачивания ключа последовательности раундовых ключей K1, K2,…, KR, где R - число раундов преобразования; формирование по входному блоку М блока С в соответствии с выражением С:=М; выполнение R раундов преобразования, при этом преобразование блока данных на i-м раунде записывается в виде С:=Е(С, Ki), где Е() - раундовая функция преобразования, Ki - раундовый ключ, используемый на i-м раунде, полученное значение С:=Е(С, Ki) при i<R поступает на вход следующего раунда, а результат действия последнего раунда С:=Е(С, KR) является результатом преобразования; дополнительно из каждого раундового ключа Ki формируют N раундовых подключей Ki1, Ki2,…, KiN, где N - число траекторий раундовых преобразований в каждом раунде; при выполнении каждого i-го раунда создают N копий Сi1, Ci2,…, СiN входного блока данных С, каждую копию Cij подвергают стохастическому преобразованию Eij, которое записывается в виде Cij:=Eij(Cij, Kij), преобразованные значения Cij поступают на входы комбинационной схемы F, функцией которой является параллельная композиция различных траекторий раундовых преобразований, результат действия комбинационной схемы С:=F(Ci1, Сi2,…, CiN) объявляют результатом раунда. В частном случае стохастическое преобразование Еij включает представление входного блока Cij, промежуточных результатов преобразования и раундового подключа Kij в виде квадратного массива бит размерностью 8×8; сложение по модулю два (XOR) входного блока Cij и раундового подключа Kij, разбиение результата на строки r1, r2,…, r8 и выполнение для каждой строки операции замены с использованием таблицы S размерностью 8×256; разбиение результата на столбцы с1, с2,…, с8 и выполнение для каждого столбца операции замены с использованием таблицы S размерностью 8×256. Благодаря совокупности перечисленных решений увеличивается криптостойкость преобразования за счет выполнения последовательной и параллельной композиции раундовых преобразований и повышается быстродействие за счет появления возможности сокращения числа раундов и выполнения всех раундовых преобразований Cij:=Eij(Cij, Kij) параллельно.

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

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

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

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

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

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

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

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

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

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

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