Redes I - 3.Camada de Enlace de Dados LLC

Embed Size (px)

Citation preview

  • 1. Camada de Enlace de Dados - LLC Prof. Mauro Tapajs

2. Problemas para a Camada de Enlace

  • Erros nos circuitos de comunicao 3. Atraso de propagao entre emissor e receptor 4. Taxa de transmisso real finita 5. Distores no sinal ao percorrer o meio 6. Reconhecimento do destino desejado (saber o destino da comunicao)

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. Escopo da Camada de Enlace de Dados Comunicao confivel com o vizinho dentro de uma mesma tecnologia de rede 9. Camada de Enlace de Dados

  • Comunicao confivel entre dois dispositivos adjacentes numa rede (comunicao ponto-a-ponto) 10. Cria quadros para transporte da informao 11. Estabelece os limites de um quadro (enquadramento) 12. Estabelece a comunicao e gerencia olinkde comunicao ponto-a-ponto 13. Detecta erros com quadros perdidos, danificados e duplicados, e age de acordo

14. Camada de Enlace de Dados

  • Controle de fluxo de quadros 15. Controle na sequncia dos quadros 16. Controla o acesso ao meio de transmisso compartilhado (MAC Medium Access Control ) 17. Alguns destes mecanismos destes tambm podem ser implementados nacamada de transporte , mas a nvel fim-a-fimem toda a rede

18. Enquadramento

  • A camada fsica somente garante o envio de bits sobre a linha de comunicao 19. Para executar deteco de erros e controle de fluxo, a camada de enlace agrupa os bits enviados em quadros definidos 20. Cabe camada de enlace saber onde comeam e terminam os quadros ( frames )

21. Enquadramento

  • Como delimitar estes quadros?
    • Time-gap 22. Contador de caracteres no cabealho 23. Delimitadores explcitos
      • caracter: sequncias DLE-STX e DLE-ETX comCaracter-stuffing 24. Bits: sequncias 01111110 comBit-stuffing
    • Violaes de cdigo da camada fsica

25. Enquadramento: Contador de Caracteres Um campo no cabealho do quadroindica quantos carateres existem neste quadro 26. Enquadramento: Delimitadores explcitos Delimitadores explicitamente indicam o incio e fim do quadro atravs de uma sequncia pr-definida Delimitadores de quadro (caracteres especiais) 27. Criao do Quadro ( Frame ) Camada de Rede Camada de Enlace de Dados 28. Stuffing

  • Caracter-stuffing
  • Bit-stuffing

29. Exemplo:Caracter Stuffing PPP DLE DLE ETX DLE I am ajerk trying toDLE crash your network!ETX STX DLE DLE DLE ETX DLE DLE DLE ETX 30. Exemplo:Bit Stuffing HDLC 31. Transmisso com erros e perdas de quadros 32. Controle de Fluxo

  • Assegura que uma entidade transmissora no afogue uma entidade receptora com dados (diferentes taxas de transmisso e recepo) 33. Os protocolos estabelecemquandose pode transmitir quadros 34. Estabelecimento de uma disciplina de comunicao

35. Controle de Erros

  • Nenhum link fsico perfeito e imune a falhas e erros 36. Bits podem ser corrompidos 37. Podemos detectar erros e tentar corrigi-los ou pedir retransmisso 38. Normalmente cdigos que permitem deteco e correo de erros oneram muito o protocolo de enlace que os implementam 39. Opo comum: pedir retransmisso de quadros danificados ou ausentes

40. Controle de Erros

  • Um quadro intil se teve bits alterados:
    • Checagem de paridade- deteco de erros em apenas 1 bit, altooverhead(1 bit de paridade para cada byte = 12,5%) 41. Cdigos Polinomiais Ex.: CRC ( Cyclic Redundancy Check ) efetua operaes matemticas para detectar erros em rajadas - mais eficiente!
  • Ou foi perdido:
    • Mecanismos de controle(ARQ Automatic Repeat Request ):
      • Confirmao positiva ( ack ) 42. Retransmisso depois deTimeout 43. Retransmisso depois de confirmao negativa ( nack )

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. CRC

  • Usam um polinmio padroGde ordemrdefinido para executar uma operao matemtica sobre os dados

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

  • Clculo: sobrembits de informao da mensagemMse insererbits zero ao final gerandox r M 46. Divide-sex r Mpelo polinmioGgerando um nmero e um resto ( x r M/G = num + resto, n ) 47. Transmite-seT=x r M - n( = mensagem e CRC ao final ) 48. Na recepo, divide-seTporG . Este resultado deve dar um resto igual a zero. Resto [T/G]=0

49. CRC

  • O clculo na recepo imediato logo que se receba a mensagem 50. Por este motivo, os CRC's so colocados ao final da mensagem 51. Quanto maior o polinmio (ordem) menor probabilidade de erros no serem descobertos pelo teste 52. Polinmios de ordemrdetectam erros em rajadas de comprimento atrbits 53. Implicam em baixooverhead 54. Fcil implementao em hardware

55. CRC 56. ProtocoloStop-and-Wait Ineficiente, principalmente para longas distncias e taxas altas de transmisso 57. Stop-and-Wait O que acontece se uma mensagem ou ACK no chegar? Dados ACK ? Tempo 58. Stop-and-Wait Quadros Duplicados na Recepo Compre 10 Pikachus! Tempo Expirado Onde est o ACK? ACK Comprar 20? Compre 10 Pikachus! Tempo 59. Stop-and-Wait Uso de Nmeros de Sequncia Timed Out ACK 1 1 1 60. Exemplo:Stop-and-Wait Neste exemplo, um quadro confirmado atravs de um ACK com o nmero do prximo esperado (o quadro de nmero 0 confirmado por um ACK de nmero 1 - ACK1) 61. Protocolos de Janela Deslizante

  • Melhor utilizao da banda 62. Utilizao do recurso depiggyback(poucos bits a mais no cabealho) 63. A idia bsica manter nmeros de sequncia que indicaro quais quadros podero ser enviados e quais ainda no (conceito de janela de transmisso)

64. Protocolos de Janela Deslizante

  • Nmero de Sequncia : cada quadro possui um nmero sequencial que incrementado a cada novo quadro criado e enviado 65. Janela de Transmisso : mantm os nmeros de sequncia e quadros j enviados porm ainda no confirmados 66. Janela de Recepo : mantm os nmeros de sequncia para quadros que se permite receber 67. Tamanho da Janela de Transmisso : o nmero mximo de quadros que se pode transmistir sem receber confirmaes do receptor 68. Tamanho da Janela de Recepo : o nmero mximo de quadros que se pode receber antes do envio de uma confirmao ao transmissor

69. Exemplo: Protocolos de Janela Deslizante 70. Protocolo de Janela Deslizante de Tamanho 1 (n. sequncia, n. ACK, n. quadro) 71. Protocolo de Janela Deslizante de Tamanho 1 (Problema com ostimeouts ) 72. Janela Deslizante 73. Janela Deslizante 74. Protocolos de Janela Deslizante

  • As janelas de recepo e transmisso no necessariamente possuem os mesmos limites 75. Os nmeros de sequncia que esto dentro da janela de recepo so os quadros que o destino recebeu mas no confirmou ainda 76. Qualquer quadro recebido com numerao fora da janela de recepo descartado 77. Tamanho mximo da janela de transmisso implica no tamanho de memria ( buffers ) na transmisso 78. Piggybacking- Como os links de comunicaao normalmente esto em configurao full-duplex podemos usar o trfego que est vindo para transportar ACKs do outro lado para confirmar o trfego que est indo

79. Protocolos de Janela Deslizante

  • Tamanhos maiores da janela aumentam a eficincia quando o atraso de propagao grande (evita que o canal fique ocioso por muito tempo) 80. Pipelining tcnica de enviar vrios quadros dentro da janela de transmisso (maior que 1 claro!), aproveitando melhor a banda do canal 81. Problema: o que fazer quando uns dos quadros da sequncia perdido?

82. Erros!!! Duas estratgias para retransmisso de quadros em protocolos de janelas deslizantes:

    • Go-back-N: pede-se a retransmisso de todos os quadros desde o de nmero N 83. Selective-repeat: pede somente a retransmisso dos quadros que no chegaram. Aproveita-se quadros que foram recebidos com sucesso mesmo que fora de sua ordem

84. Go-Back-N com Janela de Rx igual a 1

  • Se houver falha em algum dos quadros, todos a partir dele devem ser reenviados 85. Se a taxa de erros alta, muita banda disperdiada

86. Go Back n 0 0 1 1 2 3 4 2 3 2 4 5 6 3 4 5 6 87. Selective Repeat

  • Se houver falha em algum dos quadros, somente o quadro falho reenviado 88. Janela de recepo de tamanho maior que 1 89. Utiliza muita memria para armazenar todos os quadros recebidos corretamente, e processamento adicional para reenviar quadros selecionados e reinseri-los na posio correta

90. Selective Repeat 0 0 1 1 2 3 4 2 5 2 6 5 6 3 4 91. Protocolos de Janela Deslizante e Estratgias de Retransmisso 92. Protocolos de Janela Deslizante - Observaes

  • A faixa de nmeros de sequncia deve ser bem maior que o tamanho da janela de transmisso para evitar ambiguidades 93. O receptor dever ter um nmero de buffers e timers igual ao tamanho de sua janela 94. Envio denaks confirmaes negativas indicam que determinado quadro NO chegou - controle de erros mais sofisticado

95. Redes Ponto-a-Ponto

  • H muito tempo muitas topologias so baseadas em redes ponto-a-ponto (por exemplo interfaces RS232) 96. A maior parte da infra-estrutura de WAN na Internet baseada em enlaces distantes ponto-a-ponto 97. Milhares de pessoas se conectam em redes (no somente a Internet) usando um modem e uma linha dial-up numa tpica configurao de rede ponto-a-ponto

98. Camada de Enlace de Dados 99. Protocolos de Enlace de Dados (Comunicao Ponto-a-Ponto)

  • 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. SLIP Pioneiro e muito simples 101. PPP Desenvolvido pelo IETF em resposta aos problemas apresentados pelo SLIP

102. SDLC

  • Configurao bsica de uma rede SDLC (Mainframe IBM)

103. HDLC -High-level Data Link Control

  • Padro ISO (3009 e 4335) 104. Verses adaptadas do ITU-T (LAP e LAP-B X.25) e IEEE (802.2) alm de outras verses 105. Orientado a bits 106. Pode ser usado em linkshalfefull-duplexe em redes comutadas por circuitos ou por pacotes 107. Define estaes primrias (envia comandos), secundrias (responde a comandos) e combinadas (dupla funo) 108. Topologias possveis: Ponto a ponto (primria e secundria)e multiponto (1 primria e vrias secundrias)

109. HDLC

  • Prembulo- fixos no incio e fim do quadro usandobit stuffing.So transmitidos continuamente, mesmo se no h nada a transmitir 110. Endereo o endereo do secundrio, so usados quando existem linhas com mltiplos terminais 111. Controle controle de fluxo e erros 112. Checksum pode ser acertado um checksum de 32 bits tambm

113. Operao do HDLC

  • O protocolo utiliza um algoritmo de janela deslizante de tamanho 3 bits (0 a 7) 114. As confirmaes so feitas porpiggybackingindicando o nmero esperado do prximo quadro esperado (campocontrol ) 115. Existem 3 tipo de quadros diferentes (o campocontrol diferente para cada um):
    • Information 116. Supervisory 117. Unnumbered

118. Quadros HDLC CampoControl Information: dados (piggybacking de controle de fluxo e erros) P/F: resposta imediata exigida pela primria (P) ou ltimo quadro da resposta da secundria (F) Supervisory(usado quando no houver piggybacking) : vrios tipos: 0ACK, 1-NACK, 2- Receive Not Ready , 3 Selective Reject Unnumbered: controle do protocolo (define modos de operao, inicializao do enlace, reset, desconexo, etc) 119. SLIP -Serial Line IP

  • Simples 120. Desenvolvido para interconectar estaes SUN Internet 121. Basicamente so enviados pacotes IP delimitados por um caracter especial ( flag byte ) 122. Suporta somente IP e deve saber previamente os endereos IP de cada lado 123. No um padro Internet (muitas verses distintas)

124. PPP Point-to-Point Protocol

  • Existncia de muitos links ponto-a-ponto IP - demanda feita ao IETF, padronizado na RFC 1661 125. Orientado a caracter 126. Usado tanto em linhasdial-upcomo em enlaces entre roteadores envio de datagramas sobre links ponto a ponto 127. Oferece:
    • Encapsulamento sncrono e assncrono (mesmo do HDLC) 128. Compresso de cabealhos de camada 3 129. Suporta mltiplos protocolos de rede e multiplexao deles 130. Negociao de opes a nvel de link fsico e de camada 3

131. Formato do Quadro PPP

  • Byte flagcharacter stuffing(01111110) 132. Endereo fixo, no prev endereos de enlace 133. Controle pordefault , no faz controle de erros e fluxo. Pode fazer se houver acordo, usando este campo 134. Protocolo cdigo que identifica o protocolo sendo transportado na rea de dados 135. Checksum FCS ( Frame Check Sequence )

136. Caracter Stuffing PPP 137. PPP Point-to-Point Protocol

  • Dois componentes bsicos 138. LCP Link Control Protocol
    • Possui quadros de formato prprio negociados e explicitamente indicados (tipos: estabelecimento, terminao e manuteno) 139. nico estabelece, configura e testa a conexo de enlace 140. Possui mecanismos para a negociao de parmetros PPP 141. Tem funes de teste de qualidade do link 142. Desfaz conexes desnecessrias
  • NCP Network Control Protocol
    • Vrios para os vrios tipos de protocolos de rede que PPP suporta (IP IPCP -IP Control Protocol , IPX, etc) 143. Especfico do protocolo de rede sendo usado 144. Negociao de parmetros especficos do protocolo de rede

145. Exemplo: LinhasDial-up 146. Outros Protocolos de Enlace

  • LAPB muito semelhante ao HDLC (mesmo formato de quadro) e usado pelo ITU-T como parte do padro X.25 147. LAPD usado pelo ITU-T no padro para ISDN (canal D de 16 kbps) 148. LAPF usado no padroFrame Relay(rede de pacotes de alta velocidade) 149. IEEE 802.2 usado com LAN's IEEE 802 150. ATM rede de alta-velocidade baseada em quadros de tamanho fixo (clulas). Funes de camada de enlace prprias e mescladas com funoes de outras camadas