Capítulo 5: A Camada de Enlace Camada de ?· checksum do UDP Receptor: computa o checksum do segmento…

  • View
    213

  • Download
    0

Embed Size (px)

Transcript

  • 1

    1

    Captulo 5: A Camada de Enlace

    Objetivos: entender os princpios por trs dos servios da

    camada de enlace:o deteco e correo de erros, o compartilhamento de um canal de difuso

    (broadcast): acesso mltiploo endereamento da camada de enlaceo transferncia de dados confivel, controle de fluxo:

    j visto! instanciao e implementao de vrias

    tecnologias da camada de enlace

    030206 2

    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

    5.6 Distribuidores e comutadores (Hubs and switches)

    5.7 PPP 5.8 Virtualizao de

    enlace : ATM e MPLS

    3

    enlace

    A camada de enlace de dados tem a responsabilidade de transferir datagramas entre ns adjacentes atravsde um enlace

    Camada de enlace: contexto

    4

    Camada de enlace: contexto

    fluxo real de PDUsRoteador R1

    Roteador R4

    Roteador R3Roteador R3Roteador R2

    protocolode enlace

    5

    dois elementos fsicos fisicamente conectados:o hospedeiro-roteador, roteador-roteador, hospedeiro-

    hospedeiro

    unidade de dados: quadro (frame)

    aplicaotransporte

    redeenlacefsica

    redeenlacefsica

    M

    MMM

    HtHtHnHtHnHl MHtHnHl

    quadroenlacefsico

    protocolode enlace

    placa adaptadora

    Camada de enlace: contexto

    6

    Servios da Camada de Enlace

    Enquadramento e acesso ao enlace:o encapsula datagramas em quadros, acrescentando cabealho

    e trailer (reboque)o implementa acesso ao canal se o meio compartilhado o endereos MAC usados nos cabealhos dos quadros para

    identificar a fonte e o destino dos quadros em enlaces multiponto diferente do endereo IP !

    Entrega confivel entre ns adjacentes:o j aprendemos como isto deve ser feito (captulo 3)!o raramente usado em enlaces com baixa taxa de erro (fibra,

    alguns tipos de par tranado, cabo coaxial)o enlaces sem-fio (wireless): altas taxas de erro

    Por qu confiabilidade fim-a-fim e na camada de enlace?

  • 2

    7

    Servios da Camada de Enlace (cont.)

    Controle de Fluxo:o limitao da transmisso entre transmissor e receptor

    (compatibilizar taxas) Deteco de Erros:

    o erros causados pela atenuao do sinal e por rudos. o o receptor detecta a presena de erros:

    avisa ao transmissor para reenviar o quadro perdido ou simplesmente descarta o quadro

    Correo de Erros:o o receptor identifica e corrige o(s) bit(s) com erro(s)

    sem recorrer retransmisso Half-duplex and full-duplex

    8

    Implementao de Protocoloda Camada de Enlace implementado totalmente no adaptador

    o ex., placa PCMCIA, placa Etherneto tipicamente inclui: RAM, chips DSP, interface com barramento do hospedeiro e interface do enlace

    aplicaotransporte

    redeenlacefsica

    redeenlacefsica

    M

    MMM

    HtHtHnHtHnHl MHtHnHl

    quadroenlacefsico

    protocolode enlace

    placa adaptadora

    9

    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

    5.6 Distribuidores e comutadores (Hubs and switches)

    5.7 PPP 5.8 Virtualizao de

    enlace : ATM e MPLS

    10

    Deteco de ErrosEDC= Error Detection and Correction bits

    (Bits de Deteco e Correo de Erros, redundncia)D = Dados protegidos pela verificao de erros,

    pode incluir os campos de cabealho

    A deteco de erros no 100% confivel; protocolos podem deixar passar alguns erros, mas raro; quanto maior o campo EDC, maior a capacidade de deteco e correo

    11

    Verificao de Paridade

    Paridade simples:Detecta erros de um bit

    Paridade Bi-dimensional:Detecta e corrige erros de um bit

    0 0

    sem erros erro deparidade

    erro de 1 bitcorrigvel

    erro deparidade

    bit deparidade

    12

    Soma de verificao da Internet

    Transmissor: trata o contedo de

    segmentos como seqncias de nmeros inteiros de 16 bits

    checksum: adio (soma em complemento de um) do contedo do segmento

    transmissor coloca o valor do checksum no campo checksum do UDP

    Receptor: computa o checksum do

    segmento recebido verifica se o checksum

    calculado igual ao valor do campo checksum:o NO - erro detectadoo SIM - no detectou erro.

    (Mas, apesar disso, talvez ainda haja erros )

    Objetivo: detectar erros (ex. bits trocados) em um segmento transmitido (usado apenas na camada de transporte)

  • 3

    13

    Cyclic Redundancy Check (CRC) encara os bits de dados, D, como a seqncia de coeficientes de

    um polinmio escolhe um padro (polinmio) gerador de r+1 bits, G objetivo: escolhe r bits, R (CRC), tal que

    o seja divisvel de forma exata por G (mdulo 2) o receptor conhece G, divide por G. Se o resto diferente de

    zero: erro detectado!o pode detectar todos os erros em rajada (burst errors) com

    comprimento menor que r+1 bits largamente usado na prtica (ATM, HDCL)

    padro de bits

    frmulamatemtica

    bits de dados a enviar

    14

    Exemplo de CRCDesejado:

    D.2r XOR R = nGequivalente a:

    D.2r = nG XOR R equivalente a:

    se dividimos D.2rpor G, o resto ser R

    R = resto[ ]D.2rG

    15

    Implementao de CRC

    Remetente realiza em tempo real, por hardware, a diviso da seqncia D pelo polinmio G e acrescenta o resto R a D

    O receptor divide por G; se o resto for diferente de zero, a transmisso teve erro

    Padres internacionais de polinmios G de graus 8, 12, 15 e 32 j foram definidos

    A ARPANET utilizava um CRC de 24 bits no protocolo de enlace de bit alternado

    ATM utiliza um CRC de 32 bits em AAL5 HDLC utiliza um CRC de 16 bits

    16

    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

    5.6 Distribuidores e comutadores (Hubs and switches)

    5.7 PPP 5.8 Virtualizao de

    enlace : ATM e MPLS

    17

    Enlaces e Protocolos de Acesso Mltiplo

    Dois tipos de enlaces : ponto-a-ponto

    o PPP para acesso discadoo Ponto a ponto entre comutador Ethernet e hospedeiro

    Difuso broadcast (cabo ou meio compartilhado)o Ethernet tradicionalo Canal de subida HFCo LAN sem fio 802.11

    18

    Protocolos de Acesso Mltiplo

    Enlaces com difuso: canal de comunicao nico e compartilhado

    duas ou mais transmisses pelos ns: interferncia (coliso)o apenas um n pode

    transmitir com sucesso num dado instante de tempo

  • 4

    19

    Protocolos de Acesso Mltiplo

    Protocolo de acesso mltiplo :o algoritmo distribudo que determina como as estaes compartilham o canal, isto , determina quando cada estao pode transmitir

    o comunicao sobre o compartilhamento do canal deve utilizar o prprio canal!

    20

    Protocolo de Acesso Mltiplo Ideal

    Canal de difuso de taxa R bps1. Quando um n quer transmitir, ele envia taxa R.2. Quando M ns querem transmitir, cada um envia

    taxa mdia de R/M3. Totalmente descentralizado:

    o Ausncia de um n especial que coordena as transmisseso Ausncia de sincronizao de relgios, slots etc.

    4. Simples

    Objetivo: eficiente, justo, simples, descentralizado

    21

    Protocolos MAC : taxonomiaTrs grandes classes :

    o Particionamento de canal divide o canal em pedaos menores (compartimentos de tempo, freqncia)

    aloca um pedao para uso exclusivo de cada n

    o Acesso Aleatrio canal no dividido, permite colises recuperao das colises

    o Revezamento (passagem de permisso) compartilhamento estritamente coordenado para evitar colises

    22

    Particionamento de Canal: TDMA

    TDMA: acesso mltiplo por diviso temporal acesso ao canal feito por turnos" cada estao recebe um compartimento (slot) de tamanho

    fixo (= tempo de transmisso de um pacote) em cada turno compartimentos no usados so desperdiados exemplo: rede local com 6 estaes: 1,3,4 tm pacotes,

    compartimentos 2,5,6 ficam vazios

    ineficiente com usurios de pouca demanda ou quando carga for baixa

    23

    FDMA: acesso mltiplo por diviso de freqncia o espectro do canal dividido em bandas de freqncia cada estao recebe uma banda de freqncia tempo de transmisso no usado nas bandas de freqncia

    desperdiado exemplo: rede local com 6 estaes: 1,3,4 tm pacotes, as bandas

    de freqncia 2,5,6 ficam vazias

    band

    asde

    fre

    qn

    cia tempo

    Particionamento de Canal: FDMA

    mesmos problemas de eficincia do TDM

    24

    Protocolos de Acesso Aleatrio

    Quando o n tem um pacote a enviar:o transmite aleatoriamente taxa do canal (R bps)o no h coordenao a priori entre os ns

    dois ou mais ns transmitindo -> coliso Protocolo MAC de acesso aleatrio especifica:

    o como detectar coliseso como as estaes se recuperam das colises (ex., via

    retransmisses)

    Exemplos de protocolos MAC de acesso aleatrio:o slotted ALOHAo ALOHAo CSMA e CSMA/CD

  • 5

    25

    Slotted AlohaO tempo dividido em compartimentos (slots) de tamanho igual (= tempo de transmisso de um quadro)

    Um n com quadro pronto transmite no incio do prximo compartimento

    Se houver coliso (realimentao pelo canal,): o a origem retransmite o quadro nos compartimentos posteriores com probabilidade p, at obter sucesso

    26

    Slotted ALOHA

    Pro Se apenas um n estiver ativo,

    pode transmitir continuamente taxa do canal

    Bastante descentralizado: apenas os slots dos ns precisam ser sincronizados

    simples

    Contra Colises, de