Escolar Documentos
Profissional Documentos
Cultura Documentos
Camada de Aplicação
Redes de Computadores
Servidor:
Hospedeiro sempre ativo
Endereço IP permanente
Fornece serviços solicitados
pelo cliente
Clientes:
Comunicam-se com o servidor
Pode ser conectado
intermitentemente
Pode ter endereço IP dinâmico
Não se comunicam diretamente uns
com os outros, a princípio
4
Arquitetura P2P pura
5
Híbrida de cliente-servidor e P2P
Napster
Instant messaging
Bate-papo entre dois usuários é P2P
Detecção/localização centralizada de presença:
Usuário registra seu endereço IP com o servidor central quando fica on-
line
Usuário contata o servidor central para encontrar endereços IP dos
vizinhos
A base das aplicações é a interação cliente-servidor e a comunicação entre
pares.
6
Comunicação de Processos
7
Processos de endereçamento
8
Portas UDP e TCP
9
Sockets
10
Sockets
Um processo envia/recebe
mensagens para/de seu socket
O socket é análogo a uma porta
O processo de envio empurra a
mensagem para fora da porta
O processo de envio confia na
infra-estrutura de transporte no
outro lado da porta que leva a
mensagem para o socket no
processo de recepção.
API: (1) escolha do protocolo de transporte; (2) habilidade
para fixar poucos parâmetros
11
Sockets
12
Os protocolos da Camada de Aplicação
Protocolos proprietários:
Ex.: KaZaA
De qual serviço de transporte uma
aplicação necessita?
Perda de dados
Algumas aplicações (ex.: áudio) podem tolerar alguma perda
Outras aplicações (ex.: transferência de arquivos, telnet) exigem
transferência de dados 100% confiável
Temporização
Algumas aplicações (ex.: telefonia Internet, jogos interativos)
exigem baixos atrasos para serem “efetivos
Banda passante
Algumas aplicações (ex.: multimídia) exigem uma banda mínima
para serem “efetivas”
Outras aplicações (“aplicações elásticas”) melhoram quando a
banda disponível aumenta”
14
Requisitos de transporte de aplicaçôes comuns
15
Serviços dos protocolos de transporte da
Internet
Serviço TCP:
Orientado à conexão: conexão requerida entre processos cliente e servidor
Transporte confiável entre os processos de envio e recepção
Controle de fluxo: o transmissor não sobrecarrega o receptor
Controle de congestionamento: protege a rede do excesso de tráfego
Não oferece: garantias de temporização e de banda mínima
Serviço UDP:
Transferência de dados não confiável entre os processos transmissor e
receptor
Não oferece: estabelecimento de conexão, confiabilidade, controle de fluxo e
de congestionamento, garantia de temporização e de banda mínima.
16
Aplicação e protocolos de transporte da
Internet
Protocolo de Protocolo de
Aplicação aplicação transporte
17
Aplicações da Internet
18
DNS
Problemas:
• Se lembrar de cada endereço IP;
• Endereços IP podem mudar;
• Solução:
• Criar um serviço de nomes de alto nível.
19
DNS
20
DNS
Domain Name System (1980s)
Banco de dados distribuído utilizado pelas aplicações
TCP/IP para fazer o mapeamento entre os nomes e os
endereços IP
Esquema de nomes hierárquico, baseado em domínio
Pode ser visto como um middleware porque ele
preenche um gap entre as aplicações e as outras
camadas da rede
Normalmente, é utilizado por outras aplicações e não
pelo usuário
Utiliza UDP na porta 53
21
DNS: Funcionamento Básico
22
DNS
USER
user@cs.princeton.edu
cs.princeton.edu
Servidor Programa
de nome de e-mail
192.12.69.5
192.12.69.5
TCP
192.12.69.5
IP
23
DNS
Definições
Espaço de nomes: define o conjunto de nomes
possíveis
Registro de recursos: define os campos do banco
de dados DNS
Servidores de nome: contém registros de recursos
e está preparado para receber requisições
Resolvedor: é o processo presente na máquina do
usuário que faz as requisições aos servidores de
nome
24
DNS: Registro de Recursos
25
Espaço de Nomes
26
Espaço de Nomes
27
Espaço de Nomes
Domínios de primeiro nível
Genéricos: com (comerciais), edu (instituições
educacionais), gov (governo americano), int
(algumas organizacoes internacionais), mil (militar
americano), net (provedores), org (organizações
não governamentais), biz (negócios), info
(informação), name (nomes de pessoas), pro
(profissões), aero (indústrias aeroespaciais), coop
(cooperativas), museum (museus)
28
Servidores de Nomes
29
Servidores de Nomes
30
Servidores de Nomes
Mapeamento:
Um procedimento chamado resolver é
invocado passando como parâmetro o
nome do computador
Resolver envia um pacote UDP para o
servidor DNS local que procura pelo nome
e retorna o endereço IP para o resolver que
retorna para quem o invocou
31
Servidores de Nomes: Exemplo
de resolução de nome:
32
DNS: servidores de nomes raiz
São contatados pelos servidores de nomes locais que não podem resolver um nome
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
Existem 13 servidores
de nomes raiz no mundo
33
DNS: servidores de nomes raiz - Cópias
34
Servidores TLD e autoritários
35
Servidor de nomes local
36
Consulta DNS
O hospedeiro em
cis.poly.edu quer o
endereço IP para
gaia.cs.umass.edu
37
Consulta DNS
Consulta recursiva:(1 e 8)
Transfere a tarefa de
resolução do nome para o
servidor de nomes
consultado
Consulta encadeada
(iterativa, demais) :
Servidor contatado
responde com o nome de
outro servidor de nomes
para contato
“eu não sei isto, mas
pergunte a este servidor”
38
Cache de registros
39
DNS: armazenando e atualizando registros
40
DNS: armazenando e atualizando registros
41
DNS: armazenando e atualizando registros
42
Registros DNS
43
DNS: protocolo e mensagem
Protocolo DNS: mensagem de consulta e resposta , ambas com o
mesmo formato de mensagem
Cabeçalho da msg
Identificação: número de
16 bits para consulta,
resposta usa o mesmo
número
Flags:
Consulta ou resposta
Recursão desejada
Recursão disponível
Resposta autoritativa
44
DNS: Criando um novo domínio
45
Mecanismo de Resolução Recursivo
46
Criando um domínio
http://registro.br/index.html no Brasil
Núcleo de Informação e coordenação do
Ponto br
R$40,00 por ano(?)
Nos EUA: ICANN (Internet Corporation for
Assigned Names and Numbers )
ICANN é responsável pela raiz da árvore
47
Aplicações da Internet
48
FTP: o protocolo de transferência de arquivos
49
FTP: controle separado, conexões de dados
Cliente FTP contata o servidor FTP na porta 21 especificando o TCP como protocolo
de transporte
Cliente obtém autorização pela conexão de controle
Cliente procura o diretório remoto enviando comandos pela conexão de controle
Quando o servidor recebe um comando para uma transferência de arquivo, ele abre
uma conexão de dados TCP para o cliente
Após a transferência de um arquivo, o servidor fecha a conexão
Servidor abre uma segunda conexão de dados TCP para transferir outro arquivo
Servidor FTP mantém “estado”: diretório atual, autenticação anterior
50
FTP comandos, respostas
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
51
Aplicações da Internet
52
Compartilhamento de arquivos P2P
USO
Compartilhamento de arquivos
Computação distribuída
55
P2P: problemas com diretório centralizado
56
Query flooding: Gnutella
Totalmente distribuído
Sem servidor central
Protocolo de domínio público
Muitos clientes Gnutella implementando o protocolo
Rede de cobertura: gráfico
Aresta entre o par X e o Y se não há uma conexão TCP
Todos os pares ativos e arestas estão na rede de sobreposição
aresta não é um enlace físico
Um determinado par será tipicamente conectado a <10 vizinhos na
rede de sobreposição
57
Gnutella: protocolo
Mensagem de consulta
(query) é enviada pelas
conexões TCP existentes
Os pares encaminham
a mensagem de consulta
QueryHit (encontro)
é enviado pelo
caminho reverso
58
Gnutella: conectando pares
1.Para conectar o par X, ele precisa encontrar algum outro par na rede
Gnutella: utiliza a lista de pares candidatos
2.X seqüencialmente, tenta fazer conexão TCP com os pares da lista até
estabelecer conexão com Y
3.X envia mensagem de Ping para Y; Y encaminha a mensagem de Ping.
4.Todos os pares que recebem a mensagem de Ping respondem com
mensagens de Pong.
5.X recebe várias mensagens de Pong. Ele pode então estabelecer
conexões TCP adicionais.
59
Aplicações da Internet
Correio Eletrônico
60
Arquitetura e Serviços
Funções básicas
• Composição
• Transferência
• Geração de relatórios
• Exibição
• Disposição
61
Correio Eletrônico: Introdução
62
Correio Eletrônico: Introdução
63
O agente usuário
64
Formatos de mensagens
65
Formato de mensagens
66
Arquitetura e Serviços
67
Arquitetura e Serviços
68
Arquitetura e Serviços
69
Agente do Usuário
70
Correio Eletrônico
TCP
IP
Enlace
71
Transferência de Msgs
72
Transferência de Msgs
74
POP3
75
Acesso a Caixas Postais
76
IMAP
IMAP (Internet Message Access Protocol)
Todas as mensagens permanecem no servidor
indefinidamente em várias caixas de entrada
Possui mecanismos para criar, remover, manipular
várias caixas de entrada no servidor
Permite que apenas partes das mensagens sejam
lidas
IMAP espera conexões TCP na porta 143
77
Formato de Mensagens
78
Formato de Mensagens
79
Formato de Mensagens
80
Formato de Mensagens
81
Formato de Mensagens
82
Formato de Mensagens
83
MIME
84
MIME
Uma mensagem em
várias partes contendo
as alternativas de texto
formatado e áudio.
85
Servidores de Correio
Servidores de correio
Caixa postal contém
mensagens que chegaram
(ainda não lidas) para o
usuário
Fila de mensagens contém
as mensagens de correio a
serem enviadas
Protocolo SMTP permite aos
servidores de correio
trocarem mensagens entre si
Cliente: servidor de
correio que envia
“servidor”: servidor de
correio que recebe
86
Transferência de mensagens
87
Transferência de mensagens
88
Transferência de mensagens
89
Entrega Final
90
Entrega Final
91
Entrega Final
92
Transferência de mensagens
Transferência de uma
mensagem de
elinor@abcd.com para
carolyn@xyz.com.
93
Alice envia mensagem para Bob
94
Entrega Final
95
Entrega Final
(a) Envio e leitura de correio eletrônico quando o receptor tem uma conexão
permanente da Internet e o agente usuário funciona na mesma máquina em que está
o agente de transferência de mensagens. (b) Leitura do correio eletrônico quando o
receptor tem uma conexão dial-up para um ISP.
96
IMAP
97
World Wide Web
98
WWW: Introdução
99
WWW: Introdução
100
WWW: Introdução
101
World Wide Web
HTTP
TCP
IP
Enlace
102
World Wide Web
A web consiste em vasta coleção de
documentos ou páginas
Cada página contém links para outras páginas
As páginas são descritas em html e são
visualizadas por um programa cliente
chamado de navegador (browser)
Cliente se comunica com o servidor Web
através do protocolo http
103
Visão geral da arquitetura
104
WWW: Arquitetura
105
WWW: Arquitetura
106
WWW: Arquitetura
107
WWW: Arquitetura
108
WWW: Arquitetura
109
WWW: Arquitetura
110
WWW: Arquitetura
111
WWW: Arquitetura
112
WWW: Arquitetura
113
O lado Servidor
114
Servidores mais utilizados
115
Páginas Estáticas
Páginas Estáticas
Páginas Estáticas
Páginas Dinâmicas
Geração de Páginas Dinâmicas
Geração de Páginas Dinâmicas
Protocolo de Transferência
Protocolo de Transferência
Protocolo de Transferência
Protocolo de Transferência
Protocolo de Transferência
Cookies
Cookies
URLs – Uniform Resource Locaters
129
Ausência de estados e cookies
130
HTML – HyperText Markup Language
(b)
131
Aperfeiçoamento de desempenho
Proxy
• Replicação de Servidores.
• Armazenamento em cache.
132
HTTP – HyperText Transfer Protocol
133
HTTP
Cliente HTTP: browser
Servidor HTTP: Servidor web (espera
conexões na porta 80)
Um cliente HTTP abre uma conexão e envia
uma mensagem de requisição ao servidor
HTTP
O servidor HTTP retorna uma mensagem de
resposta, geralmente contendo o recurso que
foi requisitado
134
WWW – Desempenho
135
WWW – Cache
• Quem deve realizar o armazenamento em
cache?
137
WWW – Cache
Cabeçalho Expires:
Expires: Fri, 30 Oct 1998 14:19:41 GMT
138
WWW – Cache
Cache pró-ativas
Quando o proxy busca uma página de um servidor,
ele verifica os links desta página e requisita
também as páginas correspondentes a estes links
Vantagem: pode reduzir o tempo de acesso das
requisições subseqüentes
Desvantagem: pode inundar os meios de
comunicação com páginas que nunca serão
acessadas
139
WWW – Replicação de servidores
• Replicação de servidor (mirroring): replicar o
conteúdo de um servidor em múltiplas
localidades bastante separadas.
Funcionamento básico:
• A página principal contém links para web sites de
algumas regiões
• O usuário clica no link do site mais próximo para
acessar o servidor
• A partir daí, todas as solicitações vão para o
servidor selecionado
140
WWW – Redes de Entrega de conteúdo
141
Bibliografia