Sie sind auf Seite 1von 4

Uma das características mais fortes da arquitetura

CAPÍTULO 2: CAMADA DE P2P é sua autoescalabilidade.

APLICAÇÃO. Embora cada par gere uma carga de trabalho


Aplicações de rede são a razão de ser uma rede solicitando arquivos, também acrescenta
de computadores. Se não fosse possível capacidade de serviço ao sistema distribuindo
inventar aplicações úteis, não haveria arquivos a outros pares.
necessidade de projetar protocolos de rede Arquiteturas P2P em geral não requerem
para suportá-las. infraestrutura e largura de banda de servidor
significativas.
PRINCÍPIOS DE APLICAÇÕES DE REDE
O núcleo do desenvolvimente de aplicação de Entretanto, as futuras aplicações P2P estão diante
rede é escrever programas que rodem em de três principais desafios:
sistemas finais diferentes e se comuniquem
1. ISP amigável. A maioria dos residenciais foi
entre si.
dimensionados para uso de muito mais
Portanto, ao desenvolver sua nova aplicação, tráfego de entrada do que de saída.
você precisará escrever um software que rode 2. Segurança. Em razão de sua natureza
em vários sistemas finais. altamente distribuída e exposta, as
aplicações P2P podem ser um desafio para
Equipamentos de núcleo de rede não
proteger.
funcionam na camada de aplicação.
3. Incentivos. O sucesso das futuras aplicações
Arquiteturas de aplicação de rede P2P também depende de usuários
participativos para oferecer largura de
A arquitetura da aplicação é projetada pelo
banda, armazenamento e recursos da
programador e determina como aplicação é
computação às aplicações.
organizada nos vários sistemas finais.
E um arquitetura cliente-servidor há um hospedeiro Comunicação entre processos
sempre em funcionamento, denominado servidor, Não são programas mas processos que se
que atende à requisições de muitos outros comunicam.
hospedeiros, denominados cliente.
Um processo pode ser imaginado como um
Em aplicações cliente-servidor, muitas vezes programa que está rodando dentro de um sistema
acontece de um úico hospdeiro servidor ser final.
incapaz de atender a todas as requisições de seus
Quando os processos rodam no mesmo sistema
clientes.
final, comunicam-se usando comunicação
Um datacenter acomodando um grande número inteprocessos, cujas regras são determinadas pelo
de hospedeiros é usado com frequência para criar sistema operacional do sistema final.
um servidor virtual poderoso.
 Processos clientes e processos servidores
Em uma arquitetura P2P há uma confiança mínima
Uma aplicação de rede consiste em pares de
ou nenhuma nos servidores dedicas nos centros de
processos que enviam mensagens uns para os
dados. Em vez disso, a aplicação utiliza a
outros por meio de uma rede.
comunicação direta entre duplas de hospdeiros
conctados alternadamente, denominados pares. Para cada par de processos comunicantes
normalmente rotulamos um dos dois processos de
Como os pares se comunicam sem passar por
cliente e outro, de servidor.
nenhum servidor decicados, a arquitetura é
denominada par a par.
No compartilhamento de arquivo P2P, o par que O processo de envio também precisa identificar o
envia o arquivo é rotulado de cliente e o que processo receptor executando no hospedeiro.
recebe, servidor.
Serviços de transporte disponíveis
No contexto de uma sessão de comunicação entre
um par de processos, aquele que inicia a
para aplicações
comunicação é rotulado de cliente. O que espera A aplicação do lado remetente envia mensagens
para ser contatado para iniciar a sessão é o por meio de socket. Do outro lado, o protocolo de
servidor. camada de transporte tem a responsabilidade de
levar as mensagens pela rede até o socket do
 A interface entre o processo e a rede de processos destinatário.
computadores
Podemos classificar, de maneira geral, os possíveis
Qualquer mensagem enviada de um processo para serviços segundo quatro dimensões:
outro tem de passar pela rede subjacente.
 Transferência confiável de dados: se um
Um processo envia mensagens para a rede e protocolo fornecer um serviço de
recebe mensagens dela através de uma interface recebimentos de dados garantido, ele
de softwares demoninada socket. fornecerá uma transferência confiável de
Um processo é semelhante a uma casa e seu dados. Um importante serviço que o
socket, à porta da casa. protocolo da cama de transporte pode
oferecer para um aplicação é a
Um socket é a interface entre a camada de transferência confiável de dados processo a
aplicação e a de transporte dentro de um processo.
hospedeiro.  Vazão: é a taxa pela qual o processo
É também denominado interface de programação remetente pode enviar bits ao processo
de aplicação (API) entre a aplicação e a rede. destinatário. A vazão disponível pode
oscilar com o tempo. A aplicação pode
O programador da aplicação controla tudo o que solicitar uma vazão garantida de r bits/s, e
existe no lado da camada de aplicação do socket, o protocolo de transporte garante, então,
mas tem pouco controle do lado de sua camada de que a vazão disponível seja sempre r bits/s.
transporte. Aplicações que possuam necessidade de
O programador só controla a escolha do protocolo vazão são conhecidas como aplicações
de transporte e , talvez, a capacidade de sensíveis à largura de banda. Aplicações
derterminar alguns parâmetros. elásticas podem usar qualquer quantidade
mpínima ou máxima que por acaso esteja
 Endereçando processos disponível.
 Temporização.
De modo semelhante, para que um processo
 Segurança: um protocolo de transporte
rodando em um hospedeiro envie pacotes a um
consegue além do sigilo, fornecer outros
processo rodando em outro hospedeiro, o
serviços de segurança, incluindo
receptor precisa de um endereço
integridade dos dados e autenticação do
Para identificar o processo receptor, duas ponto terminal.
informações devem ser especificadas: o endereço
do hospedeiro e um identificador que especifica o
processo receptor no hospedeiro de destino. Serviços de transporte providos pela
Um endereço IP é um quantidade de 32 bits que Internet
podemos pensar como identificando um hospdeiro  Serviços do TCP
de forma exclusiva,
O modelo de serviço TCP inclui um serviço Protocolos de camada de aplicação
orientado para conexão e um serviço confiável de
transferência de dados. Um protocolo de camada de aplicação define como
processos de uma aplicação, que funcionam em
Quando uma aplicação solicita o TCP como seu sistemas finais diferentes, passam mensagens
protocolo de transporte, recebe dele ambos os entre si.
serviços:
Um protocolo de camada de aplicação define:
 Serviço orientado para conexão:
1. Os tipos de mensagens trocadas.
O TCP faz o cliente e o servidor trocarem 2. A sintaxe dos vários tipos de mensagens,
informações de controle de camada de transporte tais como os campos da mensagem e como
antes que as mensagens de camada de aplicação os campos são delineados.
comecem a fluir. Esse procedimento de 3. A semântica dos campos, isto é, o
apresentação alerta o cliente e o servidor. significado da informação nos campos.
Após a fase de apresentação, dizemos que existe 4. Regras para determinar quando e como um
uma conexão TCP entre os sockets dos dois processo envia mensagem e responde
processos. mensagens.

 Serviço confiável de transporte: Muitos outros protocolos de camada de aplicação


são próprios e, de modo intencional, não estão
Os processos comunicantes podem contar com o disponíveis ao público, ex: o Skype.
TCP para a entrega de todos os dados enviados sem
erro e na ordem correta. O HTTp, protocolo de camada de aplicação da
Web, define o formato e a sequ~encia das
O TCP também inclui um mecanismo de controle mensagens que são passadas entre o navegador e
de congestionamento, um serviço voltado ao bem- o servidor.
estar geral da internet e não ao benefício direto
dos processos comunicantes. O SMTP é apenas um pedaço(embora importante)
da aplicação de correio eletrônico.
 Serviços UDP
O UDP é um protocolo de transporte simplificado,
A WEB E O HTTP
leve, com um modelo de serviço minimalista. É um Talvez o que mais atraia a maioria dos usuários da
serviço não orientado para conexão. Web é que ela funciona por demanda. Usuários
O UDP provê um um serviço não confiável de recebem o que querem, quando querem, o que é
transferência de dados. diferente da transmissão de rádio e de televisão,
que obriga a sintonizar quando o provedor
O UDP não inclui um mecanismo de controle de disponibiliza o conteúdo.
congestionamento .
Descrição geral do HTTP
 Serviços não providos pelos protocolos de
transporte da Internet O protocolo de Transferência de Hipertexto é o
protocolo da camada da aplicação da Web, está no
A Internet hoje pode oferecer serviços satisfatório
coração da Web é definido por RFC 1945 e no RFC
a aplicações sensíveis ao tempo, mas não garantias
2616.
de temporização ou de largura de banda.
O HTTp é executado em dois programas: um
Na telefonia, em geral os programadores preferem
cliente e um servidor.
rodá-las em cima do UDP, contornando assim o
mecanismo de controle de congestionamento do Os dois, executados em sistemas finais diferentes,
TCP e evitando pacotes extras. conversam entre si por mensagens HTTP. O HTTP
define a estrutura dessas mensagens e o modo A linha de requisição tem três campos: o do
como o cliente e o servidor as trocam. método, o do URL e o da versão do HTTP.
Uma página Web é constituída de objetos. A grande maioria das mensagens de requisição
HTTP emprega o método GET, o qual é usado
Um objeto é apenas um arquivo que se pode
quando o navegador requisita um objeto e este é
acessas com um único URL
identificado no campo URL.
A maioria das páginas Web é constituída de um
Um navegador vai gerar linhas de cabeçalho em
arquivo-base HTML que referencia os outros
função de seu tipo e versão e se o navegador tem
objetos na página com os URLs dos objetos.
um versão do objeto possivelmente desatualizada
Cada URL tem dois componentes: o nome do em sua memória. Servidores Web se comportam de
hospedeiro(hostname) do servidor que abriga o maneira semelhante.
objeto e o nome doo caminho.
Interação usuário-servidor: cookies
Os servidores Web que executam o lado servidor É sempre bom que um site identifique usuários,
do HTTP, abrigam objetos Web, cada um seja porque o servidor deseja restringir acesso, seja
endereçado por um URL. porque quer apresentar conteúdo em função da
O HTTP define como os clientes requisitam páginas identidade do usuário.
aos servidores e como eles as transferem aos Cookies definidos no RFC 6265 permitem que sites
clientes. monitorem seus usuários.
Sobre TCP, no lado cliente ela é a porta entre o A tecnologia dos cookis tem quatro componentes:
processo servidor e a conexão TCP. O cliente envia um linha de cabeçalho de cookie na mensagem de
mensagens de requisição HTTP para sua interface resposta HTTP; uma linha de cabeçalho de cookie
socket e recebe mensagens de resposta HTTP. na mensagem de requisição; um arquivo de cookie
Como o HTTP não mantém informação aluma mantido no sistema final do usuário e gerenciado
sobre clientes, o HTTP é denominado um protocolo pelo navegador do usário e um banco de dados de
sem estado. apoio no site.

O HTTP com conexões não Caches Web


Um cache Web – também chamado de proxy – é
persistentes e persistentes
uma entidade da rede que atende requisições
A utilização de conexões paralelas reduz o tempo
HTTP em nome de um servidor Web de origem.
de resposta.
Tem seu próprio disco de armazenagem e mantém
O RTT é o tempo que leva para um pequeno pacote
dentro del cópias de objetos recentemente
viajar do cliente ao servidor e de volta ao cliente.
requisitados.
Em conexões persistentes o servidor deixa a
Um cache é ao mesmo tempo servidor e cliente.
conexão TCP aberta após enviar resposta.
Caches Web podem reduzir bastante tráfego na
Formato da mensagem HTTP Internet como um todo, melhorando, assim, o
A primeira linha é denominada linha de requisição; desempenho para todas as aplicações.
as subsequentes são denominadas linhas de
cabeçalho.

Das könnte Ihnen auch gefallen