Introdução Protocolos e Divisão em Camadas Introdução Porque os Protocolos são necessários? Detalhe: o hardware permite a transferência pura e simples dos bits no meio Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF Introdução Os aplicativos não trabalham diretamente com o hardware para transmitir dados; Eles contam com a ajuda de um software especial para tratar dos problemas de comunicação: ex: erros, correção, recuperação, tradução, atrasos, etc. Os protocolos para comunicação, geralmente são divididos em vários camadas. Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF Introdução Os objetivos são: – – – – – Garantir a eficiência; Ter uma camada que trata especificamente de um problema; Facilidade de projetar, analisar e testar; Flexibilidade; Interface simplificada entre aplicação e o hardware. Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF Modelo de camadas Modelo de camadas ISO: – Define 7 camadas: Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF As setes camadas Atualmente, o modelo ISO é pouco usado, mas serve para fornecer explicações de funcionamento e as relações existentes entre a aplicação e a complexidade do hardware numa comunicação de dados; Cada camada representa o nível mais baixo até o nível mais alto de um componente de protocolo de uma rede. Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF As setes camadas Camada 1, Físico: Corresponde ao hardware básico; Camada 2, Link de Dados: Organiza os dados em quadros e especifica com os dados devem ser transmitidos: Ex: checksum, byte stuffing; Camada 3, Rede: Especifica como são atribuídos os endereços e como são encaminhados os dados ao longo da rede; Camada 4, Transporte: Trata de como tornar a transferência confiável, é parte mais complexa da camada; Camada 5: Sessão: Define como estabelecer uma sessão de comunicação com um sistema remoto: ex: como fazer Login, saber quem é o usuário; Camada 6: Apresentação: é necessário para traduzir as diferentes representações de números e caracteres; Camada 7, Aplicativo: Especifica como um aplicativo em particular usa a rede; Ex: Como definir o nome do arquivo; Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF Pilhas de protocolo Em geral, o nome pilha de protocolo refere-se ao conjunto de protocolos que compõe o software de protocolo; Muitos empresas fornecem suas pilhas que projetam seus protocolos baseados nos conceitos de pilhas ou camadas, mas apesar disto, são incompatíveis entre sí por diferirem em alguns detalhes; Novell Banyam System Corp. Apple Computer Corp. Digital Equipament Corp. IBM Outros Professor: Arlindo Tadayuki Noji NETWARE VINES Apple Talk DECNET SNA TCP Instituto de Ensino Superior Fucapi - CESF Pilha de protocolo Ex: Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF Múltiplos cabeçalhos aninhados Normalmente cada camada insere um cabeçalho antes de passar os dados para a camada inferior: Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF Técnicas usadas por protocolos Verificação de Bit de paridade, CRC, Checksum (Link de Dados); Detecção de erros e correção de erros (Transporte); Controle para sequenciamento para as entregas fora de ordem; – – – Para sistemas sem conexão; Que mudam de rota; O lado remetente inclui um numero sequencial que informa ao receptor a ordem correta dos pacotes; Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF Técnicas usadas por protocolos Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF Técnicas usadas por protocolos Sequenciamento para eliminar pacotes duplicados – O algoritmo de sequenciamente já trata desse problema; Retransmitindo Pacotes Perdidos; – – Normalmente quando um transmissor envia pacotes, eles sempre aguardam uma confirmação de recebimento por parte receptor, caso não receba a confirmação no devido tempo (temporização) ele re-envia novamente os dados. Esta técnica gera o problema de introduzir pacotes duplicados; Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF Técnicas usadas por protocolos Evitando Repetições Causadas por Atrasos Excessivos; – – Uma fonte de atraso típico num sistema de comutação é switch de pacotes; Atrasos extraordinários podem levar a erros de replays; Ex: Dois computadores concordam em se comunicar as 13:00; Um computador envia uma sequencia de dez pacotes para o outro; Um problema de hardware faz com que o pacote 3 sofra um atraso; Algumas rotas mudam para evitar o problema de hardware; Software de protocolo remetente retransmite o pacote 3, e os pacotes restantes são transmitidos sem erros; As 13:05 os dois computadores concordam em transmitir outros dados; Depois que o segundo pacote chega, o terceiro pacote da comunicação anterior chega logo em seguida causando um problema que não será detectado; Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF Técnicas usadas por protocolos Controle de Fluxo para prevenir Atropelamento de Dados – – Nem todos os computadores trabalham na mesma velocidades; A técnica de confirmação após o envio evita o problema, mas gera atrasos; Janela Deslizante: – – – Consistem em ambos os computadores, remetente e receptor combinarem um tamanho fixo de uma janela deslizante; A idéia básica é que o remetente envie na sequencia sem perda de tempo vários pacotes de uma vez. O receptor por sua vez deve enviar uma confirmação a medida que os pacotes chegam intactos; Por questões de segurança, os quadros na janela só são descartados após a chegada da confirmação do receptor Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF Técnicas usadas por protocolos A janela Deslizante pode aumentar muito o throughput! Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF Técnicas usadas por protocolos Tw=TgxW Tw=min(B,TgxW) Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF Técnicas usadas por protocolos Mecanismos para evitar congestionamentos: – Alternativas: switch com bufferização; retransmissões; O swicth avisar o transmissor; Adicionar um bit nos pacotes transmitidos para que no acknowledment o receptor avise o transmissor para ir mais devagar; Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF