• Nenhum resultado encontrado

A Camada de Aplicação

N/A
N/A
Protected

Academic year: 2021

Share "A Camada de Aplicação"

Copied!
5
0
0

Texto

(1)

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

FTP - File Transfer Protocol ... 3

SMTP - Simple Mail Transfer Protocol ... 4

TELNET ... 4

NTP - Network Time Protocol ... 4

Pesquise ... 5

Temas para trabalhos ... 5

(2)

2 y

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 é:

(3)

3 y 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

FTP - File Transfer Protocol

Segundo a Wikipédia, FTP 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 FTP é um protocolo simples e antigo, não sendo projetado para garantir segurança.

Diferentemente dos outros protocolos usados na Internet, o FTP 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 FTP, a estação cliente realiza uma conexão com o servidor FTP 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.

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.

Figura 03 – Modo Passivo

Recomendamos uma reflexão quanto à segurança deste protocolo. Cliente FTP Servidor FTP 1543 21 1549 20

• 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 1549 1729 Cliente FTP Servidor FTP

• 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)

(4)

4 y

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

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 (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. Figura 04 – Hierarquia do NTP

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

(5)

5 y

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 FTP. 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, FTP 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.

Referências

Documentos relacionados

Estudar o efeito da plastificação do ATp com glicerol nas características físico-químicas da blenda PLA/ATp; Analisar a mudança na cristalinidade dos laminados submetidos a

 Criação de uma compilação de algumas experiências pelas quais profissionais da área de design já passaram, com o objetivo de entender comportamentos nas

Outro ponto importante referente à inserção dos jovens no mercado de trabalho é a possibilidade de conciliar estudo e trabalho. Os dados demonstram as

Figura 33: Migração das dunas móveis sobre a planície flúvio-marinha do rio Jaguaribe, em sua margem direita, sufocando as áreas de manguezais e sobre as dunas fixas,

Quando ocorre falha no controle, isso pode ser devido a erro na dose, ou seja, dose menor do q u e a recome n dada, a época de aplicação pode ter sido inadequada, pode ter hav i do a

O destaque é dado às palavras que abrem signi- ficados e assim são chaves para conceitos que fluem entre prática poética na obra de arte e sua reflexão em texto científico..

14 GONÇALVES, Carlos Roberto. Direito Civil Brasileiro: Responsabilidade Civil. Curso de Direito Civil Brasileiro: Responsabilidade Civil. Responsabilidade Civil do Médico.

O tema proposto neste estudo “O exercício da advocacia e o crime de lavagem de dinheiro: responsabilização dos advogados pelo recebimento de honorários advocatícios maculados