BRPI0616627A2 - equipamento, sistema e método para comunicação entre cliente e lado do servidor - Google Patents

equipamento, sistema e método para comunicação entre cliente e lado do servidor Download PDF

Info

Publication number
BRPI0616627A2
BRPI0616627A2 BRPI0616627-0A BRPI0616627A BRPI0616627A2 BR PI0616627 A2 BRPI0616627 A2 BR PI0616627A2 BR PI0616627 A BRPI0616627 A BR PI0616627A BR PI0616627 A2 BRPI0616627 A2 BR PI0616627A2
Authority
BR
Brazil
Prior art keywords
port
server
transfer
main application
address
Prior art date
Application number
BRPI0616627-0A
Other languages
English (en)
Inventor
Tao Jiang
Weihua Chen
Original Assignee
Tencent Tech Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Tech Shenzhen Co Ltd filed Critical Tencent Tech Shenzhen Co Ltd
Publication of BRPI0616627A2 publication Critical patent/BRPI0616627A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

EQUIPAMENTO, SISTEMA E MéTODO PARA COMUNICAçãO ENTRE CLIENTE E LADO DO SERVIDOR. A presente invenção refere-se a um equipamento para comunicação entre um cliente e um lado do servidor, que é aplicado em um sistema de comunicação incluindo o cliente, o lado do servidor e um dispositivo de encaminhamento entre o cliente e o lado do servidor, inclui um componente de transferência, operável para estabelecer um canal dedicado entre o componente de transferência e um servidor de transferência através do dispositivo de encaminhamento, estabelecer uma conexão de comunicação entre o componente de transferência e o cliente, e estabelecer, com base no canal dedicado, um canal lógico entre o cliente e o lado do servidor, e um servidor de transferência, operável para estabelecer o canal dedicado entre o componente de transferência e o servidor de transferência através do dispositivo de encaminhamento, estabelecer uma conexão de comunicação entre o servidor de transferência e o lado do servidor, e estabelecer, com base no canal dedicado, o canal lógico entre o cliente e o lado do servidor. São providos um sistema e um método para comunicação entre o cliente e o lado do servidor.

Description

Relatório Descritivo da Patente de Invenção para "EQUIPA-MENTO, SISTEMA E MÉTODO PARA COMUNICAÇÃO ENTRE CLIENTEE LADO DO SERVIDOR".
CAMPO DA INVENÇÃO
A presente invenção refere-se à tecnologia de interação de in-formação de rede, e, particularmente, a um equipamento, a um sistema e aum método para comunicação entre um cliente e um lado do servidor.
ANTECEDENTES DA INVENÇÃO
Juntamente com o rápido desenvolvimento da Internet, surgemvariedades de novos aplicativos da Internet fazendo crescer rapidamenteseu negócio. Consequentemente, o suprimento de recurso de endereço IPse torna cada vez mais limitado e a segurança da rede traz uma preocupa-ção cada vez maior. Muitas companhias e organizações ou Redes de ÁreaMetropolitana acessam a Internet através de dispositivos de encaminhamen-to, de modo que os problemas do suprimento de recurso de endereço IP li-mitado e a segurança da rede de organização possam ser solucionados. Umdispositivo de encaminhamento é tipicamente um equipamento de Traduçãode Endereço de Rede (NAT)/seryidor proxy/firewall.
Entretanto, alguns aplicativos complicados da Internet exigemredes com conexões diretas de "extremidade a extremidade para comunica-ção, tais como aplicativos de comunicação de multimídia incluindo telefoneIP e conferência IP. Tais aplicativos complicados da Internet exigem que aparte de aplicativo principal em um cliente interaja com um servidor-alvo naInternet para a troca de informação de extremidade a extremidade, e taisaplicativos complicados da Internet apresentam uma ou várias das seguintescaracterísticas:
Em primeiro lugar, o servidor-alvo dinamicamente atribui umaporta de comunicações à parte de aplicativo principal do cliente.
Em segundo lugar, o servidor-alvo negocia com a parte de apli-cativo principal do cliente dinamicamente nas portas de comunicações deambas as partes.
Em terceiro lugar, em um completo processo de comunicação,uma ou mais portas de comunicações TCP ou UDP são necessárias entre oservidor-alvo e a parte de aplicativo principal do cliente.
Em quarto lugar, os protocolos de comunicação complicados sãoadotados, tipicamente incluindo H.233, Protocolo de Iniciação de Sessão(SIP) ou Protocolo de Controle de Porta de Meios (MGCP, H.248/MeGaCo).Entretanto, um dispositivo de encaminhamento geralmente não sustenta taisprotocolos complicados, os quais podem bloquear a comunicação de extre-midade a extremidade entre a parte de aplicativo principal e o servidor-alvo.Além disso, na interação baseada em alguns dos protocolos de comunica-ção complicados (por exemplo, protocolo H.323), um pacote da parte de a-plicativo principal do cliente para o servidor-alvo não contém apenas os en-dereços IP e as portas de origem/destino no cabeçalho TCP/UDP, mas tam-bém o endereço IP e a porta de origem na parte de dados TCP/UDP; o ser-vidor-alvo recupera o endereço IP e a porta de origem da parte de dadosTCP/UDP com o recebimento do pacote e envia uma resposta para o ende-reço IP e a porta recuperados. Tal interação exige a ligação direta entre aparte de aplicativo principal do cliente e o servidor-alvo para a comunicaçãonormal.
Em quinto lugar, refere-se à comunicação iniciada por uma redepública a uma rede privada.
Em sexto lugar, o ambiente da rede do aplicativo é diversificado,e a configuração da rede não pode ser modificada ou é difícil de ser modifi-cada.
Em sétimo lugar, o servidor-alvo é comparativamente fixado, eestá diretamente na Internet.
Em oitavo lugar, o software e o hardware do servidor-alvo sãodifíceis de serem mudados.
Na Internet, os dispositivos de encaminhamento são usados en-tre muitas redes privadas e a rede pública (isto é, a Internet), e a informaçãotrocada entre a parte de aplicativo principal do cliente e o servidor-alvo nãopode passar pelos dispositivos de encaminhamento de acordo com os méto-dos de comunicação existentes. Por isso, comunicações normais dos aplica-tivos de extremidade a extremidade descritos acima são bloqueadas. O por-que de a informação não poder passar pelos dispositivos de encaminhamen-to é explicado, como segue.
Primeiramente, se o dispositivo de encaminhamento entre umarede privada e a Internet for um firewall, o firewall irá impor restrições às por-tas de comunicações, apenas algumas portas de comunicações sendo aber-tas. Entretanto, em um aplicativo complicado acima, a comunicação entre aparte de aplicativo principal de um cliente e um servidor-alvo exige a atribui-ção dinâmica de portas de comunicações, e a porta de comunicações ne-cessária do aplicativo complicado será deslocada freqüentemente e, portan-to, poderá ser uma porta fechada pelo firewall, resultando, consequentemen-te, em falha de comunicação. Além disso, a parte de aplicativo principal docliente e o servidor-alvo podem negociar para usar múltiplas portas de co-municação enquanto o firewall abre um pequeno número limitado de portasde comunicações, o pacote não podendo ser transferido através da simplesabertura de mais portas de comunicações porque a configuração da porta dofirewall é difícil de ser alterada. É realmente difícil ou mesmo impossível parausuários comuns mudarem a configuração de rede, e a comunicação no a-plicativo poderá dificilmente passar pelo firewall.
Em segundo lugar, se o dispositivo de encaminhamento entreuma rede privada e a Internet for um NAT/servidor proxy (isto é, um NAT ouum servidor proxy), o endereço IP da parte de aplicativo principal de um cli-ente será um endereço IP da rede privada. A parte de aplicativo principal docliente adota um protocolo de comunicação complicado descrito na quartacaracterística apresentada acima (por exemplo, H.323, SIP, MGCP, H.248/MeGaCo) para interagir com um servidor-alvo. Um pacote da parte de apli-cativo principal do cliente para o servidor-alvo atinge o NAT/servidor proxyprimeiro, e o NAT/servidor proxy substitui o endereço IPea porta de origemno cabeçalho do pacote pelo endereço IP e a porta do NAT/servidor proxyantes de encaminhar o pacote para o servidor-alvo. De acordo com um pro-tocolo descrito na quarta característica apresentada acima, o servidor-alvoobtém o endereço IPea porta de origem da parte de dados do pacote e en-via uma resposta para o endereço IP e a porta de origem. Contudo, o ende-reço IP e a porta de origem não são o endereço IP e a porta na rede pública,mas o endereço IP e a porta na rede privada do cliente. Por isso, a respostanão pode ser roteada para o endereço IP e a porta de destino corretos, istoé, para a parte de aplicativo principal do cliente, o que resulta em falha decomunicação.
Além disso, se o dispositivo de encaminhamento for um servidorproxy, o protocolo de comunicação de extremidade a extremidade adotadopela parte de aplicativo principal não sustentará um protocolo proxy que sus-tenta a interação através do servidor proxy, e a parte de aplicativo principaldo cliente não poderá, portanto, se comunicar com o servidor proxy, muitomenos se comunicar com o servidor-alvo através do servidor proxy.
Além disso, todos os três tipos de dispositivos de encaminha-mento bloqueiam a comunicação iniciada por uma rede pública a uma redeprivada.
SUMÁRIO DA INVENÇÃO
Em vista do acima, o objetivo principal da presente invenção é ode prover um equipamento e um sistema de comunicação para a comunica-ção entre um cliente e um lado do servidor que proporcionem a comunicaçãonormal entre um cliente e um lado do servidor através de um dispositivo deencaminhamento em permitindo que um pacote de comunicação passe pelodispositivo de encaminhamento.
Outro objetivo da presente invenção é o de prover um métodopara comunicação entre um cliente e um lado do servidor, que proporcioneuma comunicação normal entre um cliente e um lado do servidor através deum dispositivo de encaminhamento em permitindo que um pacote de comu-nicação passe pelo dispositivo de encaminhamento.
Para atingir os objetivos acima, a solução técnica de acordo coma presente invenção é a seguinte:
A presente invenção descreve um equipamento para comunica-ção entre um cliente e um lado do servidor, aplicado a um sistema de comu-nicação, que compreende o cliente, o lado do servidor e um dispositivo deencaminhamento entre o cliente o lado do servidor, o equipamento incluindo:um componente de transferência, operável para estabelecer umcanal dedicado entre o componente de transferência e um servidor de trans-ferência através do dispositivo de encaminhamento, estabelecer uma cone-xão de comunicação entre o componente de transferência e o cliente, e es-tabelecer, com base no canal dedicado, um canal lógico entre o cliente e olado do servidor; e
O servidor de transferência, operável para estabelecer o canaldedicado entre o componente de transferência e o servidor de transferênciaatravés do dispositivo de encaminhamento, estabelecer uma conexão decomunicação entre o servidor de transferência e o lado do servidor, e esta-belecer, com base no canal dedicado, o canal lógico entre o cliente e o ladodo servidor.
Preferivelmente, o canal dedicado entre o componente de trans-ferência e o servidor de transferência compreende uma conexão de comuni-cação que adota o Protocolo de Controle de Transmissão (TCP) ou o Proto-colo de Datagrama de Usuário (UDP), e canal dedicado adota uma portaaberta do dispositivo de encaminhamento.
Preferivelmente, o servidor de transferência inclui:
um módulo de processamento padronizado, operável para rece-ber uma solicitação de porta de uma parte de aplicativo principal, atribuindouma porta local e estabelecendo o canal lógico com base na solicitação deporta e na porta local.
Preferivelmente, o módulo de processamento padronizado inclui:
um primeiro módulo operável para atribuir uma porta de Protoco-lo de Controle de Transmissão (TCP) unitária;
um segundo módulo operável para atribuir uma porta de Proto-colo de Datagrama de Usuário (UDP) unitária; e
um terceiro módulo operável para atribuir duas portas UDP se-quenciais;
qualquer um dentre o primeiro módulo, o segundo módulo e o terceiro módu-lo recebe a solicitação de porta e atribui a porta local de um tipo correspon-dente.
Preferivelmente, o equipamento adicionalmente inclui:um módulo de conversão operável para negociar um endereçoIP e uma porta, analisar sintaticamente um pacote de dados de negociaçãodo cliente para o lado do servidor, e converter o endereço IP e a porta docliente em uma parte de dados do pacote de dados negociado em um ende-reço IP e uma porta do servidor de transferência no canal lógico, em que omódulo de conversão é configurado em uma parte de aplicativo principal nocliente, ou no componente de transferência que suporta um protocolo decomunicação da parte de aplicativo principal, ou no servidor de transferênciaque suporta um protocolo de comunicação da parte de aplicativo principal.
É provido um sistema de comunicação. O sistema de comunica-ção inclui um cliente, um lado de servidor e um dispositivo de encaminha-mento configurado entre o cliente e o servidor,
onde o cliente inclui uma parte de aplicativo principal; o lado doservidor inclui pelo menos um servidor-alvo; e o sistema adicionalmente in-clui o equipamento acima, incluindo:
o componente de transferência operável para estabelecer umcanal dedicado entre o componente de transferência e o servidor de transfe-rência através do dispositivo de encaminhamento, estabelecer uma conexãode comunicação entre o componente de transferência e a parte de aplicativoprincipal, e estabelecer, com base no canal dedicado, um canal lógico entrea parte de aplicativo principal e o servidor-alvo; e
o servidor de transferência operável para estabelecer o canaldedicado entre o componente de transferência e o servidor de transferênciaatravés do dispositivo de encaminhamento, estabelecer uma conexão decomunicação entre o servidor de transferência e o servidor-alvo, e estabele-cer, com base no canal dedicado, o canal lógico entre a parte de aplicativoprincipal e o servidor-alvo.
É provido um método para comunicação entre um cliente e umlado do servidor, e o método sendo aplicado em um sistema de comunica-ção incluindo o cliente, o lado do servidor e um dispositivo de encaminha-mento entre o cliente o e lado do servidor. O método inclui:
a determinação de um canal dedicado entre o cliente e o lado doservidor através do dispositivo de encaminhamento;
a determinação de um canal lógico entre a parte de aplicativoprincipal e o servidor-alvo com base no canal dedicado, se uma parte de a-plicativo principal do cliente se comunicar com um servidor-alvo do lado doservidor, e a execução da comunicação.
Preferivelmente, a determinação do canal dedicado entre o clien-te e o lado do servidor através do dispositivo de encaminhamento inclui:
o ajuste de um componente de transferência no cliente, o ajustedo servidor de transferência no lado do servidor, e a determinação, pelocomponente de transferência e pelo servidor de transferência, do canal dedi-cado;
a determinação do canal lógico entre a parte de aplicativo princi-pai e o servidor-alvo com base no canal dedicado incluindo:
a determinação, pelo componente de transferência, de uma co-nexão de comunicação à parte de aplicativo principal, a determinação, peloservidor de transferência, de uma conexão de comunicação ao servidor-alvo,e o ajuste de uma primeira relação correspondente entre as portas de comu-nicações atribuídas respectivamente pela parte de aplicativo principal, pelocomponente de transferência, pelo servidor de transferência e pelo servidor-alvo para formar o canal lógico.
Preferivelmente, a determinação do canal lógico entre a parte deaplicativo principal e o servidor-alvo com base no canal dedicado pelo com-ponente de transferência e pelo servidor de transferência inclui:
o envio, pela parte de aplicativo principal para o componente detransferência, de uma solicitação de porta contendo um endereço de Proto-colo Internet (IP), e uma porta da parte de aplicativo principal, e um endere-ço IP e uma porta do servidor-alvo;
a encapsulação, pelo componente de transferência, da solicita-ção de porta com um protocolo interno, o envio da solicitação de porta en-capsulada para o servidor de transferência sobre o canal dedicado, e a atri-buição de uma interface de transferência local para encaminhar os dados;
a atribuição, pelo servidor de transferência, de uma porta localcom base na solicitação de porta, e o ajuste de uma segunda relação cor-respondente entre o número do canal lógico, o endereço IPea porta do ser-vidor de transferência, e o endereço IPea porta do servidor-alvo;
o envio, pelo servidor de transferência para o componente detransferência, da segunda relação correspondente entre o número do canallógico, o endereço IP e a porta do servidor de transferência, e o endereço IPe a porta do servidor-alvo; e
o ajuste, pelo componente de transferência, da primeira relaçãocorrespondente entre o número do canal lógico, o endereço IP e a porta daparte de aplicativo principal, o endereço IP e a porta do componente detransferência, o endereço IPea porta do servidor de transferência, e o ende-reço IPea porta do servidor-alvo; e
considerar a primeira relação correspondente como o canal lógi-co entre a parte de aplicativo principal e o servidor-alvo.
Preferivelmente, a determinação do canal lógico entre a parte deaplicativo principal e o servidor-alvo com base no canal dedicado pelo com-ponente de transferência e pelo servidor de transferência inclui:
o envio, pela parte de aplicativo principal, de uma solicitação deporta contendo um endereço IP e uma porta da parte de aplicativo principalpara o componente de transferência;
a encapsulação, pelo componente de transferência, da solicita-ção de porta com um protocolo interno, o envio da solicitação de porta en-capsulada para o servidor de transferência sobre o canal dedicado, e a atri-buição de uma interface de transferência local para encaminhar os dados;
a atribuição, pelo servidor de transferência, de uma porta localcom base na solicitação de porta;
o envio, pela parte de aplicativo principal, de um endereço IP euma porta do servidor-alvo para o componente de transferência e o servidorde transferência através dos dados de comunicação ou de uma notificação;
o ajuste, pelo servidor de transferência, de uma segunda relaçãocorrespondente entre o número do canal lógico, o endereço IP e a porta doservidor de transferência, e o endereço IPea porta do servidor-alvo;
o envio, pelo servidor de transferência, da segunda relação cor-respondente entre o número do canal lógico, o endereço IPea porta do ser-vidor de transferência, e o endereço IP e a porta do servidor-alvo para ocomponente de transferência; e
o ajuste, pelo componente de transferência, da primeira relaçãocorrespondente entre o número do canal lógico, o endereço IP e a porta daparte de aplicativo principal, o endereço IP e a porta do componente detransferência, o endereço IP e a porta do servidor de transferência e o ende-reço IPea porta do servidor-alvo; e
considerar a primeira relação correspondente como o canal lógi-co entre a parte de aplicativo principal e o servidor-alvo.
Preferivelmente, o método adicionalmente inclui:
a análise sintática, pelo servidor de transferência, de um pacotede dados de negociação da parte de aplicativo principal para o servidor-alvo,quando a parte de aplicativo principal e o servidor-alvo negociarem uma porta;
a conversão de um endereço IP negociado e de uma porta ne-gociada da parte de aplicativo principal em uma parte de dados do pacote dedados de negociação em um endereço IP e uma porta do servidor de trans-ferência no canal lógico; e
o envio do pacote de dados de negociação convertido para oservidor-alvo.
Quando o dispositivo de encaminhamento entre uma rede priva-da e a Internet for um firewall, o canal lógico correspondendo às portas di-namicamente atribuídas ou negociadas irá executar a comunicação atravésdo firewall sobre o canal dedicado, não obstante o número de portas atribuí-das ou negociadas, e o canal dedicado será uma conexão TCP ou UDP uni-tária que usa portas abertas pelo firewall; por isso, os pacotes entre a partede aplicativo principal e o servidor-alvo podem passar pelo firewall com su-cesso.A comunicação entre o componente de transferência e o servi-dor de transferência é uma comunicação simples que ajusta as característi-cas do dispositivo de encaminhamento e adota um protocolo interno simplescomo o protocolo de interação. Por isso, a comunicação, em geral, não ébloqueada pelo dispositivo de encaminhamento e pode passar pelo disposi-tivo de encaminhamento com sucesso. Quando o dispositivo de encami-nhamento for um NAT/servidor proxy, o protocolo de interação entre o com-ponente de transferência e o servidor de transferência será um protocolointerno simples. Diferente dos protocolos complicados, tais como H.323 eSIP, o protocolo interno simples não retorna respostas para o endereço IP ea porta de origem na parte de dados de um pacote de dados, mas para oendereço IP e a porta de origem no cabeçalho do pacote de dados. Devidoao fato de o endereço IP e a porta no cabeçalho do pacote de dados teremsido convertidos pelo NAT/servidor proxy, a resposta enviada pode passarpelo NAT/servidor proxy com sucesso para a comunicação sem obstáculosentre a parte de aplicativo principal e o servidor-alvo.
Quando o dispositivo de encaminhamento entre a rede privada ea Internet for o servidor proxy (por exemplo, servidor proxy HTTP/SOCKS4/SOCKS5), será mais fácil aplicar a função de um protocolo proxy ao compo-nente de transferência do cliente; portanto, a informação de interação poderápassar com sucesso pelo servidor proxy, mesmo quando a parte de aplicati-vo principal não suportar o protocolo proxy.
A presente invenção não precisa modificar o software ou ohardware do servidor-alvo. Se o componente de transferência ou o servidorde transferência sustentar um mesmo protocolo como a parte de aplicativoprincipal, a presente invenção também não precisará modificar o software ouo hardware da parte de aplicativo principal. Além disso, a presente invençãonem precisa atualizar ou mudar o software ou hardware do NAT/servidorproxy/firewall, nem será alterada a configuração do equipamento de tradu-ção de endereço de rede/servidor proxy/firewall em circunstâncias normais.Por isso, a presente invenção pode manter os recursos de software e hard-ware existentes, tanto quanto possível, exigindo assim um custo muito baixoenquanto permite que a comunicação passe pelo NAT/servidor proxy/ fire-wall.
O esquema técnico da presente invenção é irrelevante ao proto-colo de comunicação adotado pela parte de aplicativo principal e pelo servi-dor-alvo e, portanto, não procede a preocupação com a complicação do pro-tocolo de comunicação. Por isso, é fácil aplicar o esquema técnico da pre-sente invenção.
De acordo com o método da presente invenção, antes do inícioda efetiva comunicação entre a parte de aplicativo principal e o servidor-alvo,a solicitação de porta já passou pelo dispositivo de encaminhamento paracomunicação, a comunicação incluindo tanto a comunicação de "partida"como a comunicação de "chegada". Se a rede pública iniciar a comunicaçãocom a rede privada, o dispositivo de encaminhamento já terá registrado acomunicação de "partida" da rede privada para a rede pública e o canal lógi-co já terá sido estabelecido; por isso, o dispositivo de encaminhamento nãoirá bloquear a comunicação iniciada pela rede pública com a rede privadasobre o canal lógico.
BREVE DESCRIÇÃO DOS DESENHOS
A Figura 1 é um diagrama esquemático que ilustra uma estruturado equipamento de acordo com uma concretização da presente invenção.
A Figura 2 é um fluxograma que ilustra um método de acordocom uma concretização da presente invenção.
DESCRIÇÃO DETALHADA DA INVENÇÃO
A presente invenção é adicionalmente descrita em detalhes adi-ante com relação aos desenhos anexos e às concretizações.
O esquema técnico central da presente invenção inclui o ajustede um dispositivo intermediário em um cliente e de um dispositivo intermedi-ário em um lado do servidor, respectivamente, e a possibilidade de os doisdispositivos intermediários se comunicarem entre si em um canal dedicado,de modo que a informação trocada entre o cliente e o lado do servidor possaser envidada a cada um através dos dois dispositivos intermediários.
De acordo com uma concretização da presente invenção, é des-crito o equipamento para comunicação entre o cliente e o lado do servidor. AFigura 1 é um diagrama esquemático que ilustra uma estrutura do equipa-mento de acordo com uma concretização da presente invenção. Conformemostrado na Figura 1, todo o aplicativo da Internet é dividido em duas par-tes: a primeira parte sendo um lado Rede de Área Local (LAN), denominadade cliente, e a segunda parte inclui as entidades no lado da Internet, deno-minada de lado do servidor. O cliente inclui uma parte de aplicativo principal11, operável para executar funções do cliente no aplicativo da Internet, porexemplo, a parte de aplicativo de um telefone IP ou a parte de aplicativo deuma conferência de rede. O lado do servidor principalmente inclui o servidor-alvo 14, por exemplo, um servidor de telefone IP ou um servidor de confe-rência de rede, que é o efetivo destino da comunicação com o cliente. O e-quipamento provido pela presente invenção inclui o componente de transfe-rência 12 no cliente e o servidor de transferência 13 no lado do servidor. Ocomponente de transferência 12 e o servidor de transferência 13 se comuni-cam entre si em um canal dedicado 15 estabelecido. O canal dedicado 15 éuma conexão TCP/UDP unitária que usa uma porta aberta pelo dispositivode encaminhamento (por exemplo, o firewall). O componente de transferên-cia 12 e o servidor de transferência 13 são operáveis para estabelecer umcanal lógico entre a parte de aplicativo principal e o servidor-alvo sobre ocanal dedicado entre o componente de transferência 12 e o servidor detransferência 13. A parte de aplicativo principal e o servidor-alvo se comuni-cam entre si sobre o canal lógico estabelecido pelo componente de transfe-rência 12 e pelo servidor de transferência 13.
Uma concretização do método provido pela presente invenção éfornecida a seguir.
A Figura 2 é um fluxograma de um método de acordo com umaconcretização da presente invenção. Conforme mostrado na Figura 2, o mé-todo inclui os seguintes blocos.
Bloco 201: Estabelecerá um canal dedicado entre um compo-nente de transferência de um cliente e um servidor de transferência, quandoo cliente der a partida.O canal dedicado pode ser uma conexão de comunicaçãoTCP/UDP unitária que é estabelecida com base em uma porta aberta de umdispositivo de encaminhamento (por exemplo, um firewall). Se uma primeiratentativa em estabelecer o canal dedicado falhar, uma segunda tentativa oumesmo mais tentativas poderão ser formadas para detectar uma porta aber-ta do dispositivo de encaminhamento e estabelecer o canal dedicado combase na porta aberta. Depois de o canal dedicado ser estabelecido, os da-dos de comunicação entre o componente de transferência do cliente e o ser-vidor de transferência são transmitidos sobre o canal dedicado. Por isso, acomunicação entre a parte de aplicativo principal e o servidor-alvo pode pas-sar pelo dispositivo de encaminhamento sobre o canal dedicado unitário emvez da conexão de comunicação que passa pelo dispositivo de encaminha-mento com uma ou mais portas de comunicação TCP/UDP de extremidade aextremidade que são dinamicamente atribuídas e negociadas. A segurançada rede é assim mantida tão quanto possível e o dispositivo de encaminha-mento precisa apenas abrir uma porta de comunicação fixa no máximo paratoda a comunicação, o que facilita que a comunicação passe pelo firewall.
Devido ao fato de a porta da parte de aplicativo principal e a por-ta do servidor-alvo se comunicarem entre si através do componente detransferência e do servidor de transferência, um canal lógico corresponden-do ao tipo e ao número de portas de comunicações deverá ser estabelecidono componente de transferência e no servidor de transferência, se a porta daparte de aplicativo principal estiver prestes a se comunicar com a porta doservidor-alvo. Os dados de comunicação entre a porta da parte de aplicativoprincipal e a porta do servidor-alvo são transmitidos mutuamente sobre ocanal lógico correspondente às portas de comunicação. A porta do servidor-alvo pode ser uma porta aberta que é conhecida da parte de aplicativo prin-cipal e configurada para a parte de aplicativo principal. Ou a porta do servi-dor-alvo pode ser uma porta atribuída à parte de aplicativo principal peloservidor-alvo (a informação da porta atribuída pode ser enviada para a partede aplicativo principal através da porta aberta), ou uma porta determinadapela negociação dinâmica entre a parte de aplicativo principal e o servidor-alvo.
O processo de estabelecer o canal lógico entre o componente detransferência e o servidor de transferência é descrito nos Blocos 202 a 207,como segue.
Bloco 202: A parte de aplicativo principal do cliente envia umasolicitação de porta para o componente de transferência antes do envio dosdados para o servidor-alvo.
A solicitação de porta pode ser uma mensagem (por exemplo,uma mensagem do soquete TCP/IP ou uma mensagem do Windows), ou uma solicitação feita pela invocação de uma função. A transmissão de dadossubsequentes é geralmente implementada de acordo com a solicitação deporta, isto é, por meio do envio de mensagens ou pela invocação de umafunção. Se os dados forem transmitidos em mensagens de porta, as respos-tas deverão ser também mensagens de porta. Se os dados forem transmiti-dos pela invocação de uma função, as respostas deverão ser ou mensagensde porta ou ser enviadas por uma função de callback.
Nesta concretização, a solicitação de porta é formada pelo enviode uma mensagem. A solicitação de porta contém o tipo e o número das por-tas solicitadas, e o endereço IP e o número de porta do servidor-alvo com oqual a parte de aplicativo principal se comunica. Nesta concretização, osnúmeros de porta são as portas 140 e 141. O tipo e o número de porta solici-tada estão de acordo com o tipo e o número de porta através da qual a partede aplicativo principal se comunica. O tipo da porta solicitada pode ser ouuma porta TCP ou uma porta UDP. Por exemplo, as portas do servidor-alvocom o qual a comunicação é iniciada podem ser duas portas UDP seqüenci-ais, as portas 140 e 141. A solicitação de porta também contém o endereçoIP da parte de aplicativo principal e a informação da porta através da qual aparte de aplicativo principal se comunica com a porta correspondente doservidor-alvo. Nesta concretização, supondo-se que as portas a serem usa-das pela parte de aplicativo principal sejam duas portas UDP seqüenciais, asportas 110 e 111, o componente de transferência precisa registrar o endere-ço IP e os números de porta da parte de aplicativo principal, bem como oendereço IP e os números de porta do servidor-alvo. A solicitação de portapode não conter o endereço IP e os números de porta do servidor-alvo; emvez disso, os pacotes de dados na comunicação de dados subsequentescontêm o endereço IP e os números de porta do servidor-alvo.
Bloco 203: Com o recebimento da solicitação de porta, o com-ponente de transferência encapsula a solicitação de porta com um protocolointerno entre o componente de transferência e o servidor de transferência, eenvia a solicitação de porta encapsulada para o servidor de transferênciasobre o canal dedicado. Ao mesmo tempo, o componente de transferênciaatribui, de acordo com o tipo e o número de porta solicitados na solicitaçãode porta, as portas locais à transmissão de pacote de dados subsequentes,isto é, as duas portas UDP locais seqüenciais, tais como as portas 120 e121. Tais portas locais são denominadas de interfaces de transferência docomponente de transferência.
O protocolo interno é um protocolo de comunicação que suportaa encapsulação e a desencapsulação simples. O protocolo interno respondee processa o endereço IPeo número de porta no cabeçalho da mensagem,mas não processa os conteúdos na parte de dados da mensagem. Com ba-se na característica acima do protocolo interno, uma mensagem de protocolopode passar com sucesso pelo dispositivo de encaminhamento (por exem-plo, o NAT) que converte o endereço IP e o número de porta no cabeçalhoda mensagem em ambas as direções. Um protocolo interno com tal funçãodescrita acima pode ser alcançado por aqueles versados na técnica combase na técnica anterior, não sendo, portanto, descrito aqui em maiores de-talhes.
Bloco 204: Com o recebimento da solicitação de porta do com-ponente de transferência do cliente, o servidor de transferência atribui portaslocais de acordo com o tipo e o número de porta de comunicação descritosna solicitação de porta, isto é, atribui duas portas UDP seqüenciais, as por-tas 130 e 131 nesta concretização. As relações correspondentes são confi-guradas entre o número do canal lógico, o endereço IP e o número de portado servidor de transferência e o endereço IP e o número de porta do servi-dor-alvo. Conforme mostrado na Tabela 1, o endereço IP do servidor detransferência é C e o endereço IP do servidor-alvo é D.
Tabela 1
<table>table see original document page 17</column></row><table>
O servidor de transferência deve adicionalmente manter a infor-mação de porta subsidiária e o estado de comunicação na Tabela 1 no pro-cesso subsequente.
Se uma porta TCP for solicitada, o servidor de transferência adi-cionalmente estabelecerá uma conexão de comunicação entre a porta 130 ea porta 140 locais do servidor-alvo e uma conexão de comunicação entre aporta 131 e a porta 141 locais do servidor-alvo para transmitir os dados decomunicação do cliente para o servidor-alvo e para receber os dados de co-municação do servidor-alvo para o cliente.
Se a solicitação de porta não contiver o endereço IPea porta doservidor-alvo, o servidor de transferência poderá atribuir portas locais primei-ro e depois configurar as relações correspondentes mostradas na Tabela 1depois de o servidor de transferência receber um pacote de dados contendoo endereço IP e o número de porta do servidor-alvo, ou configurar as rela-ções correspondentes mostradas na Tabela 1 depois de a parte de aplicativoprincipal notificar o servidor de transferência do endereço IP e da porta doservidor-alvo através do componente de transferência, no caso de a parte deaplicativo principal aprender o endereço IPea porta do servidor-alvo e nãotiver enviado os dados.
Bloco 205: O servidor de transferência envia uma resposta en-capsulada pelo protocolo interno para o componente de transferência sobreo canal dedicado 15. A resposta contém a informação sobre se a solicitaçãode porta tem sucesso, e adicionalmente conterá o endereço IP e a informa-ção de porta atribuída do servidor de transferência, se a solicitação de portasuceder, por exemplo, os números de porta locais atribuídos 130 e 131 doservidor de transferência nesta concretização.
Bloco 206: Com o recebimento da resposta, o componente detransferência estabelece as relações correspondentes entre o número docanal lógico, o endereço IP e o número de porta da parte de aplicativo prin-cipal, o endereço IPeo número de porta do componente de transferência, oendereço IP e o número de porta do servidor de transferência, e o endereçoIP e o número de porta do servidor-alvo. Conforme mostrado na Tabela 2, oendereço IP da parte de aplicativo principal é A e o endereço IP do compo-nente de transferência é B.
Tabela 2
<table>table see original document page 18</column></row><table>
O componente de transferência envia a resposta contendo osconteúdos na Tabela 2 para a parte de aplicativo principal.
Se a solicitação de porta não contiver o endereço IPea porta doservidor-alvo, o componente de transferência estabelecerá as relações cor-respondentes mostradas na Tabela 2 com o recebimento de um pacote dedados contendo o endereço IPeo número de porta do servidor-alvo ou como recebimento de uma notificação da parte de aplicativo principal.
Com o recebimento da resposta, a parte de aplicativo principalestabelece uma conexão de comunicação local do cliente entre a porta local110 e a porta 120 do componente de transferência, bem como uma conexãode comunicação do cliente entre a porta local 111 e a porta 121 do compo-nente de transferência. A parte de aplicativo principal pode transmitir e rece-ber os dados através das portas 110 e 111.Bloco 207: Com base no tipo e no número de porta solicitadospela parte de aplicativo principal, as relações correspondentes entre o ende-reço IPeo número de porta da parte de aplicativo principal, o endereço IP eo número de porta do componente de transferência, o endereço IP e o nú-mero de porta do servidor de transferência, e o endereço IPeo número deporta do servidor-alvo são consideradas como canais lógicos para a comuni-cação de porta a porta, De acordo com as relações correspondentes mos-tradas nas Tabelas 1 e 2, os canais lógicos que passam através do dispositi-vo de encaminhamento são estabelecidos com as portas de comunicação daparte de aplicativo principal como as portas iniciais e passam pelo compo-nente de transferência e pelo servidor de transferência para as portas decomunicação do servidor de transferência. Em outras palavras, o canal lógi-co o passa pelos endereços IP e pelas portas incluindo A/porta 110 - B/porta120 - canal dedicado 15 - C/porta 130 - D/porta 140; o canal lógico 1 passapelos endereços IP e pelas portas incluindo A/porta 111 - B/porta 121 - canaldedicado 15 - C/porta 131 - D/porta 141. O componente de transferência e oservidor de transferência encaminham o pacote de dados da parte de aplica-tivo principal para as portas correspondentes do servidor-alvo sobre os ca-nais lógicos nas Tabelas 1 e 2.
Se os canais lógicos sobre diferentes portas forem estabeleci-dos, a parte de aplicativo principal e o servidor-alvo poderão se comunicarentre si sobre os canais lógicos.
Bloco 208: A parte de aplicativo principal envia os dados atravésda porta 110 para o servidor-alvo sobre o canal lógico 0, e envia os dadosatravés da porta 111 para o servidor-alvo sobre o canal lógico 1. Como umexemplo da transmissão de dados nesta concretização, a transmissão dedados da parte de aplicativo principal para o servidor-alvo sobre o canal lógi-co o é descrita a seguir.
A parte de aplicativo principal 11 envia um pacote de dados daporta 110 para a porta local 120 do componente de transferência 12 de a-cordo com a informação de canal lógico na Tabela 2. O componente detransferência 12 pesquisa as relações registradas na Tabela 2 de acordocom o número de porta 110, e determina que o pacote de dados seja trans-mitido sobre o canal lógico 0 correspondendo ao endereço IP C e ao númerode porta 130 do servidor de transferência. Os dados a serem transmitidossão encapsulados com o protocolo interno, e a informação de canal lógicocorrespondendo aos dados é encapsulada no pacote de dados. Nesta con-cretização, a informação do canal lógico é o número do canal lógico 0. Ocomponente de transferência 12 envia o pacote de dados encapsulado sobreo canal dedicado 15 para o servidor de transferência 13. O servidor de trans-ferência 13 desencapsula o pacote de dados encapsulado com o protocolointerno com o recebimento do pacote de dados encapsulado e recupera ainformação do canal lógico, isto é, o número do canal lógico 0. O servidor detransferência 13 pesquisa a Tabela 1, e obtém o número de porta 130, e oendereço IP D e o número de porta 140 do servidor-alvo. O servidor detransferência 13 envia para a porta 140 do servidor-alvo 14 o pacote de da-dos desencapsulado através da porta local 130. Desta maneira, a porta 140do servidor-alvo 14 recebe os dados do cliente.
Similarmente, um pacote de dados da porta 111 é transmitidopara a porta 141 do servidor-alvo sobre o canal lógico 1.
Bloco 209: Se o servidor-alvo 14 precisar enviar um pacote dedados para a parte de aplicativo principal 11, o servidor-alvo 14 enviará opacote de dados através da porta 140 para a porta 110 da parte de aplicativoprincipal 11 sobre o canal lógico 0, e enviará o pacote de dados através daporta 141 para a porta 111 da parte de aplicativo principal 11 sobre o canallógico 1. Como um exemplo da transmissão de dados nesta concretização, atransmissão de dados do servidor-alvo para a parte de aplicativo principalsobre o canal lógico 0 é descrita a seguir.
O servidor-alvo 14 envia um pacote de dados através da porta140 para a porta 130 do servidor de transferência 13. O servidor de transfe-rência 13 pesquisa as relações registradas na Tabela 1, e determina que onúmero do canal lógico correspondendo aos dados é 0. O pacote de dados aser transmitido é encapsulado com o protocolo interno, e a informação docanal lógico correspondendo ao pacote de dados, isto é, ao número do canallógico 0 nesta concretização, é encapsulada no pacote de dados. O servidorde transferência 13 encaminha o pacote de dados encapsulado para o com-ponente de transferência 12 sobre o canal dedicado 15. O componente detransferência 12 desencapsula o pacote de dados encapsulado com o proto-colo interno e recupera a informação do canal lógico, isto é, o número docanal lógico. O componente de transferência 12 pesquisa a Tabela 2 paraobter o número de porta local 120, e o endereço IP A e o número de porta110 da parte de aplicativo principal. O pacote de dados desencapsulado étransmitido através da porta local 120 para a porta 110 da parte de aplicativoprincipal 11. Desta forma, a porta da parte de aplicativo principal recebe osdados enviados do servidor-alvo.
Similarmente, um pacote de dados enviado através da porta 141(o endereço IP e o número de porta de destino sendo o endereço IP A e onúmero de porta 111) é transmitido para a porta 111 da parte de aplicativoprincipal do canal lógico 1.
Em outra concretização da presente invenção, a parte de aplica-tivo principal envia a solicitação de porta para o componente de transferên-cia com a invocação de uma função, e envia os dados também com a invo-cação de uma função. A função invocada para a solicitação de porta inclui otipo e o número de porta solicitados bem como os parâmetros de porta paraindicar o número de porta a partir do qual a parte de aplicativo principal enviaos dados, por exemplo, a porta 110 e a porta 111.
O processo do método nesta concretização é basicamente omesmo que aquele na concretização acima. Entretanto, há algumas diferen-ças entre as duas concretizações, como segue.
No Bloco 203, com o recebimento da solicitação de porta, ocomponente de transferência encapsula a solicitação de porta com um pro-tocolo interno entre o componente de transferência e o servidor de transfe-rência, e envia a solicitação de porta encapsulada para o servidor de transfe-rência sobre o canal dedicado. Ao mesmo tempo, o componente de transfe-rência atribui, de acordo com o tipo e o número de porta na solicitação deporta, as portas locais para a transmissão de pacote de dados de subse-quentes. Por exemplo, duas portas UDP locais seqüenciais, as portas 120 e121, podem ser atribuídas pelo componente de transferência. Ou a(s) fun-ção(ções) de callback é(são) configurada(s) para encaminhar os pacotes dedados subsequentes. A(s) função(ções) de callback pode(m) incluir duasfunções operáveis para retornar os dados para a porta 110 e para a porta111, respectivamente. Ou a(s) função(ções) de callback pode(m) incluir umafunção, que exige que um parâmetro de porta da(s) função(ções) de callbackindique o número de porta 110 ou 111 para o qual são enviados os dados.
As portas atribuídas pelo componente de transferência ou a(s) função(ções)de callback do componente de transferência podem ser denominadas deinterface(s) de transferência(s) do componente de transferência para enca-minhar os dados. Nesta concretização, o componente de transferência apre-senta duas interfaces de transferência, a interface de transferência 0 e a in-terface de transferência 1. A interface de transferência 0 é a porta 120, ou afunção de callback 0, ou uma função de callback com o parâmetro de portado número de porta 110. A interface de transferência 1 é a porta 121, ou afunção de callback 1, ou uma função de callback com o parâmetro de portado número de porta 111.
No bloco 206, com o recebimento da resposta, o componente detransferência estabelece as relações correspondentes entre o número docanal lógico, o endereço IP e o número de porta da parte de aplicativo prin-cipal, o endereço IP e o número de interface de transferência do componen-te de transferência, o endereço IP e o número de porta do servidor de trans-ferência, e o endereço IP e o número de porta do servidor-alvo. Conformemostrado na Tabela 3, o endereço IP da parte de aplicativo principal é A e oendereço IP do componente de transferência é B.Tabela 3
<table>table see original document page 23</column></row><table>
O componente de transferência envia a resposta incluindo osconteúdos na Tabela 3 para a parte de aplicativo principal.
Nesta concretização, de acordo com as relações corresponden-tes mostradas nas Tabelas 1 e 3 e com base no tipo e no número de portasolicitados pela parte de aplicativo principal, o canal lógico que passa pelodispositivo de encaminhamento é estabelecido com a porta de comunicaçãoda parte de aplicativo principal como a porta inicial e passa pelo componentede transferência e pelo servidor de transferência para a porta de comunica-ção do servidor-alvo. Mais especificamente, o canal lógico 0 passa atravésdos endereços IP e das portas incluindo A/porta 110 - B/interface de transfe-rência 0 - canal dedicado 15 - C/porta 130 - D/porta 140; o canal lógico 1passa pelos endereços IP e pelas portas incluindo A/porta 111- B/interfacede transferência 1 - canal dedicado 15 - C/porta 131 - D/porta 141. O com-ponente de transferência e o servidor de transferência encaminham o pacotede dados da parte de aplicativo principal para as portas correspondentes doservidor-alvo sobre os canais lógicos nas Tabelas 1 e 3.
No bloco 208, a parte de aplicativo principal envia os dados parao componente de transferência 12 através da porta 110 com a invocação deuma função, o componente de transferência 12 envia o pacote de dados pa-ra a porta 140 do servidor-alvo 14 sobre o canal lógico 0. Similarmente, osdados enviados através da porta 111 são enviados para a porta 141 do ser-vidor-alvo 14 sobre o canal lógico 1. Se o servidor-alvo enviar um pacote dedados para a parte de aplicativo principal, o pacote de dados enviado atra-vés da porta 140 será enviado sobre o canal lógico 0 para a porta 110 daparte de aplicativo principal 11, onde o componente de transferência enca-minha o pacote de dados através da porta 120, ou através da função de cal-Iback 0, ou através de uma função de callback com o parâmetro de porta donúmero de porta de destino 110. Similarmente, um pacote de dados enviadoatravés da porta 141 é enviado para a porta 111 da parte de aplicativo prin-cipal 11 sobre o canal lógico 1.
Geralmente, três tipos de portas podem ser tipicamente solicita-dos pela parte de aplicativo principal: 1) uma porta TCP unitária; 2) uma por-ta UDP unitária; 3) duas portas UDP seqüenciais. Módulos de processamen-to padronizados podem ser configurados no servidor de transferência paraprocessar diferentes tipos. Por exemplo, um primeiro módulo é dedicado pa-ra atribuir a porta TCP unitária, um segundo módulo é dedicado para atribuira porta UDP unitária e um terceiro módulo é dedicado para atribuir duas por-tas UDP seqüenciais. Os módulos de processamento padronizados podemser invocados diretamente para atribuir a(s) porta(s) de modo a oferecer umfluxo de trabalho mais integrado e eficiente. Se a comunicação entre a partede aplicativo principal e o servidor-alvo precisar de múltiplas portas de co-municação TCP/UDP, os Blocos do Bloco 202 ao Bloco 207 poderão ser repetidos por diversas vezes e múltiplas portas poderão ser atribuídas comos módulos de processamento padronizados descritos acima. Desta manei-ra, múltiplos canais lógicos correspondendo a diferentes portas de comuni-cação TCP/UDP serão estabelecidos para a comunicação. Por exemplo,toda a comunicação pode precisar de três portas incluindo uma porta TCP e duas portas UDP seqüenciais, os Blocos de 202 a 207 são executados pri-meiro para estabelecer um canal lógico TCP, e o primeiro módulo atribuiuma porta TCP; depois, os Blocos 202 a 207 são repetidos para estabelecerdois canais lógicos UDP, e o terceiro módulo atribui duas portas UDP se-qüenciais. Entretanto, vários tipos de portas além dos três tipos acima po- dem ser solicitados em aplicativos práticos, uma extensão diferente pode seracrescentada no método da presente invenção por meio da configuração dediferentes módulos de processamento padronizados no servidor de transfe-rência para atribuir diferentes tipos de portas, o que torna o fluxo de trabalhomais integrado e eficiente.
A parte de aplicativo principal do cliente pode usar o número deporta recebido atribuído pelo servidor de transferência para executar a nego-ciação das portas de comunicação através de um protocolo de comunicaçãocomplicado correspondente da parte de aplicativo principal (por exemplo,H.323, SIP, MGCP, H.248/MeGaCo, etc.). A negociação pode incluir doiscasos.
No primeiro caso, o componente de transferência e o servidor detransferência não sustentam o protocolo complicado (por exemplo, H.323,SIP, MGCP, H.248/MeGaCo, etc.) usado pela parte de aplicativo principalpara transmissão dos dados por meio da análise sintática dos pacotes dedados. Em tal caso, um módulo de conversão pode ser configurado na partede aplicativo principal para converter o endereço IPea porta negociados daparte de aplicativo principal na parte de dados de um pacote de dados comtal protocolo complicado no endereço IP e no número de porta do servidorde transferência correspondente. Por exemplo, se o número de porta nego-ciado da parte de aplicativo principal for 110, o endereço IPea porta 110 daparte de aplicativo principal serão convertidos no endereço IP e no númerode porta 130 do servidor de transferência. O pacote de dados é enviado parao servidor-alvo sobre o canal lógico correspondente 0. O servidor-alvo obtémo endereço IP e o número de porta 130 do servidor-alvo da parte de dadosdo pacote de dados e envia uma resposta de negociação para a porta 130do servidor de transferência e adicionalmente para a parte de aplicativo prin-cipal sobre o canal lógico 0. Então, a negociação é completada.
No segundo caso, o componente de transferência e o servidorde transferência sustentam o protocolo complicado usado pela parte de apli-cativo principal para transmitir os dados por meio da análise sintática de pa-cotes de dados. Em tal caso, o módulo de conversão é ajustado no compo-nente de transferência ou no servidor de transferência que sustenta o proto-colo complicado. O módulo de conversão é operável para analisar sintatica-mente a parte dos dados de um pacote de dados de negociação da parte deaplicativo principal, converter o endereço IP e a porta negociados da partede aplicativo principal no endereço IP e na porta do servidor de transferênciacorrespondente, e enviar o pacote de dados convertidos para o servidor detransferência. O servidor de transferência processa o pacote de dados comum protocolo de comunicação idêntico ao protocolo de comunicação usadopela parte de aplicativo principal para obter o endereço IP e a porta do servi-dor de transferência da parte de dados do pacote de dados. O servidor-alvoenvia uma resposta de negociação para a porta do servidor de transferênciae adicionalmente para a parte de aplicativo principal sobre o canal lógicocorrespondente. A negociação é assim completada.
Finalmente, quando o cliente tiver seu processamento terminadotemporariamente, o cliente enviará uma mensagem de cancelamento de por-ta para o servidor de transferência, solicitando que o servidor de transferên-cia feche as conexões no canal lógico, destruirá o canal dedicado 15 para oservidor de transferência e liberará todos os recursos relevantes. Similar-mente, se o lado do servidor tiver seu processamento terminado temporari-amente, o servidor de transferência enviará uma porta cancelando a mensa-gem para o cliente, solicitando que o cliente feche as conexões no canal ló-gico, destruirá o canal dedicado 15 para o componente de transferência eliberará todos os recursos relevantes.
De acordo com o esquema técnico da presente invenção, a in-formação trocada entre a parte de aplicativo principal e o servidor-alvo podepassar com sucesso pelo dispositivo de encaminhamento entre a rede priva-da e o a rede pública por causa do exposto a seguir.
Se o dispositivo de encaminhamento for um firewall, o canal ló-gico de porta a porta transmitirá os dados sobre o canal dedicado 15. O ca-nal dedicado 15 pode passar pelo firewall porque o canal dedicado é umaconexão TCP ou UDP unitária que usa uma porta aberta do firewall. Por is-so, as mensagens entre a parte de aplicativo principal e o servidor-alvo po-dem passar com sucesso pelo firewall.
A comunicação entre o componente de transferência e o servi-dor de transferência é uma comunicação simples que ajusta as característi-cas do dispositivo de encaminhamento e adota um protocolo interno simplescomo o protocolo de interação. Por isso, a comunicação não seria, em geral,bloqueada pelo dispositivo de encaminhamento, podendo passar pelo dispo-sitivo de encaminhamento com sucesso.
Se o dispositivo de encaminhamento for um NAT/servidor proxy,o protocolo de interação entre o componente de transferência e o servidor detransferência será um protocolo interno simples. Diferente dos protocoloscomplicados, tais como H.323 e SIP, o protocolo interno simples não enviaráuma resposta para o endereço IP e a porta de origem na parte dos dados deum pacote de dados, mas para o endereço IP e a porta de origem no cabe-çalho do pacote de dados. Devido ao fato de o endereço IPea porta no ca-beçalho do pacote de dados tiverem sido convertidos pelo NAT/servidorproxy, a resposta poderá passar pelo NAT/servidor proxy com sucesso parauma comunicação sem obstáculos entre a parte de aplicativo principal e oservidor-alvo.
Se o dispositivo de encaminhamento for um servidor proxy (porexemplo, servidor proxy HTTP/SOCKS4/SOCKS5), será mais fácil aplicar afunção de um protocolo proxy ao componente de transferência do cliente.Por isso, a informação de interação poderá passar com sucesso pelo servi-dor proxy mesmo que a parte de aplicativo principal não suporte o protocoloproxy.
Os antecedentes são apenas concretizações preferidas da pre-sente invenção. O escopo de proteção desta invenção, contudo, não é limi-tado à descrição acima. Qualquer mudança ou substituição, dentro do esco-po técnico descrito pela presente invenção, que facilmente ocorre àquelesversados na técnica deve ser coberta pelo escopo de proteção da presenteinvenção.

Claims (16)

1. Equipamento para comunicação entre um cliente e um lado doservidor, aplicado a um sistema de comunicação que compreende o cliente,o lado do servidor e um dispositivo de encaminhamento entre o cliente e olado do servidor, o equipamento compreendendo:um componente de transferência, operável para estabelecer umcanal dedicado entre o componente de transferência e o servidor de transfe-rência através do dispositivo de encaminhamento, estabelecer uma conexãode comunicação entre o componente de transferência e o cliente, e estabe- lecer, com base no canal dedicado, um canal lógico entre o cliente e o ladodo servidor; eo servidor de transferência, operável para estabelecer o canaldedicado entre o componente de transferência e o servidor de transferênciaatravés do dispositivo de encaminhamento, estabelecer uma conexão decomunicação entre o servidor de transferência e o lado do servidor, e esta-belecer, com base no canal dedicado, o canal lógico entre o cliente e o ladodo servidor.
2. Equipamento, de acordo com a reivindicação 1, em que o ca-nal dedicado entre o componente de transferência e o servidor de transfe-rência compreende uma conexão de comunicação que adota o Protocolo deControle de Transmissão (TCP) ou o Protocolo de Datagrama de Usuário(UDP), o canal dedicado adotando uma porta aberta do dispositivo de enca-minhamento.
3. Equipamento, de acordo com a reivindicação 1 ou 2, em que oservidor de transferência compreende:um módulo de processamento padronizado, operável para rece-ber uma solicitação de porta de uma parte de aplicativo principal, atribuiruma porta local e estabelecer o canal lógico com base na solicitação de por-ta e na porta local.
4. Equipamento, de acordo com a reivindicação 3, em queo módulo de processamento padronizado compreende:um primeiro módulo operável para atribuir uma porta de Protocolode Controle de Transmissão (TCP) unitária;um segundo módulo operável para atribuir uma porta de Proto-colo de Datagrama de Usuário (UDP) unitária; eum terceiro módulo operável para atribuir duas portas UDP se-quenciais;em que qualquer um dentre, o primeiro módulo, o segundo mó-dulo e o terceiro módulo recebe a solicitação de porta e atribui a porta localde um tipo correspondente.
5. Equipamento, de acordo com a reivindicação 1, que adicio-nalmente compreende:um módulo de conversão operável para negociar um endereçoIP e uma porta, analisar sintaticamente um pacote de dados de negociaçãodo cliente para o lado do servidor, e converter o endereço IP e a porta nego-ciados do cliente em uma parte de dados do pacote de dados de negociaçãoem um endereço IP e uma porta do servidor de transferência no canal lógico,em que o módulo de conversão é ajustado em uma parte de aplicativo prin-cipal no cliente, ou no componente de transferência que suporta um protoco-lo de comunicação da parte de aplicativo principal, ou no servidor de transfe-rência que suporta um protocolo de comunicação da parte de aplicativo prin-cipal.
6. Sistema de comunicação, que compreende um cliente, umlado do servidor e um dispositivo de encaminhamento ajustados entre o cli-ente e o servidor;em que o cliente compreende uma parte de aplicativo principal, olado do servidor compreende pelo menos um servidor-alvo, e o sistema adi-cionalmente compreende;o equipamento, como definido em qualquer uma das reivindica-ções 1 a 5, que compreende:o componente de transferência operável para estabelecer umcanal dedicado entre o componente de transferência e o servidor de transfe-rência através do dispositivo de encaminhamento, estabelecer uma conexãode comunicação entre o componente de transferência e a parte de aplicativoprincipal, e estabelecer, com base no canal dedicado, o canal lógico entre aparte de aplicativo principal e o servidor-alvo.
7. Método para comunicação entre um cliente e um lado do ser-vidor, aplicado em um sistema de comunicação que compreende o cliente, olado do servidor e um dispositivo de encaminhamento entre o cliente e o la-do do servidor, o método compreendendo as etapas de:estabelecer um canal dedicado entre o cliente e o lado do servi-dor através do dispositivo de encaminhamento;estabelecer um canal lógico entre a parte de aplicativo principale o servidor-alvo com base no canal dedicado, se uma parte de aplicativoprincipal do cliente se comunica com um servidor-alvo do lado do servidor, eexecutar a comunicação.
8. Método, de acordo com a reivindicação 7, em que a etapa de:estabelecer o canal dedicado entre o cliente e o lado do servidoratravés do dispositivo de encaminhamento compreende as etapas de:configurar um componente de transferência no cliente, configurarum servidor de transferência no lado do servidor, e estabelecer pelo compo-nente de transferência e pelo servidor de transferência, o canal dedicado;o canal lógico entre a parte de aplicativo principal e o servidor-alvo com base no canal dedicado compreende:a determinação, pelo componente de transferência, de uma co-nexão de comunicação na parte de aplicativo principal, a determinação, peloservidor de transferência, de uma conexão de comunicação no servidor-alvo,e o ajuste de uma primeira relação correspondente entre as portas de comu-nicação atribuídas respectivamente pela parte de aplicativo principal, pelocomponente de transferência, pelo servidor de transferência e pelo servidor-alvo para formar o canal lógico.
9. Método, de acordo com a reivindicação 8, em que o estabele-cimento do canal lógico entre a parte de aplicativo principal e o servidor-alvocom base no canal dedicado pelo componente de transferência e pelo servi-dor de transferência compreende as etapas de:enviar, pela parte de aplicativo principal para o componente detransferência, uma solicitação de porta contendo um endereço de ProtocoloInternet (IP) e uma porta da parte de aplicativo principal, e um endereço IP euma porta do servidor-alvo;encapsular, pelo componente de transferência, a solicitação deporta com um protocolo interno, enviar a solicitação de porta encapsuladapara o servidor de transferência sobre o canal dedicado, e atribuir de umainterface de transferência local para encaminhar os dados;atribuir, pelo servidor de transferência, uma porta local com basena solicitação de porta, e configurar uma segunda relação correspondenteentre o número do canal lógico, o endereço IP e a porta do servidor de trans-ferência, e o endereço IPea porta do servidor-alvo;enviar, pelo servidor de transferência para o componente detransferência, a segunda relação correspondente; econfigurar, pelo componente de transferência, a primeira relaçãocorrespondente entre o número do canal lógico, o endereço IP e a porta daparte de aplicativo principal, o endereço IP e a porta do componente detransferência, e o endereço IP e a porta do servidor de transferência, e oendereço IP e a porta do servidor-alvo; econsiderar a primeira relação correspondente como o canal lógi-co entre a parte de aplicativo principal e o servidor-alvo.
10. Método, de acordo com a reivindicação 8, em que o estabe-lecimento do canal lógico entre a parte de aplicativo principal e o servidor-alvo com base no canal dedicado pelo componente de transferência e peloservidor de transferência compreende as etapa de:enviar, pela parte de aplicativo principal, uma solicitação de por-ta contendo um endereço IP e uma porta da parte de aplicativo principal parao componente de transferência;encapsular, pelo componente de transferência, a solicitação deporta com um protocolo interno, enviar a solicitação de porta encapsuladapara o servidor de transferência sobre o canal dedicado, e atribuir de umainterface de transferência local para encaminhar os dados;atribuir, pelo servidor de transferência, uma porta local com basena solicitação de porta;enviar, pela parte de aplicativo principal, um endereço IP e umaporta do servidor-alvo para o componente de transferência e para o servidorde transferência através dos dados de comunicação ou de uma notificação;configurar, pelo servidor de transferência, uma segunda relaçãocorrespondente entre o número do canal lógico, o endereço IP e a porta doservidor de transferência, e o endereço IPea porta do servidor-alvo;enviar, pelo servidor de transferência, a segunda relação corres-pondente para o componente de transferência; econfigurar, pelo componente de transferência, a primeira relaçãocorrespondente entre o número do canal lógico, o endereço IP e a porta daparte de aplicativo principal, o endereço IP e a porta do componente detransferência, o endereço IP e a porta do servidor de transferência e o ende-reço IPea porta do servidor-alvo; econsiderar a primeira relação correspondente como o canal lógi-co entre a parte de aplicativo principal e o servidor-alvo.
11. Método, de acordo com a reivindicação 9 ou 10, em que asolicitação de porta contém um tipo e um número de uma porta solicitada; eo servidor de transferência atribui uma porta local corresponden-do ao tipo e ao número na solicitação de porta.
12. Método, de acordo com a reivindicação 11, em que o tipo e onúmero de porta solicitada compreendem pelo menos:uma porta de Protocolo de Controle de Transmissão (TCP) uni-tária;uma porta de Protocolo de Datagrama de Usuário (UD) unitária;eduas portas UDP seqüenciais.
13. Método, de acordo com a reivindicação 9 ou 10, em que aparte de aplicativo principal envia a solicitação de porta para o componentede transferência na forma de uma mensagem de solicitação; ea interface de transferência local atribuída pelo componente detransferência é uma porta local.
14. Método, de acordo com a reivindicação 9 ou 10, em que aparte de aplicativo principal envia a solicitação de porta para o componentede transferência com a invocação de uma função; a interface de transferên-cia local atribuída pelo componente de transferência é uma porta local ou ainterface de transferência local do componente de transferência é uma fun-ção de callback.
15. Método, de acordo com a reivindicação 7, que adicionalmen-te compreende as etapas de:analisar sintaticamente, pelo servidor de transferência, um paco-te de dados de negociação da parte de aplicativo principal para o servidor-alvo, quando a parte de aplicativo principal e o servidor-alvo negociaremuma porta;converter um endereço IP negociado e uma porta negociada daparte de aplicativo principal em uma parte dos dados do pacote de dados denegociação em um endereço IP e uma porta da servidor de transferência nocanal lógico; eenviar o pacote de dados de negociação convertido para o ser-vidor alvo.
16. Método, de acordo com a reivindicação 7, em que o disposi-tivo de encaminhamento é um dispositivo de tradução de endereço de rede,um servidor proxy ou um firewall.
BRPI0616627-0A 2005-09-29 2006-09-29 equipamento, sistema e método para comunicação entre cliente e lado do servidor BRPI0616627A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNB2005101080610A CN100477636C (zh) 2005-09-29 2005-09-29 客户端主应用部件与目标服务器间进行通信的装置和方法
CN200510108061.0 2005-09-29
PCT/CN2006/002574 WO2007036160A1 (fr) 2005-09-29 2006-09-29 Appareil, systeme et procede assurant la communication entre un client et un serveur

Publications (1)

Publication Number Publication Date
BRPI0616627A2 true BRPI0616627A2 (pt) 2011-06-28

Family

ID=37899382

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0616627-0A BRPI0616627A2 (pt) 2005-09-29 2006-09-29 equipamento, sistema e método para comunicação entre cliente e lado do servidor

Country Status (4)

Country Link
CN (1) CN100477636C (pt)
BR (1) BRPI0616627A2 (pt)
RU (1) RU2396716C2 (pt)
WO (1) WO2007036160A1 (pt)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090319674A1 (en) * 2008-06-24 2009-12-24 Microsoft Corporation Techniques to manage communications between relay servers
CN102571697B (zh) * 2010-12-17 2015-05-13 中兴通讯股份有限公司 一种传输实时传送协议报文的方法及装置
CN102186257A (zh) * 2011-03-09 2011-09-14 华为终端有限公司 无线终端、主机设备的通信方法及无线终端、主机设备
CN103699367B (zh) * 2012-09-27 2017-07-07 中国电信股份有限公司 Http应用程序接口调用方法与装置
CN102932487B (zh) * 2012-11-26 2016-09-14 福建伊时代信息科技股份有限公司 数据处理方法及系统
CN102984167B (zh) * 2012-12-07 2015-02-18 北京邮电大学 一种基于Socks5协议的通用防火墙穿越方法
RU2609086C2 (ru) * 2014-05-07 2017-01-30 Общество С Ограниченной Ответственностью "Яндекс" Сетевое устройство пересылки пакетов (варианты), способ настройки сетевого устройства пересылки пакетов (варианты) и способ пересылки пакета
DE102015223229A1 (de) * 2015-05-11 2016-11-17 Volkswagen Aktiengesellschaft Verfahren zur Kommunikation zwischen einer Kommunikationseinheit eines Geräts und einer externen Kommunikationseinheit über eine mobile Telefoneinheit
CN105611226B (zh) * 2015-10-30 2018-07-13 浙江宇视科技有限公司 一种视频监控网络中丢包定位方法及装置
CN105337808B (zh) * 2015-11-30 2019-01-04 网宿科技股份有限公司 数据传输的方法、装置及系统
CN107197005B (zh) * 2017-05-12 2020-12-29 广州视源电子科技股份有限公司 数据传输的方法及装置、客户端、服务器及数据传输系统
CN107168210B (zh) * 2017-06-22 2020-09-01 无锡乐伏能源科技有限公司 分布式光伏电站的监控系统及监控方法
CN109618014B (zh) * 2018-11-12 2021-12-24 杭州数梦工场科技有限公司 报文转发方法和装置
CN110891008A (zh) * 2019-11-21 2020-03-17 成都云智天下科技股份有限公司 一种基于l2tp/ipsec的ip代理方法
CN111327614A (zh) * 2020-02-21 2020-06-23 浙江德迅网络安全技术有限公司 一种socket协议连接转换为其它协议连接的实现方法
CN111491126A (zh) * 2020-04-10 2020-08-04 贵州新致普惠信息技术有限公司 提高多人联机视频语音稳定性的方法、系统以及设备
CN114205402B (zh) * 2021-11-18 2024-04-30 阿里云计算有限公司 连接建立方法、系统、设备和存储介质
CN116320641B (zh) * 2023-05-19 2023-08-04 河北网新科技集团股份有限公司 一种视频数据传输方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1570904A (zh) * 2003-07-23 2005-01-26 张恒 移动远程计算机访问和控制系统及其方法
US7694127B2 (en) * 2003-12-11 2010-04-06 Tandberg Telecom As Communication systems for traversing firewalls and network address translation (NAT) installations
CN100440850C (zh) * 2003-12-24 2008-12-03 华为技术有限公司 多媒体业务网络地址转换穿越的方法及其系统
CN1260924C (zh) * 2004-09-30 2006-06-21 西安西电捷通无线网络通信有限公司 一种在柔性ip网络技术体系中实现双层隧道的方法

Also Published As

Publication number Publication date
CN1941738A (zh) 2007-04-04
RU2396716C2 (ru) 2010-08-10
WO2007036160A1 (fr) 2007-04-05
RU2008115139A (ru) 2009-11-10
CN100477636C (zh) 2009-04-08

Similar Documents

Publication Publication Date Title
BRPI0616627A2 (pt) equipamento, sistema e método para comunicação entre cliente e lado do servidor
US8130766B2 (en) System and method for implementing multimedia calls across a private network boundary
US7924832B2 (en) Facilitating transition of network operations from IP version 4 to IP version 6
EP1932320B1 (en) Method, apparatus and system for maintaining mobility resistant ip tunnels using a mobile router
JP3972733B2 (ja) アドレス変換装置、アドレス変換システム、及びsipサーバ
JP5335886B2 (ja) ローカル・ネットワーク間でデータ・パケットを通信するための方法および装置
RU2543304C2 (ru) Способ и устройство, для ретрансляции пакетов
US7283542B2 (en) Network address translator and secure transfer device for interfacing networks
KR100650843B1 (ko) 임의의 어플리케이션 타입이 있는 ip 네트워크에서네트워크 주소 변환을 사용하기 위한 방법 및 시스템
JP4766976B2 (ja) ノード間接続方法及び装置
US20130297733A1 (en) Middlebox Control
US20020042832A1 (en) System and method for interoperability of H.323 video conferences with network address translation
US20030112823A1 (en) Methods and systems for establishing communications through firewalls and network address translators
US20040205245A1 (en) Data transmission system with a mechanism enabling any application to run transparently over a network address translation device
JP2004515164A (ja) 通信システム
JP2002502152A (ja) Tcp/ipネットワーク・アドレス携帯端末のためのプロキシ・サーバ
WO2011144154A1 (zh) 在nat穿越中分配外网互联网协议ip地址的方法及设备、系统
CN110661858A (zh) 基于websocket的内网穿透方法及系统
WO2023173720A1 (zh) 应用访问方法、云端代理及节点代理组件、设备、介质
EP2026528B1 (en) Integrated internet telephony system and signaling method thereof
US20100131631A1 (en) Method for management of a secured transfer session through an address translation device, corresponding server and computer program
CN100493048C (zh) 穿越网络地址转换和防火墙的多媒体通信代理系统及方法
JP2019050628A5 (pt)
KR100438182B1 (ko) 게이트키퍼와 nat-pt 연동을 위한 서로 상이한ip 주소 연동 방법
EP1687957B1 (en) Network-network interface for inter-operator service

Legal Events

Date Code Title Description
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: H04L 12/54

Ipc: H04L 29/12 (1990.01)

B06T Formal requirements before examination [chapter 6.20 patent gazette]
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]

Free format text: MANTIDO O INDEFERIMENTO UMA VEZ QUE NAO FOI APRESENTADO RECURSO DENTRO DO PRAZO LEGAL