cap05b
TRANSCRIPT
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
Camada de enlace: definindo o contexto
fluxo real de PDUsRoteador R1
Roteador R4
Roteador R3Roteador R3Roteador R2
protocolode enlace
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
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?
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
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
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
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
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)
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
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
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ú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
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:
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
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
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
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”)
CDMA Codificação e Decodificaçãotransmissor
receptor
CDMA: interferência de dois transmissorestransmissores
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 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
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
Endereços de LAN e ARPCada adaptador numa LAN tem um único endereço de LAN
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
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
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?
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
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
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
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
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
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.
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}
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}
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ó
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
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