Redes
Avançadas
Prof. Mateus Raeder
Universidade do Vale do Rio dos Sinos
- São Leopoldo -
P2P
Redes Avançadas – Prof. Mateus Raeder
P2P
• Se todos os hosts (máquinas da rede) fizessem o
papel de servidor e de cliente, evoluiríamos para
uma arquitetura peer-to-peer (P2P)
– Máquinas individuais podem fornecer serviços a outras
• Não depende de servidor central
– Elimina problemas de falha de serviço
Redes Avançadas – Prof. Mateus Raeder
P2P
• Então: o que são sistemas P2P?
– Sistemas distribuídos sem uma organização hierárquica e
tampouco centralizado
• Cada usuário (cada cliente, máquina) participa
em troca de fornecer acesso a recursos que ele
dispõe
• Como o P2P ganhou fama?
– Distribuição ilegal de arquivos
Redes Avançadas – Prof. Mateus Raeder
P2P
• Algumas características:
–
–
–
–
–
Não tem coordenação central
Banco de dados (?)
Sem gargalos
Dados acessíveis por todos os componentes da rede
Cooperação é possível sem custos adicionais de
hardware para adição de servidores para coordenação
• São redes virtuais que funcionam na Internet com o
objetivo de permitir o compartilhamento de
recursos entre os participantes
Redes Avançadas – Prof. Mateus Raeder
P2P
• Modelos de arquitetura
– Descentralizada:
• Não há um ponto central, cada nó tem o mesmo nível
• Todos os nós compartilham e gerenciam os recursos e tráfego
– Semicentralizada:
• Há um nó central para informações de controle
(normalmente para controle de tráfego)
• Ou um conjunto de super-nós que fazem esta função (a
queda de um destes super-nós afeta somente os inferiores
diretamente ligados a eles
• Os demais nós são autônomos e equivalentes
Redes Avançadas – Prof. Mateus Raeder
P2P
• Outra classificação utilizada é quanto a busca:
centralizada, inundação e hash distribuída:
– Busca centralizada
• Na rede, existe um ponto central de buscas. Os nós, então,
“perguntam” a este centralizador onde existe a informação
desejada. Após esta busca, o centralizador informa o local, e
a comunicação peer to peer é realizada.
– Por ser centralizado, é passível de falhas
– Desempenho baixo, devido a diversas consultas realizadas a um
mesmo servidor
– É de fácil implementação
Redes Avançadas – Prof. Mateus Raeder
P2P
• Outra classificação utilizada é quanto a busca:
centralizada, inundação e hash distribuída:
– Inundação
• Os nós são totalmente independentes. A busca, então, é
realizada somente com os nós vizinhos.
• Mas por que inundação?
– Pois os nós que não possuem os dados da busca, realizam outra
busca nos seus nós vizinhos, e assim sucessivamente
– Assim, traz a idéia de uma inundação de buscas pelos peers
– Quando a informação for encontrada, o local desta informação
é repassado ao originador da busca
– Possui controle de TTL (time to live) da busca
Redes Avançadas – Prof. Mateus Raeder
P2P
• Outra classificação utilizada é quanto a busca:
centralizada, inundação e hash distribuída:
– Tabela Hash Distribuída (DHT)
• Identificadores são atribuídos de acordo com uma
determinada função hash. A idéia é mapear de maneira
única todos os objetos e os nós. O hash é distribuído entre os
peers.
• As tabelas hash são utilizadas para separar o espaço de
buscas.
• Assim, quando uma consulta é realizada, a chave é
consultada e a busca é repassada para o nós responsável,
que saberá o caminho para o local da informação
Redes Avançadas – Prof. Mateus Raeder
P2P
• Principais classes de aplicações P2P
– Mensagem instantânea
• Possibilidade de poder enviar uma mensagem em tempo
real pela internet (IM – Instant Messaging)
– Compartilhamento de arquivo
• Transferir arquivos entre os hosts
– Computação distribuída
• Utilização de recursos computacionais ociosos
– Trabalhos colaborativos
• Melhorar a produtividade de grupos que possuem interesses
em comum
Redes Avançadas – Prof. Mateus Raeder
P2P
• Aplicações encontradas
– Mensagens instantêneas:
•
•
•
•
•
•
•
•
•
ICQ
MSN
Skype
K-Lite
Pichat
Pidgin
Usenet
P2P Messenger
SOULSEEK
• UfaSoft P2P Instant Messenger
Redes Avançadas – Prof. Mateus Raeder
P2P
• Aplicações encontradas
– Compartilhamento de arquivos
•
•
•
•
•
•
•
•
•
LimeWire
Emule
BearShare
Kazaa
Pichat
Gnutella
Deluge
qBittorrent
BitComet
• Azureus
• Utorrent
• Ares Galaxy
• Kademlia
• SOULSEEK
• YaCy
• FastTrack
• BitTorrent
Redes Avançadas – Prof. Mateus Raeder
P2P
• Aplicações encontradas
– Computação distribuída
•
•
•
•
•
[email protected] (Search for Extraterrestrial Intelligence)
[email protected]
World Community Grid
OurGrid
DNS
Redes Avançadas – Prof. Mateus Raeder
P2P
• Aplicações encontradas
– Trabalhos colaborativos
•
•
•
•
Redes Avançadas – Prof. Mateus Raeder
P2P
• Aplicação de trabalho colaborativo
– Aplicações deste gênero são conhecidas como
groupware application
– É um software que suporta diversos pontos, tais como:
•
•
•
•
•
•
•
Comunicação e coordenação de usuários
E-mail
Calendário
Espaço de trabalho
Listas de discussão
Gerência de documentos
Vídeo conferência
Redes Avançadas – Prof. Mateus Raeder
P2P
• Exemplo de aplicação de trabalho colaborativo
–
–
–
–
–
Lotus Notes
Microsoft NetMeeting
Groove
Ikimbo
Consilient
Redes Avançadas – Prof. Mateus Raeder
P2P
• Qual a diferença entre uma abordagem P2P e
uma Fim-a-fim?
– Uma configuração ponto-a-ponto (P2P) trata-se da
ligação entre dois nós em uma determinada rede
– Já fim-a-fim, refere-se à abordagem na qual uma
aplicação se comunica diretamente com outra, podendo
estarem em uma rede P2P ou não
Redes Avançadas – Prof. Mateus Raeder
IPv6
(continuação)
Redes Avançadas – Prof. Mateus Raeder
IPv6
• O que já vimos sobre IPv6
– Vantagens sobre IPv4
– Cabeçalho IPv6
• Campos que foram alterados
• Campos que foram excluídos
• Campos que foram adicionados
– Endereçamento
• Quantidade de bits para endereçamento
• Forma de endereçamento
• Formas de representação do endereço
Redes Avançadas – Prof. Mateus Raeder
ICMPv6
• ICMPv6
– Possui as mesmas funções básicas do ICMPv4
• Informar características da rede
• Diagnósticos
• Informar erros no processamento e envio dos pacotes
– Dois tipos (classes) de mensagens
• Mensagens de informação
• Mensagens de erro
Redes Avançadas – Prof. Mateus Raeder
ICMPv6
• O cabeçalho ICMPv6 é precedido pelos
cabeçalhos de extensão (se houver) e pelo
cabeçalho base do IPv6
Cabeçalho
Base IPv6
Cabeçalhos
de extensão
Próximo cabeçalho: 58
Informa que após o
cabeçalho existe um
cabeçalho ICMP
Cabeçalho
ICMPv6
Redes Avançadas – Prof. Mateus Raeder
ICMPv6
• Cabeçalho ICMP
Código: fornece informações adicionais
para alguns tipos de mensagens.
Possui 8 bits.
Tipo: informa o tipo da mensagem.
Possui 8 bits.
Tipo
Código
Checksum
Dados
Checksum: utilizado para encontrar erros e
dados corrompidos no cabeçalho ICMP.
Possui tamanho de 16 bits.
Dados: possuem informações referentes
ao erro ocorrido, dependendo do tipo
da mensagem. De acordo com a mensagem,
o tamanho deste campo pode variar.
Redes Avançadas – Prof. Mateus Raeder
ICMPv6
• O ICMPv6 apresenta uma quantidade maior de
mensagens
• As mensagens de erro definidas até o momento
são:
Redes Avançadas – Prof. Mateus Raeder
ICMPv6
• As mensagens de informação definidas até o
momento são:
Redes Avançadas – Prof. Mateus Raeder
ICMPv6
• As mensagens de informação definidas até o
momento são:
Redes Avançadas – Prof. Mateus Raeder
IPv6
• Serviços básicos do IPv6 (utilizam ICMPv6)
–
–
–
–
Descoberta de vizinhança
Gerenciamento de Grupos Multicast
Mobilidade IPv6
Descoberta do Path MTU
Redes Avançadas – Prof. Mateus Raeder
IPv6
• Descoberta de vizinhança
– Utiliza 5 mensagens ICMPv6
• Router Solicitation (tipo 133): utilizada pelos hosts para pedir
uma mensagem do tipo Router Advertisement
• Router Advertisement (tipo 134): são mensagens enviadas
periodicamente (ou em resposta a uma mensagem de
Router Solicitation) pelos roteadores para avisar que
encontram-se presentes no enlace
• Neighbor Solicitation (tipo 135): mensagem multicast enviada
pelos nós para determinar endereço MAC e acessibilidade
de um vizinho. Também pode detectar endereços
duplicados.
Redes Avançadas – Prof. Mateus Raeder
IPv6
• Descoberta de vizinhança
– Utiliza 5 mensagens ICMPv6
• Neighbor Advertisement (tipo 136): é uma mensagem
enviada como resposta a uma Neighbor Solicitation. Quando
há mudança em algum endereço MAC, esta mensagem
também é enviada
• Redirect (tipo 137): são enviadas pelos roteadores para
informar ao host qual é o roteador mais indicado para que
seu pacote chegue ao destino
Redes Avançadas – Prof. Mateus Raeder
IPv6
• Descoberta de vizinhança
– Descoberta de endereços da camada de enlace
• Determina o endereço MAC dos vizinhos do mesmo enlace.
• Um host envia uma mensagem de Neighbor Solicitation
informando seu MAC e solicitando o MAC vizinho. O vizinho,
então, responde com uma mensagem Neighbor
Advertisement, com seu endereço MAC
• Substitui o protocolo ARP do IPv4, utilizando um endereço
multicast como destino
Redes Avançadas – Prof. Mateus Raeder
IPv6
• Descoberta de vizinhança
– Descoberta de roteadores e prefixos
• Localiza roteadores vizinhos dentro do mesmo enlace
• O roteador envia uma mensagem multicast do tipo Router
Advertisement, com opções adicionais desejadas
• No IPv4, utiliza-se mensagens ARP Request
– Detecção de endereços duplicados
• No IPv4, são utilizadas mensagens do tipo ARP Request,
juntamente com um método chamado gratuitous ARP
• IPv6 utiliza mensagens do tipo Neighbor Solicitation
• O possuidor de um endereço IPv6 envia uma mensagem de
Neighbor Solicitation. Se alguém responder, é duplicado.
Redes Avançadas – Prof. Mateus Raeder
IPv6
• Descoberta de vizinhança
– Detecção de vizinhos inacessíveis
• Comunicação host-host, host-roteador e roteador-host
• Verifica a acessibilidade dos nós durante o caminho
• Um nó é acessível se enviou uma resposta ao vizinho que
enviou uma mensagem anteriormente
• Este processo é somente executado quando ocorre uma
comunicação unicast. Mensagens enviadas multicast não
executam este monitoramento
• IPv6 utiliza 2 tabelas para sabe o estado dos vizinhos
Neighbor cache
Destination cache
Lista de vizinhos para os quais foram
recentemente enviados mensagens.
Armazena IP, MAC, flag indicando se
é host ou roteador, acessibilidade,
além de outras informações
Informações sobre destinos para os
quais foi enviado mensagens
recentemente. O Neighbor cache é
um subconjunto desta cache. É
atualizado por mensagens Redirect.
Redes Avançadas – Prof. Mateus Raeder
IPv6
• Descoberta de vizinhança
– Redirecionamento
• Mensagens de Redirect são enviadas pelos roteadores
• Ao receber uma mensagem de Redirect, o host
automaticamente aprende qual o roteador (no mesmo
enlace) é o mais apropriado para o envio
• Mecanismo igual ao que existe no IPv4
Redes Avançadas – Prof. Mateus Raeder
IPv6
• Pesquise o que significa e como funciona no IPv6:
– Autoconfiguração de endereços stateless
– Autoconfiguração Stateful
– DHCPv6
Redes Avançadas – Prof. Mateus Raeder
IPv6
• Fragmentação
– Permite que pacotes de tamanho maior do que o limite
do enlace sejam enviados
– Diferente do IPv4
• Vejamos a situação seguinte:
Host A
Host B
Roteador
MTU = x
MTU = x/4
Redes Avançadas – Prof. Mateus Raeder
IPv6
• Com o IPv4, cada roteador pode fragmentar os
pacotes, de acordo com o MTU da rede a ser
enviado.
• Assim, vários fragmentos podem ser acumulados
durante o caminho, dependendo da quantidade
de roteadores e diferentes MTUs que vão passar
• No IPv6, o processo de fragmentação inicia com o
protocolo Path MTU Discovery
– Descobre dinamicamente o tamanho máximo que o
pacote pode possuir, identificando os MTUs até o destino
Redes Avançadas – Prof. Mateus Raeder
IPv6
• Path MTU Discovery
– Assume que o MTU é o mesmo MTU do enlace inicial
– Se, no caminho, o tamanho de qualquer pacote for maior
que o MTU informado pelo roteador do próximo enlace, o
roteador descarta o pacote, e retorna um ICMPv6 packet
too big
– Este mecanismo continua até que o tamanho do pacote
seja igual ou menor ao menor MTU do caminho, realizando
quantas reduções forem necessárias
Redes Avançadas – Prof. Mateus Raeder
IPv6
• Assim, diminui-se o overhead dos roteadores, pois a
fragmentação é realizada na origem
Fragmentação somente na origem!!
Host A
Host B
Roteador
MTU = x
MTU = x/4
Redes Avançadas – Prof. Mateus Raeder
IPv6
• No IPv4 existe a limitação de pacotes de tamanho
igual a 64KB
• No IPv6, existe a possibilidade do envio de pacotes
chamados jumbograms
• O que são os jumbograms do IPv6? Como se sabe
(no cabeçalho) que um pacote é um jumbogram?
Redes Avançadas – Prof. Mateus Raeder
Download

P2P - Unisinos