Projeto de Redes de
Computadores
Iuri Oliveira Carvalho
[email protected]
Conteúdo
● Camada de Aplicação
o
Principais Protocolos
Arquitetura TCP/IP (Modelo Híbrido)
X RM OSI
7
6
5
4
3
2
1
Aplicação
Apresentação
Sessão
Transporte
Rede
Enlace
Física
Aplicação
Transporte
Rede
Enlace
Física
Camada de Aplicação
●
●
●
●
Camada de interface com o usuário
Motivo da existência de redes
Maioria das aplicações são executadas
Exemplos de protocolos: HTTP, SMTP, FTP,
SSH, POP3, IMAP, DNS
● Procolos definos na RFC
Arquiteturas de aplicação
● Cliente-servidor
● P2P
● Híbrida
Arquiteturas de aplicação
● Cliente-servidor
o
o
o
o
Servidor
 Endereço fixo
 Hospedeiro ativo
 Sempre aguardando conexão
Cliente
 Endereço dinâmico
 Nem sempre estão conectados
Comunicação só pode ocorrer entre clientes e
servidores
Exemplo: Servidor Web
Arquiteturas de aplicação
● P2P (Peer-to-peer / Ponto-a-Ponto)
Sem um nó central
o Conexões alteram com frequência
o Altamente escalável
o Difícil de gerencial
o Exemplo: Torrent
o
Arquiteturas de aplicação
● Híbrido
Presença de um servidor para localizar os pares ou
arquivos
o Comunicação realizada diretamente entre os pares
o Exemplo: Voip
o
Comunicação entre processos
● No mesmo host quem define é o SO
● Entre hosts diferentes:
o
o
Processo cliente
Processo servidor
Comunicação entre processos
● Estrutura P2P: Quem é o cliente e quem é o
servidor?
Sockets
● Envio/Recebimento para o socket
● Análogo a uma porta
Funcionamento
● Através da endereço - IP
● Através da porta - 80
● Junção de endereço e porta
Funcionamento
● Protocolos da camada de transporte
o
o
TCP
UDP
● Aplicação define qual protocolo utilizar
Aplicação X Camada de Transporte
Aplicação
Procolo de
Aplicação
Protocolo de
Transporte
Email
SMTP
TCP
Web
HTTP
TCP
Compartilhamento de
Arquivo
SAMBA
TCP
Resolução de nome
DNS
UDP
Acesso Remoto
SSH
TCP
Monitoramento
SNMP
UDP
Funcionamento
● Serviços
o
Vamos fazer uma analogia a um shopping
WWW
●
●
●
●
●
World Wide Web
Arquitetura
Conteúdo estático
Conteúdo dinâmico
HTTP
WWW
WWW
● Público em geral
● Funciona por demanda
● HTML - HyperText Markup Language
o
o
o
Linguagem de Marcação de Hipertexto
Tags
<html>, <head>, <body>...
HTTP
● Hypertext Transfer Protocol
● É a base para comunicação na www
● Utilizado para sistemas de informação de
hipermídia, distribuídos e colaborativos
● Possui 3 versões
● 0.9
o
ASCII
● 1.0
o
MIME44
● 1.1
HTTP
● Atualmente é coordenado pela W3C (World
Wide Web Consortium) e IETF (Internet
Engineering Task Force)
● Versão atual 1.1 está na RFC 2616
HTTP
● Principais servidores:
o
o
o
Apache
IIS
nginx
HTTP
HTTP
● Protocolo sem estado
o
o
Servidor não mantém informações sobre os clientes
Solução?
 Cookies
HTTP
● Conexão não-persistente
o
o
Transferência de um objeto por sessão
HTTP 1.0
● Conexão persistente
o
o
Múltiplos objetos por sessão
HTTP 1.1
HTTP
● Formato da mensagem
o
Métodos
 GET
 HEAD
 PUT
 POST
 DELETE
 TRACE
 CONNECT
 OPTIONS
HTTP
● Formato da mensagem
o
o
Mensagem de requisição
Mensagem de resposta
HTTP
● Formato da mensagem
o
Mensagem de requisição
HTTP
● Formato da mensagem
o
Mensagem de requisição
HTTP
● Formato da mensagem
o
Mensagem de resposta
HTTP
● Formato da mensagem
o
Mensagem de resposta
HTTP
● Código de resposta de status
Código
Significado
Exemplo
1xx
Informação
100 - Servidor aceitou os
cabeçalhos do cliente
2xx
Sucesso
200 - Requisição realizada com
sucesso
3xx
Redirecionar
301 - Página movida
4xx
Erro no Cliente
404 - Página não encontrada
5xx
Erro no Servidor
500 - Erro interno no servidor
HTTP
● URL
Uniform Resource Locator - Localizador Universal
de Recursos
o Endereço virutal
o Exemplo:
http://www.teste.com.br/index.html
o
HTTP
● Melhorando desempenho
o
o
Compressão
 Comprimir os dados enviados
Cache
 Local
 Servidor
HTTP
● Melhorando desempenho
o
Cache
 Local
●
Browser mantém cópia local
HTTP
● Melhorando desempenho
o
Cache
 Servidor
●
Exemplo: Squid
HTTP
● Melhorando desempenho
o
Problemas com cache?
HTTP
● GET condicional
Resolver o problema do cache
o Last-Modified
o If-Modified-Since
o Também melhora o desempenho
o
HTTP
● Teste HTTP
o
o
o
telnet www.ieft.org 80
GET /rcf.html HTTP/1.1
Host: www.ietf.org
DNS
● Domain Name Server
● Responsável pela resolução de nomes
● IP (v4 e v6) identificador único na rede
o
8.8.8.8
● Nomes facilitam a compreensão dos
usuários não das estações
o
www.google.com
● Utilizado apenas para acesso Web?
DNS
● Cada estação tinha seu arquivo de hots
● Crescimento da Internet tornou inviável
DNS
● Estrutura descentralizada
● Porque não centralizar?
o
Confiabilidade
o
Volume de tráfego
o
Distância
o
Manutenção do banco de dados
DNS
● Atualmente consta com 13 servidores raiz
o
o
o
10 nos EUA, 2 na Europa e 1 na Ásia
a-m
Réplicas espalhadas pelo mundo
DNS
● 13 servidores raiz
DNS
● No brasil Registro br
DNS
● Consulta é feita recursivamente
Servidores raiz possuem todos os endereços dos
TLD
o TLD - Top Level Domain
o .com, .net, .org, .edu, .gov
o
DNS
● Consulta é feita recursivamente
DNS
● Consulta é feita recursivamente
o
o
www.teste.com.br.
 Vamos analisar
Porta 53 UDP
DNS
● Consulta é feita recursivamente
DNS
● DNS Reverso
o
o
Encontrar o nome associado ao endereço
Resolução diferente
DNS
● Servidor Master
o
Servidor principal
● Servidor Slave
o
Sincronia com o master
● Porta 53 TCP
DNS
● Cache DNS
o
o
o
Manter em cache endereço resolvido
Manter em cache endereço não resolvido
Informações desatualizadas. Como resolver?
 TTL
DNS
● Tipos de registro
o
A

Associa um hostname à um endereço IPv4.
o AAAA
 Associa um hostname à um endereço IPv6.
o PTR
 Associa um endereço IP a um hostname para a
resolução de DNS reverso.
o NS
 Informa os IPs dos servidores DNS autoritativos
de um domínio.
DNS
● Tipos de registro
MX
 Informa os IPs dos servidores SMTP de um
domínio.
o CNAME
 Usado para criarmos um alias de um host para
outro, facilitando no caso de uma mudança de
IP.
o
DNS
● Tipos de registro
o
TXT
 Pode armazenar qualquer informação em
formato texto. Inicialmente criado para
armazenar comentários ou informações sobre o
domínio, hoje é muito usado por ferramentas
anti-spam como o SPF (Sender Policy
Framework) e o DomainKeys/DKIM.
DNS
● Serviços gratuitos
o
o
OpenDNS
 IPv4
●
208.67.222.222 - Primário
●
208.67.220.220 - Secundário
Google Public DNS
 IPv4
●
●

8.8.8.8 - Primário
8.8.4.4 - Secundário
IPv6
●
●
2001:4860:4860::8888 - Primário
2001:4860:4860::8844 - Secundário
DNS
● Servidor
Bind
o NSD
o djbdns
o Unbound
o Microsoft DNS
o Dnsmasq
o MaraDNS
o
Comunição Cliente X Servidor
● Vamos detalhar o cenário