8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
1/58
Camada de Enlace deDados - LLC
Prof. Mauro Tapajs
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
2/58
Problemas para a Camada deEnlace
Erros nos circuitos de comunicao
Atraso de propagao entre emissor ereceptor
Taxa de transmisso real finita
Distores no sinal ao percorrer o meio
Reconhecimento do destino desejado (saber odestino da comunicao)
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
3/58
Camada de Enlace
ApplicationLayer
PresentationLayer
SessionLayer
TransportLayer
NetworkLayer
Data LinkLayer
PhysicalLayer
Application Protocol
Transport Protocol
Presentation Protocol
Session Protocol
Host A Host B
ApplicationLayer
PresentationLayer
SessionLayer
TransportLayer
NetworkLayer
Data LinkLayer
PhysicalLayer
NetworkLayer
Data LinkLayer
PhysicalLayer
NetworkLayer
Data LinkLayer
PhysicalLayer
Router Router
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
4/58
Escopo da Camada de Enlace
de Dados
Comunicao confivel com o vizinho dentro de uma mesmatecnologia de rede
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
5/58
Camada de Enlace de Dados
Comunicao confivel entre dois dispositivosadjacentes numa rede (comunicao ponto-a-ponto)
Cria quadros para transporte da informao
Estabelece os limites de um quadro (enquadramento)
Estabelece a comunicao e gerencia o linkdecomunicao ponto-a-ponto
Detecta erros com quadros perdidos, danificados eduplicados, e age de acordo
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
6/58
Camada de Enlace de Dados
Controle de fluxo de quadros
Controle na sequncia dos quadros
Controla o acesso ao meio de transmisso
compartilhado (MAC Medium Access Control)
Alguns destes mecanismos destes tambm podem
ser implementados na camada de transporte, mas a
nvel fim-a-fim em toda a rede
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
7/58
Enquadramento
A camada fsica somente garante o envio de bits
sobre a linha de comunicao
Para executar deteco de erros e controle defluxo, a camada de enlace agrupa os bits
enviados em quadros definidosCabe camada de enlace saber onde comeame terminam os quadros (frames)
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
8/58
Enquadramento
Como delimitar estes quadros?
Time-gap
Contador de caracteres no cabealho
Delimitadores explcitos
caracter: sequncias DLE-STX e DLE-ETX
com Caracter-stuffing
Bits: sequncias 01111110 com Bit-stuffing
Violaes de cdigo da camada fsica
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
9/58
Enquadramento: Contador deCaracteres
Um campo no cabealho do quadro indicaquantos carateres existem neste quadro
Campo de controle indicando nmero de caracteres
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
10/58
Enquadramento:Delimitadores explcitos
Delimitadores explicitamente indicam o incio efim do quadro atravs de uma sequncia pr-definida
Delimitadores de quadro (caracteres especiais)
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
11/58
Criao do Quadro (Frame)
Camada de Rede
Camada de Enlace de Dados
Mapeamento um para um
Informao de controle (cabealho)
PDU de camada de rede (pacote)
Delimitao dos extremos do Quadro
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
12/58
Stuffing
Caracter-stuffing
Bit-stuffing
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
13/58
Exemplo: Caracter Stuffing
PPP
DLEI am a jerk trying to DLE crash your network!ETX
DLEI am a jerk trying to DLE crash your network!ETXSTXDLE DLE DLE ETXDLE
DLEI am a jerk trying to DLE crash your network!ETX
Delimitao e Caracter Stuffing
Retirada dos delimitadores e Caracter Unstuffing
Dados originais a serem transmitidos
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
14/58
Exemplo: Bit Stuffing HDLC
Delimitao e Bit Stuffing
Retirada dos delimitadores e Bit Unstuffing
00110010111111100010100
0111111000110010111110110001010001111110
00110010111111100010100
Sequncia de bits original
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
15/58
Transmissocom erros eperdas de
quadros
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
16/58
Controle de Fluxo
Assegura que uma entidade transmissora no
afogue uma entidade receptora com dados
(diferentes taxas de transmisso e recepo)
Os protocolos estabelecem quando se pode
transmitir quadros
Estabelecimento de uma disciplina de
comunicao
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
17/58
Controle de Erros
Nenhum link fsico perfeito e imune a falhas e erros
Bits podem ser corrompidos
Podemos detectar erros e tentar corrigi-los ou pedir
retransmisso
Normalmente cdigos que permitem deteco e
correo de erros oneram muito o protocolo deenlace que os implementam
Opo comum: pedir retransmisso de quadros
danificados ou ausentes
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
18/58
Controle de Erros
Um quadro intil se teve bits alterados:
Checagem de paridade - deteco de erros em apenas 1 bit,alto overhead(1 bit de paridade para cada byte = 12,5%)
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)
Retransmisso depois de Timeout
Retransmisso depois de confirmao negativa (nack)
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
19/58
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)
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
20/58
CRC
Usam um polinmio padro G de ordem r definido paraexecutar uma operao matemtica sobre os dados
CRC-12: x12 + x11 + x3 + x2 + x1 + 1CRC-16: x16 + x15 + x2 + 1CRC-CCITT: x16 + x12 + x5 + 1
Clculo: sobre m bits de informao da mensagem Mse insere r bits zero ao final gerando xrM
Divide-se xr
M pelo polinmio G gerando um nmero eum resto (xrM/G = num + resto, n)
Transmite-se T=xrM - n ( = mensagem e CRC ao final )
Na recepo, divide-se T por G. Este resultado deve dar
um resto igual a zero. Resto [ T/G ]=0
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
21/58
CRC
O clculo na recepo imediato logo que sereceba a mensagem
Por este motivo, os CRC's so colocados ao final
da mensagemQuanto maior o polinmio (ordem) menor probabilidade de erros no serem descobertospelo teste
Polinmios de ordem r detectam erros em rajadasde comprimento at r bits
Implicam em baixo overhead
Fcil implementao em hardware
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
22/58
CRC
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
23/58
ProtocoloStop-and-
Wait
Ineficiente,
principalmente paralongas distncias e
taxas altas detransmisso
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
24/58
Stop-and-Wait O que acontece se uma
mensagem ou ACK no chegar?Dados
ACK
?
Tempo
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
25/58
Stop-and-Wait Quadros Duplicados na
RecepoCompre 10 Pikachus!
TempoExpirado
Onde est o ACK?
ACK
Comprar 20?Compre 10 Pikachus!
Tempo
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
26/58
Stop-and-Wait Uso de Nmeros deSequncia
TimedOut
Dados
ACK
Duplicata!
Dados
1
1
1
Onde est o ACK?
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
27/58
Exemplo:Stop-and-Wait
Neste exemplo, umquadro confirmadoatravs de um ACKcom o nmero doprximo esperado (o
quadro de nmero 0 confirmado por umACK de nmero 1 -ACK1)
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
28/58
Protocolos de Janela
DeslizanteMelhor utilizao da banda
Utilizao do recurso depiggyback(poucosbits a mais no cabealho)
A idia bsica manter nmeros de
sequncia que indicaro quais quadrospodero ser enviados e quais ainda no
(conceito de janela de transmisso)
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
29/58
Protocolos de Janela
DeslizanteNmero de Sequncia: cada quadro possui umnmero sequencial que incrementado a cada novoquadro criado e enviado
Janela de Transmisso: mantm os nmeros desequncia e quadros j enviados porm ainda noconfirmados
Janela de Recepo: mantm os nmeros desequncia para quadros que se permite receber
Tamanho da Janela de Transmisso: o nmeromximo de quadros que se pode transmistir semreceber confirmaes do receptor
Tamanho da Janela de Recepo: o nmeromximo de quadros que se pode receber antes doenvio de uma confirmao ao transmissor
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
30/58
Exemplo: Protocolos de Janela
Deslizante
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
31/58
Protocolo de Janela Deslizante de
Tamanho 1
(n. sequncia, n. ACK, n. quadro)
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
32/58
Protocolo de Janela Deslizante deTamanho 1 (Problema com os
timeouts)
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
33/58
Janela Deslizante
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
34/58
Janela Deslizante
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
35/58
Protocolos de Janela
DeslizanteAs janelas de recepo e transmisso no necessariamentepossuem os mesmos limites
Os nmeros de sequncia que esto dentro da janela de
recepo so os quadros que o destino recebeu mas noconfirmou ainda
Qualquer quadro recebido com numerao fora da janela derecepo descartado
Tamanho mximo da janela de transmisso implica notamanho de memria (buffers) na transmisso
Piggybacking - Como os links de comunicaao normalmenteesto em configurao full-duplex podemos usar o trfegoque est vindo para transportar ACKs do outro lado paraconfirmar o trfego que est indo
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
36/58
Protocolos de Janela Deslizante
Tamanhos maiores da janela aumentam aeficincia quando o atraso de propagao
grande (evita que o canal fique ocioso por muitotempo)
Pipelining tcnica de enviar vrios quadros
dentro da janela de transmisso (maior que 1claro!), aproveitando melhor a banda do canal
Problema: o que fazer quando uns dos quadrosda sequncia perdido?
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
37/58
Erros!!!
Duas estratgias para retransmisso dequadros em protocolos de janelas
deslizantes:Go-back-N : pede-se a retransmisso detodos os quadros desde o de nmero N
Selective-repeat: pede somente aretransmisso dos quadros que nochegaram. Aproveita-se quadros que foramrecebidos com sucesso mesmo que fora desua ordem
G B k N
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
38/58
Go-Back-N comJanela de Rx igual a
1Se houver falha em algum dos quadros, todos a partirdele devem ser reenviados
Se a taxa de erros alta, muita banda disperdiada
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
39/58
Go Back n
Descartado peloreceptor
Quadro comerro!
Intervalo de timeout
Tempo
Transmissor
Receptor
Tamanho de JanelaMximo = 8
Tamanho de Janela
Mximo = 8
0
0 1
1
ACK1
2
E
3
D
4
D
2 3
2
ACK2
4 5 6
3 4 5
ACK5
6
ACK6
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
40/58
Selective Repeat
Se houver falha em algum dos quadros, somente o
quadro falho reenviadoJanela de recepo de tamanho maior que 1
Utiliza muita memria para armazenar todos os quadrosrecebidos corretamente, e processamento adicional parareenviar quadros selecionados e reinseri-los na posio
correta
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
41/58
Selective Repeat
Armazenado peloreceptor
Quadro comerro!
Intervalo de timeout
Tempo
Transmissor
Receptor
Tamanho Mximo
de janela = 8
Tamanho Mximo
de janela= 8
0
0 1
1
ACK
1
2
E
3 4 2 5
2
ACK
4
6
5
ACK
5
6
ACK
6
3 4
ACK
1
ACK
1
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
42/58
Protocolos de
JanelaDeslizante eEstratgias deRetransmisso
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
43/58
Protocolos de Janela
Deslizante - ObservaesA faixa de nmeros de sequncia deve serbem maior que o tamanho da janela de
transmisso para evitar ambiguidades
O receptor dever ter um nmero de bufferse timers igual ao tamanho de sua janela
Envio de naks confirmaes negativas indicam que determinado quadro NOchegou - controle de erros mais sofisticado
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
44/58
Redes Ponto-a-PontoH muito tempo muitas topologias so baseadasem redes ponto-a-ponto (por exemplo interfaces RS232)
A maior parte da infra-estrutura de WAN naInternet baseada em enlaces distantes ponto-a-ponto
Milhares de pessoas se conectam em redes (nosomente a Internet) usando um modem e umalinha dial-up numa tpica configurao de redeponto-a-ponto
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
45/58
Camada de Enlace de Dados
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
46/58
Protocolos de Enlace de Dados
(Comunicao Ponto-a-Ponto)
HDLC Baseado no SDLC desenvolvido pela
IBM para sua arquitetura SNA (Mainframes) eserviu de base para muitos dos protocolos deenlace ponto-a-ponto
SLIP Pioneiro e muito simplesPPP Desenvolvido pelo IETF em resposta aos
problemas apresentados pelo SLIP
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
47/58
SDLC
Configurao bsicade uma rede SDLC(Mainframe IBM)
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
48/58
HDLC - High-level Data Link
ControlPadro ISO (3009 e 4335)
Verses adaptadas do ITU-T (LAP e LAP-B X.25) e IEEE(802.2) alm de outras verses
Orientado a bits
Pode ser usado em links halfe full-duplexe em redescomutadas por circuitos ou por pacotes
Define estaes primrias (envia comandos),secundrias (responde a comandos) e combinadas(dupla funo)
Topologias possveis: Ponto a ponto (primria esecundria)e multiponto (1 primria e vrias
secundrias)
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
49/58
HDLC
Prembulo - fixos no incio e fim do quadro usando bitstuffing. So transmitidos continuamente, mesmo seno h nada a transmitir
Endereo o endereo do secundrio, so usados
quando existem linhas com mltiplos terminais
Controle controle de fluxo e erros
Checksum pode ser acertado um checksum de 32
bits tambm
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
50/58
Operao do HDLC
O protocolo utiliza um algoritmo de janeladeslizante de tamanho 3 bits (0 a 7)
As confirmaes so feitas porpiggybacking
indicando o nmero esperado do prximo quadroesperado (campo control)
Existem 3 tipo de quadros diferentes (o campo
control diferente para cada um):Information
Supervisory
Unnumbered
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
51/58
Quadros HDLC Campo Control
Information : dados (piggybacking de controle de fluxo e erros) P/F: respostaimediata 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, 3Selective Reject
Unnumbered: controle do protocolo (define modos de operao, inicializao do
enlace, reset, desconexo, etc)
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
52/58
SLIP - Serial Line IP
Simples
Desenvolvido para interconectar estaes SUN
Internet
Basicamente so enviados pacotes IPdelimitados por um caracter especial (flag byte)
Suporta somente IP e deve saber previamenteos endereos IP de cada lado
No um padro Internet (muitas verses
distintas)
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
53/58
PPP Point-to-Point Protocol
Existncia de muitos links ponto-a-ponto IP - demandafeita ao IETF, padronizado na RFC 1661
Orientado a caracter
Usado tanto em linhas dial-up como em enlaces entreroteadores envio de datagramas sobre links ponto a
ponto
Oferece:
- Encapsulamento sncrono e assncrono (mesmo do HDLC)
- Compresso de cabealhos de camada 3
- Suporta mltiplos protocolos de rede e multiplexao deles
- Negociao de opes a nvel de link fsico e de camada 3
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
54/58
Formato do Quadro PPP
Byte flag character stuffing (01111110)
Endereo fixo, no prev endereos de enlace
Controle por default, no faz controle de erros e
fluxo. Pode fazer se houver acordo, usando este campoProtocolo cdigo que identifica o protocolo sendotransportado na rea de dados
Checksum FCS (Frame Check Sequence)
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
55/58
Caracter Stuffing PPP
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
56/58
PPP Point-to-Point Protocol
Dois componentes bsicos
LCP Link Control Protocol
Possui quadros de formato prprio negociados e explicitamenteindicados (tipos: estabelecimento, terminao e manuteno)
nico estabelece, configura e testa a conexo de enlace
Possui mecanismos para a negociao de parmetros PPP
Tem funes de teste de qualidade do link
Desfaz conexes desnecessrias
NCP Network Control Protocol
Vrios para os vrios tipos de protocolos de rede que PPPsuporta (IP IPCP - IP Control Protocol, IPX, etc)
Especfico do protocolo de rede sendo usado
Negociao de parmetros especficos do protocolo de rede
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
57/58
Exemplo: Linhas Dial-up
8/3/2019 Redes I - 3 - Camada de Enlace Dados LLC
58/58
Outros Protocolos de Enlace
LAPB muito semelhante ao HDLC (mesmo formato de
quadro) e usado pelo ITU-T como parte do padro X.25
LAPD usado pelo ITU-T no padro para ISDN (canal D de
16 kbps)
LAPF usado no padro Frame Relay(rede de pacotes de
alta velocidade)
IEEE 802.2 usado com LAN's IEEE 802
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
Top Related