A Camada de Aplicação



Documentos relacionados
USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

A Camada de Transporte

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

REDES DE COMPUTADORES

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

Permite o acesso remoto a um computador;

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira


TECNOLOGIA WEB. Principais Protocolos na Internet Aula 2. Profa. Rosemary Melo

Transferência de arquivos (FTP)

HYPERTEXT TRANSFER PROTOCOL

Redes de Computadores. Protocolos de comunicação: TCP, UDP

Capítulo 7 CAMADA DE TRANSPORTE

Camada de Aplicação. Prof. Eduardo

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

FTP Protocolo de Transferência de Arquivos

Introdução à Camada de Aplicação. Prof. Eduardo

Protocolos de Internet (família TCP/IP e WWW) Primeiro Técnico. Prof. Cesar

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

Disciplina de Redes de Computadores Estudo Dirigido para a Prova II Professor Dr Windson Viana de Carvalho

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 16

FTP - Protocolo. O protocolo FTP é o serviço padrão da Internet para a transferência de arquivos entre computadores.

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

OURO MODERNO Web Designer APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

O espaço de nomes DNS Registros de recursos de domínio Servidores de nome

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta

MÓDULO 8 Modelo de Referência TCP/IP

Universidade Federal do Espírito Santo CCA UFES. Centro de Ciências Agrárias CCA UFES Departamento de Computação. Programação WEB

REDES DE COMPUTADORES

Web. Até a década de 1990, a Internet era utilizada. por pesquisadores, acadêmicos e universitários, para troca de arquivos e para correio eletrônico.

Servidor de s e Protocolo SMTP. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes

REDES DE COMPUTADORES

TECNOLOGIAS WEB AULA 2 PROF. RAFAEL DIAS

Redes de Computadores Camada de Aplicação. Prof. MSc. Hugo Souza

Prof. Marcelo Cunha Parte 5

Redes de Computadores e a Internet

TECNOLOGIA WEB INTERNET PROTOCOLOS

Teleprocessamento e Redes

Introdução ao Modelos de Duas Camadas Cliente Servidor

Camada de Aplicação. DNS Domain Name System. Redes de Computadores Prof. Leandro C. Pykosz

Capítulo 8 - Aplicações em Redes

1 Redes de Computadores - TCP/IP Luiz Arthur

Alan Menk Santos Redes de Computadores e Telecomunicações. Camada de Aplicação. Camada de Aplicação

CAMADA DE TRANSPORTE

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

Protocolos de Redes Revisão para AV I

(eletronic mail )

AULA 03 MODELO OSI/ISO. Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação

Informática I. Aula Aula 22-03/07/06 1

1.264 Lição 11. Fundamentos da Web

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Universidade Federal do Rio Grande do Norte

Um pouco sobre Pacotes e sobre os protocolos de Transporte

Sistemas Distribuídos (DCC/UFRJ)

Cap 03 - Camada de Aplicação Internet (Kurose)

Arquiteturas de Rede. Prof. Leonardo Barreto Campos

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

Redes de Computadores I Conceitos Básicos (6 a. Semana de Aula)

Camada de Transporte TCP/IP e Aplicação

O Protocolo SMTP. Configuração de servidor SMTP

REDES DE COMPUTADORES

Arquitetura de Redes de Computadores. Bruno Silvério Costa

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

Professor: Gládston Duarte

Correio Eletrônico e os protocolos SMTP, POP3 e IMAP

Redes de Computadores. Prof. André Y. Kusumoto

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Redes de Computadores

Capítulo 11 - Camada de Transporte TCP/IP e de Aplicação. Associação dos Instrutores NetAcademy - Julho de Página

Internet e protocolos web. A Internet é uma rede descentralizada de recursos computacionais. Topologia tem de fornecer caminhos alternativos

O que são DNS, SMTP e SNM

Redes de Computadores Aula 3

Redes de Dados e Comunicações. Prof.: Fernando Ascani

6 PLANEJAMENTO DE SI 6.1 Planejamento de Segurança da Informação O planejamento em S.I é algo crucial para que haja o bom funcionamento de uma

Wireshark Lab: TCP. Versão KUROSE, J.F & ROSS, K. W. Todos os direitos reservados 2011 BATISTA, O. M. N. Tradução e adaptação para Wireshark.

CCNA 2 Conceitos Básicos de Roteadores e Roteamento

Redes de Computadores II

PROJETO E IMPLANTAÇÃO DE INTRANETS

Comunicação entre Processos

Camadas da Arquitetura TCP/IP

SISTEMAS DISTRIBUIDOS

O protocolo HTTP. O que é o protocolo HTTP?

Servidor de s e Protocolo SMTP

Rede de Computadores (REC)

INTRODUÇÃO ÀS REDES DE COMPUTADORES

INTERNET = ARQUITETURA TCP/IP

Redes de Computadores

Rede de Computadores

(Open System Interconnection)

Teleprocessamento e Redes

Arquitetura de Rede de Computadores

Redes de Computadores Modelo de referência TCP/IP. Prof. MSc. Hugo Souza

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

REDES DE COMPUTADORES. Prof. Evandro Cantú

Transcrição:

A Camada de Aplicação Romildo Martins Bezerra CEFET/BA Redes de Computadores II Afinal, o que faz a camada de aplicação?... 2 Paradigma Cliente/Servidor [4]... 2 Endereçamento... 2 Tipo de Serviço... 2 Serviços da Camada de Transporte e seus protocolos... 2 HTTP - HyperText Transfer Protocol [4]... 2 - File Transfer Protocol... 3 SMTP - Simple Mail Transfer Protocol... 4 TELNET... 4 NTP - Network Time Protocol... 4 Pesquise... 5 Temas para trabalhos... 5 Bibliografia... 5 As notas de aulas são referências para estudo. Portanto não devem ser adotadas como material didático absoluto! Versão 0.1 30/08/2008

Afinal, o que faz a camada de aplicação? Depois de aprendermos a finalidade da camada de enlace, rede e transporte e todos os seus serviços oferecidos, nos perguntamos o que faz a camada de aplicação? Paradigma Cliente/Servidor [4] É um modelo computacional que separa clientes e servidores, sendo interligados entre si geralmente utilizando-se uma rede de computadores. Cada instância de um cliente pode enviar requisições de dado para algum dos servidores conectados e esperar pela resposta. Por sua vez, algum dos servidores disponíveis pode aceitar tais requisições, processá-las e retornar o resultado para o cliente. Endereçamento Como visto nas camadas de enlace, rede e transporte, a comunicação entre hosts utiliza o conceito de endereçamento. O mecanismo de endereçamento da camada de aplicação não utiliza necessariamente uma representação numérica, podendo utilizar uma representação textual como http://www.romildo.net As aplicações fazem uso deste endereço amigável, pois estão diretamente em contato com o usuário. Você já imaginou decorar todos os IPs da internet? Será que um endereço só está relacionado com um IP? Tipo de Serviço A camada de aplicação foi feita para oferecer serviços diferentes aos usuários, permitindo uma interface mais amigável sem qualquer preocupação com as camadas inferiores. Exemplos de serviços, veremos a seguir. Serviços da Camada de Transporte e seus protocolos O objetivo é identificar e entender o funcionamento de alguns dos protocolos/serviços da camada de aplicação, como: HTTP - HyperText Transfer Protocol [4] O HyperText Transfer Protocol (HTTP) é um protocolo de aplicação responsável pelo tratamento de pedidos/respostas entre cliente e servidor. Ele surgiu da necessidade de distribuir informações pela Internet e para que essa distribuição fosse possível foi necessário criar uma forma padronizada de comunicação entre os clientes e os servidores da Web e entendida por todos os computadores ligados à Internet. No HTTP/1.1, versão atual do protocolo descrito na RFC 2616, foi desenvolvido um conjunto de implementações adicionais ao HTTP/1.0, como por exemplo: o uso de conexões persistentes; o uso de servidores proxy que permitem uma melhor organização da cache; novos métodos de requisições; O HTTP utiliza o modelo cliente-servidor, como a maioria dos protocolos de rede, baseando-se no paradigma de requisição e resposta. Um programa requisitante (cliente) estabelece uma conexão com um outro programa receptor (servidor) e envia-lhe uma requisição, contendo a URL, a versão do protocolo, uma mensagem MIME (padrão utilizado para codificar dados em formato de textos ASCII para serem transmitidos pela Internet) contendo os modificadores da requisição, informações sobre o cliente e, possivelmente, o conteúdo no corpo da mensagem. O servidor responde com uma linha de status incluindo sua versão de protocolo e um código de operação bem sucedida ou um código de erro, seguido pelas informações do servidor, metainformações da entidade e possível conteúdo no corpo da mensagem. Após o envio da resposta pelo servidor, encerra-se a conexão estabelecida. O protocolo HTTP opera sobre o protocolo TCP/IP para estabelecer um mecanismo de serviço com estrutura requisição/resposta. Uma das características peculiares de HTTP é a composição flexível do cabeçalho, composto por diversas linhas, o que permite sua utilização como integrador de diversos formatos e não apenas de documentos HTML. Um cabeçalho HTTP é composto por uma linha contendo a especificação do serviço e recurso associado, seguida por linhas contendo parâmetros. Um exemplo de requisição gerada por um cliente HTTP é: 2

GET http://www.romildo,net/ Accept: text/html, image/gif, image/jpeg User-Agent: Mozilla/5.1 para a qual o cabeçalho da resposta pode ser: HTTP/1.1 200 OK Date: Wed, 25 Mar 2008 20:20:20 GMT Server: Apache/2.0 Connection: close Content-Type: text/html Content-length: 648 - File Transfer Protocol Segundo a Wikipédia, significa File Transfer Protocol (Protocolo de Transferência de Arquivos), e é uma forma bastante rápida e versátil de transferir arquivos sendo uma das mais usadas na internet. O é um protocolo simples e antigo, não sendo projetado para garantir segurança. Diferentemente dos outros protocolos usados na Internet, o usa no mínimo duas conexões durante uma sessão: uma conexão half-duplex para controle e uma conexão full-duplex para transferência de dados. Para isso, utiliza as portas 20 e 21. A porta 21 é utilizada para estabelecer e manter a comunicação entre o cliente e o servidor (Control Channel). É ela quem verifica se a conexão com o servidor ainda existe. Já a porta 20 é utilizada para a transferência dos dados (arquivos), propriamente dita (Data Channel). É nela que é feito o controle do fluxo e integridade dos dados. Para utilizar o, a estação cliente realiza uma conexão com o servidor na porta 21. Após a conexão estabelecida, para cada arquivo transferido estabelece-se uma nova conexão, chamada de conexão de dados. Por padrão, a porta TCP 21 é usada no servidor para controlar a conexão, mas a conexão de dados pode ser realizada de utilizando dois métodos: Modo ativo - O cliente envia um comando PORT ao servidor na conexão do controle e esse comando solicita ao servidor que estabeleça uma conexão de dados da porta TCP 20 no servidor até o cliente com a porta TCP especificada pelo comando PORT. Cliente 1543 21 1549 20 Servidor Para estabelecer uma conexão, o cliente conecta ao servidor na porta 21 através de sua porta 1543. O cliente envia PORT 1549 (por exemplo) O servidor conecta à porta 1549 através de sua porta 20 Figura 02 Modo Ativo Modo passivo O cliente envia um comando PASV e o servidor responde com uma de suas portas temporárias usadas como a porta do servidor na conexão de dados. Depois que um comando de conexão de dados é emitido pelo cliente, o servidor se conecta ao cliente usando a porta imediatamente acima da porta do cliente na conexão do controle. Cliente 1543 21 1549 1729 Servidor Para estabelecer uma conexão, o cliente conecta ao servidor na porta 21 através de sua porta 1543. O cliente envia PASV eo servidor responde indicando sua porta 1729 (por exemplo) O clinete conexta à porta 1729 através de sua porta 1549 (Poe exemplo) Figura 03 Modo Passivo Recomendamos uma reflexão quanto à segurança deste protocolo. 3

SMTP - Simple Mail Transfer Protocol O Simple Mail Transfer Protocol (SMTP) é o protocolo padrão da arquitetura TCP/IP para envio de e-mails. O SMTP Utiliza a porta 25 e tem funcionamento muito simples, pois as mensagens e seus anexos são lidas como texto simples e os arquivos anexos são remontados de acordo com as informações lidas no cabeçalho. Vale ressaltar que o SMTP é um protocolo de envio apenas, ou seja, O SMTP não permite que um usuário descarregue as mensagens de um servidor. Para isso, é necessário um cliente de email com suporte ao protocolo POP3 ou IMAP, que é o caso da maioria dos clientes atuais. Após o estabelecimento de uma conexão entre emissor (cliente) e receptor (servidor), o exemplo seguinte ilustra uma sessão SMTP. Na conversação seguinte, "C:" designa as mensagens do cliente, e "S:" as mensagens do servidor. Na maioria dos computadores uma conexão pode ser estabelecida usando o comando telnet no emissor, por exemplo: telnet www.example.com 25 Passos da conexão SMTP S: 220 www.example.com ESMTP Postfix C: HELO mydomain.com S: 250 Hello mydomain.com C: MAIL FROM: sender@mydomain.com S: 250 Ok C: RCPT TO: friend@example.com S: 250 Ok C: DATA S: 354 End data with <CR><LF>.<CR><LF> C: Subject: test message C: From: sender@mydomain.com C: To: friend@example.com C: C: Hello, C: This is a test. C: Goodbye. C:. S: 250 Ok: queued as 12345 C: quit S: 221 Bye A partir daí uma seqüência de comandos é esperada para que a conexão SMTP tenha sucesso. TELNET Telnet é um protocolo cliente-servidor baseado em TCP usado para permitir a comunicação entre computadores ligados numa rede com o objetivo de efetuar login/acesso remoto. Por questões de segurança, este protocolo é substituído pelo SSH, cujo conteúdo é encriptado antes de ser enviado. A preocupação com segurança é o fator que está colocando o TELNET em desuso, uma vez que todas as comunicações entre o cliente e o servidor podem ser vistas, já que são em texto plano, incluindo a senha, com um simples sniffer como o Wireshark. È utilizando hoje apenas para teste de conexões em serviços (veja exemplo no SMTP). NTP - Network Time Protocol Infelizmente os relógios dos computadores são imprecisos e não sincronizados. Aplicações de tempo real, banco de dados distrinuídos e serviços que utilizam sincronização de informações devem ser capaz de garantir as propriedades necessárias ao relógio do computador para o bom funcionamento das aplicações. O NTP é um protocolo para sincronização dos relógios dos computadores baseado no UDP, ou seja, ele define um jeito para um grupo de hosts conversar e acertar seus relógios, baseados numa fonte confiável de tempo. Os servidores NTP formam uma topologia hierárquica, dividida em camadas ou estratos (strata) numerados de 0 a 16. O estrato 0 representa a referência primária (relógio atômico) de tempo mas é um host da rede de servidores NTP. Assim estrato 0, fornece o tempo correto para o estrato 1, que por sua vez fornece o tempo para o estrato 2 e assim por diante. O NTP é então, simultaneamente, servidor (fornece o tempo) e cliente Figura 04 Hierarquia do NTP (consulta o tempo), formando uma topologia em árvore. O funcionamento do NTP pode parecer simples, mas os algoritmos de sincronização de relógio (ou cálculo de deslocamento de hora) e a troca de mensagens não são triviais. Focaremos a camada de aplicação através de práticas no laboratório e atividades em grupo. 4

Pesquise 1. Estude os métodos de conexão e o formado da mensagem HTTP 2. Como funciona um servidor PROXY 3. Reflita sobre a segurança do protocolo. 4. Compare o SSH com o TELNET. 5. O funcionamento do protocolo DNS. Temas para trabalhos 1. Programação de Servidor Web [2] 2. Programação de Algoritmo de janelas deslizantes. 3. Implantação de servidores HTTP, e DNS Bibliografia [1] FOROUZAN, B.A. Comunicação de Dados e Redes de Computadores. 3ª Edição. Bookman. 2006. [2] KUROSE, J. Redes de Computadores e a Internet. 3ª Edição. Addison-Wesley, 2006. [3] COMER, D. E. Redes de Computadores e a Internet. 4ª Edição. Bookman. 2007. [4] http://pt.wikipedia.org/wiki/http - Wikipedia. 5