Comunicação de Dados e Teleprocessamento Nível de Enlace Fontes: Stallings, W. Data and Computer...
Transcript of Comunicação de Dados e Teleprocessamento Nível de Enlace Fontes: Stallings, W. Data and Computer...
Comunicação de Dados e Teleprocessamento
Nível de Enlace
Fontes: Stallings, W. Data and Computer Commmunications Transparências Stallings
Redes de Computadores - das LANs, MANs e WANs às Redes ATM. Luiz Fernando G. Soares, Guido Lemos, Sérgio Colcher. Editora Campus.
Fontes: Stallings, W. Data and Computer Commmunications Transparências Stallings
Redes de Computadores - das LANs, MANs e WANs às Redes ATM. Luiz Fernando G. Soares, Guido Lemos, Sérgio Colcher. Editora Campus.
Protocolos de comunicaçãoO que os protocolos fazem ?
controle de erros: canais mais confiáveis - retransmissão reseqüenciamento: reordenar mensagens fora de ordem controle de fluxo: evita “inundar” receptor mais lento controle de congestionamento: evita “inundar” rede mais
lenta fragmentação: dividir mensagens em pedaços menores para
adaptar a camada de protocolo inferior multiplexação: combinar várias sessões de comunicação
em um “canal” compressão de dados translação de formatos entre fonte e destino resolução de endereços roteamento de pacotes ...
Modelo OSIOrganização em camadas
Comparação das Arquiteturas OSI e Internet
Nível de EnlacePrincipais Características
Delimitação de Quadros Controle de Fluxo Controle de Erros Serviços oferecidos Controle de Acesso
Nível de Enlace Delimitação de Quadro
Contagem de caracteres cabeçalho contém tamanho dos dados
Caracteres delimitadores caracter especial para início / fim de quadro Transparência ? - caracter especial “dentro dos dados” ? Usa outro caracter especial precedendo o delimitador para
indicar que é caracter de dado• >>> técnica de “stuffing”
Seqüência de bits delimitadores ex.: 01111110 (HDLC) mesmo problema de transparência inserção de 0’s (“bit-stuffing”)
• no envio: a cada 5 bits 1: insere 0 • na recepção: contrário
Violação de código uso de sinal no nível físico diferente de sinais usados para
codificar bit’s
Nível de EnlaceServiços oferecidos
sem conexão, sem reconhecimentoredes com baixa taxa de erros no nível físicodemora na transmissão pior do que perda (ex.: voz,
vídeo)
sem conexão, com reconhecimentopouco volume - de maneira confiáveltempo para abrir/fechar conexão não vale a penaproblema: nível de rede pode receber várias cópias
(descarte)
com conexão, e reconhecimento:volumes maiores de maneira confiável, cópia única
Nível de EnlaceControle de Acesso
duas máquinas ligadas ao meio de transmissão: caso simples
várias máquinas ligadas ao meio de transmissão: disciplina ?
Centralizado: “polling”Distribuído: estações logicamente iguais
todas controlam acesso ao meio físicoDiferentes meios: diferentes formas de controle de acessoUso da arquitetura IEEE 802:
• camada LLC: serviço uniforme de enlace independente do meio
• camada MAC: características dependentes do meio
Nível de Enlace Controle de fluxo
stop and wait originador espera confirmação de um quadro para mandar
outro mecanismo de janelas deslizantes
Quadro 0
ACK 0
Quadro 1
ACK 1
Quadro 0
ACK 0
Stop and WaitFonte transmite framedestino recebe e replica com
acknowledgement (confirmação - ack)Fonte espera ACK antes de mandar
próximo frameDestino pode parar fluxo não mandando
ACK
Stop and Wait - utilização do link
Janelas deslizantesPermite vários frames em transitoReceptor tem um buffer de tamanho W
(janela) Transmissor pode mandar até W frames sem
AckCada frame é numeradoAck inclui número do próximo frame esperadoNúmeros de sequencia limitados a tamanho
do campo tamanho em “x” bits -> Frames numerados até 2x
Janelas Deslizantes
Janelas Deslizantes - exemplo
Janelas deslizantes - melhoriasReceptor pode confirmar frames (ack) sem
permitir transmissão (Receive not Ready)Enviador fica suspensoReceptor tem que mandar uma confirmação
normal para continuar o tráfegoEm caso de fluxo duplex, utilizar confirmação
junto com dados técnica chamada “piggybacking” se nao mandar dados - usar frame com ack se tem dados mas não tem ack para mandar
manda último número de ack novamenteou tem um flag indicando se ack é válido ou não (ex.: TCP)
Controle de fluxo - exercíciosCanal transmite a 4kbps e tem tempo de
propagação de 30 ms. Que tamanho de frame de dados dá uma eficiência de no mínimo 50% da utilização do canal utilizando stop-and-wait ?
Considere o uso de frames de 1000 bits em um canal de satélite de 1Mbps e atraso de 270 ms. Qual a taxa de utilização do canal para controle de fluxo stop and wait janela deslizante de tamanhos 7, 127 e 255
Transmissão de Frames - com e sem erros
Controle de errosDetecção de bits errados em framesFrames perdidosPedido de repetição
ack positivo - ok ack negativo - retransmissão
repetição automática retransmissão automática depois de um tempo
sem confirmação de frame - timeout
Coletivamente: ARQ -Automatic Repeat Request
Detecção de errosBits adicionais adicionados pelo
transmissor para detectar erroParidade
indica número par ou ímpar de bits 1 em um caracter
número par de bits errados - não detecta
CRC- Cyclic Redundancy CheckPara um bloco de k bits o transmissor gera
uma sequencia de n bitsTransmite k+n bits - que deve ser divisível
sem resto por um número escolhido (n gerado para que divisão de k+n por este número seja inteira)
Receptor divide o frame pelo número Sem resto - assume-se inexistência de erro com resto - erro
Controle de erros
ARQ -Automatic Repeat Request stop and wait go back N selective reject
Stop and WaitFonte transmite frame únicoespera ackse recebe frame com erro, descarta
transmissor tem mecanismo de timeout se não recebe confirmação dentro do timeout -
retransmite
Se o ACK está corrompido, transmissor não o reconhece retransmite receptor recebe duas cópias do frame usa ACK0 e ACK1
DiagramaStop and Wait
simplicidadeineficiencia
Go Back N (1)Baseado em janela deslizantese não tem erro: manda confirmação do
frame, que indica próximo frame esperadoem caso de erro, responde com rejeição
descarta o frame e todos os frames futuros até que o frame com erro seja recebido corretamente
tramissor deve voltar (go back) e retransmitir o frame errado e todos os subsequentes
Go Back N - caso de frame erradoReceptor detecta erro no frame ireceptor manda rejeição de itransmissor recebe rejeiçãotransmissor retransmite frame i e todos
subsequentes
Go Back N - Frame perdido (1)Frame i perdidoTransmissor manda i+1receptor recebe frame i+1 for a de
sequenciareceptor manda reject itransmissor volta ao frame I e retransmite
Go Back N - Frame Perdido(2)Frame i perdido e não foi mandado frame
adicional receptor nao recebe nada e nao retorna nada transmissor tem timeout e manda ack com
bit P setado para 1 - pedido de confirmação receptor interpreta como um comando que
deve ser confirmado com o número do próximo frame esperado
receptor manda confirmação de i transmissor transmite frame I
Go Back N - Ack corrompidoReceptor recebe frame I e manda ack I+1
que é perdidoacks são cumulativos, então ack I+n deve
chegar antes do transmissor ter timeout do frame i
se chegar ack I+n - considera frames confirmados
se transmissor tem timeout, manda ack com bit P ligado, pedindo confirmação
isto pode ser repetido um número de vezes antes de resetar o enlace
Go Back N - Diagrama
Reject seletivoTambém chamado retransmissão seletivasomente frames rejeitados sao
retransmitidosframes subsequentes sao aceitos pelo
receptor e bufferizadosminimiza retransmissãoreceptor deve manter buffer suficiente
Selective Reject -Diagram