SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
Capítulo 5: A Camada de Enlace
Nossos objetivos:                     Visão Geral:
  entender os princípios por            serviços da camada de enlace
  trás dos serviços da camada
  de enlace:                            detecção de erros, correção
      detecção de erros,                protocolos de acesso múltiplo e
      correção                          LANs
      compartilhando um canal
                                        endereçamento da camada de
      broadcast: acesso múltiplo
                                        enlace, ARP
      endereçamento da camada
      de enlace                         tecnologias específicas da
      trasnferência de dados            camada de enlace:
      confiável, controle de fluxo:        Ethernet
      já visto!
                                           hubs, pontes, switches
  instanciação e
  implementação de várias                  IEEE 802.11 LANs
  tecnologias da camada de                 PPP
  enlace                                   ATM
Camada de enlace: definindo o contexto


   fluxo real de PDUs
                                    Roteador R1




                        protocolo
                        de enlace


        Roteador R2                 Roteador R3
                                     Roteador R3


                        Roteador R4
Camada de enlace: definindo o contexto

    dois elementos físicos fisicamente conectados:
       host-roteador, roteador-roteador, host-host
    unidade de dados: quadro (frame)



        M     aplicação
     Ht M    transporte
   Hn Ht M      rede        protocolo          rede
                            de enlace
Hl Hn Ht M     enlace                         enlace   Hl Hn Ht M
                física                        física      quadro
                            enlace
                            físico

                           placa adaptadora
Serviços da Camada de Enlace
 Enquadramento, acesso ao enlace:
   encapsula datagramas em quadros, acrescentando
   cabeçalhos e trailer
   implementa acesso ao canal se o meio é compartilhado
   ‘endereços físicos’ usados nos cabeçalhos dos quadros
   para identificar a fonte e o destino dos quadros
     • diferente do endereço IP !
 Entrega confiável entre dois equipamentos
 fisicamente conectados:
   já aprendemos como isto deve ser feito (capítulo 3)!
   raramente usado em enlaces com baixa taxa de erro
   (fibra, alguns tipos de par trançado)
   enlaces sem-fio (wireless): altas taxas de erro
     • Q: porque prover confiabilidade fim-a-fim e na
       camada de enlace?
Serviços da Camada de Enlace
(cont.)
 Controle de Fluxo:
   limitação da transmissão entre transmissor e
   receptor
 Detecção de Erros:
   erros causados pela atenuação do sinal e por
   ruídos.
   o receptor detecta a presença de erros:
    • avisa o transmissor para reenviar o quadro perdido
 Correção de Erros:
   o receptor identifica e corrige o bit com
   erro(s) sem recorrer à retransmissão
Implementação: Camada de Enlace
   implementado no “adaptador”
      ex., placa PCMCIA, placa Ethernet
      tipicamente inclui: RAM, chips DSP, interface
      com barramento do host, e interface do enlace



        M     aplicação
     Ht M    transporte
   Hn Ht M      rede       protocolo          rede
                           de enlace
Hl Hn Ht M     enlace                        enlace   Hl Hn Ht M
                física                       física      quadro
                           enlace
                           físico

                          placa adaptadora
Detecção de Erros
EDC= Bits de Detecção e Correção de Erros (redundancia)
D = Dados protegidos pela verificação de erros, pode incluir os campos de
cabeçalho

• A detecção de erros não é 100% confiável!
    • protocolos podem deixar passar alguns erros, mas é raro
    • Quanto maior o campo EDC melhor é a capacidade de detecção e
    correção de erros
Verificação de Paridade
Paridade com Bit                Paridade Bi-dimensional:
                                Detecta e corrige erros de um único bit
único:
Detecta erro de um único
bit

                     bit de
                     paridade




                                                                 erro de
                                                                 paridade

                                      0               0
                                     sem erros      erro de
                                                    paridade
                                                      erro de 1 bit
                                                      corrigível
Checksum da Internet
Objetivo: detectar “erros” (ex. bits trocados) num
  segmento transmitido (nota: usado apenas na
  camada de trasnporte)
Sender:                     Receptor:
  trata o conteúdo de          computa o checksum do
  segmentos como               segmento recebido
  seqüências de números        verifica se o checksum
  inteiros de 16 bits          calculado é igual ao valor do
  checksum: adição (soma       campo checksum:
  em complemento de um)            NÃO - erro detectaado
  do conteúdo do segmento          SIM - não detectou erro.
  transmissor coloca o valor      Mas talvez haja erros
  do checksum no campo            apesar disso? Mais
  checksum do UDP                 depois….
Verificação de Redundância Cíclica
 encara os bits de dados, D, como um número bináario
 escolhe um padrão gerador de r+1 bits, G
 objetivo: escolhe r CRC bits, R, tal que
     <D,R> é divisível de forma exata por G (módulo 2)
    receptor conhece G, divide <D,R> por G. Se o resto é diferente
    de zero: erro detectado!
    pode detectar todos os erros em seqüência (burst errors) com
    comprimento menor que r+1 bits
 largamente usado na prática (ATM, HDCL)

                                                  padrão de
          bits de dados a enviar                  bits

                                             fórmula
                                             matemática
Exemplo de CRC
Desejado:
  D.2r XOR R = nG
equivalente a:
   D.2r = nG XOR R
equivalente a:
  se nós dividimos
  D.2r por G,
  buscamos resto R

                  D.2r
    R=     resto[        ]
                   G
Enlaces de Acesso Múltiplo e Protocolos

Três tipos de enlaces:
  pointo-a-pointo (fio único, ex. PPP, SLIP)
  broadcast (fio ou meio compartilhado; ex,
  Ethernet, Wavelan, etc.)




  switched (ex., switched Ethernet, ATM etc)
Protocolos de Acesso Múltiplo
 canal de comunicação único e compartilhado
 duas ou mais transmissões pelos nós: interferência
    apenas um nó pode transmitir com sucesso num dado instante de
    tempo
 protocolo de múltiplo acesso:
    algoritmo distribuído que determina como as estações compartilham o
    canal, isto é, determinam quando cada estação pode transmitir
    comunicação sobre o compartilhamento do canal deve utilizar o própro
    canal!
    o que procurar em protocolos de múltiplo acesso:
      • síncrono ou assíncrono
      • informação necessária sobre as outras estações
      • robustez (ex., em relação a erros do canal)
      • desempenho
Protocolos de Acesso Múltiplo
 tese: os humanos usam protocolos de
 múltiplo acesso todo o tempo
 classe pode ”descobrir" protocolos de
 múltiplo acesso
   protocolo multiacesso 1:
   protocolo multiacesso 2:
   protocolo multiacesso 3:
   protocolo multiacesso 4:
Protocolos MAC: uma taxonomia
Três grandes classes:
  Particionamento de canal
     dividem o canal em pedaços menores (compartimentos de
     tempo, freqüência)
     aloca um pedaço para uso exclusivo de cada nó
  Acesso Aleatório
     permite colisões
     “recuperação” das colisões
  Passagem de Permissão
     compartilhamento estritamente coordenado para evitar
     colisões

    Objetivo: eficiente, justo, simples,
              descentralizado
Protocolos MAC com Particionamento de
Canal: TDMA
 TDMA: acesso múltiplo por divisão temporal
   acesso ao canal é feito por ”turnos"
   cada estação controla um compartimento (“slot”) de tamanho
   fixo (tamanho = tempo de transmissão de pacote) em cada
   turno
   compartimentos não usados são disperdiçados
   exemplo: rede local com 6 estações: 1,3,4 têm pacotes,
   compartimentos 2,5,6 ficam vazios
Protocolos MAC com Particionamento
de Canal: FDMA
FDMA: acesso múltiplo por divisão de freqüência
  o espectro do canal é dividido em bandas de freqüência
  cada estação recebe uma banda de freqüência
  tempo de transmissão não usado nas bandas de freqüência é
  disperdiçado
  exemplo: rede local com 6 estações: 1,3,4 têm pacotes, as bandas
  de freqüência 2,5,6 ficam vazias
                                             tempo
                  bandas de freqüência
Particionamento de Canal (CDMA)

CDMA (Acesso Múltiplo por Divisão de Códigos)
  um código único é atribuído a cada usuário, isto é, o código define o
  particionamento
  muito usado em canais broadcast, sem-fio (celular, satelite,etc)
  todos os usuários usam a mesma freqüência, mas cada usuário tem a
  sua própria maneira de codificar os dados. Esta codificaçaõ é
  definida pelo código que o usuário recebe (“chipping sequence”)
  sinal codificado = (dados originais) X (chipping sequence)
  decodificação: produto interno do sinal codificado e da seqüência de
  codificação (“chipping sequence”)
  permite que múltiplos usuários “coexistam” e transmitam
  simultaneamente com mínima interferência (os códigos que
  minimizam a interferência são chamados “ortogonais”)
CDMA Codificação e Decodificação
  transmissor




                     receptor
CDMA: interferência de dois transmissores
      transmissores




                           receptor 1
Sumário dos protocolos MAC
Como se faz com um canal compartilhado?
  Particionamento de canal, no tempo, por
  freqüência ou por código
   • Divisão temporal, divisão por código, divisão por
     freqüência
  Particionamento aleatório (dinâmico),
   • ALOHA, S-ALOHA, CSMA, CSMA/CD
   • detecção de portadora: fácil em alguns meios físicos
     (cabos) e difícil em outros (wireless)
   • CSMA/CD usado na rede Ethernet
  Passagem de permissão
   • polling a partir de um site central, passagem de token
Tecnologias de LAN
Camada de enlace até agora:
    serviços, detecção de erros/correção, acesso
    múltiplo
A seguir: tecnologias de redes locais (LAN)
    endereçamento
    Ethernet
    hubs, pontes, switches
    802.11
    PPP
    ATM
Endereços de LAN e ARP
Endereços IP de 32-bit:
 endereços da camada de rede
 usados para levar o datagrama até a rede de
 destino (lembre da definição de rede IP)
Endereço de LAN (ou MAC ou físico):
 usado para levar o datagrama de uma interface
 física a outra fisicamente conectada com a
 primeira (isto é, na mesma rede)
 Endereços MAC com 48 bits (na maioria das LANs)
 gravado na memória fixa (ROM) do adaptador de
 rede
Endereços de LAN e ARP
Cada adaptador numa LAN tem um único endereço de LAN
Endereços de LAN (mais)
 A alocação de endereços MAC é administrada pelo IEEE
 O fabricante compra porções do espaço de endereço MAC
 (para assegurar a unicidade)
 Analogia:
    (a) endereço MAC: senelhante ao número do RG
    (b) endereço IP: semelhante a um endereço
 postal
  endereçamento MAC é “flat” => portabilidade
    é possível mover uma placa de LAN de uma rede para outra sem
    reconfiguração de endereço MAC
 endereçamento IP “hierárquico” => NÃO portável
    depende da rede na qual se está ligado
Lembre a discussão anterior sobre roteamento

Começando em A, dado que o
                                              A 223.1.1.1
  datagrama está endereçado
  para B (endereço IP):                                                  223.1.2.1
                                                     223.1.1.2
  procure rede.endereço de B,                               223.1.1.4 223.1.2.9
  encontre B em alguma rede, no caso          B
  igual à rede de A                                                           223.1.2.2
                                                    223.1.1.3    223.1.3.27               E
  camada de enlace envia datagrama
  para B dentro de um quadro da                      223.1.3.1                223.1.3.2
  camada de enlace
   endereço de origem         endereço de origem
   e destino do quadro        e destino do pacote



 endereço end. MAC           end. IP end. IP
                                                      dados IP
 MAC de B de A                de A    de B

                                      datagrama
                         quadro
ARP: Address Resolution Protocol
(Protocolo de Resolução de Endereços)
Questão: como determinar   Cada nó IP (Host, Roteador)
o endereço MAC de B        numa LAN tem um módulo e
dado o endereço IP de B?   uma tabela ARP
                           Tabela ARP: mapeamento de
                           endereços IP/MAC para
                           alguns nós da LAN
                           < endereço IP; endereço MAC; TTL>
                            <   ………………………….. >


                               TTL (Time To Live): tempo
                               depois do qual o mapeamento
                               de endereços será esquecido
                               (tipicamente 20 min)
Protocolo ARP
 A conhece o endereço IP de B, quer aprender o
 endereço físico de B
 A envia em broadcast um pacote ARP de consulta
 contendo o endereço IP de B
    todas as máquinas na LAN recebem a consulta
    ARP
 B recebe o pacote ARP, responde a A com o seu
 (de B) endereço de camada física
 A armazena os pares de endereço IP-físico até que
 a informação se torne obsoleta (esgota a
 temporização)
    soft state: informação que desaparece com o
    tempo se não for re-atualizada
Roteamento para outra LAN
caminho: roteamento de A para B via R



   A



                                R
                                                               B


   Na tabela de roteamento no Host origem, encontra o roteador
   111.111.111.110
   Na tabela de ARP na origem, encontra o endereço MAC E6-E9-00-
   17-BB-4B, etc
A cria o pacote IP com origem A, destino B
A usa ARP para obter o endereço de camada física de R
correspondente ao endereço IP 111.111.111.110
A cria um quadro Ethernet com o endereço físico de R como
destino, o quadro Ethernet contém o datagrama IP de A para B
A camada de enlace de A envia o quadroEthernet
A camada de enlace de R recebe o quadro Ethernet
R remove o datagrama IP do quadro Ethernet, verifica que le se
destina a B
R usa ARP para obter o endereço físico de B
R cria quadro contendo um datagrama de Na A para B e envia para
B

   A


                           R
                                                        B
Ethernet
Tecnologia de rede local “dominante” :
  barato R$30 por 100Mbs!
  primeira tecnologia de LAN largamente usada
  Mais simples, e mais barata que LANs com token e ATM
  Velocidade crescente: 10, 100, 1000 Mbps




                                          Esboço da Ethernet
                                          por Bob Metcalf
Estrutura do Quadro Ethernet
Adaptador do transmissor encapsula o datagrama IP
  (ou outro pacote de protocolo da camada de rede)
  num quadro Ethernet




Preâmbulo:
  7 bytes com padrão 10101010 seguido por um byte
  com padrão 10101011
   usado para sincronizar as taxas de relógio do
  transmissor e do receptor
Estrutura do Quadro Ethernet (mais)

 Endereços: 6 bytes, quadro é recebido por todos
 os adaptadores e descartado se o endereço do
 quadro não coincide com o endereço do adaptador
 Tipo: indica o protocolo da camada superior,
 geralmente é o protocolo IP mas outros podem ser
 suportados tais como Novell IPX e AppleTalk)
 CRC: verificado no receptor, se um erro é
 detectado, o quadro é simplesmente descartado.
Ethernet: usa CSMA/CD
A: examina canal, se em silêncio
   então {
             transmite e monitora o canal;
             Se detecta outra transmissão
               então {
                 aborta e envia sinal de “jam”;
                 atualiza número de colisões;
                 espera como exigido pelo algoritmo “exponential
                   backoff”;
                 vá para A
                 }
              senão {quadro transmitido; zera contador de colisões}
      }
   senão {espera até terminar a transmissão em curso vá para A}
Ethernet CSMA/CD (mais)

Sinal “Jam”: garante que todos os outros
  transmissores estão cientes da colisão; 48 bits;
“Exponential Backoff”:
  Objetivo: adaptar tentativas de retransmissão
  para carga atual da rede
     carga pesada: espera aleatória será mais longa
  primeira colisão: escolha K entre {0,1}; espera é K
  x 512 tempos de transmissão de bit
  após a segunda colisão: escolha K entre {0,1,2,3}…
  após 10 ou mais colisões, escolha K entre
  {0,1,2,3,4,…,1023}
Tecnologias Ethernet: 10Base2

  10: 10Mbps; 2: comprimento máximo do cabo de 200 metros (de
  fato, 186 metros)
  cabo coaxial fino numa topologia em barramento

                                 conector
        pacotes transmitidos        T       terminador
      viajam nas duas direções




                                                 adaptador

       nó        nó        nó       nó      nó



  repetidores são usados para conectar múltiplos segmentos
  repetidor repete os bits que ele recebe numa interface para
  as suas outras interfaces: atua somente na camada física!
10BaseT e 100BaseT
 taxa de 10/100 Mbps; chamado mais tarde de “fast
 ethernet”
 T significa “Twisted Pair” (par trançado)
 Os nós se conectam a um hub por um meio físico em “par
 trançado”, portanto trata-se de uma “toppologia em estrela”
 CSMA/CD implementado no hub
10BaseT e 100BaseT (mais)
 Máxima distância do nó ao hub é de 100 metros
 Hub pode disconectar um adaptador que não para
 de transmitir (“jabbering adapter”)
 Hub can coletar e monitorar informações e
 estatísticas para apresentação ao administradores
 da LAN

Mais conteúdo relacionado

Mais procurados

Mais procurados (19)

Cap04b
Cap04bCap04b
Cap04b
 
Capítulo 15 conexões de lans, redes backbone e lans virtuais
Capítulo 15   conexões de lans, redes backbone e lans virtuaisCapítulo 15   conexões de lans, redes backbone e lans virtuais
Capítulo 15 conexões de lans, redes backbone e lans virtuais
 
Modbus apostila
Modbus apostilaModbus apostila
Modbus apostila
 
Camada de Transporte Redes Tanenbaum
Camada de Transporte Redes TanenbaumCamada de Transporte Redes Tanenbaum
Camada de Transporte Redes Tanenbaum
 
Camada de enlace parte2
Camada de enlace   parte2Camada de enlace   parte2
Camada de enlace parte2
 
Camada de enlace parte1
Camada de enlace   parte1Camada de enlace   parte1
Camada de enlace parte1
 
Capítulo 23 comunicação entre processos
Capítulo 23   comunicação entre processosCapítulo 23   comunicação entre processos
Capítulo 23 comunicação entre processos
 
Confiabilidade do canal em codificação turbo dscdma sujeito a desvanecimento ...
Confiabilidade do canal em codificação turbo dscdma sujeito a desvanecimento ...Confiabilidade do canal em codificação turbo dscdma sujeito a desvanecimento ...
Confiabilidade do canal em codificação turbo dscdma sujeito a desvanecimento ...
 
Aula 6 a camada de rede
Aula 6   a camada de redeAula 6   a camada de rede
Aula 6 a camada de rede
 
Cap6 smds
Cap6 smdsCap6 smds
Cap6 smds
 
Camada de Rede
Camada de RedeCamada de Rede
Camada de Rede
 
Capítulo 2 modelos de redes
Capítulo 2   modelos de redesCapítulo 2   modelos de redes
Capítulo 2 modelos de redes
 
Protocolos modbus
Protocolos modbusProtocolos modbus
Protocolos modbus
 
Camada de transporte capitulo 3
Camada de transporte   capitulo 3Camada de transporte   capitulo 3
Camada de transporte capitulo 3
 
Camada de transporte parte1
Camada de transporte parte1Camada de transporte parte1
Camada de transporte parte1
 
Redes de Comunicacao-Camada de transporte
Redes de Comunicacao-Camada de transporte Redes de Comunicacao-Camada de transporte
Redes de Comunicacao-Camada de transporte
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de rede
 
Cap2 pos ufpa
Cap2 pos ufpaCap2 pos ufpa
Cap2 pos ufpa
 
Aula 4 introducao iii
Aula 4   introducao iiiAula 4   introducao iii
Aula 4 introducao iii
 

Destaque (8)

Java 02
Java 02Java 02
Java 02
 
Java 05
Java 05Java 05
Java 05
 
Introducao a poo_com_blue_j
Introducao a poo_com_blue_jIntroducao a poo_com_blue_j
Introducao a poo_com_blue_j
 
Introducao a poo_com_blue_j
Introducao a poo_com_blue_jIntroducao a poo_com_blue_j
Introducao a poo_com_blue_j
 
Java 04
Java 04Java 04
Java 04
 
Modulo c
Modulo cModulo c
Modulo c
 
Modulo a
Modulo aModulo a
Modulo a
 
Java 03
Java 03Java 03
Java 03
 

Semelhante a Camada de Enlace: Detecção de Erros e Protocolos MAC

Redes - Camada Enlace
Redes - Camada EnlaceRedes - Camada Enlace
Redes - Camada EnlaceLuiz Arthur
 
Capitulo 1 redes de computadores e Internet do Prof Jose Augusto
Capitulo 1 redes de computadores e Internet do Prof Jose AugustoCapitulo 1 redes de computadores e Internet do Prof Jose Augusto
Capitulo 1 redes de computadores e Internet do Prof Jose Augustoscviegas1
 
S2 B 2007 Infra Aula 01 V1.00
S2 B 2007   Infra   Aula 01 V1.00S2 B 2007   Infra   Aula 01 V1.00
S2 B 2007 Infra Aula 01 V1.00doctorweb
 
Redes I - 3.Camada de Enlace de Dados LLC
Redes I - 3.Camada de Enlace de Dados LLCRedes I - 3.Camada de Enlace de Dados LLC
Redes I - 3.Camada de Enlace de Dados LLCMauro Tapajós
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de redewab030
 
Infraestrutura e Componentes de Redes de Dados
Infraestrutura e Componentes de Redes de DadosInfraestrutura e Componentes de Redes de Dados
Infraestrutura e Componentes de Redes de Dadostiredes
 
Comunicação de Dados - Modulo 5
 Comunicação de Dados - Modulo 5 Comunicação de Dados - Modulo 5
Comunicação de Dados - Modulo 5Mariana Hiyori
 
Diffserv (serviços diferenciados)
Diffserv (serviços diferenciados)Diffserv (serviços diferenciados)
Diffserv (serviços diferenciados)UFPA
 
Redes de computadores II - 4.Camada de Transporte TCP e UDP
Redes de computadores II - 4.Camada de Transporte TCP e UDPRedes de computadores II - 4.Camada de Transporte TCP e UDP
Redes de computadores II - 4.Camada de Transporte TCP e UDPMauro Tapajós
 
Downloads telecom com_dados_exercicios_exercicio_parte 1 geral
Downloads telecom com_dados_exercicios_exercicio_parte 1 geralDownloads telecom com_dados_exercicios_exercicio_parte 1 geral
Downloads telecom com_dados_exercicios_exercicio_parte 1 geralRonaldo Souza
 
Aula02 protocolos da camada 2
Aula02   protocolos da camada 2Aula02   protocolos da camada 2
Aula02 protocolos da camada 2Carlos Veiga
 

Semelhante a Camada de Enlace: Detecção de Erros e Protocolos MAC (20)

Redes - Camada Enlace
Redes - Camada EnlaceRedes - Camada Enlace
Redes - Camada Enlace
 
Lista01
Lista01Lista01
Lista01
 
Protocolo Can
Protocolo CanProtocolo Can
Protocolo Can
 
Capitulo 1 redes de computadores e Internet do Prof Jose Augusto
Capitulo 1 redes de computadores e Internet do Prof Jose AugustoCapitulo 1 redes de computadores e Internet do Prof Jose Augusto
Capitulo 1 redes de computadores e Internet do Prof Jose Augusto
 
S2 B 2007 Infra Aula 01 V1.00
S2 B 2007   Infra   Aula 01 V1.00S2 B 2007   Infra   Aula 01 V1.00
S2 B 2007 Infra Aula 01 V1.00
 
Redes I - 3.Camada de Enlace de Dados LLC
Redes I - 3.Camada de Enlace de Dados LLCRedes I - 3.Camada de Enlace de Dados LLC
Redes I - 3.Camada de Enlace de Dados LLC
 
Introdução a Redes de Computadores
Introdução a Redes de ComputadoresIntrodução a Redes de Computadores
Introdução a Redes de Computadores
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de rede
 
Infraestrutura e Componentes de Redes de Dados
Infraestrutura e Componentes de Redes de DadosInfraestrutura e Componentes de Redes de Dados
Infraestrutura e Componentes de Redes de Dados
 
Comunicação de Dados - Modulo 5
 Comunicação de Dados - Modulo 5 Comunicação de Dados - Modulo 5
Comunicação de Dados - Modulo 5
 
Cap01b
Cap01bCap01b
Cap01b
 
Cap2a
Cap2aCap2a
Cap2a
 
Aulas de rede
Aulas de redeAulas de rede
Aulas de rede
 
Diffserv (serviços diferenciados)
Diffserv (serviços diferenciados)Diffserv (serviços diferenciados)
Diffserv (serviços diferenciados)
 
Redes de computadores II - 4.Camada de Transporte TCP e UDP
Redes de computadores II - 4.Camada de Transporte TCP e UDPRedes de computadores II - 4.Camada de Transporte TCP e UDP
Redes de computadores II - 4.Camada de Transporte TCP e UDP
 
Downloads telecom com_dados_exercicios_exercicio_parte 1 geral
Downloads telecom com_dados_exercicios_exercicio_parte 1 geralDownloads telecom com_dados_exercicios_exercicio_parte 1 geral
Downloads telecom com_dados_exercicios_exercicio_parte 1 geral
 
Lista04
Lista04Lista04
Lista04
 
Exercicio parte1
Exercicio parte1Exercicio parte1
Exercicio parte1
 
R&C 0501 07 1
R&C 0501 07 1R&C 0501 07 1
R&C 0501 07 1
 
Aula02 protocolos da camada 2
Aula02   protocolos da camada 2Aula02   protocolos da camada 2
Aula02 protocolos da camada 2
 

Mais de samuelthiago

Interface grafica em_java_parte_v
Interface grafica em_java_parte_vInterface grafica em_java_parte_v
Interface grafica em_java_parte_vsamuelthiago
 
Interface grafica em_java_parte_iv
Interface grafica em_java_parte_ivInterface grafica em_java_parte_iv
Interface grafica em_java_parte_ivsamuelthiago
 
Interface grafica em_java_parte_iii
Interface grafica em_java_parte_iiiInterface grafica em_java_parte_iii
Interface grafica em_java_parte_iiisamuelthiago
 
Interface grafica em_java_parte_ii
Interface grafica em_java_parte_iiInterface grafica em_java_parte_ii
Interface grafica em_java_parte_iisamuelthiago
 
Interface grafica em_java_parte_i
Interface grafica em_java_parte_iInterface grafica em_java_parte_i
Interface grafica em_java_parte_isamuelthiago
 
Poo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_iiPoo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_iisamuelthiago
 
Projeto calculadora em_java
Projeto calculadora em_javaProjeto calculadora em_java
Projeto calculadora em_javasamuelthiago
 
01 02 introdução aos bancos de dados (slides)
01 02 introdução aos bancos de dados (slides)01 02 introdução aos bancos de dados (slides)
01 02 introdução aos bancos de dados (slides)samuelthiago
 

Mais de samuelthiago (20)

Eclipse i (1)
Eclipse i (1)Eclipse i (1)
Eclipse i (1)
 
Html básico
Html básicoHtml básico
Html básico
 
Interface grafica em_java_parte_v
Interface grafica em_java_parte_vInterface grafica em_java_parte_v
Interface grafica em_java_parte_v
 
Interface grafica em_java_parte_iv
Interface grafica em_java_parte_ivInterface grafica em_java_parte_iv
Interface grafica em_java_parte_iv
 
Interface grafica em_java_parte_iii
Interface grafica em_java_parte_iiiInterface grafica em_java_parte_iii
Interface grafica em_java_parte_iii
 
Interface grafica em_java_parte_ii
Interface grafica em_java_parte_iiInterface grafica em_java_parte_ii
Interface grafica em_java_parte_ii
 
Interface grafica em_java_parte_i
Interface grafica em_java_parte_iInterface grafica em_java_parte_i
Interface grafica em_java_parte_i
 
Poo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_iiPoo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_ii
 
Projeto calculadora em_java
Projeto calculadora em_javaProjeto calculadora em_java
Projeto calculadora em_java
 
01 02 introdução aos bancos de dados (slides)
01 02 introdução aos bancos de dados (slides)01 02 introdução aos bancos de dados (slides)
01 02 introdução aos bancos de dados (slides)
 
Java 08
Java 08Java 08
Java 08
 
Java 07
Java 07Java 07
Java 07
 
Java 06
Java 06Java 06
Java 06
 
Java 01
Java 01Java 01
Java 01
 
Pged 08
Pged 08Pged 08
Pged 08
 
Pged 07
Pged 07Pged 07
Pged 07
 
Pged 06
Pged 06Pged 06
Pged 06
 
Pged 05
Pged 05Pged 05
Pged 05
 
Pged 04
Pged 04Pged 04
Pged 04
 
Pged 03
Pged 03Pged 03
Pged 03
 

Camada de Enlace: Detecção de Erros e Protocolos MAC

  • 1. Capítulo 5: A Camada de Enlace Nossos objetivos: Visão Geral: entender os princípios por serviços da camada de enlace trás dos serviços da camada de enlace: detecção de erros, correção detecção de erros, protocolos de acesso múltiplo e correção LANs compartilhando um canal endereçamento da camada de broadcast: acesso múltiplo enlace, ARP endereçamento da camada de enlace tecnologias específicas da trasnferência de dados camada de enlace: confiável, controle de fluxo: Ethernet já visto! hubs, pontes, switches instanciação e implementação de várias IEEE 802.11 LANs tecnologias da camada de PPP enlace ATM
  • 2. Camada de enlace: definindo o contexto fluxo real de PDUs Roteador R1 protocolo de enlace Roteador R2 Roteador R3 Roteador R3 Roteador R4
  • 3. Camada de enlace: definindo o contexto dois elementos físicos fisicamente conectados: host-roteador, roteador-roteador, host-host unidade de dados: quadro (frame) M aplicação Ht M transporte Hn Ht M rede protocolo rede de enlace Hl Hn Ht M enlace enlace Hl Hn Ht M física física quadro enlace físico placa adaptadora
  • 4. Serviços da Camada de Enlace Enquadramento, acesso ao enlace: encapsula datagramas em quadros, acrescentando cabeçalhos e trailer implementa acesso ao canal se o meio é compartilhado ‘endereços físicos’ usados nos cabeçalhos dos quadros para identificar a fonte e o destino dos quadros • diferente do endereço IP ! Entrega confiável entre dois equipamentos fisicamente conectados: já aprendemos como isto deve ser feito (capítulo 3)! raramente usado em enlaces com baixa taxa de erro (fibra, alguns tipos de par trançado) enlaces sem-fio (wireless): altas taxas de erro • Q: porque prover confiabilidade fim-a-fim e na camada de enlace?
  • 5. Serviços da Camada de Enlace (cont.) Controle de Fluxo: limitação da transmissão entre transmissor e receptor Detecção de Erros: erros causados pela atenuação do sinal e por ruídos. o receptor detecta a presença de erros: • avisa o transmissor para reenviar o quadro perdido Correção de Erros: o receptor identifica e corrige o bit com erro(s) sem recorrer à retransmissão
  • 6. Implementação: Camada de Enlace implementado no “adaptador” ex., placa PCMCIA, placa Ethernet tipicamente inclui: RAM, chips DSP, interface com barramento do host, e interface do enlace M aplicação Ht M transporte Hn Ht M rede protocolo rede de enlace Hl Hn Ht M enlace enlace Hl Hn Ht M física física quadro enlace físico placa adaptadora
  • 7. Detecção de Erros EDC= Bits de Detecção e Correção de Erros (redundancia) D = Dados protegidos pela verificação de erros, pode incluir os campos de cabeçalho • A detecção de erros não é 100% confiável! • protocolos podem deixar passar alguns erros, mas é raro • Quanto maior o campo EDC melhor é a capacidade de detecção e correção de erros
  • 8. Verificação de Paridade Paridade com Bit Paridade Bi-dimensional: Detecta e corrige erros de um único bit único: Detecta erro de um único bit bit de paridade erro de paridade 0 0 sem erros erro de paridade erro de 1 bit corrigível
  • 9. Checksum da Internet Objetivo: detectar “erros” (ex. bits trocados) num segmento transmitido (nota: usado apenas na camada de trasnporte) Sender: Receptor: trata o conteúdo de computa o checksum do segmentos como segmento recebido seqüências de números verifica se o checksum inteiros de 16 bits calculado é igual ao valor do checksum: adição (soma campo checksum: em complemento de um) NÃO - erro detectaado do conteúdo do segmento SIM - não detectou erro. transmissor coloca o valor Mas talvez haja erros do checksum no campo apesar disso? Mais checksum do UDP depois….
  • 10. Verificação de Redundância Cíclica encara os bits de dados, D, como um número bináario escolhe um padrão gerador de r+1 bits, G objetivo: escolhe r CRC bits, R, tal que <D,R> é divisível de forma exata por G (módulo 2) receptor conhece G, divide <D,R> por G. Se o resto é diferente de zero: erro detectado! pode detectar todos os erros em seqüência (burst errors) com comprimento menor que r+1 bits largamente usado na prática (ATM, HDCL) padrão de bits de dados a enviar bits fórmula matemática
  • 11. Exemplo de CRC Desejado: D.2r XOR R = nG equivalente a: D.2r = nG XOR R equivalente a: se nós dividimos D.2r por G, buscamos resto R D.2r R= resto[ ] G
  • 12. Enlaces de Acesso Múltiplo e Protocolos Três tipos de enlaces: pointo-a-pointo (fio único, ex. PPP, SLIP) broadcast (fio ou meio compartilhado; ex, Ethernet, Wavelan, etc.) switched (ex., switched Ethernet, ATM etc)
  • 13. Protocolos de Acesso Múltiplo canal de comunicação único e compartilhado duas ou mais transmissões pelos nós: interferência apenas um nó pode transmitir com sucesso num dado instante de tempo protocolo de múltiplo acesso: algoritmo distribuído que determina como as estações compartilham o canal, isto é, determinam quando cada estação pode transmitir comunicação sobre o compartilhamento do canal deve utilizar o própro canal! o que procurar em protocolos de múltiplo acesso: • síncrono ou assíncrono • informação necessária sobre as outras estações • robustez (ex., em relação a erros do canal) • desempenho
  • 14. Protocolos de Acesso Múltiplo tese: os humanos usam protocolos de múltiplo acesso todo o tempo classe pode ”descobrir" protocolos de múltiplo acesso protocolo multiacesso 1: protocolo multiacesso 2: protocolo multiacesso 3: protocolo multiacesso 4:
  • 15. Protocolos MAC: uma taxonomia Três grandes classes: Particionamento de canal dividem o canal em pedaços menores (compartimentos de tempo, freqüência) aloca um pedaço para uso exclusivo de cada nó Acesso Aleatório permite colisões “recuperação” das colisões Passagem de Permissão compartilhamento estritamente coordenado para evitar colisões Objetivo: eficiente, justo, simples, descentralizado
  • 16. Protocolos MAC com Particionamento de Canal: TDMA TDMA: acesso múltiplo por divisão temporal acesso ao canal é feito por ”turnos" cada estação controla um compartimento (“slot”) de tamanho fixo (tamanho = tempo de transmissão de pacote) em cada turno compartimentos não usados são disperdiçados exemplo: rede local com 6 estações: 1,3,4 têm pacotes, compartimentos 2,5,6 ficam vazios
  • 17. Protocolos MAC com Particionamento de Canal: FDMA FDMA: acesso múltiplo por divisão de freqüência o espectro do canal é dividido em bandas de freqüência cada estação recebe uma banda de freqüência tempo de transmissão não usado nas bandas de freqüência é disperdiçado exemplo: rede local com 6 estações: 1,3,4 têm pacotes, as bandas de freqüência 2,5,6 ficam vazias tempo bandas de freqüência
  • 18. Particionamento de Canal (CDMA) CDMA (Acesso Múltiplo por Divisão de Códigos) um código único é atribuído a cada usuário, isto é, o código define o particionamento muito usado em canais broadcast, sem-fio (celular, satelite,etc) todos os usuários usam a mesma freqüência, mas cada usuário tem a sua própria maneira de codificar os dados. Esta codificaçaõ é definida pelo código que o usuário recebe (“chipping sequence”) sinal codificado = (dados originais) X (chipping sequence) decodificação: produto interno do sinal codificado e da seqüência de codificação (“chipping sequence”) permite que múltiplos usuários “coexistam” e transmitam simultaneamente com mínima interferência (os códigos que minimizam a interferência são chamados “ortogonais”)
  • 19. CDMA Codificação e Decodificação transmissor receptor
  • 20. CDMA: interferência de dois transmissores transmissores receptor 1
  • 21. Sumário dos protocolos MAC Como se faz com um canal compartilhado? Particionamento de canal, no tempo, por freqüência ou por código • Divisão temporal, divisão por código, divisão por freqüência Particionamento aleatório (dinâmico), • ALOHA, S-ALOHA, CSMA, CSMA/CD • detecção de portadora: fácil em alguns meios físicos (cabos) e difícil em outros (wireless) • CSMA/CD usado na rede Ethernet Passagem de permissão • polling a partir de um site central, passagem de token
  • 22. Tecnologias de LAN Camada de enlace até agora: serviços, detecção de erros/correção, acesso múltiplo A seguir: tecnologias de redes locais (LAN) endereçamento Ethernet hubs, pontes, switches 802.11 PPP ATM
  • 23. Endereços de LAN e ARP Endereços IP de 32-bit: endereços da camada de rede usados para levar o datagrama até a rede de destino (lembre da definição de rede IP) Endereço de LAN (ou MAC ou físico): usado para levar o datagrama de uma interface física a outra fisicamente conectada com a primeira (isto é, na mesma rede) Endereços MAC com 48 bits (na maioria das LANs) gravado na memória fixa (ROM) do adaptador de rede
  • 24. Endereços de LAN e ARP Cada adaptador numa LAN tem um único endereço de LAN
  • 25. Endereços de LAN (mais) A alocação de endereços MAC é administrada pelo IEEE O fabricante compra porções do espaço de endereço MAC (para assegurar a unicidade) Analogia: (a) endereço MAC: senelhante ao número do RG (b) endereço IP: semelhante a um endereço postal endereçamento MAC é “flat” => portabilidade é possível mover uma placa de LAN de uma rede para outra sem reconfiguração de endereço MAC endereçamento IP “hierárquico” => NÃO portável depende da rede na qual se está ligado
  • 26. Lembre a discussão anterior sobre roteamento Começando em A, dado que o A 223.1.1.1 datagrama está endereçado para B (endereço IP): 223.1.2.1 223.1.1.2 procure rede.endereço de B, 223.1.1.4 223.1.2.9 encontre B em alguma rede, no caso B igual à rede de A 223.1.2.2 223.1.1.3 223.1.3.27 E camada de enlace envia datagrama para B dentro de um quadro da 223.1.3.1 223.1.3.2 camada de enlace endereço de origem endereço de origem e destino do quadro e destino do pacote endereço end. MAC end. IP end. IP dados IP MAC de B de A de A de B datagrama quadro
  • 27. ARP: Address Resolution Protocol (Protocolo de Resolução de Endereços) Questão: como determinar Cada nó IP (Host, Roteador) o endereço MAC de B numa LAN tem um módulo e dado o endereço IP de B? uma tabela ARP Tabela ARP: mapeamento de endereços IP/MAC para alguns nós da LAN < endereço IP; endereço MAC; TTL> < ………………………….. > TTL (Time To Live): tempo depois do qual o mapeamento de endereços será esquecido (tipicamente 20 min)
  • 28. Protocolo ARP A conhece o endereço IP de B, quer aprender o endereço físico de B A envia em broadcast um pacote ARP de consulta contendo o endereço IP de B todas as máquinas na LAN recebem a consulta ARP B recebe o pacote ARP, responde a A com o seu (de B) endereço de camada física A armazena os pares de endereço IP-físico até que a informação se torne obsoleta (esgota a temporização) soft state: informação que desaparece com o tempo se não for re-atualizada
  • 29. Roteamento para outra LAN caminho: roteamento de A para B via R A R B Na tabela de roteamento no Host origem, encontra o roteador 111.111.111.110 Na tabela de ARP na origem, encontra o endereço MAC E6-E9-00- 17-BB-4B, etc
  • 30. A cria o pacote IP com origem A, destino B A usa ARP para obter o endereço de camada física de R correspondente ao endereço IP 111.111.111.110 A cria um quadro Ethernet com o endereço físico de R como destino, o quadro Ethernet contém o datagrama IP de A para B A camada de enlace de A envia o quadroEthernet A camada de enlace de R recebe o quadro Ethernet R remove o datagrama IP do quadro Ethernet, verifica que le se destina a B R usa ARP para obter o endereço físico de B R cria quadro contendo um datagrama de Na A para B e envia para B A R B
  • 31. Ethernet Tecnologia de rede local “dominante” : barato R$30 por 100Mbs! primeira tecnologia de LAN largamente usada Mais simples, e mais barata que LANs com token e ATM Velocidade crescente: 10, 100, 1000 Mbps Esboço da Ethernet por Bob Metcalf
  • 32. Estrutura do Quadro Ethernet Adaptador do transmissor encapsula o datagrama IP (ou outro pacote de protocolo da camada de rede) num quadro Ethernet Preâmbulo: 7 bytes com padrão 10101010 seguido por um byte com padrão 10101011 usado para sincronizar as taxas de relógio do transmissor e do receptor
  • 33. Estrutura do Quadro Ethernet (mais) Endereços: 6 bytes, quadro é recebido por todos os adaptadores e descartado se o endereço do quadro não coincide com o endereço do adaptador Tipo: indica o protocolo da camada superior, geralmente é o protocolo IP mas outros podem ser suportados tais como Novell IPX e AppleTalk) CRC: verificado no receptor, se um erro é detectado, o quadro é simplesmente descartado.
  • 34. Ethernet: usa CSMA/CD A: examina canal, se em silêncio então { transmite e monitora o canal; Se detecta outra transmissão então { aborta e envia sinal de “jam”; atualiza número de colisões; espera como exigido pelo algoritmo “exponential backoff”; vá para A } senão {quadro transmitido; zera contador de colisões} } senão {espera até terminar a transmissão em curso vá para A}
  • 35. Ethernet CSMA/CD (mais) Sinal “Jam”: garante que todos os outros transmissores estão cientes da colisão; 48 bits; “Exponential Backoff”: Objetivo: adaptar tentativas de retransmissão para carga atual da rede carga pesada: espera aleatória será mais longa primeira colisão: escolha K entre {0,1}; espera é K x 512 tempos de transmissão de bit após a segunda colisão: escolha K entre {0,1,2,3}… após 10 ou mais colisões, escolha K entre {0,1,2,3,4,…,1023}
  • 36. Tecnologias Ethernet: 10Base2 10: 10Mbps; 2: comprimento máximo do cabo de 200 metros (de fato, 186 metros) cabo coaxial fino numa topologia em barramento conector pacotes transmitidos T terminador viajam nas duas direções adaptador nó nó nó nó nó repetidores são usados para conectar múltiplos segmentos repetidor repete os bits que ele recebe numa interface para as suas outras interfaces: atua somente na camada física!
  • 37. 10BaseT e 100BaseT taxa de 10/100 Mbps; chamado mais tarde de “fast ethernet” T significa “Twisted Pair” (par trançado) Os nós se conectam a um hub por um meio físico em “par trançado”, portanto trata-se de uma “toppologia em estrela” CSMA/CD implementado no hub
  • 38. 10BaseT e 100BaseT (mais) Máxima distância do nó ao hub é de 100 metros Hub pode disconectar um adaptador que não para de transmitir (“jabbering adapter”) Hub can coletar e monitorar informações e estatísticas para apresentação ao administradores da LAN