Redes I - 3 - Camada de Enlace Dados LLC

Embed Size (px)

Citation preview

  • 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