Baixe o app para aproveitar ainda mais
Prévia do material em texto
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MG Redes de computadores Camada de aplicação Maio de 2014 Felipe Atourassap (faspmg@gmail.com) Camada de Aplicação 2 Posição da camada no modelo OSI Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap Camada de Aplicação Cliente Servidor Endereçamento Serviços diversos Recebe serviços da Camada de Apresentação . . . Oferece serviços a Confiabilidade Atraso Throughput Camada de Aplicação 3 Razão de ser das redes de computadores E-mail Web Mensagem instantânea Login remoto Compartilhamento de arquivos P2P Jogos em rede multiusuários Redes sociais Voz sobre IP Vídeo conferência Computação em grade Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap Camada de Aplicação 4 Programas Executem em sistemas finais (podendo ser diferente) Se comuniquem pela rede Software de servidor se comunica com software cliente Não é preciso escrever software para dispositivos do núcleo da rede Dispositivos do núcleo da rede não executam aplicações do usuário As aplicações nos sistemas finais permitem rápido desenvolvimento e propagação Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap Arquiteturas de aplicação 5 Cliente-servidor Incluindo centros de dados/cloud computing Peer-to-peer (P2P) Amigáveis e seguras Híbrida de cliente-servidor e P2P Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap Arquiteturas Ciente-Servidor 6 Cliente É um programa rodando em uma máquina local Active open: é o estabelecimento de uma sessão (IP + porta) de comunicação Envia solicitação e recebe uma resposta Active close: fim do active open Servidor É um programa que roda na máquina remota Passive open: quando um servidor abre as portas de entrada para receber solicitações de um cliente Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap Arquiteturas Ciente-Servidor 7 Concorrência Clientes e servidores podem rodar no modo Iterativo – processa apenas uma solicitação por vez Concorrentes – pode processar muitas solicitações de uma só vez 4 tipos de aplicações servidoras Iterativo sem conexão Concorrente sem conexão Iterativo orientado à conexão Concorrente orientado à conexão (liberação de portas) Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap Comunicação entre processos 8 Processo é um “programa” que está rodando dentro de um sistema final Hospedeiro local Se comunicam usando a comunicação entre processos definido pelo SO Hospedeiros diferentes Se comunicam trocando mensagens Processo Cliente Que inicia a comunicação Processo servidor Que espera ser contatado Aplicações com arquiteturas P2P podem ter processos clientes e processos servidores simultaneamente Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap Socket 9 Interface socket Define um conjunto de chamada ao sistema Desenvolvida originalmente no UNIX É uma interface com qual processos em diferentes hosts se comunicam através da rede Também chamado de interface de programação da aplicação (API); Um socket é a interface entre a camada de aplicação e a de transporte da rede. Estrutura Família – grupo de protocolos, protocolos de dominio Tipo – Stream socket, packet socket e raw socket Protocolo – UDP e TCP Endereço local e remoto – Endereço socket, IP e porta Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap Socket 10 Stream socket Uso do protocolo TCP Usa um par de socket para conectar uma aplicação a outra Packet socket Uso do protocolo UDP Usa um par de socket para enviar uma mensagem de uma aplicação para outra por meio da Internet Raw socket Uso de alguns protocolos ICMP ou OSPF Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap TCP UDP IP Camada física e de enlace Programas aplicativos Stream Socket Packet Socket RAW Socket Serviços de transporte disponíveis para aplicações 11 Transferência de dados confiáveis Algumas aplicações podem tolerar alguma perda Outras aplicações exigem transferência de dados 100% confiável Temporização Algumas aplicações exigem pouco atraso para serem “eficazes” Vazão Algumas aplicações exigem um mínimo de vazão para serem “eficazes” Segurança Criptografia e integridade de dados Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap Serviços de transporte disponíveis 12 Aplicação Perda de dados Largura de banda Sensibilidade delay Trans. Arquivos Sem perda Elástica Não E-mail Sem perda Elástica Não Doc. Web Sem perda Elástica Não Telefonia Tolerante à perda Alguns kbps Sim Áudio/vídeo Tolerante à perda Alguns kbps Sim Jogos interativos Tolerante à perda Alguns kbps Sim Msn instantânea Sem perda Elástica Não Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap Protocolos da Camada de Aplicações 13 Define como os processo de uma aplicação passam mensagens entre si Os tipos de mensagens trocadas A sintaxe das mensagens Semântica dos campos Significado da informação Regras de quando e como enviar / responder mensagens Diferenciar aplicação de rede do protocolo da camada de aplicação Protocolo apenas um pedaço Aplicação consiste em vários componentes Web = padrões de documentos (HTML) + browsers + Servidor Web + protocolo da camada de aplicação (HTTP) Curso: Sistemas de informação Disciplina: Redes de computadores II Professor: Felipe Atourassap Matéria: Camada de aplicação Web e o HTTP 14 Internet É uma infraestrutura de rede que conecta inúmeros computadores W W W ou Web É um serviço, uma maneira pela qual o usuário pode compartilhar informações com todo o mundo fazendo uso da infraestrutura disponibilizada pela Internet Origem Início em 1989 no CERN Colaborar entre centros de estudos para troca de informações Curso: Sistemas de informação Disciplina: Redes de computadores II Professor: Felipe Atourassap Matéria: Camada de aplicação Web e HTTP 15 Hyper Text Transfer Protocol (HTTP) – RFC 1945 e 2616 Faz uso do protocolo da camada de rede Modelo cliente/servidor Cliente: browser que pede, recebe, visualiza objetos Web Servidor: servidor WWW envia objetos em resposta a pedidos Não mantem nenhuma informação sobre o cliente Protocolo sem estado Curso: Sistemas de informação Disciplina: Redes de computadores II Professor: Felipe Atourassap Matéria: Camada de aplicação Web e HTTP 16 Página Web consiste de objetos Objeto é arquivo eXtensible Markup Language (HTML), imagem, Java applet, arquivo de áudio,… A página Web consiste de arquivo-HTML base que inclui vários objetos referenciados Cada objeto é endereçado por uma Uniform Resource Locators (URL) URL dividido em 3 partes: Protocolo (HTTP) Nome do host Nome do arquivo Curso: Sistemas de informação Disciplina: Redes de computadores II Professor:Felipe Atourassap Matéria: Camada de aplicação Conexões persistentes e não persistentes 17 Cada conexão/resposta será uma nova conexão TCP ou uma mesma conexão? Não persistente = faz uso de uma nova conexão HTTP 1.0 Inteiramente em texto HTML Persistente = faz uso da mesma conexão HTTP 1.1 Curso: Sistemas de informação Disciplina: Redes de computadores II Professor: Felipe Atourassap Matéria: Camada de aplicação Conexões persistentes e não persistentes 18 HTTP com conexões não persistentes O processo cliente HTTP inicia uma conexão TCP para o servidor O cliente HTTP envia uma mensagem de requisição HTTP ao servidor O processo servidor HTTP recebe a mensagem de requisição. Encapsula o objeto e envia uma resposta HTTP “De carona” o processo servidor HTTP ordena ao TCP que feche a conexão Desvantagens Nova conexão devem ser estabelecidas Curso: Sistemas de informação Disciplina: Redes de computadores II Professor: Felipe Atourassap Matéria: Camada de aplicação Formato da mensagem HTTP 19 Curso: Sistemas de informação Disciplina: Redes de computadores II Professor: Felipe Atourassap Matéria: Camada de aplicação Host: especifica o hospedeiro no qual o objeto reside Connection: close Não quer usar conexão persistente User-agent: especifica um agente de usuário Accept-language: especifica a linguagem que o usuário deseja receber Formato da mensagem de resposta HTTP 20 Curso: Sistemas de informação Disciplina: Redes de computadores II Professor: Felipe Atourassap Matéria: Camada de aplicação Date: indica hora e data da resposta HTTP Server: Servidor web que a mensagem foi gerada Last-modified: data e hora que o objeto foi alterado Content-length: bytes do objeto Content-type: Indica o tipo do objeto Códigos de estados 200 – requisição bem sucedida 301 – Objeto requisitado foi removido 400 – requisição não pode ser entendida 404 – documento não existe 505 – versão do protocolo não suportada pelo servidor Formato da mensagem de resposta HTTP 21 Interação usuário servido 22 HTTP não mantem estado da conexão Mas caso seja necessário ao servidor manter o estado da conexão como fará? Registro E-commerce Sites personalizados Uso do endereço IP de origem (usuário) IPs dinâmicos Uso de NAT Netscape criou a técnica muito criticada chamada de Cookies – FRC 2109 Interação usuário servido 23 Interação usuário servido 24 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 obtêm informações por meio dos sites Recomendações Caches Web 25 Atende as requisições HTTP em nome de um servidor Web Acesso a Web feito por meio de um proxy Todos os clientes enviam suas requisições ao proxy Procedimento de solicitação a um servidor cache Browser estabelece conexão TCP com servidor Web Envia uma requisição HTTP Cache Web verifica se tem a cópia Envia o objeto ao browser como resposta a requisição HTTP Se não possuir o objeto em sua base abre conexão TCP com o servidor original Qdo recebe o objeto, o Cache Web guarda uma copia e envia outra ao browser solicitante Caches Web 26 Cache Web pode ser cliente eservidor Vantagens do uso: Reduzir o tempo resposta a um cliente Reduzir o tráfego à Internet Get condicional Usa o método GET Possuir linha de cabeçalho if-modified-since Atividades 27 1) Com as imagens acima quais informações pode se ter? 2) Faça uma resumo sobre XML, XSL, XHTML, Protocolo (Network News Transfer Protocol) NNTP 3) Obtenha a espeficicação HTTP/1.1 RFC 2616 e resuma sobre um tópico da mesma. 4) Descreva como a Cache Web pode reduzir o atraso na recepção de um objeto desejado. 5) A Cache Web reduz o atraso para todos os objetos requisitados por um usuário ou somente para alguns? Por quê? Atividades 28 1) X-Frame-Options 1) Originalmente é foi concebida como uma forma de prevenir clickjacking (furto de clique). 2) Campo de resposta do cabeçalho HTTP 3) Valores possíveis: DENY, SAMEORIGIN, ALLOW-FROM uri 2) X-XSS-Protection 1) Usador pode desenvolvedor para evitar falha do tipo Cross-site scripting (XSS) 2) Uso arbitrario de códigos (semelhando ao SQL Injection) Transferência de arquivo: FTP 29 Transferência de arquivos de e para o computador remoto Modelo cliente servidor Cliente: lado que inicia a transferência (seja de ou para o lado remoto) Servidor: hospedeiro remoto FTP: RFC 959 Transferência de arquivo: FTP 30 Exemplos de comandos: Envie um texto ASCII sobre canal de controle USER username PASS password LIST retorna listagem do arquivo no diretório atual RETR filename recupera (obtém) o arquivo STOR filename armazena o arquivo no hospedeiro remoto Exemplos de códigos de retorno Código de status e frase (como no HTTP) 331 Username OK, password required 125 data connection already open; transfer starting 425 Can’t open data connection 452 Error writing file Correio eletrônico 31 Três componentes principais: Agentes de usuário Servidores de correio Simple mail transfer protocol: SMTP Correio eletrônico 32 Agente de usuário Composição, edição, leitura de mensagens de correio Ex.: Eudora, Outlook, elm, Netscape Messenger Servidores de correio Núcleo da infraestrutura do email Caixa postal Fila de mensagens Protocolo SMTP Permite aos servidores de correio trocarem mensagens entre si Cliente: “servidor” de correio que envia Servidor: “servidor” de correio que recebe Correio eletrônico 33 Funções básicas Composição Criar mensagens e respostas Transferência Deslocamento da mensagem entre o remetente e o destinatário Geração de relatórios Informar ao remetente o que aconteceu com a mensagem Exibição das mensagens Disposição O que o destinatário faz com a mensagem após recebê-la Correio eletrônico 34 Comparação entre carta e email Correio eletrônico 35 Formato da mensagem RFC 822 Simple Mail Transfer Protocol (SMTP) 36 Protocolo padrão de envio de email Faz uso do TCP Porta 25 ou 465 para conexão criptografada via SSL Transferência direta Três fases de transferência Handshaking (apresentação) Transferência de mensagens Fechamento Simple Mail Transfer Protocol (SMTP) 37 1) Alice usa o agente de usuário para compor a mensagem e “para” bob@someschool.edu 2) O agente de usuário 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 conexão TCP com o servidor de correio do Bob 4) O cliente SMTP envia a mensagem de Alice pela conexão TCP 5) O servidor de correio de Bob coloca a mensagem na caixa de correio de Bob 6) Bob invoca seu agente de usuário para ler a mensagem Curso: Sistemas de informação Disciplina: Redes de computadores II Professor: Felipe Atourassap Matéria: Camada de aplicação Comparação entre SMTP e HTTP 38 Ambos transferem arquivos para um hospedeiro HTTP – servidor web para servidor web SMTP – servidor de email para servidor de email Fazem uso de conexão persistente Diferenças HTTP – Protocolo de recuperação de informação SMTP – Protocolode envio de informação Protocolos de acesso ao correio 39 SMTP: entrega e armazena no servidor do destino Protocolo de acesso: recupera mensagens do servidor Autorização e download Manipulação de mensagens armazenadas no servidor POP3: Post Office Protocol [RFC 1939] IMAP: Internet Mail Access Protocol [RFC 1730 ou 3501] HTTP Post Office Protocol (POP) 40 Uso de uma conexão TCP Porta 110 Três fases Autorização Nome de usuário e senha Transação Recupera a mensagem (apaga, remove) Atualização Realiza a tareda da fase de transação S: +OK POP3 server ready C: user alice S: +OK C: pass hungry S: +OK user successfully logged on Fase de Autorização Internet Mail Access Protocol (IMAP) 41 Problema de mobilidade do POP3 Somente uma pasta IMAP Porta 143 Várias pastas Mais recursos, porém mais complexo Mensagens disponíveis a vários dispositivos Mantém todas as mensagens em um lugar: o servidor Atividades 42 1) Configurar contas de email utilizando o POP e IMAP. Analisar o tráfego e fazer fazer um resumo das diferenças apresentadas. 1) https://support.google.com/mail/troubleshooter/1668960?rd=1#t s=1665018,1665137,2769074 2) http://help.yahoo.com/kb/index?page=content&y=PRO D_MAIL_ML&locale=en_US&id=SLN3216&impressions=tr ue 2) Por meio da RFC 1939 verificar quais são os comandos do POP. 1) List, retr, dele e quit 3) Por que HTTP, POP3 e SMTP rodam sobre TCP? 1) As aplicações associadas a esses protocolos exigem que todos os dados da aplicação sejam recebidos na ordem correta e sem lacunas Domain Name System (DNS) 43 Seres humanos podem ser identificados por várias maneiras Nome de batistmo, CPF, RG, etc… Os computadores são iguais Nome do host, end. Binário Alteração do IP As redes só reconhecem enredeços numéricos Necessidade de conversão as strings ASCII em endereços numéricos ARPANET – arquivo txt com endereços IP DNS RFC 1034 e 1035 Domain Name System (DNS) 44 DNS é: Um banco de dados distribuído implementado em uma hierarquia de servidores Um protocolo da camada de aplicação que permite aos hospedeiros consutarem o BD distribuído Internet é dividida em mais de 200 dominíos superior Com, edu, gov, int, mil, net e org (originais) Biz, info, name, pro, aero, coop e museum (concedidos posteriormente) Domain Name System (DNS) 45 DNS utilizado por outras aplicações HTTP, SMTP, etc Máquina executa o lado cliente da aplicação Extrai a URL e passa para o cliente DNS O cliente DNS envia a consulta ao servidor DNS Recebe o endereço IP correspondente Distribuição de carga Funcionamento DNS 46 Arranjo simples para o DNS Um único servidor de nomes contendo todos os mapeamentos Ponto único de falha Manutenção Volume de tráfego Banco de dados centralizado distante Faz uso de BD distribuído Não há server que mapeia todos os hosts da Internet Servidores de nomes raiz Servidores de Top-Level-Domain (TLD) domínio de alto nível Servidores com autoridade DNS Raiz 47 Conglomerado de servidores Servidores de nomes raiz: Buscam servidores de nomes autorizados se o mapeamento do nome não for conhecido Conseguem o mapeamento Retornam o mapeamento para o servidor de nomes local TLD e autorizados 48 Servidores top-level domain (TLD) Responsáveis pelos domínios com, org, net, edu etc e todos os domínios top-level nacionais uk, fr, ca, jp. Servidores DNS autorizados Servidores DNS de organizações Podem ser mantidos por uma organização ou provedor de serviços Exemplo de DNS 49 Registro DNS 50 Campos dos registro de recursos (RFC 1035) TTL: tempo de vida do recuros Type: nome (name) e valor (value) dependerão do tipo A Name = host e Value = IP (relay1.bar.foo.com, 145.37.93.126) NS Name = domínio e Value = DNS com autoridade (foo.com dns.foo.com) CNAME Value = nome canônico do host (www.abc.com.br srv01.abc.com.br) MX Value = nome canônico do servidor Name Value PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MG Redes de computadores Camada de aplicação Maio de 2014 Felipe Atourassap (faspmg@gmail.com)
Compartilhar