Você está na página 1de 9

Camada de Aplicação

Rafael Giovanella
FTEC

Camada de Aplicação
- Aplicação: Processos distribuídos em
comunicação;
- Rodam nos computadores usuários de rede como
programas de usuários;
- Trocam mensagens para a realização da
aplicação;
Processo: programa executando num host;
(Dentro do mesmo host: interprocess
communication)
(Processos exectuando em diferentes hosts se
comunicam com um protocolo da camada de
aplicação)

1
Protocolos de aplicação Paradigmas

- As aplicações Web, seguem basicamente, dois


- Fazem parte das aplicações;
paradigmas;
- Definem mensagens trocadas e as ações
tomadas;
- CLIENTE / SERVIDOR
- Usam serviços de comunicação das camadas
OU
inferiores;
- Peer to Peer (P2P)

Cliente / Servidor Cliente Servidor


CLIENTE
- Inicia a comunicação com o servidor (fala primeiro);
- Tipicamente solicita serviços do servidor;
- Web: Cliente implementado no browser; e-mail; leitor
de correio...

SERVIDOR
- Fornece os serviços solicitados ao cliente
- E.x., Web server envia a página Web solicitada,
servidor de e-mail envia as mensagens, etc.

Peer to Peer Protocolos de aplicação

- É um modelo de comunicação no qual cada parte Protocolos específicos:


envolvida possui capacidades similares e cada um
pode iniciar a comunicação. - HTTP
Exemplo software como E-MULE e derivados. - DNS
- Telnet
-FTP
- SMTP
- DIVERSOS OUTROS

2
Protocolo HTTP (Hyper text transfer protocol) Http

- Protocolo de transporte: TCP


Fases:
- Inicia conexão TCP (cria socket) para o servidor na
porta 80
- Servidor aceita uma conexão TCP do cliente
Mensagem Http (mensagem do protocolo de camada
de aplicação) são trocadas entre o browser (cliente
http) e o servdiro Web (Servidor http)
- A conexão TCP é fechada

WEB SERVERS FTP (File Transfer Protocol)

- Provê o serviço de transferência de arquivos;


- Utiliza 2 portas:
- Apache (Versão 2) 21: dados de controle
- Microsoft IIS (Internet Information Services) 20: dados
(Vem integrado com o Windows Server)

FTP DNS: Domain Name System

Domain Name System:


Pessoas: muitos • base de dados distribuída
identificadores: implementada numa hierarquia de
muitos servidores de nomes
– RG, nome, passporte
• protocolo de camada de aplicação
Internet hosts, roteadores: host, roteadores se comunicam
– endereços IP (32 bit) - com servidores de nomes para
usados para endereçar resolver nomes (translação
datagramas nome/endereço)
– “nome”, ex., ftec.com.br - – nota: função interna da Internet,
usados por humanos implementeda como protocolo
da camada de aplicação
Q: relacionar nomes com
– complexidade na “borda” da
endereços IP?
rede

3
Servidores de Nomes DNS
Conceitos DNS
• nenhum servidor tem todos os
Porque não centralizar o mapeamentos de nomes para
- Provê o serviço de mapeamento de nomes DNS? endereços IP
• ponto único de falha servidores de nomes locais:
em números IP e vice-versa; – cada ISP ou empresa tem um
- Organiza os nomes dos hosts em uma • volume de tráfego servidor de nomes local (default)
– Consultas dos computadores locais
hierarquia de domínios; • base de dados distante ao DNS vão primeiro para o
servidor de nomes local
Base de dados distribuída implementada numa • manutenção
servidor de nomes autoritativo:
hierarquia de muitos servidores de nomes. – para um computador: armazena o
nome e o endereço IP daquele
Utiliza o protocolo de transporte UDP e a porta Não cresce junto com a computador
rede! – pode realizar mapeamentos de
é a 53. nomes para endereços para aquele
nome de computador

DNS: Servidores de Nomes Raiz


DNS: exemplo simples servidor de nomes
raiz
• são contatados pelos servidores de nomes locais que não podem resolver um
nome
• servidores de nomes raiz:: host surf.eurecom.fr quer o 2 4
– buscam servidores de nomes autoritativos se o mapeamento do nome não endereço IP de 5 3
for conhecido gaia.cs.umass.edu
– conseguem o mapeamento 1. contata seu servidor DNS local,
dns.eurecom.fr
– retornam o mapeamento para o servidor de nomes local
a NSI Herndon, VA
2. dns.eurecom.fr contata o
servidor de nomes local servidor de nomes autoritativo
c PSInet Herndon, VA k RIPE London servidor de nomes raiz se dns.eurecom.fr dns.umass.edu
d U Maryland College Park, MD
g DISA Vienna, VA
i NORDUnet Stockholm
necessário
h ARL Aberdeen, MD
j NSI (TBD) Herndon, VA m WIDE Tokyo 3. o servidor de nomes raiz contata 1 6
e NASA Mt View, CA o servidor de nomes autoritativo,
f Internet Software C. Palo Alto, CA
dns.umass.edu, se
necessário
existem 13 servidores
computador solicitante
de nomes raiz no surf.eurecom.fr
gaia.cs.umass.edu
b USC-ISI Marina del Rey, CA
l ICANN Marina del Rey, CA
mundo

DNS: exemplo servidor de nomes


DNS: consultas encadeadas servidor de nomes
raiz raiz

Servidor de nomes raiz: 2 6 consulta recursiva: 2


consulta
encadeada
• pode não conhecer o 7 3 • transfere a tarefa de 3
servidor de nomes resolução do nome para o
4
autoritativo para um certo servidor de nomes
nome consultado 7
• pode conhecer: servidor • carga pesada?
de nomes intermediário: servidor de nomes local servidor de nomes intermediário servidor de nomes local servidor de nomes intermediário

aquele que deve ser


dns.eurecom.fr dns.umass.edu
consulta encadeada: dns.eurecom.fr dns.umass.edu

4 5 5 6
contactado para encontrar 1 • servidor contactado 1
8 8
o servidor de nomes responde com o nome de
autoritativo outro servidor de nomes
servidor de nomes autoritativo servidor de nomes autoritativo
dns.cs.umass.edu para contato dns.cs.umass.edu
computador solicitante • “Eu não sei isto ,mas computador solicitante
surf.eurecom.fr pergunte a este servidor” surf.eurecom.fr

gaia.cs.umass.edu gaia.cs.umass.edu

4
DNS: armazenando e atualizando Registros do DNS
registros
DNS: base de dados distribuída que armazena registros de
• uma vez que um servidor de nomes apreende recursos (RR)
um mapeamento, ele armazena o mapeamento formato dos RR: (name, value, type,ttl)

num registro to tipo cache


• Type=A • Type=CNAME
– registro do cache tornam-se obsoletos – name é o nome do computador – name é um “apelido” para algum nome
(desapareçem) depois de um certo tempo – value é o endereço IP “canônico” (o nome real)‫‏‬
• mecanismos de atualização e notificação estão www.ibm.com é realmente
servereast.backup2.ibm.com
sendo projetados pelo IETF • Type=NS – value é o nome canônico
– RFC 2136 – name é um domínio (ex.
– http://www.ietf.org/html.charters/dnsind-charter.html foo.com)
• Type=MX
– value é o endereço IP do
– value é o nome do servidor de
servidor de nomes autoritativo
correio associado com name
para este domínio

DNS: protocolo e mensagens DNS: protocolo e mensagens


protocolo DNS: mensagen de consulta e resposta , ambas
com o mesmo formato de mensagem
Campos de nome e tipo
cabeçalho da msg para uma consulta
• identificação: número de 16
bit para consulta, resposta RRs de resposta
usa o mesmo número a uma consulta
• flags:
– consulta ou resposta registros para
– recursão desejada servidores autoritativos
– recursão disponível
– resposta é autoritativa informação adicional
que pode ser útil

Registros de DNS Reverso Exemplo de configuração


DNS Reverso: mapeia endereços IPs em Servidor mais usado para DNS: BIND (Berkeley Internet
Name Domain)
nomes
formato dos RR: (name, value, type, ttl) • Arq. de config. do BIND: /etc/named.conf
• Type=PTR Exemplos de registros:
– name é o endereço IP invertido com o sufixo
.in-addr.arpa
exemplo.com.br. 10800 IN NS ns.exemplo.com.br.
– value é o nome
ns.exemplo.com.br. 10800 IN A 200.100.100.1
exemplo.com.br. 10800 IN MX mail.exemplo.com.br.
O IP fica invertido para manter a mesma forma www.exemplo.com.br 10800 IN CNAME ns.exemplo.com.br.
hierárquica do nome e usar a estrutura normal do DNS
1.100.100.200.IN-ADDR.ARPA. 10800 IN PTR ns.exemplo.com.br.

Exemplo: 9.194.143.200.in-addr.arpa, mapeado em www.uniriotec.br Obs: bases de DNS direto e reverso são independentes.

5
DNSSEC
DNS - Domínios

- edu – instituições educacionais, como


universidades etc...
- com – organizações comerciais, companhias;
- org – organizações não comerciais;
- net – redes ou hosts administrativos
- mil – Instituições militares
- gov – Instituições governamentais

Registro BR – 20 Agosto 2008

DNS - Domínios
Client de DNS
- Nenhum servidor tem todos os mapeamentos de - Problema mais comum nas ADSLs , para
nomes para os endereços Ips. verificar o problema é simples:
1- Testar através do ping um endereço real na
SERVIDORES DE NOMES internet: o endereço IP do terra por exemplo:
- Cada ISP ou empresa tem um servidor de nomes # ping 200.176.3.142
local (default); Caso funcione, a internet está funcionando,
Consultas dos computadores locais ao dns vão primeiro porém agora que testamos a resolução de nomes,
para: o DNS:
1- PC Local – Dentro do próprio windows ou linux (cache); # ping www.terra.com.br
2- Servidor DNS dentro de uma rede
3- Vai para a Internet em um servidor de DNS de um ISP (Internet
Se o mesmo resolver listando o IP é porque está
Service Provider); funcionando.

DNS Telnet
Terminal Network Protocol
Clients de DNS: - Sem segurança nenhuma
Configurar no Windows ou Linux Provê o serviço de terminal remoto através da
TERRA: 200.176.2.10 rede;
GVT: 200.175.89.139 - Utiliza porta 23
BRTURBO: 201.10.1.2 - 201.10.120.2 - Utilizado para acesso a equipamentos mais
antigos como roteadores / print servers / etc ..
Comando utilizado para testar se portas estão
abertas ou fechadas em servidores.

6
SMTP
Correio Eletrônico
Simple Mail Transport Protocol
- Provê o serviço de correio eletrônico para envio de
- Serviço de mensagens com os seguintes protocolos: mensagens;
- Usa TCP para transferência confiável de mensagens
- SMTP (Simple mail transport protocol) p 25 de correio do cliente ao servidor, porta 25
- POP3 (Post office Protocol 3) p 110 - Transferência direta, servidor que envia para o
- IMAP (Internet Message Access Protocol) p 143 servidor recebe;
- Três fases de transferência (three-way handshake)
Interação comando/resposta
Comandos: texto ASCII
resposta: código de status e frase

SMTP POP - IMAP


Testando se um servidor SMTP existe, ou está - POP3 – Post Office Protocol 3 – [RFC 1939]
funcionando, tanto no windows como no linux: Autorização (agente / servidor ) e download para o PC.
- IMAP: Maiores recursos, mais complexo e completo.
Utilizar o comando Telnet: Manipulação de mensagens e armazenamento no
# telnet <ip_do_servidor> 25 servidor;
ou
# telnet nomedoservidor.com.br 25 Fácil configuração e armazenagem de mensagens ou
localmente em seu PC ou no Servidor de e-mails, ou
Caso o mesmo responder com um banner vice-versa.
(Resposta), o servidor está ok

SSH – Secure Shell VNC


SSH é um protocolo seguro que utiliza Criptografia para
transferência de arquivos. - Programa utilizado para realizar acesso remoto
Utilizado principalmente para se acessar equipamentos a um computador;
Linux/Unix remotamente de forma segura. - Muito utilizado em Suporte Remoto;
Equipamentos como roteadores mais atuais possuem - Utiliza a porta 5900 até a 5906por padrão, pode
acesso via SSH. utilizar também na versão JAVA WEB utiliza as
O SSH utiliza a porta 22; portas 5800 até a 5806;
O principal programa Cliente de SSH, no Windows é o www.realvnc.com
PUTTY, e no linux é o próprio Shell Bash.

7
Remote Desktop ou (Área de Tecnologia emergentes de suporte
trabalho remota) remoto
O TS (Terminal Server) é uma tecnologia da Microsoft
para acesso de área de trabalhos remotas.
Por padrão não utiliza uma criptografia muito forte. É possível hoje em dia se conectar remotamente
Muito utilizado em empresas para acesso a sistemas, em Pcs para se realizar suporte remoto através
com o uso de terminais (ThinClients) entre outros. de softwares via WEB onde é passado um ID
Utiliza a porta TCP 3389 por padrão. (Identificator) e através dele é criada uma
conexão e o mesmo funciona.
No Windows, clique em iniciar + executar: digite mstsc
No Linux é utilizado o comando rdesktop client

Conexões entre Filiais


Firewalls layer 7
Conexões entre filiais de empresas pela INTERNET
PÚBLICA são utilizados equipamentos para criar VPNs - Firewalls que controlam a nível de aplicação o
que utilizam dependendo a situação portas, protocolos que entra e o que sai.
diferentes; - Políticas pré-definidas (DROP ou ACCEPT)
As mais comuns: - Controla também a nível de porta, o que pode e
- OPENVPN (Linux e Windows) o que não pode.
- PPTP (Conexão com uma espécie de discador) No Linux é muito comum o uso do IPTABLES
- IPSEC – Conexão com IP autenticado e com o para controle de portas e utilização como Firewall.
datagrama do IP criptografado. Utilização do NAT (Network Address Translation)
- VPN Alugada – Contrata-se um link com um ISP
(Operadora de Telecom) onde a mesma interliga a filial.

SNMP – Simple Network


Samba
Management Protocol

Protocolo utilizado na Rede para a gerência dos Programa de comunicação de arquivos LINUX /
equipamentos. WINDOWS e vice versa, muito utilizado em
Recolhimento de estatísticas, alertas de mau servidores de arquivos;
funcionamento etc... O samba utiliza as portas 137, 138 (udp), e 139, 445 (tcp);
Utiliza as portas TCP 161
Instalar no windows pelo Adicionar ou remover
componentes do windows;
No linux instalar pacote do snmp client;

8
DHCP – Dynamic host configuration DHCP – utiliza as portas 67 na escuta e 68 no retorno da
requisição.
Protocol
- Configura um endereço IP automaticamente em
um PC ao ser conectado na Rede Física ou
Wireless.
- Ao tentar se conectar na rede, além do endereço
IP o computador recebe dados preciosos para a
navegação na internet e utilização da rede
interna.
- Endereço IP;
- Máscara de Sub-rede;
- Roteador Padrão (Gateway);
- Servidor DNS (Resolução de nomes);

Forçando um computador a
atualizar o Endereço IP via DHCP

- No Linux: # dhclient

- No Windows: Dentro do Prompt do DOS:

c:\> ipconfig /renew