You are on page 1of 57

Redes de Computadores e

Aplicaes Camada de aplicao


IGOR ALVES

Camada de aplicao
Um protocolo da camada de
aplicao define como processos de
uma aplicao, que funcionam em
sistemas finais diferentes, passam
mensagens entre si.

Camada de aplicao
A razo de ser das redes de
computadores
Aplicaes populares popularizaram
a Internet
Correio eletrnico
Acesso remoto
WEB
Transmisso de arquivos
VoIP

Camada de aplicao
Um protocolo da camada de
aplicao define:
Os tipos de mensagens trocadas, por
exemplo, de requisio e resposta
A sintaxe de vrios tipos de
mensagens, como os campos da
mensagem
A semntica dos campos
Regras para determinar como e
quando um processo envia e

Camada de aplicao
A comunicao a nvel de aplicao
feita entre processos
Processos podem ser compreendidos
como programas que rodam nos
sistemas finais
Quando processos se comunicam em
um mesmo sistema final eles
utilizam a comunicao inter
processos em um sistema
operacional

Processos clientes e servidores


Em aplicaes WEB processos
clientes se comunicam com
processos servidores
Um browser um processo cliente e
o servidor Web o processo servidor
Um processo que inicia a conexo
rotulado como cliente e o processo
que espera a conexo dito
servidor

Camada de aplicao
Os processos utilizam uma interface
de rede chamada socket

Endereamento de
processos
Para um processo se comunicar com
outro processo em um host diferente
ele precisa de duas informaes
bsicas:
O nome ou endereo da mquina
hospedeira
Um identificador que especifique o
processo no hospedeiro destino

Camada de aplicao
O nmero da porta da aplicao
serve para identificar qual o processo
na mquina destino e origem.
Aplicaes populares recebem
nmeros de portas especficos.
Servidor web 80
SMTP 25

Camada de aplicao
Um protocolo da camada de
aplicao deve escolher entre servio
de entrega confivel ou no confivel
Protocolos da camada de transporte
UDP
TCP

Camada de aplicao

O protocolo HTTP
1990 surgimento da aplicao www
Grande quantidade de informao
que pode ser acessada por demanda
Buscadores
Grande facilidade de disponibilizar
contedo acessvel em qualquer
lugar

HTTP (HyperText Transfer


Protocol)
Protocolo da camada de aplicao da
Web
Implementado em dois programas
Cliente
Servidor

Os programas conversam por


mensagens em formato HTTP

HTTP (HyperText Transfer


Protocol)
A pgina Web formada de objetos
(arquivos)
A URL (Uniform Resource Locator)
referencia o nome do hospedeiro e o
nome do objeto
http://www.someSchool.edu/SomeDepar
tment/picture.gif
:8080

HTTP (HyperText Transfer


Protocol)
O HTTP define como os clientes
solicitam as pginas Web e como os
servidores respondem

HTTP (HyperText Transfer


Protocol)
O HTTP utiliza o TCP como seu
protocolo de transporte
Primeiramente estabelecida uma
conexo e depois as mensagens
HTTP so trocadas
O HTTP no precisa se preocupar
com os dados perdidos, ou com a
tarefa de reordenar, essas funes
ficam a cargo do TCP (grande
vantagem da estrutura de camadas)

HTTP (HyperText Transfer


Protocol)
Dizemos que o HTTP um protocolo
sem estado, pois ele no mantm
nenhuma informao sobre os
clientes

HTTP (HyperText Transfer


Protocol)
Conexes persistentes

Conexes no persistentes

HTTP Formato de
mensagem
As especificaes do HTTP definem
os formatos das mensagens HTTP. H
dois tipos de mensagens HTTP
Requisio
Resposta

Requisio HTTP

Requisio HTTP
Primeira linha (Linha de requisio):
Mtodo (GET, POST, HEAD)
O URL
Verso

Linhas de cabealho
Host: hospedeiro onde est o objeto
requisitado
Connection: conexo persistente ou no
User-agent: Agente do usurio
Accept-language: negociao de linguagem

Requisio HTTP

Requisio HTTP
Mtodo POST: Usado para
preenchimento de formulrio, os
dados de preenchimento so
enviados no campo corpo da
entidade
Mtodo GET: O contedo do usurio
aparece na URL.

Mtodo HEAD: semelhante ao GET,


mas deixa de fora o objeto
requisitado, usado para depurao
Mtodo PUT: Permite especificar o
local de carregamento do objeto
Mtodo DELETE: deleta um objeto de
em um servidor Web

Mensagem de resposta
HTTP

Mensagem de resposta
HTTP
Linha de estado
Verso, cdigo do estado, mensagem
correspondente

Seis linhas de cabealho


Connection, Date, Server, Last-Modified,
Content-Length, Content-Type

Corpo da entidade

Cdigos de estado

200
301
400
404
505

OK
Moved Permanently
Bad Request
Not Found
HTTP Version Not Supported

Formato de resposta HTTP

Cookies

Cookies

Caches Web
Cache ou servidor de proxy uma
entidade que atende requisies
HTTP em nome de um servidor web
de origem.

Cache Web

Transferncia de arquivo:
FTP
Protocolo FTP utilizado para
transferncia de arquivo para um
hospedeiro remoto.
O protocolo FTP utiliza usurio e
senha
usado um agente de usurio FTP:
FileZilla, WinSCP

Funcionamento FTP

FTP
Utiliza duas conexes
Uma para controle
Uma para conexo de dados

FTP Comandos mais comuns

USER username: enviar usurio


PASS password: enviar senha
LIST: listar
RETR filename: obter
STOR filename: armazenar

DNS (Domain Name


System)
Um host na Internet pode ser
identificado por um nome ou um
endereo IP.
Host: www.yahoo.com.br
IP: 200.152.175.146

DNS
O DNS um banco de dados
distribudo e um protocolo de
aplicao responsvel por traduzir o
nome de um host em um endereo
IP.
O DNS usa o protocolo UDP e porta
53

DNS
A mquina do usurio cliente DNS
O browser extrai o nome e passa
para a aplicao DNS
O cliente envia uma consulta
contendo o nome do hospedeiro
O cliente recebe uma resposta
Quando o browser sabe o endereo
IP ele pode estabelecer a conexo

DNS
Apelido de hospedeiros
Apelido de servidor de correio
Distribuio de carga

Estrutura DNS
Servidores de nome Raiz
13 servidores (a-m)

Servidores de nome de Domnio de


alto nvel
Com, net, edu, gov, org, uk, br, fr, ...

Servidores de nome com autoridades


Google.com, yahoo.com, ...

Estrutura DNS

Servidores DNS raiz em


2009

Consultas DNS
Consultas recursivas
O servidor DNS que recebe um pedido
de traduo fica responsvel por realizar
novas consultas a outras bases de
dados DNS

Consultas Interativas
O servidor DNS que recebe um pedido
de traduo apenas informa a base de
dados que pode traduzir a requisio

Formato da mensagem DNS

DNS
Para registrar um domnio em .br
RegistroBr: https://registro.br/

Ferramenta Whois
No linux: comando whois
Ferramenta do registroBr:
https://registro.br/cgi-bin/whois/#/lresp
Nslookup (windows, linux): nslookup
dominio

Correio eletrnico
Uma das primeiras, maiores e mais
utilizadas aplicaes na Internet
Agentes de usurio
Servidores de correio
SMTP (protocolo de envio de
mensagens)
As mensagens so codificadas em
ASCII

Correio eletrnico
Protocolos de acesso ao correio
POP3
IMAP
HTTP

POP3
Autorizao
User, Pass

Transao
List, retr, delete, quit
Ler e apagar, ler e guardar

Atualizao
Remove ou armazena as mensagens

IMAP
Significativamente mais complexo
Capaz de criar sistema de diretrios
no servidor para usurios nomades

Exerccio

Qual a funo da camada de aplicao?


Quais as principais caractersticas do HTTP?
Qual a diferena dos mtodos GET e POST?
O que so cookies ?
O que cache ?
O que o protocolo FTP ?
Como funciona o protocolo DNS ?
O que o protocolo SMTP?
O que so os protocolos IMAP e POP3?

Dvidas