1 / 83

Nível Aplicação - Objetivo

Nível Aplicação - Objetivo. Estudar aspectos conceituais e de implementação de aplicações de rede – a razão de ser das redes, o interesse final do usuário. Nível Aplicação - Roteiro. Introdução DNS Correio Eletrônico WWW Multimídia: Streaming de Audio e Vídeo, Teleconferência

adanna
Download Presentation

Nível Aplicação - Objetivo

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Nível Aplicação - Objetivo Estudar aspectos conceituais e de implementação de aplicações de rede – a razão de ser das redes, o interesse final do usuário. Nível Aplicação

  2. Nível Aplicação - Roteiro • Introdução • DNS • Correio Eletrônico • WWW • Multimídia: Streaming de Audio e Vídeo, Teleconferência • Entrega de conteúdo: CDN, P2P Nível Aplicação

  3. Introdução • Novas aplicações não param de surgir: • Correio eletrônico, mensagem instantânea, FTP, WWW (Navegação Web), Compartilhamento de arquivo P2P, Telefonia (VoIP), video-conferência, Redes Sociais, e-commerce, m-commerce, Redes Espaciais, Jogos .... • Cite a aplicação mais recente que você conhece: Shazam, 99Taxis, Moovit, GoogleTV.... • Caminhamos em direção à Computação Ubíqua: “A interação homem-máquina será “invisível” no sentido de não ser notada, ainda que seja perceptível, através de um dispositivo qualquer.” Nível Aplicação

  4. Papel da Aplicação • O Nível Aplicaçãoalém de conter o trabalho final de interesse do usuário, também define protocolos para suporte às aplicações finais. • Questões típicas: • Como realizar com eficiência a tarefa que se propõe? • Que protocolo será utilizado para realizar esta tarefa? • Como simplificar para o usuário a interface? • Protocolos de suporte no nível de aplicação não são um fim em si mesmos, mas suportam trabalhos finais. • Exemplo de protocolos de suporte: DNS, Protocolos de Segurança, Protocolos de Gerência de Redes. Nível Aplicação

  5. O que é necessário definir ? • Um protocolo do nível Aplicação define: • Tipos de mensagens trocadas: requisição e resposta; • Sintaxe dos vários tipos de mensagens; • Semântica dos campos; • Regras: quando e como um processo envia mensagens e responde mensagens (sincronização). Nível Aplicação

  6. DNS - DomainName System Porque um Sistema de Nomes? • As pessoas trabalham melhor com nomes do que com números; os computadores trabalham melhor com números, assim é necessário fazer a tradução nome-número. • NA ARPANET havia o arquivo hosts.txt. (Ainda tem no Linux). Estratégia que não seria possível hoje... Que tal um controle centralizado? • Já em 84 nascia uma especificação para resolver este problema (RFC 882). Nível Aplicação

  7. O que é DNS? • DNSé um banco de dados distribuído. Cada segmento local controla sua porção e disponibiliza um banco para toda a rede num esquema cliente-servidor. • Servidor: Torna disponível informação local de nomes. • Cliente: contém os resolvedores – enviam perguntas pela rede aos servidores de nome. • A estrutura deste banco de dados é hierárquica. Nível Aplicação

  8. Estrutura hierárquica - 1 Cada domínio é particionado em sub-domínios, que também são particionados, e assim por diante. As folhas não contêm sub-domínios (contém uma ou várias máquinas). Há dois tipos de domínio de nível superior: Genéricos e Países. (Há ~ 250). Nível Aplicação

  9. Estrutura hierárquica - 2 Servidores de nomes Raiz são replicados: controlado pelo ICANN (Internet Coporation for Assigned Names and Numbers); Há 13 servidores raíz no mundo. Nível Aplicação

  10. Zonas- Divisão do Espaço de Nomes • Teoricamente um mesmo servidor de nomes poderia servir toda a Internet, ou um domínio de primeiro nível. Problemas: • Se este servidor parasse, a Internet pararia... • Sobrecarga neste servidor; • Banco de dados centralizado distante; • - Manutenção; • O espaço de nomes foi dividido em zonas. Cada zona tem uma parte da árvore e servidores de nomes com informação (autoridade) sobre aquela zona; A zona é a parte do domínio que não foi delegada a outros. Nível Aplicação

  11. Ilustrando Divisão em Zonas Na figura nota-se que há um servidor para washington.edu que cuida de eng.washington.edu mas não de cs.washington.edu que é uma zona separada com seus próprios servidores de nome. Nível Aplicação

  12. Processo de pesquisa DNS 1) Cliente pergunta endereço para seu servidor de nomes. 2) Se o servidor de nomes do cliente sabe responder (cache), o faz imediatamente; 3) Caso contrário, pergunta ao servidor raíz. 4) O servidor raíz, indica o servidor de 1o. Nível adequado (Referral) 5) O servidor local recebe o referral, e pergunta ao servidor de 1o. Nível. Este indica o servidor de 2o. Nível (referral). 6) Assim sucessivamente, até chegar ao servidor da máquina pesquisada. Este último dá a resposta final ao servidor de nomes do cliente, que finalmente responde ao cliente. Nível Aplicação

  13. Ilustração de pesquisa DNS Vide slide 11 com os servidores selecionados Nível Aplicação

  14. Caching Os servidores de nome armazenam a informação obtida em caches; em uma próxima consulta não precisam mais ir à luta na Internet, recuperando localmente a informação; Resposta Non-Authoritative: vem do cache local; Resposta Authoritative: recuperada de servidor-autoridade. O tempo de vida de uma informação no cache, TTL (Time to live), controla o momento em que o servidor deve buscar novamente na Internet. TTL curto: vantagem - pegar sempre dados corretos na Internet; desvantagem - gasta banda, sobrecarrega servidores e degrada o desempenho. Nível Aplicação

  15. Registros de Recursos O DNS mapeia nomes de domínios em registros de recursos. Contém informações relativas ao domínio. Um registro de recurso é representado por 5 campos: Nome_DomínioTempo_de Vida Classe TipoValor Nome_Domínio: domínio ao qual o registro se aplica Tempo_de Vida: tempo que indica estabilidade do registro. Alto (Ex:86400-segundos do dia) ou baixo (60-segundos). Neste ultimo caso muito volátil. Classe: IN – Informações relacionadas a Internet Tipo: Tipo do registro (descritos nas próximas telas) Valor: Semântica depende do tipo de registro Nível Aplicação

  16. Tipos de Registros de Recursos Existem os seguintes diferentes tipos de registros: Nível Aplicação

  17. Registros NS e A • NS – Name Server • Especifica o servidor de nomes para o domínio. Cada servidor primário ou secundário deve ser declarado por este registro. • O domínio comp.ita.br tem como registro NS: • comp.ita.br. IN NSita-r.ita.br. • Se houvesse um secundário, haveria um registro como • comp.ita.br.IN NS nome2.ita.br. • A – Address • É o registro que relaciona IP-Nome. • ita-r.ita.br. IN A 161.24.23.2 • comp.ita.br. IN A 161.24.13.161 • joanaIN A 161.24.2.34 Nível Aplicação

  18. Correio Eletrônico A maior força da comunicação na Internet. O Sistema de Correio iniciado na ARPANET, por um grupo de estudantes de Ciência da Computação, que tornou-se a RFC 822, sobrepujou um Sistema Internacional aprovado por empresas de telecomunicações, governo e setores da informática, o padrão X.400. O número de mensagens enviadas eletronicamente por dia superou o correio convencional há muitos anos. Symantec Report Finds Spam Accounts for 73 Percent of June-2011 Email 2013: ... “Spam volume continued to decrease, with 69% of all email being spam.” Nível Aplicação

  19. Arquitetura e Serviços • Sistemas de mensagem eletrônica compõem-se de 2 sub-sistemas: • Agente usuário: Permite interação com sistema de correio, cria o ambiente para que o usuário envie e recebe e-mail. • Agente de transferência de mensagem: Move a mensagem da origem ao destino; normalmente rodando em background (os chamados daemons), são processos do sistema que estão sempre disponíveis. Utilizam o protocolo • SMTP (SimpleMailTransferProtocol). Nível Aplicação

  20. Agente Usuário • Leitor de e-mail: Thunderbird, Outlook, Gmail, etc... • Manipulamcaixas de correio dos usuários, oferecendoopçõesamigáveisparafacilitar o gerenciamento de msgs: • Disposição de mensagens; • Respostasautomáticas; • Agente de férias; • Bloco de assinatura. • SPAMs: o agente pode separar o que provavelmente é lixo; • Botnet: coleção de computadoresinfectadoscapazes de gerarSpamsmaisdifíceis de seremdetectados; Nível Aplicação

  21. Agentes de Transferência de Msg • Utilizam o protocolo SimpleMailTransferProtocol. O protocolo de e-mail da Internet. • Simples de fato: • Cliente solicita conexão TCP na porta 25 do destino; • Servidor ouve esta porta, aceita conexão, copia as mensagens, coloca nas mailboxes (Caixas de Correio) apropriadas; • Se o servidor não estiver preparado para aceitar conexões, o cliente tenta mais tarde. • Agentes de usuário apresentam aos usuários uma visão do conteúdo de suas mailboxes. Nível Aplicação

  22. Arquitetura do sistema de e-mail Há distinção entre o envelope e o conteúdo. O envelope tem a informação suficiente para transportar a mensagem. O conteúdo é separado entre cabeçalho e corpo. Nível Aplicação

  23. Formato de Mensagens Inicialmente só se permitia texto no corpo, depois houve demanda por outros formatos, até se definir um padrão: MIME (Multipurpose Internet MailExtensions) que permite enquadrar as diferentes informações transportadas. Tipos de conteúdo MIME e subtipos Nível Aplicação

  24. Entrega Final Normalmente, o agente de usuário não está na mesma máquina que o agente de transferência, que está on-line o tempo todo. Há protocolos para a remessa final: IMAP ou POP3. Webmail: O agente de usuário é uma interface do usuário fornecida por páginas Web. Quando o usuário acessa a página do servidor web de e-mail do provedor, se loga e o servidor encontra a caixa de correio daquele usuário, montando uma página web com o conteúdo da caixa e a envia ao navegador (provavelmente incluem JavaScripts) Nível Aplicação

  25. World Wide Web - www • Estrutura arquitetônica que permite acessar documentos em milhões de máquinas pela Internet. Para muitos é sinônimo de Internet. • A idéia de “teia” de documentos ligados (Berners-Lee) teve a primeira demonstração pública em 1991. • A idéia ganhou interface gráfica (Andreessen em 1993 com o Mosaico), que em 1994 criou a Netscape; • Criou-se o W3C – World Wide Web Consortium em 1994, padronizaram-se protocolos e ... explodiu! • A era ponto com: período onde empresas de web passaram a valer milhões (ou bilhões) – Google, Facebook, Amazon... Nível Aplicação

  26. Modelo cliente-servidor • Cliente: solicita pedido de conexão TCP com a máquina onde está a página e envia mensagem solicitando a página. • Servidor: Ouve a porta TCP 80 aguardando pedidos de conexão. A conexão é estabelecida, o servidor manda a resposta com a página solicitada. A seguir libera a conexão. Protocolo para solicitação-resposta para buscar páginas: HTTP (HyperTextTransferProtocol). • É necessário um mecanismo para nomear e localizar páginas de forma única => URL. Nível Aplicação

  27. URL URL – Uniforme Resource Locator – Traz a identificação da página da seguinte maneira: http://www.comp.ita.br/institucional/departamentos.htm Que deve ser interpretado: • http-> protocolo • www.comp.ita.br-> nome DNS da máquina onde está o documento • institucional/departamentos.htm-> nome do caminho: subdiretório e arquivo com a página de interesse. HTML – HyperText Markup Language– Linguagem padronizada com a qual são escritas as páginas de maneira a serem interpretadas pelos navegadores. Nível Aplicação

  28. Passos do Browser Quando o usuário clica em uma página desejada: • O browser determina a URL; • O browser pede ao DNS o IP da máquina desejada (www.ita.br); • DNS responde com o IP (161.24.23.160); • O browser solicita conexão TCP na porta 80 da máquina encontrada; • O browser envia um GET do arquivo desejado; • A máquina responde enviando o arquivo desejado; • Se houver outras URLs na página, busca todas. • O browser exibe o texto e a seguir as imagens do arquivo. • A conexão TCP é liberada se não houver outras solicitações em curto período.; Nível Aplicação

  29. Navegador no cliente Se HTML, exibiçãodiretapelointerpretador do browser. O servidorretorna o tipodapágina, se for um tipointerno, sabecomoexibir a página: associatipo a visualizador. Plug-in: módulo de códigoquenavegadorbusca e instalacomoextensão do navegador; Aplicaçãoauxiliar: programacompletoexecutadocomoprocessoseparado; ex: powerPoint Nível Aplicação

  30. Páginas dinâmicas (1) O modelo era estático: solicita-se um arquivo, servidor o retorna. Atualmente deseja-se que o conteúdo seja gerado por demanda ao invés de armazenado em disco e/ou gerado ao rodarem aplicações e serviços. Tem acontecido que grande parte dos dados importantes está no servidor, podendo ser acessado de qualquer parte, sem precisar aplicações específicas no cliente => É necessário apenas acesso Web - apoiando a idéia de computação em nuvem. Nível Aplicação

  31. Páginas dinâmicas (2) • Ex: Serviço de exibição de mapa • Usuário pede mapa dado endereço do local; • Programa no servidoracessa BD, gerapáginasolicitada; • Retornapáginaaocliente; • Clientequer zoom: programa no clienteinterage c/ user; • Para atender as solicitaçõespodem ser necessáriosmais dados; • Capturam-se dados adicionais do BD; • Retorna resposta. Nível Aplicação

  32. Páginas dinâmicas (3) • Possíveis implementações no Servidor: • CGI (Common Gateway Interface) – API com interface para que servidores Web falem com scripts (RFC 3875); • PHP (HypertexPreprocessor) – Linguagem embute scripts na página HTML; mais fácil e simples que CGI; • JSP (JavaServerPages) – escrito em Java semelhante a PHP • ASP.NET (Activer Server Pages.NET) versão da Microsoft. • NoCliente: quando é necessário interagir diretamente c/ user: • JavaScript –linguagem de nível muito alto, a mais popular; • VBScript – baseado em Visual Basic p/ plataforma Windows; • Applets – miniaplicativos compilados para JVM (Java Virtual Machine), rápidos e portáveis (Sun); • ActiveX – Microsoft, os mais rápidos. Nível Aplicação

  33. HTTP • HTTP: HypertexTransferProtocol: protocolo que define pedidos e respostas entre cliente/servidor. Pela simplicidade lembra o SMTP. • Protocolo consistindo de: • Conjunto de solicitações dos browsers para os servidores • Conjunto de respostas no sentido contrário. Cabeçalhos em ASCII e conteúdo em formato MIME. • Protocolo em expansão, utilizado cada vez mais indiscriminadamente: players usam HTTP para solicitar informações dos albúns, antivírus usam HTTP para baixar atualizações, etc. Nível Aplicação

  34. Streaming de Áudio e Vídeo • A partir de 2000 áudio e vídeo na Internet cresceram, pois: • Computadores mais poderosos; • Grande largura de banda na Internet e em sua borda. • A maior parte do tráfegoda Internet já é vídeo – ¼ dos usuáriosda Internet visitam o YouTube diariamente. • Como largura de bandaestásuficiente, o desafioainda reside no atraso e jitter . • Serãoabordados 3 casos de crescentedificuldade: • Streaming de mídiaarmazenada (ex: youtube); • Streaming de mídiaao vivo (radio via Internet e IPTV); • ConferênciaInterativa de áudio e vídeo (ex: skype). Nível Aplicação

  35. Streaming de Mídia Armazenada (1) Assistir vídeos na Internet: VoD (VideoonDemand) Na resposta é enviado o arquivo do tipo MIME video/mp4 O navegador salva o filme em um arquivo auxiliar e passa o nome do arquivo ao player. Problema: grande demora inicial para exibição do filme. Nível Aplicação

  36. Streaming de Mídia Armazenada (2) A página vinculada ao filme não é o arquivo do filme real. O Meta-arquivo contém descritores do arquivo, como ex:rtps://joes-movie/movie-0025.mp4 Player pede o filme à URL indicada: pode mostrar o filme antes de totalmente baixado (navegador não mais no loop). Nível Aplicação

  37. Streaming de Mídia ao Vivo (1) • Técnicas utilizadas: • Gravar programas em disco (ex: meia hora depois) – idem streaming de mídia armazenada (quase ao vivo); • Enviar conteúdo ao vivo – streaming de mídia contínuo. Manter no cliente um buffer grande o suficiente, servidor envia em velocidade maior que da reprodução. atraso inicial de uns 10s, mas suaviza o jitter, . • Multicasting: 1 só stream para N clientes- problema: nem todos os roteadores da Internet usam multicast. Dentro de um provedor que garanta, assim por ex, IPTV dentro do escopo de uma empresa pode usar multicasting com seus clientes. Nível Aplicação

  38. Streaming de Mídia ao Vivo (2) Com poucos clientes e áudio, unicast pode ser tolerado. Se há banda razoável, qualquer um pode montar uma estação de rádio: Nível Aplicação

  39. Teleconferência em Tempo Real (1) Início: voz na rede pública comutada 1999: voz e dados, meio a meio; 2002: dados – uma grandeza a mais que voz. Então, porque a rede de dados não absorve a rede telefônica? Voz consome pouca banda =>VoIP – Voz sobre IP. Pehr Anderson, em projeto de aula no curso do MIT criou protótipo de voz sobre a rede de dados, tirou B na matéria mas criou a empresa NBX e em 1999 a vendeu por US$90 milhões. Teleconferência em T Real acrescenta o requisito latência baixa aos casos anteriores. Buffer de 10s não resolve... Nível Aplicação

  40. Teleconferência em Tempo Real (2) • Escolhas devem ser feitas para garantir a latência (em muitos casos não resolvem, devido a atrasos de propagação fixo) • UDP; • Codificadores e Decodificadores rápidos; • Mecanismos de QoS na camada de rede: • Serviços Diferenciados; pacotes VoIP passam na frente; • Aumentar largura de banda: impedir criação de filas. • Tamanho de pacotes curtos: Não obstante maior overhead dos cabeçalhos, VoIP usa pacotes curtos.

  41. Teleconferência em Tempo Real (3) • Why real-time data can not use TCP? • TCP forces the receiver application to wait for retransmission in case of packet loss, which causes large delays.; • TCP cannot support multicast; • TCP congestion control mechanisms decreases the congestion window when packet losses are detected ("slow start"). Audio and video, on the other hand, have "natural" rates that cannot be suddenly decreased; • TCP headers are larger than a UDP header (40 bytes for TCP compared to 8 bytes for UDP); • TCP doesn’t contain the necessary timestamp and encoding information needed by the receiving application; • TCP doesn’t allow packet loss. In A/V however loss of 1-20% is tolerable;

  42. Entrega de conteúdo • A Internet hoje, além de meio de comunicação, é distribuidora de conteúdo, o que traz requisitos específicos: • O local ondeestá o conteúdonão é importante (diferente de umachamada de voz); • Alguns sites sãoextremamentepopulares: Youtube é responsávelporaté 10% do tráfegoda Internet – precisamontarumarede de distribuição; • Além de bandalarga no núcleo e bordas, desenvolverarquiteturasparareduzirosatrasos: • CDN – Content Distribution Network: coleçãodistribuída de máquinas de um provedor; • P2P – coleção de computadorescompartilharecursos. Nível Aplicação

  43. Redes de Entrega de Conteúdo • Sites muito grandes precisam outras técnicas para entregar conteúdo em escala global. Vantagens da hierarquia: • A árvore pode ser estendida em largura e profundidade; • Consulta feita próxima ao cliente: menor delay, menos congestionamento; • Carga total da rede é minimizada; Nível Aplicação

  44. Redirecionamento de DNS Clientequer a páginawww.cdn.com/page.html. Consulta DNS, obtém IP do servidor de nomesdestedomínio (da CDN), quequandoconsultadoinspeciona o IP de quempergunta e devolve naresposta o IP do servidormaispróximo do cliente. Para isto tem mapa de IPs. Podeincorporarpolítica: esteservidor é o maispróximo, masestásobrecarregado, váàquele. Nível Aplicação

  45. Redes Peer-to-peer • Saída simples paradistribuirmuitoconteúdo: dápoderaospequenos. • 1999: Napster primeiraaplicaçãofechadapelostribunais • Hoje: grandetráfegoda Internet. • Computadoressão peers (pares) quepodem ser oracliente, oraservidores. • Redesformadassãoescaláveispois, emboraestejaentrandomais um cliente, e portantoaumentandoos downloads, tambémestãoaumentandoos uploads. • ProtocoloBitTorrent (mais popular de P2P) e algoritmosDHT (Distributed Hash Table) cuidam de descentralizar a pesquisa Nível Aplicação

  46. BitTorrent Animação da transferência do arquivo a 7 clientes ligados a um seed. Nível Aplicação

  47. Segurança de Redes As redes do governo federal são alvos de uma média de 2.100 incidentes por hora,  cerca de 60 são considerados mais sérios. A maioria dos ataques às redes do governo federal está relacionada à desconfiguração, vulnerabilidade de códigos e de servidores, "phishing"(fraude eletrônica para "pescar" dados como senhas) e "malwares“. Na área de segurança é fundamental desenvolver soluções proprietárias, segundo Otávio Cunha da Silva, coordenador geral do CEPESC (Centro de Pesquisas e Desenvolvimento para a Segurança das Comunicações) da Abin (Agência Brasileira de Inteligência), evitando assim a inserção de backdoors - maneira de ganhar acesso a serviços e sistemas. Segurança

  48. Segurança de Redes Os problemas dividem-se nas seguintes areas interligadas: • Sigilo; • Autenticação; • Não-repúdio; • Integridade Segurança

  49. Que nível deve cuidar da segurança? Todos os níveis podem contribuir • Físico: evitar grampos, ex. manter cabo em tubos com gás com pressão controlada; • Enlace: criptografar cada quadro (abrir em cada roteador? ineficiente); • Rede: firewalls controlando IPs; • Transporte: criptografar conexões fim-a-fim; • Aplicação: autenticação de usuário e não-repúdio. Segurança

  50. Criptografia (1) Criptografia: escrita secreta. Arte historicamente usada por militares, diplomatas, amantes... Governos adotam seus algoritmos, muitos utilizam o Princípio de Kerckhoff: Todososalgoritmosdevem ser públicos, apenas as chavessãosecretas. Ao tornar o algoritmo público, inúmeros criptólogos tentam decodificar o algoritmo; se durante cinco anos após sua publicação ninguém conseguiu ele é considerado sólido. Manter o algoritmo secreto (segurança por obscuridade) não funciona. Segurança

More Related