Вы находитесь на странице: 1из 62

Camada de Enlace de Dados

Luciana Andria Fondazzi Martimiano Kalinka Castelo Branco

Funo da Camada de Enlace


Transferir dados da camada de rede da

mquina fonte para a camada de rede da mquina destino Essa transferncia feita n a n (adjacentes) por um nico enlace, de forma que os dados podero ser manipulados por diferentes protocolos de enlace nos diferentes enlaces do caminho

Camada de enlace
dois elementos fisicamente conectados: host-roteador, roteador-roteador, host-host

aplicao Ht M transporte rede Hn Ht M enlace Hl Hn Ht M T l fsica


M

protocolo de enlace enlace fsico

rede enlace fsica

Hl Hn Ht M T l

PDU quadro (frame)

Interface de rede - placa

Camada de enlace
Camadas Superiores Camada de Enlace Camadas Superiores

Logical Link Control (LLC) Ethernet MAC Ethernet Camada Fsica Token Ring MAC Token Ring Camada Fsica WiFi MAC WiFi Camada Fsica ...

Camada Fsica

...

Logical Link Control permite interao com a camada de Rede

Camada de enlace: Canais


Broadcast: muitos hosts conectados a um

mesmo meio de comunicao protocolo de acesso ao meio


LANs (com e sem fio) Redes por satlite Redes de acesso hbrido

Ponto a ponto: acesso entre dois pontos

Protocolos da Camada de Enlace


Broadcast:

Acesso aleatrio (mltiplo):


Ethernet (802.3) WiFi (802.11)

Acesso por passagem de permisso


Token Ring (802.5) FDDI (Fiber Distributed Data Interface)

Acesso ponto a ponto:

PPP (Point-to-Point Protocol)

Camada de enlace: Principais Servios


Entrega confivel (entre os ns adjacentes) Sem conexo e sem confirmao Sem conexo e com confirmao Com conexo e confirmao (enlaces longos como satlite)
Endereamento

Delimitao de Quadros (Framing) Encapsula um pacote da camada de rede em um quadro Cada quadro possui um cabealho (header), a carga til (pacote) e pode possuir um trailer (final)

Camada de enlace: Principais Servios


Controle de Fluxo (entre os ns adjacentes)
Deteco de Erros: Erros causados pela atenuao do sinal e por rudos O receptor detecta a presena de erros e avisa ao transmissor para reenviar o quadro Correo de Erros: Receptor identifica e corrige o bit com erro sem recorrer retransmisso Comunicao half e full-duplex

Acesso ao enlace ou meio (MAC medium

access control)

Camada de enlace - software

Camada de enlace implementada em software: Lado transmissor:


Receber datagrama da camada de rede Enderear o quadro Ativar hardware de camada de enlace

Lado receptor:

Responder a interrupes do controlador (recebimento de quadros) Passar o datagrama para a camada de rede

Camada de enlace - hardware

Camada de enlace implementada no adaptador (NICNetwork Interface Controller) Carto Ethernet, carto 802.11 Adaptador semiautnomo Controlador da camada de enlace

Camada de enlace - hardware

Lado transmissor: Encapsular o datagrama em um quadro Adicionar bits de verificao de erro Permitir acesso ao enlace Controlar fluxo Lado receptor: Detectar e recuperar erros Extrair o datagrama, passar para o host receptor Controlar fluxo

Servio sem conexo no confirmado


A mquina emissora envia frames sem

receber confirmao de recebimento da mquina receptora

LAN Ethernet

Apropriado para: Aplicaes nas quais a taxa de erro muito baixa Aplicaes de tempo real, nas quais dados atrasados so piores que dados ruins

Servio sem conexo e com confirmao


Cada

frame enviado individualmente confirmado. Dessa forma, o emissor sabe se o frame foi recebido ou no e poder reenvilo til para canais no confiveis:

Wireless (Wi-Fi)

Camada de Enlace Endereamento

Endereamento na camada de enlace


Endereo MAC (Media Access Control ou fsico): Usado para levar o quadro de uma interface a outra
fisicamente conectadas (enlace) Endereos MAC possuem 48 bits que so gravados na memria ROM do adaptador de rede (NIC)

Notao hexadecimal Pode ser mudado via software

Endereamento na camada de enlace


Cdigo OUI - Organizational Unique Identifier (indica quem o fabricante)

1 byte 1 byte 1 byte

1 byte 1 byte 1 byte

Definido pelo fabricante

Endereamento na camada de enlace


A alocao de endereos MAC administrada pelo IEEE O fabricante compra pores do espao de endereo MAC (para assegurar a unicidade) Endereamento MAC flat portvel
possvel mover uma placa de uma rede para outra sem

reconfigurao de endereo MAC Estrutura linear

Endereo MAC de broadcast:


FF-FF-FF-FF-FF-FF

Endereamento na camada de enlace


ARP (Address Resolution Protocol RFC

826): traduo de endereos IP em endereos MAC


Tabela na memria RAM (host ou roteador) com tradues Um registro dura 20 minutos (TTL) na tabela ARP Query (broadcast) Resposta via unicast

Camada de Enlace Quadro (Ethernet)

O Quadro Ethernet
O cabealho e a cauda contm informaes

de controle destinadas camada de enlace de dados do destino MTU de 1500 bytes O quadro Ethernet definido da seguinte forma:

O Quadro Ethernet
Prembulo:

7 bytes com padro 10101010 seguido por um byte com padro 10101011 usado para sincronizar as taxas de relgio do transmissor e do receptor, avisando que um quadro est chegando (tambm usado como delimitador de incio de quadro) Endereos: 12 bytes(6+6) Tipo: indica o protocolo da camada superior (geralmente o protocolo IP, mas podem ser outros IPX, ARP) CRC: para detectar erros
8 bytes
6 bytes 6 bytes 2 bytes 4 bytes

46 a 1500 bytes

Camada de Enlace Delimitao de quadros

Delimitao de quadros
Alguns

dos principais mtodos delimitao de quadros so:

para

Contagem de caracteres Flags de incio e fim com insero de bytes (PPP) Flags de incio e fim com insero de bits (HDLC High-level Data Link Control) Violaes de codificao da camada fsica

Contagem de Caracteres
Usa um campo no cabealho para indicar o

nmero de caracteres no quadro Problema: o caractere de contagem pode sofrer erro de transmisso, impossibilitando o reconhecimento do incio do prximo quadro

Erro em um bit, transforma 5 em 7 (101 111)

Flags de incio e fim


Cada quadro comea e termina com um padro

especial de bits (flag): 01111110

Sempre que 5 ums (1s) consecutivos so encontrados nos dados (payload) aps um bit 0, o emissor insere um zero (stuffing) Quando o receptor encontra cinco ums seguidos por um zero, o stuff retirado

O padro (flag) s ocorre nos limites dos quadros,

nunca no payload (dados)

Camada de Enlace
Controle de Fluxo (semelhante camada de transporte)

Controle de Fluxo
Emissor transmitindo mais rpido que o

receptor pode aceitar. O que fazer? Algum mecanismo de feedback deve ser fornecido para que o transmissor fique ciente das capacidades do receptor Protocolo de Janela Deslizante!!

Controle de Fluxo
Existem vrios esquemas, a maioria

baseado em regras sobre quando o emissor pode enviar o prximo quadro


Emissor envia um quadro e espera sinal Receptor recebe o quadro Receptor envia sinal p/ emissor enviar prximos n quadros Emissor envia os quadros e espera sinal

Camada de Enlace Controle de Erros

Controle de Erros
Como ter certeza que todos os quadros

transmitidos foram entregues camada de rede do destino na ordem correta e sem erros?
Primeiro passo: deteco Segundo passo: correo

Bits de deteco e de correo Error Detectionand-Correction Bits (EDC)

Controle de Erros
Datagrama Datagrama
Sim

Todos os D bits esto Ok?

No

EDC

D`

EDC`

Enlace sujeito a erros

Controle de Erros
Nem sempre possvel detectar erros Quanto maior o campo EDC, melhor a capacidade de deteco e correo de erros No entanto, h sobrecarga de processamento
Abordagens: Incluir redundncia suficiente para que o receptor deduza que algum erro aconteceu - Deteco de Erro (meios mais confiveis) Incluir redundncia suficiente para que o receptor deduza onde o erro aconteceu - Correo de Erros (meios menos confiveis)

Controle de Erros Tcnicas de Deteco


Bit de paridade
Soma de verificao (Camada de

Transporte) Cdigos de Hamming Cdigos de convoluo binrios Redundncia Cclica (CRC)

CRC Cyclic Redundancy Check


Verificao de Redundncia Cclica Cdigos CRC ou polinomiais Cdigos lineares especiais Implementado em hardware esquema mais

eficiente Pode detectar erros em rajadas! Quadro de d bits representado por um polinmio em x de ordem d-1
quadro (d bits) = 10110001 polinmio = x7+x5+x4+1

CRC
Emissor/receptor

concordam polinmio gerador G(x)

com

um

Grau de G(x) deve ser menor que o grau do quadro quadro deve ter mais bits que G(x) Ter pelo menos dois termos Os bits mais e menos significativos devem ser iguais a 1

CRC
G(x) de 8, 10, 16 e 32 (grau)
G(x) padro (CRC32 IEEE 802):

100000100110000010001110110110111 (33 bits)


Polinmio: x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x4 + x2 + x + 1 Detecta todos os erros em rajadas com comprimento menor ou igual a 32 bits

De 10 bilhes de erros em rajadas com comprimento 33, cinco passaro sem ser detectados

CRC algoritmo (transmissor)


Seja r o grau de G(x). Acrescentar r bits zero

extremidade menos significativa, de modo que ele passe a conter d+r bits Dividir a string de bits correspondente a G(x) pela string de bits correspondente a string d+r bits utilizando a diviso de mdulo 2 Subtrair o resto (que tem sempre r ou menos bits) da string de bits correspondente d+r bits utilizando a subtrao de mdulo 2 (operaes de XOR). O resto resultante o cdigo CRC a ser inserido ao final do quadro que dever ser transmitido

CRC algoritmo (transmissor)


G = 1001 Grau 3 D = 101110 (6 bits) x5 + x3 + x2+ x1 Grau 5
Aps inserir zeros D = x8+x6+x5+x4 Grau 8 R com 3 bits (nmero correspondente ao grau do G(x) Quadro transmitido: 101110 011

(x3+1)

(descartado)

0 0

0 0

CRC algoritmo (receptor)


Receptor: polinmio representado pelo quadro

(d bits) + CRC (r bits) deve ser divisvel por G(x)

Receptor divide G (x) pelo quadro recebido


Se resto diferente de zero, houve erro Se resto igual a zero, no houve erro (h limites) Resto = Sndrome

G(x)

d bits + CRC

1001 dividido por 101110 011 resto deve ser zero

Bit 1 mais esquerda: Use o divisor G(x)

Camada de Enlace
Subcamada de acesso ao meio acesso mltiplo

Enlaces de Acesso
Enlaces:
ponto-a-ponto (enlace nico, ex. PPP) broadcast (meio compartilhado: Ethernet, Wavelan-

WiFi, etc.)

Protocolos de Acesso Mltiplo (MAC - Media Access Control)


Canal de comunicao nico e compartilhado Duas ou mais transmisses: interferncia Colises
H problemas nos quadros Largura de banda do canal desperdiada
Apenas

um n pode transmitir com sucesso num dado instante de tempo

Protocolos de acesso mltiplo: Determinam como as estaes compartilham o canal, isto , determinam quando cada estao pode transmitir

Protocolos de Acesso Mltiplo (MAC)


Caractersticas: Quando apenas um n tem dados para enviar, esse n tem uma vazo de R bps Quando M ns tm acesso para enviar, cada um desses ns tem uma vazo de R/M bps. Isso no significa necessariamente que cada um dos M ns sempre ter uma velocidade mdia de transmisso de R/M durante algum intervalo de tempo adequadamente definido O protocolo deve ser descentralizado, isto , no h ns mestres que possam falhar e derrubar o sistema inteiro O protocolo deve ser simples para que sua implementao seja barata

Protocolos MAC: uma taxonomia


Trs categorias: Diviso de Canal

Dividem o canal em pedaos menores (tempo, frequncia, cdigo) Aloca um pedao para uso exclusivo de cada n

Acesso Aleatrio (meio compartilhado) Permite colises Recuperao das colises Revezamento Compartilhamento coordenado para evitar colises

Objetivos: eficincia, justia, simplicidade, descentralizao

Protocolos MAC com Diviso de Canal: TDMA


TDMA: Acesso Mltiplo por Diviso de Tempo
Acesso ao canal feito por turnos"

Cada n controla um compartimento (slot) de tamanho fixo

(tamanho = tempo de transmisso) em cada turno Justo e evita colises


Compartimentos no usados so desperdiados N deve esperar sua vez mesmo que outros ns no estejam

transmitindo Exemplo: 1,3,4 tm quadros, compartimentos 2,5,6 ficam vazios

Protocolos MAC com Diviso de Canal: FDMA


FDMA: Acesso Mltiplo por Diviso de Frequncia
A largura de banda dividida em faixas de frequncia que so

separadas por bandas de proteo Cada estao recebe uma banda de frequncia Justo e evita colises Tempo de transmisso no usado nas bandas de frequncia desperdiado
4 usurios

frequncia

tempo

Protocolos MAC com Diviso de Canal: CDMA


CDMA Acesso Mltiplo por Diviso de Cdigo
Um cdigo nico atribudo a cada usurio e este cdigo define

o particionamento Muito usado em canais broadcast sem fio (celular, por exemplo)
Todos os usurios usam a mesma frequncia, mas cada

usurio tem a sua prpria maneira de codificar os dados Codificao definida pelo cdigo que o usurio recebe (chipping sequence) Permite que mltiplos usurios coexistam e transmitam simultaneamente com mnima interferncia

Protocolos de Acesso Aleatrio


Quando o n tem um pacote a enviar: Transmite com toda a taxa do canal R No h uma regra de coordenao a priori entre os ns
Dois ou mais ns transmitindo coliso, Protocolo MAC de acesso aleatrio especifica: Como evitar colises Como detectar colises e se recuperar de colises

Exemplos de protocolos MAC de acesso aleatrio: ALOHA puro (unslotted) e Slotted ALOHA CSMA e CSMA/CD CSMA/CA

ALOHA Puro (unslotted)


Originalmente criado para LAN via rdio Operao simples, pois no h sincronizao Quadro precisa ser transmitido ele enviado Alta probabilidade de coliso:

Quadro enviado em t0 colide com outros quadros enviados em [t0-1, t0+1]

ALOHA Puro (unslotted)


Coliso:
Detectada devido ao feedback do canal (temporizador) Se um quadro transmitido sofrer coliso, o n retransmitir imediatamente o quadro com probabilidade p (aps ter concludo a transmisso total do quadro que sofreu a coliso) Caso contrrio, o n esperar por um tempo de transmisso de quadro. Aps essa espera, ele ento transmitir o quadro com probabilidade p ou espera por outro tempo de quadro com probabilidade 1-p

Slotted Aloha
Tempo dividido em compartimentos (slots) de tamanho igual (=

tempo de transmisso de um quadro com L bits) N com quadro pronto: transmite no incio do prximo slot Se houver coliso: retransmite o quadro nos futuros slots com probabilidade p (entre 0 e 1), at que consiga enviar Descentralizado, mas h sincronizao entre os ns (transmisso apenas no incio dos slots)

Tempo
Compartimentos: Sucesso (S), Coliso (C), Vazio (E)

Protocolos ALOHA
Independncia entre os ns Cada n no se preocupa se outro n est transmitindo Analogia: pessoas que falam mesmo com outras falando
O que fazer? Deteco de Portadora Deteco de Coliso

CSMA: Carrier Sense Multiple Access (acesso mltiplo com deteco de portadora)
CSMA: escuta antes de transmitir:
Se o canal parece vazio: transmite o pacote (96 tempos de bits) Se o canal est ocupado, adia a transmisso

CSMA Persistente: tenta outra vez imediatamente com probabilidade p quando o canal se tornar livre CSMA No-persistente: tenta novamente aps um intervalo aleatrio

Analogia humana: no interrompa uma pessoa quando

ela estiver falando!

Tempo para transmitir um bit 10Mbps = 0,1 microssegundo

Colises no CSMA
espao

colises podem ocorrer: o atraso de propagao implica que dois ns podem no ouvir as transmisses um do outro coliso: todo o tempo de transmisso do pacote desperdiado

tempo
Arranjo espacial dos ns na rede

CSMA/CD (Deteco de Coliso)


CSMA/CD deteco de coliso Colises detectadas num tempo mais curto Transmisses com colises so interrompidas, reduzindo o desperdcio do canal Retransmisses persistentes ou no-persistentes
Como? Medio da intensidade do sinal Comparao dos sinais transmitidos e recebidos Analogia: o bom-de-papo educado

CSMA/CD (Deteco de Coliso)


espao

tempo

deteco de coliso/tempo de parada

Bibliografia
Tanenbaum, A. S., Wetherall, D.; Redes de

Computadores, 5 ed., 2011 Caps. 3 e 4 Kurose, J. F., Ross, K. W.; Redes de Computadores e a Internet, 5 ed., 2010 Cap. 5
Forouzan, Comunicao de Dados e Redes de

Computadores, 4 ed., 2008 Caps. 10, 11, 12 e 13

Вам также может понравиться