Cap05b

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

Transcript of Cap05b

Page 1: Cap05b

Capítulo 5: A Camada de EnlaceNossos objetivos:

entender os princípios por trás dos serviços da camadade enlace:

detecção de erros,correçãocompartilhando um canal broadcast: acesso múltiploendereçamento da camadade enlacetrasnferência de dadosconfiável, controle de fluxo: já visto!

instanciação e implementação de várias tecnologias da camada de enlace

Visão Geral:serviços da camada de enlacedetecção de erros, correçãoprotocolos de acesso múltiplo e LANsendereçamento da camada de enlace, ARPtecnologias específicas da camada de enlace:

Ethernethubs, pontes, switchesIEEE 802.11 LANsPPPATM

Page 2: Cap05b

Camada de enlace: definindo o contexto

fluxo real de PDUsRoteador R1

Roteador R4

Roteador R3Roteador R3Roteador R2

protocolode enlace

Page 3: Cap05b

dois elementos físicos fisicamente conectados:host-roteador, roteador-roteador, host-host

unidade de dados: quadro (frame)

aplicaçãotransporte

redeenlacefísica

redeenlacefísica

MMMM

Ht

HtHnHtHnHl MHtHnHl

quadroenlacefísico

protocolode enlace

placa adaptadora

Camada de enlace: definindo o contexto

Page 4: Cap05b

Serviços da Camada de EnlaceEnquadramento, acesso ao enlace:

encapsula datagramas em quadros, acrescentando cabeçalhos e trailerimplementa 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?

Page 5: Cap05b

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 comerro(s) sem recorrer à retransmissão

Page 6: Cap05b

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

aplicaçãotransporte

redeenlacefísica

redeenlacefísica

MMMM

Ht

HtHnHtHnHl MHtHnHl

quadroenlacefísico

protocolode enlace

placa adaptadora

Page 7: Cap05b

Detecção de ErrosEDC= Bits de Detecção e Correção de Erros (redundancia)D = Dados protegidos pela verificação de erros, pode incluir os campos decabeç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 ecorreção de erros

Page 8: Cap05b

Verificação de ParidadeParidade com Bitúnico:Detecta erro de um únicobit

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

0 0sem erros erro de

paridadeerro de 1 bitcorrigível

erro deparidade

bit deparidade

Page 9: Cap05b

Checksum da Internet

Sender:trata o conteúdo desegmentos como seqüências de números inteiros de 16 bitschecksum: adição (somaem complemento de um) do conteúdo do segmento transmissor coloca o valor do checksum no campo checksum do UDP

Receptor:computa o checksum do segmento recebidoverifica se o checksum calculado é igual ao valor do campo checksum:

NÃO - erro detectaadoSIM - não detectou erro. Mas talvez haja erros apesar disso? Mais depois….

Objetivo: detectar “erros” (ex. bits trocados) numsegmento transmitido (nota: usado apenas na camada de trasnporte)

Page 10: Cap05b

Verificação de Redundância Cíclicaencara os bits de dados, D, como um número bináarioescolhe um padrão gerador de r+1 bits, Gobjetivo: 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 é diferentede zero: erro detectado!pode detectar todos os erros em seqüência (burst errors) comcomprimento menor que r+1 bits

largamente usado na prática (ATM, HDCL)

padrão de bits

fórmulamatemática

bits de dados a enviar

Page 11: Cap05b

Exemplo de CRCDesejado:

D.2r XOR R = nGequivalente a:

D.2r = nG XOR R equivalente a:

se nós dividimosD.2r por G, buscamos resto R

R = resto[ ]D.2rG

Page 12: Cap05b

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)

Page 13: Cap05b

Protocolos de Acesso Múltiplocanal 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 transmitircomunicação sobre o compartilhamento do canal deve utilizar o próprocanal! 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

Page 14: Cap05b

Protocolos de Acesso Múltiplo

tese: os humanos usam protocolos demúltiplo acesso todo o tempo classe pode ”descobrir" protocolos demúltiplo acesso

protocolo multiacesso 1:protocolo multiacesso 2:protocolo multiacesso 3:protocolo multiacesso 4:

Page 15: Cap05b

Protocolos MAC: uma taxonomiaTrês grandes classes:

Particionamento de canaldividem o canal em pedaços menores (compartimentos de tempo, freqüência)aloca um pedaço para uso exclusivo de cada nó

Acesso Aleatóriopermite colisões“recuperação” das colisões

Passagem de Permissãocompartilhamento estritamente coordenado para evitar colisões

Objetivo: eficiente, justo, simples,descentralizado

Page 16: Cap05b

Protocolos MAC com Particionamento de Canal: TDMA

TDMA: acesso múltiplo por divisão temporalacesso 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çadosexemplo: rede local com 6 estações: 1,3,4 têm pacotes,compartimentos 2,5,6 ficam vazios

Page 17: Cap05b

FDMA: acesso múltiplo por divisão de freqüênciao espectro do canal é dividido em bandas de freqüênciacada estação recebe uma banda de freqüênciatempo 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 bandasde freqüência 2,5,6 ficam vazias

band

asde

freq

üênc

ia tempo

Protocolos MAC com Particionamentode Canal: FDMA

Page 18: Cap05b

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 oparticionamentomuito usado em canais broadcast, sem-fio (celular, satelite,etc)todos os usuários usam a mesma freqüência, mas cada usuário tem asua 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 decodificaçã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”)

Page 19: Cap05b

CDMA Codificação e Decodificaçãotransmissor

receptor

Page 20: Cap05b

CDMA: interferência de dois transmissorestransmissores

receptor 1

Page 21: Cap05b

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

Page 22: Cap05b

Tecnologias de LANCamada de enlace até agora:

serviços, detecção de erros/correção, acesso múltiplo

A seguir: tecnologias de redes locais (LAN)endereçamentoEthernethubs, pontes, switches802.11PPPATM

Page 23: Cap05b

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 dedestino (lembre da definição de rede IP)

Endereço de LAN (ou MAC ou físico): usado para levar o datagrama de uma interfacefísica a outra fisicamente conectada com aprimeira (isto é, na mesma rede) Endereços MAC com 48 bits (na maioria das LANs) gravado na memória fixa (ROM) do adaptador derede

Page 24: Cap05b

Endereços de LAN e ARPCada adaptador numa LAN tem um único endereço de LAN

Page 25: Cap05b

Endereços de LAN (mais)

A alocação de endereços MAC é administrada pelo IEEEO 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áveldepende da rede na qual se está ligado

Page 26: Cap05b

Lembre a discussão anterior sobre roteamento

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

BE

Começando em A, dado que o datagrama está endereçado para B (endereço IP):procure rede.endereço de B, encontre B em alguma rede, no caso igual à rede de Acamada de enlace envia datagrama para B dentro de um quadro da camada de enlace

endereçoMAC de B

end. MACde A

end. IPde A

end. IPde B dados IP

datagramaquadro

endereço de origeme destino do quadro

endereço de origeme destino do pacote

Page 27: Cap05b

ARP: Address Resolution Protocol(Protocolo de Resolução de Endereços)

Cada nó IP (Host, Roteador) numa LAN tem um módulo euma tabela ARPTabela ARP: mapeamento deendereços IP/MAC para alguns nós da LAN

< endereço IP; endereço MAC; TTL>< ………………………….. >

TTL (Time To Live): tempodepois do qual o mapeamentode endereços será esquecido(tipicamente 20 min)

Questão: como determinaro endereço MAC de Bdado o endereço IP de B?

Page 28: Cap05b

Protocolo ARPA conhece o endereço IP de B, quer aprender oendereç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 consultaARP

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é quea informação se torne obsoleta (esgota atemporização)

soft state: informação que desaparece com o tempo se não for re-atualizada

Page 29: Cap05b

Roteamento para outra LANcaminho: roteamento de A para B via R

Na tabela de roteamento no Host origem, encontra o roteador111.111.111.110Na tabela de ARP na origem, encontra o endereço MAC E6-E9-00-17-BB-4B, etc

A

RB

Page 30: Cap05b

A cria o pacote IP com origem A, destino B A usa ARP para obter o endereço de camada física de Rcorrespondente ao endereço IP 111.111.111.110A 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 sedestina a BR usa ARP para obter o endereço físico de B R cria quadro contendo um datagrama de Na A para B e envia paraB

A

RB

Page 31: Cap05b

EthernetTecnologia de rede local “dominante” :

barato R$30 por 100Mbs!primeira tecnologia de LAN largamente usadaMais simples, e mais barata que LANs com token e ATMVelocidade crescente: 10, 100, 1000 Mbps

Esboço da Ethernetpor Bob Metcalf

Page 32: Cap05b

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 10101011usado para sincronizar as taxas de relógio do

transmissor e do receptor

Page 33: Cap05b

Estrutura do Quadro Ethernet (mais)

Endereços: 6 bytes, quadro é recebido por todos os adaptadores e descartado se o endereço doquadro não coincide com o endereço do adaptadorTipo: indica o protocolo da camada superior, geralmente é o protocolo IP mas outros podem sersuportados tais como Novell IPX e AppleTalk)CRC: verificado no receptor, se um erro édetectado, o quadro é simplesmente descartado.

Page 34: Cap05b

Ethernet: usa CSMA/CDA: 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}

Page 35: Cap05b

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ãopara carga atual da rede

carga pesada: espera aleatória será mais longaprimeira colisão: escolha K entre {0,1}; espera é K x 512 tempos de transmissão de bitapó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}

Page 36: Cap05b

Tecnologias Ethernet: 10Base2

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

repetidores são usados para conectar múltiplos segmentos repetidor repete os bits que ele recebe numa interface paraas suas outras interfaces: atua somente na camada física!

pacotes transmitidosviajam nas duas direções

conectorT terminador

adaptador

nó nó nó nó nó

Page 37: Cap05b

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 “partrançado”, portanto trata-se de uma “toppologia em estrela”CSMA/CD implementado no hub

Page 38: Cap05b

10BaseT e 100BaseT (mais)

Máxima distância do nó ao hub é de 100 metrosHub pode disconectar um adaptador que não parade transmitir (“jabbering adapter”)Hub can coletar e monitorar informações eestatísticas para apresentação ao administradores da LAN