Unidade II REDES DE COMPUTADORES E TELECOMUNICAÇÃO Prof. Luís Rodolfo Redes de computadores e telecomunicação Objetivos da Unidade II Estudar, em detalhes, as camadas: Aplicação Apresentação Sessão Redes de computadores e telecomunicação Modelo Camadas OSI: Revisando o modelo OSI de 7 camadas Figura 1 – Arquitetura de Camada do Modelo OSI Camada de aplicação Camada de Aplicação – Nível 7 Faz a interface entre o protocolo de comunicação e o aplicativo que pediu ou receberá a informação através da rede. Camada com o maior número de protocolos existentes por estar mais próxima do usuário. Ex: Telnet, FTP, HTTP, SMTP, DNS, entre outros Camada de aplicação Princípios de aplicações SDU PCI PDU Figura 2 – Montagem do PDU SDU – Service Data Unit PCI – Protocol Control Information PDU – Protocol Data Unit, que corresponde à unidade de dados de determinado protocolo da camada de Aplicação. Camada de aplicação Funções específicas da camada de aplicação: Categorização dos processos de aplicação; Processamento de transações; Acesso a bancos de dados; Gerência de rede; Exemplos de aplicações nessa camada: Transferência de arquivos, q , serviços ç de diretório, terminal virtual, world wide web, entre outras. Camada de aplicação Dizemos que os protocolos da camada de aplicação são uma “parte” da aplicação de rede, que define mensagens trocadas por aplicações e ações tomadas. Exemplos: web -> HTTP correio eletrônico -> SMTP Camada de aplicação Um protocolo da camada de Aplicação define: os tipos de mensagens trocadas (requisição e resposta); a sintaxe dos vários tipos de mensagens (campos e suas delimitações); a semântica dos campos (significado da informação); as regras para determinar quando e como um processo envia e responde às mensagens. Camada de aplicação Comunicação entre processos e processos cliente-servidor: Comunicação através das redes de computadores: 2 processos distintos na origem e no destino se comunicam através de um protocolo da camada de Aplicação Processo originador: cria e envia mensagens para a rede; Processo destinatário: recebe-as recebe as e possivelmente responde, devolvendo outras. Camada de aplicação Aplicação Transporte Rede Enlace Física CAMADA APLICAÇÃO Aplicação Transporte Transporte R d Rede Enlace Física Aplicação p ç Aplicação Transporte Transporte Rede Rede Enlace Enlace Física Física Figura 3: Comunicação entre processos através da camada de Aplicação. Fonte: Kurose, 2010. Camada de aplicação Processos identificados na origem e no destino pelo endereço IP e pela “porta” de origem e destino. Porta: Interface de programação entre a camada de Aplicação e a camada de Transporte (socket), pela qual as aplicações em rede são inseridas na Internet. Os processos se comunicam enviando dados para um socket ou lendo dados de um socket. Camada de aplicação Exemplos de Portas: Camada Aplicação Camada Transporte Figura 4: Portas TCP. Fonte: http://technet.microsoft.com/ptpt/library/cc756754(WS.10).aspx. Camada de aplicação (User Agent – UA) é uma interface entre o usuário e a aplicação de rede, que implementa o protocolo da camada de Aplicação. Exemplos: navegação www: browser; correio eletrônico: leitor ou compositor Interatividade É função específica da camada de Aplicação: a) Agrupar as informações em quadros; b) Processamento de transações; c) Gerenciar roteamento de pacotes; d) Processo cliente em servidor na web; e) N.d.a. Camada de aplicação Aplicação Cliente – Servidor: Cliente: aquele que inicia contato com o servidor (quem “fala primeiro”). Solicita o serviço do servidor. Ex.: para www, cliente é implementado no browser (IE, FireFox, Chrome, Mozilla) Servidor: provê ao cliente o serviço requisitado. Ex.: a www envia a página solicitada (Apache Microsoft IIS) (Apache, Camada de aplicação Aplicação Cliente – Servidor: Resposta Pedido Figura 5: Esquemático cliente-servidor. Fonte: www.cisco.com Camada de aplicação Aplicação Transporte Rede Enlace Física CAMADA APLICAÇÃO Aplicação Transporte p Rede Enlace Física Figura 6: Aplicações do tipo cliente e servidor. Fonte: Kurose, 2010. Camada de aplicação Para quais serviços uma aplicação necessitaria de um protocolo de transporte? Perda de dados Largura de banda Sensibilidade temporal Camada de aplicação Aplicação Perda de dados Transferencia de Não tolera arquivos Largura de banda Sensibilidade temporal Elástica Não é sensível Correio eletrônico Não tolera Elástica Não é sensível Objetos da www ((HTTP)) Não tolera Elástica Não é sensível Áudio ou vídeo em tempo real Tolerante Áudio: 5Kb - 1Mb Áudio: 10Kb - 5Mb Sensível, acima de 100 mseg Áudio ou vídeo gravado Tolerante Áudio: 5Kb - 1Mb Vídeo: 10Kb - 5Mb Sensível, acima de alguns seg Jogos interativos Tolerante on-line Maior que alguns Kbps Sensível acima de 100 mseg Elá ti Elástica Pode ou não ser sensível Aplicações bancárias Nã tolera Não t l Tabela 1: Exemplos de aplicações e seus requisitos na rede Camada de aplicação Alguns protocolos de Aplicação: WWW: a World Wide Web e o protocolo HTTP FTP: File Transfer Protocol Protocolos de Correio Eletrônico DNS: Domain Name System Camada de aplicação WWW: a World Wide Web e o protocolo HTTP Aplicação “www”: Início da década de 1990 Considerada a terceira grande tecnologia de comunicação, depois do rádio e da televisão. Funciona sob demanda do usuário. Acessa quando e o que quiser. Conteúdo sempre disponível. Camada de aplicação A web é implementada por 2 programas: cliente e servidor, que se “conversam” pela troca de mensagens HTTP (Hypertext Transfer Protocol). Formada por diversas páginas Web. Páginas www consistem de página-base HTML e vários objetos referenciados através de URL (Uniform Resource Locator). Exemplo de URL: www.unip.br/algumdepto/pic.gif Camada de aplicação O agente de usuário (UA) para www é chamado navegador (ou browser). Alguns exemplos de navegadores comuns são: MS Internet Explorer, Mozilla Firefox, Chrome, Safari, entre outros. outros Servidor para www se chama “servidor www”. São servidores web populares o Apache, de domínio público, e o Microsoft Internet Information Server (IIS). (IIS) Camada de aplicação Esquemático de funcionamento do HTTP Figura 7: Pedido e resposta HTTP Fonte: Kurose, 2006. Camada de aplicação Troca de mensagens do HTTP: 1. O cliente inicia conexão TCP (cria socket) com o servidor, na porta 80 (porta padrão do HTTP); 2. O servidor aceita a conexão TCP do cliente; 3. As mensagens HTTP (mensagens do protocolo da camada de Aplicação) são trocadas entre navegadores (cliente HTTP) e servidor www (servidor HTTP); 4. A conexão TCP é encerrada. Camada de aplicação Troca de mensagens do HTTP: Iniciar conexão porta 80 Aceita conexão TCP Encerra conexão TCP Figura 8: Troca de mensagens HTTP Camada de aplicação HTTP: Protocolo “sem estado”. Servidor não armazena informações de pedidos anteriores; Conexões Persistentes Transferências das páginas web por uma conexão TCP Conexões Não Persistentes Transferências de páginas web por conexões TCPs distintas. Camada de aplicação Desvantagem das Conexões Não Persistentes – HTTP 1.0 Cada objeto para ser transportado sofre partida lenta, já que depende de uma nova conexão TCP. Desvantagem das Conexões Persistentes – a partir HTTP 1.1 As conexões estabelecidas, ao serem mantidas para cada objeto solicitado, podem sobrecarregar o servidor web. Interatividade Na www o agente de usuário também é conhecido por: a) Portas TCP b) Conversores de interface c) Navegadores ou browsers d) Conexões persistentes e) n.d.a Camada de aplicação Transferência de arquivos e o FTP FTP (File Transfer Protocol) é o protocolo utilizado para transferir um arquivo de um servidor a outro. Camada de aplicação Estabelecimento de uma sessão FTP Transferência do arquivo Usuário na estação Sistema de arquivos local Figura 9: Exemplo de uma sessão FTP Fonte: Kurose, 2010. Sistema de arquivos remoto Camada de aplicação O FTP utiliza 2 conexões paralelas que fazem uso de portas diferentes que transportam informações distintas. Porta 21 – Controle Porta 22 – Dados Conexão de controle TCP porta 21 Conexão de dados TCP porta 22 Figura 10: Duas conexões paralelas FTP Fonte: Kurose, 2009. Camada de aplicação Correio Eletrônico e seus protocolos Primeira aplicação que fez uso das redes de computadores Composta de 3 grandes componentes: agentes de usuário; servidores de correio e protocolos. Camada de aplicação Agentes de usuário: É o leitor de correio, que serve para compor, editar e ler mensagens de correio. São exemplos de leitores de correio: Microsoft Outlook, Netscape Comunicator, Gmail, entre outros. Camada de aplicação Servidor de Correio: Armazenam asmensagens de saída e chegada. Protocolos: O SMTP é o protocolo utilizado na comunicação entre servidores de correio para transferir mensagens de correio. Camada de aplicação Aplicação cliente-servidor O cliente é o servidor de correio que envia mensagens e; O servidor é o servidor de correio que recebe mensagens. Os protocolos dessa aplicação utilizam o protocolo TCP, na porta 25, por meio das três fases da transferência: handshaking (cumprimento), transferência das mensagens e encerramento. Camada de aplicação AGENTE DE USUÁRIO SERVIDOR DE CORREIO FILA MSG SAIDA CX. CORREIO USUÁRIO Figura 11: Elementos que compõe o correio eletrônico Fonte: Kurose, 2009. Camada de aplicação Protocolos do Correio Eletrônico: SMTP (Simple Mail Transfer Protocol): entrega e armazenamento de mensagens no servidor do receptor. Camada de aplicação Protocolos de acesso ao correio. Recuperam mensagens do servidor: POP (Post Office Protocol); IMAP (Internet Mail Access Protocol); HTTP (Hypertext Transfer Protocol): apresentam mensagens recuperadas do servidor através de páginas web. Exemplos: Gmail, Hotmail, etc. Camada de aplicação Serviços de Diretório de Nomes – DNS (Domain Name System) Sistema de gerenciamento de nomes hierárquico e distribuído que funciona segundo duas definições: Examinar e atualizar seu banco de dados de nomes. Resolver nomes de domínios em endereços de rede (IPs). Camada de aplicação Na Internet, os servidores e roteadores são identificados pelo nome do servidor. Ex. www.cnn.com, www.google.com.br e www.yahoo.com.br O sufixo “.br” indica que o servidor está no Brasil Informação insuficiente para que os roteadores os identifiquem e encaminhe as mensagens para eles. Roteadores encaminham mensagens utilizando endereços IPs. Camada de aplicação O DNS provê outros serviços importantes, além da tradução de nomes de servidores para endereços IP. Apelidos de servidores: Alias. Mais de 1 apelido que representa a mesma página web. Ex.: www.folha.com.br e www.folha.uol.com.br Apelidos de servidor de correio eletrônico: o DNS pode ser chamado por uma aplicação de correio para obter o nome canônico a partir de um apelido fornecido. Camada de aplicação Distribuição de carga: realizada entre servidores replicados. Conjunto de endereços IP associado a um único nome canônico. Camada de aplicação Base de Dados descentralizada e hierárquica. Servidor de nomes local; Servidor de nomes oficial; Servidores de domínio de alto nível (Top (TopLevel Domain – TLD): domínios de alto nível genéricos e de países, como .com, .org, .net, .edu, .gov, .br, .uk, .ca etc. Servidores de nomes com autoridade: domínios das organizações e de segundo nível. Camada de Aplicação Hierarquia dos servidores DNS Servidores DNS raiz Servidores DNS com Servidores DNS Yahoo.com Servidores DNS amazon.com Servidores DNS edu Servidores DNS poly.edu Servidores DNS umass.edu Interatividade Não é um protocolo de correio eletrônico: a) IMAP b) SMTP c) HTTP d) POP e) SNMP Camada de apresentação 6a. Camada do Modelo OSI Camada de Tradução Figura 14: Camada de Apresentação do modelo OSI. Fonte: Kovach, 2009. Camada de apresentação Principais funções: Compressão de dados; Conversão do padrão de caracteres; Criptografia. Camada de sessão 5a. Camada do Modelo OSI Figura 15: Camada de Sessão do modelo OSI. Fonte: Kovach, 2009. Camada de sessão Objetivo: Oferecer às camadas de apresentação cooperantes meios de organizar e sincronizar sua comunicação. Ela permite que duas aplicações em computadores diferentes estabeleçam uma sessão de comunicação. Camada de sessão Visão Geral: Marcação nos dados transmitidos; Quebra de um pacote com o posicionamento de uma marca lógica ao longo do diálogo; Transporte de dados mais refinado que o nível de transporte; Pode ser aberta entre duas estações a fim de permitir a um usuário se autenticar em um sistema remoto ou transferir um arquivo entre essas estações. Camada de sessão Principais Serviços Oferecidos: Intercâmbio de dados: conexão com outro usuário, trocar dados e fechar a conexão; Gerenciamento de diálogos: Utilização de tokens; Sincronização: Definir pontos de sincronização; Gerenciamento de atividades: Divisão de mensagens em unidades lógicas menores independentes; Relatório de exceções: Relato na ocorrência de problemas. Camada de sessão Ponto de Acesso aos Serviços da Sessão (PASS): Permite a utilização dos serviços pela camada de Apresentação. O protocolo utilizado entre as sessões é dividido em unidades de dados chamadas UDPS (Unidade de Dados do Protocolo de Sessão) Camada de sessão Intercâmbio de dados Recurso que envolve três fases: estabelecimento, utilização e liberação. Estabelecimento: pedido de conexão com a camada de transporte; Utilização. Camada de sessão A liberação pode ocorrer de 2 formas: Forma abrupta: Utilizada para abortar conexões. Disciplinada: utiliza um handshake completo: pedido, indicação, resposta e confirmação. Camada de sessão Gerenciamento de diálogos Controle para determinar quem transmite; Half-duplex; Uso do Token para transmissão; Camada de sessão Sincronização Informação dividida em páginas; Páginas separadas por ponto de sincronização; No caso de problemas, problemas reinicia a partir do ponto de sincronização; Camada de sessão Gerenciamento de atividades Divisão do fluxo de mensagens em unidades lógicas (atividades); Transmitir para o receptor as indicações de início, finalização, retomada, interrupção ou descarte de uma atividade; Uso de token para que não ocorram pedidos simultâneos de início de atividades. Camada de sessão Relatório de exceções Serviço utilizado para que sejam relatados erros inesperados; Problemas internos na camada de Sessão ou problemas relatados pelas camadas inferiores. Interatividade Relativo aos principais serviços oferecidos pela camada de sessão, pode-se excluir: a) Intercâmbio de dados b) Sintonização c) Gerenciamento de diálogos d) Gerenciamento de atividades e) Relatório de exceções ATÉ A PRÓXIMA!