O capítulo descreve os princípios e serviços da camada de enlace, incluindo detecção e correção de erros, protocolos de acesso múltiplo, endereçamento de camada de enlace usando ARP, e tecnologias como Ethernet, switches e IEEE 802.11.
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”)
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