оборудование, система и способ связи между клиентом и серверной стороной
Классы МПК: | H04L12/54 коммутационные системы с промежуточным хранением |
Автор(ы): | ЦЗЯН Тао (CN), ЧЭНЬ Вэйхуа (CN) |
Патентообладатель(и): | ТЕНСЕНТ ТЕКНОЛОДЖИ (ШЭНЬЧЖЭНЬ) КОМПАНИ ЛИМИТЕД (CN) |
Приоритеты: |
подача заявки:
2006-09-29 публикация патента:
10.08.2010 |
Изобретение относится к сетям передачи данных. Технический результат заключается в упрощении установления соединения. Заявлен способ связи между клиентом и серверной стороной, применимый в коммуникационной системе, состоящей из клиента, серверной стороны и устройства сопряжения между клиентом и серверной стороной; способ включает: установление выделенного канала между клиентом и серверной стороной через открытый порт устройства сопряжения; установление (если основная прикладная подсистема клиента взаимодействует с целевым сервером на серверной стороне) логического канала между основной прикладной подсистемой и целевым сервером, основанного на выделенном канале, а также реализацию связи по логическому каналу. 3 н. и 14 з.п. ф-лы, 2 ил., 3 табл.
Формула изобретения
1. Оборудование для связи между клиентом и серверной стороной, применимое в коммуникационной системе, состоящей из клиента, серверной стороны и устройства сопряжения между клиентом и серверной стороной; в состав оборудования входят:
узел передачи, отвечающий за установление выделенного канала между узлом передачи и сервером передачи через открытый порт устройства сопряжения, установление коммуникационного соединения между узлом передачи и клиентом, а также установление на основе выделенного канала логического канала между клиентом и серверной стороной, в результате чего клиент получает связь с серверной стороной по логическому каналу; и
сервер передачи, отвечающий за установление выделенного канала между узлом передачи и сервером передачи через открытый порт устройства сопряжения, установление коммуникационного соединения между сервером передачи и серверной стороной, а также установление на основе выделенного канала логического канала между клиентом и серверной стороной, в результате чего клиент получает связь с серверной стороной по логическому каналу.
2. Оборудование по п.1, в котором выделенный канал между узлом передачи
и сервером передачи содержит коммуникационное соединение, действующее по протоколу управления передачей (TCP) или протоколу дейтаграмм пользователя (UDP).
3. Оборудование по п.1 или 2, в котором сервер передачи содержит модуль стандартизированной обработки, принимающий запрос портов от основной прикладной подсистемы, назначающий локальный порт и устанавливающий логический канал на основе запроса портов и локального порта.
4. Оборудование по п.3, в котором модуль стандартизированной обработки содержит:
первый модуль, отвечающий за назначение унитарного порта протокола управления передачей (TCP);
второй модуль, отвечающий за назначение унитарного порта протокола дейтаграмм пользователя (UDP), и
третий модуль, отвечающий за назначение двух последовательных портов UDP,
причем любой из них - первый модуль, или второй модуль, или третий модуль - осуществляет прием запроса портов и назначение локального порта соответствующего типа.
5. Оборудование по п.1, дополненное следующим:
модуль преобразования, устанавливаемый в узле передачи или сервере передачи и отвечающий за согласование IP-адреса и порта, анализ пакета с информацией согласования, передаваемого от клиента к серверной стороне, а также за преобразование информации о согласованных IP-адресе и порте клиента в области данных пакета с информацией согласования в информацию об IP-адресе и порте сервера передачи в логическом канале.
6. Коммуникационная система, содержащая клиента, серверную сторону и устройство сопряжения, установленное между клиентом и сервером; причем клиент содержит основную прикладную подсистему; серверная сторона содержит по крайней мере один целевой сервер; и в систему дополнительно включены узел передачи и сервер передачи;
причем узел передачи отвечает за установление выделенного канала между узлом передачи и сервером передачи через открытый порт устройства сопряжения, установление коммуникационного соединения между узлом передачи и основной прикладной подсистемой, а также установление на основе выделенного канала логического канала между основной прикладной подсистемой и целевым сервером, в результате чего основная прикладная подсистема получает связь с целевым сервером по логическому каналу; и
сервер передачи отвечает за установление выделенного канала между узлом передачи и сервером передачи через открытый порт устройства сопряжения, установление коммуникационного соединения между сервером передачи и целевым сервером, а также установление на основе выделенного канала логического канала между основной прикладной подсистемой и целевым сервером, в результате чего основная прикладная подсистема получает связь с целевым сервером по логическому каналу.
7. Способ связи между клиентом и серверной стороной, применимый в коммуникационной системе, состоящей из клиента, серверной стороны и устройства сопряжения между клиентом и серверной стороной; способ включает установление выделенного канала между клиентом и серверной стороной через открытый порт устройства сопряжения;
установление (если основная прикладная подсистема клиента взаимодействует с целевым сервером на серверной стороне) логического канала между основной прикладной подсистемой и целевым сервером, основанного на выделенном канале, а также реализацию связи по логическому каналу.
8. Способ по п.7, в котором при установлении выделенного канала между клиентом и серверной стороной через устройство сопряжения выполняют следующие шаги:
устанавливают узел передачи в клиенте, устанавливают сервер передачи на серверной стороне и устанавливают выделенный канал между узлом передачи и сервером передачи;
при установлении логического канала на основе выделенного канала между основной прикладной подсистемой и целевым сервером выполняют следующие шаги:
устанавливают узлом передачи коммуникационное соединение с основной прикладной подсистемой, устанавливают сервером передачи коммуникационное соединение с целевым сервером и устанавливают первую взаимосвязь между коммуникационными портами, назначенными соответственно основной прикладной подсистемой, узлом передачи, сервером передачи и целевым сервером для создания логического канала.
9. Способ по п.8, в котором при установлении узлом передачи и сервером передачи логического канала на основе выделенного канала между основной прикладной подсистемой и целевым сервером выполняют следующие шаги:
посылают от основной прикладной подсистемы к узлу передачи запрос портов, содержащий информацию об IP-адресе, то есть адресе по Интернет-протоколу, и порте основной прикладной подсистемы, а также информацию об IP-адресе и порте целевого сервера;
инкапсулируют узлом передачи запрос портов согласно внутреннему протоколу, посылают по выделенному каналу инкапсулированный запрос портов на сервер передачи и назначают локальный интерфейс передачи для пересылки данных;
назначают сервером передачи локальный порт по запросу портов и устанавливают вторую взаимосвязь между номером логического канала, IP-адресом и портом сервера передачи, а также IP-адресом и портом целевого сервера;
посылают от сервера передачи к узлу передачи информацию о второй взаимосвязи;
устанавливают узлом передачи взаимосвязь между номером логического канала, IP-адресом и портом основной прикладной подсистемы, IP-адресом и портом узла передачи, IP-адресом и портом сервера передачи, а также IP-адресом и портом целевого сервера; и
задействуют первую взаимосвязь как логический канал между основной прикладной подсистемой и целевым сервером.
10. Способ по п.8, в котором при установлении узлом передачи и сервером передачи логического канала на основе выделенного канала между основной прикладной подсистемой и целевым сервером выполняют следующие шаги:
посылают основной прикладной подсистемой в узел передачи запрос портов,
содержащий информацию об IP-адресе и порте основной прикладной подсистемы;
инкапсулируют узлом передачи запрос портов согласно внутреннему протоколу, посылка по выделенному каналу инкапсулированного запроса портов на сервер передачи и назначают локальный интерфейс передачи для пересылки данных;
назначают сервером передачи локальный порт по запросу портов; посылают основной прикладной подсистемой в узел передачи и на сервер передачи информацию об IP-адресе и порте целевого сервера в виде коммуникационных данных или уведомления;
устанавливают сервером передачи вторую взаимосвязь между номером логического канала, IP-адресом и портом сервера передачи, а также IP-адресом и портом целевого сервера;
посылают сервером передачи в узел передачи информацию о второй взаимосвязи и
устанавливают узлом передачи первую взаимосвязь между номером логического канала, IP-адресом и портом основной прикладной подсистемы, IP-адресом и портом узла передачи, IP-адресом и портом сервера передачи, а также IP-адресом и портом целевого сервера; и
задействуют первую взаимосвязь как логический канал между основной прикладной подсистемой и целевым сервером.
11. Способ по п.9 или 10, в котором в запросе портов содержатся тип и номер запрашиваемого порта; и
сервер передачи назначает локальный порт в соответствии с типом и номером, содержащимися в запросе портов.
12. Способ по п.11, в котором тип и номер запрашиваемого порта включают, по крайней мере, одно из следующего: унитарный порт протокола управления передачей, TCP; унитарный порт протокола дейтаграмм пользователя, UDP, и два последовательных порта UDP.
13. Способ по п.9 или 10, в котором основная прикладная подсистема направляет в узел передачи запрос портов в виде сообщения запроса; и локальный интерфейс передачи, назначенный узлом передачи, является локальным портом.
14. Способ по п.9 или 10, в котором основная прикладная подсистема направляет в узел передачи запрос портов путем вызова функции; и локальный интерфейс передачи, назначенный узлом передачи, является локальным портом.
15. Способ по п.7, в котором основная прикладная подсистема направляет в узел передачи запрос портов путем вызова функции; и локальный интерфейс передачи узла передачи является возвращающей функцией.
16. Способ по п.7, дополнительно содержащий шаги:
парсинг, выполняемый сервером передачи, когда основная прикладная подсистема и целевой сервер согласовывают порт пакета с информацией согласования, передаваемого от основной прикладной подсистемы к целевому серверу;
преобразование информации о согласованном IP-адресе и согласованном порте основной прикладной подсистемы (в области данных пакета с информацией согласования) в информацию об IP-адресе и порте сервера передачи в логическом канале; и
посылка преобразованного пакета с информацией согласования на целевой сервер.
17. Способ по п.7, в котором устройством сопряжения является устройство трансляции сетевых адресов, прокси-сервер или брандмауэр.
Описание изобретения к патенту
Область изобретения
Настоящее изобретение относится к технологии сетевого информационного взаимодействия, в частности к оборудованию, системе и способу связи между клиентом и серверной стороной.
Предпосылки к созданию изобретения
В ходе стремительного распространения сети Интернет появилось множество новых Интернет-приложений, быстро развивается Интернет-бизнес. Соответственно, все более сложной задачей становится предоставление ресурса IP-адресов и все большего внимания требуют вопросы защиты сетей. Многие компании и организации или общегородские сети получают доступ к сети Интернет через устройства сопряжения, позволяющие решить проблему предоставления ресурса IP-адресов и защиты сети. Устройством сопряжения обычно является оборудование Трансляции Сетевых Адресов (ТСА (NАТ))/прокси-сервер/брандмауэр.
Однако некоторым сложным Интернет-приложениям, таким как мультимедийные коммуникационные приложения, включая IP-телефонию и IP-конференц-связь, для организации связи требуются сети с прямыми сквозными соединениями. Этим сложным Интернет-приложениям необходима основная прикладная подсистема в клиенте для взаимодействия с целевым сервером на сети Интернет и сквозного обмена информацией; эти сложные Интернет-приложения обычно имеют одно или несколько из нижеперечисленных свойств.
Первое: целевой сервер динамически назначает коммуникационный порт основной прикладной подсистеме клиента.
Второе: целевой сервер динамически согласовывает с основной прикладной подсистемой клиента коммуникационные порты обеих сторон.
Третье: в полном коммуникационном процессе требуется один или несколько коммуникационных портов протокола управления передачей (TCP) или протокола дейтаграмм пользователя (UDP) между целевым сервером и основной прикладной подсистемой клиента.
Четвертое: применяются сложные коммуникационные протоколы; обычно в их число входят Н.323, Протокол Инициирования Сеансов ПИС (SIP) или Протокол Управления Медиашлюзом ПУМШ (MGCP) (MGCP, H.248/MeGaCo). Однако устройство сопряжения, как правило, не поддерживает сложные протоколы, поэтому возможна блокировка сквозной связи между основной прикладной подсистемой и целевым сервером. Кроме того, когда взаимодействие основывается на некоторых сложных коммуникационных протоколах (например, на протоколе Н.323), в передаваемом от основной прикладной подсистемы клиента к целевому серверу пакете содержится не только информация об IP-адресах и портах исходящего пункта/пункта назначения в заголовке TCP/UDP, но также информация об IP-адресе и порте исходящего пункта в области данных TCP/UDP. Целевой сервер, получающий такой пакет, извлекает информацию об IP-адресе и порте исходящего пункта из области данных TCP/UDP и отправляет ответное сообщение в пункт, определяемый извлеченной информацией об IP-адресе и порте. При таком взаимодействии требуется прямой канал между основной прикладной подсистемой клиента и целевым сервером, обеспечивающий нормальную связь.
Пятое: связь инициируется в направлении от сети общего пользования к частной сети.
Шестое: сетевая среда приложения отличается разнообразием, сетевая конфигурация не может быть изменена, либо ее изменение является трудновыполнимой задачей.
Седьмое: относительно других устройств целевой сервер является стационарным устройством и располагается непосредственно на сети Интернет.
Восьмое: изменение программного обеспечения и аппаратных средств целевого сервера является трудновыполнимой задачей.
На сети Интернет устройства сопряжения используются между многими частными сетями и сетью общего пользования (т.е. сетью Интернет); существующие способы связи не обеспечивают прохождение циркулирующей между основной прикладной подсистемой клиента и целевым сервером информации через устройства сопряжения. Следовательно, нормальная связь между вышеуказанными приложениями, требующими сквозной передачи, оказывается заблокированной. Ниже объяснено, почему информация не может проходить через устройства сопряжения.
Во-первых, если устройством сопряжения между частной сетью и сетью Интернет является брандмауэр, такое устройство накладывает ограничения на использование коммуникационных портов, открывая только несколько коммуникационных портов. Однако, когда используется вышеупомянутое сложное приложение, для связи между основной прикладной подсистемой клиента и целевым сервером требуется динамическое назначение коммуникационных портов. Происходит частая смена коммуникационного порта, необходимого сложному приложению, и, таким образом, он может оказаться портом, закрытым брандмауэром, что приводит к отказу связи. Кроме того, между основной прикладной подсистемой клиента и целевым сервером может быть согласовано использование множества коммуникационных портов, в то время как брандмауэр открывает только небольшое ограниченное количество коммуникационных портов. При этом передача пакетов не может быть обеспечена простым открытием дополнительных коммуникационных портов, поскольку изменение установленной в брандмауэре конфигурации портов является трудновыполнимой задачей. Для обычного пользователя задача изменения сетевой конфигурации является или трудновыполнимой, или совсем невыполнимой задачей, поэтому связь с приложением через брандмауэр может оказаться неосуществимой.
Во-вторых, если устройством сопряжения между частной сетью и сетью Интернет является транслятор ТСА (NАТ)/прокси-сервер (т.е. ТСА (NAT) или прокси-сервер), IP-адрес основной прикладной подсистемы клиента является IP-адресом частной сети. В основной прикладной подсистеме клиента для взаимодействия с целевым сервером применяется сложный коммуникационный протокол, указанный в четвертом пункте в вышеприведенном описании свойств (например: Н.323, ПИС (SIP), ПУМШ (MGCP), H.248/MeGaCo). Пакет, передаваемый основной прикладной подсистемой клиента целевому серверу, сначала поступает на транслятор ТСА (NАТ)/прокси-сервер. Прежде чем переслать пакет целевому серверу, транслятор ТСА (NАТ)/прокси-сервер заменяет информацию об IP-адресе и порте исходящего пункта в заголовке пакета информацией об IP-адресе и порте транслятора ТСА (NАТ)/прокси-сервера. Согласно протоколу, указанному в четвертом пункте в вышеприведенном описании свойств, целевой сервер получает информацию об IP-адресе и порте исходящего пункта из области данных пакета и отправляет ответное сообщение на IP-адрес и порт исходящего пункта. Однако эти IP-адрес и порт исходящего пункта являются IP-адресом и портом не на сети общего пользования, а на частной сети клиента. Следовательно, ответное сообщение не может быть направлено на корректные IP-адрес и порт пункта назначения, т.е. в основную прикладную подсистему клиента. Это приводит к отказу связи.
Кроме того, если устройством сопряжения является прокси-сервер, то используемый основной прикладной подсистемой протокол сквозной связи не поддерживает прокси-протокол, обеспечивающий взаимодействие через прокси-сервер. Поэтому основная прикладная подсистема клиента не может связаться с прокси-сервером и, тем более, не может связаться с целевым сервером через прокси-сервер.
К тому же все три типа устройств сопряжения блокируют связь, инициируемую в направлении от сети общего пользования к частной сети.
Сущность изобретения
Исходя из вышеизложенного главная цель настоящего изобретения состоит в предоставлении оборудования и коммуникационной системы для связи между клиентом и серверной стороной, так чтобы установить нормальную связь между клиентом и серверной стороной через устройство сопряжения, обеспечив возможность прохождения коммуникационного пакета через устройство сопряжения.
Еще одна цель настоящего изобретения состоит в предоставлении способа связи между клиентом и серверной стороной, так чтобы установить нормальную связь между клиентом и серверной стороной через устройство сопряжения, обеспечив возможность прохождения коммуникационного пакета через устройство сопряжения.
Для достижения поставленных целей согласно настоящему изобретению используется изложенное ниже техническое решение.
В настоящем изобретении раскрывается оборудование для связи между клиентом и серверной стороной, применимое в коммуникационной системе, состоящей из клиента, серверной стороны и устройства сопряжения между клиентом и серверной стороной; в состав оборудования входят:
узел передачи, обеспечивающий установление выделенного канала между узлом передачи и сервером передачи через устройство сопряжения, установление коммуникационного соединения между узлом передачи и клиентом, а также установление, на основе выделенного канала, логического канала между клиентом и серверной стороной; сервер передачи, обеспечивающий установление выделенного канала между узлом передачи и сервером передачи через устройство сопряжения, установление коммуникационного соединения между сервером передачи и серверной стороной, а также установление, на основе выделенного канала, логического канала между клиентом и серверной стороной.
Предпочтительно выделенный канал между узлом передачи и сервером передачи содержит коммуникационное соединение, действующее по протоколу управления передачей (TCP) или протоколу дейтаграмм пользователя (UDP), и выделенный канал действует с использованием открытого порта устройства сопряжения.
Предпочтительно сервер передачи содержит:
модуль стандартизированной обработки, принимающий запрос портов от основной прикладной подсистемы, назначающий локальный порт и устанавливающий логический канал на основе запроса портов и локального порта.
Предпочтительно модуль стандартизированной обработки содержит:
первый модуль, отвечающий за назначение унитарного порта протокола управления передачей (TCP);
второй модуль, отвечающий за назначение унитарного порта протокола дейтаграмм пользователя (UDP), и
третий модуль, отвечающий за назначение двух последовательных портов UDP,
причем любой из них - первый модуль, или второй модуль, или третий модуль - осуществляет прием запроса портов и назначение локального порта соответствующего типа.
Предпочтительно в состав оборудования дополнительно включается:
модуль преобразования, устанавливаемый в узле передачи или сервере передачи и отвечающий за согласование IP-адреса и порта, анализ пакета с информацией согласования, передаваемого от клиента к серверной стороне, а также за преобразование информации о согласованных IP-адресе и порте клиента в области данных пакета с информацией согласования в информацию об IP-адресе и порте сервера передачи в логическом канале.
Предоставляется коммуникационная система. В состав коммуникационной системы входят клиент, серверная сторона и устройство сопряжения, устанавливаемое между клиентом и сервером, причем клиент содержит основную прикладную подсистему; серверная сторона включает по крайней мере один целевой сервер; кроме того, в систему включены узел передачи и сервер передачи;
причем узел передачи отвечает за установление выделенного канала между узлом передачи и сервером передачи через устройство сопряжения, установление коммуникационного соединения между узлом передачи и основной прикладной подсистемой, а также установление, на основе выделенного канала, логического канала между основной прикладной подсистемой и целевым сервером; и
сервер передачи отвечает за установление выделенного канала между узлом передачи и сервером передачи через устройство сопряжения, установление коммуникационного соединения между сервером передачи и целевым сервером, а также установление, на основе выделенного канала, логического канала между основной прикладной подсистемой и целевым сервером.
Предоставляется способ связи между клиентом и серверной стороной;
настоящий способ применяется в коммуникационной системе, содержащей клиента, серверную сторону и устройство сопряжения между клиентом и серверной стороной. Настоящий способ включает:
установление выделенного канала между клиентом и серверной стороной через устройство сопряжения;
установление, если основная прикладная подсистема клиента взаимодействует с целевым сервером на серверной стороне, логического канала между основной прикладной подсистемой и целевым сервером, основанного на выделенном канале, а также реализацию связи.
Предпочтительно в установление выделенного канала между клиентом и серверной стороной через устройство сопряжения включаются:
установка узла передачи в клиенте, установка сервера передачи на серверной стороне и установление выделенного канала узлом передачи и сервером передачи;
установление логического канала, на основе выделенного канала, между основной прикладной подсистемой и целевым сервером, включающее:
установление узлом передачи коммуникационного соединения с основной прикладной подсистемой, установление сервером передачи коммуникационного соединения с целевым сервером и установку первой взаимосвязи между коммуникационными портами, назначенными соответственно основной прикладной подсистемой, узлом передачи, сервером передачи и целевым сервером для создания логического канала.
Предпочтительно установление узлом передачи и сервером передачи логического канала, на основе выделенного канала, между основной прикладной подсистемой и целевым сервером включает:
посылку от основной прикладной подсистемы к узлу передачи запроса портов, содержащего информацию об IP-адресе, то есть адресе по Интернет-протоколу, и порте основной прикладной подсистемы, а также информацию об IP-адресе и порте целевого сервера;
инкапсуляцию узлом передачи запроса портов согласно внутреннему протоколу, посылку по выделенному каналу инкапсулированного запроса портов на сервер передачи и назначение локального интерфейса передачи для пересылки данных;
назначение сервером передачи локального порта по запросу портов и установку второй взаимосвязи между номером логического канала, IP-адресом и портом сервера передачи, а также IP-адресом и портом целевого сервера;
посылку от сервера передачи к узлу передачи информации о второй взаимосвязи; и
установку узлом передачи первой взаимосвязи между номером логического канала, IP-адресом и портом основной прикладной подсистемы, IP-адресом и портом узла передачи, IP-адресом и портом сервера передачи, а также IP-адресом и портом целевого сервера; и
задействование первой взаимосвязи как логического канала между основной прикладной подсистемой и целевым сервером.
Предпочтительно установление узлом передачи и сервером передачи логического канала на основе выделенного канала между основной прикладной подсистемой и целевым сервером включает:
посылку основной прикладной подсистемой в узел передачи запроса портов, содержащего информацию об IP-адресе и порте основной прикладной подсистемы;
инкапсуляцию узлом передачи запроса портов согласно внутреннему протоколу, посылку по выделенному каналу инкапсулированного запроса портов на сервер передачи и назначение локального интерфейса передачи для пересылки данных;
назначение сервером передачи локального порта по запросу портов;
посылку основной прикладной подсистемой в узел передачи и на сервер передачи информации об IP-адресе и порте целевого сервера в виде коммуникационных данных или уведомления;
установку сервером передачи второй взаимосвязи между номером логического канала, IP-адресом и портом сервера передачи, а также IP-адресом и портом целевого сервера;
посылку сервером передачи в узел передачи информации о второй взаимосвязи; и
установку узлом передачи первой взаимосвязи между номером логического канала, IP-адресом и портом основной прикладной подсистемы, IP-адресом и портом узла передачи, IP-адресом и портом сервера передачи, а также IP-адресом и портом целевого сервера; и
задействование первой взаимосвязи как логического канала между основной прикладной подсистемой и целевым сервером.
Предпочтительно в способ дополнительно включаются:
анализ, выполняемый сервером передачи, когда основная прикладная подсистема и целевой сервер согласовывают порт, пакета с информацией согласования, передаваемого от основной прикладной подсистемы к целевому серверу;
преобразование информации о согласованном IP-адресе и согласованном порте основной прикладной подсистемы (в области данных пакета с информацией согласования) в информацию об IP-адресе и порте сервера передачи (в логическом канале); и
посылку преобразованного пакета с информацией согласования на целевой сервер.
Когда устройством сопряжения между частной сетью и сетью Интернет является брандмауэр, связь реализуется посредством логического канала, соответствующего динамически назначенным или согласованным портам и проходящего через брандмауэр по выделенному каналу, при этом отсутствует зависимость от количества назначенных или согласованных портов и выделенный канал представляет собой унитарное соединение по протоколу TCP или UDP, использующее открытые брандмауэром порты; так обеспечивается успешный обмен пакетами между основной прикладной подсистемой и целевым сервером через брандмауэр.
Связь между узлом передачи и сервером передачи является простой связью, реализуемой с учетом свойств устройства сопряжения и с применением простого внутреннего протокола в качестве протокола взаимодействия. Поэтому в общем случае устройство сопряжения не блокирует связь, и она может успешно осуществляться через это устройство. Когда устройством сопряжения является транслятор ТСА (NАТ)/прокси-сервер, в качестве протокола взаимодействия между узлом передачи и сервером передачи используется простой внутренний протокол. В отличие от сложных протоколов, таких как Н.323 и SIP, в простом внутреннем протоколе предусмотрен возврат ответных сообщений не на IP-адрес и порт исходящего пункта, указанные в области данных в пакете данных, а на IP-адрес и порт исходящего пункта, указанные в заголовке пакета данных. Поскольку информация об IP-адресе и порте в заголовке пакета данных преобразовывается транслятором ТСА (NАТ)/прокси-сервером, отправляемое ответное сообщение может успешно проходить через транслятор ТСА (NАТ)/прокси-сервер, что обеспечивает нормальную связь между основной прикладной подсистемой и целевым сервером.
Когда устройством сопряжения между частной сетью и сетью Интернет является прокси-сервер (например, прокси-сервер HTTP/SOCKS4/SOCKS5), достаточно применить функцию прокси-протокола в узле передачи клиента, и это обеспечит успешное прохождение информации взаимодействия через прокси-сервер, даже если основная прикладная подсистема не поддерживает прокси-протокол.
По настоящему изобретению не требуется изменение программного обеспечения или аппаратных средств целевого сервера. Если узел передачи или сервер передачи поддерживает тот же протокол, что и основная прикладная подсистема, изменение программного обеспечения или аппаратных средств основной прикладной подсистемы по настоящему изобретению также не требуется. Кроме того, по настоящему изобретению не требуется модернизация или изменение программного обеспечения или аппаратных средств транслятора ТСА (NАТ)/прокси-сервера/брандмауэра и также при обычных условиях не потребуется изменять конфигурацию транслятора ТСА (NАТ)/прокси-сервера/брандмауэра. Следовательно, настоящее изобретение позволяет в максимально возможной степени сохранить существующие программные и аппаратные ресурсы и, таким образом, минимизирует затраты на установление связи через транслятор ТСА (NАТ)/прокси-сервер/брандмауэр.
Техническая схема настоящего изобретения никак не связана с коммуникационным протоколом, используемым основной прикладной подсистемой и целевым сервером, и поэтому сложность коммуникационного протокола на нее не влияет. Следовательно, применить техническую схему настоящего изобретения достаточно просто.
Согласно способу настоящего изобретения, прежде чем будет установлена реальная связь между основной прикладной подсистемой и целевым сервером, через устройство сопряжения предварительно должен пройти запрос портов для связи, и связь подразделяется на "исходящую" и "входящую" связь. Когда сетью общего пользования инициируется связь в направлении к частной сети, устройством сопряжения уже зарегистрирована "исходящая" связь в направлении от частной сети к сети общего пользования и уже был установлен логический канал, поэтому устройство сопряжения не будет блокировать связь, инициируемую сетью общего пользования по логическому каналу в направлении к частной сети.
Краткое описание чертежей
На фиг.1 показана схема, представляющая структуру оборудования в соответствии с осуществлением настоящего изобретения. На фиг.2 показана блок-схема, представляющая способ в соответствии с осуществлением настоящего изобретения.
Подробное описание изобретения
Ниже приведено подробное описание настоящего изобретения со ссылками на прилагаемые чертежи и варианты осуществления.
Основная техническая схема настоящего изобретения включает: установку промежуточного устройства в клиенте и, соответственно, промежуточного устройства на серверной стороне, а также обеспечение связи между двумя промежуточными устройствами по выделенному каналу, так чтобы клиент и серверная сторона могли обмениваться информацией через два промежуточных устройства.
Далее приводится описание оборудования для связи между клиентом и серверной стороной в соответствии с осуществлением настоящего изобретения. На фиг.1 показана схема, представляющая структуру оборудования в соответствии с осуществлением настоящего изобретения. Как показано на фиг.1, полное Интернет-приложение состоит из двух частей; одна из них расположена на стороне Локальной Вычислительной Сети ЛВС (LAN), и эта часть называется клиентом; другая часть включает объекты на стороне сети Интернет и называется серверной стороной. Клиент содержит: основную прикладную подсистему 11, выполняющую функции клиента в Интернет-приложении, например прикладную подсистему IP-телефонии или прикладную подсистему сетевой конференц-связи. Основной состав серверной стороны: целевой сервер 14, например сервер IP-телефонии или сервер сетевой конференц-связи, являющийся фактическим пунктом назначения для связи с клиентом. В состав оборудования, предлагаемого в соответствии с настоящим изобретением, входят узел 12 передачи в клиенте и сервер 13 передачи на серверной стороне. Связь между узлом 12 передачи и сервером 13 передачи осуществляется по установленному выделенному каналу 15. Выделенный канал 15 представляет собой унитарное соединение по протоколу TCP/UDP, использующее открытый устройством сопряжения, например брандмауэром, порт. Узел 12 передачи и сервер 13 передачи отвечают за установление логического канала между основной прикладной подсистемой и целевым сервером по выделенному каналу между узлом 12 передачи и сервером 13 передачи. Связь между основной прикладной подсистемой и целевым сервером осуществляется по логическому каналу, установленному узлом 12 передачи и сервером 13 передачи.
Далее описывается осуществление способа, предлагаемого в соответствии с настоящим изобретением.
На фиг.2 показана блок-схема способа в соответствии с осуществлением настоящего изобретения. Как показано на фиг.2, способ содержит следующие блоки.
Блок 201: установление выделенного канала между узлом передачи клиента и сервером передачи при запуске клиента.
Выделенный канал может являться унитарным коммуникационным соединением, действующим по протоколу TCP/UDP и установленным на основе открытого порта устройства сопряжения (например, брандмауэра). Если первая попытка установления выделенного канала завершается неудачно, выполняется вторая попытка (или даже может быть выполнено большее число попыток) в целях обнаружения открытого порта устройства сопряжения и установления выделенного канала на основе открытого порта. После установления выделенного канала он используется для обмена коммуникационными данными между узлом передачи клиента и сервером передачи. Следовательно, вместо традиционной связи, осуществляемой через устройство сопряжения с задействованием одного или нескольких динамически назначаемых и согласовываемых коммуникационных портов сквозных соединений по протоколу TCP/UDP, может использоваться связь между основной прикладной подсистемой и целевым сервером, осуществляемая по унитарному выделенному каналу через устройство сопряжения. При этом безопасность сети поддерживается на максимально возможном уровне, устройство сопряжения может полностью обеспечить связь, даже если откроет только один фиксированный коммуникационный порт, и связь через брандмауэр осуществляется беспрепятственно.
Взаимодействие между портом основной прикладной подсистемы и портом целевого сервера осуществляется через узел передачи и сервер передачи, поэтому, когда предстоит установить связь между портом основной прикладной подсистемы и портом целевого сервера, в узле передачи и сервере передачи должен быть установлен логический канал, соответствующий типу и количеству коммуникационных портов. Коммуникационные данные между портом основной прикладной подсистемы и портом целевого сервера циркулируют по логическому каналу, соответствующему коммуникационным портам. Порт целевого сервера может являться открытым портом, известным основной прикладной подсистеме и сконфигурированным для основной прикладной подсистемы. Или же порт целевого сервера может являться портом, назначенным основной прикладной подсистеме целевым сервером (информация о назначенном порте может передаваться основной прикладной подсистеме через открытый порт), либо портом, определенным с помощью динамического согласования между основной прикладной подсистемой и целевым сервером.
Процесс установления логического канала между узлом передачи и сервером передачи описан ниже (блоки 202-207).
Блок 202: перед отправкой данных целевому серверу основная прикладная подсистема клиента направляет в узел передачи запрос портов.
Запрос портов может являться сообщением (например, сообщением сокета по протоколу TCP/IP или сообщением Windows) или запросом, инициированным путем вызова функции. Последующая передача данных обычно осуществляется в соответствии с запросом портов, т.е. путем посылки сообщений или вызова функции. Если данные передаются в сообщениях порта, ответные сообщения также должны являться сообщениями порта. Если данные передаются путем вызова функции, ответные сообщения или должны быть сообщениями порта, или должны отправляться возвращающей функцией.
В данном варианте осуществления запрос портов выполняется путем посылки сообщения. В запросе портов содержится информация о типе и номерах запрашиваемых портов, а также IP-адресе и номере порта целевого сервера, с которым взаимодействует основная прикладная подсистема. В данном варианте осуществления номерами портов являются 140 и 141. Тип и номер запрашиваемого порта соответствуют типу и номеру порта, используемого для связи основной прикладной подсистемой. Типом запрашиваемого порта может быть или порт TCP, или порт UDP. Например, портами целевого сервера, указываемыми для инициирования связи, могут быть два последовательных порта UDP, а именно порты 140 и 141. В запросе портов также содержится информация об IP-адресе основной прикладной подсистемы и порте, через который основная прикладная подсистема взаимодействует с соответствующим портом целевого сервера. В данном варианте осуществления, предполагая, что используемыми основной прикладной подсистемой портами являются два последовательных порта UDP, а именно порты 110 и 111, узел передачи должен зарегистрировать IP-адрес и номера портов основной прикладной подсистемы, а также IP-адрес и номера портов целевого сервера. В запросе портов может отсутствовать информация об IP-адресе и номерах портов целевого сервера; в таком случае информация об IP-адресе и номерах портов целевого сервера содержится в пакетах данных, передаваемых в последующем процессе передачи данных.
Блок 203: после получения запроса портов узел передачи инкапсулирует запрос портов согласно внутреннему протоколу, действующему между узлом передачи и сервером передачи, и отправляет инкапсулированный запрос портов серверу передачи по выделенному каналу. В то же время узел передачи назначает (согласно типу и номерам портов, указанным в запросе портов) локальные порты для последующей передачи пакетов данных, т.е. два последовательных локальных порта UDP, такие как порты 120 и 121. Подобные локальные порты называются интерфейсами передачи в узле передачи.
Внутренний протокол представляет собой коммуникационный протокол, поддерживающий простые инкапсуляцию и деинкапсуляцию. Внутренний протокол обеспечивает реагирование на содержащуюся в заголовке сообщения информацию об IP-адресе и номере порта, а также обработку этой информации, однако он не применяется для обработки информации, содержащейся в области данных сообщения. Вышеупомянутое свойство внутреннего протокола обеспечивает успешное прохождение протокольного сообщения через устройство сопряжения (например, транслятор ТСА (NAT)), выполняющее (в обоих направлениях передачи) преобразование IP-адреса и номера порта в заголовке сообщения. Внутренний протокол с описанной выше функциональностью может быть осуществлен специалистами, обладающими навыками и знаниями на известном уровне техники, и поэтому далее не рассматривается.
Блок 204: после получения запроса портов от узла передачи клиента сервер передачи назначает локальные порты согласно указанным в этом запросе типу и номерам коммуникационных портов, т.е. назначает два последовательных порта UDP, а именно в данном варианте осуществления порты 130 и 131. Между логическим номером канала, IP-адресом и номером порта сервера передачи, а также IP-адресом и номером порта целевого сервера установлены соответствующие взаимосвязи. Как показано в таблице 1, предполагается, что IP-адресом сервера передачи является С, а IP-адресом целевого сервера - D.
Таблица 1 | |||
Номер логического канала | Состояние связи логического канала | IP-адрес/номер порта сервера передачи | IP-адрес/номер порта целевого сервера |
0 | Нормальное | С/130 | D/140 |
1 | Нормальное | С/131 | D/141 |
В ходе последующего процесса сервер передачи должен по-прежнему сохранять вспомогательную информацию о портах и состоянии связи, указанную в таблице 1.
Если запрошен порт TCP, сервер передачи устанавливает коммуникационное соединение между локальным портом 130 и портом 140 целевого сервера, а также коммуникационное соединение между локальным портом 131 и портом 141 целевого сервера, чтобы обеспечить передачу коммуникационных данных от клиента к целевому серверу и получение клиентом коммуникационных данных целевого сервера.
Если в запросе портов отсутствует информация об IP-адресе и портах целевого сервера, то сервер передачи может сначала назначить локальные порты; а затем, когда сервер передачи получит пакет данных с информацией об IP-адресе и номере порта целевого сервера, может установить указанные в таблице 1 взаимосвязи, либо сервер передачи может установить указанные в таблице 1 взаимосвязи после того, как основная прикладная подсистема отправит ему информацию об IP-адресе и порте целевого сервера через узел передачи (в том случае, когда основная прикладная подсистема еще не передавала данные, но ей уже известны IP-адрес и порт целевого сервера).
Блок 205: по выделенному каналу 15 сервер передачи посылает узлу передачи ответное сообщение, инкапсулированное по внутреннему протоколу. В ответном сообщении содержится информация об успешности прохождения запроса портов, а также, если запрос портов прошел успешно, информация сервера передачи об IP-адресе и назначенных портах (например, в данном варианте осуществления назначены локальные порты под номерами 130 и 131).
Блок 206: после получения ответного сообщения узел передачи устанавливает соответствующие взаимосвязи между номером логического канала, IP-адресом и номером порта основной прикладной подсистемы, IP-адресом и номером порта узла передачи, IP-адресом и номером порта сервера передачи, а также IP-адресом и номером порта целевого сервера. Как показано в таблице 2, предполагается, что IP-адресом основной прикладной подсистемы является А, а IP-адресом узла передачи - В.
Таблица 2 | |||||
Номер логического канала | Состояние связи логического канала | IP-адрес/ номер порта основной прикладной подсистемы | IP-адрес/ номер порта узла передачи | IP-адрес/ номер порта сервера передачи | IP-адрес/ номер порта целевого сервера |
0 | Нормальное | А/110 | В/120 | С/130 | D/140 |
1 | Нормальное | А/111 | В/121 | С/131 | D/141 |
Узел передачи отправляет основной прикладной подсистеме ответное сообщение, содержащее указанную в таблице 2 информацию.
Если в запросе портов отсутствует информация об IP-адресе и портах целевого сервера, узел передачи устанавливает указанные в таблице 2 взаимосвязи после получения пакета данных с информацией об IP-адресе и номере порта целевого сервера или после получения уведомления от основной прикладной подсистемы.
После получения ответного сообщения основная прикладная подсистема устанавливает локальное коммуникационное соединение клиента между локальным портом 110 и портом 120 узла передачи, а также локальное коммуникационное соединение клиента между локальным портом 111 и портом 121 узла передачи. Основная прикладная подсистема может передавать и принимать данные через порты 110 и 111.
Блок 207: взаимосвязи между IP-адресом и номером порта основной прикладной подсистемы, IP-адресом и номером порта узла передачи, IP-адресом и номером порта сервера передачи, а также IP-адресом и номером порта целевого сервера, созданные в соответствии с запрошенными основной прикладной подсистемой типами и номерами портов, задействуются как логические каналы для связи между портами. Согласно указанным в таблицах 1 и 2 взаимосвязям, исходными портами для установленных логических каналов, проходящих через устройство сопряжения, являются коммуникационные порты основной прикладной подсистемы; далее эти каналы проходят через узел передачи и сервер передачи к коммуникационным портам целевого сервера. Иными словами, логический канал 0 проходит по следующим IP-адресам и портам: А/порт 110 - В/порт 120 - выделенный канал 15 - С/порт 130 - D/порт 140; логический канал 1 проходит по следующим IP-адресам и портам: А/порт 111 - В/порт 121 - выделенный канал 15 - С/порт 131 - D/порт 141. Узел передачи и сервер передачи пересылают пакеты данных от основной прикладной подсистемы в соответствующие порты целевого сервера по логическим каналам, указанным в таблицах 1 и 2.
Если между различными портами установлены логические каналы, связь между основной прикладной подсистемой и целевым сервером может осуществляться по этим логическим каналам.
Блок 208: основная прикладная подсистема передает данные через порт 110 к целевому серверу по логическому каналу 0 и также передает данные через порт 111 к целевому серверу по логическому каналу 1. Ниже в качестве примера передачи данных в этом варианте осуществления рассмотрена передача данных от основной прикладной подсистемы к целевому серверу по логическому каналу 0.
Согласно информации о логических каналах, приведенной в таблице 2, основная прикладная подсистема 11 отправляет пакет данных из порта 110 в локальный порт 120 узла 12 передачи. Узел 12 передачи анализирует зарегистрированные в таблице 2 взаимосвязи по номеру порта 110 и определяет, что пакет данных передается по логическому каналу 0, соответствующему IP-адресу С и номеру порта 130 сервера передачи. Подлежащие передаче данные инкапсулируются согласно внутреннему протоколу, а соответствующая этим данным информация о логическом канале инкапсулируется в пакете данных. В этом варианте осуществления информацией о логическом канале является номер логического канала 0. Узел 12 передачи отправляет инкапсулированный пакет данных по выделенному каналу 15 к серверу 13 передачи. Получив инкапсулированный пакет данных, сервер 13 передачи выполняет деинкапсуляцию инкапсулированного пакета данных по внутреннему протоколу и извлекает информацию о логическом канале, т.е. номер логического канала 0. Сервер 13 передачи анализирует таблицу 1 и определяет номер порта 130, а также IP-адрес D и номер порта 140 целевого сервера. Сервер 13 передачи отправляет деинкапсулированный пакет данных через локальный порт 130 в порт 140 целевого сервера 14. Итак, порт 140 целевого сервера 14 получает данные от клиента.
Подобным же образом происходит передача пакета данных по логическому каналу 1 из порта 111 в порт 141 целевого сервера.
Блок 209: когда пакет данных должен быть отправлен от целевого сервера 14 в основную прикладную подсистему 11, целевой сервер 14 передает пакет данных через порт 140 в порт 110 основной прикладной подсистемы 11 по логическому каналу 0, а также передает пакет данных через порт 141 в порт 111 основной прикладной подсистемы 11 по логическому каналу 1. Ниже в качестве примера передачи данных в этом варианте осуществления рассмотрена передача данных от целевого сервера в основную прикладную подсистему по логическому каналу 0.
Целевой сервер 14 передает пакет данных через порт 140 в порт 130 сервера 13 передачи. Сервер 13 передачи анализирует зарегистрированные в таблице 1 взаимосвязи и определяет, что передаваемым данным соответствует логический канал под номером 0. Подлежащий передаче пакет данных инкапсулируется согласно внутреннему протоколу; соответствующая пакету данных информация о логическом канале, т.е. номер логического канала 0 (в этом варианте осуществления), инкапсулируется в пакете данных. Сервер 13 передачи направляет инкапсулированный пакет данных в узел 12 передачи по выделенному каналу 15. Узел 12 передачи выполняет деинкапсуляцию инкапсулированного пакета данных по внутреннему протоколу и извлекает информацию о логическом канале (т.е. номер логического канала). Узел 12 передачи проверяет таблицу 2 и находит номер локального порта 120, а также IP-адрес А и номер порта 110 основной прикладной подсистемы. Деинкапсулированный пакет данных передается через локальный порт 120 в порт 110 основной прикладной подсистемы 11. Итак, порт основной прикладной подсистемы получает данные, переданные целевым сервером.
Подобным же образом пакет данных, отправленный через порт 141 (IP-адресом и номером порта пункта назначения являются IP-адрес А и номер порта 111), передается в порт 111 основной прикладной подсистемы по логическому каналу 1.
В другом варианте осуществления настоящего изобретения основная прикладная подсистема посылает запрос портов в узел передачи путем вызова функции и посылает данные также путем вызова функции.
Вызываемая для запроса портов функция включает: запрашиваемые тип и номер порта, а также параметры порта для указания номера порта, используемого основной прикладной подсистемой для передачи данных (например, порт 110 и порт 111).
Процесс, реализующий способ в данном варианте осуществления, в основном совпадает с таковым в предыдущем варианте осуществления. Однако существуют и некоторые нижеуказанные отличия между этими двумя вариантами осуществления.
В блоке 203: после получения запроса портов узел передачи инкапсулирует запрос портов согласно внутреннему протоколу, действующему между узлом передачи и сервером передачи, и отправляет инкапсулированный запрос портов серверу передачи по выделенному каналу. В то же время узел передачи назначает (согласно типу и номерам портов, указанным в запросе портов) локальные порты для последующей передачи пакетов данных. Например, узел передачи может назначить два последовательных локальных порта UDP, а именно порты 120 и 121. Или же устанавливается возвращающая функция (функции) для обеспечения последующей пересылки пакетов данных. Возвращающая функция (функции) может включать две функции, обеспечивающие возврат данных соответственно в порт 110 и в порт 111. Или же возвращающая функция (функции) может включать одну функцию, и в таком случае необходимо, чтобы в параметре порта возвращающей функции (функций) указывался номер порта 110 или 111, на который должны передаваться данные. Порты, назначенные узлом передачи или возвращающей функцией (функциями) узла передачи, используются для пересылки данных и могут называться интерфейсом (интерфейсами) передачи в узле передачи. В этом варианте осуществления узел передачи располагает двумя интерфейсами передачи: интерфейсом передачи 0 и интерфейсом передачи 1. Интерфейс передачи 0 является портом 120, или возвращающей функцией 0, или возвращающей функцией с параметром порта "номер порта 110". Интерфейс передачи 1 является портом 121, или возвращающей функцией 1, или возвращающей функцией с параметром порта "номер порта 111".
В блоке 206: после получения ответного сообщения узел передачи устанавливает соответствующие взаимосвязи между номером логического канала, IP-адресом и номером порта основной прикладной подсистемы, IP-адресом и номером интерфейса передачи в узле передачи, IP-адресом и номером порта сервера передачи, IP-адресом и номером порта целевого сервера. Как показано в таблице 3, предполагается, что IP-адресом основной прикладной подсистемы является А, а IP-адресом узла передачи - В.
Таблица 3 | |||||
Номер логического канала | Состояние связи логического канала | IP-адрес/ номер порта основной прикладной подсистемы | IP-адрес/ номер интерфейса передачи в узле передачи | IP-адрес/ номер порта сервера передачи | IP-адрес/ номер порта целевого сервера |
0 | Нормальное | А/110 | В/интерфейс передачи 0 | С/130 | D/140 |
1 | Нормальное | А/111 | В/интерфейс передачи 1 | С/131 | D/141 |
Узел передачи отправляет основной прикладной подсистеме ответное сообщение, содержащее указанную в таблице 3 информацию.
В этом варианте осуществления согласно указанным в таблицах 1 и 3 взаимосвязям и в соответствии с запрошенными основной прикладной подсистемой типами и номерами портов исходными портами для устанавливаемого логического канала, проходящего через устройство сопряжения, являются коммуникационные порты основной прикладной подсистемы; далее этот канал проходит через узел передачи и сервер передачи к коммуникационному порту целевого сервера. В частности, логический канал 0 проходит по следующим IP-адресам и портам: А/порт 110-В/интерфейс передачи 0 - выделенный канал 15 - С/порт 130 - D/порт 140; логический канал 1 проходит по следующим IP-адресам и портам: А/порт 111 - В/интерфейс передачи 1 - выделенный канал 15 - С/порт 131 - D/порт 141. Узел передачи и сервер передачи пересылают пакеты данных от основной прикладной подсистемы в соответствующие порты целевого сервера по логическим каналам, указанным в таблицах 1 и 3.
В блоке 208: основная прикладная подсистема вызывает функцию для отправки данных в узел 12 передачи через порт 110, узел 12 передачи посылает пакет данных в порт 140 целевого сервера 14 по логическому каналу 0. Подобным же образом отправляемые через порт 111 данные посылаются в порт 141 целевого сервера 14 по логическому каналу 1. Если целевой сервер направляет пакет данных в основную прикладную подсистему, этот пакет данных посылается через порт 140 и по логическому каналу 0 передается в порт 110 основной прикладной подсистемы 11, где узел передачи пересылает пакет данных или через порт 120, или посредством возвращающей функции 0, или посредством возвращающей функции с параметром порта "номер порта-адресата 110". Подобным же образом отправленный через порт 141 пакет данных передается в порт 111 основной прикладной подсистемы 11 по логическому каналу 1.
В общем случае основная прикладная подсистема может запрашивать порты трех типов: 1) унитарный порт TCP; 2) унитарный порт UDP; 3) два последовательных порта UDP. На сервере передачи могут быть установлены модули стандартизированной обработки, отвечающие за обработку разнотипных портов. Например, первый модуль обеспечивает назначение унитарного порта TCP, второй модуль обеспечивает назначение унитарного порта UDP, а третий модуль обеспечивает назначение двух последовательных портов UDP. При назначении порта/портов возможно непосредственное обращение к модулям стандартизированной обработки, что повышает эффективность рабочих процедур и степень их интеграции. Если для связи между основной прикладной подсистемой и целевым сервером требуется несколько коммуникационных портов TCP/UDP, возможно многократное повторение блоков процедуры (от блока 202 до блока 207), и с помощью вышеуказанных модулей стандартизированной обработки можно назначить несколько портов. Таким образом, для связи устанавливаются несколько логических каналов, соответствующих различным коммуникационным портам TCP/UDP. Например, для реализации полной связи могут потребоваться три порта, в том числе один порт TCP и два последовательных порта UDP; сначала выполняются блоки 202 207 для установления логического канала TCP и первый модуль назначает порт TCP; затем повторно выполняются блоки 202 207 для установления двух логических каналов UDP и третий модуль назначает два последовательных порта UDP. Однако в практических применениях помимо вышеупомянутых трех типов могут потребоваться и другие типы портов; в способе по настоящему изобретению предусмотрена возможность расширения путем установки на сервере передачи различных модулей стандартизированной обработки, обеспечивающих назначение различных типов портов; это повышает эффективность рабочих процедур и степень их интеграции.
Основная прикладная подсистема в клиенте может использовать полученный номер порта, назначенный сервером передачи, для согласования коммуникационных портов, выполняемого по соответствующему сложному коммуникационному протоколу основной прикладной подсистемы (например: Н.323, ПИС (SIP), ПУМШ (MGCP), H.248/MeGaCo и т.д.). В согласовании возможны два случая:
Первый случай: узел передачи и сервер передачи не поддерживают сложный протокол (такой как Н.323, ПИС (SIP), ПУМШ (MGCP), H.248/MeGaCo и т.д.), используемый основной прикладной подсистемой для передачи данных на основе анализа пакетов данных. В этом случае в основной прикладной подсистеме может быть установлен модуль преобразования, осуществляющий преобразование информации о согласованных (по сложному протоколу) IP-адресе и порте основной прикладной подсистемы в области данных пакета данных в информацию об IP-адресе и номере порта соответствующего сервера передачи. Например, если согласован номер порта 110 основной прикладной подсистемы, то IP-адрес и порт 110 основной прикладной подсистемы преобразовываются в IP-адрес и номер порта 130 сервера передачи. Пакет данных передается на целевой сервер по соответствующему логическому каналу 0. Целевой сервер извлекает IP-адрес и номер порта 130 сервера передачи из области данных пакета данных, а затем посылает ответное сообщение согласования в порт 130 сервера передачи и далее в основную прикладную подсистему по логическому каналу 0. На этом согласование завершается.
Второй случай: узел передачи и сервер передачи поддерживают сложный протокол, используемый основной прикладной подсистемой для передачи данных на основе анализа пакетов данных. В этом случае модуль преобразования устанавливается в узле передачи или на сервере передачи, поддерживающем сложный протокол. Модуль преобразования осуществляет анализ области данных в пакета с информацией согласования, поступающем от основной прикладной подсистемы, преобразование информации о согласованных IP-адресе и порте основной прикладной подсистемы в информацию об IP-адресе и порте соответствующего сервера передачи, а также отправку преобразованного пакета данных на целевой сервер. Целевой сервер обрабатывает пакет данных по коммуникационному протоколу, который идентичен коммуникационному протоколу, используемому в основной прикладной подсистеме, и извлекает информацию об IP-адресе и порте сервера передачи из области данных пакета данных. Целевой сервер посылает ответное сообщение согласования в порт сервера передачи и далее в основную прикладную подсистему по соответствующему логическому каналу. На этом согласование завершается.
В заключение, когда выключается клиент, клиент направляет на сервер передачи сообщение об отмене порта, предлагая серверу передачи закрыть соединения в логическом канале; а также разрывает выделенный канал 15 к серверу передачи и освобождает все задействованные ресурсы. Подобным же образом, когда выключается серверная сторона, сервер передачи направляет клиенту сообщение об отмене порта, предлагая клиенту закрыть соединения в логическом канале; а также разрывает выделенный канал 15 к узлу передачи и освобождает все задействованные ресурсы.
Согласно технической схеме настоящего изобретения циркулирующая между основной прикладной подсистемой и целевым сервером информация может успешно проходить через устройство сопряжения между частной сетью и сетью общего пользования, что обусловлено следующим.
Если устройством сопряжения является брандмауэр, данные передаются по выделенному каналу 15 в установленном между портами логическом канале. Выделенный канал 15 может проходить через брандмауэр, поскольку выделенный канал представляет собой унитарное соединение по протоколу TCP или UDP и использует открытый порт брандмауэра. Поэтому передаваемые между основной прикладной подсистемой и целевым сервером сообщения могут успешно проходить через брандмауэр.
Связь между узлом передачи и сервером передачи является простой связью, реализуемой с учетом свойств устройства сопряжения и с применением простого внутреннего протокола в качестве протокола взаимодействия. Поэтому в общем случае связь не будет блокироваться устройством сопряжения и может успешно осуществляться через устройство сопряжения.
Если устройством сопряжения является транслятор ТСА (NАТ)/прокси-сервер, в качестве протокола взаимодействия между узлом передачи и сервером передачи используется простой внутренний протокол. В отличие от сложных протоколов, таких как Н.323 и ПИС (SIP), в простом внутреннем протоколе предусмотрена посылка ответного сообщения не на IP-адрес и порт исходящего пункта, указанные в области данных в пакете данных, а на IP-адрес и порт исходящего пункта, указанные в заголовке пакета данных. Поскольку информация об IP-адресе и порте в заголовке пакета данных преобразовывается транслятором ТСА (NАТ)/прокси-сервером, ответное сообщение может успешно проходить через транслятор ТСА (NАТ)/прокси-сервер, что обеспечивает нормальную связь между основной прикладной подсистемой и целевым сервером.
Если устройством сопряжения является прокси-сервер (например, прокси-сервер HTTP/SOCKS4/SOCKS5), достаточно применить функцию прокси-протокола в узле передачи клиента. Это обеспечит успешное прохождение информации взаимодействия через прокси-сервер, даже если основная прикладная подсистема не поддерживает прокси-протокол.
Выше представлены только предпочтительные варианты осуществления настоящего изобретения. Однако объем патентной защиты настоящего изобретения не ограничивается приведенным выше описанием. Любые изменения или замещения, возможные в технических решениях, раскрытых в настоящем изобретении, и очевидные для специалистов в данной области техники, должны быть включены в объем патентной защиты настоящего изобретения.
Класс H04L12/54 коммутационные системы с промежуточным хранением