A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Capítulo 2: Camada de Aplicação

Apresentações semelhantes


Apresentação em tema: "Capítulo 2: Camada de Aplicação"— Transcrição da apresentação:

1 Capítulo 2: Camada de Aplicação
Metas do capítulo: aspectos conceituais e de implementação de protocolos de aplicação em redes paradigma cliente servidor modelos de serviço Mais metas do capítulo protocolos específicos: dns 2: Camada de Aplicação

2 Aplicações e protocolos da camada de aplicação
Aplicação: processos distribuídos em comunicação executem em hospedeiros no “espaço de usuário” trocam mensagens para implementar aplicação p.ex., correio, transf. de arquivo, WWW Protocolos da camada de apl. uma “parte” da aplicação define mensagens trocadas por apls e ações tomadas usam serviços providos por protocolos de camadas inferiores aplicação transporte rede enlace física 2: Camada de Aplicação

3 Aplicações de rede: algum jargão
Um processo é um programa que executa num hospedeiro. 2 processos no mesmo hospedeiro se comunicam usando communicação entre processos definida pelo sistema operacional (SO). 2 processos em hospedeiros distintos se comunicam usando um protocolo da camada de apalicação. Um agente de usuário (UA) é uma interface entre o usuário e a aplicação de rede. WWW: browser Correio: leitor/compositor de mensagens streaming audio/video: tocador de mídia 2: Camada de Aplicação

4 Paradigma cliente-servidor (C-S)
Apl. de rede típica tem duas partes: cliente and servidor aplicação transporte rede enlace física resposta pedido Cliente: inicia contato com o servidor (“fala primeiro”) tipicamente solicita serviço do servidor para WWW, cliente implementado no browser; para correio no leitor de mensagens Servidor: provê ao cliente o serviço requisitado p.ex., servidor WWW envia página solicitada; servidor de correio entrega mensagens 2: Camada de Aplicação

5 Protocolos da camada de aplicação (cont).
API: interface de programação de aplicações define interface entre aplicação e camada de transporte socket (= tomada) : API da Internet 2 processos se comunicam enviando dados para um socket ou lendo dados de um socket P: como um processo pode “identificar”o outro processo com o qual quer se comunicar? endereço IP do hospedeiro do outro processo “número de porta” - permite que o hospedeiro receptor determine a qual processo deve ser entregue a mensagem … voltamos mais tarde a este assunto. 2: Camada de Aplicação

6 De que serviço de transporte uma aplicação precisa?
Perda de dados algumas apls (p.ex. áudio) podem tolerar algumas perdas outras (p.ex., transf. de arquivos, telnet) requerem transferência 100% confiável Largura de banda algumas apls (p.ex., multimídia) requerem quantia mínima de banda para serem “viáveis” outras apls (“apls elásticas”) conseguem usar qq quantia de banda disponível Temporização algumas apls (p.ex., telefonia Internet, jogos interativos) requerem baixo retardo para serem “viáveis” 2: Camada de Aplicação

7 Requisitos do serviço de transporte de apls comuns
Sensibilidade temporal não sim, 100’s mseg sim, alguns segs sim e não Aplicação transferência de arqs correio documentos WWW áudio/vídeo de tempo real áudio/vídeo gravado jogos interativos apls financeiras Perdas sem perdas tolerante Banda elástica áudio: 5Kb-1Mb vídeo:10Kb-5Mb como anterior > alguns Kbps 2: Camada de Aplicação

8 Serviços providos por protocolos de transporte Internet
serviço TCP: orientado a conexão: setup requerido entre cliente, servidor transporte confiável entre processos remetente e receptor controle de fluxo: remetente não vai “afogar” receptor controle de congestionamento: estrangular remetente quando a rede carregada não provê: garantias temporais ou de banda mínima serviço UDP: transferência de dados não confiável entre processos remetente e receptor não provê: setup da conexão, confiabilidade, controle de fluxo, controle de congestionamento, garantias temporais ou de banda mínima P: Qual é o interesse em ter um UDP? 2: Camada de Aplicação

9 Apls Internet: seus protocolos e seus protocolos de transporte
Protocolo da camada de apl smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] proprietário (p.ex. RealNetworks) NSF (p.ex., Vocaltec) Protocolo de transporte usado TCP TCP ou UDP tipicamente UDP Aplicação correio eletrônico accesso terminal remoto WWW transferência de arquivos streaming multimídia servidor de arquivo remoto telefonia Internet 2: Camada de Aplicação

10 DNS: Domain Name System
Pessoas: muitos identificadores: CPF, nome, no. de Passaporte hospedeiros, roteadores Internet : endereço IP (32 bit) - usado p/ endereçar datagramas “nome”, e.g., jambo.ic.uff.br - usado por gente P: como mapear entre nome e endereço IP? Domain Name System: base de dados distribuída implementada na hierarquia de muitos servidores de nomes protocolo de camada de aplicação permite hospedeiros, roteadores, servidores de nomes communicarem para resolver nomes (tradução endereço/nome) note: função imprescindível da Internet implementada como protocolo de camada de aplicação complexidade na borda da rede 2: Camada de Aplicação

11 Servidores de nomes DNS
Por quê não centralizar o DNS? ponto único de falha volume de tráfego base de dados centralizada e distante manutenção (da BD) Não é escalável! Nenhum servidor mantém todos os mapeamento nome-para-endereço IP servidor de nomes local: cada provedor, empresa tem servidor de nomes local (default) pedido DNS de hospedeiro vai primeiro ao servidor de nomes local servidor de nomes autoritativo: p/ hospedeiro: guarda nome, endereço IP dele pode realizar tradução nome/endereço para este nome 2: Camada de Aplicação

12 DNS: Servidores raíz procurado por servidor local que não consegue resolver o nome servidor raíz: procura servidor autoritativo se mapeamento desconhecido obtém tradução devolve mapeamento ao servidor local ~ uma dúzia de servidores raíz no mundo (+ espelhos) 2: Camada de Aplicação

13 servidor autoritativo
Exemplo simples do DNS servidor de nomes raíz hospedeiro manga.ic.uff.br requer endereço IP de 1. Contata servidor DNS local, pitomba.ic.uff.br 2. pitomba.ic.uff.br contata servidor raíz, se necessário 3. Servidor raíz contata servidor autoritativo cs.columbia.edu, se necessário 2 4 3 5 servidor local pitomba.ic.uff.br servidor autoritativo cs.columbia.edu 1 6 solicitante manga.ic.uff.br 2: Camada de Aplicação

14 Exemplo de DNS servidor de nomes raíz Servidor raíz: 6 2 3 7
pode não conhecer o servidor de nomes autoritativo pode conhecer servidor de nomes intermediário: a quem contactar para descobrir o servidor de nomes autoritativo 2 6 7 3 servidor local pitomba.ic.uff.br servidor intermediário saell.cc.columbia.edu 4 5 1 8 servidor autoritativo cs.columbia.edu solicitante manga.ic.uff.br 2: Camada de Aplicação

15 DNS: consultas iteratadas
servidor de nomes raíz consulta recursiva: transfere a responsabilidade de reolução do nome para o servidor de nomes cntatado carga pesada? consulta iterada: servidor consultado responde com o nome de um servidor de contato “Não conheço este nome, mas pergunte para esse servidor” consulta iterrada 2 3 4 7 servidor local pitomba.ic.uff.br servidor intermediário saell.cc.columbia.edu 5 6 1 8 servidor autoritativo cs.columbia.edu solicitante manga.ic.uff.br 2: Camada de Aplicação

16 DNS: uso de cache, atualização de dados
uma vez um servidor qualquer aprende um mapeamento, ele o coloca numa cache local futuras consultas são resolvidas usando dados da cache entradas no cache são sujeitas a temporização (desaparecem depois de certo tempo) ttl = time to live (sobrevida) estão sendo projetados pela IETF mecanismos de atualização/notificação dos dados RFC 2136 2: Camada de Aplicação


Carregar ppt "Capítulo 2: Camada de Aplicação"

Apresentações semelhantes


Anúncios Google