redes de computadores - uemelvio/redes/7-aplicacao.pdfcamada de aplica»c~ao introdu»c~ao estudo de...
TRANSCRIPT
![Page 1: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/1.jpg)
Camada de Aplicacao
Redes de Computadores7. Camada de Aplicacao
Elvio Leonardo
DIN/CTC/UEM
2008
Elvio Leonardo Redes de Computadores
![Page 2: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/2.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Principais FuncoesI Oferece servicos de rede aos processos da aplicacaoI Identifica e estabelece a disponibilidade dos recursos para a
comunicacaoI Sincroniza comunicacao entre as aplicacoesI Estabelece procedimentos para o caso de falhasI Exemplos de protocolos:
I Transferencia de arquivosI File Transfer Protocol (FTP)I Network File System (NFS)
I E-mailI Simple Mail Transfer Protocol (SMTP)I Internet Message Access Protocol (IMAP)I Post Office Protocol (POP)
I Remote loginI Terminal Emulation Protocol (TELNET)
I Gerencia de redeI Simple Network Management Protocol (SNMP)
I Gerencia de nomesI Domain Name System Protocol (DNS)
Elvio Leonardo Redes de Computadores
![Page 3: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/3.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
The Big Picture
Elvio Leonardo Redes de Computadores
![Page 4: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/4.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Domain Name System (DNS)I A Internet e construıda utilizando um esquema de
enderecamento hierarquicoI Roteamento e baseado em classes de enderecos ao inves de
enderecos individuais
I Problema: como associar o nome de um sıtio na Internet aoseu endereco na rede?
I Solucao: Domain Name System associa o nome de umdomınio (domain) ao seu endereco
I Domınio e um grupo de maquinas que estao associadas ougeograficamente ou funcionalmente
I Um nome de domınio e uma cadeia de caracteres (letras enumeros) que representam um nome ou uma abreviacao
I Todo domınio tem uma autoridade que controla a atribuicaode nomes de seus sub-domınios
I Exemplo: www.registro.br controla a atribuicao de enderecosterminados com .br
Elvio Leonardo Redes de Computadores
![Page 5: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/5.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Domain Name System (DNS)
I Nome de domınio e hierarquicoI Primeira parte carrega o nome da maquinaI Ultima parte carrega o nome do domınio de mais alto nıvelI Exemplo: robot.ai.cs.yale.edu
Elvio Leonardo Redes de Computadores
![Page 6: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/6.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Domain Name System (DNS)
I Alguns domınios no BrasilI gov.br: entidades do governoI org.br: entidades nao governamentais, sem fins lucrativosI com.br: atividades comerciaisI ind.br: industriasI mil.br: entidades militaresI edu.br: entidades de ensinoI g12.br: entidades de ensino fundamental e medioI .br: entidades de ensino superiorI art.br: artes: musica, pintura, folcloreI esp.br: entidades esportivasI inf.br: provedores de informacao (meios de comunicacao, etc.)I psi.br: provedores de servicos de InternetI tmp.br: eventos temporarios (feiras, etc.)I can.br: candidatosI am.br, fm.br, tv.br: emisoras de radio e televisaoI Lista completa: registro.br/info/dpn.html
Elvio Leonardo Redes de Computadores
![Page 7: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/7.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Domain Name System (DNS)I Componentes
I Resolver: cliente que solicita as requisicoesI Name Server: servidor que processa requisicoes e envia
respostaI Tipos de servidores
I PrimarioI Informacoes criadas pelo administrador do domınioI Unico por domınio
I SecundarioI Mantem copia das informacoes do domınioI Periodicamente atualiza as informacoes
I Tipos de requisicoesI Nao Recursiva (Interativa)
I Servidor utiliza apenas as suas informacoesI Retorna informacao que mais se aproxima daquela requisitada
I RecursivaI Servidor utiliza as suas informacoes e pode requisitar
informacoes de outros servidoresI Retorna informacao solicitada pela requisicao
Elvio Leonardo Redes de Computadores
![Page 8: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/8.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Domain Name System (DNS)I Tipos de respostas
I AuthoritativeI Servidor possui autoridade sobre o domınioI Respostas sempre corretas
I Non-AuthoritativeI Servidor nao possui autoridade sobre o domınioI Informacao obtida a partir da cacheI Informacoes podem estar incorretas
Dialogo tıpico
Elvio Leonardo Redes de Computadores
![Page 9: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/9.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Domain Name System (DNS)I Tipos de mapeamentos
I DiretoI Traduz nome da maquina para o seu endereco IP
I ReversoI Traduz o endereco IP para o nome da maquinaI Domınio in-addr.arpa realiza o mapeamento inversoI Exemplo: 52.0.2.10.in-addr.arpa contem informacao sobre
endereco 10.2.0.52I Outras informacoes
I Utiliza UDP nas comunicacoesI Servidores operam seguindo a hierarquia dos nomesI Nomes de domınios nao diferenciam maiusculo e minusculoI Cada componente do nome pode ter ate 63 caracteres, e
nomes completos ate 255 caracteresI Nomes de domınios seguem divisoes polıticas e organizacionais
e nao existe relacao entre hierarquia DNS e enderecos IPI Somente o nıvel mais alto e globalmente regulamentado
I Por exemplo, Nova Zelandia e Gra Bretanha utilizam .ac emvez de .edu e .co em vez de .com
Elvio Leonardo Redes de Computadores
![Page 10: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/10.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Domain Name System (DNS)I Servidor DNS
I Aceita requisicoes para traducao de nomesI Cada servidor tem informacao segura sobre certos nomes
(configurados pelo administrador) e inseguranca sobre outros(armazenados em cache)
I Um servidor deve ter informacao segura sobre todos ossub-domınios da sua zona ou conhecer o endereco de outrosservidores que a tenham
I Servidores cobrem regioes nao sobrepostas no espaco de nomesI Todos os servidores podem encontrar o servidor raiz
I CachingI Todo servidor (e clientes tambem) devem armazenar
informacao obtida de transasoes anterioresI Essa pratica funciona bem porque a informacao e
relativamente estatica e em geral utilizada varias vezesI Recursivo ou interativo?
I Clientes normalmente utilizam recursivoI Servidores (atuando como clientes) utilizam interativo
Elvio Leonardo Redes de Computadores
![Page 11: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/11.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Domain Name System (DNS)I Resource Records
I Todos os domınios tem informacao associada a elesI Um resource record consiste de:
I nome do domınioI tempo de vida (time to live) em segundosI classe (sempre IN para Internet)I tipo de registro (record)I valor do registro
Elvio Leonardo Redes de Computadores
![Page 12: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/12.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Domain Name System (DNS)I Resource Records
I Start of Authority (SOA)domain ttl IN SOA origin contact (serial refresh retry expire
minimum)
I domain: nome desse domınioI ttl: tempo (em segundos) que clientes devem armazenar a
informacao desse registroI origin: nome do servidor que mantem esse registroI contact: e-mail do administrador desse domınioI serial: versao do registroI refresh: intervalo (em segundos) de atualizacao do servidor
DNS secundarioI retry: intervalo (em segundos) de retentativa de atualizacao
do servidor DNS secundarioI expire: validade (em segundos) da informacao mantida pelo
servidor DNS secundarioI minimum: tempo que o servidor DNS secundario mantem a
informacao desse registro
Elvio Leonardo Redes de Computadores
![Page 13: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/13.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Domain Name System (DNS)I Resource Records
I Name Server (NS)domain ttl IN NS server
I server: nome do servidor com informacao segura sobre essedomınio
I Address v4 (A) e v6 (AAAA)host ttl IN A address
host ttl IN AAAA address
I host: nome da maquinaI address: endereco IP da maquina
I Main Exchanger (MX): define o servidor de e-maildomain ttl IN MX preference host
I preference: prioridade do servidor
I Canonical Name (CNAME): define um apelidonickname ttl IN CNAME host
I nickname: apelido (alias)
Elvio Leonardo Redes de Computadores
![Page 14: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/14.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Domain Name System (DNS)I Resource Records
I Pointer (PTR): converte endereco IP em nome de maquinaname ttl IN PTR host
I name: endereco IP no formato in-addr.arpa
I Well Known Services (WKS): identifica servicos disponıveishost ttl IN WKS address protocol service
I protocolo: protocolo de transporte (exemplo, TCP)I service: lista de servicos (exemplo, snmp ftp www)
I Host Information (HINFO)host ttl IN HINFO hardware software
I hardware: identifica o hardware da maquinaI software: identifica o sistema operacional da maquina
I Notacoes especiaisI Sımbolo @ substitui domınio origemI Nomes completos no 1o campo sao terminados com pontoI Nomes terminados sem ponto devem ser complementados com
domınio de origem (exemplo, rowboat = rowboat.cs.vu.nl.)
Elvio Leonardo Redes de Computadores
![Page 15: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/15.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Domain Name System (DNS)I Exemplo de Resource Records
Elvio Leonardo Redes de Computadores
![Page 16: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/16.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Domain Name System (DNS)
I Berkeley Internet Name Domain (BIND)I Implementacao mais utilizada em sistemas UNIXI Componentes: Resolver, Name Server e arquivos de dados do
domınio (resource records)I Configuracao do Resolver
I Contem nome do domınio padrao (default)I Contem nome do(s) servidor(es) de nomes utilizado(s)I Armazenada no arquivo /etc/resolv.conf
I Exemplo
domain redes.unb.br → domınio default
nameserver 164.41.67.130 → servidor de nomes 1
nameserver 164.41.67.131 → servidor de nomes 2
Elvio Leonardo Redes de Computadores
![Page 17: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/17.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Domain Name System (DNS)
I Berkeley Internet Name Domain (BIND)I Configuracao do Name Server
I Armazenada no arquivo /etc/named.boot
I Algumas linhas de exemplo (para BIND 8.2)
options {directory "/var/named"; → diretorio dos arquivos de dados
forwarders {10.0.0.1;10.0.0.2;}; → para onde encaminhar perguntas
forward first; → encaminha antes de tentar resolver
allow-recursion {192.168.3.0/24;}; → recursao so para hosts locais
};
zone "." { → informacao sobre um domain
type hint; → informacao sobre root domain
file "root.servers"; → onde informacao esta
};zone "example.com" in {
type master;
file "master/master.example.com";
allow-transfer {192.168.23.1;};};
Elvio Leonardo Redes de Computadores
![Page 18: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/18.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Correio EletronicoI Uma das primeira aplicacoes a se beneficiarem da
interconexao de computadores em redesI Atualmente ubıquo (onipresente)I Muitas semelhancas com o sistema postal (snail mail)I Especificacao da Internet prevaleceu apesar de esforcos para
padronizacao internacional (com X.400)I Caracteristicas do servico
I Confiavel, com confirmacao de recebimento opcionalI Servico sem conexao (exemplo de servico sem conexao usando
protocolo orientado a conexao, por exemplo TCP)I Protocolos especificam transferencia de arquivos, formato e
codificacao da mensagem, e formato do enderecoI Funcoes: compor, transferir, reportar, mostrar e disporI Outras funcoes: auto-encaminhar, responder “em ferias”,
mailing lists, alta prioridade, filtrar, etc.I Dois subsistemas: User Agent e Message Transfer Agent
Elvio Leonardo Redes de Computadores
![Page 19: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/19.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Correio EletronicoI Especificacao
I RFCs 821 e sucessor 2821: protocolo de transmissaoI RFCs 822 e sucessor 2822: formato da mensagem
I Arquitetura
Elvio Leonardo Redes de Computadores
![Page 20: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/20.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Correio EletronicoI User Agent
I Composicao e exibicao da mensagemI Disposicao da mensagem
(eliminacao, arquivamento,encaminhamento)
I Comunicacao com o MTA localI Espera endereco no formato:
username@domain
I Muitos exemplos: Outlook,Thunderbird, Eudora, etc.
I Message Transfer AgentI Mantem mensagens ainda nao lidasI Controla fila de mensagens a serem
enviadasI Protocolo SMTP (Simple Message
Transfer Protocol) permite troca demensagens entre MTAs
Elvio Leonardo Redes de Computadores
![Page 21: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/21.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Correio Eletronico
I SMTPI Cliente SMTP estabelece conexao TCP com os servidores
SMTP destinatarios utilizando porta 25I Dialogo composto de 3 fases: Handshaking, Transferencia de
mensagens, e FechamentoI Mensagem (corpo e cabecalho) deve utilizar apenas
codificacao ASCII de 7 bitsI Exemplo de dialogo:
S: 220 hamburger.edu
C: HELO crepes.fr
S: 250 Hello crepes.fr, pleased to meet you
C: MAIL FROM: <[email protected]>
S: 250 [email protected]... Sender ok
C: RCPT TO: <[email protected]>
S: 250 [email protected] ... Recipient ok
C: DATA
S: 354 Enter mail, end with "."on a line by itself
C: Do you like ketchup?
C: How about pickles?
C: .
S: 250 Message accepted for delivery
C: QUIT
S: 221 hamburger.edu closing connection
Elvio Leonardo Redes de Computadores
![Page 22: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/22.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Correio EletronicoI SMTP
I Utiliza conexoes persistentes (varios request-reply em umamesma conexao)
I Fim da mensagem indicada por CRLF . CRLF
I Tente usar o SMTP voce mesmo (como enviar um e-mail semter o cliente):
I Digite telnet servername 25I Deve aparecer uma resposta 220 do servidorI Utilize os comandos HELO, MAIL FROM, RCPT TO, DATA, QUIT
l
I Formato da mensagemI Originalmente apenas texto ASCIII Definido o Multipurpose Internet
Mail Extension (MIME) paramultimıdia, outros idiomas que nao oingles, etc.
I Conteudos em diversos formatosdefinidos na RFC 1521
Elvio Leonardo Redes de Computadores
![Page 23: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/23.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Correio EletronicoI Cabecalho (header) da mensagem
Elvio Leonardo Redes de Computadores
![Page 24: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/24.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Correio EletronicoI MIME
I Protocolo que permite a transmissao de dados nao-textoI Cabecalho indica conteudo do tipo MIME
Cabecalho MIME
Exemplo de cabecalho
Elvio Leonardo Redes de Computadores
![Page 25: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/25.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Correio EletronicoI MIME
I Tipos e subtipos
Elvio Leonardo Redes de Computadores
![Page 26: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/26.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Correio Eletronico
I Protocolos de acessoI SMTP (ou ESMT) entrega e armazena no servidor do destinoI Como o usuario acessa e recupera as mensagens?
I Utilizando um protocolos de acessoI Post Office Protocol (POP): usuarios apenas fazem o
download de mensagens; oferece funcionalidade reduzida;difıcil para o usuario movel
I Internet Mail Access Protocol (IMAP): mais complexo;permite manipulacao de mensagens armazenadas no servidor
I HTTP (exemplo, Hotmail , Yahoo!Mail, etc.)
Elvio Leonardo Redes de Computadores
![Page 27: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/27.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Correio Eletronico
I POP3I Permite que o UA contacte o MTA para copiar mensagensI Apos conexao, dialogo passa por 3 estados: Autorizacao,
Transacao, e AtualizacaoI Alguns comandos
I USER: especifica usuarioI PASS: especifica senhaI STAT: obtem quantidade de mensagensI LIST: obtem lista e tamanhos das mensagensI RETR: recupera mensagemI DELE: marca mensagem para descarteI QUIT: descarta mensagens marcadas e fecha conexao TCP
Elvio Leonardo Redes de Computadores
![Page 28: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/28.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Correio Eletronico
I Exemplo de dialogo POP
Elvio Leonardo Redes de Computadores
![Page 29: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/29.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Correio EletronicoI Comparacao POP e IMAP
Elvio Leonardo Redes de Computadores
![Page 30: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/30.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Transferencia de ArquivosI File Transfer Protocol (FTP)
I Transferencia de arquivo de/para host remoto (veja RFC 959)I Modelo cliente-servidor (cliente inicia transferencia)I Dialogo:
I Cliente contacta servidor utilizando TCP na porta 21 eestabelece conexao de controle
I Cliente obtem autorizacao para acessoI Cliente navega pelo sistema remoto de diretoriosI Ao receber um um pedido de transferencia de arquivo, servidor
estabele uma conexao de dados com o cliente utilizando TCPna porta 20
I Apos transferencia de arquivo, conexao de dados e fechadaI Servidor mantem estado da conexaoI Dados e controle utilizam canais separados
Elvio Leonardo Redes de Computadores
![Page 31: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/31.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Transferencia de ArquivosI File Transfer Protocol (FTP)
I ComandosI enviados como texto ASCII
pelo canal de controleI USER username
I PASS password
I LIST: lista de arquivos nodiretorio atual
I RETR filename: retrieveI STOR filename: store
I RespostasI Codigo seguido de frase
(similar ao HTTP)I 331 Username OK, password
required
I 125 data connection already
open; transfer starting
I 425 Can’t open data
connection
I 452 Error writing file
Elvio Leonardo Redes de Computadores
![Page 32: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/32.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Transferencia de Arquivos
I File Transfer Protocol (FTP)I FTP original e inseguro porque senhas, arquivos, comandos e
respostas sao enviados sem encriptacao (podem ser captadospor um packet sniffer)
I A solucao usual a esse problema e utilizar SFTP (SSH FileTransfer Protocol) ou FTPS (FTP over SSL) (veja RFC 4217)
I FTP utiliza multiplas conexoes TCP: 1 para controle e 1 paracada download, upload ou listing
I Alta latencia devido ao numero de comandos para iniciar atransferencia
I Nao existe verificacao de integridade no receptor; se atransferencia e interrompida o receptor nao consegue saber seo arquivo esta completo ou nao
I Alguns servidores utilizam checksum
Elvio Leonardo Redes de Computadores
![Page 33: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/33.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
World Wide Web (WWW)
I Ou simplesmente Web
I Estrutura para acesso de documentos conectados e espalhadospelo globo
I Milhoes de maquinas conectadas
Elvio Leonardo Redes de Computadores
![Page 34: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/34.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
World Wide Web (WWW)I Uma pagina da Web e composta de objetos
I A base e um arquivo HTML (Hypertext Markup Language)que inclui referencia a varios outros objetos
I Objetos podem ser arquivo HTML, imagem JPEG, appletJava, arquivo de audio, etc.
I Cada objeto tem um endereco URL (Uniform ResourceLocator)
I Exemplo URL: http://www.uem.br/din/pics/pic.gifprotocolo html, domınio www.uem.br, diretorio din/pics, earquivo pic.gif
I Lado do cliente (browser)I Interpretador HTMLI Paginas nao HTML com uso de helpers, plug-ins
I Lado do servidorI Otimizacao para acesso rapido: server farms, multithreading,
etc.
Elvio Leonardo Redes de Computadores
![Page 35: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/35.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
World Wide Web (WWW)
I Uniform Resource Locator (URL)
Elvio Leonardo Redes de Computadores
![Page 36: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/36.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
World Wide Web (WWW)
I Hypertext Transfer Protocol (HTTP)I Especifica regras para a interacao cliente-servidor
I Cliente utiliza browser que faz pedidos, recebe e mostraobjetos
I Servidor envia objetos em resposta aos pedidos
I Camada de aplicacao da WebI HTTP/1.0: veja RFC 1945I HTTP/1.1: veja RFC 2616
I Tipicamente utiliza TCP como protocolo de transporteI Operacoes HTTP sao denominadas metodosI Requisicao consiste de 1 ou mais linhas de texto ASCII
especificando o metodo na primeira linhaI Resposta consiste de linha de status (com codigo de 3 dıgitos)
e possivelmente informacao adicional
Elvio Leonardo Redes de Computadores
![Page 37: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/37.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
World Wide Web (WWW)
I Hypertext Transfer Protocol (HTTP)
I Utiliza TCP porta 80
I Cliente inicia conexao e solicita
objetos
I Servidor aceita conexao e responde
as requisicoes
I Ao final conexao TCP e fechada
I Conexao HTTP nao tem estados
I Servidor nao mantem qualquer
informacao sobre as requisioes dos
clientes
Elvio Leonardo Redes de Computadores
![Page 38: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/38.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
World Wide Web (WWW)
I Hypertext Transfer Protocol (HTTP)I Exemplo de operacao
I Usuario entra com a URL www.uem.br/home.html
Cliente HTTP inicia conexão TCP, porta 80, para servidor
HTTP de www.uem.br
Servidor HTTP em www.uem.br espera
conexões TCP na porta 80
Servidor aceita conexão e avisa cliente
Cliente envia request message (contendo a URL)
para servidor Servidor recebe pedido, monta response message
contendo o objeto solicitado e envia
Servidor fecha conexão
Cliente recebe resposta contendo objeto e
apresenta o conteúdo
Elvio Leonardo Redes de Computadores
![Page 39: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/39.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
World Wide Web (WWW)I Hypertext Transfer Protocol (HTTP)
I Nao-persistenteI 1 objeto e enviado por conexao TCPI Servidor analisa pedido, envia resposta e fecha conexao TCPI HTTP/1.0 opera dessa maneiraI 2 RTT (Round Trip Time) para obter 1 objetoI Sofre com slow start do TCPI Browsers usualmente abrem varias conexoes paralelas
I PersistenteI Na mesma conexao TCP varios objetos sao trazidos
I Persistent sem pipeliningI Nova requisicao enviada somente apos receber resposta
anteriorI 1 RTT por objeto
I Persistent com pipeliningI Requisicoes enviadas assim que objetos referenciados sao
encontradosI Com sorte, 1 RTT por todos os objetosI Modo default para HTTP/1.1
Elvio Leonardo Redes de Computadores
![Page 40: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/40.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
World Wide Web (WWW)I Hypertext Transfer Protocol (HTTP)
I Mensagens: request e responseI Formato ASCII para leitura por humanos
I Mensagem de requisicao: formato
Elvio Leonardo Redes de Computadores
![Page 41: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/41.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
World Wide Web (WWW)
I Hypertext Transfer Protocol (HTTP)I Mensagem de requisicao: exemplo
Elvio Leonardo Redes de Computadores
![Page 42: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/42.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
World Wide Web (WWW)
I Hypertext Transfer Protocol (HTTP)I Mensagem de requisicao: metodos (ou verbos)
I HEAD: mesma resposta obtida com o GET mas sem o corpo damensagem de resposta
I GET: requisita o objeto especificadoI POST: submete dados para serem processados (por exemplo,
formulario HTML)I PUT: upload objeto especificadoI DELETE: apaga o objeto especificadoI TRACE: ecoa a requisicao recebidaI OPTIONS: retorna os metodos HTTP respaldados pelo servidorI CONNECT: converte conexao em um tunel TCP/IP (usualmente
para converter para conexao encriptada)
Elvio Leonardo Redes de Computadores
![Page 43: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/43.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
World Wide Web (WWW)
I Hypertext Transfer Protocol (HTTP)I Mensagem de resposta: exemplo
Elvio Leonardo Redes de Computadores
![Page 44: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/44.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
World Wide Web (WWW)
I Hypertext Transfer Protocol (HTTP)I Mensagem de resposta: codigos de status
I 1xx: informacao; requisicao recebida e sendo processadaI 2xx: sucesso; requisicao recebida, entendida e aceitaI 3xx: redirecao; cliente necessita procedimentos adicionais para
completar requisicaoI 4xx: erro do cliente; sintaxe ruim ou requisicao nao pode ser
atendida pelo servidorI 5xx: erro do servidor; requisicao valida mas que nao pode ser
atendida
100 Continue servidor recebeu cabecalho da requisicaoe precisa do corpo da mensagem
200 OK requisicao foi bem-sucedida301 Moved Permanently objeto requisitado foi movido
permanentemente; nova URL no campoLocation da mensagem de resposta
400 Bad Request requisicao nao pode ser atendida404 Not Found documento requisitado nao existe505 HTTP Version Not Supported versao HTTP nao e respaldada pelo servidor
Elvio Leonardo Redes de Computadores
![Page 45: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/45.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
World Wide Web (WWW)
I Hypertext Transfer Protocol (HTTP)I Faca Voce Mesmo
I Conecte-se a um servidor HTTP e abra uma conexao TCP naporta 80telnet www.din.uem.br 80
I Digite um pedido GET e tecle 2 vezes carriage returnGET /~elvio/index.html HTTP/1.0
I Verifique a resposta
Elvio Leonardo Redes de Computadores
![Page 46: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/46.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
World Wide Web (WWW)
I Hypertext Transfer Protocol (HTTP)I Autenticacao
l
I Objetivo: controlar acesso ao servidor
I Sem estados: cliente apresenta autorizacao acada requisicao
I Autorizacao: tipicamente nome e senha
I authorization colocada em linha no
cabecalho
I Se ausente, servidor recusa acesso e envia
WWW authenticate
I Browser mantem nome e senha em cachepara evitar que usuario tenha que digita-losseguidamente
Elvio Leonardo Redes de Computadores
![Page 47: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/47.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
World Wide Web (WWW)
I Hypertext Transfer Protocol (HTTP)I Cookie
l
I Servidor envia cookie ao cliente em umamensagem de respostaExemplo: Set-cookie: 1678453
I Cliente apresenta o cookie em requisicoesfuturasExemplo: cookie: 1678453
I Servidor compara informacao recebida
com informacao armazenada para:
I autenticacao;
I lembrar preferencias do usuario,
escolhas anteriores, etc.
I Desvantagens: permitem obterinformacao sobre usuario (nome, e-mail,etc.)
Elvio Leonardo Redes de Computadores
![Page 48: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/48.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
World Wide Web (WWW)
I Hypertext Transfer Protocol (HTTP)I GET Condicional
l
I Objetivo: evitar que servidor envieobjeto que ja esta armazenado nocliente (em cache)
I Cliente especifica data do objetoarmanezando na requisicaoIf-modified-since: date
I Resposta do servidor nao contemdados se o objeto armazenado estaatualizadoHTTP/1.0 304 Not Modified
Elvio Leonardo Redes de Computadores
![Page 49: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/49.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
World Wide Web (WWW)I Proxy Server (Web Cache)
I Objetivo: atender o cliente sem envolver o servidor de Weboriginador da informacao
I Usuario configura browser para realizar acesso atraves de umproxy
I Cliente envia todas as requisicoes HTTP para proxy serverI Se o objecto existe na cache ele e retornadoI Ou proxy server solicita do servidor original
Elvio Leonardo Redes de Computadores
![Page 50: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/50.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
World Wide Web (WWW)
ll
I Proxy Server (Web Cache)I Porque Web Caching?
I Armazenamento “perto”do cliente
I Menor tempo de respostaI Reduz trafego com
servidor distanteI Menor custo com enlaces
externos
Elvio Leonardo Redes de Computadores
![Page 51: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/51.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Peer to Peer (P2P)
l
I Rede do tipo ad-hoc
I Presenca do servidor nemsempre necessaria
I Computadores finais podemcomunicar-se diretamente
I Peers (parceiros) estaoconectados intermitentemente(nem sempre com o mesmoendereco IP)
I Facil de ser expandido masdifıcil de ser gerenciado
Elvio Leonardo Redes de Computadores
![Page 52: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/52.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Peer to Peer (P2P)
I Procura extrair vantagem da grande quantidade de recursosdisponıveis na borda da rede
I Operacao basica e de compartilhamento de arquivosI Afilia-se a redeI Publica e compartilha arquivosI Procura por arquivosI Obtem arquivo
I Aplicacoes:I Compartilhamento de arquivos (audio, vıdeo, codigo)I Telefonia (Skype)I Comunicacao (Instant Messaging)I JogosI TV (Joost)
Elvio Leonardo Redes de Computadores
![Page 53: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/53.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Peer to Peer (P2P)
I Questao: Quanto tempo seria necessario para 1 servidordistribuir um arquivo para N parceiros?
Elvio Leonardo Redes de Computadores
![Page 54: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/54.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Peer to Peer (P2P)
I Distribuicao de arquivos: BitTorrent
Elvio Leonardo Redes de Computadores
![Page 55: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/55.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Peer to Peer (P2P)I Distribuicao de arquivos: BitTorrent
I Arquivo e dividido em pedacos com 256KBI Peer entrando na torrent:
I Nao tem nenhum pedaco; vai acumula-los ao longo do tempoI Registra-se com tracker e consegue uma lista de peersI Conecta-se a subconjundo de peers (denominados vizinhos)
I Peer recebe e envia pedacos ao mesmo tempoI Uma vez que o arquivo completo foi obtido, peer pode deixar
torrent ou permanecer ajudando outrosI Obtendo pedacos
I Em um instante qualquer, cada peer pode ter um subconjuntodiferente de pedacos do arquivo
I Cada peer pergunta aos vizinhos quais pedacos eles tem esolicita primeiro transferencia daqueles mais raros
I Enviando pedacosI Peer envia a 4 vizinhos na mais alta taxa de que capaz e
espera o mesmo tratamentoI A posicao desses 4 vizinhos e reavalizada a cada 10 segundosI A cada 30 segundos um outro peer e escolhido aleatoriamente
Elvio Leonardo Redes de Computadores
![Page 56: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/56.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Peer to Peer (P2P)
I Busca por informacaoI Index: relaciona informacao a localizacao do peer (endereco IP
e numero de porta)I Compartilhamento de arquivos (e-mule)
I Index rastreia localizacao dos arquivos compartilhadosI Peers precisam comunicar index o que eles temI Peers procuram no index arquivos que eles querem
I Comunicacao (Instant messaging, IM)I Index relaciona nomes a localizacoesI Quando um usuario comeca a aplicacao IM ele informa a sua
localizacaoI Peers buscam no index o endereco IP dos usuarios
Elvio Leonardo Redes de Computadores
![Page 57: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/57.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Peer to Peer (P2P)
l
I Index centralizadoI Arquitetura do Napster
original
1. Quando peer conecta-se,ele informa ao servidorcentral o seu endereco IP eo seu conteudo
2. Alice pergunta por umartigo
3. Alice pede arquivo a Bob
I Problemas:I Ponto unico de falhaI Possıvel engarrafamento
no servidorI Pirataria: alvo e obvio
Elvio Leonardo Redes de Computadores
![Page 58: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/58.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Peer to Peer (P2P)
I Index descentralizado: Query floodingI Sem servidor central; totalmente descentralizado
I Usado por GnutellaI Cada peer indexa os arquivos que ele mantem para
compartilhamento
I Utiliza rede em grafo construıda sobre rede fısicaI Enlace entre peers X e Y significa que existe uma conexao
TCP entre elesI Cada peer esta conectado a ate 10 vizinhos
I Query floodingI Mensagem de Query enviada por TCP ao vizinhosI Vizinhos encaminham adiante QueryI Quando ıtem e encontrado, mensagem QueryHit e
encaminada no sentido inverso
Elvio Leonardo Redes de Computadores
![Page 59: Redes de Computadores - UEMelvio/redes/7-Aplicacao.pdfCamada de Aplica»c~ao Introdu»c~ao Estudo de Caso Principais Fun»c~oes I Oferece servi»cos de rede aos processos da aplica»c~ao](https://reader033.vdocuments.net/reader033/viewer/2022042204/5ea56c8042a050366c0f537b/html5/thumbnails/59.jpg)
Camada de AplicacaoIntroducaoEstudo de Caso
Peer to Peer (P2P)I Query flooding
Elvio Leonardo Redes de Computadores