Escolar Documentos
Profissional Documentos
Cultura Documentos
Hermes Moraes
Slides adaptados do material fornecido pelo livro Computer networking; Kurose, Ross
Camada de aplicao
2.1 Princpios de aplicaes de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio electrnico
SMTP, POP3, IMAP
2.5 DNS
2-2
E-mail Web Mensagem instantnea Login remoto P2P file sharing Jogos de rede multi-usurio Telefonia via Internet
2-3
finais e
Se comuniquem atravs de uma rede.
Ex.: Web software de servidor Web se comunicando com software do browser.
Camada de aplicao
2.1
2.5 DNS
2-5
Arquiteturas de aplicao
Cliente-servidor
Peer-to-peer (P2P)
Hbrida de cliente-servidor e P2P
2-6
Arquitetura cliente-servidor
Servidor: Hospedeiro sempre ativo Endereo IP permanente Fornece servios solicitados pelo cliente
Clientes: Comunicam-se com o servidor Pode ser conectado intermitentemente Pode ter endereo IP dinmico No se comunicam diretamente uns com os outros
2-7
Nem sempre no servidor Sistemas finais arbitrrios comunicam-se diretamente Pares so intermitentemente conectados e trocam endereos IP Ex.: Gnutella
2-8
Skype
Voz sobre IP Busca centralizada de usurios:
Instant messaging
2-9
Comunicao de processos
Dentro do mesmo hospedeiro: dois processos se comunicam usando comunicao interprocesso (definido pelo OS). Processos em diferentes hospedeiros se comunicam por meio de troca de mensagens.
Processo cliente: processo que inicia a comunicao Processo servidor: processo que espera para ser contatado
Nota: aplicaes com arquiteturas P2P possuem processos cliente e processos servidor.
2 - 10
Sockets
2 - 11
Processos de endereamento
Para um processo receber mensagens, ele deve ter um identificador Um hospedeiro possui um nico endereo IP de 32 bits
P.: O endereo IP do hospedeiro onde o processo est executando suficiente
O identificador inclui o endereo IP e o nmero da porta associada ao processo no hospedeiro Exemplos de nmeros de porta:
Servidor HTTP: 80 Servidor de Correio: 25
2 - 12
Tipo das mensagens trocadas, mensagens de requisio e resposta Sintaxe dos tipos de mensagem: os campos nas mensagens e como so delineados Semntica dos campos, ou seja, significado da informao nos campos Regras para quando e como os processos enviam e respondem s mensagens Protocolos de domnio pblico:
Definidos nas RFCs
Recomendados para interoperabilidade Ex.: HTTP, SMTP
Protocolos proprietrios:
Ex.: Skype
2 - 13
Em relao temporizao
Algumas aplicaes (ex.: telefonia Internet, jogos interativos) exigem
serem efetivas. Outras aplicaes (aplicaes elsticas) melhoram quando a banda disponvel aumenta.
2 - 14
2 - 15
Servio TCP:
Orientado conexo: conexo requerida entre processos cliente e servidor. Transporte confivel entre os processos de envio e recepo. Controle de fluxo: o transmissor no sobrecarrega o receptor. Controle de congestionamento: protege a rede do excesso de trfego. No oferece: garantias de temporizao e de banda mnima.
Servio UDP:
Transferncia de dados no confivel entre os processos transmissor e receptor No oferece: estabelecimento de conexo, confiabilidade, controle de fluxo e de
2 - 16
2 - 17
Camada de aplicao
2.1 Princpios de aplicaes de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio electrnico
SMTP, POP3, IMAP
2.5 DNS
2 - 18
Web e HTTP
udio,
referenciados
Exemplo de URL:
www.someschool.edu/someDept/pic.gif
Nome do hospedeiro Nome do caminho
2 - 19
da Web
Modelo cliente/servidor
Cliente: browser que solicita, recebe e apresenta objetos da Web Servidor: envia objetos em resposta a pedidos
2 - 20
Utiliza TCP:
Cliente inicia conexo TCP (cria socket) para o servidor na porta 80
trocadas entre o browser (cliente HTTP) e o servidor Web (servidor HTTP). A conexo TCP fechada
HTTP stateless
O servidor no mantm informao sobre os pedidos passados pelos clientes
2 - 21
Conexes HTTP
HTTP no persistente
No mximo, um objeto enviado sobre uma conexo TCP O HTTP/1.0 utiliza HTTP no persistente
HTTP persistente
Mltiplos objetos podem ser enviados sobre uma conexo TCP entre o cliente e o servidor O HTTP/1.1 utiliza conexes persistentes em seu modo padro
2 - 22
HTTP no persistente
(contm texto,referncias a 10 imagens jpeg)
www.someSchool.edu/someDepartment/home.index
1a. Cliente HTTP inicia conexo TCP ao servidor HTTP (processo) em www.someSchool.edu. Porta 80 a default para o servidor HTTP.
2. Cliente HTTP envia HTTP request message (contendo a URL) para o socket da conexo TCP
1b. Servidor HTTP no hospedeiro www.someSchool.edu esperando pela conexo TCP na porta 80. Aceita conexo, notificando o cliente
3. Servidor HTTP recebe mensagem de pedido, forma response message contendo o objeto solicitado (someDepartment/home.index), envia mensagem para o socket
Tempo
2 - 23
HTTP no persistente
4. Servidor HTTP fecha conexo TCP.
Tempo
5. Cliente HTTP recebe mensagem de resposta contendo o arquivo html, apresenta o contedo html. Analisando o arquivo html, encontra 10 objetos jpeg referenciados
2 - 24
Definio de RTT:
tempo para enviar um pequeno pacote que vai do cliente para o servidor e retorna. Um RTT para iniciar a conenexo TCP Um RTT para requisio HTTP e primeiros bytes da resposta HTTP Tempo de transmisso de arquivo
Tempo de resposta:
HTTP persistente
Requer 2 RTTs por objeto OS deve manipular e alocar recursos do hospedeiro para cada conexo TCP Mas os browsers freqentemente abrem conexes TCP paralelas para buscar
objetos referenciados
HTTP persistente
pela conexo
Servidor deixa a conexo aberta aps enviar uma resposta Mensagens HTTP subseqentes entre o mesmo cliente/servidor so enviadas
Padro no HTTP/1.1 O cliente envia requisies assim que encontra um objeto referenciado To pequeno como um RTT para todos os objetos referenciados
2 - 26
2 - 27
Exemplo:
Susan acessa a Internet sempre do mesmo PC Ela visita um site especfico de e-commerce pela primeira vez Quando a requisio HTTP inicial chega ao site, este cria um ID nico e uma
2 - 28
Servidor
servidor cria o ID 1678 para o usurio
+ Set-cookie: 1678
Cookie file amazon: 1678 ebay: 8734 Uma semana depois: Cookie file amazon: 1678 ebay: 8734 usual HTTP request msg cookie: usual HTTP 1678 response msg usual HTTP request msg cookie: usual HTTP 1678 response msg
especificao do cookie
especificao do cookie
2 - 29
Cookies
Cookies e privacidade:
Cookies permitem que sites saibam muito sobre voc Voc pode fornecer nome e e-mail para os sites Mecanismos de busca usam redirecionamento e cookies para saberem mais
sobre voc Companhias de propaganda obtm informaes por meio dos sites
2 - 30
2 - 31
O cache atua tanto no servidor como no cliente Tipicamente, o cache instalado pelo ISP (universidade, companhia, ISP residencial)
2 - 32
Exemplo de caching
Suponha:
Tamanho mdio objeto = 100.000 bits Taxa mdia de requisies dos browsers
da instituio para os servidores de origem = 15/s Atraso do roteador institucional para ir a qualquer servidor de origem e retornar ao roteador = 2 s
Conseqncias:
Utilizao da LAN = 15% Utilizao do link de acesso = 100% Atraso total = atraso da Internet + atraso
2 - 33
Exemplo de caching
Soluo possvel
Aumentar a largura de banda do
Conseqncias
Utilizao da LAN = 15% Utilizao do enlace de acesso = 15% Atraso total = atraso da Internet +
atraso de acesso + atraso da LAN = 2 segundos + msegs + msegs Freqentemente um upgrade caro
2 - 34
Exemplo de caching
Instalao do cache
Conseqncia
que imediatamente 60% das requisies sero satisfeitas pelo servidor de origem Utilizao do enlace de acesso reduzida para 60%, resultando em atrasos insignificantes (como 10 mseg) Mdia de atraso total = atraso da Internet + atraso de acesso + atraso da LAN = .6*(2.01) segundos + milissegundos < 1,4 segundos
2 - 35
GET condicional
Cliente
HTTP request msg If-modified-since: <date> HTTP response HTTP/1.0 304 Not Modified HTTP request msg If-modified-since: <date> HTTP response HTTP/1.1 200 OK <data>
Servidor
Objeto no modificado
Objeto modificado
2 - 36
Camada de aplicao
2.5 DNS
2 - 37
transf. de arquivos
servidor FTP
sistema de arquivo remoto
transfere arquivo de/para hospedeiro remoto modelo cliente/servidor cliente: lado que inicia transferncia (de/para remoto) servidor: hospedeiro remoto ftp: RFC 959 servidor ftp: porta 21
cliente FTP contacta servidor FTP na porta 21, TCP protocolo de transporte cliente autorizado por conexo de controle cliente navega por diretrio remoto enviando comandos por conexo de controle quando servidor recebe comando de transferncia de arquivo, abre 2a conexo TCP (para arquivo) com cliente aps transferir um arquivo, servidor fecha conexo de dados
cliente FTP
r
servidor FTP
servidor abre outra conexo de dados TCP para transferir outro arquivo r conexo de controle: fora da banda r servidor FTP mantm estado: diretrio atual, autenticao anterior
exemplos de comandos:
enviado como texto ASCII pelo canal de controle USER nome-usurio PASS senha LIST retorna lista de arquivos no diretrio atual RETR nome-arquivo recupera (apanha) arquivo STOR nome-arquivo armazena (coloca) arquivo no hospedeiro remoto
cdigo e frase de estado (como no HTTP) 331 Username OK, password required 125 data connection already open; transfer starting 425 Cant open data connection 452 Error writing file
Camada de aplicao
2.1 Princpios de aplicaes de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio electrnico
SMTP, POP3, IMAP
2.5 DNS
2 - 41
Correio eletrnico
Agente de usurio
leitor de correio Composio, edio, leitura de
mensagens de correio Ex.: Eudora, Outlook, elm, Netscape Messenger Mensagens de entrada e de sada so armazenadas no servidor
2 - 42
Servidores de correio
que chegaram (ainda no lidas) para o usurio Fila de mensagens contm as mensagens de correio a serem enviadas
Protocolo SMTP
trocarem mensagens entre si Cliente: servidor de correio que envia servidor: servidor de correio que recebe
2 - 43
Usa TCP para transferncia confivel de mensagens de correio do cliente ao servidor, porta 25 Transferncia direta: servidor que envia para o servidor que recebe
Interao comando/resposta
Comandos: texto ASCII Resposta: cdigo de status e frase
2 - 44
Tcnica que:
Aplica-se somente a redes de perfil residencial IPs dinmicos Dial-up, ADSL, 3G, etc. Permitir diferenciar: A submisso de e-mails de um usurio para seu provedor Da transmisso de mensagens entre servidores de servios de e-mail
Sada das redes brasileiras de listas de bloqueio de IPs envolvidos no envio de spam Dificulta o abuso da infraestrutura da internet para atividades ilcitas Atua antes do spam entrar na infaestrutura de email
Menos desperdcio de banda e menos esforo na
1) Alice usa o agente de usurio (UA) para compor a mensagem e para bob@someschool.edu 2) O agente de usurio dela envia a mensagem para o seu servidor de correio; a mensagem colocada na fila de mensagens. 3) O lado cliente do SMTP abre uma conexo TCP com o servidor de correio do Bob. 4) O cliente SMTP envia a mensagem de Alice pela conexo TCP. 5) O servidor de correio de Bob coloca a mensagem na caixa de correio de Bob. 6) Bob invoca seu agente de usurio para ler a mensagem.
2 - 52
SMTP: entrega e armazena no servidor do destino Protocolo de acesso: recupera mensagens do servidor
POP: Post Office Protocol [RFC 1939] Autorizao (agente <-->servidor) e download IMAP: Internet Mail Access Protocol [RFC 1730] Maiores recursos (mais complexo) Manipulao de mensagens armazenadas no servidor HTTP: Gmail, Hotmail , Yahoo! Mail etc.
2 - 53
IMAP
Mantm todas as mensagens em um lugar: o servidor Permite que o usurio organize as mensagens em pastas
2 - 54
Camada de aplicao
2.1 Princpios de aplicaes de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio electrnico SMTP, POP3, IMAP 2.5 DNS
2 - 55
servidores de nomes Protocolo de camada de aplicao hospedeiro, roteadores se comunicam com servidores de nomes para resolver nomes (translao nome/endereo) Nota: funo interna da Internet, implementada como protocolo da camada de aplicao Complexidade na borda da rede
2 - 56
DNS
Nomes cannicos e alias mail server aliasing distribuio de carga Servidores Web replicados: estabelece o endereo IP para um nome cannico
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 endereo IP para www.amazon.com
2 - 58
2 - 59
2 - 60
No pertence estritamente a uma hierarquia Cada ISP (ISP residencial, companhia, universidade) possui um
Tambm 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
2 - 61
Exemplo
Consulta encadeada:
Servidor contatado responde com o
nome de outro servidor de nomes para contato eu no sei, mas pergunte a este servidor
2 - 62
Consultas recursivas
Consulta recursiva: - Transfere a tarefa de resoluo do nome para o servidor de nomes consultado - Carga pesada?
2 - 63
Uma vez que um servidor de nomes aprende um mapeamento, ele armazena o mapeamento num registro do tipo cache
Registro do cache tornam-se obsoletos (desaparecem) depois de um certo
tempo Servidores TLD so tipicamente armazenados em cache nos servidores de nome locais
2 - 64
Registros do DNS
DNS: base de dados distribuda que armazena registros de recursos (RR) formato dos RR: (name, value, type, ttl)
Type = NS name um domnio (ex.: foo.com) value o endereo IP do servidor de nomes autorizados para este domnio
Type = CNAME name um apelido para algum nome cannico (o nome real) www.ibm.com realmente servereast.backup2.ibm.com value o nome cannico
2 - 65
Protocolo DNS: mensagem de consulta e resposta , ambas com o mesmo formato de mensagem
Cabealho da msg Identificao: nmero de 16 bits para consulta, resposta usa o mesmo nmero
Flags: Consulta ou resposta Recurso desejada Recurso disponvel Resposta autorizada
2 - 66
2 - 67
Exemplo: empresa recm-criada Network Utopia Registrar o nome networkuptopia.com num registrar (ex.: Network Solutions)
necessrio fornecer ao registrar os nomes e endereos IP do seu servidor nomes
2 - 68
Resumo
2 - 69
Resumo
Mais importante: caractersticas dos protocolos Tpica troca de mensagens comando/resposta: Cliente solicita informao ou servio Servidor responde com dados e cdigo de status Formatos das mensagens: Controle vs. dados
Cabealhos: campos que do informaes sobre os dados Dados: informao sendo comunicada
In-band, out-of-band
Centralizado vs. descentralizado Stateless vs. stateful Transferncia de mensagens confivel vs. no confivel complexidade na borda da rede
2 - 70