Buscar

Aula 7 - Camada de aplicação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PONTIFÍCIA UNIVERSIDADE 
CATÓLICA DE MG
Redes de computadores
Camada de aplicação
Maio de 2014
Felipe Atourassap (faspmg@gmail.com)
Camada de Aplicação
2
 Posição da camada no modelo OSI
Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap
Camada de Aplicação
Cliente 
Servidor
Endereçamento
Serviços 
diversos
Recebe 
serviços da
Camada de Apresentação
.
.
.
Oferece serviços a
Confiabilidade
Atraso
Throughput
Camada de Aplicação
3
 Razão de ser das redes de computadores
 E-mail 
 Web 
 Mensagem instantânea 
 Login remoto 
 Compartilhamento de arquivos P2P 
 Jogos em rede multiusuários 
 Redes sociais 
 Voz sobre IP 
 Vídeo conferência
 Computação em grade 
Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap
Camada de Aplicação
4
 Programas
 Executem em sistemas finais (podendo ser diferente)
 Se comuniquem pela rede 
 Software de servidor se comunica com software cliente
 Não é preciso escrever software para dispositivos do 
núcleo da rede 
 Dispositivos do núcleo da rede não executam aplicações do 
usuário 
 As aplicações nos sistemas finais permitem rápido 
desenvolvimento e propagação 
Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap
Arquiteturas de aplicação
5
 Cliente-servidor 
 Incluindo centros de dados/cloud computing
 Peer-to-peer (P2P) 
 Amigáveis e seguras
 Híbrida de cliente-servidor e P2P 
Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap
Arquiteturas Ciente-Servidor
6
 Cliente
 É um programa rodando em uma máquina local
 Active open: é o estabelecimento de uma sessão (IP + porta) 
de comunicação 
 Envia solicitação e recebe uma resposta
 Active close: fim do active open
 Servidor
 É um programa que roda na máquina remota
 Passive open: quando um servidor abre as portas de 
entrada para receber solicitações de um cliente
Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap
Arquiteturas Ciente-Servidor
7
 Concorrência
 Clientes e servidores podem rodar no modo
 Iterativo – processa apenas uma solicitação por vez
 Concorrentes – pode processar muitas solicitações de uma 
só vez
 4 tipos de aplicações servidoras
 Iterativo sem conexão
 Concorrente sem conexão
 Iterativo orientado à conexão
 Concorrente orientado à conexão (liberação de portas)
Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap
Comunicação entre processos
8
 Processo é um “programa” que está rodando dentro de 
um sistema final
 Hospedeiro local
 Se comunicam usando a comunicação entre processos definido 
pelo SO
 Hospedeiros diferentes
 Se comunicam trocando mensagens
 Processo Cliente
 Que inicia a comunicação
 Processo servidor
 Que espera ser contatado
 Aplicações com arquiteturas P2P podem ter processos 
clientes e processos servidores simultaneamente
Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap
Socket
9
 Interface socket
 Define um conjunto de chamada ao sistema
 Desenvolvida originalmente no UNIX
 É uma interface com qual processos em diferentes hosts se 
comunicam através da rede
 Também chamado de interface de programação da aplicação 
(API);
 Um socket é a interface entre a camada de aplicação e a de 
transporte da rede.
 Estrutura
 Família – grupo de protocolos, protocolos de dominio
 Tipo – Stream socket, packet socket e raw socket
 Protocolo – UDP e TCP
 Endereço local e remoto – Endereço socket, IP e porta
Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap
Socket
10
 Stream socket
 Uso do protocolo TCP
 Usa um par de socket para conectar uma aplicação a outra
 Packet socket
 Uso do protocolo UDP
 Usa um par de socket para enviar uma mensagem de uma 
aplicação para outra por meio da Internet
 Raw socket
 Uso de alguns 
protocolos ICMP 
ou OSPF
Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap
TCP UDP
IP
Camada física e de enlace
Programas aplicativos
Stream
Socket
Packet
Socket
RAW
Socket
Serviços de transporte disponíveis para 
aplicações
11
 Transferência de dados confiáveis 
 Algumas aplicações podem tolerar alguma perda 
 Outras aplicações exigem transferência de dados 100% 
confiável 
 Temporização 
 Algumas aplicações exigem pouco atraso para serem 
“eficazes” 
 Vazão 
 Algumas aplicações exigem um mínimo de vazão para serem 
“eficazes” 
 Segurança 
 Criptografia e integridade de dados
Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap
Serviços de transporte disponíveis
12
Aplicação Perda de dados Largura de banda
Sensibilidade
delay
Trans. Arquivos Sem perda Elástica Não
E-mail Sem perda Elástica Não
Doc. Web Sem perda Elástica Não
Telefonia Tolerante à 
perda
Alguns kbps Sim
Áudio/vídeo Tolerante à 
perda
Alguns kbps Sim
Jogos interativos Tolerante à 
perda
Alguns kbps Sim
Msn instantânea Sem perda Elástica Não
Curso: Sistemas de informação - Disciplina: Redes de computadores - Professor: Felipe Atourassap
Protocolos da Camada de Aplicações
13
 Define como os processo de uma aplicação passam 
mensagens entre si
 Os tipos de mensagens trocadas
 A sintaxe das mensagens
 Semântica dos campos
 Significado da informação
 Regras de quando e como enviar / responder mensagens
 Diferenciar aplicação de rede do protocolo da camada 
de aplicação
 Protocolo apenas um pedaço
 Aplicação consiste em vários componentes
 Web = padrões de documentos (HTML) + browsers + Servidor Web + 
protocolo da camada de aplicação (HTTP)
Curso: Sistemas de informação
Disciplina: Redes de computadores II
Professor: Felipe Atourassap
Matéria: Camada de aplicação
Web e o HTTP
14
 Internet
 É uma infraestrutura de rede que conecta inúmeros 
computadores
 W W W ou Web
 É um serviço, uma maneira pela qual o usuário pode 
compartilhar informações com todo o mundo fazendo uso 
da infraestrutura disponibilizada pela Internet
 Origem
 Início em 1989 no CERN
 Colaborar entre centros de estudos para troca de informações
Curso: Sistemas de informação
Disciplina: Redes de computadores II
Professor: Felipe Atourassap
Matéria: Camada de aplicação
Web e HTTP
15
 Hyper Text Transfer Protocol (HTTP) – RFC 1945 e 2616
 Faz uso do protocolo da camada de rede
 Modelo cliente/servidor
 Cliente: browser que pede, recebe, visualiza objetos Web
 Servidor: servidor WWW envia objetos em resposta a pedidos
 Não mantem nenhuma informação sobre o cliente
 Protocolo sem estado
Curso: Sistemas de informação
Disciplina: Redes de computadores II
Professor: Felipe Atourassap
Matéria: Camada de aplicação
Web e HTTP
16
 Página Web consiste de objetos
 Objeto é arquivo eXtensible Markup Language (HTML), 
imagem, Java applet, arquivo de áudio,…
 A página Web consiste de arquivo-HTML base que inclui
vários objetos referenciados
 Cada objeto é endereçado por uma Uniform Resource 
Locators (URL)
 URL dividido em 3 partes:
 Protocolo (HTTP)
 Nome do host
 Nome do arquivo
Curso: Sistemas de informação
Disciplina: Redes de computadores II
Professor:Felipe Atourassap
Matéria: Camada de aplicação
Conexões persistentes e não persistentes
17
 Cada conexão/resposta será uma nova conexão TCP ou 
uma mesma conexão?
 Não persistente = faz uso de uma nova conexão
 HTTP 1.0 
 Inteiramente em texto HTML
 Persistente = faz uso da mesma conexão
 HTTP 1.1
Curso: Sistemas de informação
Disciplina: Redes de computadores II
Professor: Felipe Atourassap
Matéria: Camada de aplicação
Conexões persistentes e não persistentes
18
 HTTP com conexões não persistentes
 O processo cliente HTTP inicia uma conexão TCP para o 
servidor
 O cliente HTTP envia uma mensagem de requisição HTTP 
ao servidor
 O processo servidor HTTP recebe a mensagem de 
requisição. Encapsula o objeto e envia uma resposta HTTP
 “De carona” o processo servidor HTTP ordena ao TCP que feche a 
conexão
 Desvantagens
 Nova conexão devem ser estabelecidas
Curso: Sistemas de informação
Disciplina: Redes de computadores II
Professor: Felipe Atourassap
Matéria: Camada de aplicação
Formato da mensagem HTTP
19 Curso: Sistemas de informação
Disciplina: Redes de computadores II
Professor: Felipe Atourassap
Matéria: Camada de aplicação
 Host: especifica o hospedeiro no qual o objeto reside
 Connection: close
 Não quer usar conexão persistente
 User-agent: especifica um agente de usuário
 Accept-language: especifica a linguagem que o usuário deseja 
receber
Formato da mensagem de resposta HTTP
20 Curso: Sistemas de informação
Disciplina: Redes de computadores II
Professor: Felipe Atourassap
Matéria: Camada de aplicação
 Date: indica hora e data da resposta HTTP
 Server: Servidor web que a mensagem foi gerada
 Last-modified: data e hora que o objeto foi alterado
 Content-length: bytes do objeto
 Content-type: Indica o tipo do objeto
 Códigos de estados
 200 – requisição bem sucedida
 301 – Objeto requisitado foi removido
 400 – requisição não pode ser entendida
 404 – documento não existe
 505 – versão do protocolo não suportada pelo servidor
Formato da mensagem de resposta HTTP
21
Interação usuário servido
22
 HTTP não mantem estado da conexão
 Mas caso seja necessário ao servidor manter o estado da 
conexão como fará?
 Registro
 E-commerce
 Sites personalizados
 Uso do endereço IP de origem (usuário)
 IPs dinâmicos
 Uso de NAT
 Netscape criou a técnica muito criticada chamada de 
Cookies – FRC 2109 
Interação usuário servido
23
Interação usuário servido
24
 Cookies e privacidade:
 Cookies permitem que sites saibam muito sobre você
 Você pode fornecer nome e e-mail para os sites
 Mecanismos de busca usam redirecionamento e cookies 
para saberem mais sobre você
 Companhias de propaganda obtêm informações por meio
dos sites
 Recomendações
Caches Web
25
 Atende as requisições HTTP em nome de um servidor Web
 Acesso a Web feito por meio de um proxy
 Todos os clientes enviam suas requisições ao proxy
 Procedimento de solicitação a um servidor cache
 Browser estabelece conexão TCP com servidor Web
 Envia uma requisição HTTP
 Cache Web verifica se tem a cópia
 Envia o objeto ao browser como
resposta a requisição HTTP
 Se não possuir o objeto em sua
base abre conexão TCP com o 
servidor original
 Qdo recebe o objeto, o Cache Web
guarda uma copia e envia outra ao browser solicitante 
Caches Web
26
 Cache Web pode ser cliente eservidor
 Vantagens do uso:
 Reduzir o tempo resposta a um
cliente
 Reduzir o tráfego à Internet
 Get condicional
 Usa o método GET
 Possuir linha de cabeçalho
 if-modified-since
Atividades
27
1) Com as imagens acima quais informações pode se ter?
2) Faça uma resumo sobre XML, XSL, XHTML, Protocolo
(Network News Transfer Protocol) NNTP
3) Obtenha a espeficicação HTTP/1.1 RFC 2616 e resuma sobre
um tópico da mesma.
4) Descreva como a Cache Web pode reduzir o atraso na
recepção de um objeto desejado. 
5) A Cache Web reduz o atraso para todos os objetos
requisitados por um usuário ou somente para alguns? Por
quê?
Atividades
28
1) X-Frame-Options
1) Originalmente é foi concebida como uma forma de prevenir 
clickjacking (furto de clique).
2) Campo de resposta do cabeçalho HTTP
3) Valores possíveis: DENY, SAMEORIGIN, ALLOW-FROM uri
2) X-XSS-Protection
1) Usador pode desenvolvedor para evitar falha do tipo Cross-site scripting
(XSS)
2) Uso arbitrario de códigos (semelhando ao SQL Injection)
Transferência de arquivo: FTP
29
 Transferência de arquivos de e para o computador
remoto
 Modelo cliente servidor
 Cliente: lado que inicia a transferência (seja de ou para o 
lado remoto)
 Servidor: hospedeiro remoto
 FTP: RFC 959
Transferência de arquivo: FTP
30
 Exemplos de comandos:
 Envie um texto ASCII sobre canal de controle
 USER username
 PASS password
 LIST retorna listagem do arquivo no diretório atual
 RETR filename recupera (obtém) o arquivo
 STOR filename armazena o arquivo no hospedeiro remoto
 Exemplos de códigos de retorno
 Código de status e frase (como no HTTP)
 331 Username OK, password required
 125 data connection already open; transfer starting
 425 Can’t open data connection
 452 Error writing file
Correio eletrônico
31
 Três componentes principais: 
 Agentes de usuário
 Servidores de correio
 Simple mail transfer protocol: SMTP
Correio eletrônico
32
 Agente de usuário
 Composição, edição, leitura de mensagens de correio
 Ex.: Eudora, Outlook, elm, Netscape Messenger
 Servidores de correio
 Núcleo da infraestrutura do email
 Caixa postal
 Fila de mensagens
 Protocolo SMTP 
 Permite aos servidores de correio trocarem mensagens entre 
si
 Cliente: “servidor” de correio que envia
 Servidor: “servidor” de correio que recebe
Correio eletrônico
33
 Funções básicas
 Composição
 Criar mensagens e respostas
 Transferência
 Deslocamento da mensagem entre o remetente e o destinatário
 Geração de relatórios
 Informar ao remetente o que aconteceu com a mensagem
 Exibição das mensagens
 Disposição
 O que o destinatário faz com a mensagem após recebê-la
Correio eletrônico
34
 Comparação entre carta e email
Correio eletrônico
35
 Formato da mensagem RFC 822
Simple Mail Transfer Protocol (SMTP)
36
 Protocolo padrão de envio de email
 Faz uso do TCP
 Porta 25 ou 465 para conexão criptografada via SSL
 Transferência direta
 Três fases de transferência
 Handshaking (apresentação)
 Transferência de mensagens
 Fechamento
Simple Mail Transfer Protocol (SMTP)
37
 1) Alice usa o agente de usuário para compor a mensagem e “para” 
bob@someschool.edu
 2) O agente de usuário dela envia a mensagem para o seu servidor
de correio; a mensagem é colocada na fila de mensagens
 3) O lado cliente do SMTP abre uma conexão TCP com o servidor de 
correio do Bob
 4) O cliente SMTP envia a mensagem de Alice pela conexão TCP
 5) O servidor de correio de Bob coloca a mensagem na caixa de 
correio de Bob
 6) Bob invoca seu agente de usuário para ler a mensagem
Curso: Sistemas de informação
Disciplina: Redes de computadores II
Professor: Felipe Atourassap
Matéria: Camada de aplicação
Comparação entre SMTP e HTTP
38
 Ambos transferem arquivos para um hospedeiro
 HTTP – servidor web para servidor web
 SMTP – servidor de email para servidor de email
 Fazem uso de conexão persistente
 Diferenças
 HTTP – Protocolo de recuperação de informação
 SMTP – Protocolode envio de informação
Protocolos de acesso ao correio
39
 SMTP: entrega e armazena no servidor do destino
 Protocolo de acesso: recupera mensagens do servidor
 Autorização e download 
 Manipulação de mensagens armazenadas no servidor
 POP3: Post Office Protocol [RFC 1939]
 IMAP: Internet Mail Access Protocol [RFC 1730 ou 3501]
 HTTP
Post Office Protocol (POP)
40
 Uso de uma conexão TCP
 Porta 110
 Três fases
 Autorização
 Nome de usuário e senha
 Transação
 Recupera a mensagem (apaga, remove)
 Atualização
 Realiza a tareda da fase de transação
S: +OK POP3 server ready 
C: user alice
S: +OK 
C: pass hungry 
S: +OK user successfully 
logged on
Fase de Autorização
Internet Mail Access Protocol (IMAP)
41
 Problema de mobilidade do POP3
 Somente uma pasta
 IMAP 
 Porta 143
 Várias pastas
 Mais recursos, porém mais complexo
 Mensagens disponíveis a vários dispositivos
 Mantém todas as mensagens em um lugar: o servidor
Atividades
42
1) Configurar contas de email utilizando o POP e IMAP. 
Analisar o tráfego e fazer fazer um resumo das diferenças
apresentadas.
1) https://support.google.com/mail/troubleshooter/1668960?rd=1#t
s=1665018,1665137,2769074
2) http://help.yahoo.com/kb/index?page=content&y=PRO
D_MAIL_ML&locale=en_US&id=SLN3216&impressions=tr
ue
2) Por meio da RFC 1939 verificar quais são os comandos do 
POP.
1) List, retr, dele e quit
3) Por que HTTP, POP3 e SMTP rodam sobre TCP?
1) As aplicações associadas a esses protocolos exigem que todos os 
dados da aplicação sejam recebidos na ordem correta e sem 
lacunas
Domain Name System (DNS)
43
 Seres humanos podem ser identificados por várias
maneiras
 Nome de batistmo, CPF, RG, etc…
 Os computadores são iguais
 Nome do host, end. Binário
 Alteração do IP
 As redes só reconhecem enredeços numéricos
 Necessidade de conversão as strings ASCII em endereços
numéricos
 ARPANET – arquivo txt com endereços IP
 DNS 
 RFC 1034 e 1035
Domain Name System (DNS)
44
 DNS é:
 Um banco de dados distribuído implementado em uma
hierarquia de servidores
 Um protocolo da camada de aplicação que permite aos
hospedeiros consutarem o BD distribuído
 Internet é dividida em mais de 200 dominíos superior
 Com, edu, gov, int, mil, net e org (originais)
 Biz, info, name, pro, aero, coop e museum (concedidos
posteriormente)
Domain Name System (DNS)
45
 DNS utilizado por outras aplicações
 HTTP, SMTP, etc
 Máquina executa o lado cliente da aplicação
 Extrai a URL e passa para o cliente DNS
 O cliente DNS envia a consulta ao servidor DNS
 Recebe o endereço IP correspondente
 Distribuição de carga
Funcionamento DNS
46
 Arranjo simples para o DNS
 Um único servidor de nomes contendo todos os
mapeamentos
 Ponto único de falha
 Manutenção
 Volume de tráfego
 Banco de dados centralizado distante
 Faz uso de BD distribuído
 Não há server que mapeia todos os hosts da Internet
 Servidores de nomes raiz
 Servidores de Top-Level-Domain (TLD) domínio de alto nível
 Servidores com autoridade
DNS Raiz
47
 Conglomerado de servidores
 Servidores de nomes raiz:
 Buscam servidores de nomes autorizados se o mapeamento
do nome não for conhecido
 Conseguem o mapeamento
 Retornam o mapeamento para o servidor de nomes local
TLD e autorizados
48
 Servidores top-level domain (TLD)
 Responsáveis pelos domínios com, org, net, edu etc e todos
os domínios top-level nacionais uk, fr, ca, jp.
 Servidores DNS autorizados
 Servidores DNS de organizações
 Podem ser mantidos por uma organização ou provedor de 
serviços
Exemplo de DNS
49
Registro DNS
50
 Campos dos registro de recursos (RFC 1035)
 TTL: tempo de vida do recuros
 Type: nome (name) e valor (value) dependerão do tipo
 A
 Name = host e Value = IP
 (relay1.bar.foo.com, 145.37.93.126)
 NS
 Name = domínio e Value = DNS com autoridade
 (foo.com dns.foo.com)
 CNAME
 Value = nome canônico do host
 (www.abc.com.br srv01.abc.com.br)
 MX 
 Value = nome canônico do servidor
 Name
 Value
PONTIFÍCIA UNIVERSIDADE 
CATÓLICA DE MG
Redes de computadores
Camada de aplicação
Maio de 2014
Felipe Atourassap (faspmg@gmail.com)

Outros materiais

Outros materiais