Vous êtes sur la page 1sur 56

Universidade Federal de Ouro Preto

A Camada de Enlace

Referncias:
- Redes de Computadores. A. S. Tanenbaum. Campus/Elsevier, 2003 - Sees 3.1 e 3.2 - Redes de Computadores e a Internet. J. Kurose, K. Ross. Pearson, 2010 - Captulo 5
1

CEA510: Prof. Marlon Paolo

Camada de enlace
5.1 Introduo e servios 5.2 Deteco e correo de erros 5.3 Protocolos de acesso mltiplo 5.4 Endereamento na camada de enlace 5.5 Ethernet

CEA510: Prof. Marlon Paolo

Camada de enlace: introduo


Alguma terminologia:
hospedeiros e roteadores so ns canais de comunicao que se conectam a ns adjacentes pelo caminho de comunicao so enlaces
enlaces com fio enlaces sem fio LANs

pacote na camada-2 um quadro, encapsula datagrama

CEA510: Prof. Marlon Paolo

Servios da camada de enlace


Um protocolo da camada de enlace usado para transportar um datagrama por um enlace individual. Camada de transporte: movimentar pacotes da camada de aplicao fim a fim. Desde o host origem ao destino Camada de enlace: movimentar datagramas da camada de rede n a n por um nico enlace no caminho. Analogia: sistema de transporte

CEA510: Prof. Marlon Paolo

Servios da camada de enlace


Analogia: Agente de viagens planejando um passeio para turista de BH a Paris, passando por FrankFurt.

Agente de transporte: protocolo de roteamento. Turista: datagrama. Meio de transporte: protocolo da camada enlace. Taxi, avio e trem-bala so os enlaces!

CEA510: Prof. Marlon Paolo

Servios da camada de enlace

enquadramento :
encapsula datagrama no quadro, incluindo cabealho para transmiti-lo no enlace.

acesso ao enlace
Define regras para acesso ao canal de meio compartilhado; endereos MAC usados nos cabealhos de quadro para identificar origem, destino.
diferente do endereo IP !

CEA510: Prof. Marlon Paolo

Servios da camada de enlace


entrega confivel entre ns adjacentes
raramente usado em enlace com pouco erro de bit (fibra, alguns pares tranados);
Pode ser considerado uma sobrecarga desnecessria para este tipo de enlace. Muitos protocolos dessa camada no oferece esse servio.

Por que no ter confiabilidade em nvel de enlace e fim a fim?

Usado em enlaces sem fio: altas taxas de erro;

CEA510: Prof. Marlon Paolo

Servios da camada de enlace


controle de fluxo:
controle entre ns de emisso e recepo adjacentes

deteco de erro:
erros causados por atenuao de sinal, rudo. receptor detecta presena de erros:
pede ao remetente para retransmitir ou descarta quadro

correo de erro:
receptor identifica e corrige erro(s) de bit sem lanar mo da retransmisso

half-duplex e full-duplex
com half-duplex, os ns nas duas extremidades do enlace podem transmitir, mas no ao mesmo tempo
8

CEA510: Prof. Marlon Paolo

Servios da camada de enlace


controle de fluxo:
controle entre ns de emisso e recepo adjacentes semelhante camada de transporte, porm faz o controle n a n

deteco de erro:
erros causados por atenuao de sinal, rudo. receptor detecta presena de erros: No h necessidade de repassar erros
descarta quadro ou corrige os erros.

correo de erro:
receptor identifica e corrige erro(s) de bit sem lanar mo da retransmisso

CEA510: Prof. Marlon Paolo

Onde implementada a camada de enlace?


em todo e qualquer host. camada de enlace implementada no adaptador (ou placa de interface de rede, NIC)
placa Ethernet, placa PCMCI, placa 802.11 implementa camada de enlace, fsica

esquema do hospedeiro aplicao transporte rede enlace

cpu

memria

controlador enlace fsica fsica transmisso

barramento hospedeiro (p. e., PCI)

conecta aos barramentos de sistema do hospedeiro combinao de hardware, software, firmware


10

placa adaptadora de rede

CEA510: Prof. Marlon Paolo

Comunicao entre adaptadores

lado emissor:
encapsula datagrama no quadro inclui bits de verificao de erro, rdt, controle de fluxo etc.
11

lado receptor
procura erros, rdt, controle de fluxo etc. extrai datagrama, passa para camada superior no lado receptor
CEA510: Prof. Marlon Paolo

Comunicao entre adaptadores

12

CEA510: Prof. Marlon Paolo

Camada de enlace
5.1 Introduo e servios 5.2 Deteco e correo de erros 5.3 Protocolos de acesso mltiplo 5.4 Endereamento na camada de enlace 5.5 Ethernet

13

CEA510: Prof. Marlon Paolo

Controle de erros
Durante a transmisso de dados erros podem :

interferncias eletromagnticas; Atenuao de sinal; falha de sincronizao entre emissor e receptor; Problemas em componentes de rede;
Reduz o nmero de retransmisses do remetente. Vantagem potencialmente importante para aplicaes de tempo real.

Necessria alguma tcnica para correo e deteco de erros.


Diferentes tcnicas atualmente disponveis:

Estratgias mais sofisticadas tm maior probabilidade de detectar erros, mas...

ficam sujeitas a sobrecarga maior.

14

CEA510: Prof. Marlon Paolo

Deteco de erros
EDC = Bits de deteco e correo de erros (redundncia)
D = Dados protegidos por verificao de erro (pode incluir cabealho) Deteco de erro no 100% confivel!

protocolo pode perder alguns erros, mas raramente


maior campo EDC gera melhor deteco e correo

15

CEA510: Prof. Marlon Paolo

Verificao de paridade
Maneira mais simples de detectar erros: utilizar um bit de paridade Incluir um bit adicional aos dados Paridade impar e paridade par

PROBLEMA: Erros frequentemente se aglomeram em rajadas


Se muitos bits forem transmitidos e ocorrer muitos erros? Essa tcnica s detecta um nmero mpar de erros.

16

CEA510: Prof. Marlon Paolo

Paridade Bidimensional
Agora receptor pode detectar e corrigir erros!! No 100% eficiente para deteco de erros.
Pode detectar (mas no corrigir) qualquer combinao de 2 erros no pacote.

17

CEA510: Prof. Marlon Paolo

Soma de verificao da Internet (anlise)


Objetivo: detectar erros (p. e., bits invertidos) no pacote
transmitido (nota: usada somente na camada de transporte)

Emissor: trata contedo do segmento como sequncia de inteiros de 16 bits soma de verificao: adio (soma no complemento de 1) do contedo do segmento emissor colocar valor da soma de verificao no campo de soma de verificao UDP

Receptor: calcula soma de verificao do segmento recebido verifica se soma de verificao calculada igual ao valor do campo de soma de verificao: NO erro detectado SIM nenhum erro detectado. Mas pode haver erros, apesar disso?

18

CEA510: Prof. Marlon Paolo

CRC (Cyclic Redundancy Check)


CRC um cdigo detector de erros que gera um valor expresso em poucos bits para detectar erros de transmisso. O CRC calculado e anexado aos dados transmitidos e depois verificado para confirmar se no ocorreram alteraes. Simples de implementar em hardware;
Eficiente em detectar erros causados por rudos; Simples de ser analisado matematicamente. O CRC um tipo de funo de hash. Mudana em apenas um bit provoca uma mudana no CRC.
Mesmo mudanas pequenas nos dados levam a CRCs bem diferentes.

muito raro que a introduo de erros nos dados no seja detectado pelo CRC (principalmente o CRC32)

19

CEA510: Prof. Marlon Paolo

Cdigo polinomial ou CRC

Os cdigos polinomiais tratam uma cadeia de bits como polinmios de coeficientes 0 e 1.


K bits = polinmio xk-1 + xk-2 + x0 1 1 0 0 0 1 representado por x5 + x4 + x0

Aritmtica polinomial em mdulo 2 (soma e subtrao = XOR) Transmissor e receptor devem concordar em relao ao polinmio gerador G(x). Mecanismo detecta at r-1 erros!

20

CEA510: Prof. Marlon Paolo

CRC (Cyclic Redundancy Check)


Verificao de Redundncia Cclica
veja bits de dados, D, como um nmero binrio escolha padro de bits r + 1 (gerador), G objetivo: escolher r bits de CRC, R, tal que
<D,R> exatamente divisvel por G (mdulo 2) receptor sabe G, divide <D,R> por G. Se resto diferente de zero: erro detectado! pode detectar todos os erros em rajada menores que r + 1 bits

muito usada na prtica (Ethernet, IEEE 802.11, ATM)

21

CEA510: Prof. Marlon Paolo

Exemplo de CRC
Queremos: D . 2r XOR R = nG de modo equivalente: D . 2r = nG XOR R de modo equivalente: se dividirmos D . 2r por G, queremos resto R

D . 2r R = resto[ ] G
22

CEA510: Prof. Marlon Paolo

Exemplo de CRC

23

Exemplo de clculo de CRC.


CEA510: Prof. Marlon Paolo

Uso do CRC no receptor

O resto da diviso dos polinmios gera sempre um polinmio cujo grau sempre menor que o grau do polinmio gerador. No receptor T(x) dividido por G(x). Caso haja erros T(x) passa a ser T(x)+E(x) O resultado da diviso ser E(x)/G(x)

Para que erros possam ser detectados E(x)/G(x) deve ser diferente de zero.

24

CEA510: Prof. Marlon Paolo

Polinmios Geradores

Existem alguns polinmios geradores padronizados usados no clculo de CRC. Os mais comuns so: CRC-32:

polinmio gerador acima ou 100000100110000010001110110110111 em binrio.

CRC-16: utiliza o polinmio gerador 11000000000000101 em notao binria.

ou

CRC-12 que usa o polinmio gerador 1000000001011 em notao binria.


CRC-8 que usa o polinmio gerador 100000111 em notao binria.

ou

ou

25

CEA510: Prof. Marlon Paolo

Camada de enlace
5.1 Introduo e servios 5.2 Deteco e correo de erros 5.3 Protocolos de acesso mltiplo 5.4 Endereamento na camada de enlace 5.5 Ethernet

26

CEA510: Prof. Marlon Paolo

Enlaces e protocolos de acesso mltiplo


Dois tipos de enlaces:

ponto a ponto
PPP para acesso discado enlace ponto a ponto entre comutador Ethernet e hospedeiro

broadcast (fio ou meio compartilhado)


Ethernet moda antiga HFC LAN sem fio 802.11

fio compartilhado (p. e., Ethernet cabeado)


27

RF compartilhada

(p. e., WiFi 802.11)

RF compartilhada (satlite)

humanos em uma festa (ar e acstica compartilhados)


CEA510: Prof. Marlon Paolo

Protocolos de acesso mltiplo


nico canal de broadcast compartilhado duas ou mais transmisses simultneas por ns:
coliso se o n recebe dois ou mais sinais ao mesmo tempo Quando ocorre coliso de pacotes os quadros ficam embaralhados...

protocolo de acesso mltiplo Deve existir um algoritmo distribudo que determina como os ns compartilham canal,
ou seja, determinam quando o n pode transmitir.

28

CEA510: Prof. Marlon Paolo

Protocolo de acesso mltiplo ideal


Caractersticas desejveis em um protocolo de acesso mltiplo Canal de broadcast de velocidade X bps 1. quando um n quer transmitir, ele pode enviar na velocidade X. 2. quando M ns querem transmitir, cada um pode enviar na velocidade mdia de transmisso R/M

3. totalmente descentralizado:
nenhum n especial para coordenar transmisses nenhuma sincronizao de clocks, intervalos

4. simples

29

CEA510: Prof. Marlon Paolo

Protocolos MAC: uma taxonomia


Trs classes gerais:
Particionamento de canal
divide o canal em pedaos menores (intervalos de tempo, frequncia, cdigo) aloca pedao ao n para uso exclusivo

Acesso aleatrio
canal no dividido, permite colises recupera de colises

Revezando
os ns se revezam, mas os ns com mais a enviar podem receber mais tempo

30

CEA510: Prof. Marlon Paolo

Time Division Multiple Access


TDMA: Time Division Multiple Access acesso ao canal em rodadas cada estao recebe intervalo de tamanho fixo (tamanho = tempo transm. pacote) a cada rodada intervalos no usados ficam ociosos exemplo: LAN de 6 estaes, 1, 3, 4 tm pacote, intervalos 2, 5, 6 ociosos

quadro de 6 intervalos

31

CEA510: Prof. Marlon Paolo

Frequency Division Multiple Access


FDMA: Frequency Division Multiple Access
espectro do canal dividido em bandas de frequncia cada estao recebe banda de frequncia fixa tempo de transmisso no usado nas bandas de frequncia fica ocioso exemplo: LAN de 6 estaes, 1, 3, 4 tm pacote, bandas de frequncia 2, 5, 6 ociosas

cabo FDM
32

bandas de freq.

CEA510: Prof. Marlon Paolo

Protocolos de acesso aleatrio


Quando o n tem um pacote a enviar
A estao que est transmitindo utiliza toda a banda. sem coordenao a priori entre os ns

dois ou mais ns transmitindo simultaneamente coliso,


protocolo MAC de acesso aleatrio especifica:
como detectar colises como recuperar-se de colises (p. e., via retransmisses adiadas)

Exemplos de protocolos MAC de acesso aleatrio:


ALOHA ALOHA CSMA, CSMA/CD, CSMA/CA

33

CEA510: Prof. Marlon Paolo

ALOHA Puro
Universidade do Hava, comunicao sem fio por ondas de rdio Rede Aloha comeou em 1970; N mestre em Honolulu (centro de computao) escravos na outras ilhas do arquiplago 2 faixas de freqncia:
do mestre para os escravos (apenas 1 transmissor - no tem coliso) dos escravos para o mestre (canal compartilhado - pode ter coliso)

34

AlohaNet Marlon Paolo CEA510: Prof.

ALOHA Puro
Usurios transmitem sempre que possuem dados Um transmissor pode detectar colises (usando CRC) Retransmisso ocorre aps um perodo de tempo aleatrio Problema: Baixa eficincia (18% dos quadros so transmitidos
corretamente no melhor caso)

Quadros so transmitidos em instantes de tempo arbitrrios


35

CEA510: Prof. Marlon Paolo

ALOHA Puro

Perodo de vulnerabilidade para o quadro sombreado


36

CEA510: Prof. Marlon Paolo

Slotted ALOHA
Necessidade de melhorar o desempenho de um sistema ALOHA Estaes s podem transmitir em instantes de tempo especficos Necessrio um relgio mestre Desempenho o dobro do ALOHA puro (37%)

37

CEA510: Prof. Marlon Paolo

Slotted ALOHA
Suposies:
quadros do mesmo tamanho tempo dividido em intervalos de mesmo tamanho (tempo para transmitir 1 quadro) ns comeam a transmitir somente no incio dos intervalos ns so sincronizados se 2 ou mais ns transmitem no intervalo, todos os ns detectam coliso.

Operao:
quando n obtm quadro novo, transmite no prximo intervalo se no h coliso: n pode enviar novo quadro no prximo intervalo; se h coliso: n retransmite quadro em cada intervalo subsequente com prob. at que haja sucesso.

38

CEA510: Prof. Marlon Paolo

Slotted ALOHA

Prs
nico n ativo pode transmitir continuamente na velocidade plena do canal altamente descentralizado: somente intervalos nos ns precisam estar em sincronismo simples

Contras
colises, intervalos desperdiados intervalos ociosos ns podem ser capazes de detectar coliso em menos tempo do que para transmitir pacote sincronismo de clock

39

CEA510: Prof. Marlon Paolo

CSMA (Carrier Sense Multiple Access)


Analogia do Aloha: uma reunio com pessoas mal-educadas e tagarelas! Duas regras importantes em uma comunicao usadas pelo CSMA: oua antes de falar:
No mundo das redes significa deteco de portadora; se perceber canal ocioso: transmite quadro inteiro

Se algum falar ao mesmo tempo que voc, pare de falar:


No mundo das redes significa deteco de coliso; se perceber canal ocupado, adia transmisso; No interromper a transmisso

40

CEA510: Prof. Marlon Paolo

Colises CSMA
Se todos os ns realizarem deteco de portadora e seguirem as regras ainda poder ocorrer colises?

SIM:
atraso de propagao significa que dois ns podem no ouvir a transmisso um do outro.

nota:
papel da distncia & atraso de propagao determinando probabilidade de coliso
41

CEA510: Prof. Marlon Paolo

Colises CSMA
Algoritmo CSMA

42

CEA510: Prof. Marlon Paolo

CSMA/CD (Collision Detection)


analogia humana: o interlocutor educado

CSMA/CD: deteco de portadora, adiada como no CSMA colises detectadas dentro de pouco tempo transmisses colidindo abortadas, reduzindo desperdcio do canal.

43

CEA510: Prof. Marlon Paolo

CSMA/CD (Collision Detection)

CSMA/CD - deteco de coliso: fcil em LANs com fio: mede intensidades de sinal, compara sinais transmitidos, recebidos difcil nas LANs sem fio: intensidade do sinal recebido abafada pela intensidade da transmisso local
CSMA/CD: utilizado em redes Ethernet

44

CEA510: Prof. Marlon Paolo

CSMA/CD (Collision Detection)


Espera Aleatria Exponencial Truncada
Se houve coliso, espera tempo aleatrio entre 0 e um limite O limite dobrado a cada coliso sucessiva at um nmero mximo de colises estipulado.
A partir da, o limite permanece inalterado por mais um
certo nmero de tentativas mximo estipulado Se no conseguir transmitir at o nmero mximo de tentativas, ento aborta a transmisso

No padro IEEE 802.3: O limite dobra at 10 tentativas, depois permanece inalterado at no mximo 16 tentativas.

45

CEA510: Prof. Marlon Paolo

Colises CSMA
Algoritmo CSMA/CD

46

CEA510: Prof. Marlon Paolo

Coliso em redes sem fio


A deteco de colises em redes wireless bem mais complicado que nas redes cabeadas, devido complexidade inerente do ambiente sem fio.
Assim, o protocolo CSMA/CD utilizado pelo 802.3, no foi adotado nas redes Wireless.

Em um ambiente cabeado, todas estaes esto fisicamente conectadas, e possvel saber se houve ou no alguma coliso na rede. O mesmo no ocorre nas redes sem fio.

47

CEA510: Prof. Marlon Paolo

Controle de Acesso ao Meio


Problema da estao oculta:

Alcance do radio de A

A
A est transmitindo para B

Neste caso, C no est no alcance do rdio de A.

48

Ele escutar o meio e concluir erradamente que este est livre, e iniciar uma transmisso com B.
CEA510: Prof. Marlon Paolo

CSMA/CA
Para permitir a construo de redes com muitos computadores, a soluo adotada foi utilizar um mecanismos de preveno de coliso: O CSMA/CA um mtodo de transmisso que possui um grau de ordenao maior que o seu antecessor (CSMA/CD). O CSMA/CA possui tambm mais parmetros restritivos, o que contribui para a reduo da ocorrncia de colises em uma rede.

49

CEA510: Prof. Marlon Paolo

CSMA/CA
Antes de transmitir efetivamente um pacote, a estao avisa sobre a transmisso e em quanto tempo a mesma ir realizar a tarefa. Dessa forma, as estaes no tentaro transmitir, porque entendem que o canal est sendo usado por outra mquina.

50

CEA510: Prof. Marlon Paolo

CSMA/CA
FUNCIONAMENTO: Ao invs de enviar os dados aleatoriamente, o CSMA/CA permite ao transmissor reservar o canal antes. Assim, antes de enviar os dados, o transmissor escuta o meio (sensoriamento da portadora), buscando sinal de RF de outra estao. Se o meio estiver ocupado, aguarda at nova verificao. Se o meio estiver livre, envia um pequeno quadro chamado request to send (RTS) estao-base indicando a sua inteno de transmitir.

51

CEA510: Prof. Marlon Paolo

CSMA/CA
FUNCIONAMENTO:
Ao receber o RTS, o AP envia em broadcast (Clear To Send CTS) autorizando a estao o envio dos dados e reservando um espao de tempo exclusivo para sua transmisso. Enquanto isso as outras estaes aguardam para iniciar suas transmisses.

Desta forma o protocolo evita colises de quadros de dados usando pequenos quadros de reserva de banda!

52

CEA510: Prof. Marlon Paolo

Revezando protocolos MAC


protocolos MAC de particionamento de canal:
compartilham canal de modo eficaz e justo com alta carga ineficaz com baixa carga: atraso no acesso ao canal, 1/N largura de banda alocada mesmo que apenas 1 n ativo!

Protocolos MAC de acesso aleatrio


eficaz com baixa carga: nico n pode utilizar o canal totalmente alta carga: sobrecarga de coliso

revezando protocolos
procure o melhor dos dois mundos!

53

CEA510: Prof. Marlon Paolo

Polling (seleo)

n mestre convida ns escravos a alterarem a transmisso;

normalmente usado com dispositivos escravos burros;


Seleciona cada um dos ns para transmitir por alternncia circular
Envia msg para n transmissor permitindo-o transmitir a o mximo de x quadros.

preocupaes:
sobrecarga da seleo latncia nico ponto de falha (mestre)
dados dados

poll

mestre

Exemplo: Bluetooth

escravos
54

CEA510: Prof. Marlon Paolo

Passagem de permisso
No h ns mestres. permisso de controle passada de um

n para o prximo sequencialmente.


N retm mensagem de permisso

apenas se tiver dados para enviar.


Passagem de permisso descentralizada

e com alta eficincia.


preocupaes

sobrecarga da permisso latncia nico ponto de falha (permisso) derruba toda a rede

(nada a enviar) T

Usado em protocolos FDDI (Fiber Distributed


Data Interface)
55

e IEEE 802.5
dados
CEA510: Prof. Marlon Paolo

Resumo de protocolos MAC

particionamento de canal, por tempo, frequncia ou cdigo


Time Division, Frequency Division

acesso aleatrio (dinmico),


ALOHA, S-ALOHA, CSMA, CSMA/CD percepo de portadora: fcil em algumas tecnologias (com fio), difcil em outras (sem fio) CSMA/CD usado na Ethernet CSMA/CA usado na 802.11

Revezamento
passagem de permisso e passagem de permisso: Bluetooth, FDDI, IBM Token Ring
56

CEA510: Prof. Marlon Paolo

Vous aimerez peut-être aussi