BR0109033B1 - Porta de tradução de endereço de rede e método de processamento de datagramas ip - Google Patents

Porta de tradução de endereço de rede e método de processamento de datagramas ip Download PDF

Info

Publication number
BR0109033B1
BR0109033B1 BRPI0109033-0A BR0109033A BR0109033B1 BR 0109033 B1 BR0109033 B1 BR 0109033B1 BR 0109033 A BR0109033 A BR 0109033A BR 0109033 B1 BR0109033 B1 BR 0109033B1
Authority
BR
Brazil
Prior art keywords
address
port
datagram
external
local
Prior art date
Application number
BRPI0109033-0A
Other languages
English (en)
Other versions
BR0109033A (pt
Inventor
Daniel Israel Sultan
Original Assignee
Symantec Corp
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 Symantec Corp filed Critical Symantec Corp
Publication of BR0109033A publication Critical patent/BR0109033A/pt
Publication of BR0109033B1 publication Critical patent/BR0109033B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • 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/2517Translation of Internet protocol [IP] addresses using port numbers
    • 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/255Maintenance or indexing of mapping tables
    • 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
    • H04L61/2564NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/663Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports

Description

"PORTA DE TRADUÇÃO DE ENDEREÇO DE REDE E MÉTODO DE PROCESSAMENTO DE DATAGRAMAS IP" A rede privada virtual VPN que utiliza TCP/IP permite comunicações seguras de alta velocidade entre sites remotos de computação que utilizam a internet como um meio de comunicação. A informação que passa entre os sites pela internet pode ser protegida contra a intercepção por pessoas indesejadas ou hackers maliciosos através de uma variedade de medidas de segurança. As medidas eficazes de segurança devem, no mínimo, incorporar funções que garantam quaisquer ou todas as seguintes proteções: Integridade de dados contra a modificação maliciosa ou inadvertida de dados durante o trânsito; prevenção contra ataques de negação de serviço ao empregar medidas anti- repetição; autenticação de origem; confidencialidade de endereço de origem e outra informação de registro inicial durante o trânsito e proteção de carga útil de pacote contra a intercepção indesejada. Um modelo padrão para fornecimento da segurança na internet é o conjunto de Segurança de Protocolo da Internet, IPSec. 0 IPSec funciona com o protocolo de comunicações TCP/IP a fim de fornecer comunicações seguras entre os dispositivos conectados à internet ou conectados a LANs privadas (Redes de Área Local) que estão, por si próprias, conectadas à internet. 0 conjunto de protocolo (Protocolo de Controle de Transmissão/Protocolo Internet) TCP/IP utiliza endereços IP para identificar cada dispositivo em uma rede. Um endereço IP global identifica exclusivamente um dispositivo na internet. Tais dispositivos podem ser compu- tadores, impressoras, routers, chaves, portas ou outros dis- positivos de rede. Os dispositivos que possuem endereços IP globais podem ser diretamente referidos como uma origem ou destino na Internet. O protocolo de comunicações TCP/IP, en- tretanto, não está limitado exclusivamente à internet, mas pode ser utilizado também como LANs privadas. As LANs priva- das, que utilizam TCP/IP, utilizam frequentemente endereços IP "locais" para dispositivos de rede. Embora nenhum dos dois dispositivos em uma LAN privada possa dividir o mesmo endereço IP local, as LANs privadas são isoladas da internet e os dispositivos locais na LAN não são visíveis a partir da internet. Os endereços IP para os dispositivos locais, por- tanto, não precisam ser "globalmente" únicos. Uma LAN que utiliza endereços IP locais estará conectada à internet a- través de uma porta, que é um dispositivo que pode filtrar ou encaminhar as mensagens entre a LAN e a internet. Tal porta está diretamente ligada à internet, e é visível a ela, a porta deve ter um endereço IP globalmente único para comu- nicação pela internet. Entretanto, uma vez que a LAN não é diretamente visível a partir da internet, as máquinas locais na LAN não requerem endereços IP que são globalmente únicos. 0 TCP/IP é o protocolo de co- municação que é utilizado na internet. A informação a ser transmitida ao se usar o TCP/IP está contida nos "datagra- mas" . Um datagrama consiste de um "pacote" discreto de in- formação em que um ou mais registros iniciais estão anexa- dos. Os registros iniciais contêm informação necessária ao TCP/IP para direcionar o pacote ao seu destino pretendido e para garantir o seu apropriado manusearaento durante o trân- sito. Cada datagrama é endereçável individualmente e pode ser um datagrama TCP orientado por conexão ou um datagrama UDP (Protocolo de Datagrama de Usuário) "sem conexão". Cada datagrama UDP inclui um registro inicial IP e um registro inicial UDP. O registro inicial IP contém, pelo menos, um endereço IP de "origem" e um endereço IP de "destino", en- quanto o registro inicial UDP inclui endereços de serviço de origem e destino (endereços de porta, dados como números).
Em Ipv4, os endereços IP possuem 32 bits em comprimento e estão associados com o formato agora familiar xxx.xxx.xxx.xxx. Nesse formato, cada segmento de três dígi- tos é um octeto binário que representa um número entre 0 e 255. Um endereço IP completo combina o endereço de uma rede lógica ou segmento de rede com o endereço de um "nó" (dispo- sitivo) na rede. O endereço da rede ou segmento de rede pode incluir os primeiros 3, 6 ou 9 dígitos do endereço IP. Um dispositivo na rede ou segmento de rede ê identificado atra- vés de um endereço de nó que consiste daqueles dígitos rema- nescentes que não são utilizados no endereço de segmento de rede ou rede.
Os endereços de serviço de destino e origem contidos em um registro inicial UDP são nú- meros de 16-bit, conhecidos, diversamente como "portas" ou "soquetes" que são utilizados para direcionarem o pacote a um processo pretendido que é ativo no envio ou recebimento do dispositivo. 0 termo "porta" ou "endereço de porta", con- forme utilizado aqui, refere-se a um campo de endereço de serviço em um registro inicial UDP. Embora em teoria, hã tantas portas quanto endereços em um número de 16-bit, por convenção muitos endereços de porta foram reservados para processos estabelecidos. Portanto, por exemplo, a porta 80 é reservada para HTTP, e as portas 20 e 21 são reservadas para FTP. Através da utilização de endereços de porta, os dados que chegam em uma máquina local percorrendo mais de um pro- cesso serão direcionados ao processo pretendido. Aonde um processo que percorre um host local não é um dos processos reservados, o host local pode selecionar qualquer número de porta a partir de uma série de números de porta não reserva- dos para identificar o processo de "origem". Um pacote de resposta que se refere ao número de porta no campo de "des- tino" será direcionado ao processo.
Com o explosivo crescimento do uso da internet durante a última década, e seu crescimento projetado para o futuro, os endereços IP globalmente únicos tornaram-se um recurso escasso. Além disso, muitas empresas que mantêm as LANs privadas possuem pouca ou nenhuma neces- sidade para que cada computador e dispositivo na LAN possuam um endereço IP global único. Muitas dessas empresas preferi- ríam, em qualquer caso, manter a confidencialidade de seus endereços IP nos computadores. Ao contrário de gastar recur- sos globais limitados ao fornecer a cada dispositivo local um endereço IP global único, muitas LANs privadas utilizam os endereços IP locais para dispositivos na LAN. A fim de fornecer conectividade â internet, tais LANs empregarão um endereço globalmente único singular a ser utilizado na in- ternet através da porta que separa a LAN da internet.
Através da utilização de téc- nicas de Tradução de Endereço de Rede NAT, um dispositivo de porta que separa uma LAN da internet pode fornecer seguran- ça, assim como um firewall, enquanto permite que as máquinas com endereços IP locais acessem à internet através do ende- reço global único da porta. Um dispositivo em uma LAN pode possuir um endereço IP local estático, ou pode possuir um endereço IP local nomeado dinamicamente a ela na entrada do sistema. A porta mantém uma tabela de tradução com os ende- reços IP locais para cada dispositivo na LAN. Um pacote UDP enviado de uma máquina local e destinado para internet terá seu endereço IP local e o endereço de porta identificados nos campos de origem dos registros iniciais UDP e IP, res- pectivamente. A porta receberá o pacote da máquina local e substituirá seu endereço IP globalmente único externo e um novo endereço de porta (extraído de um grupo de endereços de porta não utilizados e não reservados) em campos de origem dos registros iniciais IP e UDP. A seguir, atualizará o CRC (Verificação por Redundância Cíclica) e fará quaisquer ou- tras mudanças necessárias para garantirem a integridade dos dados, depois então enviará o pacote à internet. Como parte do processo, a porta atualizará sua tabela de tradução in- terna à referência cruzada do endereço IP da máquina local com o endereço de porta de origem registrado originalmente por aquela máquina, com o novo endereço de porta de origem designado ao pacote de limite da internet e com o endereço IP de destino.
Além do recebimento de uma resposta da internet, a porta reconhecerá seu próprio ende- reço IP no registro inicial do pacote e examinará o endereço da porta de destino do pacote de entrada. Se ela reconhecer o endereço de porta de destino em sua tabela interna, a por- ta substituirá o endereço IP da máquina local de referência cruzada e o endereço de porta original nos campos de destino do pacote, atualizará o CRC e quaisquer outros parâmetros necessários, e então enviará o pacote à LAN, aonde ele será recebido pela máquina local e direcionado ao processo apro- priado. Dessa maneira, um número de computadores em uma LAN que possui apenas endereços IP locais pode se comunicar pela internet através de um endereço IP globalmente único singu- lar .
Embora as portas NAT apresen- tem segurança de firewall contra o acesso direto da LAN a partir da internet, elas não podem fornecer segurança contra a intercepção ou modificação de um pacote encaminhado à LAN, enquanto em trânsito na internet, e não garantem a "integri- dade" das objeções que se criam dentro da LAN. Portanto, a segurança apresentada pelo IPSec é uma proteção necessária para as LANs que devem manter a segurança enquanto realizam a interface com a internet.
Uma implementação comum do IP-Sec consiste em fornecer a segurança para as VPNs que consistem de, pelo menos, um site principal de computação e uma ou mais LANs remotas. 0 site principal e as LANs remotas estão conectados pela internet, utilizando o meio de mais alta ve- locidade para se comunicar entre os sites, apesar de linhas privadas alugadas significativamente mais caras. A desvanta- gem ao utilizar a internet como um meio de transmissão, en- tretanto, é que a internet é inerentemente insegura, e apre- senta pouca ou nenhuma proteção inerente contra a espiona- gem, detecção, "imitação" ou em último caso roubo, modifica- ção ou desvio de mensagens pelos hackers. Portanto, hã a ne- cessidade de medidas abrangentes de segurança aonde trans- missões de dados seguras são exigidas. O protocolo IPSec im- plementa medidas de segurança para garantir a autenticação dos dados e a integridade dos mesmos. O conjunto de protocolo IPSec implementa a segurança na camada da rede do modelo de refe- rência de rede (Interconexão de Sistemas Abertos) OSI de múltiplas camadas. O conjunto inclui um número de protocolos separados que é utilizado em conjunção entre si para garan- tir a segurança dos datagramas UDP que conduzem informação através da internet. A arquitetura base dos sistemas concor- dantes do IPSec é explicada em RFC2401, "Security Architec- ture for the Internet Protocol", S.Kent e R.Atkisnon (Novem- bro de 1998). O protocolo AH (Registro Inicial de Autentica- ção) garante a integridade dos dados, autenticação de ori- gem, e incorpora medidas "anti-repetição" a fim de impedir os ataques de negação de serviço. O protocolo ESP (Carga de Segurança de Encapsulação) apresenta proteções similares ao AH, porém adiciona a característica adicional da criptogra- fia da carga útil. Tanto os registros iniciais AH como ESP possuem um campo para o índice de Parâmetros de Segurança (SPI). O SPI é um valor pseudoaleatório de 32-bit que ê uti- lizado para identificar uma Associação de Segurança SA para o datagrama. Outras informações referentes a esses protoco- los podem ser encontradas em RFC1826, "IP Authentication Header", por R.Atkinson (Agosto de 1995) e RFC2406, "IP En- capsulating Security Payload (ESP)", S.Kent e R.Atkinson (Novembro de 1998}. O ISAKMP/Oakley (Associação de Segurança da Internet e Protocolo Chave de Administração, também, ge- ralmente, referidos como Troca de Chave da Internet - IKE) é um protocolo de sinais de estabelecimento de comunicação que estabelece os parâmetros para uma sessão segura entre dois hosts e apresenta a troca de chave e outra informação de se- gurança que é utilizada para implementar a sessão segura e permitir a transmissão dos dados criptografados. O protocolo ISAKMP/Oakley (a seguir referido simplesmente como ISAKMP) envolve as trocas inicias de mensagens não criptografadas para fornecimento de ambas máquinas com dados de inicializa- ção dos quais a autenticação pode ser estabelecida e as cha- ves seguras para a criptografia dos dados podem ser criadas.
Uma explicação desses processos pode ser encontrada em RFC2409, "The Internet Key Exchange," D.Harkins e D.Carrel (Novembro de 1998). Uma vez que os suficientes parâmetros de segurança que estabelecem as Associações de Segurança SAs entre os hosts foram trocados, todas as subseqüentes trans- missões serão criptografadas e totalmente autenticadas de acordo com os protocolos de concordância. Naquele ponto, o protocolo ISAKMP termina. O endereçamento subsequente é ba- seado no endereço IP para cada máquina e no SPI da máquina para aquela sessão. O SPI é único para cada máquina durante uma sessão. A porta para uma LAN privada manterá uma tabela interna, em que o "SPI-in" em um valor é referido de modo cruzado ao endereço IP da máquina local, e o "SPI-out" é re- ferido de modo cruzado ao endereço IP da máquina na internet que está se comunicando com a máquina local. O SPI para cada máquina é computado a partir da informação trocada durante as transmissões ISAKMP, e é conduzido no registro inicial AH ou ESP que está anexado aos pacotes UDP. Uma vez que os pro- tocolos IPSec podem ser embutidos para fornecer segurança em uma variedade de ambientes, um único datagrama pode incluir tanto um registro inicial AH como ESP, e pode criptografar alguma informação do registro inicial.
Cada um dos protocolos de se- gurança anteriormente mencionados modifica o pacote UDP ao dispor nova informação de registro inicial ao pacote, modi- ficando certos campos dentro do pacote para se adaptarem ao protocolo utilizado e, em alguns casos, criptografando a carga útil e todos ou partes de outros registros iniciais do pacote. Portanto, sob o IPSec, quando um datagrama UDP deixa um domínio "seguro" transitar por uma rede não confiável, ele normalmente consistirá de um registro inicial IP, um re- gistro inicial AH ou ESP (ou ambos) e uma carga útil encap- sulada. A informação de registro inicial incluirá um endere- ço de destino, um SPI, e a informação SA suficiente para ga- rantir que o datagrama alcance seu destino e possa ser au- tenticado ao host de destino. A encapsulação da carga útil garante que a informação contida dentro da carga útil seja recusada para as pessoas indesejadas e os hackers. O host de destino inicial para o datagrama pode ser um router, porta ou firewall entre uma LAN e a internet. Além da entrada no dispositivo no limite entre a LAN e a internet, o datagrama pode ser aberto, examinado ou descriptografado em sua tota- lidade ou em parte, analisado para outras informações de en- dereço e encaminhado para um endereço IP local na LAN. O protocolo ISAKMP de sinais de estabelecimento de comunicação utilizado no IPSec exige que ambos hosts que pretendem estabelecer uma sessão segura entre os mesmos utilizem um endereço de porta específica do processo (Porta 500) para as trocas inicias de mensagem. Por essa razão, a Porta 500 foi designada para uso exclusivo com o protocolo ISAKMP. Por convenção, os computadores que ten- tarem negociar os parâmetros de comunicações seguras ao em- pregarem o protocolo ISAKMP devem se comunicar estritamente através da Porta 50 0 de cada computador. Isto é, as mensa- gens do ISAKMP de cada computador devem identificar a Porta 500 tanto como endereços de porta de origem como de destino.
Se cada computador recebe um pacote em que a Porta 50 0 não está especificada como sendo tanto de origem como destino, o pacote será descartado.
Enquanto esse protocolo apre- senta garantia que aqueles dois hosts estão se comunicando entre si, ele torna-se incontrolãvel, quando um host está localizado em uma LAN que utiliza os endereços IP locais e uma porta NAT. Por exemplo, o Host A, que possui um endereço IP local em uma LAN remota protegido por uma porta NAT, de- seja estabelecer uma sessão segura com o Host B, localizado em um site de computação do escritório principal. O Host A
iniciaria o protocolo através do envio de um datagrama UDP descriptografado ao Host B, dando o "destino" como endereço IP do Host B, e o endereço de porta de destino como "Porta 500". Entretanto, quando o datagrama alcança a porta NAT que conecta a LAN remota a internet, a porta traduzirá o endere- ço de porta de destino em um número de porta arbitrário. A- lém da entrada do datagrama no Host B, o protocolo ΙΞΑΚΜΡ não será reconhecido, e o Host B não responderá. Os computa- dores falharão ao estabelecer uma sessão segura. Por causa dessa dificuldade, acreditou-se que o protocolo ISAKMP não pode ser utilizado para estabelecer uma VPN que utiliza uma porta NAT, aonde cada computador na LAN remota utiliza um local ao invés de um endereço IP global.
Portanto, é um objetivo dessa invenção fornecer uma porta que permitirá a utilização da autenticação do protocolo ISAKMP e as trocas de chave entre um computador que possui um endereço IP não global e um com- putador central que utiliza a internet como um meio de transmissão.
Ainda é um outro objetivo des- sa invenção fornecer uma porta que permitirá qualquer número de computadores em uma LAN privada que utiliza endereços IP locais a iniciar ou receber mensagens via internet utilizan- do o protocolo ISAKMP. É um outro objetivo dessa in- venção apresentar um método para o emprego de uma rede pri- vada virtual entre dois ou mais sites de LAN na internet, utilizando o protocolo ISAKMP para iniciar as comunicações seguras.
Esses e outros objetivos da invenção serão claros através da seguinte descrição.
De acordo com a presente in- venção, um computador que utiliza um endereço IP local em uma LAN remota ligada a uma rede externa, como por exemplo, a internet através de uma porta NAT usará o protocolo ISAKMP para trocar chaves e estabelecer SAs que suportarão uma ses- são segura sob IPSec. Para o trânsito de não ISAKMP, a porta efetua a tradução do endereço como normal. Entretanto, quan- do uma máquina na LAN origina uma mensagem de protocolo I- ΞΑΚΜΡ, a porta identificará o datagrama que contém os ende- reços de porta da Porta 500. Após encontrar tal datagrama, a porta traduzirá o endereço IP de origem, porém não traduzirá o endereço de porta de origem, deixando o mesmo na Porta 500, e enviará o pacote à internet com a Porta 500 designada como endereços de porta tanto de destino como origem. A por- ta atualizará também sua tabela interna para "ligar" a Porta 500 ao endereço IP local e associará aquela ligação ao ende- reço IP externo da máquina de destino por uma duração de tempo pré-determinada. Se uma reposta válida não for recebi- da dentro do período de tempo pré-determinado, a "ligação" entre a Porta 500 e o endereço IP local será liberada. Essa característica é necessária para garantir que a Porta 500 não seja presa indefinitivamente, como por exemplo, em uma situação em que uma transmissão de protocolo ISAKMP foi ini- ciada em um incorreto endereço IP de destino. Sob essas con- dições, a porta nunca recebería uma resposta válida. Se não houvesse um cronômetro para liberar a Porta 500 após um pe- ríodo durante o qual uma resposta válida não é recebida, a porta permanecería ligada ao endereço IP local até que a porta fosse restaurada. Para maiores condições, um período de dois segundos deveria ser um período de tempo suficiente para manter a ligação entre a Porta 500 e o endereço IP lo- cal, enquanto uma resposta válida é esperada.
Durante o tempo em que a Porta 500 está ligada a um endereço IP local, a porta continuará o processamento de datagrama normal de datagramas que não pos- suem os endereços de porta da Porta 500, enquanto é esperada uma resposta válida. Uma resposta válida será um datagrama que possui um endereço IP de origem que é o mesmo que o en- dereço IP externo que está associado com a Porta 500 e terá tanto os endereços de porta de destino como de origem como Porta 500. Enquanto se espera uma resposta válida, a porta ignorará outros datagramas UDP da rede externa que possui os endereços de porta de destino e origem da Porta 500, mas não o próprio endereço IP de origem. Além disso, enquanto a Por- ta 500 está ligada a um endereço IP local, os datagramas re- cebidos da LAN que possuem endereços de porta de destino e origem da Porta 500 passarão pela tradução de endereço "nor- mal", em que o endereço de porta de origem da Porta 500 será traduzido em um endereço de porta arbitrário e não utiliza- do, antes de ser enviado à rede externa. Uma vez que tal da- tagrama não possui tanto o endereço de porta de destino como de origem da Porta 500, ele não é um datagrama ISAKMP váli- do, e será ignorado ao alcançar seu destino IP. Se o período de ligação da Porta 500 em um endereço IP local deveria ex- pirar sem que um datagrama válido fosse recebido pela porta, a ligação seria liberada, e a Porta 500 se tornaria disponí- vel para a utilização através do próximo datagrama que pos- sui um endereço de porta de destino e origem de Porta 500.
Enquanto a Porta 500 está li- gada, após receber um datagrama de resposta válida que pos- sui os endereços de porta de destino e origem da Porta 500 e o correto endereço IP de origem, a porta processará o data- grama ao substituir o endereço IP na máquina local no campo de endereço IP de destino do registro inicial do datagrama então passará o datagrama através da LAN para a entrega na máquina local. Quando o datagrama deixa a porta, a porta li- berará a ligação entre o endereço IP local e a Porta 500 e resumirá o processamento normal do datagrama.
Se uma resposta que possui o próprio endereço IP de origem e os endereços de porta da Porta 500 não for recebida da rede externa, a porta esgotará o tempo após um curto período de tempo pré-determinado. Se a porta deve esgotar o tempo antes de uma resposta válida ser recebida, a troca de mensagem de ISAKMP não pode ser comple- tada, porém deve ser reiniciada.
Uma vez que o protocolo ISAKMP foi completado, e uma sessão segura criptografada está a ca- minho, a porta efetuará as traduções de endereço local ao se referir ao SPI no registro inicial ESP de datagramas de en- trada e saída. A porta garantirá que cada tipo de pacote (tipo 50 para um pacote ESP) seja correto para o datagrama a ser passado através da porta. Ocasionalmente, uma sessão se- gura através de uma VPN será interrompida ou uma nova sessão iniciada. A primeira indicação da porta dessa sessão será o seu recebimento de um datagrama de tipo 50, em que os ende- reços IP são reconhecidos, porém o SPI associado com o des- tino não aparece na sua tabela interna. Quando isso aconte- ce, a porta enviará o datagrama ao endereço IP de destino que utiliza o novo SPI, e também estabelecerá o valor SPI de destino (SPI-in ou SPI-out, dependendo da direção da trans- missão) na sua tabela no novo valor, e o valor SPI de origem a zero. Ao receber uma resposta para a transmissão, a porta substituirá o zero na tabela de campo SPI com o novo SPI pa- ra o endereço IP de destino. Já que a porta dessa invenção não criptografa nem descriptografa mensagens, mas simples- mente passa a carga útil (que pode ser criptografada ou des- criptografa) através da LAN ou na internet para o processa- mento na máquina de recebimento, ela não exige a funcionali- dade de processamento intensivo e pode ser utilizada para as LANs privadas, em que a despesa e simplicidade da configura- ção e manutenção são consideradas.
Outros objetivos e vantagens da presente invenção podem ser encontrados na descrição de- talhada da realização preferida, quando considerada em con- junção com os desenhos em anexo, nos quais: a figura 1 descreve uma rede privada virtual em que uma LAN remota que utiliza os endereços IP locais é es- tabelecida em rede com um site principal de com- putador através de uma rede externa que pode ser a internet. A LAN estã conectada com a rede ex- terna através de uma rede NAT; a figura 2 descreve um gráfico de decisão utilizado pela porta dessa invenção para processar os datagra- mas UDP recebidos da LAN para transmissão na in- ternet ; a figura 3 descreve um gráfico de decisão de etapas utili- zadas pela porta dessa invenção para processar os datagramas UDP recebidos da internet para en- trega em um dispositivo na LAN; a figura 4 é apresentada para referência na sequência dos gráficos mostrados nas Figuras 5, 6 e 7. A Figu- ra 4 é uma tabela que contém endereços IP de má- quinas locais em uma LAN (L-l até L-3) , os ende- reços IP externos e internos de uma porta e os endereços IP dos dispositivos externos ("alvos" T-l até T-3) em uma rede externa; as figuras 5a-5c mostram campos representativos de uma ta- bela interna da porta que se refere de modo cru- zado aos endereços IP locais das máquinas em uma LAN (L-l, L-2,...L-x) e endereços IP externos de dispositivos externos (T-l até T-3) com SPIs (índices de parâmetro de segurança) utilizados para autenticar os datagramas criptografados. O SPI-out representa o SPI de um datagrama cripto- grafado que deixa a porta para um dispositivo na internet, enquanto o SPI-in representa o SPI de um datagrama criptografado destinado para uma máquina local na LAN. Cada visão da tabela, a, b e c reflete os valores de registro inicial para a origem, destino e SPI em diferentes pontos de tempo. Os valores de mudança significam o início de uma nova sessão através de uma máquina local com uma máquina alvo; a figura 6 mostra campos representativos nos registros ini- ciais do datagrama que são trocados entre uma única máquina local e um único dispositivo na rede externa. Os valores de registro inicial são modificados através do processamento pela porta dessa invenção; a figura 7 mostra os campos representativos nos registros iniciais do datagrama que são trocados entre as três máquinas locais (L-l até L-3) em uma LAN, e três alvos (T-l até T-3) em uma rede externa, conforme eles são modificados através do proces- samento pela porta dessa invenção; e a figura 8 é um diagrama esquemãtico de sinais que passam entre a função de processamento do datagrama e o cronômetro.
Na figura 1, uma rede privada virtual VPN é mostrada, sendo que uma rede de área local privada LAN 10 está conectada a um site de computação 30 lo- calizado na internet 50. A LAN 10 utiliza endereços IP lo- cais e está conectada à internet através da porta de tradu- ção de endereço de rede NAT dessa invenção 20. O site de computação 30 pode ser uma sede de negócios, ou uma de qual- quer número de LANs privadas utilizadas por uma sociedade multinacional, uma dependência educacional, ou qualquer ou- t tro site que seja acessado freqüentemente a partir de locais remotos. Tais sites normalmente terão um firewall ou porta 35 capaz de percorrer a criptografia e outras aplicações de segurança. Tal porta terá a capacidade de abrir um pacote, descriptografã-lo ou de qualquer outra formar acessar seus conteúdos, e realizar a tradução de endereço, encaminhamen- to, desencapsulação, e também funções de manipulação de da- dos. Enquanto tais dispositivos são capazes de suportar o ISAKMP e outros protocolos IPSec, eles realizam isso ao a- brirem e descriptografarem pacotes, e manipularem dados, e são, muito caros e poderosos para serem empregados eficien- temente em sites de LAN remotos que precisam estabelecer uma VPN com o site principal de computação.
Um servidor 40, no site prin- cipal, percorre o software de servidor VPN. Os computadores 15 nos sites remotos percorrem o software do cliente VPN apropriado que executa os protocolos de segurança IPSec em cada computador.
Um computador 15 na LAN 10 se comunicará com dispositivos em ou através da internet pela porta 20 ao enviar um datagrama IP a um servidor 40 no site de computação 30.
Os datagramas recebidos na porta 20 são processados, de acordo com os gráficos de deci- são mostrados nas Figuras 2 e 3. Embora os fluxogramas das Figuras 2 e 3 mostrem ambas etapas de processamento e uma seqüência para as etapas, a ordem para efetuação de alguma das funções não é decisiva, e algumas das etapas podem ser realizadas em uma ordem diferentemente do que é mostrado nos fluxogramas sem produzir efeito no resultado final. Por exem- plo, as figuras 2 e 3 mostram que a primeira etapa após um datagrama ser recebido pela porta é determinar o tipo de da- tagrama, enquanto a última etapa consiste em efetuar a tra- dução do endereço IP que é necessária antes do datagrama ser passado pela porta. Algumas realizações, entretanto, poderí- am ocupar a etapa de tradução de endereço em algum ponto adiante no processo, e isso não afetaria o surgimento do processo. Uma vez que a ordem de tradução do endereço IP não é decisiva para o processo todo, a determinação de quando essa tradução deve ser feita é uma questão de escolha de en- genharia .
Conforme mostrado na figura 2, ao receber um datagrama da LAN, a porta verificará se o da- tagrama está criptografado. Fará isso ao verificar o campo "Próximo Registro Inicial" no registro inicial IP para de- terminar qual o tipo de datagrama que se está conduzindo, e para ver se o datagrama foi criptografado. Um tipo de data- grama de 50 ESP indica que o datagrama é criptografado, e a informação de endereço da porta pode não estar disponível.
Continuando através da árvore de decisão da figura 2, se o datagrama for criptografado, a porta verificará o SPI do datagrama para ver se ele aparece no campo SPI-out da tabela interna da porta. Os campos re- presentativos de tal tabela são mostrados nas figuras 5a-5c.
Se o SPI do datagrama for encontrado no campo SPI-out da ta- bela interna, a porta modificará o endereço IP de origem do datagrama para o endereço IP externo da porta, e enviará o datagrama â rede externa para entrega em um dispositivo ex- terno .
Se o datagrama for criptogra- fado, porém o SPI não aparece na tabela interna da porta, então de acordo com o gráfico de decisão da figura 2, a por- ta admitirá que o datagrama está iniciando uma nova sessão.
Nesse caso, a porta identificará o campo SPI-in de sua tabe- la interna como zero 0 e estabelecerá o SPI-out no novo SPI do datagrama. Essas modificações à tabela interna são refle- tidas nas figuras 5a e 5b, em que um "novo" SPI "14662" que não apareceu no campo SPI-out da tabela interna da porta na figura 5a é mostrado como sendo introduzido no campo SPI- out, e o SPI-in foi identificado como zero 0 na figura 5b. O datagrama criptografado será então enviado à porta externa após o endereço IP de origem ter sido traduzido a partir da- quele dispositivo local ao endereço IP externo da porta. Es- sas etapas são mostradas nas figuras 5b e 5c.
Continuando com o gráfico de decisão da figura 2, se o datagrama não for criptografado, a porta verificará a seguir o endereço de porta de destino do datagrama. Se o endereço de porta não for nada além da Porta 500, a porta introduzira o endereço de porta de origem na sua tabela interna, irá cruzar sua referência com o endereço IP de origem (local), e então substituira um endereço de porta não utilizado e arbitrário no campo de endereço de porta de origem do registro inicial IP. Também introduzirá o novo endereço de porta em sua tabela interna, novamente cru- zará a referência ao endereço IP da origem (local). Esse processo, que é utilizado para os datagramas descriptografa- dos que não possuem a Porta 500 como um endereço de porta, deve ser referido como "tradução de endereço normal" para datagramas que se originam na LAN. Essas traduções são mos- tradas na figura 6, linhas 1 e 2. O datagrama será então en- viado à internet para o encaminhamento no endereço IP de destino.
Na figura 2, aonde os endere- ços de porta de destino e de origem do datagrama de entrada são a Porta 500, a porta deve verificar suas tabelas para ver se a Porta 5 00 jã está ligada a um endereço IP. Se a Porta 500 está livre, então a porta "ligará" a Porta 500 ao endereço IP de origem (local) do datagrama, criará uma asso- ciação entre a porta e o endereço IP de destino (externo), e enviará um sinal para acionar o cronômetro interno. A porta processará também o datagrama ao substituir o endereço IP externo da porta para o endereço IP local no campo de ende- reço IP de origem. Entretanto, não traduzirá o endereço de porta de origem. Ao suspender a tradução "normal" do endere- ço de porta de origem, a porta garante que a máquina alvo será capaz de reconhecer o datagrama como sendo um datagrama ISAKMP. Essas etapas são também mostradas na figura 6, li- nhas 5 e 6.
Na figura 2, se um datagrama de entrada da LAN possui um endereço de porta de destino e de origem da Porta 50 0, porém a Porta 500 jã está ligada a algum outro endereço IP local, então a porta não pode ligar a Porta 500 à mensagem que está sendo processada. Naquele momento, a porta processará o datagrama "normalmente", como se ele não fosse um datagrama ISAKMP. Isto é, traduzirá o endereço da porta de origem do datagrama em um número arbi- trário e traduzirá o endereço IP de origem para aquele ende- reço IP externo da porta. A porta enviará, então, o datagra- ma â internet, aonde ele será rejeitado pelo alvo, porque ele não se adapta a um datagrama ISAKMP. Esse caso é descri- to na figura 7, nas linhas 15 e 16.
Na figura 3, um gráfico de de- cisão é mostrado, resumindo as etapas da porta que seguirão nos datagramas de processamento recebidos da internet. Após o recebimento de um datagrama, a porta verificará, primeira- mente, seu tipo e, se o datagrama for criptografado, verifi- cará se o SPI aparece em sua tabela interna. Se o SPI for reconhecido, seu endereço IP de destino será traduzido para ser o endereço IP do dispositivo local, e o datagrama será passado à LAN para a entrega no dispositivo local. Se o SPI não for reconhecido, a porta verificará, a seguir, se o seu campo SPI-in que corresponde ao endereço IP de origem do da- tagrama é zero 0. Se o SPI-in for zero, a porta admitirá que o datagrama é a primeira resposta de uma nova sessão e subs- tituirá o zero no campo SPI-in com o SPI do datagrama. A porta então traduzirá o endereço IP de destino para o ende- reço IP local do dispositivo na LAN, e enviará o datagrama à LAN para envio. Esse evento é mostrado nas figuras 5b e 5c.
Na figura 5b, o SPI-in para a máquina local L-l foi indicado como zero. Após o recebimento da porta de um datagrama da internet que tem um SPI de 3288, a porta não encontrará a- quele SPI em seu campo SPI-in. A porta verificará, a seguir, se o campo SPI-in está mantido a um valor zero. Após a de- terminação de que o SPI-in para a máquina local L-l é zero, a porta substituirá o zero com o SPI do datagrama "3288" e enviará o datagrama à LAN. Isso é mostrado na figura 5c.
Na figura 3, se o datagrama da internet não for criptografado, a porta verificará se ele possui um endereço de porta de 500. Se ele não possuir, o datagrama passará pela tradução de endereço "normal" para datagramas da rede externa, indicando que o endereço de por- ta local e o endereço IP local do dispositivo na LAN sejam substituídos nos campos de destino do datagrama, e o data- grama será enviado à LAN para envio. Essa tradução de ende- reço "normal" para datagramas da internet é mostrada na fi- gura 6, nas linhas 3 e 4.
Novamente, referindo-se à fi- gura 3, se o datagrama não possui um endereço de porta de 500, a porta deve verificar se a Porta 500 está ligada a um endereço IP local e está associada com o endereço IP da ori- gem (externa) do datagrama. Se estiver, então o datagrama é válido, e ele será passado à LAN após o endereço IP de des- tino ter sido traduzido a partir daquela porta externa ao endereço IP do dispositivo local. Ao passar o datagrama na LAN, a porta liberará a Porta 500. Esse evento é ilustrado na Figura 6, nas linhas 7 e 8.
Se, na figura 3, a Porta 500 for ligada a um endereço IP local, e está associada com um endereço IP externo, ao invés do que encontrado no endereço IP de origem do datagrama, então o datagrama não é válido e não será também processado pela porta. Esse evento pode ser visto na figura 7, nas linhas 25-31. Nas linhas 25 e 26, a máquina local L-l envia um datagrama ISAKMP ao alvo T-l.
Nesse ponto, a Porta 500 é ligada ao endereço IP da máquina local L-l e está associada ao endereço IP de alvo T-l. En- tretanto, conforme mostrado na figura 7, o cronômetro "con- ta" antes que uma resposta seja recebida na porta de T-l, e, na linha 27. A porta 500 é liberada. Nas linhas 28 e 29, a máquina local L-3 envia um datagrama ISAKMP no alvo T-3, li- gando a Porta 500 ao endereço IP da L-3' e criando uma asso- ciação com o endereço IP do T-3. Enquanto a Porta 500 está ligada, uma resposta é recebida do T-l. Entretanto, uma vez que a Porta 500 é ligada, e está associada ao endereço IP do T-3, a resposta do T-l é descartada. Isso é mostrado nas li- nhas 30 e 31 da figura 7.
As figuras 5a-5c descrevem uma tabela interna da porta em que os endereços IP e os números SPI para as comunicações criptografadas entre os computado- res locais e alvos na internet são mantidos. Os campos para "L-1", "L-2", "L-x" e "T-l" até "T-3" são incluídos para re- ferência e não aparecem nas tabelas internas da porta. Na figura 5, o campo "SPI-out" mantém o SPI para cada máquina alvo durante uma sessão segura com um computador específico na LAN. O campo "SPI-in" fornece o SPI correspondente que serã reconhecido pelo computador local, como representando um datagrama válido submetido a ele. A figura 5a mostra a tabela em um tempo inicial. Oito 8 computadores locais par- ticiparam das sessões criptografadas com três alvos, T-l até T-3, durante a duração dos dados da tabela. Isso é mostrado pelo fato de que cada máquina local mostra um SPI-in associ- ado com seu endereço IP. Embora apenas três alvos sejam mos- trados na tabela, pode ser verificado que cada alvo está u- sando um SPI-out diferente para comunicações com cada máqui- na local. Dessa maneira, um alvo identificará de qual fonte um datagrama criptografado foi criado. A figura 5b mostra o mesmo lo- cal e computadores alvos, conforme a figura 5a. Aqui, entre- tanto, o SPI-out para a sessão entre L-l e T-l é um novo SPI, indicando uma nova sessão entre os computadores. A pri- meira indicação da porta de que está ocorrendo uma nova ses- são é o seu recebimento de um datagrama criptografado a par- tir da LAN que possui um SPI-"14662"- que não está nessa ta- bela. A porta envia o datagrama â internet, mas também modi- fica sua tabela, para colocar o novo SPI no campo SPI-out associado com os endereços IP de destino e de origem para aquele datagrama. Ela também atribui um zero no campo SPI-in como um marcador para indicar que um novo SPI-in ê também esperado. A figura 5c mostra que um novo SPI -"32 88" - foi incluindo em um datagrama recebido do T-l. Aquele SPI foi introduzido no campo SPI-in da porta, e também as comunica- ções entre L-l e T-l durante essa sessão utilizarão aqueles SPI-s para autenticarem suas mensagens. A figura 6 demonstra grafica- mente o fluxo dos datagramas representativos através da por- ta dessa invenção por um único computador em uma LAN que se comunica com um alvo remoto na internet. Cada linha do grá- fico representa informação em um datagrama tanto na interfa- ce da LAN com a porta como a interface da internet com a porta. As linhas consecutivas representam os dados que en- tram na porta de um lado e que deixam a porta no outro. A porta possui um endereço IP, que pode ser um endereço IP lo- cal, em sua interface com a LAN, e um endereço IP global em sua interface com a internet. As colunas na figura 6 descre- vem o lado da porta que o datagrama é atravessado, o tipo de datagrama, o endereço IP de origem do datagrama e o endereço de porta, o endereço IP de destino do datagrama e o endereço de porta, e o índice de Parâmetro de Segurança SPI do data- grama para os datagramas criptografados do tipo 50 que uti- lizam o protocolo ESP (Carga de Segurança Encapsulada). A linha 1 da figura 6 mostra um datagrama UDP que entra na interface local da porta, e possui um endereço IP de origem que corresponde ao computa- dor local L-l e a um endereço IP de destino do alvo na in- ternet T-l. Para facilitar a leitura, a figura 4 apresenta uma tabela de endereços IP de referência cruzada com as de- signações locais L-l até L-3 e as designações alvo T-l até T-3. O endereço de porta de origem para L-l é a Porta 6404, e a porta de destino alvo é a Porta 80. Uma vez que o data- grama não é criptografado, e não apresenta um número de por- ta de 500, ele passa por uma tradução normal em que um ende- reço de porta "arbitrário", Porta 10425, é substituído no campo de endereço de porta de origem e o endereço IP externo I da porta é substituído pelo endereço IP de origem do data- grama. Embora o endereço de porta de origem traduzido seja considerado como "arbitrário", ele será, normalmente, o pró- ximo em uma seqüência de uma série de endereços de porta não utilizados atualmente e não reservados mantidos pela porta.
Conforme o datagrama sai da porta, como mostrado na figura 6, na linha 2, a função de tradução de endereço da porta substituiu o endereço IP ex- terno da porta no registro inicial do datagrama para o ende- reço IP de origem, e deu à porta de origem um número arbi- trário. As linhas 3 e 4 mostram o datagrama de resposta do alvo. Na linha 3, um datagrama UDP do alvo mostra o endereço IP de destino como sendo o endereço IP externo da porta, e uma porta de destino como sendo o endereço de porta arbitra- riamente nomeado pela porta. Uma vez que o datagrama não é criptografado e não possui um endereço de porta de 500, o datagrama passa pela tradução normal do endereço de porta de destino e o endereço IP, então, é enviado â LAN. Na linha 4, a porta substituiu o endereço IP local do computador local e o endereço de porta nos campos de destino do registro inici- al antes do envio do datagrama na LAN.
Na linha 5 da figura 6, o com- putador local inicia um protocolo ISAKMP com o alvo. O tipo de datagrama é mostrado como ISAKMP. Tanto os endereços de porta de destino como de origem são a Porta 500. Quando a porta determina que o endereço de porta de destino é a Porta 500, ela verifica se a Porta 500 estã atualmente ligada a qualquer endereço IP. Uma vez que não está, a porta passa o datagrama, traduzindo apenas o campo de endereço IP de ori- gem para mostrar o endereço IP externo da porta, mas sem al- terar o endereço de porta de origem.
Na figura 6, as linhas 5-16 mostram as seis trocas padrões de datagrama de "sinais de estabelecimento de comunicação" ISAKMP para estabelecer os SAs (Associações de Segurança) para suportar os datagramas completamente autenticados e criptografados. Embora alguns modos de ISAKMP utilizem poucas trocas, o modo principal é descrito na Figura 6. Após o estabelecimento dos SAs, o com- putador local e o alvo começam a ser comunicar utilizando os datagramas criptografados do protocolo ESP. Aqui, a validade do datagrama é mantida através da utilização dos números do índice de Parâmetro de Segurança - SPI - em um campo SPI do registro inicial do datagrama. Cada host reconhece um data- grama "endereçado" nesse SPI, que pode ser modificado duran- te uma sessão através da concordância mútua dos hosts, con- forme necessário para garantir a segurança contínua. Quando um datagrama criptografado passa através da porta, conforme descrito na figura 6, linhas 17 e 18, nem o SPI de origem nem o de destino é modificado pela porta, embora o endereço IP da origem do datagrama seja traduzido para ser o endereço IP externo da porta.
Portanto, quando um datagrama criptografado é recebido pela porta, ele será indicado atra- vés de um datagrama do tipo 50 ESP. Após o encontro do tipo do datagrama, a porta verificará o índice de Parâmetro de Segurança SPI do datagrama para ver ser aquele SPI está re- I , gistrado em sua tabela interna. Se ele estiver, a porta tra- duzirá o endereço IP de destino ou de origem do datagrama, conforme apropriado, e enviará o datagrama à LAN ou à inter- net, dependendo da direção da transmissão. Entretanto, se o SPI de um datagrama da LAN não aparece na tabela interna da porta, e a origem e destino são endereços IP reconhecidos, a porta admitirá que uma nova sessão tenha sido iniciada. Nes- se caso, passará o datagrama na rede externa que deixa o no- vo SPI intacto, mas registrando o novo SPI no campo "SPI- out" de sua tabela interna e atribuindo um zero no campo "SPI-in". Nas linhas 25 e 28, pode ser verificado que um no- vo SPI apareceu, o que significa uma nova sessão. Esse even- to corresponde à figura 5b, aonde o "0" no campo "SPI-in" corresponde ao novo SPI-out de "14662". Nas linhas 27 e 28, o pacote de resposta da rede externa mostra que o SPI "9802" "antigo" foi substituído pelo "novo" SPI "3288" . A figura 7 é similar à figura 6, exceto pelo fato de que ilustra a passagem através da porta dessa invenção de datagramas entre os três computado- res em uma LAN, indicados L-l, L-2 e L-3, e três alvos na internet que possuem endereços IP globais únicos, T-l,T-2 e T-3. Na Figura 4, para a facilidade de referência, uma tabe- la que contém os endereços IP desses dispositivos é forneci- da. Conforme mostrado na figura 7, uma transmissão indicada "L-l out" representa uma transmissão do computador local L-l na porta. O "T-l in" representa uma transmissão da porta no alvo T-l. O "T-l out" representa uma transmissão do alvo T-l na porta, enquanto o "L-l in" representa uma transmissão da porta no computador L-l.
Conforme mostrado nas linhas 1-8 da figura 7, os computadores L-l e L-2 conduzem comuni- cações "claras" com alvos T-l e T-2. Na linha 9, o L-l ini- cia uma sessão ISAKMP com o T-l. As linhas 9-14 mostram as primeiras três mensagens trocadas entre L-l e T-l durante o protocolo ISAKMP. Na linha 15, o computador L-3 inicia uma troca de mensagem de ISAKMP-1 com T-3. Entretanto, naquele momento, a Porta 500 está ligada ao L-l e está associada com o endereço IP de T-l, esperando uma resposta ISAKMP-4 do T-l.
Nessa situação, o datagrama do L-3 não pode ligar a Porta 500, e seu endereço de porta de origem serã traduzido. Como tal, o L-3 não pode completar a transmissão que foi iniciada na linha 15.
Portanto, nas linhas 17-18, a resposta T-l ISAKMP-4 é recebida na porta e enviada ao L-l, e a Porta 500 torna-se imediatamente disponível. Portanto, quando o L-3 tenta novamente sua transmissão ISAKMP-1 na li- nha 19, a transmissão é realizada com êxito.
Nas linhas 19-20 da figura 7, a transmissão ISAKMP-1 do L-3 liga a Porta 500 ao endereço IPnoL-3. Portanto, quando o L-l tenta sua transmissão ISAKMP-5, nas linhas 21-22, a Porta 500 não está disponível, e a porta simplesmente traduz o endereço de porta de destino da Porta 500 em um número de porta "arbitrário" - nesse caso, "9063" - e envia o datagrama para a internet, aonde o alvo T-l não reconhecerá isso como um datagrama ISAKMP. Entretanto, após o L-3 liberar a Porta 500, nas linhas 23-24, a próxima ten- tativa do L-l para enviar sua transmissão ISAKMP-5 é recebida com o êxito pelo T-l. Entretanto, a resposta do T-l é lenta, na linha 27. A porta 500 é liberada de sua ligação em L-l,e, nas linhas 28-29, é imediatamente presa pelo L-3 para uma transmissão ISAKMP-3. Portanto, quando a resposta ISAKMP-6 do T-l chega na porta, conforme é mostrado nas linhas 30 e 31, a Porta 500 é bloqueada, e o datagrama é ignorado. Por- tanto, o L-l, não recebeu uma resposta para sua mensagem ISAKMP-5 , isso é retransmitido às linhas 34-35, e uma resposta do T-l é recebida nas linhas 36-37. Após os sinais de estabeleci- mento de comunicação do ISAKMP, o L-l e o T-l podem se comu- nicar de modo seguro, utilizando o protocolo ESP nas linhas 38-39 e 42-43.
As linhas 38-57 da figura 7 demonstram o manuseamento da porta de uma variedade de data- gramas entre um número de computadores locais e alvos. Os datagramas UDP são mostrados nas linhas 40-41, os datagramas ESP são mostrados nas linhas 42-43 e 52-53 e os datagramas ISAKMP são mostrados nas linhas 44-45. Enquanto o gráfico da figura 7 mostra diferentes endereços IP para cada dispositi- vo, na prática, pode ocorrer que um número de processos pas- sarã pelo mesmo dispositivo. A substituição das portas de origem únicas pela porta e a utilização do SPI's para dife- renciar as transmissões criptografadas garantem que os data- gramas que procedem de múltiplos processos que percorrem uma única máquina não serão direcionados erroneamente. A figura 8 descreve o início e transferência dos sinais entre o circuito de processamento de datagrama 100 e o cronômetro 110. Além da ocorrência de um evento que requer que um endereço de porta seja ligado a um endereço IP, um sinal 120 será enviado ao cronômetro para iniciar a contagem. Na expiração do intervalo apropriado, o cronômetro enviará um sinal 140 que indica que o tempo expi- rou, em tal caso qualquer porta que estã ligada será libera- da. No intervalo, se um datagrama esperado chegar, e uma porta previamente ligada for liberada, um sinal de inabili- tação 130 será enviado ao cronômetro que indica que o conta- dor deveria ser restaurado para esperar o próximo sinal a ser contado. Obviamente, há inúmeros circuitos de tempo co- nhecidos na técnica, e a configuração específica mostrada na Figura 8 é apenas uma de muitas realizações possíveis. A partir do anteriormente men- cionado, será entendido por aqueles especializados na técni- ca que a realização preferida descrita aqui não ê o único meio para a prática da invenção, e que outras realizações podem ser escolhidas na prática da invenção sem se desviar do seu âmbito e caráter. Por exemplo, embora a realização preferida seja descrita com referência à Porta 500, que foi re- servada exclusivamente para utilização com o protocolo ISAKMP, a invenção pode ser empregada da mesma maneira para o pro- cessamento dos datagramas destinados a outros endereços de porta que podem no futuro ser designados a outros processos ou protocolos. Em particular, muitos jogos na internet re- querem a utilização de portas específicas nas máquinas lo- cais e externas que não se opõem à tradução de endereço nor- mal. Adicionalmente, embora a invenção tenha sido descrita, principalmente, de acordo com as comunicações entre uma LAN privada e a internet, serã claro que a porta dessa invenção pode ser utilizada em qualquer interface entre duas redes e terá a mesma funcionalidade, conforme foi descrito.
As reivindicações anexadas aqui são para abranger as modificações e mudanças dentro do âmbi- to e caráter da presente invenção.

Claims (9)

1. "PORTA DE TRADUÇÃO DE ENDEREÇO DE REDE", conectando uma LAN (10) a uma rede externa, a referida LAN (10) utilizando endereços IP locais, a referida porta com um endereço que pode ser visto por dispositivos na referida LAN (10) e tendo um endereço IP externo que pode ser visto por dispositivos na referida rede externa, a referida porta compreendendo: uma pluralidade de tabelas internas, associando as combinações de endereços IP locais de dispositivos locais na referida LAN (10), endereços de IP externos de dispositivos externos na referida rede externa, valores de SPI - Internos e SPI - Externos, endereços de porta de origem, endereços de porta de destino, endereços de porta reservada e mantendo uma lista de endereços de portas reservadas, caracterizada por: meios para a realização de tradução normal do endereço sobre datagramas, passando da referida LAN (10) para a referida rede externa e datagramas passando da referida rede externa para a referida LAN (10), meios para a entrega de um datagrama de um dispositivo local na referida LAN (10) para um dispositivo externo na referida rede externa ao receber um datagrama de um dispositivo local na referida LAN (10) destinada a entregar um dispositivo externo na referida rede externa e determinar se o endereço de porta de destino para o referido datagrama está incluído na referida lista de endereços de portas reservadas e, se o referido endereço da porta de destino não estiver incluído na lista de endereços de portas reservadas, realizar tradução normal do endereço sobre o referido datagrama e passar o referido datagrama para a referida rede externa para roteamento e entrega ao referido dispositivo externo, e se o referido endereço da porta de destino estiver incluído na referida lista de endereços de portas reservadas, determinar se o endereço da porta de destino está vinculado ao referido endereço IP local do referido dispositivo local e, se o referido endereço de porta de destino estiver vinculado ao referido endereço IP local, realizar tradução normal do referido endereço sobre o referido datagrama e passar o referido datagrama para a referida rede externa para roteamento e entrega ao referido dispositivo externo, e se o referido endereço da porta de destino não estiver ligado ao referido endereço IP local do referido dispositivo local, modificar o referido endereço IP de origem do referido datagrama para ser o referido endereço IP externo da referida porta, vincular o referido endereço da porta de destino ao referido endereço IP local do referido dispositivo local,criar uma associação entre o referido endereço da porta de destino e o referido endereço IP externo do referido dispositivo externo e,passar o referido datagrama para a referida rede externa para roteamento e entrega ao referido dispositivo externo.
2. "PORTA DE TRADUÇÃO DE ENDEREÇO DE REDE", de acordo com a reivindicação 1, caracterizada por os meios para a entrega de um datagrama de um dispositivo local na referida LAN (10) a um dispositivo externo compreenderem, ainda, um meio para determinar se o referido datagrama é criptografado e, se o referido datagrama for criptografado, determinar se o SPI do referido datagrama é gravado no campo Externo - SPI, na referida tabela interna e, se o referido SPI for gravado no referido campo Externo - SPI, modificar o endereço IP de origem do referido datagrama para ser o referido endereço IP externo da referida porta e passar o referido datagrama para a referida rede externa para roteamento e entrega ao referido dispositivo externo.
3. "PORTA DE TRADUÇÃO DE ENDEREÇO DE REDE", de acordo com a reivindicação 2, caracterizada por compreender, ainda, se o referido SPI não estiver gravado no referido campo Interno - SPI da referida tabela interna, meios para a criação de um campo interno - SPI correspondente ao endereço IP local do referido dispositivo local igual a zero e configurar o referido campo Externo - SPI igual ao referido SPI, modificando o referido endereço IP de origem do referido datagrama para ser o referido endereço IP externo da referida porta e passar o referido datagrama para a referida rede externa para roteamento e entrega ao referido dispositivo externo.
4 . "PORTA DE TRADUÇÃO DE ENDEREÇO DE REDE", de acordo com a reivindicação 1, caracterizada por a porta de tradução de endereço de rede compreender, ainda, meios para a entrega de um datagrama de um referido dispositivo externo a um referido dispositivo local ao receber um datagrama de um referido dispositivo externo na referida rede externa prevista para entregar ao referido dispositivo local na referida LAN (10), meios para determinar se o referido datagrama é criptografado e, se o referido datagrama for criptografado, determinar se a SPI do datagrama é gravada no referido campo Interno - SPI da referida tabela interna e, se o referido SPI for gravado no referido campo Interno - SPI, modificar o endereço IP destino do referido datagrama para ser o referido endereço IP local do referido dispositivo local e passar o referido datagrama para a referida LAN (10) para roteamento e entrega do referido dispositivo local, e, se o referido SPI não for registrado no referido campo Interno - SPI da referida tabela interna, determinar se o referido campo Interno - SPI., correspondente ao referido endereço IP do referido dispositivo externo, é igual a zero e, se o referido campo Interno - SPI não for igual a zero, descartar o referido datagrama e , se o referido campo Interno - SPI for igual a zero, configurar o referido campo Interno - SPI igual o referido SPI, modificando o endereço IP de destino do referido datagrama para ser o referido endereço IP local do referido dispositivo local e passar o referido datagrama para a referida LAN (10) para entrega ao referido dispositivo local e, se o referido datagrama não estiver criptografado, determinar se o endereço da porta de destino para o referido datagrama está incluída na referida lista de endereços de portas reservadas e, se o referido endereço da porta de destino não estiver incluído na lista de endereços de portas reservadas, realizar tradução de endereço normal sobre o referido datagrama e passar o referido datagrama para a referida LAN (10) para entrega a um referido dispositivo local e, se o referido endereço da porta de destino estiver incluído na lista de endereços de portas reservadas, determinar se o referido endereço da porta de destino está vinculado ao endereço IP local do referido dispositivo local, se o referido endereço da porta de destino não estiver ligado ao referido endereço IP local, descartar o referido datagrama e, se o referido endereço da porta de destino estiver vinculado ao referido endereço IP local, modificar o referido endereço IP de destino do referido datagrama para ser o referido endereço IP local do referido dispositivo local, desvinculando o referido endereço IP local do referido endereço IP local, e passar o referido datagrama para uma referida LAN (10) para entrega ao referido dispositivo local.
5. "PORTA DE TRADUÇÃO DE ENDEREÇO DE REDE", de acordo com a reivindicação 1, compreendendo, ainda, um cronômetro (110), caracterizado por, após receber um sinal (120) de que um endereço de porta vinculou-se a um endereço IP, o referido cronômetro (110) começar a cronometrar por um período pré-determinado de tempo e, após a expiração do referido período pré- determinado de tempo, enviar um sinal (140) fazendo o referido endereço da porta desvincular-se do referido endereço IP e, ao receber um sinal (130) indicando que o referido endereço da porta desvinculou-se do referido endereço IP antes da expiração do referido período pré- determinado de tempo, o referido cronômetro (110) parar a cronometragem e reiniciar.
6. "PORTA DE TRADUÇÃO DE ENDEREÇO DE REDE", de acordo com a reivindicação 1, caracterizada por a referida rede externa ser a internet (50) .
7. "PORTA DE TRADUÇÃO DE ENDEREÇO DE REDE", de acordo com a reivindicação 6, caracterizada por a referida LAN (10) ser uma rede privada virtual.
8. "MÉTODO DE PROCESSAMENTO DE DATAGRAMAS IP", a partir de um dispositivo local em uma LAN (10), utilizando endereços IP locais através de um porta de tradução de rede para um dispositivo externo em uma rede externa, compreendendo as etapas de: manutenção de uma pluralidade de tabelas, associando endereços IP locais de dispositivos locais na referida LAN (10), endereços IP externos de dispositivos externos na referida rede externa, endereços das portas dos referidos dispositivos locais, endereços das portas dos referidos dispositivos externos, valores SPI - Internos, valores SPI - Externos e endereços das portas reservadas e uma lista de endereços de portas reservadas, caracterizado por: receber um datagrama da referida LAN (10), determinar se o endereço da porta de destino para o referido datagrama está incluído na referida tabela de endereços da porta reservada e, se o referido endereço da porta de destino não estiver incluído na referida tabela de endereços de portas reservadas, realizar a tradução normal de endereço sobre o referido datagrama e passar o referido datagrama para a referida rede externa, para roteamento e entrega ao referido dispositivo externo, e se o referido endereço de porta de destino estiver incluído na referida tabela de endereços de porta reservada, determinar se o referido endereço da porta de destino está vinculado a um endereço IP e se a referida porta de destino estiver vinculada a um endereço IP, realizar a tradução normal do endereço sobre o referido datagrama e passar o referido datagrama para a referida rede externa, para roteamento e entrega ao referido dispositivo externo, e se o referido endereço da porta de destino não estiver vinculado a um endereço IP, modificar o referido endereço IP da fonte para ser o referido endereço IP externo para o referido dispositivo externo, vinculando o referido endereço da porta de destino ao endereço IP local do referido dispositivo local e criando uma associação entre o referido endereço da porta de destino e o referido endereço IP externo do referido dispositivo externo, e passando o referido datagrama para a referida rede externa, para rot.eamento e entrega ao referido dispositivo externo.
9. "MÉTODO DE PROCESSAMENTO DE DATAGRAMAS IP", de acordo com a reivindicação 8, caracterizado por compreender, ainda, as etapas de: determinar se o referido datagrama está criptografado e se o referido datagrama estiver criptografado, determinar se o SPI no referido datagrama foi gravado no campo Externo - SPI de uma das referidas pluralidTades das tabelas internas e se o referido SPI foi gravado no referido campo Externo - SPI da .referida tabela interna, modificar o endereço IP de origem para ser o endereço IP externo da referida porta porta que passa o referido datagrama para a referida rede externa, para roteamento e entrega ao referido dispositivo externo, e se o referido SPI não foi registrado no referido campo Externo - SPI da referida tabela interna, configurar o referido campo Externo - SPI correspondente ao endereço IP do referido dispositivo externo igual ao referido SPI e definir o campo Interno - SPI da referida tabela interna para zero, modificando o referido endereço IP de origem para ser o referido endereço IP externo da referida porta, e passar o referido datagrama para a referida rede externa,para roteamento e entrega ao referido dispositivo externo".T
BRPI0109033-0A 2000-03-03 2001-02-27 Porta de tradução de endereço de rede e método de processamento de datagramas ip BR0109033B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/518,399 2000-03-03
US09/518,399 US7058973B1 (en) 2000-03-03 2000-03-03 Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses
PCT/US2001/006257 WO2001067258A1 (en) 2000-03-03 2001-02-27 Network address translation gateway for local area networks using local ip addresses and non-translatable port addresses

Publications (2)

Publication Number Publication Date
BR0109033A BR0109033A (pt) 2003-06-03
BR0109033B1 true BR0109033B1 (pt) 2015-03-10

Family

ID=24063767

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0109033-0A BR0109033B1 (pt) 2000-03-03 2001-02-27 Porta de tradução de endereço de rede e método de processamento de datagramas ip

Country Status (14)

Country Link
US (3) US7058973B1 (pt)
EP (2) EP1259886B1 (pt)
JP (2) JP4634687B2 (pt)
KR (2) KR100798660B1 (pt)
CN (2) CN1209712C (pt)
AT (1) ATE315860T1 (pt)
AU (1) AU2001243311B2 (pt)
BR (1) BR0109033B1 (pt)
CA (1) CA2401103C (pt)
DE (1) DE60116610T2 (pt)
MX (1) MXPA02008626A (pt)
RU (1) RU2241252C2 (pt)
TW (1) TW494301B (pt)
WO (1) WO2001067258A1 (pt)

Families Citing this family (162)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107614B1 (en) 1999-01-29 2006-09-12 International Business Machines Corporation System and method for network address translation integration with IP security
US7058973B1 (en) * 2000-03-03 2006-06-06 Symantec Corporation Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses
JP3636095B2 (ja) * 2000-05-23 2005-04-06 インターナショナル・ビジネス・マシーンズ・コーポレーション Vpn接続のセキュリティ
US20050198379A1 (en) 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US20030009561A1 (en) * 2001-06-14 2003-01-09 Sollee Patrick N. Providing telephony services to terminals behind a firewall and /or network address translator
US7900042B2 (en) * 2001-06-26 2011-03-01 Ncipher Corporation Limited Encrypted packet inspection
US7769865B1 (en) * 2001-10-16 2010-08-03 Sprint Communications Company L.P. Configuring computer network communications in response to detected firewalls
US20030079000A1 (en) * 2001-10-19 2003-04-24 Chamberlain Robert L. Methods and apparatus for configuring multiple logical networks of devices on a single physical network
US7159109B2 (en) * 2001-11-07 2007-01-02 Intel Corporation Method and apparatus to manage address translation for secure connections
KR100449809B1 (ko) * 2001-12-27 2004-09-22 한국전자통신연구원 다중 보안 서비스를 제공하는 개선된 아이피 계층에서의패킷 보호 방법
JP2003204326A (ja) 2002-01-09 2003-07-18 Nec Corp 通信システムと暗号処理機能付きlan制御装置、及び通信制御プログラム
KR20030062106A (ko) * 2002-01-16 2003-07-23 한국전자통신연구원 가상 사설망으로부터 데이터 패킷을 수신하는 방법 및 장치
EP1331785B1 (en) * 2002-01-23 2005-04-20 Sony International (Europe) GmbH A method for enabling the negotiation of end-to-end QoS by using the end-to-end negotiation protocol (E2ENP)
JP4010830B2 (ja) * 2002-03-05 2007-11-21 富士通株式会社 通信装置およびネットワークシステム
US7243368B2 (en) * 2002-03-29 2007-07-10 Hewlett-Packard Development Company, L.P. Access control system and method for a networked computer system
US7558873B1 (en) 2002-05-08 2009-07-07 Nvidia Corporation Method for compressed large send
US7676579B2 (en) * 2002-05-13 2010-03-09 Sony Computer Entertainment America Inc. Peer to peer network communication
US7243141B2 (en) * 2002-05-13 2007-07-10 Sony Computer Entertainment America, Inc. Network configuration evaluation
CN100433667C (zh) * 2002-05-29 2008-11-12 华为技术有限公司 网络地址转换中私网用户访问资源分配方法
GB2413248B (en) * 2002-06-13 2006-06-21 Nvidia Corp Method and apparatus for enhanced security for communication over a network
US7191331B2 (en) 2002-06-13 2007-03-13 Nvidia Corporation Detection of support for security protocol and address translation integration
US7120930B2 (en) 2002-06-13 2006-10-10 Nvidia Corporation Method and apparatus for control of security protocol negotiation
GB2418821B (en) * 2002-06-13 2006-08-09 Nvidia Corp Method and apparatus for enhanced security for communication over a network
US7143137B2 (en) * 2002-06-13 2006-11-28 Nvidia Corporation Method and apparatus for security protocol and address translation integration
US7143188B2 (en) 2002-06-13 2006-11-28 Nvidia Corporation Method and apparatus for network address translation integration with internet protocol security
JP3564117B2 (ja) 2002-07-01 2004-09-08 株式会社バッファロー 無線lan装置
KR100878764B1 (ko) * 2002-07-06 2009-01-14 삼성전자주식회사 사용자의 익명성보장을 위한 무선 랜 시스템 및 사용자의익명성 보장방법
US7437548B1 (en) 2002-07-11 2008-10-14 Nvidia Corporation Network level protocol negotiation and operation
JP4056849B2 (ja) * 2002-08-09 2008-03-05 富士通株式会社 仮想閉域網システム
US6826627B2 (en) 2002-09-03 2004-11-30 Burnbag, Ltd. Data transformation architecture
FR2844949B1 (fr) * 2002-09-24 2006-05-26 Radiotelephone Sfr Procede de gestion d'une configuration d'une passerelle par un utilisateur de la passerelle
CZ298394B6 (cs) * 2002-10-01 2007-09-19 Anect A. S. Komunikacní infrastruktura spolupracující korporace
KR100479261B1 (ko) 2002-10-12 2005-03-31 한국전자통신연구원 네트워크 주소 변환 상에서의 데이터 전송 방법 및 장치
TWI220344B (en) * 2002-10-23 2004-08-11 Winbond Electronics Corp Manufacture and method for accelerating network address translation
US7921285B2 (en) * 2002-12-27 2011-04-05 Verizon Corporate Services Group Inc. Means of mitigating denial of service attacks on IP fragmentation in high performance IPsec gateways
US7290134B2 (en) * 2002-12-31 2007-10-30 Broadcom Corporation Encapsulation mechanism for packet processing
CN1311664C (zh) * 2003-03-05 2007-04-18 华为技术有限公司 在分布式网络交换系统中实现的端口捆绑方法
US7634805B2 (en) * 2003-03-05 2009-12-15 Microsoft Corporation Use of network address translation for implementation of stateful routing
DE10310351A1 (de) 2003-03-10 2004-09-23 Giesecke & Devrient Gmbh Laden von Mediendaten in einen tragbaren Datenträger
CN100356743C (zh) * 2003-06-03 2007-12-19 华为技术有限公司 网关地址和网络地址转换地址池中地址重叠的实现方法
CN1331328C (zh) * 2003-06-06 2007-08-08 华为技术有限公司 一种基于身份认证的地址转换方法
CN100356752C (zh) * 2003-06-14 2007-12-19 华为技术有限公司 一种网络地址资源的利用方法
US20050021839A1 (en) * 2003-06-23 2005-01-27 Russell Thomas C. Method and apparatus for providing a selectively isolated equipment area network for machine elements with data communication therebetween and with remote sites
US7620070B1 (en) 2003-06-24 2009-11-17 Nvidia Corporation Packet processing with re-insertion into network interface circuitry
US7913294B1 (en) 2003-06-24 2011-03-22 Nvidia Corporation Network protocol processing for filtering packets
KR100568178B1 (ko) 2003-07-18 2006-04-05 삼성전자주식회사 게이트웨이 장치 및 그 제어방법
CN1571440A (zh) * 2003-07-25 2005-01-26 中兴通讯股份有限公司 一种跨越私网实现多媒体呼叫的系统和方法
JP2005051473A (ja) * 2003-07-28 2005-02-24 Sony Corp ネットワーク相互接続装置及びネットワーク相互接続方法、名前解決装置、並びにコンピュータ・プログラム
CN100463551C (zh) * 2003-08-14 2009-02-18 中兴通讯股份有限公司 一种在移动通信系统中实现加密通信的系统和方法
CN100359893C (zh) * 2003-08-28 2008-01-02 华为技术有限公司 以主机代理方式实现地址转换应用网关的方法
US8687485B1 (en) * 2003-09-12 2014-04-01 Rockstar Consortium USLP Method and apparatus for providing replay protection in systems using group security associations
CN1317874C (zh) * 2003-09-27 2007-05-23 财团法人资讯工业策进会 提供虚拟主机服务快速查询置换的网络地址端口转换网关器与方法
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
CN100454882C (zh) * 2003-12-19 2009-01-21 华为技术有限公司 多isp局域网的出口选择方法及装置
US7992199B1 (en) * 2003-12-31 2011-08-02 Honeywell International Inc. Method for permitting two parties to establish connectivity with both parties behind firewalls
EP1562346A1 (en) * 2004-02-06 2005-08-10 Matsushita Electric Industrial Co., Ltd. Method and system for reliably disconnecting IPSec security associations
US7895648B1 (en) * 2004-03-01 2011-02-22 Cisco Technology, Inc. Reliably continuing a secure connection when the address of a machine at one end of the connection changes
US8186026B2 (en) * 2004-03-03 2012-05-29 Rockstar Bidco, LP Technique for maintaining secure network connections
US8738159B2 (en) * 2004-03-15 2014-05-27 Siemens Industry, Inc. System and method for accessing PLC data on demand
EP1615372B1 (en) * 2004-04-05 2013-12-18 Nippon Telegraph And Telephone Corporation Packet cryptographic processing proxy apparatus, method therefor and recording medium for program
US7422152B2 (en) 2004-05-13 2008-09-09 Cisco Technology, Inc. Methods and devices for providing scalable RFID networks
FI20045234A0 (fi) * 2004-06-21 2004-06-21 Nokia Corp Datan lähetys viestintäjärjestelmässä
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
EP2264956B1 (en) * 2004-07-23 2017-06-14 Citrix Systems, Inc. Method for securing remote access to private networks
JP2008507928A (ja) 2004-07-23 2008-03-13 サイトリックス システムズ, インコーポレイテッド ネットワークノード間の通信を最適化するためのシステムおよび方法
CA2576569A1 (en) 2004-08-13 2006-02-23 Citrix Systems, Inc. A method for maintaining transaction integrity across multiple remote access servers
CN1756259B (zh) * 2004-09-27 2011-04-20 国际商业机器公司 因特网协议网络中使用网络地址翻译的方法和系统
TWI253818B (en) * 2004-10-29 2006-04-21 Benq Corp Transparent address translation methods
US8458467B2 (en) * 2005-06-21 2013-06-04 Cisco Technology, Inc. Method and apparatus for adaptive application message payload content transformation in a network infrastructure element
US7664879B2 (en) * 2004-11-23 2010-02-16 Cisco Technology, Inc. Caching content and state data at a network element
US7987272B2 (en) 2004-12-06 2011-07-26 Cisco Technology, Inc. Performing message payload processing functions in a network element on behalf of an application
US7725934B2 (en) 2004-12-07 2010-05-25 Cisco Technology, Inc. Network and application attack protection based on application layer message inspection
US8082304B2 (en) * 2004-12-10 2011-12-20 Cisco Technology, Inc. Guaranteed delivery of application layer messages by a network element
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
WO2006072052A2 (en) 2004-12-31 2006-07-06 Anonymizer, Inc. System for protecting identity in a network environment
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
AU2005325674A1 (en) 2005-01-24 2006-08-03 Citrix Systems, Inc. Systems and methods for performing caching of dynamically generated objects in a network
CN100414929C (zh) * 2005-03-15 2008-08-27 华为技术有限公司 一种移动互联网协议网络中的报文传送方法
US7703124B2 (en) * 2005-03-31 2010-04-20 Hewlett-Packard Development Company, L.P. System and method for implementing a private virtual backbone on a common network infrastructure
JP4768324B2 (ja) * 2005-06-07 2011-09-07 株式会社東芝 無線通信機器
US8266327B2 (en) * 2005-06-21 2012-09-11 Cisco Technology, Inc. Identity brokering in a network element
EP1907841B1 (en) * 2005-06-22 2009-08-05 The Johns Hopkins University Biomarker for ovarian cancer: ctap3-related proteins
IES20050439A2 (en) * 2005-06-30 2006-08-09 Asavie R & D Ltd A method of network communication
KR100799575B1 (ko) * 2005-12-07 2008-01-30 한국전자통신연구원 IPv6 네트워크에서 이동노드에게 VPN 서비스를제공하는 방법 및 이를 위한 게이트웨이
US7345585B2 (en) 2005-08-01 2008-03-18 Cisco Technology, Inc. Network based device for providing RFID middleware functionality
US7672289B2 (en) * 2005-08-09 2010-03-02 Mitsubishi Electric Research Laboratories, Inc. Method for defining, allocating and assigning addresses in ad hoc wireless networks
US20070079366A1 (en) * 2005-10-03 2007-04-05 Microsoft Corporation Stateless bi-directional proxy
US20070088815A1 (en) * 2005-10-13 2007-04-19 Kenneth Ma Automated setup and test confirmation of dynamic DNS service
CN100477671C (zh) * 2005-12-16 2009-04-08 中国科学院计算技术研究所 Pat模式下支持多会话应用层协议的网络地址转换方法
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
CN101047711B (zh) * 2006-04-27 2010-08-18 华为技术有限公司 Ip报文传输、协商带宽节省能力和节省网络带宽的方法
US7797406B2 (en) * 2006-07-27 2010-09-14 Cisco Technology, Inc. Applying quality of service to application messages in network elements based on roles and status
US7539189B2 (en) * 2006-08-01 2009-05-26 Cisco Technology, Inc. Apparatus and methods for supporting 802.1X in daisy chained devices
US8079077B2 (en) * 2006-08-08 2011-12-13 A10 Networks, Inc. System and method for distributed multi-processing security gateway
CN101155183B (zh) * 2006-09-29 2012-02-08 松下电器产业株式会社 处理巢状网际网络安全协议信道的方法及网络装置
JP4708297B2 (ja) * 2006-09-29 2011-06-22 富士通テレコムネットワークス株式会社 IPsecの複数セッションを処理する通信装置
US8095786B1 (en) * 2006-11-09 2012-01-10 Juniper Networks, Inc. Application-specific network-layer virtual private network connections
CN100525251C (zh) * 2006-11-30 2009-08-05 中国科学院计算技术研究所 一种网络地址转换方法
CN101072102B (zh) * 2007-03-23 2010-10-06 南京联创科技集团股份有限公司 网络环境下基于安全桌面的信息防泄漏技术
US8621552B1 (en) * 2007-05-22 2013-12-31 Skybox Security Inc. Method, a system, and a computer program product for managing access change assurance
US7729366B2 (en) * 2007-10-03 2010-06-01 General Instrument Corporation Method, apparatus and system for network mobility of a mobile communication device
CN101227494B (zh) * 2008-01-09 2013-06-12 中兴通讯股份有限公司 接入多分组数据网时因特网安全协议安全联盟的建立方法
US7817636B2 (en) * 2008-01-30 2010-10-19 Cisco Technology, Inc. Obtaining information on forwarding decisions for a packet flow
KR20090092503A (ko) * 2008-02-27 2009-09-01 주식회사 휴커넥스 하나의 아이피 주소로 복수의 아이피 장비들을 지원할 수있는 멀티포트 장치
US8228848B2 (en) * 2008-11-17 2012-07-24 Sierra Wireless, Inc. Method and apparatus for facilitating push communication across a network boundary
US8924486B2 (en) * 2009-02-12 2014-12-30 Sierra Wireless, Inc. Method and system for aggregating communications
GB2478470B8 (en) 2008-11-17 2014-05-21 Sierra Wireless Inc Method and apparatus for network port and netword address translation
US20100235689A1 (en) * 2009-03-16 2010-09-16 Qualcomm Incorporated Apparatus and method for employing codes for telecommunications
US8874785B2 (en) * 2010-02-15 2014-10-28 Damaka, Inc. System and method for signaling and data tunneling in a peer-to-peer environment
US8356087B1 (en) 2010-08-24 2013-01-15 Amazon Technologies, Inc. Automatically configuring virtual private networks
US20120269059A1 (en) * 2010-10-19 2012-10-25 Qualcomm Incorporated Methods and apparatus for contemporaneously providing quality of service functionality and local ip access
US9143480B2 (en) * 2011-01-10 2015-09-22 Secure Global Solutions, Llc Encrypted VPN connection
US9258271B1 (en) * 2011-01-13 2016-02-09 Google Inc. Network address translation for virtual machines
US9037724B2 (en) 2011-02-08 2015-05-19 Sierra Wireless, Inc. Method and system for forwarding data between network devices
CN103299284B (zh) * 2011-04-29 2016-01-20 中天安泰(北京)信息技术有限公司 数据安全读取方法及装置
US8838735B2 (en) 2011-06-28 2014-09-16 At&T Intellectual Property I, L.P. Methods, systems, and products for address translation in residential networks
US8438240B2 (en) * 2011-09-27 2013-05-07 Cloudflare, Inc. Distributing transmission of requests across multiple IP addresses of a proxy server in a cloud-based proxy service
US8621038B2 (en) 2011-09-27 2013-12-31 Cloudflare, Inc. Incompatible network gateway provisioned through DNS
US9258272B1 (en) * 2011-10-21 2016-02-09 Juniper Networks, Inc. Stateless deterministic network address translation
US9178846B1 (en) * 2011-11-04 2015-11-03 Juniper Networks, Inc. Deterministic network address and port translation
KR20130052240A (ko) * 2011-11-11 2013-05-22 삼성전자주식회사 네트워크 주소 변환기 통과 기법을 프로비저닝하기 위한 방법 및 장치
CN103139189B (zh) * 2011-12-05 2017-03-22 京信通信系统(中国)有限公司 一种IPSec隧道共用方法、系统及设备
US9118618B2 (en) 2012-03-29 2015-08-25 A10 Networks, Inc. Hardware-based packet editor
US8891540B2 (en) 2012-05-14 2014-11-18 Juniper Networks, Inc. Inline network address translation within a mobile gateway router
US9596286B2 (en) 2012-05-25 2017-03-14 A10 Networks, Inc. Method to process HTTP header with hardware assistance
US10021174B2 (en) 2012-09-25 2018-07-10 A10 Networks, Inc. Distributing service sessions
US9705800B2 (en) 2012-09-25 2017-07-11 A10 Networks, Inc. Load distribution in data networks
US10027761B2 (en) 2013-05-03 2018-07-17 A10 Networks, Inc. Facilitating a secure 3 party network session by a network device
WO2015052917A1 (ja) * 2013-10-09 2015-04-16 日本電気株式会社 通信システム、通信装置および通信制御方法
CN103797774B (zh) * 2013-11-05 2017-07-21 华为技术有限公司 一种网络地址转换设备及方法
CN103607403A (zh) * 2013-11-26 2014-02-26 北京星网锐捷网络技术有限公司 一种nat网络环境下使用安全域的方法、装置和系统
CA2938422C (en) * 2014-02-06 2021-01-12 Acceleration Systems, LLC Systems and methods for providing a multiple secure link architecture
CN103942499B (zh) * 2014-03-04 2017-01-11 中天安泰(北京)信息技术有限公司 基于移动存储器的数据黑洞处理方法及移动存储器
US10020979B1 (en) 2014-03-25 2018-07-10 A10 Networks, Inc. Allocating resources in multi-core computing environments
US9806943B2 (en) 2014-04-24 2017-10-31 A10 Networks, Inc. Enabling planned upgrade/downgrade of network devices without impacting network sessions
US9525627B2 (en) 2014-05-27 2016-12-20 Google Inc. Network packet encapsulation and routing
US10129207B1 (en) 2015-07-20 2018-11-13 Juniper Networks, Inc. Network address translation within network device having multiple service units
CN112954738A (zh) * 2015-08-21 2021-06-11 瑞典爱立信有限公司 分组数据网络上的非ip数据的通信
US10038672B1 (en) * 2016-03-29 2018-07-31 EMC IP Holding Company LLC Virtual private network sessions generation
CN106330653A (zh) * 2016-08-30 2017-01-11 成都极玩网络技术有限公司 基于轻量级安全虚拟专用网的智能分流网关
US10469446B1 (en) 2016-09-27 2019-11-05 Juniper Networks, Inc. Subscriber-aware network address translation
JP2018067248A (ja) * 2016-10-21 2018-04-26 富士通株式会社 制御プログラム、制御方法、及び情報処理装置
KR101920190B1 (ko) * 2016-11-22 2019-02-08 한국인터넷진흥원 임의의 ip 생성 방법 및 그 장치
US10594829B2 (en) * 2017-05-24 2020-03-17 At&T Intellectual Property I, L.P. Cloud workload proxy as link-local service configured to access a service proxy gateway via a link-local IP address to communicate with an external target service via a private network
US10565062B1 (en) * 2017-08-03 2020-02-18 Veritas Technologies Llc Systems and methods for managing replication of data to a remote storage device
CN107547690B (zh) * 2017-09-25 2021-06-18 新华三信息安全技术有限公司 Nat中的端口分配方法、装置、nat设备及存储介质
CN107943438A (zh) * 2017-12-21 2018-04-20 国网河北省电力有限公司衡水供电分公司 无人值守变电站的办公优化方法
US10791091B1 (en) * 2018-02-13 2020-09-29 Architecture Technology Corporation High assurance unified network switch
CN110858229B (zh) 2018-08-23 2023-04-07 阿里巴巴集团控股有限公司 数据处理方法、设备、访问控制系统及存储介质
CN109152096B (zh) * 2018-09-27 2020-09-25 安科讯(福建)科技有限公司 Eps架构的报文传输方法及计算机可读存储介质
CN110138748B (zh) * 2019-04-23 2020-10-23 北京交通大学 一种网络融合通信方法、网关设备和系统
JP7309443B2 (ja) * 2019-05-14 2023-07-18 キヤノン株式会社 印刷装置、制御方法及びプログラム
CN112671939B (zh) * 2020-08-17 2022-07-05 紫光云技术有限公司 一种区分nat删除和nat解绑弹性公网ip的方法
US11394686B1 (en) * 2021-02-25 2022-07-19 Nvidia Corporation Dynamic network address translation using prediction
CN113794788B (zh) * 2021-09-14 2023-07-25 北京百度网讯科技有限公司 网关导流方法、系统、装置、设备、存储介质及产品

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4727370A (en) * 1985-12-17 1988-02-23 Ampex Corporation Method and system for synchronous handshake generation
US5577209A (en) * 1991-07-11 1996-11-19 Itt Corporation Apparatus and method for providing multi-level security for communication among computers and terminals on a network
WO1997026735A1 (en) 1996-01-16 1997-07-24 Raptor Systems, Inc. Key management for network communication
WO1997026734A1 (en) * 1996-01-16 1997-07-24 Raptor Systems, Inc. Transferring encrypted packets over a public network
US5781550A (en) * 1996-02-02 1998-07-14 Digital Equipment Corporation Transparent and secure network gateway
AU707905B2 (en) * 1996-04-24 1999-07-22 Nortel Networks Corporation Internet protocol filter
US5983350A (en) 1996-09-18 1999-11-09 Secure Computing Corporation Secure firewall supporting different levels of authentication based on address or encryption status
FI105753B (fi) * 1997-12-31 2000-09-29 Ssh Comm Security Oy Pakettien autentisointimenetelmä verkko-osoitemuutosten ja protokollamuunnosten läsnäollessa
US6055236A (en) * 1998-03-05 2000-04-25 3Com Corporation Method and system for locating network services with distributed network address translation
US7032242B1 (en) * 1998-03-05 2006-04-18 3Com Corporation Method and system for distributed network address translation with network security features
US6353614B1 (en) * 1998-03-05 2002-03-05 3Com Corporation Method and protocol for distributed network address translation
US6006259A (en) 1998-11-20 1999-12-21 Network Alchemy, Inc. Method and apparatus for an internet protocol (IP) network clustering system
US6691168B1 (en) * 1998-12-31 2004-02-10 Pmc-Sierra Method and apparatus for high-speed network rule processing
US6330562B1 (en) * 1999-01-29 2001-12-11 International Business Machines Corporation System and method for managing security objects
US6615357B1 (en) * 1999-01-29 2003-09-02 International Business Machines Corporation System and method for network address translation integration with IP security
US6449251B1 (en) * 1999-04-02 2002-09-10 Nortel Networks Limited Packet mapper for dynamic data packet prioritization
US6957346B1 (en) * 1999-06-15 2005-10-18 Ssh Communications Security Ltd. Method and arrangement for providing security through network address translations using tunneling and compensations
US6347376B1 (en) * 1999-08-12 2002-02-12 International Business Machines Corp. Security rule database searching in a network security environment
US7058973B1 (en) * 2000-03-03 2006-06-06 Symantec Corporation Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses
JP3597756B2 (ja) * 2000-06-09 2004-12-08 日本電信電話株式会社 ネットワークアドレス変換装置およびvpnクライアント多重化システム

Also Published As

Publication number Publication date
US7581247B2 (en) 2009-08-25
ATE315860T1 (de) 2006-02-15
TW494301B (en) 2002-07-11
CN1209712C (zh) 2005-07-06
JP4634687B2 (ja) 2011-02-16
JP2001313679A (ja) 2001-11-09
RU2002126235A (ru) 2004-03-27
EP1259886A1 (en) 2002-11-27
MXPA02008626A (es) 2003-02-24
BR0109033A (pt) 2003-06-03
US7058973B1 (en) 2006-06-06
CN1408088A (zh) 2003-04-02
JP2003526270A (ja) 2003-09-02
DE60116610D1 (de) 2006-04-06
CA2401103C (en) 2007-04-10
CA2401103A1 (en) 2001-09-13
KR20010087322A (ko) 2001-09-15
KR20020079979A (ko) 2002-10-21
US20060185010A1 (en) 2006-08-17
EP1259886A4 (en) 2004-04-28
WO2001067258A1 (en) 2001-09-13
RU2241252C2 (ru) 2004-11-27
KR100798660B1 (ko) 2008-01-28
EP1259886B1 (en) 2006-01-11
EP1130846A2 (en) 2001-09-05
US8165140B2 (en) 2012-04-24
AU4331101A (en) 2001-09-17
US20090059940A1 (en) 2009-03-05
EP1130846A3 (en) 2003-09-24
CN1332552A (zh) 2002-01-23
DE60116610T2 (de) 2006-11-23
AU2001243311B2 (en) 2003-12-18

Similar Documents

Publication Publication Date Title
BR0109033B1 (pt) Porta de tradução de endereço de rede e método de processamento de datagramas ip
US10757138B2 (en) Systems and methods for storing a security parameter index in an options field of an encapsulation header
US8458453B1 (en) Method and apparatus for securing communication over public network
US7908651B2 (en) Method of network communication
US8532107B1 (en) Accepting packets with incomplete tunnel-header information on a tunnel interface
US20070248085A1 (en) Method and apparatus for managing hardware address resolution
BRPI0607516B1 (pt) Método para impedir fontes duplicadas em um protocolo de rede
US20150304427A1 (en) Efficient internet protocol security and network address translation
BRPI0607515B1 (pt) método para impedir fontes duplicadas em um protocolo de rede
WO2014176035A1 (en) Secured communications arrangement applying internet protocol security
CA2437548A1 (en) Apparatus and method for providing secure network communication
JP2002344530A (ja) パケット転送装置、半導体装置、パケット転送システム
JPWO2006120751A1 (ja) 発着呼を可能とするピア・ツー・ピア通信方法及びシステム
US20060268863A1 (en) Transparent address translation methods
Cisco Configuring Security Features
Cisco Acronyms and Abbreviations
Cisco Acronyms and Abbreviations
Cisco Acronyms and Abbreviations
Shanmugaraja et al. Accessible methods to mitigate security attacks on ipv4 to ipv6 transitions
JP2009033577A (ja) タグベースvlanのセキュリティ方法および中継装置
Leischner et al. Security through VLAN segmentation: Isolating and securing critical assets without loss of usability
Denker et al. Moat: a Virtual Private Network Appliance and Services Platform.
Kwang-Sun et al. Design of a Security System to Defeat Abnormal IPSec Traffic in IPv6 Networks
Ollikainen NAT traversal for IPsec
Gallo et al. An Analisys of Business VPN Case Studies

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: SYMANTEC CORPORATION (US)

Free format text: TRANSFERIDO DE: NEXLAND, INC.

B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 10/03/2015, OBSERVADAS AS CONDICOES LEGAIS.

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 17A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)