Redes de Computadores e a Internet



Documentos relacionados
Redes de Computadores e a Internet

DNS: Domain Name System

Redes de Computadores

Aula-28 Camada Aplicação - DNS. Prof. Dr. S. Motoyama

Resolução de Nomes e o protocolo DNS

Sistemas Distribuídos Aula 9

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Redes de Computadores e a Internet

NOMEAÇÃO SISTEMAS DISTRIBUÍDOS: MSC. DANIELE C. OLIVEIRA 2

Redes de Computadores. Prof. Thiago Caproni Tavares DNS. Prof. Thiago Caproni Tavares

Cap 03 - Camada de Aplicação Internet (Kurose)

Redes de Computadores

DNS - Domain Name System

Segurança de Redes de Computadores

Capítulo 8 - Aplicações em Redes

Aplicações P2P. André Lucio e Gabriel Argolo

Redes de Computadores Aula 3


10/07/2013. Camadas. Principais Aplicações da Internet. Camada de Aplicação. World Wide Web. World Wide Web NOÇÕES DE REDE: CAMADA DE APLICAÇÃO

REDES DE COMPUTADORES

Redes de Computadores

Sistemas Distribuídos Capítulos 5 e 6 - Aula 9

Redes de Computadores e a Internet

AULA Redes de Computadores e a Internet

Definição São sistemas distribuídos compostos de nós interconectados, aptos a se auto-organizar em topologias de rede, com o intuito de compartilhar

SISTEMAS DISTRIBUIDOS

REDES DE COMPUTADORES

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

SISTEMAS DISTRIBUÍDOS

Redes de Computadores e a Internet

2Arquitetura cliente-servidor

Capítulo 2 Camada de aplicação

Rede de Computadores

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

Definição São sistemas distribuídos compostos de nós interconectados, aptos a se auto-organizar em topologias de rede, com o intuito de compartilhar

TECNOLOGIA WEB INTERNET PROTOCOLOS

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2014

Teleprocessamento e Redes

Redes de computadores. Redes para Internet

REDES DE COMPUTADORES

HYPERTEXT TRANSFER PROTOCOL

Camada de Aplicação. DNS Domain Name System. Redes de Computadores Prof. Leandro C. Pykosz

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

SISTEMAS DISTRIBUÍDOS

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

Redes de Computadores. Prof. Dr. Rogério Galante Negri

Redes de Computadores. Protocolos de comunicação: TCP, UDP

Projeto de sistemas O novo projeto do Mercado Internet

MÓDULO 8 Modelo de Referência TCP/IP

Camadas da Arquitetura TCP/IP

Capítulo 7 CAMADA DE TRANSPORTE

RC e a Internet. Prof. Eduardo

Redes de Computadores e a Internet

Informática I. Aula Aula 22-03/07/06 1

Redes de Computadores Camada de Aplicação. Prof. MSc. Hugo Souza

Resumo. Introdução História Caracteristicas Exemplos Arquitetura Distribuição Vertical vs Distribuição Horizontal Segurança Conclusão

Sistemas Distribuídos: Conceitos e Projeto Arquiteturas Ponto a Ponto

Redes de Computadores

PEER DATA MANAGEMENT SYSTEM

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Introdução à Camada de Aplicação. Prof. Eduardo

Redes de Computadores. Ricardo José Cabeça de Souza

Imagem digital. Configuração de 640 x 480 e 24 bits/pixel (RGB) 7,37 Mbits Solução compactação

Redes de Computadores. Prof. Késsia Marchi

Existem muitos assuntos relacionados com o Skype. Logo, esta apresentação focar-seá essencialmente nos aspectos mais importantes sobre a arquitectura

RC e a Internet: noções gerais. Prof. Eduardo

Sistemas Distribuídos

O que são DNS, SMTP e SNM

Prof. Marcelo Cunha Parte 5

efagundes com Como funciona a Internet

Universidade de Brasília

Redes - Internet. Sumário Aula 3,4 e 5 9º C } Estrutura baseada em camadas. } Endereços IP. } DNS -Domain Name System

PROTOCOLOS DE COMUNICAÇÃO

Redes de Computadores e a Internet

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013

17/03/ :04 Leite Júnior QUESTÕES FCC 2010 REDES (INTERNET/INTRANET)

Protocolo Bittorrent

Rede de Computadores (REC)

Desenvolvimento de Aplicações Web

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O

Professor: Gládston Duarte

Capítulo 7 CAMADA DE TRANSPORTE

INFORMÁTICA IINTERNET / INTRANET

CAMADA DE TRANSPORTE

Redes de Computadores II

Sistemas Distribuídos

Arquitecturas de Sistemas. Arquitecturas Descentralizadas de Sistemas

Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de o Teste A

Redes de Computadores

Entendendo como funciona o NAT

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Redes. Pablo Rodriguez de Almeida Gross

Transcrição:

Redes de Computadores e a Internet Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia - LPRM 2010

Camada de Aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3, IMAP 2.5 DNS 2.6 Compartilhamento de arquivos P2P 2.7 Programação de socket com TCP 2.8 Programação de socket com UDP 2.9 Construindo um servidor Web

DNS Domain Name System Pessoas: muitos identificadores: RG, nome, passaporte Internet hospedeiros, roteadores: Endereços IP (32 bits) - usados para endereçar datagramas nome, ex.: gaia.cs.umass.edu - usados por humanos P.: Relacionar nomes com endereços IP? Domain Name System: Base de dados distribuída implementada numa hierarquia de muitos servidores de nomes Protocolo de camada de aplicação hospedeiro, roteadores se comunicam com servidores de nomes para resolver nomes (translação nome/endereço) Nota: função interna da Internet, implementada como protocolo da camada de aplicação Complexidade na borda da rede 3

Serviço DNS DNS services Nome do hospedeiro para tradução de endereço IP Hospedeiro aliasing Nomes canônicos e alias mail server aliasing distribuição de carga Servidores Web replicados: estabelece o endereço IP para um nome canônico Por que não centralizar o DNS? Ponto único de falha Volume de tráfego Base centralizada de dados distante Manutenção Não é escalável! 4

Base de Dados Distribuída e hierárquica Cliente quer o IP para www.amazon.com; 1 a aprox.: Cliente consulta um servidor de raiz para encontrar o servidor DNS.com Cliente consulta o servidor DNS.com para obter o servidor DNS amazon.com Cliente consulta o servidor DNS amazon.com para obter o endereço IP para www.amazon.com 5

Servidores de Nomes Raiz (Root) São contatados pelos servidores de nomes locais que não podem resolver um nome Servidores de nomes raiz: Buscam servidores de nomes autorizados se o mapeamento do nome não for conhecido Conseguem o mapeamento Retornam o mapeamento para o servidor de nomes local Existem 13 servidores de nomes raiz no mundo 6

Servidores TLD e autorizados Servidores top-level domain (TLD): responsáveis pelos domínios com, org, net, edu etc. e todos os domínios top-level nacionais uk, fr, ca, jp. Network Solutions mantém servidores para o TLD com TLD Educause para o TLD edu Servidores DNS autorizados: servidores DNS de organizações, provêem nome de hospedeiro autorizado para mapeamentos IP para servidores de organizações (ex.: Web e mail). Podem ser mantidos por uma organização ou provedor de serviços 7

Servidor de nomes local Não pertence estritamente a uma hierarquia Cada ISP (ISP residencial, companhia, universidade) possui um servidor de nomes local Também chamado de servidor de nomes default Quando um hospedeiro faz uma pergunta a um DNS, a pergunta é enviada para seu servidor DNS local Age como um proxy, encaminhando as perguntas para dentro da hierarquia 8

Consultas recursivas Consulta recursiva: Transfere a tarefa de resolução do nome para o servidor de nomes consultado Carga pesada? Consulta encadeada: Servidor contatado responde com o nome de outro servidor de nomes para contato Eu não sei isto, mas pergunte a este servidor 9

Camada de Aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio eletrônico SMTP, POP3, IMAP 2.5 DNS 2.6 Compartilhamento de arquivos P2P

Compartilhamento de arquivos P2P Sistemas finais arbitrários se comunicam diretamente peers são intermitentes (transitórios) conectados e mudam de endereços IP Três tópicos: Busca pela informação Distribuição de arquivo Estudo de caso: BitTorrent peer-peer

Sistemas P2P Compartilhamento de arquivos Napster, Kazza, Emule, BitTorrent Compartilhamento de CPU Seti@home, Gnome@home Sistema de armazenamento OceanStore, Freenet Streaming de Video ZigZag, PPLive Sistema anônimos TOR Muito além do Compartilhamento de arquivos

Busca pela informação em sistemas P2P Compartilhamento de arquivo (eg e-mule) Índice dinamicamente busca pelas localizações dos arquivos que os peers compartilham Peers precisam dizer ao índice o que eles possuem Peers buscam no índice para determinar onde os arquivos são encontrados Mensagens instatâneas Índice mapea os nomes dos usuários às localizações Quando o usuário inicia uma aplicação de mensagem instantanea, ele informa ao índice sua localização Peers buscam no índice para determinar o endereço IP do usuário

Rede Sobreposta Peers formam rede overlay (sobreposta) Rede formada por conexões fim-a-fim Vizinhos podem estar longe na rede real Comunicação feita nesta rede Por que Overlays? Mapear informação à localização dos peers (localização = IP + porta) Topologias customizadas Evita limitações da topologia IP 14

P2P: índice centralizado Projeto original do Napster 1) quando peer conectase, ele informa ao servidor central: Endereço IP conteúdo 2) Alice busca por Born to be wild 3) Alice requisita o arquivo a partir de Bob Diretório do servidor central 2 1 1 1 1 Alice 3 Bob peers 15

P2P: problemas com diretório centralizado Ponto único de falha Gargalo de desempenho Infração de copyright : alvo para ações legais é óbvio Transferência do arquivo é descentralizada, mas a localização do conteúdo é altamente centralizada 16

Estruturada Rede sobreposta construída com cuidado peers estabelecem roteamento pela rede Objetos ou serviços localizados em peers específicos Similar a tabela hash distribuída (DHT) Vantagem: Localização rápida, busca garantida Desvantagem: manutenção do overlay, localização baseado em similaridade Ex. Chord, CAN, Pastry, etc 17

Não-estruturada Rede sobreposta construída sem (muitos) cuidados Não há informação sobre localização Vantagem: manutenção do overlay (trivial) Desvantagem: baixo desempenho na localização, busca não garantida, Ex. Gnutella, BitTorrent, PPLive, etc Como localizar conteúdo? 18

Query flooding controlado Mensagem de consulta enviada sobre conexões TCP existentes peers repassam mensagem de consulta (Query) até número limite de saltos QueryHit é retornado no caminho reverso Query QueryHit File transfer: HTTP Query QueryHit Query Query QueryHit Escalabilidade: limitada Query 19

Semi-estruturada Rede overlay hierárquica Peers e super-peers (papéis diferentes) Peers se conectam apenas a super-peers Super-peers tem informação sobre peers Vantagem: manutenção do overlay (trivial), melhor desempenho na localização Desvantagem: busca não garantida Ex. Skype, Kazza, Gnutela (versão atual) 20

Overlay Hierárquico Cada peer é ao mesmo tempo super nodo ou associado a um super nodo Conexões TCP entre peer e seu super nodo. Conexões TCP entre alguns pares de super nodos. Super nodo busca conteúdo em seus nodos filhos Flooding controlado entre super-peers o r d i n a r y p e e r g r o u p l e a d e r p e e r n e i g h o r i n g r e l a t i o n s h i p s i n o v e r l a y n e t w o r k 21

BitTorrent 1/4 Aplicativo muito popular disseminação de conteúdo Arquitetura híbrida, mas não estruturada Torrent: peers interessados em um mesmo conteúdo (arquivo) Tracker: localiza peers participando da rede torrent Seeders: peers que tem conteúdo completo Leechers: peers que ainda não tem conteúdo completo Tracker Obtém a lista de peers peer Troca de dados 22

BitTorrent (2/4) Arquivo dividido em blocos (e.g. 256KB chunks) Um peer junta-se a rede torrent: Não tem blocos, mas vai acumular ao longo do tempo Registra com tracker para obter a lista dos pares, conectase a um subconjunto de peers ( vizinhos ) Peers trocam blocos com alguns vizinhos Upload/download simultâneo Peers vizinhos trocam mapa de blocos Quem tem o que (update periódico) Peer que termina vira seeder ou sai do sistema Assim que peer tiver o arquivo todo, ele pode abandonar (egoísta) ou pernanecer(altruisticamente) Por que ficar no sistema? Problema de incentivos!!! 23

Bittorrent (3/4) Solicitando Blocos Vizinhos que ofereceram downloads (unchoke) Recebe lista dos blocos Peer solicita bloco mais raro dentre estes peers Peer passa a oferecer este bloco Servindo Blocos Peer serve peers que oferecem as maiores taxas de download Política tit-for-tat (TFT) Periodicamente, escolher peer aleatório para servir (unchoke otimista) Permite encontrar peer com alta taxa de download 24

BitTorrent: (4/4) Tit-for-tat (1) Ana decide servir Bob via unchoke otimista envia mensagem de unchoke a Bob (2) Bob solicita blocos a Ana (3) Ana transmite blocos ao Bob (4) Ana passa a ser um dos peers que mais serve Bob (5) Bob então decide servir Ana (envia unchoke) (6) Ana solicita blocos ao Bob (7) Bob transmite blocos a Ana Com maiores taxas de upload pode encontrar melhores parceiros e conseguir o arquivo mais rapidamente! 25

Desempenho Questão : Quanto tempo para distribuir arquivo a partir de um servidor para N peers? File, size F Servidor u 1 d 1 u s u 2 d2 u s : banda de upload do servidor u i : peer i banda de upload d i : peer i banda de download d N u N Rede (com banda abundante ) 26

Tempo de distribuição: C/S Servidor envia sequencialmente N copias: NF/u s time cliente i leva F/d i tempo para download Tempo para distribuir F para N clientes usando abordagem C/S F Server d N u N u u 2 1 d 1 u d 2 s Rede com banda abundante d cs = max { NF/u s, F/min(d i ) } incrementa linearmente com N (para um N muito grande!!!) 27

Tempo de distribuição: P2P Servidor deve enviar uma cópia: Tempo: F/u s cliente i leva um tempo F/d i para fazer download Todos os clientes precisam receber arquivo: NF bits F Server d N u N u u 2 1 d 1 u d 2 s Rede com banda sobrando Taxa máxima de upload do sistema u s + Σ u i d P2P = max { F/u s, F/min(d i ), NF/(u s + Σ u i ) } 28

Exemplo comparativo C/S vs. P2P Taxa de upload do cliente = u, 3.5 F/u = 1 hora, u s = 10u, d min u s Minimum Distribution Time 3 2.5 2 1.5 1 0.5 P2P Client Server 0 0 5 10 15 20 25 30 35 N 29

Resumo do Capítulo 2 Arquiteturas de aplicação cliente-servidor P2P híbrida Requisitos de serviço para aplicação: Confiabilidade, banda e atraso Modelo de serviço de transporte da Internet Orientado a conexão, entrega confiável: TCP Datagramas e não confiável: UDP Protocolos específicos: HTTP DNS P2P: BitTorrent Troca de mensagens tipicamente request/reply Centralizado versus descentralizado Stateless versus stateful Complexidade na borda da rede 30