Você está na página 1de 91

APLICA(OLS 1CP,IP

Eriko Porto
eriko_porto@uol.com.br
ltima atualizao agosto/2005
REDES DE COMPUTADORES
NVLL DL APLICA(AO
Aplicaes
comunicao entre
processos distribudos
executam nos hosts no
espao do usurio
baseadas em troca de
mensagens
exemplo: e-mail,
transferncia de arquivos,
Web
Protocolos (aplicao)
so parte da aplicao
definem o tipo de
mensagens trocadas e as
aes a serem tomadas
pelos processos
oppIicofion
fronsporf
nefwork
dofo Iink
physicoI
oppIicofion
fronsporf
nefwork
dofo Iink
physicoI
oppIicofion
fronsporf
nefwork
dofo Iink
physicoI
NVLL DL APLICA(AO
Cliente
inicia o contato com o
servidor
geralmente requisita
servios ao servidor
Web o cliente
implementado no browser
e-mail programa leitor de
correio
Servidor
prov os servios
requisitados pelos clientes
exemplo, servidor Web
envia as pginas Web
requisitadas, servidor de
correio entrega os e-mails
oppIicofion
fronsporf
nefwork
dofo Iink
physicoI
oppIicofion
fronsporf
nefwork
dofo Iink
physicoI
requesf
repIy
APLICA(OLS IN1LRNL1
TCP
e-mail smtp [RFC 821]
TCP
transferncia de
arquivos
ftp [RFC 959]
TCP
web (www) http [RFC 2068]
TCP
e-mail imap [RFC 1064]
TCP
e-mail pop3 [RFC 1225]
UDP
transferncia de
arquivos no confivel
tftp [RFC 1350]
TCP e UDP
domnios na Internet dns [RFC 1035]
PROTOCOLO DE
TRANSPORTE
APLICAO PROTOCOLO
APLICA(OLS IN1LRNL1
PROTOCOLO DE
TRANSPORTE
APLICAO PROTOCOLO
UDP
obteno de endereos
IP
bootp [RFC 959]
TCP
acesso a um sistema de
arquivos
nfs [RFC 1094]
TCP
acesso a um terminal
remoto
telnet [RFC 854]
TCP
grupos de discusso nntp [RFC 977]
UDP
obteno de
configurao TCP/IP
dhcp [RFC 1531]
UDP
gerncia de
equipamentos
snmp [RFC 1067]
DOMNIOS
Nmeros IP representam uma forma compacta
e eficiente de endereamento
Entretanto, usurios em geral preferem fazer
referncia a nomes, ao invs de nmeros
Os nomes devem ser preferencialmente curtos e
mnemnicos
necessrio, portanto, estruturar um esquema
de correspondncia entre nomes e nmeros IP
DOMNIOS
Assim como no esquema de endereamento IP,
no pode haver nomes duplicados dentro da
internet
Portanto a atribuio de nomes tambm deve
ser centralizada por uma autoridade nica
Entretanto, a escolha de nomes no duplicados
um processo mais difcil de ser realizado de
que a atribuio de nmeros IP
preciso definir como ser feita esta escolha de
nomes
DOMNIOS
A soluo a adoo de uma estrutura
hierrquica de nomes
O topo da escala hierrquica dividido em
parties, cada uma delas responsvel pela
atribuio de nomes dentro de seu contexto
Cada partio pode ser subdividida em novas
parties, caso haja necessidade
DOMNIOS
Hierarquia de domnios na Internet
DOMNIOS
No exemplo anterior, o nome completo do n
robot seria robot.ai.cs.yale.edu
A sintaxe utilizada especifica que cada
subdiviso deve ser separada por um ponto das
demais
Quanto mais a direita no nome, mais global a
subdiviso
O topo administrado pelo InterNIC, e cada
partio administrada por uma instituio, com
poderes delegados pelo topo
DOMNIOS
A estrutura hierrquica de nomes, ou domnio,
reflete a estrutura organizacional das
instituies que fazem parte da internet, e no a
estrutura fsica das redes que as interconectam
Em geral, temos at quatro nveis na estrutura
hierrquica a partir do topo
Apenas pela sintaxe, no possvel distinguir
um subdomnio de um n
DOMNIOS
duas letras representando um pas xy
domnio Arpanet ARPA
demais organizaes ORG
centros de suporte rede NET
grupos militares MIL
instituies governamentais GOV
instituies educacionais EDU
organizaes comerciais COM
Exemplos de domnios globais na Internet
DOMNIOS
Exemplos
gatekeeper.dec.com
nic.cerf.net
ceop1.rederio.br
ipanema.nce.ufrj.br
netlib.org
nic.ddn.mil
wuarchive.wustl.edu
latusi.org.uy
DOMNIOS
No protocolo IP, o roteamento todo baseado
nos endereos IP, e no nos nomes
Torna-se necessrio um mecanismo de
traduo de nomes em nmeros IP
O mecanismo deve ser transparente para o
usurio, e feito de forma automtica
DOMNIOS
Servidor de nomes (name server)
mecanismo usado na internet para a traduo de
nomes em endereos IP
mecanismo distribudo conjunto de mquinas
cooperativas operando em diferentes lugares
mecanismo eficiente a traduo feita
geralmente em modo local, s exigindo trfego na
rede quando necessrio
mecanismo confivel no h um nico ponto de
falha que impea todo o sistema de funcionar
DOMNIOS
Servidor de nomes (name server)
Os servidores de nomes se estruturam hierarquicamente,
do mesmo modo que a estrutura de nomes da internet
Cada servidor responsvel pela traduo de nomes
dentro de seu domnio, e contata os demais quando
precisa traduzir nomes fora do seu contexto
O programa cliente que consulta um servidor de nomes
chamado resolvedor
Em uma mquina UNIX, cada servidor de nomes realiza a
converso nome-endereo atravs da execuo de um
daemon chamado in.named
DOMNIOS
O host surf.eurecom.fr
quer resolver o endereo
IP de gaia.cs.umass.edu
contata o servidor
DNS local
dns.eurecom.fr
dns.eurecom.fr
contata o root name
server, caso
necessrio
root name server
contata o servidor
autoritativo,
dns.umass.edu, caso
necessrio
requesting host
surf.eurecom.fr
gaia.cs.umass.edu
roof nome server
uuthorititive nume server
dns.umass.edu
IocuI nume server
dns.eurecom.fr
1
2
3
4
5
6
DOMNIOS
Root name server
pode no conhecer um
servidor autoritativo
conhece um servidor
intermedirio
(intermediate name
server) que pode ser
contatado para encontrar
o servidor autoritativo
requesting host
surf.eurecom.fr
gaia.cs.umass.edu
roof nome server
IocuI nume server
dns.eurecom.fr
1
2
3
4
5
6
uuthoritutive nume server
dns.cs.umass.edu
intermediute nume server
dns.umass.edu
7
8
DOMNIOS
A traduo de nomes se processa de cima para baixo,
comeando pelo servidor raiz, descendo depois para os
servidores nas folhas da rvore.
Um servidor de nomes pode realizar dois tipos de
traduo
RECURSIVA o servidor vai contatando todos os demais
at achar a traduo completa
ITERATIVA se o servidor no puder fazer a traduo
dentro do seu contexto, ele devolve o nome do servidor
que pode traduzir
DOMNIOS
consulta recursiva
coloca o trabalho de
resoluo de nomes
no servidor local
consulta iterativa
servidor contatado
responde com o
nome do prximo
servidor para contato
requesfing hosf
surf.eurecom.fr
gaia.cs.umass.edu
roof nome server
IocuI nume server
dns.eurecom.fr
1
2
3
4
5 6
uuthoritutive nume server
dns.cs.umass.edu
intermediute nume server
dns.umass.edu
7
8
iferofed query
DOMNIOS
Um servidor de nomes pode manter dois tipos
de dados
AUTORITATIVO
dados obtidos diretamente pelo servidor, que so
atualizados periodicamente
NO-AUTORITATIVO
dados obtidos indiretamente (atravs de outro
servidor)
podem estar incompletos ou desatualizados
DOMNIOS
Cada resolvedor precisa saber previamente o
endereo IP de pelo menos um servidor de
nomes
Cada servidor de nomes precisa saber
previamente os endereos IP dos servidores
raiz
O InterNIC mantm cerca de sete servidores
raiz
DOMNIOS
Root Name Server
contatado pelo
servidor local que
no consegue
resolver o nome
contata o servidor
autoritativo
recebe a resoluo
retorna a resoluo
para o servidor de
nomes local
apenas alguns
servidores raiz ao
redor do mundo
DOMNIOS
Para evitar trfegos desnecessrios na rede,
cada servidor tem um cache, guardando as
tradues realizadas mais recentemente
Informaes no cache podem ficar obsoletas,
precisando ser atualizadas periodicamente a
partir do servidor autoritativo
O usurio pode opcionalmente consultar
diretamente o servidor autoritativo
O tempo de atualizao peridica do cache
configurvel (em geral 1 dia)
DOMNIOS
Master Servers
cada zona deve ter pelo menos 2 master servers
que mantm todos os dados correspondentes a
essa zona
portanto, os dados de uma zona devem estar
disponveis em pelo menos 2 servidores
um deles deve ser designado como primrio e
pelo menos um servidor adicional como
secundrio, que serve como backup caso
acontea algum problema com o primrio
DOMNIOS
Servidor Primrio
servidor de nomes onde so feitas as mudanas
relativas zona
envia dados e delega sua autoridade ao servidor
secundrio
carrega a cpia de seus dados do disco quando o
in.named executado (UNIX)
pode delegar autoridade para outros servidores
dentro ou fora de sua zona
DOMNIOS
Servidor Secundrio
servidor de nomes que mantm uma cpia dos
dados de uma zona
quando o in.named executado, ele pede todos
os dados da respectiva zona para o primrio
checa periodicamente com o primrio para
verificar se precisa atualizar seus dados
DNS
Domain Name System
Protocolo de aplicao usado para comunicao
entre servidor e cliente
Utiliza UDP porta 53 para solicitaes de
resoluo de nomes a partir do cliente
(resolvedor)
Utiliza TCP porta 53 para sincronizao entre
servidores
Mensagens query e reply com mesmo formato
DNS
Cabealho da
mensagem
Identification
nmero de 16 bits
que identifica o query
e o reply
flags
query or reply
recursion desired
recursion available
reply is authoritative
Mome, compo de fipo
poro umo consuIfo
PPs do resposfo
consuIfo
regisfros poro
servidores ouforifofivos
Informoes odicionois
que podem ser feis
DNS
DNS BD distribudo armazenando resource records (RRs)
formofo do PP - (name, value, type, ttl)
Type = A
name hostname
value endereo IP
Type = NS
name domnio
(exemplo foo.com)
value - endereo IP do
servidor de nomes
autoritativo do domnio
Type = CNAME
name um alias para o
nome cannico (real)
value nome cannico
Type = MX
value hostname do
servidor de correio
associado name
DNS
DNS
Parte do
BD de um
servidor
DNS
\\\ - \ORLD \IDL \LB
At a dcada de 90 a Internet era usada basicamente
por pesquisadores, acadmicos e estudantes
universitrios
No incio da dcada de 90, entra em cena a aplicao
chave da Internet a WWW (World Wide Web)
A proposta inicial para uma teia de documentos
vinculados veio de um fsico do CERN (Centro Europeu
para pesquisas nucleares), Tim Berners-Lee
\\\ - \ORLD \IDL \LB
Rapidamente o desenvolvimento das aplicaes WWW
(browsers e servidores) chamou a ateno do pblico
em geral
As aplicaes Web elevaram a Internet do nvel que
esta ocupava, como apenas mais uma rede de dados,
para o nvel atual, de ser essencialmente a nica rede
de dados
A Internet est provocando uma drstica transformao
na maneira como as pessoas interagem dentro e fora do
seu ambiente de trabalho
l11P
Hypertext Transfer
Protocol
protocolo da camada
de aplicao utilizado
na Web
modelo cliente/servidor
cliente browser que
requisita, recebe, e
mostra objetos Web
servidor servidor
Web que envia objetos
em resposta s
requisies
HTTP 1.0 RFC 1945
HTTP 1.1 RFC 2068
PC execufondo
ExpIorer
Servidor
execufondo
servidor Web
MCSA
Moc execufondo
Movigofor
h
f
f
p

r
e
q
u
e
s
f
h
f
f
p

r
e
q
u
e
s
f
h
f
f
p

r
e
s
p
o
n
s
e
h
f
f
p

r
e
s
p
o
n
s
e
l11P
HTTP utiliza o TCP
cliente inicia conexo
TCP (cria o socket) para
o servidor na porta 80
servidor aceita a
conexo TCP do cliente
mensagens HTTP so
trocadas entre o browser
(cliente HTTP) e o
servidor Web (servidor
HTTP)
conexo TCP
finalizada
A conexo HTTP
stateless
o servidor no mantm
informaes sobre as
requisies anteriores do
cliente
protocolos que mantm
informaes de estado
so complexos
estados devem ser
armazenados
se a conexo falhar pode
ocorrer inconsistncias
l11P
Conexo no-persistente
HTTP/1.0
servidor recebe a
requisio, responde, e
fecha a conexo TCP
2 RTTs para visualizar
cada objeto
cada transferncia do
browser enfrenta o slow
start do TCP
Conexo persistente
default para o HTTP/1.1
na mesma conexo TCP
o servidor recebe a
requisio, responde, e
atende novas requisies
o cliente envia novas
requisies para os
objetos referenciados,
to logo recebe o
documento base HTML
menos RTTs e slow
starts
l11P
Mensagem HTTP request - ASCII
GET /somedir/page.html HTTP/1.0
User-agent: Mozilla/4.0
Accept: text/html, image/gif
Accept-language:fr
(extra carriage return, line feed)
requesf Iine
(comondos 0ET, POST,
HEAD)
Iinhos do
cobeoIho
corrioge refurn,
Iine feed
indicom fim
do mensogem
l11P
Mensagem HTTP request
l11P
Mensagem HTTP response - ASCII
HTTP/1.0 200 OK
Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Mon, 22 Jun 1998 ...
Content-Length: 6821
Content-Type: text/html
data data data data data ...
Iinho de sfofus
(codigo de sfofus
do profocoIo e
comenforio
do sfofus)
Iinhos do
cobeoIho
dofo, ex.,
orquivo hfmI
requisifodo
l11P
Cdigos de status
200 OK
request succeeded, requested object later in this message
301 Moved Permanently
requested object moved, new location specified later in this
message (Location:)
400 Bad Request
request message not understood by server
404 Not Found
requested document not found on this server
505 HTTP Version Not Supported
l11P
Autenticao
controle de acesso aos
documentos do servidor
o cliente deve apresentar
autorizao para cada
requisio (stateless)
Autorizao usualmente
nome e senha
cIienfe
servidor
usuoI hffp requesf msg
40I: oufhori;ofion req.
WWW authenticate:
usuoI hffp requesf msg
+ Authorization:line
usuoI hffp response msg
usuoI hffp requesf msg
+ Authorization:line
usuoI hffp response msg
fime
l11P
Cookies
servidor envia cookie para o
cliente em resposta
requisio
Set-cookie: 1678453
cliente apresenta o cookie
nas requisies posteriores
cookie: 1678453
servidor compara o cookie
apresentado com as infor-
maes do banco de dados
autenticao
preferncias do usurio
cIienfe
servidor
usuoI hffp requesf msg
usuoI hffp response +
Set-cookie: #
usuoI hffp requesf msg
cookie: #
usuoI hffp response msg
usuoI hffp requesf msg
cookie: #
usuoI hffp response msg
oo
especfico
do cookie
oo
especfico
do cookie
l11P
Conditional GET
no envia objeto se a
informao est atualizada
(cached)
cliente especifica a data da
cpia na mensagem http
request
If-modified-since: <date>
a resposta do servidor no
contm o objeto caso a
cpia esteja atualizada
HTTP/1.0 304 Not Modified
cIienfe
servidor
hffp requesf msg
If-modified-since:
<date>
hffp response
HTTP/1.0
304 Not Modified
objefo
no
modificodo
hffp requesf msg
If-modified-since:
<date>
hffp response
HTTP/1.1 200 OK

<data>
objefo
modificodo
l11P
Web Caching (proxy server)
usurio ativa o acesso
Web via web cache
cliente envia todas as
requisies HTTP para o
web cache
se o objeto est no web
cache, este envia
imediatamente o objeto na
mensagem HTTP response
caso contrrio requisita o
objeto ao servidor original e
retorna ao cliente a
mensagem HTTP response
cIienfe
servidor
Proxy
cIienfe
h
f
f
p

r
e
q
u
e
s
f
h
f
f
p

r
e
q
u
e
s
f
h
f
f
p

r
e
s
p
o
n
s
e
h
f
f
p

r
e
s
p
o
n
s
e
h
f
f
p

r
e
q
u
e
s
f
h
f
f
p

r
e
s
p
o
n
s
e
h
f
f
p

r
e
q
u
e
s
f
h
f
f
p

r
e
s
p
o
n
s
e
servidor
de origem
servidor
de origem
l11P
Benefcios
reduo do tempo de resposta
reduo do trfego no enlace
de acesso
reduo do trfego geral na
Web
cIientes
servidor
de origem
LAN - 10 Mbps
Internet
pbIicu
ucesso
1 Mbps
rede
institucionuI
l11P
Exemplo
considere a rede institucional
da figura conectada Internet
atravs de um link de 1,5
Mbps
suponha que o tamanho mdio
dos objetos seja de 100 Kbits
e a taxa mdia de requisies
dos browsers 15 req/s
cIientes
servidor
de origem
LAN - 10 Mbps
Internet
pbIicu
ucesso
1 Mbps
rede
institucionuI
l11P
Exemplo
vamos assumir um tempo de
resposta de 2 segundos em
mdia para a Internet
o tempo de resposta total a
soma do atraso na LAN, do
atraso de acesso e do atraso da
Internet
estimativa da intensidade do
trfego na LAN (15 req/s) x
(100Kb/req) (10 Mbps) = 0,15
estimativa da intensidade do
trfego no acesso (15 req/s) x
(100Kb/req) (1,5 Mbps) = 1,00
cIientes
servidor
de origem
LAN - 10 Mbps
Internet
pbIicu
ucesso
1 Mbps
rede
institucionuI
l11P
Exemplo
uma intensidade de trfego igual
0,15 em uma LAN resulta em
atrasos de dezenas de
milissegundos
a medida que o trfego do link
se aproxima de 1 o atraso
cresce indefinidamente
cIientes
servidor
de origem
LAN - 10 Mbps
Internet
pbIicu
ucesso
1 Mbps
rede
institucionuI
l11P
Exemplo
solues possveis aumento
do link de acesso ou uso de
cache
um cache atendendo 40% das
requisies (hit rate) j reduz a
utilizao do link para 0,6
um intensidade de trfego no
acesso menor que 0,8
corresponde a um atraso
pequeno
desprezvel comparado aos 2
segundos da Internet
cIientes
servidor
de origem
LAN - 10 Mbps
Internet
pbIicu
ucesso
1 Mbps
rede
institucionuI
cuche
APLICA1IVOS DL ACLSSO L
1RANSlLRLNCIA DL ARQUIVOS
Muitos sistemas de redes fornecem computadores com
capacidade para acessar arquivos em mquinas
remotas
Os projetistas exploraram uma variedade de abordagens
para a questo do acesso remoto, com cada tipo de
abordagem otimizando um conjunto especial de
objetivos
Arquivos podem ser compartilhados de duas maneiras:
acesso online e transferncia de arquivos
APLICA1IVOS DL ACLSSO L
1RANSlLRLNCIA DL ARQUIVOS
No mtodo de acesso online vrios programas podem
acessar um arquivo nico simultaneamente. As
mudanas no arquivo ocorrem imediatamente e esto
disponveis em todos os programas
No mtodo de acesso atravs de transferncia, sempre
que um programa deseja acessar um arquivo, ele obtm
uma cpia local, executa as mudanas (se for o caso) e
devolve o arquivo modificado para o local de origem
Principais protocolos TCP/IP para manipulao de
arquivos FTP, TFTP e NFS
l1P
File Transfer Protocol
transfere arquivos de/para um host remoto
modelo cliente/servidor
cliente inicia a transferncia (de ou para o servidor)
servidor host remoto
FTP RFC 959
fronsferncio do
orquivo
FTP
server
FTP
user
inferfoce
FTP
cIienf
sisfemo de
orquivos
IocoI
sisfemo de
orquivos
remofo
usuorio
no hosf
l1P
A transferncia de arquivos um dos aplicativos usados com
mais freqncia e responde por grande parte do trfego da
rede
O FTP oferece algumas facilidades alm da transferncia
propriamente dita
Acesso interativo muitas implementaes fornecem uma
interface que permite interao com os servidores remotos
Especificao de formato o FTP permite que o cliente
especifique o tipo e o formato dos dados armazenados, como
texto (ASCII ou EBCDIC) ou nmeros inteiros binrios
Controle de autenticao o FTP requer que os clientes enviem
um nome de login e um senha para o servidor antes de poder
acessar
l1P
O cliente FTP contata o
servidor na porta 21 do TCP
Duas conexes TCP
paralelas so abertas:
control troca comandos e
respostas entre cliente e
servidor (out-of-band control)
data transfere dados de
arquivos de ou para o
servidor
O servidor FTP mantm
informaes de estado da
conexo diretrio corrente,
autenticao
cIienfe
FTP
servidor
FTP
conexo de confroIe
TCP porfo ZI
conexo de dodos
TCP porfo Z0
l1P
Exemplos de comandos
enviados como texto ASCII
no canal de controle
USER username
PASS password
LIST retorna a lista dos
arquivos no diretrio
corrente
RETR filename recupera
(traz) um arquivo
STOR filename armazena
(envia) um arquivo para o
host remoto
Exemplos de cdigos
cdigo de status e
comentrio (como no
HTTP)
331 Username OK,
password required
125 data connection
already open;
transfer starting
425 Cant open data
connection
452 Error writing
file
1l1P
Trivial File Transfer Protocol
O FTP muito complexo e de difcil implementao
Muitas aplicaes no necessitam de todos os
recursos oferecidos pelo FTP
Alguns sistemas que precisam transferir arquivos
tambm no dispem de toda a complexidade de
hardware e sistemas operacionais sofisticados
O TFTP no oferece autenticao, sendo portanto
muito mais simples
O tamanho do cdigo muito menor
1l1P
Um aplicativo de tamanho reduzido como o TFTP
permite aos fabricantes de dispositivos sem disco
codific-lo na ROM e utiliz-lo para obter a imagem do
SO quando o sistema ligado
O TFTP no requer um servio de transporte confivel,
e portanto utiliza o UDP na porta 69
A transmisso do arquivo feita em blocos de tamanho
fixo de 512 bytes
Aguarda um ACK para cada bloco enviado
Primeiro pacote enviado especifica nome do arquivo e
direo de transferncia
1l1P
Formato das PDUs TFTP
req. de leitura nome do arquivo modo 0 0
2 octetos opcode n octetos 1 octeto n octetos 1 octeto
req. de escrita nome do arquivo modo 0 0
2 octetos opcode n octetos 1 octeto n octetos 1 octeto
dados # bloco octetos de dados
0
2 octetos opcode 2 octetos at 512 octetos
ACK # bloco
2 octetos opcode 2 octetos
erro cdigo de erro mensagem de erro
2 octetos opcode 2 octetos n octetos 1 octeto
NlS
Network File System
Permite aos computadores acesso remoto
transparente a arquivos na rede
Desenvolvido inicialmente pela Sun Microsystems
Portvel para diferentes mquinas, sistemas
operacionais, arquiteturas de redes e protocolos de
transporte
Um computador (cliente) pode realizar operaes
sobre arquivos que residam em outros computadores
(servidores)
NlS
Funcionamento
o cliente realiza uma chamada de acesso a um
arquivo remoto
a chamada de acesso convertida em um request do
protocolo NFS
enviada ao sistema servidor atravs da rede
o servidor recebe o pedido e realiza a operao no
sistema de arquivos
o servidor envia uma resposta ao cliente
NlS
Ao projetar o NFS os projetistas optaram por criar trs
mecanismos diferentes
O prprio protocolo NFS
Um mecanismo de RPC (Remote Procedure Call) para
fins gerais
Um mecanismo denominado XDR (eXternal Data
Representation)
NlS
A idia era permitir que o RPC e o XDR pudessem ser
utilizados por outros programas
Da forma como foi concebido o NFS acessa arquivos
remotos usando exatamente as mesmas operaes
utilizadas por arquivos locais
O RPC e o XDR fornecem mecanismos para construir
programas distribudos
NlS - RPC ,Remote Procedure Call,
O RPC um mecanismo que permite a comunicao entre os
lados cliente e servidor de um programa
Do lado cliente o programador atribui alguns procedimentos
como remotos, obrigando o compilador a incorporar a estes
procedimentos os cdigos RPC
Do lado servidor o programador implementa os
procedimentos desejados e usa outros recursos RPC para
declar-los parte do servidor
Quando o programa cliente chama um dos programas
remotos, o RPC coleta valores, monta uma mensagem, envia
ao servidor, aguarda a resposta e armazena os valores
devolvidos
NlS - XDR ,eXternal Data Representation,
O XDR uma ferramenta que fornece meios para a
passagem de dados entre mquinas heterogneas
O XDR resolve o problema definindo uma representao dos
dados independente da mquina
Em uma extremidade da comunicao, o programa chama o
procedimento XDR para fazer a converso do formato local
para a representao independente do hardware
Aps a transferncia, o programa receptor solicita rotinas
XDR para proceder converso para a representao local
da mquina
CORRLIO LLL1RNICO
Principais componentes
user agents
mail servers
simple mail transfer protocol
SMTP
User Agent
leitor de correio
compe, edita, l mensagens de
correio (e-mail)
exemplo: Eudora, Outlook, elm,
Netscape Messenger
mensagens de sada e de
entrada so armazenadas no
servidor
moiI
server
user
ogenf
user
ogenf
user
ogenf
moiI
server
user
ogenf
user
ogenf
moiI
server
user
ogenf
SMTP
SMTP
SMTP
CORRLIO LLL1RNICO
Mail Servers
caixa de correio (mailbox)
contm as mensagens recebidas
pelo usurio (no lidas)
fila de mensagens (message
queue) a serem enviadas
protocolo SMTP [RFC 821]
utilizado entre servidores de mail
para enviar mensagens de
correio eletrnico
moiI
server
user
ogenf
user
ogenf
user
ogenf
moiI
server
user
ogenf
user
ogenf
moiI
server
user
ogenf
SMTP
SMTP
SMTP
SM1P
Simple Mail Transfer Protocol
Utiliza o TCP para transferncia confivel de
mensagens de correio entre o cliente e o servidor na
porta 25
Transferncia direta de servidor para servidor
SM1P
Transferncia em trs fases
handshaking (greeting)
transferncia das mensagens
encerramento
Interao do tipo comando/resposta
comandos texto ASCII
Resposta frase e cdigo de status (status code)
As mensagens devem ser ASCII de 7 bits
SM1P
Exemplo: Usurio Smith no host alpha.edu envia uma mensagem
para os usurios Jones, Green e Brown no host beta.gov
R:220 beta.gov Simple Mail Transfer Service Ready
S:HELO alpha.edu
R:250 beta.gov
S:MAIL FROM:<smith@alpha.edu>
R:250 OK
S:RCPT TO:<jones@beta.gov>
R:250 OK
S:RCPT TO:<green@beta.gov>
R:No such user here
S:RCPT TO:<brown@beta.gov>
R:250 OK
S:DATA
R:354 Start Mail Input; end with <CR><LF>.<CR><LF>
S:Mensagem
S:<CR><LF>.<CR><LF>
R:250 OK
S:QUIT
R:221 beta.gov Service Closing Transmission Chanel
CORRLIO LLL1RNICO
Formato da mensagem
RFC 822 padro para o
formato das mensagens de
texto
cabealho
To:
From:
Subject:
diferente dos comandos
SMTP
corpo
mensagem com somente
caracteres ASCII
heoder
body
Iinho
em
bronco
MIML
MultImedia Mail Extension
RFC 2045, 2056 (extenses para multimdia)
linhas adicionais no cabealho informam o tipo de
contedo MIME
From: alice@crepes.fr
To: bob@hamburger.edu
Subject: Picture of yummy crepe.
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
base64 encoded data .....
.........................
......base64 encoded data
dodos muIfimdio, fipo,
subfipo, decIoroo
de pormefro
mefodo usodo poro
codificor os dodos
verso do MIME
dodos codificodos
MIML
Text
subtipos exemplo: plain,
html
Image
subtipos exemplo: jpeg,
gif
Audio
subtipos exemplo: basic
(codificao 8-bit -law),
32kadpcm (codificao
delta-pcm 32 kbps)
Video
subtipos exemplo: mpeg,
quicktime
Application
outro tipo de dado que
precisa ser processado
antes de ser exibido
subtipos exemplo:
msword, octet-stream
RLCUPLRA(AO DAS MLNSAGLNS
SMTP entrega e armazena mensagens no servidor
Mail Access Protocol recupera mensagens do servidor
POP
IMAP
HTTP
user
ogenf
sender's moiI
server
user
ogenf
SMTP SMTP
POP3 or
IMAP
receiver's moiI
server
RLCUPLRA(AO DAS MLNSAGLNS
POP Post Office Protocol [RFC 1939]
autenticao (agent server) e download
IMAP Internet Mail Access Protocol [RFC 1730]
mais ferramentas (maior complexidade)
permite manipulao das mensagens armazenadas no servidor
HTTP Hotmail , Yahoo! Mail, IGWebMail, etc.
user
ogenf
sender's moiI
server
user
ogenf
SMTP SMTP
POP3 or
IMAP
receiver's moiI
server
POP3
authorization phase
comandos do cliente
user: username
pass: senha
respostas do servidor
+OK
-ERR
transaction phase
cliente
list: lista as
mensagens
retr: recupera as
mensagens pelo nmero
dele: apaga
quit: sai do programa
S: +OK POP3 server ready
C: user alice
S: +OK
C: pass hungry
S: +OK user successfully logged on
C: list
S: 1 498
S: 2 912
S: .
C: retr 1
S: <message 1 contents>
S: .
C: dele 1
C: retr 2
S: <message 1 contents>
S: .
C: dele 2
C: quit
S: +OK POP3 server signing off
APLICA1IVOS DL LOGIN RLMO1O
O modelo cliente/servidor permite o fornecimento de
servios computacionais especficos
Os protocolos de stream confiveis, como o TCP,
tambm possibilitam o uso interativo de mquinas
remotas
O uso destes componentes de rede permite a
implementao de servios remotos, acessados
atravs de conexes TCP
APLICA1IVOS DL LOGIN RLMO1O
Dificuldades na implementao de servios de rede
Necessidade de um servidor para cada tipo de servio
As mquina podem se tornar sobrecarregadas de
processos servidores
APLICA1IVOS DL LOGIN RLMO1O
A complexidade dos servidores especializados pode
ser eliminada permitindo que o usurio estabelea
um sesso de login em uma mquina remota
Atravs do login remoto o usurio tem acesso a
todos os comandos disponveis no sistema remoto
Os projetistas do sistema no precisam fornecer
servidores especializados
APLICA1IVOS DL LOGIN RLMO1O
Problemas
O sistema pode no ter sido projetado para
interligao em rede
Neste caso s seria possvel o login atravs de
teclado e monitor diretamente conectados
O acrscimo do servidor exigiria modificaes no SO
da mquina
O software cliente tem que lidar com a interpretao
de certas seqncias especiais do teclado local
1LLNL1
A pilha TCP/IP inclui um protocolo simples de
acesso remoto denominado TELNET
Permite que um usurio estabelea uma conexo
TCP com um servidor de login remoto
O TELNET transmite os toques no teclado do
usurio diretamente para o computador remoto
Este terminal tambm retorna a sada da mquina
remota at a tela do usurio
1LLNL1
O software cliente permite que o usurio especifique
a mquina remota fornecendo o nome e o domnio
ou o endereo IP
Sintaxe: TELNET <nome.domnio> (ou <IP>)
Utiliza a porta 23 do TCP se nenhuma outra for
especificada
1LLNL1
Trajeto dos dados em uma sesso TELNET de terminal
remoto
cIienfe
TELMET
sisfemo
operocionoI
servidor
TELMET
sisfemo
operocionoI
Infer-rede
TCP/IP
disposifivo
de enfrodo
e sodo de
dodos
cIienfe
I os dodos
do ferminoI
cIienfe
envio dodos
oo servidor
servidor
recebe os
dodos
do cIienfe
servidor
envio dodos
poro o
pseudoferminoI
INICIALIZA(AO L
AU1OCONlIGURA(AO
Antes de enviar e receber datagramas IP, um
computador conectado uma rede TCP/IP precisa
saber seu endereo IP
Outras informaes tambm so necessrias, como
o endereo do roteador, a mscara de sub-rede e o
endereo do servidor de nomes
O protocolo projetado inicialmente para esta tarefa
era o RARP (Reverse Address Resolution Protocol)
INICIALIZA(AO L
AU1OCONlIGURA(AO
Desvantagens do RARP
Somente retorna o endereo IP
Como trabalha em baixo nvel, opera diretamente com
o hardware de rede
A requisio RARP enviada em um quadro MAC de
difuso
O servidor RARP precisa estar no mesma rede fsica
que a mquina cliente
BOO1P
Protocolo para a obteno de endereos IP como o
RARP
O BOOTP utiliza UDP (porta 67) para obter
informaes atravs de broadcast IP
O endereo IP utilizado para o envio da solicitao
BOOTP o endereo especial de difuso limitada
255.255.255.255
BOO1P
O software IP pode receber e difundir datagramas
que especificam o endereo de broadcast limitado,
mesmo antes de saber o seu endereo IP local
Servidor BOOTP responde requisio do cliente
com broadcast (usual) ou altera diretamente sua
tabela ARP
DlCP
Dynamic Host Configuration Protocol
compatvel com BOOTP (tambm utiliza o UDP
na porta 67) e prov mais funes que o antecessor
Pode passar mais informaes como a mscara de
sub-rede
DlCP
Permite trs tipos de configurao
Manual atribui um endereo para uma mquina
especfica
Automtica atribui endereos permanentes na
primeira vez que a mquina se conecta na rede
Dinmica empresta um endereo para o cliente
por um perodo de tempo determinado
O cliente passa para o servidor um identificador
(geralmente o endereo de hardware) atravs do
qual o servidor determina o tipo de atribuio
DlCP
Etapas da configurao de uma mquina cliente
utilizando o protocolo DCHP
host envia mensagem de broadcast DHCP discover
para 255.255.255.255
servidor DHCP responde com mensagem DHCP
offer
host requisita endereo IP atravs da mensagem
DHCP request
servidor DHCP confirma o endereo com mensagem
DHCP ack
RLlLRLNCIAS
Redes de Computadores
Andrew S. Tanenbaum
Interligao em redes com TCP/IP
Douglas E. Comer
Redes de Computadores
Soares, Lemos & Colcher