PUC-Rio - Certificação Digital Nº 0321447/CA
Antônio Carlos Theóphilo
Costa Júnior
Soluções para a Travessia de
Firewalls/NAT usando
CORBA
DISSERTAÇÃO DE MESTRADO
DEPARTAMENTO DE INFORMÁTICA
Programa de Pós–graduação em
Informática
Rio de Janeiro
Agosto de 2005
Antônio Carlos Theóphilo Costa Júnior
PUC-Rio - Certificação Digital Nº 0321447/CA
Soluções para a Travessia de
Firewalls/NAT usando CORBA
Dissertação de Mestrado
Dissertação apresentada como requisito parcial para
obtenção do grau de Mestre pelo Programa de Pós–
graduação em Informática do Departamento de Informática
da PUC-Rio
Orientador: Prof. Markus Endler
Co–Orientador: Prof. Renato Cerqueira
Rio de Janeiro
Agosto de 2005
Antônio Carlos Theóphilo Costa Júnior
PUC-Rio - Certificação Digital Nº 0321447/CA
Soluções para a Travessia de
Firewalls/NAT usando CORBA
Dissertação apresentada como requisito parcial para
obtenção do grau de Mestre pelo Programa de Pós–
graduação em Informática do Departamento de Informática
do Centro Técnico Cientı́fico da PUC-Rio. Aprovada pela
Comissão Examinadora abaixo assinada.
Prof. Markus Endler
Orientador
Departamento de Informática — PUC-Rio
Prof. Renato Cerqueira
Co–Orientador
Departamento de Informática — PUC-Rio
Prof. Luı́s Fernando Gomes Soares
Departamento de Informática — PUC-Rio
Prof. Alexandre Sztajnberg
Instituto de Matemática e Estatı́stica — UERJ
Prof. José Eugênio Leal
Coordenador Setorial do Centro Técnico Cientı́fico —
PUC-Rio
Rio de Janeiro, 16 de Agosto de 2005
Todos os direitos reservados. É proibida a reprodução
total ou parcial do trabalho sem autorização da universidade, do autor e do orientador.
Antônio Carlos Theóphilo Costa Júnior
PUC-Rio - Certificação Digital Nº 0321447/CA
Graduou-se em Ciência da Computação na UFRN
(Universidade Federal do Rio Grande do Norte) em
2002. É especialista em Sistemas em Tempo Real para
Otimização e Automação no Setor Petróleo & Gás. Foi
bolsista de iniciação cientı́fica do Programa Especial de
Treinamento da Capes (PET-CC) e do Programa de Recursos Humanos da ANP.
Ficha Catalográfica
Costa Júnior, Antônio Carlos Theóphilo
Soluções para a travessia de firewalls/NAT usando
CORBA / Antônio Carlos Theóphilo Costa Júnior; orientador: Markus Endler; co–orientador: Renato Cerqueira.
— Rio de Janeiro : PUC-Rio, Departamento de Informática, 2005.
62 f. ; 29,7 cm
1. Dissertação (mestrado) - Pontifı́cia Universidade Católica do Rio de Janeiro, Departamento de Informática.
Inclui referências bibliográficas.
1. Informática - Teses. 2. Travessia de firewalls.
3. Requisição remota de métodos. 4. Middleware.
5. CORBA. 6. OiL. 7. Firewall. 8. NAT. I. Endler,
Markus. II. Cerqueira, Renato. III. Pontifı́cia Universidade Católica do Rio de Janeiro. Departamento de Informática. IV. Tı́tulo.
CDD: 004
Às minhas famı́lias, atual e futura.
PUC-Rio - Certificação Digital Nº 0321447/CA
PUC-Rio - Certificação Digital Nº 0321447/CA
Agradecimentos
Primeiramente agradeço a Deus por tudo o que me foi dado e que
possibilitou a realização deste trabalho;
Aos meus pais, irmãs e sobrinha que tanto amor e carinho me deram
durante todo este perı́odo;
À Aninha, que acompanhou de perto todo este esforço, me dando muito
mais amor e apoio do que eu precisava;
Aos amigos e funcionários da PUC-Rio, que contribuiram para tornar
este perı́odo um dos mais agradavéis de minha vida, me fazendo adorar tanto
esta cidade como esta escola, trazendo muitas saudades no momento em que
escrevo estas palavras;
Aos meus orientadores, pelos exemplos de amizade e competência que
tanto me influenciaram durante a realização deste trabalho;
À PUC-Rio, Capes e CNPq por todo o apoio financeiro oferecido.
Resumo
Costa Júnior, Antônio Carlos Theóphilo; Endler, Markus;
Cerqueira, Renato. Soluções para a Travessia de Firewalls/NAT usando CORBA. Rio de Janeiro, 2005. 62p. Dissertação de Mestrado — Departamento de Informática, Pontifı́cia
Universidade Católica do Rio de Janeiro.
Aplicações que usam CORBA como plataforma de comunicação geralmente
PUC-Rio - Certificação Digital Nº 0321447/CA
possuem restrições ao serem executadas em ambientes compostos por mais
de um domı́nio administrativo. Este fato é particularmente verdade quando
as aplicações precisam atravessar firewalls/NAT. Além do mais, não existe atualmente uma solução padronizada e adotada por todos os ORBs,
obrigando as aplicações que utilizam este middleware a adotarem soluções
proprietárias que muitas vezes não são adequadas ao ambiente em que
as aplicações funcionam (e.g. impossibilidade de abertura de portas no
firewall). Este trabalho apresenta e avalia três soluções para a travessia
de firewall/NAT por aplicações distribuı́das que utilizam CORBA como
camada de comunicação, cada uma explorando as vantagens de uma situação
especı́fica. Exemplos de tais situações são a possibilidade de configuração
do firewall ou a possibilidade de abertura de conexões TCP para fora da
rede.
Palavras–chave
Travessia de Firewalls, Requisição Remota de Métodos, Middleware,
CORBA, OiL, Firewall, NAT
Abstract
Costa Júnior, Antônio Carlos Theóphilo; Endler, Markus;
Cerqueira, Renato. Firewall/NAT Traversal Solutions Using
CORBA. Rio de Janeiro, 2005. 62p. MSc. Dissertation — Departamento de Informática, Pontifı́cia Universidade Católica do Rio de
Janeiro.
PUC-Rio - Certificação Digital Nº 0321447/CA
Applications that use CORBA as the communication layer often face some
restrictions for multi-domain deployment. This is particularly true when
they have to face firewall/NAT traversal. Furthermore, nowadays there is
no well-accepted unique or standardized solution adopted by all ORBs,
compelling applications using this type of middleware to use proprietary
solutions that sometimes do not address the environment restrictions in
which they are deployed (e.g. impossibility to open firewall ports). This
work presents and compares three solutions for firewall/NAT traversal by
CORBA-based distributed applications, each one suitable for a specific
situation and exploring its advantages. Examples of such situations are the
possibility of open firewall ports or the possibility of start a TCP connection
to the outside network.
Keywords
Firewall Traversal, Remote Method Invocation, Middleware, CORBA,
OiL, Firewall, NAT
PUC-Rio - Certificação Digital Nº 0321447/CA
Sumário
1 Introdução
12
2 Trabalhos Relacionados
2.1 OMG
2.2 JXTA
2.3 ICE
2.4 Xtradyne
16
16
19
20
21
3 Propostas de Travessias de Firewalls/NAT
3.1 Abordagem OMG
3.2 Abordagem Procurador TCP
3.3 Abordagem Procurador HTTP
22
23
24
30
4 Implementação
4.1 Arquivo de Configuração
4.2 Abordagem OMG
4.3 Abordagem Procurador TCP
4.4 Abordagem Procurador HTTP
35
35
36
39
41
5 Validação
5.1 Gerenciamento de Memória
5.2 Concorrência
5.3 Interface com Outros ORBs
5.4 Atraso de Invocação
5.5 Escalabilidade
5.6 Conclusão dos Testes
44
44
45
46
46
49
51
6 Conclusões e Trabalhos Futuros
52
7 Referências Bibliográficas
54
A Arquivo de Configuração
A.1 Document Type Definition – DTD
A.2 Exemplo – Abordagem OMG
A.3 Exemplo – Abordagem Procurador HTTP
56
56
57
58
B Protocolo da Abordagem Procurador HTTP
B.1 Mensagens Enviadas pelo ORB Servidor
B.2 Mensagens Enviadas pelo Procurador
59
59
61
PUC-Rio - Certificação Digital Nº 0321447/CA
Lista de Figuras
2.1 Caso de Uso da Especificação de Travessia de Firewalls da OMG
19
3.1
3.2
3.3
3.4
23
25
26
32
Abordagem OMG
Abordagem Procurador TCP
Tipos de Conexões - Procurador TCP
Procurador HTTP - Exemplo
4.1 Arquitetura do Procurador de Aplicação
4.2 Arquitetura do Procurador TCP
38
40
5.1 Testes de Escalabilidade
49
Lista de Tabelas
PUC-Rio - Certificação Digital Nº 0321447/CA
5.1 Resultados do Teste de Atraso de Invocação
47
PUC-Rio - Certificação Digital Nº 0321447/CA
“Eu não tenho ı́dolos, tenho admiração por trabalho, dedicação
e competência”
Ayrton Senna, 1960–1994.
Download

Antônio Carlos Theóphilo Costa Júnior Soluç˜oes para a Travessia