camada de aplicacao parte2
TRANSCRIPT
Camada de aplicaçãoFTP, SMTP, DNS e P2P
Gerson Leiria [email protected]
Protocolo de transferência de arquivos◦Modelo Cliente/Servidor◦Padrão: RFC 959◦Porta: 21◦Protocolo de transporte: TCP◦Controle de acesso de usuários◦Acesso anônimo (anonymous/ftp/guest)◦Clientes conhecidos: ftp, wuftp e filezilla
FTP – File Transfer Protocol
Conectando ao servidor de FTP
Conexão
Envio e recepção de arquivos
PWD ( identifica o diretório atual de trabalho) LIST, dir ou ls ( lista os arquivos do diretório
atual) bi ( modo binário de transmissão) hash ( exibe uma marca a cada 1024bytes ) RETR ou get <arquivo> ( faz download do
arquivo ) STOR ou put <arquivo> ( faz upload do arquivo
) mget * ( faz download de múltiplos arquivos ) mput * ( faz upload de múltiplos arquivos )
Principais comandos
Protocolo de transferência de correio eletrônico◦Modelo Cliente/Servidor◦Padrão: RFC 2821◦Porta: 25◦Protocolo de transporte: TCP◦Controle de acesso de usuários◦Clientes/Agentes mais conhecidos: mutt,
alpine, eudora, outlook, thunderbird e outros.
Send Mail Transfer Protocol - SMTP
SMTP – Send Mail Transfer Protocol
Três componentes principais:
Leitores de correio servidores de correio Simple Mail Transfer Protocol:
SMTP
Leitores de correio Permite redigir, editar, ler e
enviar mensagens de correio eletrônico;
caixa de entradado usuário
fila demsg. de saída
mailserver
agenteusuário
serv.correio
serv.correio
SMTP
SMTP
SMTPagenteusuário
agenteusuário
agenteusuário
agenteusuário
agenteusuário
SMTP – Send Mail Transfer Protocol
servidores de correio caixa de correio: contém
mensagens que chegam para o usuário
fila de mensagens: com mensagens de correio a serem enviadas
protocolo SMTP: entre servidores de correio para enviar mensagens de e-mail◦ cliente: servidor de envio de
correio◦ servidor: servidor de
recepção de correio
caixa de entradado usuário
fila demsg. de saída
mailserver
agenteusuário
serv.correio
serv.correio
SMTP
SMTP
SMTPagenteusuário
agenteusuário
agenteusuário
agenteusuário
agenteusuário
SendMailPostfixEximQmail
Principais servidores SMTP
Protocolos de leitura de emails◦ POP3 (Post Office Protocol)
Padrão: RFC 1939 TCP Porta 110 Autorização, leitura e exclusão de mensagens
◦ IMAP (Internet Mail Access Protocol) Padrão: RFC 1730 TCP Porta 143 Manipulação de mensagens do servidor Hierarquia de diretórios
Principais protocolos associados
Responsável por resolver os nomes em endereços de ips e vice-versa.
www.furg.br <=> 200.19.254.113 TCP e UDP Porta: 53 Utiliza queries e responses Cliente de verificação: nslookup Servidor: bind9, powerdns, incognito
(DDNS) e outros.
DNS – Domain Name System
DNS – Domain Name System
Solicitawww.c3.furg.br
www.c3.furg.bru
serv. DNS raiz
serv. DNS localdns.local
1
2
45
6
serv. DNS com autoridadedns.furg.br
7
8
serv. DNS TLD
3
Consulta recursiva
whois www.dominio.com.br nslookup www.dominio.com.br Entrar no site do www.registro.br REGISTRO.BR
◦ Entidade responsável pelo registros de domínios brasileiros
◦ Preço? Barato! 30 – 40 R$ / ano◦ Dados necessários:
Nome completo, CPF, RG e comprovante de endereço.
CNPJ, Contrato social, comprovante de endereço e outros.
Como verificar se um domínio existe
Tipos de domínios
@ IN SOA dominio.com.br root.dominio.com.br. (
2011090901 ; versão
10800 ; refresh (3 horas)
1800 ; retry (30 minutos)
3600000 ; expire (41 dias e 16 horas)
86400) ; ttl default (1 dia) ;
IN NS ns.dominio.com.br.
IN MX 5 mail.dominio.com.br.
gw IN A 200.19.232.254
dns1 IN A 200.19.232.1
dns2 IN A 200.19.232.2
mail IN A 200.19.232.3
correio IN A 200.19.232.3
ftp IN A 200.19.232.4
www IN A 200.19.232.5
www1 IN A 200.19.232.6
www2 IN A 200.19.232.7
www3 IN A 200.19.232.8
.
.
.
Configurando um domínio
Meu computador não navega! O que faço?◦ Verifique os cabos e conexões físicas◦ Verifique seu ip (/sbin/ifconfig)◦ Verifique seu gateway (route –n)◦ Pingue seu roteador ( ping IP_DO_GW )◦ Teste um ip externo ( ping 150.162.248.1 )◦ Verifique seu DNS ( nslookup www.google.com.br )◦ Caso não funcione o nslookup
Verifique o arquivo /etc/resolv.conf Caso de windows as configurações de rede Insira o ips do servidor OPENDNS.ORG
Primário: 208.67.222.222 Secundário: 208.67.220.220
Tente navegar novamente
Problemas ao resolver nomes?
Não possui servidor sempre ligado Sistemas finais arbitrários se comunicam
diretamente Pares estão conectados intermitentemente e
podem mudar de endereços IP
Três tópicos:◦ distribuição de arquivos◦ procura de informações
Redes P2P
Napster (percursores, revolução da mp3)
Torrents (utorrent, bittorrent e etc)
Skype (revolução das comunicações VOIP e MOIP)
Amule, Emule, kazaa, shareza, eDonkey, gnutella, fasttrack e muitos outros.
Redes P2P - Exemplos
Distribuição de arquivo: cliente-servidor versus P2P
Pergunta: Quanto tempo para distribuir arquivo de um servidor para N pares?
us
u2d1 d2u1
uN
dN
servidor
rede (com largura debanda abundante)
ui: largura de banda de upload do par i
di: largura de banda de download do par i
Tempo de distribuição de arquivo: cliente-servidor
us
u2d1 d2u1
uN
dN
servidor
rede (com largurade banda abundante)
F servidor envia N cópias
sequencialmente:◦ tempo NF/us
cliente i leva um tempo F/di para o download
aumenta linearmente em N(para N grande)
= dcs = max { NF/us, F/min(di) }i
tempo para distribuir F a N clientes usando
técnica cliente/servidor
Cliente-servidor versus P2P: exemplo
Taxa de upload cliente = u, F/u = 1 hora, us = 10u, dmin ≥ us
Distribuição de arquivos:BitTorrent
rastreador: verifica paresque participam do torrent
torrent: grupo depares trocandopedaços de umarquivo
obtém listade pares
trocando pedaços
par
distribuição de arquivos P2P
BitTorrent
arquivo dividido em pedaços de 256 KB. torrent de ajuntamento de pares:
◦ não tem pedaços, mas os acumulará com o tempo◦ registra com rastreador para obter lista de pares, conecta a subconjunto de pares (“vizinhos”)
ao fazer download, par faz upload de pedaços para outros pares
pares podem ir e vir quando par tem arquivo inteiro, ele pode (de forma
egoísta) sair ou (de forma altruísta) permanecer
Estudo de caso do P2P: Skype
P2P: pares de usuários se comunicam.
protocolo próprio da camada de aplicação
índice compara usernames com endereços IP; distribuído pelos supernós.
Clientes Skype (SC)
supernó(SN)
servidor delogin Skype
Distributed Hash Table (DHT)
DHT = banco de dados P2P distribuído banco de dados tem duplas (chave,
valor); ◦ chave: número ss; valor: nome humano◦ chave: tipo conteúdo; valor: endereço IP
pares consultam BD com chave◦ BD retorna valores que combinam com a
chave pares também podem inserir duplas
(chave, valor)
Identificadores DHT
atribuem identificador inteiro a cada par no intervalo [0,2n - 1].◦ cada identificador pode ser representado por n bits.
exigem que cada chave seja um inteiro no mesmo intervalo.
para obter chaves inteiras, misture chave original.◦ p. e., chave = h(“Led Zeppelin IV”)◦ É por isso que a chamamos de tabela “hash”
distribuída
Como atribuir chaves aos pares?
questão central:◦ atribuir duplas (chave, valor) aos pares.
regra: atribuir chave ao par que tem o ID mais próximo.
convenção na aula: mais próximo é o sucessor imediato da chave.
ex.: n = 4; pares: 1,3,4,5,8,10,12,14; ◦ chave = 13, então par sucessor = 14◦ chave = 15, então par sucessor = 1