Introdução
Protocolos e Divisão em Camadas
1
Introdução Porque
2
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
3
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: – – – – –
4
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 (Open System Interconnection)
–
5
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. Motivos pelas quais não vingou: – – – –
6
Momento ruim Tecnologia ruim Implementação ruim Politica Ruim
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
As setes camadas
Camada 1, Físico: Corresponde ao hardware básico. Responsável pelo envio de sinais eletricos representando os bits “1” e “0”;
Camada 2, Link de Dados: Organiza os dados em quadros e especifica com os dados devem ser transmitidos. Elimina os erros de transmissão e faz controle de fluxo de dados: 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. É responsável em resolver os problemas de ligacoes de redes diferentes;
Camada 4, Transporte: Trata de como tornar a transferência confiável, é parte mais complexa da camada. Define varios tipos de serviços e pode assegurar que todos fragmentos de dados, divididos em pacotes sejam entregues ao destino;
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;
7
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;
NovellNETWARE Banyam System Corp. VINES Apple Computer Corp. Apple Talk Digital Equipament Corp. DECNET IBM SNA Outros TCP
8
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Pilha de protocolo ď Ź
9
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:
10
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; – – –
11
Para sistemas sem conexão; Que mudam de rota; O lado remetente inclui um número 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
12
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Técnicas usadas por protocolos
Sequenciamento para eliminar pacotes duplicados –
Retransmitindo Pacotes Perdidos; –
–
13
O algoritmo de sequenciamente já trata desse problema;
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; – –
14
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 sequência 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 – –
Janela Deslizante: – –
–
15
Nem todos os computadores trabalham na mesma velocidades; A técnica de confirmação após o envio evita o problema, mas gera atrasos;
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 sequência 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 ď Ź
16
A janela Deslizante pode aumentar muito o throughput!
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Técnicas usadas por protocolos
17
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:
18
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