e-commerce, systems performance evaluation, and experimental development laboratory tecnologias www...

Post on 17-Apr-2015

106 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory

Tecnologias WWWTecnologias WWWProtocolos e AplicaçõesProtocolos e Aplicações

Wagner Meira Jr.

e-speed

ProtocolosProtocolos

• Acordo sobre comunicação

• Especifica– Formato de mensagens– Significado de mensagens– Regras de intercâmbio– Procedimentos em caso de problemas

e-speed

Necessidade de ProtocolosNecessidade de Protocolos

• Hardware é baixo nível

• Vários problemas podem ocorrer– Dados corrompidos ou destruídos– Pacotes perdidos– Pacotes duplicados– Pacotes chegam fora de ordem

e-speed

Necessidade de Protocolos Necessidade de Protocolos (2)(2)

• Necessidade de um mecanismo para distinguir entre:– Vários computadores na rede– Várias aplicações em um computador– Várias cópias de uma aplicação em um

computador

e-speed

Conjuntos de protocolosConjuntos de protocolos

• Cooperam

• Cada protocolo resolve parte do problema de comunicação

• Organizado em níveis

e-speed

Pilha de Protocolos OSIPilha de Protocolos OSI

• Nível 1: Físico– Plataforma hardware

• Nível 2: Enlace– Quadros de hardware

• Nível 3: Rede– Envio de pacotes

• Nível 4: Transporte– Confiabilidade

e-speed

Pilha de Protocolos OSI (2)Pilha de Protocolos OSI (2)

• Nível 5: Sessão– Login e senhas

• Nível 6: Apresentação– Representação de dados

• Nível 7: Aplicação– Programa de aplicação individual

e-speed

Níveis e Software de Níveis e Software de ProtocolosProtocolos

• Software de protocolos segue o modelo de níveis– Um módulo de software por nível– Módulos cooperam– Fluxo de dados passa de um módulo para

outro

• Conjunto de módulos é conhecido como pilha

e-speed

Princípio da PilhaPrincípio da Pilha

• Software implementando nível N no destino recebe exatamente a mensagem enviada pelo software que implementa o nível N na fonte.

e-speed

Controle de FluxoControle de Fluxo

• Justificativa:– Taxa de envio maior que taxa de

recebimento– Aplicação emissora mais rápida que

aplicação receptora

• Relacionada a buffering

e-speed

Controle de FluxoControle de Fluxo ``Stop-and-Go’’ ``Stop-and-Go’’

• Emissor– Transmite um pacote– Espera o sinal do recipiente

• Reciptor– Recebe e processa o pacote– Sinaliza o emissor

• Ineficiente: Latência pode ser alta.

e-speed

Controle de Fluxo através deControle de Fluxo através deJanela DeslizanteJanela Deslizante

• Receptor:– Disponibiliza múltiplos buffers e avisa emissor

• Emissor:– Transmite pacotes para todos os buffers– Apenas espera se não houver sinalização

após a transmissão ser completada

• Receptor:– Sinaliza à medida que pacotes chegam

e-speed

CongestionamentoCongestionamento

• Problema fundamental em redes

• Causado por tráfego, não falha de hardware

• Análogo a congestionamentos em estradas

• Causa básica de atrasos

e-speed

Evitando CongestionamentosEvitando Congestionamentos

• Controle de taxa– Restringir taxa de transmissão

• do computador emissor• da rede

• Controle de taxa de rede– Monitorar tráfego de entrada– Descartar pacotes acima da taxa aceita– Traffic shaping

e-speed

Motivação para InternetMotivação para Internet

• LANs– Baixo custo– Cobertura limitada

• WANs– Alto custo– Cobertura ilimitada

e-speed

Heterogeneidade é inevitávelHeterogeneidade é inevitável

Nenhuma tecnologia de redes é a melhor para todas as necessidades.

e-speed

Serviços universaisServiços universais

• Conceito fundamental em redes

• Precursor: sistema de telefonia

• Pares arbitrários de computadores podem comunicar

• Desejável

• Difícil em um mundo heterogêneo

e-speed

Heterogeneidade e Heterogeneidade e Serviços UniversaisServiços Universais

• Incompatibilidades entre redes:– Propriedades elétricas– Sinalização– Codificação de dados– Formato de pacotes– Endereçamento

e-speed

ConsequênciaConsequência

Embora serviços universais sejam desejáveis, incompatibilidades entre o hardware de rede e enderaçamento físico impedem uma organização de construir uma rede que inclua tecnologias arbitrárias.

e-speed

Uma InternetUma Internet

• Inicia com redes heterogêneas

• Conecta as redes físicas

• Implementa software que faz o sistema parecer homogêneo

e-speed

Conectando Redes Conectando Redes HeterogêneasHeterogêneas

• Sistema computacional– Dedicado– Especializado– Trabalha com LANs e WANs

• Exemplos– Roteadores– Gateways

e-speed

Arquitetura InternetArquitetura Internet

• Objetivos– Imperceptível– Uniforme– Propósito geral– Universal– Abstrato

e-speed

Abstraindo HeterogeneidadeAbstraindo Heterogeneidade

• Criar rede virtual

• Determine– Esquema de endereçamento– Esquema de assinalamento de nomes

• Implemente via software de protocolo tanto em máquinas quanto roteadores

e-speed

Protocolo InternetProtocolo Internet

• Aplicação

• Transporte

• Internet

• Interfaces de rede

• Físico

e-speed

Níveis TCP/IPNíveis TCP/IP

• Nível 1: Físico– Hardware de rede

• Nível 2: Interface de Rede– Formato de quadro MAC– Endereçamento MAC– Interface entre o computador e a rede

• Nível 3: Internet– Facilita enviar pacotes por caminhos que

passam por múltiplos roteadores.

e-speed

Níveis TCP/IPNíveis TCP/IP

• Nível 4: Transporte– Comunicação entre aplicações

• Nível 5: Aplicação– Restante...

e-speed

Internet Protocol (IP)Internet Protocol (IP)

• Único protocolo no nível 3

• Peça fundamental

• Define– Endereçamento– Formato de pacotes– Roteamento

e-speed

Endereçamento IPEndereçamento IP

• Abstração

• Independente do endereçamento de hardware

• Utilizado por– Protocolos de níveis superiores– Aplicações

e-speed

Endereço IPEndereço IP

• Virtual: apenas significativo para software

• Usado para toda a comunicação

• Inteiro de 32 bits

• Valor único para cada máquina

e-speed

Motivação para pacotes IPMotivação para pacotes IP

Uma vez que ele pode conectar redes heterogêneas, um roteador não pode transmitir uma cópia do quadro que chega de uma rede através da outra. Para acomodar a heterogeneidade, uma Internet deve definir um formato de pacote independente de hardware.

e-speed

Pacotes InternetPacotes Internet

• Abstração

• Criados e interpretados apenas por software

• Contem endereços de origem e destino

• Tamanho depende dos dados sendo transmitidos

• Chamado de datagrama IP

e-speed

Tabelas de RoteamentoTabelas de Roteamento

e-speed

Roteamento de DatagramasRoteamento de Datagramas

• Extrair o endereço de destino D

• Verificar D na tabela de roteamento

• Determinar próximo destino N

• Enviar datagrama para N

e-speed

Conceito fundamentalConceito fundamental

O endereço de destino de um datagrama sempre se refere ao destino final. Quando um roteador envia o pacote para outro roteador, o endereço dos roteadores não consta do pacote.

e-speed

Semântica IPSemântica IP

• IP é um protocolo sem conexão– Datagrama contem a identidade do destino– Cada datagrama é tratado

independentemente

• Rotas podem mudar a qualquer momento

e-speed

Semântica IPSemântica IP

• IP permite que datagramas sejam– atrasados– duplicados– perdidos– recebidos fora de ordem– perdidos

• Best effort delivery: acomodar os vários tipos de redes

e-speed

Resolvendo EndereçosResolvendo Endereços

• Hardware só reconhece endereços MAC

• IP utiliza apenas endereços IP

• Consequência:– Software deve executar tradução !!

e-speed

Resolvendo EndereçosResolvendo Endereços

• Protocolo nível 2

• Dados:– Uma rede N– Um endereço IP C de uma máquina em N

• Encontrar o endereço MAC de C

• Técnica: Protocolo ARP

e-speed

Protocolo ARPProtocolo ARP

e-speed

Protocolos de TransporteProtocolos de Transporte

• Nível separado da pilha de protocolos

• Conceitualmente entre:– Aplicação – IP

e-speed

Funcionalidades de Funcionalidades de Protocolos de TransporteProtocolos de Transporte

• Identifica aplicações que enviam e recebem

• Opcionalmente provê:– Confiabilidade– Controle de fluxo– Controle de congestionamento

e-speed

User Datagram Protocol User Datagram Protocol (UDP)(UDP)

• Envio não confiável

• Minimiza:– Overhead– Computação– Comunicação

• Ideal para aplicações LAN

e-speed

Detalhes UDPDetalhes UDP

• Interface orientada a mensagens: protocolo sem conexão

• Mensagem é encapsulada em um datagrama

• Cabeçalho UDP identifica:– Aplicação emissora– Aplicação receptora

e-speed

Identificando uma aplicaçãoIdentificando uma aplicação

• Não há como estender o endereço IP

• Não pode utilizar recursos dependentes de sistema operacional:– Processo ID– Número de tarefa

• Deve funcionar em todos os sistemas

e-speed

Identificando uma aplicaçãoIdentificando uma aplicação

• Nova abstração:– Usada apenas com TCP/IP– Identifica emissor e receptor unicamente

• Técnica:– Cada aplicação é associada a um inteiro

único chamado porta.

e-speed

Portas de protocoloPortas de protocolo

• Servidor– Segue padrão– Sempre usa o mesmo número de porta– Usa números de porta baixos

• Cliente– Obtem portas livres do software de

protocolo– Usa números de porta altos

e-speed

Transmission Control Protocol Transmission Control Protocol (TCP)(TCP)

• Protocolo de transporte mais popular na Internet

• Transferência confiável.

e-speed

TCP: CaracterísticasTCP: Características

• Serviço orientado à conexão

• Ponto-a-ponto

• Comunicação full duplex

• Interface Stream

• Segmentação

• Utiliza portas para identificar aplicações

e-speed

Relacionamento entre Relacionamento entre ProtocolosProtocolos

e-speed

Aplicações: FuncionalidadesAplicações: Funcionalidades

• Nível de transporte e abaixo:– Comunicação básica– Confiabilidade

• Nível de aplicação– Abstrações (arquivos, nomes)– Nomes

e-speedTarefasTarefas

• Rede– Transfere dados em resposta a uma

requisição de aplicação

• Aplicações– O que enviar– Quando enviar– Para onde enviar– Significado dos dados

e-speed

Modelo Cliente-ServidorModelo Cliente-Servidor

• Servidor:– É o primeiro a iniciar– Espera por conexões

• Cliente– Inicia execução posteriormente– Conecta-se ao servidor

e-speed

Características do ClienteCaracterísticas do Cliente

• Aplicação arbitrária

• Atua como cliente de forma temporária

• Executa outras tarefas

• Executado pelo usuário

• Ativa a conexão com o servidor

e-speed

Características do ServidorCaracterísticas do Servidor

• Programa privilegiado e altamente especializado

• Dedicado a um serviço

• Atende a múltiplos clientes

• Executa de forma perene

• Aceita conexões de clientes arbitrários

e-speed

Identificando um ServiçoIdentificando um Serviço

• Cada serviço é associado a uma única porta

• Servidor– Informa SO da utilização de uma porta P– Espera requisições chegar

• Cliente– Monta requisição– Envia requisição na porta P

e-speed

Portas: Uso teóricoPortas: Uso teórico

• Portas são apenas inteiros

• Qualquer servidor pode utilizar qualquer porta

e-speed

Portas: Uso PráticoPortas: Uso Prático

• Números das portas são usados como identificadores de serviço

• Demanda numeração uniforme:– Cliente sempre acessa serviço na mesma porta– Evita criação de diretórios

• Números de porta– Uniformizados – Atribuídos por organismos reguladores

e-speed

Interface SocketInterface Socket

• Originalmente:– BSD Unix– Uso restrito a protocolos TCP/IP

• Atualmente:– Padrão de indústria– Disponível em vários sistemas

operacionais

e-speedSocketSocket

• Abstração do sistema operacional

• Criado dinamicamente

• Persiste apenas enquanto a aplicação executa

• Referenciado por um descritor

e-speed

Socket: Cliente-ServidorSocket: Cliente-Servidor

e-speedNomesNomes

• Comunicações Internet requerem IPs

• Nomes são preferíveis

• DNS: sistema automático para traduzir nomes para endereços

e-speed

Obtendo um nomeObtendo um nome

• Organização– Escolhe o nome, que deve ser único– Registra o nome na autoridade central– Colocado sobre um domínio de primeiro

nível

• Restrições legais– Marcas registradas– Direitos autorais

e-speed

Resolução de NomeResolução de Nome

• Aplicação– Envia requisição para o servidor DNS

• Servidor– Se sabe a resolução, responde– Se não sabe, envia a requisição para

servidor imediatamente superior

e-speed

Exemplo de Hierarquias DNSExemplo de Hierarquias DNS

e-speed

Replicação de NomesReplicação de Nomes

• Servidor sempre armazena as respostas

• Cliente pode armazenar as respostas

• Caching:– Melhora a eficiência– Elimina buscas desnecessárias– Trabalha bem baseado em localidade de

referência

e-speed

Transferência de ArquivosTransferência de Arquivos

• Cópia de arquivos completos

• Protocolo: File Transfer Protocol (FTP)– Usa TCP– Transferências binárias ou texto– Até 1995 era a maior fonte de pacotes na

Internet

e-speed

Paradigma FTPParadigma FTP

• Interface de linha de comando

• Usuário: – Cria conexão de controle com servidor– Registra no servidor– Envia comandos de controle

• Servidor– Estabelece uma conexão de dados por

transferência

e-speedHTTPHTTP

• Protocolo de transferência de dados ASCII

• Métodos– GET– HEAD– POST– DELETE– PUT

e-speedHTTPHTTP

• Não há noção de estado: requisições são independentes

• Uma conexão TCP por requisição– HTTP/1.1 - Conexões persistentes

• Códigos de erro estilo FTP

e-speed

Requisição HTTPRequisição HTTP

GET /index.html HTTP/1.0

Accept: text/html

If-modified-since: Sat, 29 Oct 1994 19:43:31 GMT

Referrer: www.org/index.html

e-speed

Resposta HTTPResposta HTTP

HTTP/1.0 200 OK

Date: Wed, 31 Jan 1996 20:45:17 GMT

Server: NCSA/1.5

Content-type:text/html

Content-language: en

Last-Modified: Wed, 31 Jan 20:00:00 GMT

<html>

.....

</html>

e-speed

Apache: ArquiteturaApache: Arquitetura

top related