Camada de Enlace de Dados - LLC Prof. Mauro Tapajós
Problemas para a Camada de Enlace <ul><li>Erros nos circuitos de comunicação
Atraso de propagação entre emissor e receptor
Taxa de transmissão real finita
Distorções no sinal ao percorrer o meio
Reconhecimento do destino desejado (saber o destino da comunicação) </li></ul>
Camada de Enlace Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical...
Escopo da Camada de Enlace de Dados Comunicação confiável com o vizinho dentro de uma mesma tecnologia de rede
Camada de Enlace de Dados <ul><li>Comunicação confiável entre dois dispositivos adjacentes numa rede (comunicação ponto-a-...
Cria quadros para transporte da informação
Estabelece os limites de um quadro (enquadramento)
Estabelece a comunicação e gerencia o  link  de comunicação ponto-a-ponto
Detecta erros com quadros perdidos, danificados e duplicados, e age de acordo </li></ul>
Camada de Enlace de Dados <ul><li>Controle de fluxo de quadros
Controle na sequência dos quadros
Controla o acesso ao meio de transmissão compartilhado (MAC –  Medium Access Control )
Alguns destes mecanismos destes também podem ser implementados na  camada de transporte , mas a nível fim-a-fim  em toda a...
Enquadramento <ul><li>A camada física somente garante o envio de bits sobre a linha de comunicação
Para executar detecção de erros e controle de fluxo, a camada de enlace agrupa os bits enviados em quadros definidos
Cabe à camada de enlace saber onde começam e terminam os quadros ( frames ) </li></ul>
Enquadramento <ul><li>Como delimitar estes quadros? </li><ul><li>“ Time-gap ”
Contador de caracteres no cabeçalho
Delimitadores explícitos </li></ul></ul><ul><ul><ul><li>caracter: sequências DLE-STX e DLE-ETX com  Caracter-stuffing
Bits: sequências 01111110 com  Bit-stuffing </li></ul></ul></ul><ul><ul><li>Violações de código da camada física </li></ul...
Enquadramento: Contador de Caracteres Um campo no cabeçalho do quadro  indica quantos carateres existem neste quadro
Enquadramento: Delimitadores explícitos Delimitadores explicitamente indicam o início e fim do quadro através de uma sequê...
Criação do Quadro ( Frame ) Camada de Rede Camada de Enlace de Dados
Stuffing <ul><li>Caracter-stuffing </li></ul><ul><li>Bit-stuffing </li></ul>
Exemplo:  Caracter Stuffing PPP DLE DLE ETX DLE I am a  jerk trying to  DLE crash your network!  ETX STX DLE DLE DLE ETX D...
Exemplo:  Bit Stuffing HDLC
Transmissão com erros e perdas de quadros
Controle de Fluxo <ul><li>Assegura que uma entidade transmissora não afogue uma entidade receptora com dados (diferentes t...
Os protocolos estabelecem  quando  se pode transmitir quadros
Estabelecimento de uma disciplina de comunicação </li></ul>
Controle de Erros <ul><li>Nenhum link físico é perfeito e imune a falhas e erros
Bits podem ser corrompidos
Podemos detectar erros e tentar corrigi-los ou pedir retransmissão
Normalmente códigos que permitem detecção e correção de erros oneram muito o protocolo de enlace que os implementam
Opção comum: pedir retransmissão de quadros danificados ou ausentes </li></ul>
Controle de Erros <ul><li>Um quadro é inútil se teve bits alterados: </li><ul><li>Checagem de paridade  - detecção de erro...
Códigos Polinomiais  – Ex.: CRC ( Cyclic Redundancy Check ) – efetua operações matemáticas para detectar erros em rajadas ...
Retransmissão depois de  Timeout
Retransmissão depois de confirmação negativa ( nack ) </li></ul></ul></ul>
Controle de Erros: Paridade Mensagem   Bit de Paridade 0 0 1 1 1  (ímpar) 1 0 0 0 0 (ímpar) 0 1 0 1 0 (par) 1 0 0 0 1 (par)
CRC <ul><li>Usam um polinômio padrão  G  de ordem  r  definido para executar uma operação matemática sobre os dados </li><...
Divide-se  x r M  pelo polinômio  G  gerando um número e um resto – ( x r M/G = num + resto, n )
Transmite-se  T=x r M - n  ( = mensagem e CRC ao final )
Na recepção, divide-se  T  por  G . Este resultado deve dar um resto igual a zero. Resto [  T/G  ]=0 </li></ul>
CRC <ul><li>O cálculo na recepção é imediato logo que se receba a mensagem
Por este motivo, os CRC's são colocados ao final da mensagem
Quanto maior o polinômio (ordem) menor é probabilidade de erros não serem descobertos pelo teste
Polinômios de ordem  r  detectam erros em rajadas de comprimento até  r  bits
Implicam em baixo  overhead
Fácil implementação em hardware </li></ul>
CRC
Protocolo  Stop-and-Wait Ineficiente, principalmente para longas distâncias e taxas altas de transmissão
Stop-and-Wait –  O que acontece se uma mensagem ou ACK não chegar? Dados ACK ? Tempo
Stop-and-Wait –  Quadros Duplicados na Recepção Compre 10 Pikachus! Tempo Expirado Onde está o ACK? ACK Comprar 20? Compre...
Upcoming SlideShare
Loading in...5
×

Redes I - 3.Camada de Enlace de Dados LLC

3,452

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,452
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
125
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Redes I - 3.Camada de Enlace de Dados LLC

  1. 1. Camada de Enlace de Dados - LLC Prof. Mauro Tapajós
  2. 2. Problemas para a Camada de Enlace <ul><li>Erros nos circuitos de comunicação
  3. 3. Atraso de propagação entre emissor e receptor
  4. 4. Taxa de transmissão real finita
  5. 5. Distorções no sinal ao percorrer o meio
  6. 6. Reconhecimento do destino desejado (saber o destino da comunicação) </li></ul>
  7. 7. Camada de Enlace Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer Application Protocol Transport Protocol Presentation Protocol Session Protocol Host A Host B Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer Network Layer Data Link Layer Physical Layer Network Layer Data Link Layer Physical Layer Router Router
  8. 8. Escopo da Camada de Enlace de Dados Comunicação confiável com o vizinho dentro de uma mesma tecnologia de rede
  9. 9. Camada de Enlace de Dados <ul><li>Comunicação confiável entre dois dispositivos adjacentes numa rede (comunicação ponto-a-ponto)
  10. 10. Cria quadros para transporte da informação
  11. 11. Estabelece os limites de um quadro (enquadramento)
  12. 12. Estabelece a comunicação e gerencia o link de comunicação ponto-a-ponto
  13. 13. Detecta erros com quadros perdidos, danificados e duplicados, e age de acordo </li></ul>
  14. 14. Camada de Enlace de Dados <ul><li>Controle de fluxo de quadros
  15. 15. Controle na sequência dos quadros
  16. 16. Controla o acesso ao meio de transmissão compartilhado (MAC – Medium Access Control )
  17. 17. Alguns destes mecanismos destes também podem ser implementados na camada de transporte , mas a nível fim-a-fim em toda a rede </li></ul>
  18. 18. Enquadramento <ul><li>A camada física somente garante o envio de bits sobre a linha de comunicação
  19. 19. Para executar detecção de erros e controle de fluxo, a camada de enlace agrupa os bits enviados em quadros definidos
  20. 20. Cabe à camada de enlace saber onde começam e terminam os quadros ( frames ) </li></ul>
  21. 21. Enquadramento <ul><li>Como delimitar estes quadros? </li><ul><li>“ Time-gap ”
  22. 22. Contador de caracteres no cabeçalho
  23. 23. Delimitadores explícitos </li></ul></ul><ul><ul><ul><li>caracter: sequências DLE-STX e DLE-ETX com Caracter-stuffing
  24. 24. Bits: sequências 01111110 com Bit-stuffing </li></ul></ul></ul><ul><ul><li>Violações de código da camada física </li></ul></ul>
  25. 25. Enquadramento: Contador de Caracteres Um campo no cabeçalho do quadro indica quantos carateres existem neste quadro
  26. 26. Enquadramento: Delimitadores explícitos Delimitadores explicitamente indicam o início e fim do quadro através de uma sequência pré-definida Delimitadores de quadro (caracteres especiais)
  27. 27. Criação do Quadro ( Frame ) Camada de Rede Camada de Enlace de Dados
  28. 28. Stuffing <ul><li>Caracter-stuffing </li></ul><ul><li>Bit-stuffing </li></ul>
  29. 29. Exemplo: Caracter Stuffing PPP DLE DLE ETX DLE I am a jerk trying to DLE crash your network! ETX STX DLE DLE DLE ETX DLE DLE DLE ETX
  30. 30. Exemplo: Bit Stuffing HDLC
  31. 31. Transmissão com erros e perdas de quadros
  32. 32. Controle de Fluxo <ul><li>Assegura que uma entidade transmissora não afogue uma entidade receptora com dados (diferentes taxas de transmissão e recepção)
  33. 33. Os protocolos estabelecem quando se pode transmitir quadros
  34. 34. Estabelecimento de uma disciplina de comunicação </li></ul>
  35. 35. Controle de Erros <ul><li>Nenhum link físico é perfeito e imune a falhas e erros
  36. 36. Bits podem ser corrompidos
  37. 37. Podemos detectar erros e tentar corrigi-los ou pedir retransmissão
  38. 38. Normalmente códigos que permitem detecção e correção de erros oneram muito o protocolo de enlace que os implementam
  39. 39. Opção comum: pedir retransmissão de quadros danificados ou ausentes </li></ul>
  40. 40. Controle de Erros <ul><li>Um quadro é inútil se teve bits alterados: </li><ul><li>Checagem de paridade - detecção de erros em apenas 1 bit, alto overhead (1 bit de paridade para cada byte = 12,5%)
  41. 41. Códigos Polinomiais – Ex.: CRC ( Cyclic Redundancy Check ) – efetua operações matemáticas para detectar erros em rajadas - mais eficiente! </li></ul><li>Ou foi perdido: </li><ul><li>Mecanismos de controle (ARQ – Automatic Repeat Request ): </li><ul><li>Confirmação positiva ( ack )
  42. 42. Retransmissão depois de Timeout
  43. 43. Retransmissão depois de confirmação negativa ( nack ) </li></ul></ul></ul>
  44. 44. Controle de Erros: Paridade Mensagem Bit de Paridade 0 0 1 1 1 (ímpar) 1 0 0 0 0 (ímpar) 0 1 0 1 0 (par) 1 0 0 0 1 (par)
  45. 45. CRC <ul><li>Usam um polinômio padrão G de ordem r definido para executar uma operação matemática sobre os dados </li></ul>CRC-12: x 12 + x 11 + x 3 + x 2 + x 1 + 1 CRC-16: x 16 + x 15 + x 2 + 1 CRC-CCITT: x 16 + x 12 + x 5 + 1 <ul><li>Cálculo: sobre m bits de informação da mensagem M se insere r bits zero ao final gerando x r M
  46. 46. Divide-se x r M pelo polinômio G gerando um número e um resto – ( x r M/G = num + resto, n )
  47. 47. Transmite-se T=x r M - n ( = mensagem e CRC ao final )
  48. 48. Na recepção, divide-se T por G . Este resultado deve dar um resto igual a zero. Resto [ T/G ]=0 </li></ul>
  49. 49. CRC <ul><li>O cálculo na recepção é imediato logo que se receba a mensagem
  50. 50. Por este motivo, os CRC's são colocados ao final da mensagem
  51. 51. Quanto maior o polinômio (ordem) menor é probabilidade de erros não serem descobertos pelo teste
  52. 52. Polinômios de ordem r detectam erros em rajadas de comprimento até r bits
  53. 53. Implicam em baixo overhead
  54. 54. Fácil implementação em hardware </li></ul>
  55. 55. CRC
  56. 56. Protocolo Stop-and-Wait Ineficiente, principalmente para longas distâncias e taxas altas de transmissão
  57. 57. Stop-and-Wait – O que acontece se uma mensagem ou ACK não chegar? Dados ACK ? Tempo
  58. 58. Stop-and-Wait – Quadros Duplicados na Recepção Compre 10 Pikachus! Tempo Expirado Onde está o ACK? ACK Comprar 20? Compre 10 Pikachus! Tempo
  59. 59. Stop-and-Wait – Uso de Números de Sequência Timed Out ACK 1 1 1
  60. 60. Exemplo: Stop-and-Wait Neste exemplo, um quadro é confirmado através de um ACK com o número do próximo esperado (o quadro de número 0 é confirmado por um ACK de número 1 - ACK1)
  61. 61. Protocolos de Janela Deslizante <ul><li>Melhor utilização da banda
  62. 62. Utilização do recurso de piggyback (poucos bits a mais no cabeçalho)
  63. 63. A idéia básica é manter números de sequência que indicarão quais quadros poderão ser enviados e quais ainda não (conceito de janela de transmissão) </li></ul>
  64. 64. Protocolos de Janela Deslizante <ul><li>Número de Sequência : cada quadro possui um número sequencial que é incrementado a cada novo quadro criado e enviado
  65. 65. Janela de Transmissão : mantém os números de sequência e quadros já enviados porém ainda não confirmados
  66. 66. Janela de Recepção : mantém os números de sequência para quadros que se permite receber
  67. 67. Tamanho da Janela de Transmissão : é o número máximo de quadros que se pode transmistir sem receber confirmações do receptor
  68. 68. Tamanho da Janela de Recepção : é o número máximo de quadros que se pode receber antes do envio de uma confirmação ao transmissor </li></ul>
  69. 69. Exemplo: Protocolos de Janela Deslizante
  70. 70. Protocolo de Janela Deslizante de Tamanho 1 (n. sequência, n. ACK, n. quadro)
  71. 71. Protocolo de Janela Deslizante de Tamanho 1 (Problema com os timeouts )
  72. 72. Janela Deslizante
  73. 73. Janela Deslizante
  74. 74. Protocolos de Janela Deslizante <ul><li>As janelas de recepção e transmissão não necessariamente possuem os mesmos limites
  75. 75. Os números de sequência que estão dentro da janela de recepção são os quadros que o destino recebeu mas não confirmou ainda
  76. 76. Qualquer quadro recebido com numeração fora da janela de recepção é descartado
  77. 77. Tamanho máximo da janela de transmissão implica no tamanho de memória ( buffers ) na transmissão
  78. 78. Piggybacking - Como os links de comunicaçao normalmente estão em configuração full-duplex podemos usar o tráfego que está vindo para “transportar” ACK’s do outro lado para confirmar o tráfego que está “indo” </li></ul>
  79. 79. Protocolos de Janela Deslizante <ul><li>Tamanhos maiores da janela aumentam a eficiência quando o atraso de propagação é grande (evita que o canal fique ocioso por muito tempo)
  80. 80. “ Pipelining ” – técnica de enviar vários quadros dentro da janela de transmissão (maior que 1 claro!), aproveitando melhor a banda do canal
  81. 81. Problema: o que fazer quando uns dos quadros da sequência é perdido? </li></ul>
  82. 82. Erros!!! Duas estratégias para retransmissão de quadros em protocolos de janelas deslizantes: <ul><ul><li>Go-back-N : pede-se a retransmissão de todos os quadros desde o de número N
  83. 83. Selective-repeat : pede somente a retransmissão dos quadros que não chegaram. Aproveita-se quadros que foram recebidos com sucesso mesmo que fora de sua ordem </li></ul></ul>
  84. 84. Go-Back-N com Janela de Rx igual a 1 <ul><li>Se houver falha em algum dos quadros, todos a partir dele devem ser reenviados
  85. 85. Se a taxa de erros é alta, muita banda é disperdiçada </li></ul>
  86. 86. Go Back n 0 0 1 1 2 3 4 2 3 2 4 5 6 3 4 5 6
  87. 87. Selective Repeat <ul><li>Se houver falha em algum dos quadros, somente o quadro falho é reenviado
  88. 88. Janela de recepção de tamanho maior que 1
  89. 89. Utiliza muita memória para armazenar todos os quadros recebidos corretamente, e processamento adicional para reenviar quadros selecionados e reinseri-los na posição correta </li></ul>
  90. 90. Selective Repeat 0 0 1 1 2 3 4 2 5 2 6 5 6 3 4
  91. 91. Protocolos de Janela Deslizante e Estratégias de Retransmissão
  92. 92. Protocolos de Janela Deslizante - Observações <ul><li>A faixa de números de sequência deve ser bem maior que o tamanho da janela de transmissão para evitar ambiguidades
  93. 93. O receptor deverá ter um número de buffers e timers igual ao tamanho de sua janela
  94. 94. Envio de naks – confirmações negativas – indicam que determinado quadro NÃO chegou - controle de erros mais sofisticado </li></ul>
  95. 95. Redes Ponto-a-Ponto <ul><li>Há muito tempo muitas topologias são baseadas em redes ponto-a-ponto (por exemplo – interfaces RS232)
  96. 96. A maior parte da infra-estrutura de WAN na Internet é baseada em enlaces distantes ponto-a-ponto
  97. 97. Milhares de pessoas se conectam em redes (não somente a Internet) usando um modem e uma linha dial-up numa típica configuração de rede ponto-a-ponto </li></ul>
  98. 98. Camada de Enlace de Dados
  99. 99. Protocolos de Enlace de Dados (Comunicação Ponto-a-Ponto) <ul><li>HDLC – Baseado no SDLC desenvolvido pela IBM para sua arquitetura SNA (Mainframes) e serviu de base para muitos dos protocolos de enlace ponto-a-ponto
  100. 100. SLIP – Pioneiro e muito simples
  101. 101. PPP – Desenvolvido pelo IETF em resposta aos problemas apresentados pelo SLIP </li></ul>
  102. 102. SDLC <ul><li>Configuração básica de uma rede SDLC (Mainframe IBM) </li></ul>
  103. 103. HDLC - High-level Data Link Control <ul><li>Padrão ISO (3009 e 4335)
  104. 104. Versões adaptadas do ITU-T (LAP e LAP-B X.25) e IEEE (802.2) além de outras versões
  105. 105. Orientado a bits
  106. 106. Pode ser usado em links half e full-duplex e em redes comutadas por circuitos ou por pacotes
  107. 107. Define estações primárias (envia comandos), secundárias (responde a comandos) e combinadas (dupla função)
  108. 108. Topologias possíveis: Ponto a ponto (primária e secundária)e multiponto (1 primária e várias secundárias) </li></ul>
  109. 109. HDLC <ul><li>Preâmbulo - fixos no início e fim do quadro usando bit stuffing. São transmitidos continuamente, mesmo se não há nada a transmitir
  110. 110. Endereço – é o endereço do secundário, são usados quando existem linhas com múltiplos terminais
  111. 111. Controle – controle de fluxo e erros
  112. 112. Checksum – pode ser acertado um checksum de 32 bits também </li></ul>
  113. 113. Operação do HDLC <ul><li>O protocolo utiliza um algoritmo de janela deslizante de tamanho 3 bits (0 a 7)
  114. 114. As confirmações são feitas por piggybacking indicando o número esperado do próximo quadro esperado (campo control )
  115. 115. Existem 3 tipo de quadros diferentes (o campo control é diferente para cada um): </li><ul><li>Information
  116. 116. Supervisory
  117. 117. Unnumbered </li></ul></ul>
  118. 118. Quadros HDLC – Campo Control Information : dados (piggybacking de controle de fluxo e erros) – P/F: resposta imediata exigida pela primária (P) ou último quadro da resposta da secundária (F) Supervisory (usado quando não houver piggybacking) : vários tipos: 0–ACK, 1-NACK, 2- Receive Not Ready , 3– Selective Reject Unnumbered : controle do protocolo (define modos de operação, inicialização do enlace, reset, desconexão, etc)
  119. 119. SLIP - Serial Line IP <ul><li>Simples
  120. 120. Desenvolvido para interconectar estações SUN à Internet
  121. 121. Basicamente são enviados pacotes IP delimitados por um caracter especial ( flag byte )
  122. 122. Suporta somente IP e deve saber previamente os endereços IP de cada lado
  123. 123. Não é um padrão Internet (muitas versões distintas) </li></ul>
  124. 124. PPP – Point-to-Point Protocol <ul><li>Existência de muitos links ponto-a-ponto IP - demanda feita ao IETF, padronizado na RFC 1661
  125. 125. Orientado a caracter
  126. 126. Usado tanto em linhas dial-up como em enlaces entre roteadores – envio de datagramas sobre links ponto a ponto
  127. 127. Oferece: </li></ul><ul><ul><li>Encapsulamento síncrono e assíncrono (mesmo do HDLC)
  128. 128. Compressão de cabeçalhos de camada 3
  129. 129. Suporta múltiplos protocolos de rede e multiplexação deles
  130. 130. Negociação de opções a nível de link físico e de camada 3 </li></ul></ul>
  131. 131. Formato do Quadro PPP <ul><li>Byte flag – character stuffing (01111110)
  132. 132. Endereço – fixo, não prevê endereços de enlace
  133. 133. Controle – por default , não faz controle de erros e fluxo. Pode fazer se houver acordo, usando este campo
  134. 134. Protocolo – código que identifica o protocolo sendo transportado na área de dados
  135. 135. Checksum – FCS ( Frame Check Sequence ) </li></ul>
  136. 136. Caracter Stuffing PPP
  137. 137. PPP – Point-to-Point Protocol <ul><li>Dois componentes básicos
  138. 138. LCP – Link Control Protocol </li><ul><li>Possui quadros de formato próprio negociados e explicitamente indicados (tipos: estabelecimento, terminação e manutenção)
  139. 139. Único – estabelece, configura e testa a conexão de enlace
  140. 140. Possui mecanismos para a negociação de parâmetros PPP
  141. 141. Tem funções de teste de qualidade do link
  142. 142. Desfaz conexões desnecessárias </li></ul><li>NCP – Network Control Protocol </li><ul><li>Vários para os vários tipos de protocolos de rede que PPP suporta (IP – “IPCP - IP Control Protocol ”, IPX, etc)
  143. 143. Específico do protocolo de rede sendo usado
  144. 144. Negociação de parâmetros específicos do protocolo de rede </li></ul></ul>
  145. 145. Exemplo: Linhas Dial-up
  146. 146. Outros Protocolos de Enlace <ul><li>LAPB – muito semelhante ao HDLC (mesmo formato de quadro) e usado pelo ITU-T como parte do padrão X.25
  147. 147. LAPD – usado pelo ITU-T no padrão para ISDN (canal D de 16 kbps)
  148. 148. LAPF – usado no padrão Frame Relay (rede de pacotes de alta velocidade)
  149. 149. IEEE 802.2 – usado com LAN's IEEE 802
  150. 150. ATM – rede de alta-velocidade baseada em quadros de tamanho fixo (células). Funções de camada de enlace próprias e mescladas com funçoes de outras camadas </li></ul>
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×