720 likes | 840 Views
Tecnologias WWW Protocolos e Aplicações. Wagner Meira Jr. Protocolos. Acordo sobre comunicação Especifica Formato de mensagens Significado de mensagens Regras de intercâmbio Procedimentos em caso de problemas. Necessidade de Protocolos. Hardware é baixo nível
E N D
Tecnologias WWWProtocolos e Aplicações Wagner Meira Jr.
Protocolos • Acordo sobre comunicação • Especifica • Formato de mensagens • Significado de mensagens • Regras de intercâmbio • Procedimentos em caso de problemas
Necessidade 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
Necessidade de Protocolos (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
Conjuntos de protocolos • Cooperam • Cada protocolo resolve parte do problema de comunicação • Organizado em níveis
Pilha 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
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
Níveis e Software de Protocolos • 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
Princí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.
Controle de Fluxo • Justificativa: • Taxa de envio maior que taxa de recebimento • Aplicação emissora mais rápida que aplicação receptora • Relacionada a buffering
Controle de Fluxo ``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.
Controle de Fluxo através deJanela 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
Congestionamento • Problema fundamental em redes • Causado por tráfego, não falha de hardware • Análogo a congestionamentos em estradas • Causa básica de atrasos
Evitando 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
Motivação para Internet • LANs • Baixo custo • Cobertura limitada • WANs • Alto custo • Cobertura ilimitada
Heterogeneidade é inevitável Nenhuma tecnologia de redes é a melhor para todas as necessidades.
Serviç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
Heterogeneidade e Serviços Universais • Incompatibilidades entre redes: • Propriedades elétricas • Sinalização • Codificação de dados • Formato de pacotes • Endereçamento
Consequê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.
Uma Internet • Inicia com redes heterogêneas • Conecta as redes físicas • Implementa software que faz o sistema parecer homogêneo
Conectando Redes Heterogêneas • Sistema computacional • Dedicado • Especializado • Trabalha com LANs e WANs • Exemplos • Roteadores • Gateways
Arquitetura Internet • Objetivos • Imperceptível • Uniforme • Propósito geral • Universal • Abstrato
Abstraindo 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
Protocolo Internet • Aplicação • Transporte • Internet • Interfaces de rede • Físico
Ní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.
Níveis TCP/IP • Nível 4: Transporte • Comunicação entre aplicações • Nível 5: Aplicação • Restante...
Internet Protocol (IP) • Único protocolo no nível 3 • Peça fundamental • Define • Endereçamento • Formato de pacotes • Roteamento
Endereçamento IP • Abstração • Independente do endereçamento de hardware • Utilizado por • Protocolos de níveis superiores • Aplicações
Endereço IP • Virtual: apenas significativo para software • Usado para toda a comunicação • Inteiro de 32 bits • Valor único para cada máquina
Motivaçã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.
Pacotes 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
Roteamento de Datagramas • Extrair o endereço de destino D • Verificar D na tabela de roteamento • Determinar próximo destino N • Enviar datagrama para N
Conceito 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.
Semântica IP • IP é um protocolo sem conexão • Datagrama contem a identidade do destino • Cada datagrama é tratado independentemente • Rotas podem mudar a qualquer momento
Semâ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
Resolvendo Endereços • Hardware só reconhece endereços MAC • IP utiliza apenas endereços IP • Consequência: • Software deve executar tradução !!
Resolvendo 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
Protocolos de Transporte • Nível separado da pilha de protocolos • Conceitualmente entre: • Aplicação • IP
Funcionalidades de Protocolos de Transporte • Identifica aplicações que enviam e recebem • Opcionalmente provê: • Confiabilidade • Controle de fluxo • Controle de congestionamento
User Datagram Protocol (UDP) • Envio não confiável • Minimiza: • Overhead • Computação • Comunicação • Ideal para aplicações LAN
Detalhes UDP • Interface orientada a mensagens: protocolo sem conexão • Mensagem é encapsulada em um datagrama • Cabeçalho UDP identifica: • Aplicação emissora • Aplicação receptora
Identificando 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
Identificando 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.
Portas 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
Transmission Control Protocol (TCP) • Protocolo de transporte mais popular na Internet • Transferência confiável.
TCP: Características • Serviço orientado à conexão • Ponto-a-ponto • Comunicação full duplex • Interface Stream • Segmentação • Utiliza portas para identificar aplicações
Aplicações: Funcionalidades • Nível de transporte e abaixo: • Comunicação básica • Confiabilidade • Nível de aplicação • Abstrações (arquivos, nomes) • Nomes