Preview only show first 10 pages with watermark. For full document please download

Material 8ª Semana

Redes de computadores 8

   EMBED

  • Rating

  • Date

    December 2018
  • Size

    595.3KB
  • Views

    6,900
  • Categories


Share

Transcript

8. AULA 8 – CAMADA DE APLICAÇÃO Objetivos da Aula Entender o papel da camada de aplicação na transmissão de informações. Conhecer e entender o funcionamento dos principais serviços oferecidos para os usuários e suas aplicações, como: Web, serviços de nomes, transferência de arquivos, correio eletrônico e gerência. A camada de aplicação é aquela que possibilita, em última instância, a interação dos usuários humanos com todos os aplicativos providos por uma rede de computadores. De nada adiantaria as camadas apresentadas até o momento se o nível de aplicação não permitisse que os serviços da rede fossem utilizados pelos usuários. Enquanto as camadas inferiores estão preocupadas com a transmissão dos dados, a camada de rede oferece uma interface de programação que simplifica o desenvolvimento de aplicativos em rede. Para a camada existem vários protocolos de implementação de serviços. Os principais são: serviço de nomes, web, correio eletrônico, transferência de arquivos e terminal remoto. A tabela 8.1 apresenta os principais serviços e os protocolos de cada serviço. Tabela 8.1: Protocolos de Aplicação Serviço de rede Protocolo DNS Serviço de nomes HTTP Serviço Web Transferência de Arquivos FTP SMTP, POP e IMAP Correio eletrônico Telnet Terminal remoto No modelo Internet, os serviços de rede especificam qual o protocolo de transporte deseja utilizar. Se a aplicação necessita de um serviço confiável, com controle de erro e fluxo, será necessário utilizar o TCP. Se for utilizado o UDP, será fornecido um serviço não-confiável (não garante a entrega dos pacotes), porém, com uma velocidade maior de transmissão. No caso do UDP, fica para a própria aplicação implementar algum mecanismo de controle para perdas de pacotes, caso seja necessário. 102 8.1. Serviço de Nomes O serviço de nomes funciona como o endereçamento da camada de aplicação. Vimos anteriormente que o nível de enlace utiliza o endereço físico (MAC) para identificação dos dispositivos envolvidos na comunicação. O nível de rede utiliza o endereço IP para endereçamento. Já a camada de transporte utiliza o número de porta para identificar o serviço acessado no servidor. A camada de aplicação poderia utilizar o endereço da camada de rede e de transporte para ter acesso aos serviços disponíveis. Por exemplo, se um usuário utilizar o endereço http://200.131.11.26/ estará acessando o servidor Web do Instituto Federal de Educação, Ciência e Tecnologia do Sul de Minas (IFSM). Utilizar o endereço IP diretamente pode acarretar dois problemas: 1. É mais complicado para o usuário memorizar endereços como http://200.131.11.26/ do que nomes, no caso, http://www.ifsuldeminas.edu.br. 2. Caso o endereço IP do servidor seja alterado, o usuário não conseguirá utilizar o serviço. A não ser que o mesmo descubra que o administrador de rede alterou o endereço IP. A principal função do serviço de nomes é traduzir nomes de dispositivos em endereços utilizados pelas camadas inferiores, como o endereço IP do modelo Internet. O protocolo DNS (do inglês, Domain Name System) implementa o esquema de resolução de nomes da Internet utilizando servidores (chamados servidores DNS) que possuem informações relacionando os nomes dos hosts com seus respectivos endereços IP. Quando um usuário solicita acessar um site, como o site do IFSM, faz referência ao nome www.ifsuldeminas.edu.br, como pode ser visto na Figura 8.1. A partir desse ponto, um servidor DNS é consultado e o IP correspondente é retornado. Depois de obtido o IP, o acesso ao servidor pode ser realizado pelas camadas inferiores. 103 Figura 8.1: Serviço de nomes DNS 8.1.1. Espaço de nomes O DNS é baseado em conceitos tais como espaço de nomes e árvore de domínios. Por exemplo, o espaço de nomes da Internet é um espaço de nomes hierárquico, baseado no DNS. Para entender melhor estes conceitos, observe a Figura 8.2: Figura 8.2: DNS hierárquico. Fonte: MAIA, 2009, p.209. O domínio de mais alto nível é denominado domínio raiz (representado por um ponto). Abaixo da raiz temos os dominós de primeiro nível, que podem representar países, como .br(Brasil), .ar(Argentina), .us(Estados Unidos), e domínios genéricos, descritos na tabela 8.2. 104 Tabela 8.2: Domínios de primeiro nível Domínio Descrição Organizações comerciais com Organizações governamentais gov Instituições educacionais edu Organizações não comerciais org Diversos net Instituições militares mil A referência a um nome de domínio ou host é feita especificando o caminho a partir da folha até a raiz, separando os domínios por um ponto. Por exemplo, o domínio do IFSM é referenciado como ifsuldeminas.edu.br e o servidor web do campus Muzambinho é referenciado como www.muz.ifsuldeminas.edu.br. FQDN – Full Qualified Domain Name é o nome (endereço) completo de um domínio ou host. 8.1.2. Zonas de Autoridade O esquema hierárquico permite a delegação de autoridade para a administração dos domínios. Quando um novo domínio for criado, basta solicitar a criação ao domínio pai. Por exemplo, para criar o domínio da empresa wxyz abaixo de .com.br, basta solicitar ao administrador do domínio .com.br a criação do subdomínio. Para registrar um domínio .br, utilize o seguinte endereço: www.registro.br Depois de criado o domínio wxyz.com.br, todos os subdomínios que precisarem ser criados (como um subdomínio para o departamento administrativo da empresa. Exemplo: adm.wxyz.com.br) ficam a cargo do administrador do domínio. 8.1.3. Resolução de Nomes O processo de resolução de nomes se inicia quando o cliente necessita da resolução de um nome e passa a solicitação a um cliente resolvedor (o Browser, por exemplo). O resolvedor, por sua vez, solicita a resolução do nome ao servidor DNS local definido no cliente. 105 No Windows, o comando ipconfig /all apresenta os servidores DNS definidos no computador, como pode ser visto na Figura 8.3. Figura 8.3: DNS hierárquico. O servidor local possui a sua própria base de dados e armazena em cachê solicitações de nomes mais recentes. Caso o servidor DNS local não consiga resolver a solicitação, existem dois mecanismos de busca que podem ser utilizados na resolução: busca iterativa e recursiva. Na busca iterativa, apresentada na Figura 8.4, o cliente ao resolvedor a resolução do nome www.wxyz.com.br. Caso desconheça o nome, o resolvedor solicita a resolução ao servidor DNS local e, caso também desconheça inicia-se o processo de busca. O servidor DNS local solicita ao servidor DNS raiz, que retorna o endereço IP do servidor DNS do primeiro domínio “.br”. O servidor DNS local solicita a resolução ao servidor DNS br, que retorna o endereço IP do servidor do domínio .com.br. O servidor DNS local solicita a resolução do nome ao servidor DNS .com.br, que retorna o endereço do servidor DNS wxyz.com.br. Finalmente o servidor DNS local solicita ao servidor DNS wxyz.com.br a resolução do nome e recebe o endereço IP referente ao site procurado, www.wxyz.com.br. O servidor DNS local repassa a informação ao resolvedor para que o cliente possa fazer o acesso ao site. 106 Figura 8.4: Busca iterativa. Fonte: MAIA, 2009, p. 209 Na busca recursiva, apresentada na Figura 8.5, o processo de resolução do nome é bem diferente. Ao invés do servidor DNS local requisitar a cada servidor DNS dos domínios que compõem o nome pesquisado, ele faz a requisição ao servidor DNS raiz, que pesquisa recursivamente os servidores DNS dos subdomínios para resolver o nome (ou seja, encontrar o endereço IP) solicitado pelo cliente. Figura 8.5: Busca recursiva. Fonte: MAIA, 2009, p. 209 107 No Windows, o comando nslookup mostrado na Figura 8.6 pode ser executado para a resolução de nomes. No exemplo é solicitado a resolução do nome www.muz.ifsuldeminas.edu.br. Após a execução, é apresentado o endereço do servidor DNS Local 187.45.213.116 (do provedor de Internet) e o endereço do servidor web 200.131.11.18. Figura 8.6: Comando nslookup. 8.2. Serviço Web O serviço WWW (World Wide Web), também conhecido como web consiste basicamente em um conjunto de páginas web compostas de textos, imagens, sons e vídeos. As páginas web são interconectadas por hiperlinks, que permitem o usuário navegar entre as páginas de forma bem interativa. O esquema de links que liga as páginas é conhecido como hipertexto. O serviço web é formado por três elementos: cliente, servidor e o protocolo HTTP. Figura 8.7: Serviço Web. Fonte: MAIA, 2009, p. 211 O cliente web, mais conhecido como Browser, é responsável por receber as páginas web, interpretá-las e exibí-las aos usuários. Quando um usuário deseja acessar uma determinada página, ele informa o nome da página desejada para o campo URL (Uniform Resource Locator) do Browser, que solicita ao DNS o IP referente ao site 108 informado. Ao receber o endereço IP, o Browser estabelece uma conexão na porta 80 do servidor e envia um comando para que a página hospedada no servidor web seja enviada. Depois de enviada, a página é exibida pelo Browser e a conexão é encerrada. As páginas web são desenvolvidas em HTML (Hipertext Markup Language), que é uma linguagem de formatação responsável apenas pela forma com que as informações são apresentadas. HTML não é uma linguagem de programação, porem, existem várias tecnologias e linguagens para tornar as páginas web mais interativas e dinâmicas como JavaScript, PHP, Java Server Pages e Ajax. O servidor web é responsável por armazenar fisicamente as páginas web e enviá-las aos clientes quando solicitado. Já o protocolo HTTP (Hipertext Transfer Protocol) permite que uma página web armazenada em um servidor seja transferida (copiada) para o cliente e exibida pelo Browser. Quando um usuário requisita uma página, o Browser envia mensagens de requisição HTTP para o servidor Web. O servidor recebe a requisição e responde com uma mensagem de resposta HTTP que contém a página solicitada. 8.3. Transferência de Arquivos A transferência de arquivos é um dos serviços mais básicos em redes de computadores. O serviço permite ao usuário copiar arquivos e gerenciar diretórios (criar, renomear e apagar pastas) utilizando a rede. O protocolo FTP (File Transfer Protocol) é utilizado para transferência de arquivos no modelo Internet. O FTP utiliza o modelo cliente-servidor. Dessa forma são necessário um cliente FTP e um servidor FTP. O servidor FTP utiliza duas portas reservadas para as transferências: a porta 20 é utilizada para a transferência de dados, enquanto a porta 21 é utilizada para o envio de comandos do cliente, como pode ser visto na Figura 8.8. 109 Figura 8.8: Transferência de Arquivos. Fonte: MAIA, 2009, p. 214 Com o serviço FTP é possível copiar arquivos do computador cliente para o servidor e vice-versa. Também é possível criar e gerenciar as pastas do servidor, que pode solicitar uma autenticação com login e senha para autenticação de usuários. 8.4. Correio Eletrônico O correio eletrônico, ou email (eletronic mail) é um dos meios de comunicação mais utilizados atualmente. O email é muito semelhante a uma carta convencional, pois possui informações como o remetente, destinatário e a mensagem propriamente dita. Um endereço de email, como [email protected], é formado por três partes: nome do usuário (vinicius), o símbolo @ e o domínio ao qual pertence o nome (muz.ifsuldeminas.edu.br). Numa visão geral, o serviço de correio eletrônico possui três grandes componentes: agentes usuários, servidores de email e o protocolo SMTP (Simple Mail Transfer Protocol). Os agentes de usuário permitem ao usuário ler, criar, enviar e responder mensagens. Como exemplo temos o Microsoft Outlook, Eudora e o Mozilla ThunderBird. Mais recentemente, também tem sido difundida a leitura de emails diretamente com os navegadores Web conhecidos como WebMail. Os servidores de email são componentes centrais do correio eletrônico. Para enviar uma mensagem para a caixa postal de um usuário, o remetente cria a mensagem e envia ao seu servidor de email utilizando o agente de usuário. O servidor de email do remetente coloca a mensagem a ser enviada em uma fila de saída. Utilizando o protocolo SMTP, o servidor de email envia as mensagens que estão na fila de saída para o servidor destino de cada mensagem. Cada servidor de email tem um 110 conjunto de caixas postais para cada um de seus usuários. Quando o servidor de destino recebe uma mensagem, a mesma é armazenada na caixa postal do usuário destinatário. O protocolo SMTP utilizado na transferência da mensagem de servidor cliente para o servidor de destino usa o serviço confiável TCP na camada de transporte, recebendo conexões na porta 25 no servidor de destino. O SMTP segue o modelo cliente-servidor. Quem envia a mensagem faz o papel de cliente e quem recebe a mensagem faz o papel de servidor. Para exemplificar o serviço de correio eletrônico, imaginem o seguinte cenário disponível na Figura [email protected]) 8.9: cria o usuário uma Luiz mensagem (com e endereço envia de para email Pedro ([email protected]). Inicialmente, Pedro utiliza o seu agente de usuário para criar a mensagem e enviá-la para o seu servidor de email (dominio1.com.br), que coloca a mensagem na fila de saída. Como pode ser visto na Figura 8.9, o agente de usuário utiliza o protocolo SMTP para enviar a mensagem para o servidor. Figura 8.9: Serviço de correio eletrônico. Fonte: MAIA, 2009, p.216. O servidor de email do Luiz irá selecionar a sua mensagem, abrir uma conexão utilizando o protocolo SMTP com o servidor de email do destinatário, ou seja, o servidor dominio2.com.br do Pedro, e enviar a mensagem. A mensagem recebido pelo servidor dominio2.com.br é armazenada na caixa postal do destinatário, no caso, o usuário pedro. A caixa postal é um local físico (em disco) para armazenar as mensagens dos usuários do servidor. Após esse processo, Pedro poderá utilizar o seu agente de usuário para ler a mensagem. Existem dois protocolos utilizados para conectar o agente de usuário ao servidor de email, na operação de leitura dos emails: o protocolo POP3 e IMAP. 111 O POP3(Post Office Protocol) permite que um usuário acesse a sua caixa postal do seu servidor de email e transfira as mensagens do servidor para máquina local. Geralmente, as mensagens transferidas são eliminadas do servidor. O POP3 utiliza o protocolo TCP na camada de transporte e recebe conexões na porta reservada 110. O protocolo IMAP (Interactive Mail Access Protocol) permite que um agente de usuário tenha acesso a caixa postal do servidor de email e consulte as mensagens sem transferí-las para a máquina local. A vantagem do IMAP é permitir que o usuário leia e organize as mensagens em pastas no servidor. O IMAP também utiliza o TCP na camada de transporte e recebe conexões na porta reservada 143. 8.5. Terminal Remoto O serviço de terminal remoto permite que um usuário tenha acesso a um dispositivo utilizando a rede e consiga operar (executar comandos) o dispositivo acessado como se o usuário estivesse manipulando o mesmo. O acesso a um dispositivo, como um servidor web, é realizado utilizando algum tipo de console (teclado, mouse) fisicamente conectado a ele. Com o crescimento e a dispersão geográfica das redes, o acesso apenas via console tornou-se um problema para os administradores de rede. Por exemplo, um administrador de redes de um provedor de Belo Horizonte pode precisar realizar uma manutenção no servidor web da filial da empresa, que fica em São Paulo. Com o terminal remoto, a administrador pode conectar-se a qualquer dispositivo da rede e executar comandos como se estivesse conectado fisicamente ao equipamento. O protocolo que implementa o serviço de terminal remoto no modelo Internet é o Telnet. O Telnet utiliza o protocolo TCP na camada de transporte e recebe conexões na porta reservada 23. O Telnet opera no modelo cliente-servidor. Para realizar o acesso remoto, o cliente Telnet informa o endereço IP do servidor Telnet que deseja se conectar. O servidor recebe o pedido de conexão e solicita ao cliente o nome de usuário e a senha, para permitir que apenas usuários autorizados consigam acessar o sistema. O processo de acesso remoto é exemplificado na Figura 8.10. 112 Figura 8.10: Acesso remoto utilizando o Telnet. Fonte: MAIA, 2009, p. 217. Após o acesso, o cliente telnet pode executar comandos no servidor, como instalar e configurar programas, gerenciar diretórios, arquivos e processos. 113