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