2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

Slides:



Advertisements
Apresentações semelhantes
Capítulo 2: Camada de Aplicação
Advertisements

Bruno Rafael de Oliveira Rodrigues
Configuração de um servidor FTP
Curso Técnico de Informática
Servidor de s e Protocolo SMTP
Servidor de s e Protocolo SMTP
DNS e Serviço de Nomes Campus Cachoeiro Curso Técnico em Informática
Peer to Peer Referência:
DNS: Domain Name System
Prof. Evandro Cantú, Dr. Eng. REDES DE COMPUTADORES.
DNS Introdução.
Conceitos Básicos de Informática REDES DE COMUNICAÇÃO: INTERNET
Arquitetura. Transferência de Arquivos – FTP Transferência de arquivos em sistemas remotos Utiliza o protocolo FTP sobre uma conexão TCP Estabelece conexão.
Internet e Intranet A Internet é um conglomerado de redes em escala mundial de milhões de computadores interligados pelo Protocolo de Internet que permite.
TCP/IP básico e outros protocolos
TCP/IP CAMADA DE APLICAÇÃO SERVIÇOS
Funcionalidades e Protocolos da Camada de Aplicação
Modelo de referência OSI
Aula 9 - Camada de aplicação
Redes de Computadores Camada de Aplicação.
REDES DE COMPUTADORES Prof. Deivson
Capítulo 2 – Camada de Aplicação
Funcionalidade e Protocolos da Camada de Aplicação
Protocolo SMTP e POP O que é SMTP?
Disciplina: Redes de Computadores Professora: Rossana Andrade
Enviando e recebendo mensagens através dos protocolos SMTP e POP3 João Gilberto Magalhães.
Universidade do Vale do Rio dos Sinos - São Leopoldo -
2 © 2005 by Pearson Education  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.
Redes e Sistemas Internet FTP e
Faculdade de Tecnologia SENAI de Desenvolvimento Gerencial
Faculdade de Tecnologia SENAI de Desenvolvimento Gerencial
Serviços de Nomes e DNS 1.
ICORI Instalação e configuração de computadores em redes locais e Internet Pedro Amaro –
Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Davidson Rodrigo Boccardo
IIS Web Server.
© 2010 Pearson Prentice Hall. Todos os direitos reservados.slide 1 SIP: Session Initiation Protocol [RFC 3261] Visão a longo prazo do SIP: r todas as ligações.
Falso, HTTP usa TCP. 1) HTTP usa arquitetura cliente servidor, aceitando conexões UDP na porta 80.
REDES DE COMPUTADORES CONCEITOS E TÓPICOS RELACIONADOS A REDES DE COMPUTADORES ________________________________________________ Redes – Prof. Roni Márcio.
7 © 2005 by Pearson Education SIP  Session Initiation Protocol  Desenvolvido pelo IETF Visão de longo prazo do SIP  Todas chamadas telefônicas.
Domain Name System - Sistema de Nomes de Domínios
Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Infra-Estrutura de Comunicação (IF678)
Infra-Estrutura de Comunicação (IF678)
Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Camada de Transporte: protocolo UDP
DNS Willamys Araújo 1. Introdução A internet possui uma infinidade de sites e, para acessá-los, você digita um endereço no campo correspondente do seu.
Administração e Projeto de Redes
Infra-Estrutura de Comunicação (IF678) Aula Prática 01 – CIn/UFPE Anália Lima Bruno Gentilini Eduardo Souza Ivan França.
Redes de computadores: Aplicações Prof. Dr. Amine BERQIA
TCP/IP.
Camada de Aplicação Prof. Horácio. Objetivo Apresentar os detalhes específicos dos tipos de aplicação; Apresentar o modelo cliente-servidor; Apresentar.
Tema 07: A camada de aplicação: protocolos HTTP, SMTP, DNS, FTP
Serviços de rede e internet Jackson Eduardo da Silva.
Redes de Computadores Camada de Aplicação.
Redes de Computadores 2 - Camada de Aplicação (Princípios Básicos) –
Administração e Projeto de Redes Material de apoio Camada de Transporte Cap.4 10/02/2010.
DNS Suporte técnico. DNS ● Domain Name Server ● Responsável pela resolução de nomes ● IP (v4 e v6) identificador único na rede o ● Nomes facilitam.
Sistemas Distribuídos Professor: Luiz José Hoffmann Filho
Capítulo 2 Redes de computadores e a Internet Camada de aplicação Prof. Gustavo Wagner.
Capítulo 2 Redes de computadores e a Internet Camada de aplicação Prof. Gustavo Wagner.
Alessandro D. R. Fazenda
Redes de Computadores e Aplicações – Camada de aplicação IGOR ALVES.
2a: Camada de Aplicação 1 Capítulo 2: Roteiro r 2.1 Princípios de aplicações de rede r 2.2 A Web e o HTTP r 2.3 Transferência de arquivo: FTP r 2.4 Correio.
Sistemas Operacionais de Redes DNS
Curso Superior em Redes de Computadores FTP Prof. Sales Filho.
Capítulo 2 Redes de computadores e a Internet Camada de aplicação Prof. Gustavo Wagner.
Curso Superior em Redes de Computadores Camada de Aplicação Prof. Sales Filho.
Curso Superior em Redes de Computadores SMTP Prof. Sales Filho.
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Transcrição da apresentação:

2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking: A Top-Down Approach Featuring the Internet. Os slides foram disponibilizados pelos autores James F. Kurose e Keith W. Ross All material copyright J.F Kurose and K.W. Ross, All Rights Reserved

2: Application Layer 2 Capítulo 2: Camada de Aplicação  2.1 Princípios das aplicações de rede  2.2 Web e HTTP  2.3 FTP  2.4  SMTP, POP3, IMAP  2.5 DNS  2.6 Aplicações P2P  2.7 Programação de Sockets com TCP  2.8 Programação de Sockets com UDP

2: Application Layer 3 FTP: protocolo para transferência de arquivos  Transfere um arquivo de/para um host remoto  Modelo cliente/servidor  cliente: inicializa a transferência (para/do host remoto)  servidor: host remoto  ftp: RFC 959  servidor ftp: porta 21 file transfer FTP server FTP user interface FTP client local file system remote file system user at host

2: Application Layer 4 FTP: conexões de controle e dados separadas  Cliente FTP client contacta o servidor FTP na porta 21, e o TCP é o protocolo de transporte  Cliente é autorizado na conexão de controle  Cliente navega no diretório remoto, mandando comandos através da conexão de controle  Quando o servidor recebe um comando de transferência de arquivo, o servidor abre uma segunda conexão TCP com o cliente  Após a transferência de um arquivo, o servidor encerra a conexão de dados FTP client FTP server Conexão TCP de controle porta 21 Conexão TCP de dados porta 20  Sevidor estabelece uma outra conexão de dados para tranferência de um outro arquivo  Conexão de controle: “out of band”  FTP servidor mantem um “estado” : diretório corrente, autenticação

2: Application Layer 5 FTP comandos, respostas Exemplos de Comandos:  Envia um texto ASCII através do canal de controle  USER username  PASS password  LIST retorna a lista dos arquivos do diretório corrente  GET nomearquivo faz o download do arquivo  STOR nomearquivo armazena o arquivo no host remoto Exemplos de códigos de retorno  Código do status e a descrição (como no HTTP)  331 Username OK, password required  125 data connection already open; transfer starting  425 Can’t open data connection  452 Error writing file

2: Application Layer 6 Capítulo 2: Camada de Aplicação  2.1 Princípios das aplicações de rede  2.2 Web e HTTP  2.3 FTP  2.4  SMTP, POP3, IMAP  2.5 DNS  2.6 Aplicações P2P  2.7 Programação de Sockets com TCP  2.8 Programação de Sockets com UDP

2: Application Layer 7 Três componentes principais  User agent (programa de )  servidores de  simple mail transfer protocol: SMTP User agent  a.k.a. “leitor do ”  Escreve, edita e lê mensagens de  e.g., Eudora, Outlook, elm, Mozilla Thunderbird  Mensagens são armazenadas no servidor em filas de entrada e saída user mailbox outgoing message queue mail server user agent user agent user agent mail server user agent user agent mail server user agent SMTP

2: Application Layer 8 Servidores Servidores  mailbox contém as mensagens envidas a um usário  fila de mensagens de saída (mensagens a serem enviadas)  protocolo SMTP entre os servidores de mensagens para troca de s  cliente: enviando o a partir do servidor  “servidor”: recebendo a mensagem vinda do outro servidor mail server user agent user agent user agent mail server user agent user agent mail server user agent SMTP

2: Application Layer 9 SMTP [RFC 2821]  Usa TCP para transferência confiável das mensagens de , porta 25  Transferência direta: enviando o do servidor de origem para o servidor de destino  Três fases de transferência  handshaking (saudação)  transferência de mensagens  fechamento  Interação comandos/respostas  comandos: texto ASCII  resposta: código e frase  Mensagens devem ser em ASCIIs

2: Application Layer 10 Cenário: Alice envia mensagem para Bob 1) Alice usa UA para compor uma mensagem para 2) UA envia a mensagem para o seu servidor de ; mensagem é aramzenada na fila de mensagens 3) Lado cliente do SMTP abre uma conexão com o servidor de do Bob 4) Cliente SMTP envia a mensagem de Alice pela conexão TCP 5) Servidor de do Bob coloca a mensagem no mailbox de Bob 6) Bob executa o seu UA para ler a mensagem user agent mail server mail server user agent

2: Application Layer 11 Interação SMTP S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: S: 250 Sender ok C: RCPT TO: S: 250 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

2: Application Layer 12 SMTP  SMTP usa conexão persistente  SMTP requer mensagens (cabeçalho e corpo) em ASCII  Servidor SMTP usa CRLF.CRLF para determinar fim de mensagem Comparação com o HTTP:  HTTP: recuperação de informação  SMTP: envio de informação  Ambos enviam comandos/respostas no formato ASCII  HTTP: cada objeto é encapsulado em uma msg de reposta  SMTP: múltiplos objetos enviados em uma uma mensagem

2: Application Layer 13 Formato da Mensagem SMTP: protocolo para troca de msgs de RFC 822: padrão:  Linhas do cabeçalho,  De:  Para:  Assunto: Diferente dos comandos SMTP  corpo  A mensagem em caracteres ASCII header body blank line

2: Application Layer 14 Protocolos de acesso a  SMTP: entrega/armazenamento no servidor do receptor  Protocolo de acesso ao recuperação a partir do servidor  POP: Post Office Protocol [RFC 1939] Autenticação (user agent servidor) e download  IMAP: Internet Mail Access Protocol [RFC 1730] Mais funcionalidades (mais complexo) Manipulação das mensagens armazenadas no servidor  HTTP: gmail, Hotmail, Yahoo! Mail, etc. user agent sender’s mail server user agent SMTP access protocol receiver’s mail server

2: Application Layer 15 Protocolo POP3 Fase de autenticação  Comandos do cliente:  user: declara o nome do usuário  pass: senha  Respostas do servidor  +OK  -ERR Fase de transação, cliente:  list: lista números das mensagens  retr: recupera a mensagem pelo número  dele: apaga  quit C: list S: S: S:. C: retr 1 S: S:. C: dele 1 C: retr 2 S: S:. C: dele 2 C: quit S: +OK POP3 server signing off S: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK user successfully logged on

2: Application Layer 16 POP3 e IMAP POP3  Exemplo anterior utiliza o modo “download e apaga”.  Bob não pode ler novamente o se ele muda de cliente  “Download-e-mantém”: cópias das mensagens em diferentes clientes  POP3 é sem estado entre sessões IMAP  Mantem todas as mensagens no servidor  Permite o usuário organizar as mensagens em folders  IMAP mantém estado entre sessões

2: Application Layer 17 Capítulo 2: Camada de Aplicação  2.1 Princípios das aplicações de rede  2.2 Web e HTTP  2.3 FTP  2.4  SMTP, POP3, IMAP  2.5 DNS  2.6 Aplicações P2P  2.7 Programação de Sockets com TCP  2.8 Programação de Sockets com UDP

2: Application Layer 18 DNS: Domain Name System Pessoas: muitos identificadores:  nome, CI, CPF, passaporte Roteadores e hosts:  Endereço IP address (32 bits) – usado para endereçar datagramas  “nome”, e.g., ww.yahoo.com – usado por humanos Q: como mapear um endereço IP e o nome? Domain Name System:  Banco de dados distribuído implementado em hierarquia com muitos servidores de nome  Protocolo da camada de aplicação hosts, roteadores, servidores de nomes se comunicama para resolver nomes (tradução endereço/nome)

2: Application Layer 19 DNS Por quê não centralizar o DNS?  Único ponto de falha  Volume de tráfego  Banco de dado centralizado distante  Manutenção Não é escalável! Serviços DNS  Tradução do nome para o endereço IP  Apelidos de hospedeiro  Apelidos do servidor de  Distribuição de carga  Vários servidores Web: conjunto de endereços IP para um único nome

2: Application Layer 20 Root DNS Servers com DNS servers org DNS serversedu DNS servers poly.edu DNS servers umass.edu DNS servers yahoo.com DNS servers amazon.com DNS servers pbs.org DNS servers Banco de Dados Distribuído e Hierárquico Cliente procura o IP para  Cliente consulta um servidor raiz para encontrar o servidor DNS.com  Cliente consulta o servidor DNS.com para encontrar o servidor amazon.com  Cliente consulta o servidor amazon.com para encontrar o endereço

2: Application Layer 21 DNS:Servidores Raiz  Contactado pelo servidor de nome local que não pode traduzir o nome  Servidor raiz 13 servidores raiz de nome no mundo b USC-ISI Marina del Rey, CA l ICANN Los Angeles, CA e NASA Mt View, CA f Internet Software C. Palo Alto, CA (and 36 other locations) i Autonomica, Stockholm (plus 28 other locations) k RIPE London (also 16 other locations) m WIDE Tokyo (also Seoul, Paris, SF) a Verisign, Dulles, VA c Cogent, Herndon, VA (also LA) d U Maryland College Park, MD g US DoD Vienna, VA h ARL Aberdeen, MD j Verisign, ( 21 locations)

2: Application Layer 22 Servidores TLD e com autoridade  Servidores Top-level domain (TLD) :  responsáveis por for com, org, net, edu, etc, e todos os domínios de países br, uk, fr, ca, jp.  Network Solutions mantém servidores para.com TLD  Educause para.edu TLD  Servidores DNS com autoridade:  Servidores DNS de uma organização, que fornecem um host para mapear os nomes dos servidores da organização em endereços IPs (e.g., Web, mail).  Podem ser mantidos pela organização ou por um provedor de serviços

2: Application Layer 23 Servidor de Nome Local  Não pertence a hierarquia  Cada ISP (ISP residencial, empresa, universidade) tem um.  Também chamado de “default name server”  Quando um host faz uma consulta DNS, a consulta é enviada ao servidor DNS local  Atua como um proxy, enviando a consulta aos servidores da hierarquia

2: Application Layer 24 requesting host cis.poly.edu gaia.cs.umass.edu root DNS server local DNS server dns.poly.edu authoritative DNS server dns.cs.umass.edu 7 8 TLD DNS server DNS - Exemplo de resolução de Nome  Host em cis.poly.edu quer o endereço para gaia.cs.umass.edu Consulta iterativa:  Contacta o servidor e responde com o nome do próximo servidor para contato  “Não consigo resolver este nome, mas pergunte a este servidor”

2: Application Layer 25 requesting host cis.poly.edu gaia.cs.umass.edu root DNS server local DNS server dns.poly.edu authoritative DNS server dns.cs.umass.edu 7 8 TLD DNS server 3 Consulta recursiva:  Toda a consulta é feita através do servidor raiz  Alta carga? DNS - Exemplo de resolução de Nome

2: Application Layer 26 DNS: cache e atualização dos registros  Uma vez que o servidor de nome aprende o mapeamento, ele armazena este mapeamento  As entradas da cache são apagadas após algum tempo  Os servidores TLD tipicamente estão armazenados nos servidores locais Dessa maneira, os servidores raiz não são visitados frequentemente  Mecanismos de update/notificação:  RFC 2136 

2: Application Layer 27 Registros DNS DNS: banco de dados distribuído para armazenar os registros dos recursos (resource records - RR)  Tipo=NS  Nome é domínio (e.g. foo.com)  Valor é hostname de um servidor de nomes com autoridade para o este domínio (foo.com,dns.foo.com,NS) Formato RR : (nome, valor, tipo, ttl)  Tipo=A  Nome é hostname  Valor é endereço IP (relay1.bar.foo.com, ,A)  Tipo=CNAME  Nome é um apelido para algum nome real é, na realidade, servereast.backup2.ibm.com  Valor é o nome real (foo.com,relay1.bar.foo.com, CNAME)  Tipo=MX  Valor é nome do servidor de associado ao apelido que está no campo nome (foo.com,mail.bar.foo.com,MX)

2: Application Layer 28 DNS: protocolo, mensagens Protocolo DNS : mensagens de busca e resposta, ambas com o mesmo formato Cabeçalho  Identificação: 16 bits para busca, respostas usam o mesmo número  flags:  Consulta ou resposta  Recursão desejada pelo cliente  Servidor suporta recursão  Resposta vem de um servidor com autoridade

2: Application Layer 29 DNS: protocolo, mensagens Nome, campos de tipo para uma consulta RRs de resposta a consulta Registros para servidores com autoridade Informação adicional “útil” que pode ser usada

2: Application Layer 30 Inserindo registros no DNS  Exemplo: novo domínio “Network Utopia”  Registrar o nome networkuptopia.com em uma entidade registradora (e.g., Network Solutions)  Deve-se informar os nomes e endereços IPs dos servidores DNS com autoridade (primários e secundários)  A entidade registradora insere duas RRs em um servidor TLD.com: (networkutopia.com, dns1.networkutopia.com, NS) (dns1.networkutopia.com, , A)  Cria-se um registro de servidor de autoridade do tipo A para Registro do tipo MX para networkutopia.com

2: Application Layer 31 Capítulo 2: Camada de Aplicação  2.1 Princípios das aplicações de rede  2.2 Web e HTTP  2.3 FTP  2.4  SMTP, POP3, IMAP  2.5 DNS  2.6 Aplicações P2P  2.7 Programação de Sockets com TCP  2.8 Programação de Sockets com UDP

2: Application Layer 32 Arquitetura P2P  Servidor não fica sempre em funcionamento  Sistemas finais se comunicam diretamente  Peers conectam/desconectam e mudam de endereço IP  Tópicos:  Distribuição de arquivos  Procurando por informação  Estudo de Caso: Skype peer-peer

2: Application Layer 33 Distribuição de Arquivos: Servidor- Cliente vs P2P Questão : Quanto tempo é necessário para distribuir um arquivo a partir de um servidor para N peers? usus u2u2 d1d1 d2d2 u1u1 uNuN dNdN Server Network (with abundant bandwidth) File, size F u s : banda de upload do servidor u i : banda de upload do peer i d i : banda de download do peer i

2: Application Layer 34 Tempo de distribuição de um arquivo: servidor-cliente usus u2u2 d1d1 d2d2 u1u1 uNuN dNdN Server Network (with abundant bandwidth) F  Servidor envia sequencialmente N cópias:  Tempo NF/u s  cliente i leva F/d i para download Aumenta linearmente com N (para N grande) = d cs = max { NF/u s, F/min(d i ) } i Tempo para distribuir o arquivo F para N clientes usando cliente/servidor

2: Application Layer 35 Tempo de distribuição de um arquivo: P2P usus u2u2 d1d1 d2d2 u1u1 uNuN dNdN Server Network (with abundant bandwidth) F  Servidor envia uma cópia: F/u s  cliente i demora F/d i para fazer o download  NF bits devem ser disseminados (agregado)  Taxa de upload mais rápida: u s +  u i d P2P = max { F/u s, F/min(d i ), NF/(u s +  u i ) } i

2: Application Layer 36 Servidor-cliente vs. P2P: examplo Taxa de upload do Cliente = u, F/u = 1 hour, u s = 10u, d min ≥ u s

2: Application Layer 37 Distribuição do arquivo: BitTorrent tracker: mantém peers que participam do torrent torrent: grupo de peers trocando chunks de um mesmo arquivo obtain list of peers trading chunks peer  P2P: disseminação de um arquivo

2: Application Layer 38 BitTorrent (1)  Arquivo dividido em chunks de 256KB.  Ao se ajuntar a um torrent, peer:  Não tem chunks, mas acumulará com o tempo  Se registra no tracker para obter a lista de peers e se conecta a um subconjunto de peers (“vizinhos”)  Enquanto faz o download, peer envia chunks para outros peers.  peers entram e saem da rede  Uma vez que o peer tenha todo o arquivo, pode sair (egoisticamente) ou permanercer (altruisticamente)

2: Application Layer 39 BitTorrent (2) Obtendo Chunks  A qualquer instante de tempo, peers diferentes possuem diferentes subconjunto de chunks  periodicamente, um peer (Alice) pede a cada vizinho a lista de chunks que possui  Alice envia requisições para os chunks que ainda não possui  rarest first Enviando Chunks: tit-for-tat  Alice envia chunks para 4 vizinhos  Reavaliação dos top 4 a cada 10 segundos  A cada 30 segundos: seleciona, aleatoriamente, um outro peer, e inicia o envio dos chunks  O peer escolhido mais recentemente passa a fazer parte do top 4  “optimistically unchoke”

2: Application Layer 40 BitTorrent: Tit-for-tat (1) Alice “optimistically unchokes” Bob (2) Alice se torna um dos 4 provedores do arquivo para Bob; Bob se torna um dos 4 provedores do arquivo para Alice (3) Bob se transforma em um dos 4 fornecedores top de Alice Com taxa de upload maior, usuário pode encontrar melhores peers para trocar chunks e baixar o arquivo mais rapidamente!

2: Application Layer 41 P2P : Skype  Pares de usuários se comunicam.  Protocolo da camada de aplicação é prorietário (inferido através de engenharia reversa)  Overlay hierárquico com Supernodes  Índice mapeia nome de usuários a um endereço IP; distribuído entre os Supernodes Skype clients (SC) Supernode (SN) Skype login server