Sie sind auf Seite 1von 25

1 Captulo

1.1 O que Internet?


1.1.1

Uma descrio detalhada da rede:

A Internet pblica uma rede de computadores mundial, isto , uma rede que
interconecta milhes de equipamentos de computao em todo o mundo.O termo rede
de computadores est comeando a soar um tanto desatualizado, dados os muitos
equipamentos no tradicionais que esto sendo ligados Internet, todos esses
equipamentos so denominados hospedeiros ou sistemas finais.
Sistemas finais so conectados entre si por enlaces (links) de comunicao. Enlaces
diferentes podem transmitir dados em taxas diferentes, sendo a taxa de
transmisso(banda passante) de um enlace medida em bits/s.
Em geral, sistemas finais no so interligados diretamente por um nico enlace de
comunicao, em vez disso, so interligados indiretamente por equipamentos
intermedirios de comutao conhecidos como comutadores de pacotes (tipos mais
predominantes: roteadores e comutadores de camada de enlace).Eles encaminham a
informao que est chegando em um de seus enlaces de entrada para um de seus
enlaces de sada. Em redes de computadores o bloco de informao denominado
pacote.
A seqncia de enlaces de comunicao e comutadores de pacotes que um pacote
percorre desde o sistema final remetente at o sistema final receptor conhecida como
rota ou caminho atravs da rede. A Internet usa uma tcnica conhecida com comutao
de pacote, que permite que vrios sistemas finais comunicantes compartilhem ao
mesmo tempo um caminho ou partes dele.
Sistemas finais acessam a Internet por meio de Provedores de Servios de Internet
(ISPs). Cada ISP uma rede de comutadores de pacotes e enlaces de comunicao. ISPs
provem aos sistemas finais uma variedade de tipos de acesso rede (acesso por modem
discado, banda larga) e acesso a provedores de contedo, conectando sites Web
diretamente Internet. Para permitir a comunicao entre usurios da Internet e
possibilitar a usurios acesso mundial ao contedo da Internet, ISPs de nvel mais baixo
so interconectados por meio de ISPs de nvel mais alto(consiste em roteadores de alta
velocidade interconectados com enlaces de fibra tica de alta velocidade).
Os sistemas finais, os comutadores de pacotes e outras peas da Internet executam
protocolos que controlam o envio e o recebimento de informaes dentro da Internet. O
TCP e o IP so dois dos protocolos mais importantes da Internet. O protocolo IP
especifica o formato dos pacotes que so enviados e recebidos entre roteadores e
sistemas finais. Os principais protocolos da Internet so conhecidos coletivamente como
TCP/IP.
Os padres da Internet so desenvolvidos pela IETF e os documentos padronizados
dela so denominados RFCs.
Existem redes privadas cujos hospedeiros no podem trocar mensagens com
hospedeiros que esto fora da rede privada, elas so denominadas intranets, pois usam
o mesmo tipo de hospedeiros,roteadores,enlaces e protocolos da Internet pblica.

1.1.2

Uma descrio do servio:

A Internet permite que aplicaes distribudas que executam em seus sistemas finais
troquem dados entre si. Ex de aplicaes: navegao na Web, mensagem instantnea,
udio e vdeo em tempo real, etc.
A Internet prov dois servios a suas aplicaes distribudas: um servio confivel
orientado para conexo (garante que os dados transmitidos de uma origem a um
destino sejam finalmente entregues ao destinatrio em ordem e completos) e um
servio no confivel no orientado para conexo (no oferece nenhuma garantia
quanto entrega final). A aplicao distribuda usa um ou outro desses servio, mas no
ambos.
Atualmente , a Internet no prov um servio que oferea garantias quanto ao tempo
que gastar para levar os dados da origem ao destino.
1.1.3

O que um protocolo?

Um protocolo de rede semelhante a um protocolo humano, a diferena que as


entidades que trocam mensagens e realizam aes so componentes de hardware ou
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.2 A periferia da Internet
1.2.1

Sistemas finais, clientes, servidores:

Os computadores conectados Internet so usualmente chamados de sistemas


finais(computadores de mesa, servidores, computadores mveis), por que esto na
periferia da internet. Sistemas finais tambm so denominados hospedeiros(hosts) por
que hospedam programas de aplicao. s vezes, sistemas finais so ainda subdivididos
em duas categorias: clientes e servidores. Normalmente, clientes costumam ser PCs de
mesa ou mveis, enquanto servidores tendem a ser mquinas mais poderosas que
armazenam e distribuem pginas Web, vdeo em tempo real, etc. Um programa cliente
um programa que funciona em um sistema final, que solicita e recebe um servio de um
programa servidor, que funciona em outro sistema final. Uma vez que um programa
cliente normalmente roda em um computador e o programa servidor, em outro,
aplicaes cliente-servidor de Internet so, por definio, aplicaes destribudas. Eles
interagem enviando mensagens um para o outro pela Internet. Nem todas as aplicaes
de hoje consistem em programas puramente clientes ou servidores, as aplicaes P2P de
compartilhamento de arquivos populares, o sistema final do usurio funciona como um
programa cliente (quando requisita um arquivo de outro par) e tambm como um
programa servidor (quando envia um arquivo para outro par).

1.2.2

Servio no orientado para conexo e servio orientado para conexo:

Servio orientado para conexo: Quando uma aplicao usa o servio orientado para
conexo, o programa cliente e o programa servidor (sistemas finais diferentes) enviam
pacotes de controle um para o outro antes de remeter pacotes com dados reais que
devero ser transferidos. Este procedimento, apresentao, alerta o cliente e o servidor
para que se preparem para uma rajada de pacotes. Quando o processo de apresentao
for concludo uma conexo foi estabelecida entre os dois sistemas finais. Os servios
orientados para conexo providos pela Internet vm conjugados com diversos outros
servios, entre eles a transferncia de dados confivel, que quer dizer que uma
aplicao pode confiar que a conexo entregar todos os seus dados sem erro e na
ordem certa. A confiabilidade na Internet conseguida por meio da utilizao de
confirmaes e retransmisses. O controle de fluxo garante que nenhum dos lados de
uma conexo sobrecarregue o outro enviando demasiados pacotes muito rapidamente. O
servio de controle de congestionamento da Internet ajuda a evitar que ela trave,
quando os comutadores de pacotes ficam congestionados, seus buffers podem
transbordar e pode ocorrer perda de pacotes. O servio orientado para conexo da
Internet tem um nome Protocolo de Controle de Transmisso (TCP). Entre os
servios que o TCP prov a uma aplicao esto: transporte confivel, controle de fluxo
e controle de congestionamento.
Servio no orientado para conexo: No h apresentao mtua no servio no
orientado para conexo da Internet. Quando um lado quer enviar pacotes ao outro lado,
ele simplesmente envia. Como no processo de apresentao, os dados podem ser
entregues mais rpido, o que torna esse servio ideal para aplicaes simples orientadas
para transao. Porm, como no h nenhuma transferncia confivel de dados, uma
fonte nunca tem certeza de quais pacotes chegaram ao destino. Este servio tambm no
prov controle de fluxo, nem de congestionamento. O servio de Internet no orientado
para conexo denominado Protocolo de Datagrama do Usurio (UDP).
1.3 O ncleo da rede
1.3.1

Comutao de circuitos e comutao de pacotes:

H duas abordagens fundamentais para montagem de um ncleo de rede: comutao de


circuitos e comutao de pacotes. Em redes de comutao de circuitos, os recursos
necessrios ao longo de um caminho para prover comunicao entre sistemas finais so
reservados pelo perodo da sesso de comunicao. Em redes de comutao de pacotes ,
esses recursos no so reservados; as mensagens de uma sesso usam os recursos por
demanda, e como conseqncia, podero ter de esperar para conseguir acesso a um
enlace de comunicao. As redes de telefonia so exemplos de redes de comutao de
circuitos. A Internet um exemplo de rede de comutao de pacotes.
Comutao de circuitos: Quando dois sistemas finais querem se comunicar, a rede
estabelece uma conexo fim-a-fim dedicada entre os dois sistemas finais. Para que o
sistema final A envie mensagens ao sistema B, a rede deve primeiramente reservar um
circuito em cada dois enlaces.
Multiplexao: Um circuito implementado em um enlace por multiplexao por
diviso de frequncia (FDM) ou por multiplexao por diviso de tempo(TDM).
Com FDM, o espectro de freqncia de um enlace compartilhado entre as conexes

estabelecidas atravs do enlace que reserva uma banda de freqncia para cada conexo
durante o perodo da ligao.Em um enlace TDM, o tempo dividido em quadros de
durao fixa, e cada quadro dividido em um numero fixo de compartimentos(slots)
Quando estabelece uma conexo por meio de um enlace, a rede dedica conexo um
compartimento de tempo em cada quadro. Esses compartimentos so reservados para o
uso exclusivo dessa conexo, e um dos compartimentos de tempo (em cada quadro) fica
disponvel para transmitir os dados dela.
Comutao de pacotes: Em redes de computadores modernas, o originador fragmenta
mensagens longas em pores de dados menores, os pacotes. Entre origem e destino,
cada um desses pacotes percorre enlaces de comunicao e comutadores de pacotes.
Pacotes so transmitidos por cada enlace de comunicao a uma taxa igual de
transmisso total do enlace. A maioria dos comutadores de pacotes armazena e reenvia
os pacotes nas entradas dos enlaces, onde ele deve receber o pacote inteiro antes de
poder comear a transmitir o primeiro bit do pacote para o enlace de sada. Assim, eles
introduzem um atraso de armazenamento e reenvio na entrada de cada enlace(se um
pacote consiste em L bits e deve ser reenviado por um enlace de sada de R bps, ento
atraso = L/R segundos).
Comutao de pacotes versus comutao de circuitos: multiplexao estatstica:
Comutao de circuitos aloca previamente a utilizao do enlace de transmisso
independentemente de demanda, com desperdcio de tempo de enlace desnecessrio
alocado e no utilizado. Comutao de pacotes por outro lado, aloca utilizao de enlace
por demanda. A capacidade de transmisso do enlace ser compartilhada pacote por
pacote somente entre os usurios que tenham pacotes que precisem ser transmitidos pelo
enlace. Tal comportamento de recursos por demanda (e no por alocao prvia) s
vezes denominado multiplexao estatstica de recursos.
1.3.2

Redes de comutao de pacotes: redes datagramas e redes de circuitos


digitais

H duas grandes classes de redes de comutao de pacotes: redes de datagramas


(qualquer rede que transmite pacotes segundo endereos de sistemas finais de destino,
ex: roteadores) e redes de circuitos virtuais (qualquer rede que transmita pacotes
segundo nmeros de circuitos virtuais).
Redes de circuitos virtuais: Um circuito virtual pode ser imaginado como uma conexo
virtual entre um sistema final de origem e um sistema final de destino. Um
identificador de circuito virtual ser atribudo a CV quando ele for estabelecido pela
primeira vez entre a fonte e o destino. Qualquer pacote que faa parte do CV ter esse
identificador em seu cabealho. Quando um pacote chega a um comutador de pacotes,
este examina o ID CV, indexa a sua tabela e transmite o pacote ao enlace de sada. Um
comutador em uma rede de CVs mantm informao de estado para suas conexes em
curso, cada vez que uma nova conexo ativada por um comutador, um novo registro
de conexo deve ser adicionado tabela de traduo dele, e cada vez que uma conexo
desativada, um registro deve ser removido da tabela.
Redes de datagramas: As redes de datagramas so anlogas, em muitos aspectos, ao
servio postal. Quando um remetente envia uma carta a um destino, ele a coloca em um
envelope e nele escreve o endereo do destinatrio. Em uma rede de datagramas, cada

pacote que transita por ela contm em seu cabealho o endereo de destino. Quando um
pacote chega a um comutador de pacotes da rede, ele examina uma parte do endereo de
destino do pacote e o remete a um comutador adjacente. Redes de datagramas no
mantm informao de estado de conexo em seus comutadores.
1.4 Redes de acesso e meios fsicos
1.4.1

Redes de acesso

Acesso Residencial: Refere-se conexo de um sistema final residencial a um roteador


de borda (primeiro roteador de um caminho entre um sistema final e qualquer outro
sistema final remoto). Uma forma comum de acesso residencial o modem discado
ligado por uma linha telefnica a um ISP residencial. O modem converte o sinal digital
de sada do PC em formato analgico para transmisso pela linha telefnica ( a mesma
usada para fazer chamadas telefnicas normais). Na outra extremidade da linha
telefnica analgica, um modem no ISP converte o sinal analgico novamente para sinal
digital para entrar no roteador ISP. A rede de acesso simplesmente um par de modens
juntamente com uma linha telefnica ponto a ponto discada. Como o acesso discado
lento e impede a utilizao normal da linha telefnica, novas tecnologias surgiram,
como a banda larga que oferece taxas mais altas de bits a usurios residenciais, alm de
fornecer meios para que os usurios acesse a Internet e falem ao telefone ao mesmo
tempo. H dois tipos comuns de acesso banda larga, o DLS e o HFC.
O acesso DSL normalmente fornecido por uma companhia telefnica, s vezes em
parceria com um ISP independente. A DSL usa multiplexao por diviso de freqncia.
Diferentemente de modens discados, as DSLs foram explicitamente projetadas para
distancias curtas entre modens residenciais e modens de ISP, o que permite taxas de
transmisso substancialmente mais altas do que as de acesso discado. Enquanto DSL e
modens discados usam linhas telefnicas comuns, redes de acesso HFC so extenses
das redes de cabos existentes usadas para transmisso de TV a cabo. Como acontece
com a DSL, o HFC requer modens especiais, denominados modens a cabo, eles dividem
a rede HFC em dois canais, um canal na direo do usurio(descida) e um na direo do
provedor(subida). Como na DSL, taxa de transmisso de descida normalmente maior
do que a de subida. A rede HFC um meio de transmisso compartilhado. DSL e HFC
possuem servios sempre disponveis.
Acesso corporativo: Refere-se conexo de sistemas finais de uma empresa ou
instituio educacional rede (roteador de borda). Nesses locais, normalmente usada
uma rede local (LAN). O roteador de borda responsvel pelo roteamento de pacotes
cujo destino externo LAN. A tecnologia Ethernet , hoje, a que predomina em redes
corporativas, como o HFC, ela usa um meio compartilhado, de modo que usurios finais
compartilham a velocidade de transmisso da LAN.
Acesso sem fio: H duas categorias amplas de acesso sem fio Internet Nas LANS sem
fio, os usurios sem fio transmitem/recebem pacotes de/para uma estao-base dentro de
um raio de algumas dezenas de metros. No acesso sem fio usa-se um espectro de rdio
para conectar um sistema final porttil a uma estao-base, que estar conectada um
roteador de borda.

1.4.2

Meios fsicos:

Os meios fsicos se enquadram em duas categorias, meios guiados e meios no


guiados. Nos meios guiados, as ondas so dirigidas ao longo de um meio slido, tal
como um cabo de fibra tica, um par de fios de cobre tranado ou um cabo coaxial. Nos
meios no guiados, as ondas se propagam na atmosfera e no espao, como o caso de
uma LAN sem fio ou de um canal digital de satlite. O custo de um enlace fsico em
geral relativamente insignificante em comparao a outros custos da rede.
Par de fios de cobre tranado: Meio de transmisso guiado mais barato e mais
comumente usado. Esse par constitudo de dois fios de cobre isolados, cada um com
aproximadamente um milmetro de espessura, enrolados em espiral. Os fios so
tranados para reduzir a interferncia eltrica de pares semelhantes que estejam
prximos. Tecnologia de modem discado e DSL usam pares tranados.
Cabo coaxial: Como o par tranado, o cabo coaxial constitudo de dois condutores de
cobre, porm concntricos e no paralelos, bidirecional. Cabos coaxiais so muito
comuns em sistemas de televiso a cabo.
Fibras ticas: A fibra tica um meio delgado e flexvel que conduz pulsos de luz,
sendo que cada um desses pulsos representa um bit. Suporta taxas de transmisso
elevadssimas. Fibras ticas so imunes interferncia eletromagntica, tm baixssima
atenuao de sinal de at cem km e so muito difceis de derivar.Essas caractersticas
fizeram da fibra tica o meio preferido para a transmisso guiada de grande alcance, em
particular para cabos submarinos.
Canais de rdio terrestres: Canais de rdio carregam sinais dentro do espectro
eletromagntico. Sua instalao no requer cabos fsicos, podem atravessar paredes, do
conectividade ao usurio mvel e, podem transmitir um sinal a longas distancias. Suas
caractersticas dependem do ambiente de propagao e da distancia pela qual o sinal
deve ser transmitido. Condies ambientais determinam perda de sinal no caminho e
atenuao por efeito de sombra e interferncia. Podem ser classificados em dois grupos,
os de pequeno alcance, e os de longo alcance.
Canais de rdio por satlite: Existem dois tipos de satlites usados para comunicao,
satlites geoestacionrios e satlites de baixa altitude. Os geoestacionarios ficam
permanentemente sobre o mesmo lugar na Terra, esto a grandes distancias da Terra e
causam atraso de propagao. Os de baixa altitude so posicionados muito mais
prximos da Terra e no ficam permanentemente sobre um nico lugar, giram ao redor
da Terra.
1.5 ISPs e backbones da Internet
Na Internet pblica, redes de acessos situadas na borda da Internet so conectadas ao
restante segundo uma hierarquia de nveis de ISPs. Os ISPs de acesso esto no nvel
mais baixo dessa hierarquia. No topo dela est um numero relativamente pequeno de
ISPs denominados ISPs de nvel 1, eles apresentam as seguintes caractersticas:
conectam-se diretamente a cada um dos outros ISPs de nvel 1, conectam-se a um
grande numero de ISPs de nvel 2 e a outras redes clientes, tm cobertura internacional.
Esses ISPs tambm so conhecidos como redes de backbone da Internet.

Um ISP de nvel 2 normalmente tem alcance regional ou nacional e conecta-se apenas a


uns poucos ISPs de nvel 1. Para alcanar uma grande parcela da Internet global, um
ISP de nvel 2 tem de direcionar o trfego por um dos ISPs de nvel 1 com o qual est
conectado o qual o provedor do cliente (ISP de nvel 2). Uma rede de nvel 2 tambm
pode preferir conectar-se diretamente a outras redes de mesmo nvel. Alguns provedores
de nvel 1 tambm so provedores de nvel 2(integrados verticalmente). Quando dois
ISPs esto ligados diretamente um ao outro so denominados peers um do outro.
Dentro de uma rede de um ISP, os pontos em que ele se conecta a outros ISPs so
conhecidos como pontos de presena(POP). Um POP simplesmente um grupo de um
ou mais roteadores na rede do ISP com os quais roteadores em outros ISPs, ou em redes
pertencentes a clientes do ISP, podem se conectar. Alm de se conectarem entre si em
pontos privados de formao de par, ISPs muitas vezes se interconectam em pontos de
acesso de rede (NAPs), podendo cada um deles ser controlado e operado por alguma
empresa privada de telecomunicaes ou por um provedor de backbone de Internet, eles
trocam enormes volumes de trafego entre muitos ISPs.
A topologia da Internet complexa, consistindo em dezenas de ISPs de nveis 1 e 2 e
milhares de ISPs de nveis mais baixos. A cobertura dos ISPs bastante diversificada.
Os ISPs de nveis mais baixos conectam-se a ISPs de nveis mais altos e estes se
interconectam em pontos privados de emparelhamento(onde ISPs de nvel 1 fazem
interconexo entre si) e NAPs (onde ISPs de nvel 2 fazem interconexo entre eles
mesmos e de nvel 1).
1.6 Atraso e perda em redes de comutao de pacotes
Quando um pacote viaja da sua origem para seu destino, ele sofre, ao longo do caminho,
diversos tipos de atraso em cada n (sistema final ou roteador) existente no caminho.
1.6.1

Tipos de atraso

Um pacote enviado do n anterior por meio do roteador A at o roteador B, o roteador


A possui um enlace de sada que o leva ao B, este enlace e precedido de uma
fila(buffer). Quando o pacote chega em A, o roteador examina o cabealho do pacote
para determinar o enlace de sada apropriado e ento o direciona ao mesmo.
Atraso de processamento: O tempo requerido para examinar o cabealho do pacote e
determinar para onde direcion-lo parte do atraso de processamento, que pode incluir
outros fatores, como o tempo necessrio para verificar erros em bits existentes.
Geralmente esses atrasos so da ordem de microssegundos.
Atraso de fila: O pacote sofre um atraso de fila enquanto espera para ser transmitido no
enlace. O tamanho desse atraso depender da quantidade de outros pacotes que
chegaram antes e que j estiverem na fila. Se a fila estiver vazia, ento o tempo de
atraso de fila do pacote ser zero, porm se o trafego estiver pesado e houver muitos
pacotes tambm esperando, o atraso ser longo. Esses atrasos so da ordem de micro a
milissegundos.
Atraso de transmisso: Um pacote transmitido depois que todos os pacotes que
chegaram antes dele tenham sido enviados. O atraso de transmisso L/R (onde L o
tamanho do pacote e R a velocidade de transmisso do enlace do roteador A ao

roteador B). Esta a quantidade de tempo requerida para empurrar(transmitir) todos os


bits do pacote para o enlace. Da ordem de micro a milissegundos.
Atraso de propagao: Assim que lanado no enlace, um bit precisa se propagar at o
roteador B. O tempo necessrio para propagar o bit desde o inicio do enlace at o
roteador B o atraso de propagao. O atraso de propagao D/S (onde D a
distancia entre os dois roteadores e S a velocidade de propagao do enlace).
Comparao entre atrasos de transmisso e de propagao: O atraso de transmisso a
quantidade de tempo requerida para o roteador empurrar o pacote para fora (no tem
nada a ver com a distancia entre os dois roteadores) e atraso de propagao o tempo
que leva para um bit se propagar de um roteador ao outro(no tem nada a ver com o
tamanho do pacote).
O atraso nodal(em um nico roteador) a soma de todos os atrasos.
1.6.2

Atraso de fila e perda de pacote:

Quando o atraso de fila grande ou insignificante?


Depende da intensidade de trfego a qual dada por L.A/R (onde L o tamanho de
todos os pacotes, A a taxa mdia com que os pacotes chegam fila e R a taxa com
que os bits so retirados da fila). Se a intensidade for maior que 1, ento a velocidade
mdia com que os bits chegam fila exceder a velocidade com que eles podem ser
transmitidos para fora, ento a fila ir aumentar sem limite e o atraso tender ao infinito.
Porm se a intensidade for prxima a zero, ento as chegadas de pacotes sero poucas e
bem espaadas e improvvel que um pacote que esteja chegando encontre outro na
fila.
Perda de pacote: Quando um pacote chega e encontra uma fila cheia, sem espao
disponvel para armazena-lo, o roteador descartar esse pacote, isto , ele ser perdido.
1.6.3

Atraso e rotas na Internet

Utilizando o Traceroute, o caminho da origem ao destino ser mostrado, onde os


pacotes passam por uma srie de roteadores. O resultado formado por seis colunas, a
primeira indica o numero do roteador ao longo da rota, a segunda o nome delem a
terceira o endereo do roteador, as trs ultimas indicam os atrasos de ida e volta para as
trs tentativas
1.7 Camadas de protocolo e seus modelos de servio
1.7.1 Arquitetura de camadas
Camada de aplicao: onde residem aplicaes de rede e seu protocolos. Inclui muitos
protocolos como o HTTP, SMTP e o FTP.
Camada de transporte: Transporta mensagens da camada de aplicao entre os lados do
cliente e servidor. H dois protocolos de transporte na Internet, o TCP e o UDP, e
qualquer um deles pode levar mensagens de camada de aplicao.

Camada de rede: responsvel pela movimentao, de uma mquina para outra, de


pacotes de camada de rede conhecidos como datagramas. Tem dois componentes
principais. Um deles o protocolo que define os campos no datagrama, bem como o
modo como os sistemas finais e os roteadores agem nesses campos (protocolo IP). O
outro componente o protocolo de roteamento que determina as rotas que os
datagramas seguem entre origens e destinos.
Camada de enlace: Roteia um datagrama por meio de uma srie de comutadores de
pacotes entre a origem e o destino. Pacotes de camada de enlace sero denominados
quadros.
Camada fsica: A tarefa da camada fsica de movimentar os bits individuais que esto
dentro do quadro de um n para o seguinte.
1.7.2 Camadas, mensagens, segmentos, datagramas e quadros.
Uma mensagem de camada de aplicao na mquina emissora passada para a camada
de transporte, esta pega a mensagem e anexa informaes adicionais que sero usadas
pela camada de transporte do receptor. A mensagem de camada de aplicao e as
informaes de cabealho da camada de transporte, juntas, constituem o segmento de
camada de transporte, que encapsula a mensagem de camada de aplicao. A camada de
transporte ento passa o segmento camada de rede que adiciona informaes de
cabealho de camada de rede, como endereos de sistemas finais de origem e de
destino, criando um datagrama de camada de rede, este ento passado para a camada
de enlace que adiciona suas informaes e cria um quadro de camada de enlace. O nome
disso encapsulamento.
1.8 Histria das redes de computadores e da Internet
..........

2 Captulo
2.1 Princpios de aplicaes de rede
Exemplos de aplicaes de rede: correio eletrnico, a Web, mensagem instantnea,
login em computador remoto como Telnet e SSH, compartilhamento de arquivos P2P,
transferncia de arquivos, etc.
O cerne do desenvolvimento de aplicao de rede escrever programas que rodem em
sistemas finais diferentes e se comuniquem entre si pela rede. Por exemplo, na Web h
dois programas distintos que se comunicam, o programa do browser (roda na mquina
do ususrio) e o programa servidor Web (roda na mquina do servidor Web).
2.1.1 Arquiteturas de aplicao de rede:
A arquitetura da aplicao determina como a aplicao organizada nos vrios sistemas
finais.
Em uma arquitetura cliente-servidor h um hospedeiro sempre em funcionamento,
denominado servidor, que atende a requisies de muitos outros hospedeiros,
denominados clientes, estes podem estar em funcionamento s vezes ou sempre. Os
clientes no se comunicam diretamente uns com os outros. O servidor tem um endereo
fixo, denominado endereo de IP, o cliente sempre pode contat-lo, enviando um pacote
ao endereo do servidor. Em aplicaes cliente-servidor, muitas vezes acontece de um
nico hospedeiro servidor ser incapaz de atender a todas as requisies de seus clientes,
por essa razo, muitas vezes so utilizados conjuntos de hospedeiros (server farm) para
criar servidor virtual poderoso em arquiteturas cliente-servidor.
Em uma arquitetura P2P pura, no h um servidor sempre funcionando no centro da
aplicao, em vez disso pares arbitrrios de hospedeiros comunicam-se diretamente
entre si. Como os pares se comunicam sem passar por nenhum servidor especial, a
arquitetura denominada peer-to-peer, onde nela nenhuma das mquinas participantes
precisa estar sempre em funcionamento. Um de suas caractersticas mais fortes a
escalabilidade, onde cada par adicional no apenas aumenta a demanda, mas tambm a
capacidade de servio. Por outro lado, devido sua natureza altamente distribuda e
descentralizada, pode ser difcil de gerenciar aplicaes P2P.
Muitas aplicaes so organizadas segundo arquiteturas hibridas cliente/servidor/P2P, a
Napster era um exemplo disso, no sentido de que era P2P porque arquivos MP3 eram
trocados diretamente entre pares, sem passar por servidores dedicados, sempre em
funcionamento, mas tambm era cliente-servidor, j que um par consultava um servidor
central para determinar quais pares que estavam em funcionamento tinham um arquivo
MP3 desejado.
2.1.2 Comunicao entre processos:
No jargo de sistemas operacionais, na verdade no so programas que se comunicam,
mas processos, que podem ser imaginados com programas que esto sendo rodados
dentro de um sistema final. Processos que rodam em sistemas finais diferentes se
comunicam pela troca de mensagens por meio da rede de computadores.

Processos clientes e processos servidores: Para cada par de processos comunicantes


normalmente rotulamos um dos dois processos de cliente (que inicia a comunicao) e o
outro de servidor (processo que contatado para iniciar a sesso).
Na Web, um processo browser inicia o contato com um processo do servidor Web
(cliente) e o processo do servidor Web o servidor. No compartilhamento de arquivos
P2P, quando o ParA solicita ao ParB o envio de um arquivo especifico, o ParA o
cliente enquanto o ParB o servidor.
Sockets: Um processo envia mensagens para a rede e recebe mensagens dela atravs de
seu socket. Um analogia para se entender: Um processo anlogo a uma casa e seu
socket porta da casa, quando um processo quer enviar uma mensagem a um outro
processo em outro hospedeiro, ele a empurra porta (socket) afora para dentro da rede, ao
chegar ao hospedeiro destinatrio, a mensagem passa atravs da porta (socket) do
processo receptor. Um socket a interface entre a camada de aplicao e a de transporte
dentro de uma mquina.
Endereamento de processos: Para que um processo em um hospedeiro envie uma
mensagem a um processo em outro, o processo de origem tem de identificar o processo
destinatrio. Para isso ele precisa de duas informaes, o nome ou o endereo da
mquina hospedeira e um identificador que especifique o processo destinatrio.
O processo destinatrio identificado por seu endereo de IP que uma quantidade de
32 bits que identifica exclusivamente o sistema final. Alm de saber o endereo, o
processo de origem tem de identificar o processo que est rodando no outro hospedeiro,
um nmero de porta de destino atende a essa finalidade.
2.1.3 Protocolos de camada de aplicao:
Um protocolo de camada de aplicao define como processos de uma aplicao, que
funcionam em sistemas finais diferentes, passam mensagens entre si, em particular ele
define os tipos de mensagens trocadas, a sintaxe dos vrios tipos de mensagem, a
semntica dos campos, regras para determinar quando e como um processo envia e
responde mensagens. Muitos protocolos de camada de aplicao so proprietrios e no
esto disponveis ao publico. importante distinguir aplicaes de rede de protocolos
de camada de aplicao, um protocolo de camada de aplicao apenas um pedao de
aplicao de rede.
2.1.4 De que servios uma aplicao necessita?
Transferncia confivel de dados: Algumas aplicaes exigem transferncia de dados
totalmente confivel, isto , no pode haver perda de dados (que pode ter conseqncias
devastadoras). Outras aplicaes podem tolerar uma certa perda de dados, mais
notavelmente aplicaes de multimdia.
Largura de banda: Algumas aplicaes tm de transmitir dados a uma certa velocidade
para serem efetivas. Se essa largura de banda no estiver disponvel, a aplicao
precisar codificar a uma taxa diferente ou ento desistir, j que receber metade da
largura de banda que precisa de nada adianta para tal aplicao sensvel largura de
banda. Embora aplicaes sensveis largura de banda exijam uma dada quantidade de
largura de banda, aplicaes elsticas (correio eletrnico, transferncia de arquivos,etc)

podem fazer uso de qualquer quantidade mnima ou mxima que por acaso esteja
disponvel.
Temporizao: O requisito final de servio a temporizao. Aplicaes interativas em
tempo real, exigem limitaes estritas de temporizao na entrega de dados para serem
efetivas.
2.1.5 Servios providos pelos Protocolos de Transporte da Internet:
Servios do TCP: O modelo do servio TCP inclui um servio orientado para conexo e
um servio confivel de transferncia de dados. Faz com que o cliente e o servidor
troquem informaes de controle de camada de transporte antes que as mensagens de
camada de aplicao comecem a fluir. Depois da apresentao diz-se que existe uma
conexo TCP. A conexo full-duplex(simultnea), visto que os dois processos podem
enviar mensagens um ao outro pela conexo ao mesmo tempo. Os processos podem
confiar no TCP para a entrega de todos os dados enviados sem erro e na ordem correta.
O TCP tambm inclui um controle de congestionamento (voltado ao bem estar geral da
Internet e no ao beneficio direto dos processos comunicantes) que limita a capacidade
de transmisso de um processo quando a rede est congestionada. O TCP no garante
uma taxa de transmisso mnima, o processo de origem no pode transmitir com a taxa
que quiser, pois a taxa regulada pelo controle de congestionamento. Ele tambm no
garante absolutamente nenhum limite de tempo para que os dados cheguem ao receptor,
ele garante a entrega de todos os dados, mas no d nenhuma garantia quanto
velocidade de entrega ou aos atrasos.
Servios do UDP: Protocolo de transporte simplificado, no orientado para conexo,
portanto no h apresentao antes que os dois processos comecem a se comunicar.
Prov um servio no confivel, ele no oferece nenhuma garantia de que a mensagem
chegar ao processo receptor e as realmente chegam podem ser fora de ordem. No
inclui um mecanismo de controlo de congestionamento, portanto um processo de
origem pode mandar os mandos taxa que quiser. O UDP tambm no oferece nenhuma
garantia quanto a atrasos.
2.2 A Web e o HTTP
A Web funciona por demanda.
2.2.1 Descrio geral do HTTP
O HTTP (Protocolo de Transferncia de Hipertexto) um protocolo da camada de
aplicao, ele implementado em dois programas, um cliente e outro servidor. Os dois
programas, executados em sistemas finais diferentes, conversam um com o outro por
meio da troca de mensagens HTTP. O protocolo define a estrutura dessas mensagens e o
modo como o cliente e o servidor as trocam.
Uma pgina Web constituda de objetos que so simplesmente arquivos que se podem
acessar com um nico URL. A maioria das pginas Web constituda de um arquivobase HTML e diversos objetos referenciados. Cada URL tem dois componentes, o nome
do hospedeiro do servidor que abriga o objeto e o nome do caminho do objeto.

Um browser um agente de usurio para a Web, apresenta a pgina requisitada ao


usurio e fornece numerosas caractersticas de navegao e de configurao. Um
servidor Web abriga objetos Web, cada um endereado por um URL.
Quando um usurio requisita uma pagina Web, o browser envia ao servidor mensagens
de requisio HTTP para os objetos da pgina, o servidor recebe as requisies e
responde com mensagens de resposta HTTP que contm os objetos.
At 1997, essencialmente todos os browser e servidores Web implementavam a verso
HTTP/1.0, a partir de 1998 eles comearam a implementar a verso HTTP/1.1. O
HTTP /1.1 compatvel com o HTTP /1.0, um servidor Web que executa a verso 1.1
pode se comunicar com um servidor que executa a 1.0.
O HTTP usa o TCP como seu protocolo de transporte subjacente.
O servidor HTTP no mantm nenhuma informao sobre clientes, por isso
denominado protocolo sem estado.
2.2.2 Conexes persistentes e no persistentes:
Em seu modo default, o HTTP usa conexes persistentes, mas pode ser configurado
para utiliza as no persistentes.
Conexes no persistentes:
Possui cinco etapas de transferncia:
1. O processo cliente HTTP inicia uma conexo TCP com o servidor na porta de
nmero 80.
2. O cliente envia uma mensagem (inclui o caminho) de requisio ao servidor
atravs de seu socket associado com a conexo TCP.
3. O processo servidor recebe a mensagem de requisio atravs de seu socket
associado conexo, extrai o objeto de seu armazenamento, encapsula o objeto
em uma mensagem de resposta e a envia ao cliente.
4. O processo servidor ordena ao TCP que encerre a conexo TCP, que s encerrar
quando tiver certeza de que o cliente recebeu a mensagem de resposta.
5. O cliente recebe a mensagem de resposta e a conexo TCP encerrada.
Cada conexo TCP encerrada aps o servidor enviar o objeto, ela no persiste para os
outros objetos. Usurios podem configurar browsers modernos para controlar o grau de
paralelismo (conexes paralelas podem ser abertas).
O tempo de requisio que transcorre entre a requisio e o recebimento de um arquivobase HTTP por um cliente denominado tempo de viagem de ida e volta (RTT), j
inclui atrasos.
Possui algumas desvantagens: uma nova conexo deve ser estabelecida e mantida para
cada objeto solicitado. Para cada uma delas, devem ser alocados buffers TCP e
conservadas variveis TCP tanto no cliente quanto no servidor.
Conexes persistentes:
Em conexes persistentes, o servidor deixa a conexo TCP aberta aps enviar a
resposta, requisies e repostas subseqentes entre os mesmos cliente e servidor podem
ser enviadas por meio da mesma conexo. Normalmente, o servidor HTTP fecha uma
conexo quando ela no usada durante um certo tempo.

H duas verses de conexes persistentes:


Sem paralelismo: O cliente emite uma nova requisio somente quando a resposta
anterior for recebida. Sofre um RTT para requisitar e receber cada um dos objetos.Aps
o servidor enviar um objeto, a conexo fica ociosa enquanto espera a chegada de outra
requisio.
Com paralelismo: O cliente emite uma requisio logo que encontra uma referncia,
assim pode fazer requisies seqenciais para os objetos relacionados, isto , pode fazer
uma nova requisio antes de receber uma resposta a uma requisio anterior. possvel
gastar somente um RTT para todos os objetos. A conexo TCP com paralelismo fica
ociosa durante uma frao menor de tempo.
2.2.3 Formato da mensagem HTTP
H dois tipos de mensagens HTTP: de requisio e de resposta.
Mensagem de requisio HTTP
1. GET /somedir/page.html HTTP/1.1
2. Host: www.someschool.edu
3. User-agent: Mozilla/4.0
4. Connection: close
5. Accept-language:fr
Escrita em ASCII, constituda de cinco linhas, cada uma seguida de um carriage
return e line feed. Embora esta mensagem tenha 5 linhas, uma mensagem pode ter
muito mais ou menos que isso. A primeira linha de uma mensagem denominada linha
de requisio, as subseqentes so denominadas linhas de cabealho.
1. O mtodo GET usado quando o browser requisita um objeto e este
identificado no campo do URL.
2. Especifica o hospedeiro no qual o objeto se encontra.
3. O browser est dizendo que no quer usar conexes persistentes.
4. Especifica o agente de usurio.
5. Mostra que o usurio prefere receber uma verso ,na lngua especificada, do
objeto se esse existir no servidor.
Mtodo POST: Utilizado quando o usurio preenche um formulrio.
Mtodo HEAD: semelhante ao GET, quando um servidor recebe uma requisio com
ele, responde com uma mensagem HTTP, mas deixa de fora o objeto requisitado.
HTTP/1.0 permite somente trs tipos de mtodos GET, POST e HEAD. Alm desses
trs mtodos, a especificao HTTP/1.1 permite vrios mtodos adicionais, entre eles
PUT(permite que um usurio carregue um objeto para um caminho especifico) e
DELETE(permite que o usurio elimine um objeto).

Mensagem de resposta HTTP


1. HTTP/1.1 200 OK
2. Connection close
3. Date: Thu, 06 Aug 1998 12:00:15 GMT
4. Server: Apache/1.3.0 (Unix)
5. Last-Modified: Mon, 22 Jun 1998
6. Content-Length: 6821
7. Content-Type: text/html
1.
2.
3.
4.
5.
6.
7.

Linha de estado.
Conexo no persistente
Indica a hora e a data em que a resposta foi criada e enviada pelo servidor.
Mostra que a mensagem foi gerada por um servidor Web Apache.
Indica a hora e data em que o objeto foi criado ou sofre a ultima modificao.
Indica o nmero de bytes do objeto que est sendo enviado.
Tipo do objeto.

Cdigos de estado:
200 OK : requisio bem-sucedida e informao entregue com a resposta.
301 Moved Permanently : Objeto requisitado foi removido permanentemente, novo
URL.
400 Bad Request: Cdigo genrico de erro que indica que a requisio no pde ser
entendida pelo servidor.
400 Not Found: o documento requisitado no existe no servidor.
505 HTTP Version Not Supported: a verso do protocolo requisitada no suportada
pelo servidor.
2.2.4 Interao usurio-servidor: cookies
Cookies, permitem que sites monitorem seus usurios. A tecnologia dos cookies tem
quatro componentes, uma linha de cabealho de cookie na mensagem de resposta HTTP
; uma linha de cabealho de cookie na mensagem de requisio HTTP; um arquivo de
cookie mantido no sistema final do usurio e gerenciado pelo browser do usurio; um
banco de dados de apoio no site Web.
2.2.5 Contedo HTTP
Alm da Web, usado para aplicaes de comrcio eletrnico para transferncia de
arquivos XML de uma mquina a outra; para transferir VoiceXML, WML e
frequentemente usado como o protocolo de transferncia de arquivos no
compartilhamento de arquivos P2P.

2.2.6 Caches Web


Um cach Web( servidor proxy) uma entidade da rede que atende requisies HTTP
em nome de um servidor Web de origem. Tem seu prprio disco de armazenamento, e
mantm ,dentro dele, cpias de objetos recentemente requisitados.
O browser de um usurio pode ser configurado de modo que todas as suas requisies
HTTP sejam dirigidas primeiramente ao cache Web. Quando um browser requisita um
objeto, ele estabelece uma conexo TCP com o cach Web e envia a ele uma requisio
HTTP para um objeto, o cach verifica se tem uma cpia do objeto armazenada, se tiver,
a envia para o browser do cliente, se no tiver, o cache abre uma conexo TCP com o
servidor de origem, envia uma requisio do objeto para a conexo TCP, aps receber
essa requisio, o servidor de origem envia o objeto ao cache, quando este recebe o
objeto, ele guarda uma cpia em seu armazenamento local e envia outra, ao browser do
cliente.
Um cache , ao mesmo tempo, um servidor(quando recebe requisies de um browser)
e um cliente(quando envia requisies para um servidor de origem).
.O cache na Web tem sido utilizado amplamente na Internet por duas razes: um cache
Web pode reduzir substancialmente o tempo de resposta para a requisio de um cliente;
chaces Web podem reduzir substancialmente o trfego no enlace de acesso de uma
instituio qualquer Internet e tambm o da Internet como um todo, melhorando o
desempenho para todas as aplicaes.
2.2.7 GET condicional
O HTTP tem um mecanismo que permite que um cache verifique se seus objetos esto
atualizados, o GET condicional.
2.3 Transferncia de arquivo: FTP
O usurio quer transferir arquivos de ou para um hospedeiro remoto, para acessar a
conta remota, ele deve fornecer uma identificao e uma senha, aps fazer isso, ele pode
transferir arquivos do sistema local de arquivos para o sistema remoto e vice-versa. O
usurio interage com o FTP por meio de um agente de usurio FTP. Primeiro, ele
fornece o nome do hospedeiro remoto(estabelece conexo TCP com o processo
servidor), depois ele fornece sua identificao e senha sendo enviadas pela conexo
TCP.
O HTTP e o FTP so protocolos de transferncia de arquivos e tm muitas
caractersticas em comum: por exemplo, ambos utilizam o TCP.Mas tambm possuem
diferenas importantes, o FTP usa duas conexes TCP paralelas para transferir um
arquivo, uma de controle e uma de dados. A primeira usada para enviar informaes
de controle entre os dois hospedeiros, a segunda usada para efetivamente enviar um
arquivo. Como o FTP usa uma conexo de controle separada, dizemos que ele envia
suas informaes de controle fora da banda. O HTTP envia linhas de cabealho de
requisio e de resposta pela mesma conexo TCP que carrega o prprio arquivo
transferido, por essa razo diz-se que ele envia suas informaes de controle na banda.
O FTP envia exatamente um arquivo pela conexo de dados e em seguida a fecha, se o
usurio quiser enviar um outro arquivo, o FTP abrir outra conexo de dados. Durante

uma sesso, o servidor FTP deve manter informaes de estado sobre o usurio, ele
deve associar a conexo de controle com uma conta de usurio especfica e tambm
deve monitorar o diretrio corrente do usurio enquanto este passeia pela arvore do
diretrio remoto.
2.3.1 Comandos e respostas FTP:
Alguns comandos:
USER username: enviar identificao do usurio ao servidor.
PASS password: enviar a senha do usurio ao servidor
LIST: pedir ao servidor que envie uma lista com todos os arquivos existentes no atual
diretrio remoto.
RETR filename: obter um arquivo do diretrio atual do hospedeiro remoto.
STOR filename: armazenar um arquivo no diretrio atual.
Respostas tpicas:
331
125
425
452

Nome de usurio OK, senha requisitada


Conexo de dados j aberta; iniciando transferncia
No possvel abrir a conexo de dados
Erro ao escrever o arquivo

2.4 Correio eletrnico na Internet


Tal como o correio normal, o e-mail um meio de comunicao assncrono, rpido,
fcil de distribuir e barato.No sistema de correio da Internet h trs componentes, os
agentes de usurios, servidores de correio e o SMTP. Servidores de correio formam o
ncleo da infra-estrutura do e-mail, cada destino.Cada destinatrio tem uma caixa
postal localizada em um dos servidores de correio. Uma mensagem tpica inicia sua
jornada no agente de usurio do remetente, vai at o servidor de correio dele e viaja at
o servidor de correio do destinatrio, onde depositada na caixa postal. Quando o
destinatrio que acessar as mensagens de sua caixa postal, o servidor de correio que
contem sua caixa postal o autentica. Se o servidor de correio do remetente no puder
entregar a correspondncia ao servidor dele, manter a mensagem em uma fila de
mensagens e tentar transferi-la depois.
O SMTP o principal protocolo de camada de aplicao do correio eletrnico da
Internet.Usa o servio confivel de transferncia de dados do TCP.
2.4.1 SMTP
O SMTP transfere mensagens de servidores de correio remetentes para servidores de
correio destinatrios. O SMTP uma tecnologia antiga que possui certas caractersticas
arcaicas, por exemplo, restringe o corpo de todas as mensagens de correio ao simples
formato ASCII de 7 bits.

Enviando uma mensagem:


1. O remetente chama seu agente de usurio para email, fornece o endereo do
destinatrio, compe uma mensagem e instrui o agente a enviar a mensagem.
2. O agente de usurio do remetente envia a mensagem para o seu servidor de
correio, onde ela colocada em uma fila de mensagens.
3. O lado cliente do SMTP, que funciona no servidor de correio do remetente, v a
mensagem na fila e abre uma conexo TCP para um servidor SMTP, que
funciona no servidor de correio do destinatrio.
4. Aps alguns procedimentos iniciais de apresentao, o cliente SMTP envia a
mensagem do remetente para dentro da conexo TCP.
5. No servidor de correio do destinatrio, o lado servidor SMTP recebe a
mensagem e a coloca na caixa postal dele.
6. O destinatrio chama seu agente de usurio para ler a mensagem quando for
mais conveniente para ele.
O SMTP no usa servidores de correio intermedirios para enviar correspondncia,
mesmo quando os dois servidores esto localizados em lados opostos do mundo.
Como o SMTP transfere uma mensagem de um servidor de correio remetente para um
servidor de correio destinatrio:
O Cliente SMTP faz com que o TCP estabelea uma conexo na porta 25 com o
servidor SMTP, se o servidor no estiver em funcionamento, o cliente tenta novamente
depois, seno, o servidor e o cliente trocam alguns procedimentos de apresentao,
assim que acabam de se apresentar, o cliente envia a mensagem.
2.4.2 Comparao com o HTTP:
Ambos os protocolos so usados para transferir arquivos de um hospedeiro para outro.
O HTTP transfere arquivos de um servidor Web para um cliente Web. O SMTP transfere
arquivos de um servidor de correio para outro. Possuem caractersticas em comum
(conexes persistentes) mas diferenas importantes tambm. O HTTP um protocolo de
recuperao de informaes e o SMTP um protocolo de envio de informaes. Outra
diferena que o SMTP exige que cada mensagem, inclusive o corpo, esteja no formato
ASCII de 7 bits e o HTTP no impe essa restrio. O HTTP encapsula cada objeto em
sua prpria mensagem HTTP, o correio pela Internet coloca todos os objetos de
mensagem em um nica mensagem.
2.4.3 Formatos de mensagem de correio e MIME:
Formato: Possui um cabealho contendo informaes( From, To, Subject) e o corpo da
mensagem.
A extenso MIME para dados que no seguem o padro ASCII: Para enviar contedo
que no seja texto ASCII, o agente de usurio remetente deve incluir cabealhos
adicionais na mensagem, esses cabealhos so Content-Type(permite que o agente de
usurio destinatrio realiza uma ao adequada sobre a mensagem) e Content-TransferEnconding(converter o corpo da mensagem sua forma original).
O cabealho Received: Especifica o nome do servidor SMTP que enviou a mensagem, o
do que recebeu e o horrio em que o servidor destinatrio recebeu a mensagem.

2.4.4 Protocolos de acesso ao correio:


Como o agente de usurio do destinatrio no pode usar SMTP para obter as mensagens
por que essa uma operao de recuperao e o SMTP um protocolo de envio,
existem protocolos especiais que acessam o correio, entre eles o POP3, IMAP e HTTTP.
POP3: Protocolo de acesso de correio extremamente simples, possui funcionalidade
limitada. O POP3 comea quando o agente de usurio(o cliente) abre uma conexo TCP
com o servidor de correio(o servidor) na porta 110. Com a conexo ativada, o protocolo
passa por trs fases: autorizao(o agente de usurio envia um nome de usurio e uma
senha para autenticar o usurio), transao(recupera mensagens, o agente de usurio
pode marcar mensagens que devem ser apagadas,), atualizao(apaga as mensagens que
foram marcadas). Em uma transao POP3, o agente de usurio emite comandos e o
servidor, uma resposta para cada um deles, h duas respostas possveis +OK (quando
ocorreu tudo bem) e ERR:(informa que houve algo de errado). A fase de autorizao
tem dois comandos principais user e pass. O servidor POP3 mantm como informao
de estado apenas quais mensagens devem ser apagadas.O modo ler-e-apagar no
permite que o usurio acesse uma mensagem j lida atravs de um outro computador. O
modo ler-e-guardar permite que isso acontea.
IMAP: Protocolo com mais recursos e mais complexo que o POP3. Um servidor IMAP
associa cada mensagem a uma pasta. Este protocolo prov comandos que permitem que
os usurios criem pastas e transfiram mensagens de uma para outra e comandos que os
usurios podem usar para pesquisar pastas remotas em busca de mensagens que
obedeam a critrios especficos.Mantm informao de estado de usurio. Tem
comandos que permitem que um agente de usurio obtenha componentes de mensagens.
E-mail pela Web: O agente de usurio um browser Web comum e o usurio se
comunica com sua caixa postal via HTTP. E quando se quer enviar uma mensagem de email, esta enviada do browser do remetente para seu servidor de correio e no por
SMTP.
2.5 DNS: o servio de diretrio da Internet
Hospedeiros da Internet podem ser identificados de muitas maneiras. Um identificador
seu nome de hospedeiro(hostname), fceis de lembrar, porm eles fornecem pouca, se
que alguma, informao sobre a localizao de um hospedeiro na Internet.Alm disso,
como nomes de hospedeiros podem consistir em caracteres allfanumricos de
comprimento varivel, seriam difceis de serem processados por roteadores.
Hospedeiros tambm so identificados pelos endereos de IP(constitudo de 4 bytes),
que possui uma estrutura hierrquica(ao examin-lo da esquerda para a direita, obtem-se
informaes especficas sobre onde o hospedeiro se encontra).
2.5.1 Servios fornecidos pelo DNS
As pessoas preferem o identificador nome de hospedeiro e os roteadores os endereos
de IP, para conciliar essa preferncias, necessrio um servio de diretrio que traduza
nomes de hospedeiro para endereos de IP. Esta a tarefa principal do DNS( sistema de
nomes de domnio). O DNS um banco de dados distribudo implementado em uma
hierarquia de servidores nome(servidor DNS) e um protocolo de camada de aplicao

que permite que hospedeiros consultem o banco de dados distribudos. comumente


empregado por outras entidades da camada de aplicao(como HTTP, SMTP, FTP).
Exemplo: Um browser(cliente HTTP) quer que roda na mquina de um usurio requisita
um URL. Para que a mquina do usurio possa enviar uma mensagem de requisio
HTTP ao servidor WEB, ela precisa primeiramente obter o endereo de IP e isso feito
da seguinte maneira:
1. A prpria mquina do usurio executa o lado cliente da aplicao DNS
2. O browser extra o nome de hospedeiro do URL e passa o nome para o lado
cliente da aplicao DNS.
3. O cliente DNS envia uma consulta contendo o nome do hospedeiro para um
servidor DNS.
4. O cliente DNS finalmente recebe uma resposta, que inclui o endereo IP para o
nome do hospedeiro.
5. To logo o browser receba o endereo do DNS, pode abrir uma conexo TCP
com o processo servidor http localizado naquele endereo IP.
Outros servios importantes do DNS:
Apelidos de hospedeiro: Um hospedeiro com nome complicado pode ter um ou mais
apelidos. Um nome como ralayl.west-coast.enterprise.com (nome cannico) pode
ter, por exemplo, enterprise.com como apelido. O DNS pode ser chamado por uma
aplicao para obter o nome cannico correspondente a um apelido fornecido.
Apelidos de servidor de correio: Endereos de e-mail so fceis de lembrar, por
exemplo bob@hotmail.com, porm o nome de hospedeiro do hospedeiro do servidor
do Hotmail mais complicado do que hotmail.com, ento o DNS pode ser chamado
por uma aplicao de correio para obter o nome cannico a partir do apelido
fornecido.
Distribuio de carga: O DNS tambm usado para realizar distribuio de carga
entre servidores replicados, tais como os servidores Web replicados. Sites
movimentados so replicados em vrios servidores, sendo que cada servidor roda
em um sistema final diferente e tem um endereo IP diferente.Assim, um conjunto
de endereos IP fica associado a um nico nome cannico e contido no banco de
dados do DNS.
2.5.2 Viso geral do modo de funcionamento do DNS:
Suponha que uma certa aplicao que executa na mquina de um usurio, precise
traduzir um nome de hospedeiro para um endereo de IP. A aplicao chamar o
lado cliente do DNS, especificando o nome de hospedeiro que precise ser traduzido.
A partir da, o DNS do hospedeiro do usurio assume o controle, enviando uma
mensagem( enviada dentro de datagramas UDP porta 53) de consulta para dentr da
rede. O DNS no hospedeiro do usurio recebe uma mensagem de resposta DNS
fornecendo o mapeamento desejado. O DNS uma caixa-preta que prov um
servio de traduo simples e direto. Um arranjo simples para DNS seria ter um
servidor de nomes contendo todos os mapeamentos, porm existem problemas em
fazer isso.
Um nico ponto de falha: Se o servidor de nomes quebrar, a Interne inteira quebrar.

Volume de trfego: Um nico servidor teria de manipular todas as consultas DNS.


Banco de dados centralizado distante: Um nico servidor de nomes nunca poderia
estar prximo de todos os clientes que fazem consultas.
Manuteno: O nico servidor de nomes teria de manter registros de todos os
hospedeiros da Internet.
Um banco de dados distribudo, hierrquico: O DNS usa um grande numero de
servidores, organizados de maneira hierrquica e distribudos por todo mundo. H
trs classes de servidores de nomes: de nomes raiz, de domnio de alto nvel(TLD) e
servidores DNS com autoridade.
Servidores de nomes raiz: Existem 13 servidores de nomes raiz.
Servidores de nomes de domnio de alto nvel: So responsveis por domnios de
alto nvel como .com, .org, .net, .edu e tambm por todos os domnios de alto nvel
de paises como .fr, .uk, .br.
Servidores de nomes com autoridade: Toda organizao que tiver hospedeiros que
possam ser acessados publicamente na Internet deve fornecer registros DNS tambm
acessveis publicamente que mapeiam os nomes desses hospedeiros para endereos
de IP.
Exemplo: O hospedeiro cis.poly.edu deseja o endereo IP de gaia.cs.umass.edu
Consulta Iterativa: O hospedeiro envia uma mensagem de consulta DNS a seu
servidor de nomes local(dns.poly.edu). Essa mensagem contm o nome de
hospedeiro a ser traduzido. O servidor de nomes local transmite a mensagem de
consulta a um servidor de nomes raiz, que percebe o sufixo edu e retorna ao servidor
de nomes local uma lista de endereos IP contendo servidores TLD responsveis por
edu. Ento, o servidor de nomes local retransmite a mensagem de consulta a um
desses servidores TLD, que recebe o sufixo umass.edu e responde com o endereo
IP do servidor de nomes com autoridade para a University of Massachusetts
(dns.umass.edu). Finalmente, o servidor de nomes local reenvia a mensagem de
consulta diretamente a dns.umass.edu que responde com o endereo IP de
gaia.cs.umass.edu
Consulta Recursiva: O hospedeiro requisita o endereo IP, este envia uma
mensagem de consulta para o servidor de nomes loca, que envia ao servidor de
nomes raiz, que envia ao de nomes TLD, que envia ao de nomes com autoridade,
que retorna o endereo IP para o TLD, que retorna ao de nomes raiz, que retorna ao
de nomes local.
Cache DNS: O DNS explora extensivamente o cache para melhorar o desempenho
quanto ao atraso e reduzir o numero de mensagem DNS que ricocheteia pela
Internet. A idia por trs do cache muito simples. Em uma cadeia de consultas,
quando um servidor de nomes recebe uma resposta DNS, ele pode fazer cache das
informaes da resposta em sua memria local.
2.5.3 Registros e mensagens DNS:
Os servidores de nomes que juntos implementam o banco de dados distribudo do
DNS armazenam registros de recursos, que fornecem mapeamentos de nomes de

hospedeiros para endereos IP. Cada mensagem DNS carrega um ou mais registros
de recursos.
Um registro de recurso uma tupla de quatro elementos:
(Name, Value, Type, TLL)
TLL o tempo de vida til do registro. Os significados de Name e Value dependem
de Type.
Type = A -> Name o noem de hospedeiro e Value o endereo IP para o nome de
hospedeiro.
Type = NS -> Name um domnio e Value o nome de um servidor de nomes com
autoridade que sabe como obter endereos IP para hospedeiros do domnio.
Type = CNAME -> Value um nome cannico de hospedeiro para o apelido de
hospedeiro contido em Name.
Type = MX -> Value o nome cannico de um servidor de correio cujo apelido de
hospedeiro est contido em Name.
Mensagens DNS: As duas nicas espcies de mensagens DNS so mensagens de
consulta e de resposta DNS.
A semntica de vrios campos de uma mensagem a seguinte:
1. Os primeiros 12 bytes formam a seo de cabealho que contm vrios campos:
O primeiro campo o identificador da consulta. Campos de flag (flag para dizer se a
mensagem de consulta ou resposta, flag de autoridade que marcado em uma
mensagem de resposta quando o servidor de nomes um servidor com autoridade
para um nome consultado, flag de recurso, quando um cliente quer que um
servidor de nomes proceda recursivamente sempre que no tem registro). H
tambm quatro campos de numero de.
2. A seo pergunta contm informaes sobre a consulta que est sendo feita.Inclui
um campo de nome que contm o nome que est sendo consultado e um campo de
tipo que indica o tipo de pergunta que est sendo feito sobre o nome.
3. Em uma resposta de um servidor de nomes, a seo resposta contm os registros
de recursos par ao nome que foi consultado originalmente.
4. A seo de autoridade contm registros de outros servidores com autoridade.
5. A seo adicional contm outros registros teis.
Para inserir registros no banco de dados do DNS: Quando deseja-se registrar o nome
de domnio de uma empresa, isto deve ser feito em uma entidade registradora, que
uma entidade comercial que verifica se o nome de domnio exclusivo, registra-o
no banco de dados DNS e cobra uma pequena taxa por seus servios. Ao registrar o
nome de usurio, tambm deve-se informar os nomes e endereos IP dos seus
servidores DNS com autoridade, primrios e secundrios. Tambm deve-se inserir
em seus servidores de nomes com autoridade do registro de recurso Type A e o
registro de recurso Type MX para ser servidor de correio.

2.6 Compartilhamento de arquivos P2P


Exclusivamente em termos de trfego, o compartilhamento de arquivos P2P pode
ser considerado a aplicao mais importante da Internet. Sistemas modernos de
compartilhamento de arquivos P2P no somente compartilham MP3, mas tambm
vdeos,software,documentos e imagens.
Um usurio est ligado Internet e lana sua aplicao de compartilhamento de
arquivos P2P. Ele consulta um MP3 que quer, logo aps dar o comando de busca, a
aplicao exibir uma lista de pares que tm uma cpia da cano para compartilhar
e que esto conectados na Internet no momento. Uma conexo direta estabelecida
entre os dois computadores e o arquivo MP3 enviado do par que o tem para o par
do usurio que o pediu. Se o par que o tem inadvertidamente desconectar seu PC da
Internet durante a transferncia, ento o software de compartilhamento de arquivos
P2P do usurio pode tentar obter o restante do arquivo de um outro par que o tenha.
O compartilhamento de arquivos P2P um paradigma de distribuio atraente
porque todo o contedo transferido diretamente entre pares comuns, sem passar
por servidores de terceiros. Ele altamente escalvel. Embora no exista
envolvimento de nenhum servidor centralizado, o compartilhamento de arquivos
P2P ainda se baseia no paradigma cliente-servidor. O par requisitante o cliente e o
par escolhido o servidor. O arquivo enviado do par servidor ao par cliente com
um protocolo de transferncia de arquivos.Todos os pares podem executar tanto o
lado cliente quanto o servidor.
Suponha que o protocolo de transferncia de arquivos seja HTTP . Quando o
requisitante seleciona o escolhido para baixar a cano, seu computador envia a
ele uma requisio HTTP para essa cano e este envia uma resposta HTTP
contendo a cano. Enquanto o requisitante estiver executando a aplicao de
compartilhamento de arquivos P2P, seu computador um cliente Web e tambm um
servidor Web transitrio. Seu par um servidor Web porque est servindo contedo
dentro de respostas HTTP; transitrio porque est conectado apenas
intermitentemente com a Internet e pode obter um novo endereo IP toda vez que se
conectar novamente com a rede.
Diretrio centralizado: Uma das abordagens mais diretas da localizao de contedo
prover um diretrio centralizado (como fazia o Napster). O servio de
compartilhamento de arquivos P2P usa um servidor de grande porte para prover o
servio de diretrio.Quando um usurio lana a aplicao de compartilhamento de
arquivos P2P, ela contata o servidor de diretrio. Ela informa ao servidor de
diretrio seu endereo IP e os nomes dos objetos que esto disponveis para
compartilhamento em seu disco local. O servidor de diretrio coleta essa informao
de cada par que fica ativo, criando, um banco de dados centralizado. Para manter
seu banco de dados atualizado, o servidor de diretrio deve poder determinar
quando um par se desconecta. Um modo de monitorar quais pares continuam
conectados enviar mensagens periodicamente para verificar se eles respondem. De
o servidor de diretrio determinar que um par no est mais conectado, ele remove
do banco de dados o endereo de IP dele. Utilizar um diretrio centralizado tem
vrias desvantagens:
1. Um nico ponto de falha: Se o servidor de diretrio cair, toda a aplicao P2P
cair.

2. Gargalo de desempenho: Um servidor centralizado tem de manter um banco de


dados imenso e deve responder a milhares de consultas por segundo.
3. Violao de direitos autorais: A industria fonogrfica est preocupada que
sistemas de compartilhamento de arquivos P2P permitam que usurios obtenham
facilmente acesso gratuito a contedo protegido por direitos autorais.
Inundao de consultas: Gnutella, uma aplicao de compartilhamento de arquivos de
domnio pblico. Diferentemente do Npster, a Gnutella no utiliza um servidor
entralizado para monitorar contedo nos pares. O cliente Gnutella implementa o
protocolo Gnutella e executa em um par comum. Em Gnutella, os pares formam uma
rede abstrata, lgica, denominada rede de sobreposio. Se o par X mantiver uma
conexo TCP com um outro par Y, ento dizemos que h uma aresta(abstrata) entre X e
Y. O grafo que contm todos os pares ativos e arestas de conexo define a rede de
sobreposio.
Em Gnutella, pares enviam mensagens a pares prximos na rede de sobreposio
montada sobre conexes TCP existentes. Quando o requisitante quer localizar uma
cano, seu cliente Gnutella envia a todos os seus vizinhos uma mensagem Gnutella
Query que inclui as palavras chave, esses vizinhos por sua vez, retransmitem a
mensagem a todos os seus vizinhos e assim por diante. Esse processo denominado
inundao de consultas.
Embora o projeto descentralizado da Gnutella seja simples e bem estruturado, muitas
vezes criticado por no ser escalvel.Em particular, com inundao de
mensagens,sempre que um par inicia uma consulta, ela se propaga para todos os outros
pares presentes na rede de sobreposio. Os projetistas da Gnutella enfrentaram esse
problema utilizando inundao de consultas de escopo limitado.
Descrevendo o que acontece quando um par X quer juntar-se rede Gnutella.
1. Em primeiro lugar, o par X deve achar algum outro par j que esteja na rede de
sobreposio. Uma abordagem para resolver esse autocarregamento o cliente
Gnutella de X manter uma lista de pares que esto frequentemente ativos na rede
Gnutella.
2. To logo obtenha acesso a essa lista, X faz tentativas seqenciais para
estabelecer uma conexo com pares presentes na lista at ser criada uma
conexo com algum par Y.
3. Aps estabelecida a conexo TCP entre X e Y, o par X envia a Y uma mensagem
Gnutell Ping. Ao receber a mensagem Ping, Y transmite a todos os seus vizinhos
na rede de sobreposio.
4. Sempre que um par Z recebe uma mensagem Ping, responde retornando uma
mensagem Gnutella Pong para X atravs da rede de sobreposio.
5. Quando recebe as mensagens Pong, X sabe os endereos IP de muitos pares
presentes na rede Gnutella,alm de Y. Ento pode estabelecer conexes TCP
com alguns desses outros pares.

Explorando a heterogeneidade: O Napster utiliza um servidor de diretrio centralizado e


sempre localiza contedo quando este estiver presente em algum par
participante.Gnutella utiliza uma arquitetura totalemnte distribuda, mas localiza
contedo somente em pares prximos na rede de sobreposio.O Kazaa toma
emprestadas idias do Napster e Gnutella, resultando em um poderoso sistema de
compartilhamento de arquivos P2P. A tecnologia Kazaa proprietria e ,alm disso,
criptografa todo o controle de trafego.O Kazaa explora a heterogeneidade de uma
maneira intuitiva e natural. Ele se parece com o Gnutella, no sentido de que no usa um
servidor dedicado para monitorar e localizar contedo.Entretanto, diferentemente da
Gnutella, nem todos os pares so iguais no Kazaa. Os pares mais poderosos (grande
largura de banda e alta conectividade com a Internet) so lideres de grupo e tm maiores
responsabilidades.
Quando um par lana a aplicao Kazaa, estabelece uma conexo TCP com um dos
lideres de grupo. Ento, o par informa a seu lder de grupo todos os arquivos que est
disponibilizando para compartilhamento.
No Kazaa cada arquivo identificado por um hash do arquivo. Cada objeto tem um
descritor, que inclui o nome do arquivo e um texto descritivo no estruturado do objeto.
A arquitetura do Kazaa explora heterogeneidade dos pares, designando como lideres de
grupo uma pequena frao dos pares mais poderosos que formam a camada superior de
uma rede de sobreposio plana e inundao de escopo limitado, o projeto hierrquico
permite a verificao de compatibilidade em um numero significativamente maior de
pares sem criar um trafego de consultas excessivo.
Tambm emprega varias tcnicas que melhoram seu desempenho: enfileiramento de
requisies, o usurio pode configurar seu par de modo a limitar o numero d
transferncias simultneas em qualquer valor. Prioridades de incentivo o escolhido
dar prioridade de enfileiramento a usurios que, no passado, tenham carregado mais
arquivos do que baixado. Transferncia paralela , um requisitante pode baixar o
arquivo paralelamente, uma metade de usurio e outra de outro.

Das könnte Ihnen auch gefallen