Análise de roteamento em redes AD HOC

Propaganda
Faculdade de Tecnologia SENAC Pelotas/RS
Curso Superior de Tecnologia em Redes de Computadores
Projeto Integrador II
Seminário Final
Compartilhamento nas nuvens
para redes locais baseado em
P2P
Jerônimo Feijó Noble da Rosa
Sumário
•
•
•
•
•
•
•
Introdução;
Bittorrent;
Idéia Inicial;
Distribuição de Pedaços;
Localização de vizinhos;
Construção de índices;
Ferramentas Utilizadas.
2
Introdução
1. Facilidade de uso;
2. Tolerância à falhas;
3. Desempenho;
4. Redução de desperdício;
5. Portabilidade.
3
Bittorrent
1
X
X
X
X
1. Download do arquivo torrent;
2. Conexão com o rastreador;
3. Informações de vizinhos;
4. Conexão para troca de
Informação de blocos e para
download.
4
Idéias Inicial
Não funcionaria
X
5
Distribuição de Pedaços
6
Distribuição de Pedaços
1. Sorteio
||
Hosts
2 3distribuição
4
Teste1de
2. Salto
3. Segundo Pedaço
P1
Hosts 243
P2
1__
Requisitos:
• Mínimo de 50% da rede ativa;
• Um host não deve receber mais de um pedaço igual;
• Hosts que sobram são utilizados no pedaço seguinte.
| ----X---|
Host 1 2 1 2
7
Idéia Inicial
• Broadcast
X
Distribuição de
Arquivos
• Multicast
Idéia Interessante
8
Descobrindo Hosts
• Envio de informações no formato:
Id msg.:Nome do host:Uptime:Endereço IP:Porta:IP do índice raiz:Validade do registro
•
•
•
•
•
•
1:Host1:999999999:192.168.0.1:8000:1024:192.168.0.50:9000000
Tipo de mensagem
Nome do Host
Uptime
Endereço e porta
IP do índice
Validade do registro
9
Idéias
Índice de arquivos
Distribuição de
Arquivos
Multicast
10
Índice
• Criação de índices de arquivos e diretórios;
• Criação de grupos e usuários;
• Mantendo/atualizando índice;
11
Interface do Usuário
Interface modo texto:
Interface de usuário:(simulação)
Interface para envio:(simulação)
12
Ferramentas de desenvolvimento
Porque o Python?
• Portabilidade;
• Linguagem Orientada a Objetos;
• Grande quantidade de documentação;
• Grande número de bibliotecas disponíveis;
• Porquê o Monks disse.
14
Base de Dados - SQLite
• Zero-configuration;
• Código fonte aberto;
• Grande capacidade de armazenamento;
• Patrocinado pela Oracle,Nokia, Mozilla e etc.
15
Referências
•
•
•
•
•
•
Foundation, P. S. (2011). Python documentation. http://www.python.org/doc/.
último acesso em 01 maio de 2010.
Goerzen, J. (2004). Foundations of Python Network programming. Apress, 1th
edition.
Kurose, J. F. and Ross, K. W. (2007). Redes de computadores e a internet: uma abordagem top-down. Pearson Education, 3th edition.
Lutz, M. and Ascher, D. (2008). Aprendendo Python. O’ Reilly, 2th edition.
Mizrahi, V. V. (1994). Treinamento em Linguagem C++ Modulo 2. Pearson
Education, 2th edition.
Rhodes, B. and Goerzen, J. (2010). Foundations of Python Network programming.
Apress, 2th edition.
16
Download