Você está na página 1de 16

Sumrio

1.1 - O que a internet?................................................................................ 1


1.1.1 - Descrio dos componentes da rede...............................................1
1.1.2 - Uma descrio do servio................................................................1
1.1.3 - O que um protocolo?.....................................................................1
1.3 - O ncleo da rede.................................................................................... 2
1.3.1 - Comutao de circuitos e comutao de pacotes............................2
Multiplexao em redes de comutao de circuitos.................................2
Comutao de pacotes............................................................................ 2
1.3.2 - Como os pacotes percorrem as redes de comutadores de pacotes?2
1.3.3 - ISPs e backbones da internet...........................................................3
1.4 - Atraso, perda e vazo em redes de comutao de pacotes...................3
1.4.1 - Uma viso geral de atraso em redes de comutao de pacotes......3
1.4.2 Atraso de fila e perda de pacote......................................................3
1.5 Camadas de protocolo e seus modelos de servio................................3
1.5.1 Arquitetura de Camadas..................................................................3
Camadas de Protocolo............................................................................. 4
Camada de Aplicao.............................................................................. 4
Camada de Transporte............................................................................. 4
Camada de Rede...................................................................................... 4
Camada de Enlace................................................................................... 4
Camada Fsica.......................................................................................... 5
O Modelo OSI........................................................................................... 5
1.5.2 Mensagens, segmentos, datagramas e quadros.............................5
2.1 Princpios de aplicaes de rede............................................................5
2.1.1 - Arquiteturas de aplicao de rede...................................................5
2.1.2 - Comunicao entre processos.........................................................6
Processos clientes e processos servidores...............................................6
A interface entre o processo e a rede de computadores..........................6
2.1.4 Servios de transporte providos pela internet.................................6
Servios do TCP........................................................................................ 6
Servios do UDP....................................................................................... 6
2.1.5 Protocolos de camada de aplicao.................................................7
2.2 - A Web e o HTTP...................................................................................... 7
2.2.1 - Descrio geral do HTTP..................................................................7
2.2.2 Conexes persistentes e no persistentes......................................7
O HTTP com conexes no persistentes..................................................7
O HTTP com conexes persistentes.........................................................7

2.2.3 Formato da mensagem HTTP...........................................................8


Mensagem de requisio HTTP................................................................8
Mensagem de resposta HTTP...................................................................8
2.2.4 Interao usurio-servidor: Cookies................................................8
2.2.5 Caches Web (Proxy).........................................................................9
2.2.6 GET condicional............................................................................... 9
2.3 Transferncia de arquivo FTP.................................................................9
2.4 Correio eletrnico na internet................................................................9
2.4.1 SMTP.............................................................................................. 10
2.4.4 - Protocolos de acesso ao correio.....................................................10
POP3...................................................................................................... 10
IMAP....................................................................................................... 10
2.5 DNS: o servio de diretrio da internet................................................10
2.5.1 Servios fornecidos pelo DNS........................................................10
2.5.2 Viso geral do modo de funcionamento do DNS............................11
Um banco de dados distribudo, hierrquico..........................................11
Cache DNS............................................................................................. 11
2.5.3 Registros e mensagens DNS..........................................................11
2.6 - Aplicaes P2P..................................................................................... 12
2.6.1 - Distribuio de arquivos P2P..........................................................12
Escalabilidade de arquiteturas P2P........................................................12

1.1 - O que a internet?

Podemos descrever os componentes de hardware e software que formam


uma rede de computadores e seus protocolos. Ou podemos descrever a
internet como uma infraestrutura de redes que fornece servios para
aplicaes.

1.1.1 - Descrio dos componentes da rede


A internet uma rede de computadores que interconecta diversos
dispositivos em diferentes locais. Estes equipamentos so conectados entre
si por enlaces (links) de comunicao e comutadores de pacotes. Enlaces
diferentes podem transmitir dados em taxas diferentes, sendo a taxa de
transmisso de um enlace medida em bits por segundo.
Quando um dispositivo envia dados para outro, o emissor segmenta esses
dados e adiciona bytes de cabealho organizando os dados em pacotes,
que so enviados ao destino, onde so agregados para formar os dados
originais.
Um comutador de pacotes encaminha o pacote que est chegando em um
de seus enlaces de comunicao de entrada para um de seus enlaces de
comunicao de sada. Os tipos mais comuns de comutadores so os
roteadores e os switches.
Os dispositivos so conectados rede por meio de ISPs (Internet Service
Providers Provedores de Servios de Internet). Cada ISP uma rede de
comutadores de pacotes e enlaces de comunicao. Os ISPs so conectados
entre si para que haja intercomunicao.
Os dispositivos conectados rede, os comutadores de pacotes dentre outros
elementos que compem a internet executam protocolos que controlam o
envio e recebimento de informaes. O protocolo IP, por exemplo, especifica
o formato dos pacotes que so enviados e recebidos entre roteadores e
dispositivos.
Os padres de internet so desenvolvidos pela IETF (Internet Engineering
Task Force), os documentos padronizados so chamados de RFC (Request
For Comments). Outras organizaes como a IEEE tambm especificam
padres para componentes de rede.

1.1.2 - Uma descrio do servio


A internet pode ser vista como uma infraestrutura que fornece servios para
aplicaes distribudas (navegao web, streaming, jogos online, etc.).
Essas aplicaes so executadas em sistemas finais dessa maneira
necessrio que haja programas executando nos dispositivos que utilizem de
uma Interface de Programao de Aplicao (API) que especifica como o
componente do software se comunica com a internet.
A API da internet um conjunto de regras que o software emissor deve
cumprir para que a internet seja capaz de transferir os dados.

1.1.3 - O que um protocolo?


Protocolo um conjunto de regras obedecidas por um conjunto de
entidades. Por exemplo, numa conversa entre duas pessoas, faz parte do
protocolo cumprimentar ao iniciar a conversa.
Da mesma forma um protocolo de rede prev certas normas de
comunicao, porm as entidades que trocam informaes so os
1

componentes de hardware e software de algum equipamento. Todas as


atividades na internet que envolvem duas ou mais entidades remotas
comunicantes so governadas por um protocolo.
Um protocolo define o formato e a ordem das mensagens trocadas entre
duas ou mais entidades comunicantes, bem como as aes realizadas na
transmisso e/ou no recebimento de uma mensagem ou outro evento.

1.3 - O ncleo da rede


1.3.1 - Comutao de circuitos e comutao de
pacotes
H duas abordagens para transferncia de dados por uma rede: comutao
de circuitos e comutao de pacotes. Em redes de comutao de circuitos,
os recursos necessrios ao longo de um caminho so reservados pelo
perodo da sesso de comunicao entre os dispositivos. Em redes de
comutao de pacotes, esses recursos no so reservados, as mensagens
de uma sesso usam os recursos por demanda, e como consequncia,
podero ter que esperar para conseguir acesso a um enlace.
As redes de telefonia so exemplos de redes de comutao de circuitos.
Quando a rede estabelece o circuito, tambm reserva uma taxa de
transmisso constante nos enlaces da rede durante o perodo da conexo.
A internet um exemplo de rede de comutao de pacotes. Na comutao
de pacotes, o pacote enviado rede sem reservar nenhuma largura de
banda. Se um dos enlaces estiver congestionado, ento o pacote dever
esperar em um buffer na extremidade de origem e sofrer um atraso.

Multiplexao em redes de comutao de circuitos

Um circuito implementado por multiplexao por diviso de frequncia


(FDM) ou por multiplexao por diviso de tempo (TDM).
Com FDM o espectro de frequncia compartilhado entre as conexes
estabelecidas. O enlace reserva uma banda de frequncia para cada
conexo durante o perodo de ligao.
Em um enlace TDM, o tempo dividido em quadros de durao fixa, e cada
quadro dividido em um nmero fixo de compartimentos (slots). Quando
uma conexo for estabelecida, a rede dedica conexo um slot de tempo
exclusivo para esta conexo.

Comutao de pacotes

Em aplicaes distribudas os dispositivos trocam informaes entre si. Em


redes de computadores, o originador fragmenta grandes dados em pores
menores denominadas pacotes. Entre origem e destino, cada um desses
pacotes percorre enlaces de comunicao e comutadores de pacotes. Estes
pacotes so transmitidos por cada enlace a uma taxa igual de transmisso
total do enlace.
A maioria dos comutadores de pacotes armazena e reenvia os pacotes nas
entradas dos enlaces. O comutador deve receber o pacote inteiro antes de
poder comear a transmitir o pacote para o destino. Assim, comutadores de
pacote apresentam um atraso de armazenagem e reenvio na entrada de
cada enlace ao longo da rota do pacote.
Se um pacote chega ao comutador, mas o enlace est congestionado, o
pacote deve esperar no buffer. Desse modo, alm dos atrasos de
2

armazenagem e reenvio, os pacotes sofrem atrasos de fila no buffer. Esses


atrasos so variveis e dependem do nvel de congestionamento da rede.
Como o espao do buffer finito, pode haver lotao de pacotes em buffer.
Nesse caso ocorrer perda de pacote, ou seja, um pacote que est
chegando ou um dos que j esto na fila descartado.

1.3.2 - Como os pacotes percorrem as redes de


comutadores de pacotes?
Na internet, cada pacote que atravessa a rede contm o seu endereo de
destino em seu cabealho, esse endereo possui uma estrutura hierrquica.
Quando um pacote chega a um roteador na rede, o roteador examina uma
parte do endereo de destino do pacote e conduz o pacote a um roteador
adjacente. Cada roteador possui uma base de encaminhamento que mapeia
o endereo de destino para enlaces de sada.

1.3.3 - ISPs e backbones da internet


Na internet, redes de acesso so conectadas ao restante da rede segundo
uma hierarquia de nveis de ISPs. Os ISPs de acesso esto no nvel mais
baixo dessa hierarquia. No topo dela esto os ISPs de nvel 1, que so iguais
a qualquer rede, possuem enlaces, roteadores e esto conectados a outras
redes. Esses ISPs so tambm chamados de backbones da internet.
Um ISP de nvel 2 normalmente tem alcance regional ou nacional conecta-se
apenas a uns poucos ISPs de nvel 1. Assim, para alcanar parte da internet
global, um ISP de nvel 2 tem que direcionar o trafego por um dos ISPs de
nvel 1 com o qual est conectado.
Quando dois ISPs esto ligados diretamente um ao outro so denominados
pares (peer) um do outro.

1.4 - Atraso, perda


comutao de pacotes

vazo

em

redes

de

1.4.1 - Uma viso geral de atraso em redes de


comutao de pacotes
Quando um pacote viaja de um n ao n subsequente, ele pode sofrer
diversos tipos de atraso ao longo desse caminho.
Atraso de Processamento: Refere-se ao tempo requerido para examinar
o cabealho do pacote e determinar para onde direcion-lo, o atraso pode
incluir tambm outros fatores, como o tempo necessrio para verificar os
erros em bits existentes no pacote.
Atraso de Fila: Refere-se ao tempo de espera do pacote para ser
transmitido no enlace. O tamanho desse atraso depende da quantidade de
pacotes existentes na fila.
Atraso de Transmisso: Refere-se relao L/R entre o tamanho do
pacote L e a velocidade de transmisso do enlace R.
Atraso de Propagao: Refere-se ao tempo necessrio para propagar o
bit desde o incio at seu destino. O bit se propaga velocidade de
propagao do enlace, a qual depende do meio fsico do enlace (fibra tica,
fios de cobre, sinal de satlite, etc.).

1.4.2 Atraso de fila e perda de pacote


Para se caracterizar um atraso de fila, so utilizadas medies estatsticas,
tais como atraso de fila mdio, varincia do atraso de fila e a probabilidade
de exceder um valor especificado.
A razo

L a/ R , onde L o tamanho dos pacotes, R a taxa de

transmisso e a a taxa mdia em que os pacotes chegam fila,


denominada intensidade de trfego. Se

L a/ R>1 , ento a velocidade

mdia com que os bits chegam fila exceder a velocidade com que eles
podem ser transmitidos para fora da fila. Nessa situao, a fila tender a
aumentar sem limite e o atraso tender ao infinito.
Como a fila na realidade finita, na verdade os atrasos de pacote no se
aproximam do infinito quando a intensidade do trfego for maior que um. O
que realmente acontece que um pacote pode chegar e encontrar uma fila
cheia, dessa maneira o pacote perdido (descartado pelo roteador).

1.5 Camadas de protocolo e seus modelos de


servio
1.5.1 Arquitetura de Camadas
Uma arquitetura de camadas nos permite discutir uma parcela especfica e
bem definida de um sistema grande e complexo. Essa simplificao prov
modularidade fazendo com que fique muito mais fcil modificar a
implementao do servio prestado pela camada, contanto que a camada
fornea o mesmo servio.

Camadas de Protocolo
Para prover uma estrutura para o projeto de protocolos de rede, o hardware
e o software devem implementar esses protocolos em camadas. Cada
protocolo pertence a uma das camadas. Estamos interessados nos servios
que uma camada oferece camada acima dela.
Uma camada de protocolo pode ser implementada em hardware, em
software ou numa combinao. Protocolos da camada de aplicao
geralmente so implementados em software, o mesmo acontece com a
camada de transporte. A camada fsica e a de enlace normalmente so
implementadas em uma placa de rede associadas a um determinado
enlace. A camada de rede quase sempre uma implementao mista.
A vantagem do sistema de camadas a modularidade, uma desvantagem
desse sistema que a camada pode duplicar a funcionalidade de uma
camada inferior, outra o fato de que uma camada pode precisar de
informaes que esto presentes em outra camada.

Camada de Aplicao
A camada de aplicao onde residem aplicaes de rede e seus
protocolos, ela inclui muitos protocolos, tais como HTTP, SMTP, FTP, etc.
Um protocolo da camada de aplicao distribudo por diversos
dispositivos, sendo que uma aplicao em um dispositivo troca informaes
com outra aplicao.

Camada de Transporte
A camada de transporte responsvel por transferir dados da camada de
aplicao entre os lados do cliente e servidor de uma aplicao. H dois
4

protocolos de transporte na internet: TCP e UDP, e qualquer um deles pode


levar mensagens de cada aplicao.
O TCP prov servios orientados para conexo para suas aplicaes como,
por exemplo, a entrega garantida e controle de fluxo. O TCP tambm
fragmenta mensagens longas em segmentos mais curtos e prov
mecanismo de controle de congestionamento.
O protocolo UDP prov servio no orientado para sua aplicao. Este um
servio econmico que oferece segurana sem controle de fluxo e
congestionamento.

Camada de Rede
A camada de rede da internet responsvel pela movimentao de pacotes
de camada de rede. O protocolo da camada de transporte, em uma mquina
de origem, passa um segmento da camada de transporte e um endereo de
destino camada de rede. A camada de rede ento prov o servio de
entrega do segmento camada de transporte na mquina destinatria.
A camada de rede tem dois componentes principais. Um deles o protocolo
IP, que define os campos no pacote, bem como o modo que os sistemas
finais e roteadores agem nesses campos. O outro componente o protocolo
de roteamento que determina as rotas que os pacotes seguem entre origem
e destino.

Camada de Enlace
A camada de rede roteia um pacote por meio de uma srie de roteadores
entre a origem e o destino. Para levar um pacote de um n a outro, a
camada de rede depende dos servios da camada de enlace.
Alguns protocolos da camada de enlace proveem entrega garantida entre
enlaces, que diferente da entrega feita pelo TCP que prov entrega
garantida de um sistema final a outro. Exemplos de protocolos da camada
de enlace so, Ethernet, Wi-Fi e PPP.

Camada Fsica
Enquanto a tarefa da camada de enlace movimentar quadros inteiros de
um elemento da rede at um elemento adjacente, a da camada fsica
movimentar os bits individuais que esto dentro do quadro de um n para o
seguinte. Os protocolos dessa camada dependem do enlace e do meio de
transmisso.

O Modelo OSI
O modelo em pilha das camadas de protocolo no o nico que caracteriza
a rede. O modelo OSI tambm descreve os protocolos em pilha, porm
divide a camada de aplicao em: camada de aplicao, de apresentao e
de sesso.

1.5.2
quadros

Mensagens,

segmentos,

datagramas

O caminho fsico que os dados percorrem para baixo na pilha de


protocolos de um sistema final emissor, para cima e para baixo nas pilhas
de protocolos de um comutador de camada de enlace interveniente e
de um roteador e ento para cima na pilha de protocolos do sistema final
receptor.
Comutadores da camada de enlace implementam as camadas 1 e 2
enquanto os roteadores implementam as camadas 1, 2 e 3, isso significa
5

que roteadores so
comutadores no.

capazes

de

implementar

protocolo

IP,

mas

Uma mensagem de camada de aplicao (pacote) na mquina emissora


passada para a camada de transporte, esta pega a mensagem e anexa
informaes adicionais (cabealho H1), que sero usadas pela camada de
transporte do lado receptor. A camada de transporte ento passa o
segmento camada de rede que adiciona informaes de cabealho (H2),
criando um datagrama. Este ento passado para a camada de enlace, que
adicionar suas prprias informaes de cabealho (H3) e criar um quadro
de camada de enlace. Assim, vemos que em cada camada, um pacote
possui dois tipos de campo: cabealho e carga-til, que um pacote da
camada acima.

2.1 Princpios de aplicaes de rede


2.1.1 - Arquiteturas de aplicao de rede
A arquitetura de rede fixa e prov um conjunto especfico de servios s
aplicaes. Por outro lado, a arquitetura da aplicao projetada pelo
desenvolvedor e determina como a aplicao organizada nos vrios
dispositivos. H dois tipos de arquitetura de aplicaes em rede, so elas a
cliente-servidor e a arquitetura P2P.
Em uma arquitetura cliente-servidor h um hospedeiro sempre em
funcionamento, denominado servidor, que atende a requisies de muitos
outros hospedeiros, denominados clientes. Um exemplo o servidor web
que responde a requisies dos browsers. Nesta arquitetura dois clientes
no se comunicam diretamente, e o servidor tem sempre endereo IP fixo e
est sempre em funcionamento.
Em uma arquitetura P2P, utiliza-se a comunicao direta entre pares de
hospedeiros conectados alternadamente, chamados pares. Como os pares
se comunicam sem passar por um servidor, a arquitetura denominada para-par
(peer-to-peer,
ou
P2P).
Aplicaes
de
intenso
trfego,
compartilhamento de arquivos e telefonia por internet, so baseadas em
arquitetura P2P. Algumas aplicaes, como as de mensagens instantneas,
possuem arquitetura hbrida.
Uma das caractersticas mais fortes da arquitetura P2P a sua
autoescalabilidade e seu custo-benefcio por no necessitarem de uma
infraestrutura de servidor. Entretanto as aplicaes P2P possuem
caractersticas limitantes:

ISP amigvel: A maioria dos ISPs so dimensionados para uso de


largura de banda onde h mais trfego de entrada do que de sada.
Segurana: Em razo de sua natureza altamente distribuda e
exposta, as aplicaes P2P podem ser um desafio para proteger.
Incentivos: O sucesso de uma aplicao P2P depende da participao
de usurios que ofeream sua largura de banda, armazenamento,
etc.

2.1.2 - Comunicao entre processos


Processos de diferentes dispositivos conectados em rede podem se
comunicar entre si, assim como ocorre entre processos de um mesmo
computador controlados pelo SO. Um processo originado cria e envia
mensagens para a rede. Um processo destinatrio recebe-as e
possivelmente responde, devolvendo outras.
6

Processos clientes e processos servidores


Uma aplicao de rede consiste em pares de processos que enviam
mensagens uns aos outros por meio de uma rede. Para cada par de
processos comunicantes normalmente rotulamos um dos dois processos de
cliente e outro de servidor. Um processo pode agir como ambos, mesmo
assim, dependendo do contexto pode haver esta separao.
No contexto de uma sesso de comunicao entre processos, o processo
que inicia a comunicao rotulado de cliente. O processo que espera ser
contatado para iniciar a sesso o servidor.

A interface entre o processo e a rede de computadores


Qualquer mensagem enviada de um processo para um outro tem de passar
pela rede subjacente. Um processo envia mensagens para a rede e recebe
mensagens dela atravs de uma interface de software denominada socket.
Um socket a interface (ou API) entre a camada de aplicao e a de
transporte dentro da mquina.

2.1.4 Servios de transporte providos pela internet


A Internet disponibiliza dois protocolos de transporte para aplicaes, o UDP
e o TCP. Cada um desses protocolos oferece um conjunto diferente de
servios para as aplicaes solicitantes.

Servios do TCP
O modelo TCP inclui um servio orientado para conexo e um servio
confivel de transferncia de dados. Quando uma aplicao solicita o TCP
como seu protocolo de transporte, recebe dele ambos os servios.
Servio orientado para conexo: o TCP faz com que o cliente e o
servidor troquem informaes de controle de camada de transporte (three
hand shake) antes que as mensagens de camada de aplicao comecem a
fluir. Aps a fase de apresentao, dizemos que existe uma conexo TCP
entre os sockets dos dois processos. Quando termina de enviar as
mensagens a aplicao deve interromper a conexo.
Servio confivel de transporte: os processos comunicantes podem
confiar no TCP para a entrega de todos os dados enviados sem erros e na
ordem correta. O TCP tambm contm um controle de congestionamento,
que limita a capacidade de transmisso de um processo quando a rede est
congestionada entre cliente e servidor.

Servios do UDP
O UDP um protocolo de transporte simplificado e no orientado para
conexo (no h o three hand shake). O UDP prov um servio no
confivel de transferncia de dados e no inclui um mecanismo de controle
de congestionamento.

2.1.5 Protocolos de camada de aplicao


Um protocolo de camada de aplicao define como processos de uma
aplicao trocam mensagens entre si. Um protocolo de camada de aplicao
define:

Os tipos de mensagens trocadas, por exemplo, requisio e resposta;


A sintaxe dos vrios tipos de mensagens, tais como os campos da
mensagem;
A semntica dos campos, isto , o significado da informao nos
campos;
7

Regras para determinar quando e


mensagens e responde as mensagens.

como

um

processo

envia

2.2 - A Web e o HTTP


2.2.1 - Descrio geral do HTTP
O HTTP (Protocolo de transferncia de hipertexto) implementado em dois
programas: um cliente e outro servidor. Os dois programas executados em
computadores diferentes, conversam por meio de troca de mensagens HTTP.
O HTTP define a estrutura dessas mensagens e o modo como cliente e
servidor as trocam. O HTTP define como clientes web requisitam pginas
aos servidores e como eles transferem a clientes. O HTTP usa o TCP como
camada de transporte.
O servidor envia arquivos ao cliente sem armazenar nenhuma informao
de estado (o HTTP um protocolo sem estado). Se um cliente solicita o
mesmo objeto duas vezes o servidor ir retorn-lo duas vezes.

2.2.2 Conexes persistentes e no persistentes


O cliente e o servidor podem se comunicar por um perodo prolongado de
tempo, em que o cliente faz uma srie de requisies e o servidor responde
a cada uma delas. Dependendo da aplicao, a srie de requisies pode
ser feita de forma consecutiva, periodicamente em intervalos de tempo
regulares ou esporadicamente.

O HTTP com conexes no persistentes


Vamos supor que uma pgina web consista em um arquivo HTML que
referencia 10 imagens, eis o que acontece:
1. O cliente HTTP inicia uma conexo TCP (Three hand shake) com o
servidor;
2. O cliente HTTP requisita a pgina HTML ao servidor;
3. O servidor processa a requisio, encapsula o objeto (pgina html)
em uma resposta HTTP e envia ao cliente;
4. O servidor ordena ao TCP que encerre a conexo;
5. O cliente recebe a mensagem contendo o objeto (pgina html) e a
conexo encerrada. O cliente processa o objeto e descobre a
referncia a 10 imagens;
6. As primeiras quatro etapas so repetidas para cada imagem
referenciada.
O tempo de viagem ida e volta (round-trip time - RTT) o tempo que leva
para um pacote viajar do cliente ao servidor (requisio) e de volta ao
cliente (resposta). O RTT inclui atrasos de propagao, de fila e de
processamento.

O HTTP com conexes persistentes


As conexes no persistentes possuem algumas desvantagens como:

Uma nova conexo deve ser estabelecida e mantida para cada objeto
solicitado. Isso pode sobrecarregar buffers e congestionar a rede;
Cada objeto sofre dois RTTs, um para estabelecer conexo, e outro
para solicitar e receber um objeto.

Em conexes persistentes, o servidor deixa a conexo TCP aberta aps


enviar a resposta. Assim, mensagens podem ser trocadas usando a mesma
conexo. As requisies por objetos podem ser feitas de maira consecutiva
sem ter que esperar por respostas pendentes.
8

2.2.3 Formato da mensagem HTTP


Mensagem de requisio HTTP

Mensagem de resposta HTTP

2.2.4 Interao usurio-servidor: Cookies


Devido ao fato do HTTP ser um protocolo que no armazena informaes,
necessrio fazer o uso de Cookies. Cookies possuem quatro componentes:
1.
2.
3.
4.

Uma linha de cabealho na mensagem de resposta HTTP;


Uma linha de cabealho na mensagem de requisio HTTP;
Um arquivo de Cookie mantido no dispositivo do cliente;
Um banco de dados de apoio (mapeamento) no servidor.

2.2.5 Caches Web (Proxy)


Um cache web, tambm denominado servidor proxy, uma entidade da
rede que atende requisies HTTP em nome de um servidor web de origem.
9

O proxy tem seu prprio disco de armazenagem e mantem dentro dele


copias de objetos recentemente requisitados. Como exemplo, suponha que
um
browser
esteja
requisitando
o
objeto
http://www.someschool.edu/campus.gif eis o que acontece:
1. O browser estabelece uma conexo TCP com o proxy e envia a ele a
requisio;
2. O proxy verifica se tem uma cpia do objeto armazenada localmente.
Se tiver, envia o objeto ao browser dentro de uma resposta HTTP;
3. Se no tiver a cpia do objeto, o proxy abre uma conexo TCP com o
servidor de origem. Ento envia a requisio do objeto. Aps receber
a requisio o servidor de origem envia o objeto como resposta ao
proxy.
4. Quando recebe a resposta do servidor de origem o proxy guarda uma
cpia e envia outra ao cliente que requisitou.
Os servidores proxy podem reduzir o tempo de resposta para a requisio
de um cliente e o trfego no enlace de acesso internet.

2.2.6 GET condicional


Embora possa reduzir o tempo de resposta, usar um proxy introduz um
problema: a cpia de um objeto existente em cache pode estar
desatualizada.
O GET condicional um mecanismo que permite que um proxy verifique se
seus objetos esto atualizados. Este mecanismo consiste em incluir na
mensagem de requisio HTTP uma linha de cabealho contendo IfModified-Since: .

2.3 Transferncia de arquivo FTP

Em uma sesso FTP tpica, o usurio, utilizando um hospedeiro (local), quer


transferir arquivos de ou para um hospedeiro remoto. Para acessar a conta
remota, o usurio deve fornecer uma identificao e uma senha. Aps
fornecer essas informaes, o usurio pode transferir os arquivos de um
hospedeiro para outro.
O FTP, assim como o HTTP, utiliza o TCP como protocolo de transporte. O
FTP usa duas conexes TCP paralelas, uma para controle de conexo (login,
comandos de diretrio, etc.), outra de dados (transferncia de dados).
Quando um usurio inicia uma sesso FTP, o lado do cliente inicia uma
conexo TCP de controle como lado do servidor na porta 21 e envia por essa
conexo informaes de login e diretrio. Quando o lado do servidor recebe
um comando para transferncia de dados, abre uma conexo de dados para
o cliente. O FTP envia o arquivo pela conexo de dados (porta 20) e logo
encerra esta conexo.

2.4 Correio eletrnico na internet

Tal como o correio normal, o email um meio de comunicao assncrono,


as pessoas enviam e recebem mensagens quando for conveniente. Suponha
que um remetente, Alice, est enviando uma mensagem de email a um
destinatrio, Bob. Agentes de usurios permitem que usurios leiam,
respondam, retransmitam, salvam e componham mensagens. Quando Alice
termina de compor sua mensagem, seu agente de usurio a envia a seu
servidor de email, onde ela colocada na fila de sada de mensagens.
Quando Bob quer ler uma mensagem, seu agente de usurio a extrai da
10

caixa de correio do servidor. Servidores de correio formam o ncleo da


infraestrutura de email, onde cada usurio tem uma caixa postal.
O SMTP o principal protocolo da camada de aplicao do correio eletrnico
da internet. Usa o TCP para transferir mensagens do servidor de correio do
remetente para o do destinatrio. O SMTP tem dois lados, um de servidor
outro de cliente. Ambos funcionam em todos os servidores de correio.
Quando um servidor envia correspondncia a outros, age como um cliente.
Quando um servidor recebe correspondncia de outros, age como um
servidor.

2.4.1 SMTP
O SMTP uma tecnologia antiga e restringe que o cabealho e o corpo das
mensagens sejam do formato ASCII de 7 bits. Hoje em dia, essa restrio
limita o envio de e-mails. A conexo TCP feita diretamente entre os dois
servidores, mesmo quando um deles no estiver operando, a mensagem
pode ficar no servidor do remetente esperando.
Primeiramente, o cliente SMTP faz com que o TCP estabelea conexo na
porta 25 com o servidor SMTP. Se o servidor no estiver em funcionamento,
o cliente tenta novamente mais tarde. Uma vez estabelecida a conexo, o
servidor e o cliente trocam alguns procedimentos de apresentao (login).
Durante essa fase, o cliente SMTP indica os endereos de email do
remetente e do destinatrio. Terminada as aprese encerra a sesso. ntaes
o cliente envia a mensagem. O SMTP conta com o TCP para enviar a
mensagem ao servidor, caso no houver mais instrues o cliente encerra a
conexo.

2.4.4 - Protocolos de acesso ao correio


Atualmente h vrios protocolos de acesso a correio, entre eles o POP3 (Post
Office Protocol version 3) e o IMAP (Internet Mail Access Protocol).

POP3
um protocolo de acesso a correio simples e limitado. O POP3 comea
quando o cliente abre uma conexo TCP com o servidor na porta 110. Com a
conexo ativa, o protocolo passa por trs fases: autorizao, transao e
atualizao. Durante a primeira fase, cliente envia um nome de usurio e
uma senha. Na segunda fase, recupera mensagens dentre outras
informaes. A terceira fase, ocorre aps o cliente ter dado quit e encerra a
sesso.

IMAP
Assim como o POP3 o IMAP um protocolo de acesso a correio, porm com
mais recursos como, por exemplo, a possibilidade de criar pastas remotas e
designar mensagens a pastas. Diferentemente do POP3, o IMAP mantm
informaes de estado sobre usurios.

2.5 DNS: o servio de diretrio da internet

Hospedeiros na internet usam nomes (hostname) como identificadores por


serem de mais fcil memorizao. Todavia, estes nomes no fornecem
informaes teis roteadores e protocolos. Por essas razes os
hospedeiros tambm so identificados com um endereo IP de 4 bytes
expressos em notao decimal de 0 a 255. Um endereo IP hierrquico,
pois ao analisarmos da esquerda para a direita, obtemos gradativamente
mais informaes sobre a localidade do hospedeiro na internet.

11

2.5.1 Servios fornecidos pelo DNS


A tarefa principal de um DNS (Domain Name System) fornecer um
diretrio que armazena, relaciona e traduz nomes de hospedeiros em seu
respectivo endereo IP.
O DNS um banco de dados distribudo implementado em uma hierarquia
de servidores de nome e um protocolo de camada de aplicao que permite
que hospedeiros consultem o banco de dados distribudo.
O protocolo DNS usa conexo por UDP na porta 53. O DNS prov outros
servios alm da traduo de nomes para endereos IP:
Apelidos de hospedeiro e de servidores de correio: Um hospedeiro pode ter
um ou mais apelidos, por exemplo, relay1.west-coast.enterprise.com (nome
cannico) pode ter como apelido www.enterprise.com.
Distribuio de carga: O DNS tambm usado para realizar distribuio de
carga entre servidores replicados. Servidores distribudos possuem IPs
diferentes mas podem estar associados a um mesmo nome, o DNS
armazena esta relao.

2.5.2 Viso geral do modo de funcionamento do


DNS
Ao acessar um site em um browser, por exemplo, www.unifal-mg.edu.br,
preciso traduzir o nome para endereo IP. O browser chama o lado do cliente
especificando o nome de hospedeiro que precisa ser traduzido. A partir da o
DNS do usurio envia uma mensagem de consulta (pacote) usando UDP na
porta 53. O hospedeiro do usurio recebe uma resposta fornecendo o
mapeamento desejado, que ento passado para a aplicao. Dessa
maneira, podemos dizer que do ponto de vista de aplicao o DNS uma
caixa-preta.
O DNS no centralizado devido a sua escalabilidade e tambm:

Se o servidor de nomes parar, toda a internet para.


Volume de trfego: Um nico servidor de nomes no daria conta de
manipular todas as consultas.
Distncia: Um banco de dados centralizado pode acarretar muito
atraso para consultas de origem distante.
Manuteno: Alm de possuir um volume de dados enorme, um
servidor
de
nomes
centralizado
deveria
ser
atualizado
frequentemente.

Um banco de dados distribudo, hierrquico


Para tratar da escalabilidade, o DNS usa um grande nmero de servidores,
organizados de forma hierrquica e distribudos pelo mundo. H trs classes
de servidores organizados em hierarquia:

Servidores de nome raiz: Esto no topo da hierarquia, cada um


podendo ser um conglomerado de servidores replicados para fins de
segurana e confiabilidade.
Servidores de nome de Alto Nvel (TLD): so responsveis por
domnios de alto nvel como .com, .org, .net, e por domnios de alto
nvel referentes a pases, como .br, .fr, .es, etc.
Servidores de nome com autoridade: Toda organizao que tiver
hospedeiros que possam ser acessados publicamente na internet
deve fornecer registros DNS que mapeiem os nomes para endereos
12

IP. Uma organizao pode manter um servidor de DNS prprio ou


contratar de um provedor.
Outro tipo de servidor DNS o servidor DNS local, este servidor age como
proxy de DNS e se encarrega de fazer as consultas na hierarquia DNS pelos
usurios locais.
Uma consulta feita por uma aplicao recursiva entre um servidor DNS
local e iterativa entre o servidor DNS local e outros servidores das
hierarquias ou, caso no houver DNS local, a aplicao consulta
iterativamente nos servidores da hierarquia DNS.

Cache DNS
O DNS explora o uso do cache para diminuir atrasos e reduzir o trafego de
pacotes na rede. Em uma cadeia de consultas, quando um servidor de
nomes recebe uma resposta DNS ele pode fazer cache da resposta em sua
memria local.

2.5.3 Registros e mensagens DNS


Os servidores de nomes armazenam registros de recursos que fornecem
mapeamentos de nomes de hospedeiros para endereos IP. Um registro de
recurso uma tupla de quatro elementos que contm os seguintes campos:
(NAME, VALUE, TYPE, TTL).
TTL o tempo de vida til do registro de recurso, determina quando um
recurso deve ser removido de um cache. Os significados de NAME e VALUE
dependem de TYPE:
Se TYPE = A, ento NAME um nome de hospedeiro e VALUE o endereo
IP para esse nome.
Se TYPE = NS, ento NAME um domnio e VALUE o nome de um servidor
de nomes com autoridade que sabe como obter os endereos IP para
hospedeiros do domnio. Esse registro usado para encaminhar consultas
DNS ao longo da cadeia de consultas.
Se TYPE = CNAME, ento VALUE o nome cannico de um servidor cujo
apelido est contido em NAME.
Se TYPE = MX, ento VALUE o nome cannico de um servidor de correio
cujo apelido est contido em NAME.

2.6 - Aplicaes P2P

Em uma arquitetura P2P existe uma dependncia mnima de servidores com


infraestrutura que permanecem sempre ligados. Em vez disso, duplas de
hospedeiros, chamados pares, comunicam diretamente entre si. Existem
trs tipos aplicaes em arquiteturas P2P:

A distribuio de arquivos a partir de uma fonte para um grande


nmero de pares;
Um banco de dados distribudo em uma grande comunidade de
pares;
Aplicao de telefonia P2P.

2.6.1 - Distribuio de arquivos P2P


Em uma distribuio de arquivo cliente-servidor, o servidor deve enviar uma
cpia do arquivo para cada cliente que requisitar, o que pode sobrecarregar
a banda do servidor. Na distribuio de arquivos P2P, cada par pode
redistribuir qualquer parte do arquivo que recebeu para outros pares
13

auxiliando o servidor no processo de distribuio. O protocolo mais utilizado


atualmente o BitTorrent.

Escalabilidade de arquiteturas P2P


O servidor e os pares so conectados por enlaces de acesso internet. A
taxa de upload do servidor denotada por

denotada por

us , e a taxa de upload do par

ui . A taxa de download do par

denotada por

d i . O tamanho do arquivo a ser distribudo denotado por


nmero de pares que querem obter o arquivo denotado por

e o

N . O tempo

de distribuio o tempo necessrio para que todos os pares obtenham


uma cpia completa do arquivo.
No incio da distribuio apenas o servidor tem o arquivo. Para levar esse
arquivo comunidade de pares, o servidor deve transferir cada bit ao
menos uma vez. Assim, o tempo de distribuio mnimo de pelo menos

F /u s .

Assim como na arquitetura cliente-servidor, o par com a menor taxa de


download no pode obter todos os bits F do arquivo em menos de
Assim, o tempo de distribuio mnimo de pelo menos

F /dmin .

F /dmin .

A capacidade de upload total do sistema igual taxa de upload do


servidor somado as taxas de upload de cada um dos pares, ou seja,

utotal=u s +u1 +u2 ++u N . O sistema deve entregar

dos

pares, entregando assim, um total de

ser feito em uma taxa mais rpida que


distribuio tambm de pelo menos

bits para cada um

N F

bits. Isso no pode

utotal . Assim, o tempo mnimo de

(N F) u total .

Juntado essas trs observaes, obtemos o tempo mnimo de distribuio


para P2P, denotado por

D :

D mx (

F F N F
,
,
)
.
u s d min utotal

14