camada de aplicacao parte2

27
Camada de aplicação FTP, SMTP, DNS e P2P Gerson Leiria Nunes [email protected]

Upload: universidade-federal-do-pampa

Post on 12-Aug-2015

38 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Camada de aplicacao parte2

Camada de aplicaçãoFTP, SMTP, DNS e P2P

Gerson Leiria [email protected]

Page 2: Camada de aplicacao parte2

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

Page 3: Camada de aplicacao parte2

Conectando ao servidor de FTP

Conexão

Envio e recepção de arquivos

Page 4: Camada de aplicacao parte2

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

Page 5: Camada de aplicacao parte2

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

Page 6: Camada de aplicacao parte2

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

Page 7: Camada de aplicacao parte2

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

Page 8: Camada de aplicacao parte2

SendMailPostfixEximQmail

Principais servidores SMTP

Page 9: Camada de aplicacao parte2

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

Page 10: Camada de aplicacao parte2

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

Page 11: Camada de aplicacao parte2

DNS – Domain Name System

Page 12: Camada de aplicacao parte2

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

Page 13: Camada de aplicacao parte2

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

Page 14: Camada de aplicacao parte2

Tipos de domínios

Page 15: Camada de aplicacao parte2

@ 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

Page 16: Camada de aplicacao parte2

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?

Page 17: Camada de aplicacao parte2

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

Page 18: Camada de aplicacao parte2

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

Page 19: Camada de aplicacao parte2

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

Page 20: Camada de aplicacao parte2

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

Page 21: Camada de aplicacao parte2

Cliente-servidor versus P2P: exemplo

Taxa de upload cliente = u, F/u = 1 hora, us = 10u, dmin ≥ us

Page 22: Camada de aplicacao parte2

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

Page 23: Camada de aplicacao parte2

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

Page 24: Camada de aplicacao parte2

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

Page 25: Camada de aplicacao parte2

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)

Page 26: Camada de aplicacao parte2

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

Page 27: Camada de aplicacao parte2

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