Você está na página 1de 45

Capítulo 6

A camada de enlace
e LANs
Uma observação sobre o uso destes slides do
PowerPoint:
Estamos disponibilizando esses slides gratuitamente para todos
(professores, alunos, leitores). Eles estão no formato PowerPoint para
que você veja as animações; e pode adicionar, modificar e excluir slides
(incluindo este) e conteúdo de slides para atender às suas necessidades.
Obviamente representam muito trabalho da nossa parte. Em troca do
uso, pedimos apenas o seguinte:
Camada de enlace e LANs: objetivos
▪compreender os princípios
por trás dos serviços da
camada de enlace:
• detecção e correção de erros
• endereçamento da camada
de enlace
• redes locais: Ethernet, e
switches

Camada de link: 6-2


Camada de enlace e LANs: roteiro
▪ introdução
▪ detecção e correção de erros
▪ LANs
• endereçamento, ARP
• Ethernet
• swiches

Camada de link: 6-3


Camada de enlace: introdução
terminologia: rede móvel
▪ hosts, roteadores: nós ISP nacional ou global

▪ canais de comunicação que


conectam nós adjacentes ao longo
do caminho de comunicação: links
• com fio, sem fio
• LANs
▪ pacote da camada 2: quadro,
encapsula datagrama Datacenter

camada de enlace transfere datagrama


de um nó para um nó fisicamente rede corporativa
adjacente através de um link
Camada de link4
Camada de enlace: contexto
▪ datagrama transferido por
diferentes protocolos de enlace
em diferentes enlaces:
• por exemplo, WiFi no primeiro
enlace, Ethernet no próximo
enlace
▪ cada protocolo de enlace
fornece serviços diferentes
• por exemplo, pode ou não
fornecer transferência confiável de
dados
Camada de link5
Analogia de transporte
analogia do transporte:
▪ viagem de Princeton a Lausana
Princeton • limusine: Princeton para JFK
JFK • avião: JFK para Genebra
• trem: Genebra para Lausanne
▪ turista = datagrama
▪ segmento de transporte = link
de comunicação
▪ modo de transporte = protocolo
da camada de enlace
▪ agente de viagens = algoritmo
Genebra Lausana
de roteamento
Camada de link6
Camada de enlace: serviços
▪ enquadramento, acesso ao link: …
• encapsular datagrama em quadro, …
adicionando cabeçalho, trailer
Acesso por cabo
• acesso ao canal se for mídia compartilhada
• Os endereços “MAC” nos cabeçalhos dos
quadros identificam a origem e o destino
(diferente do endereço IP!)
▪ entrega confiável entre nós adjacentes
• já sabemos como fazer isso! celular
• raramente usado em links com baixo erro de
bit
LANs Ethernet
• links sem fio: altas taxas de erro
• P: por que ter confiabilidade tanto na
camada de enlace como na de Wi-fi
transporte?
Camada de link7
Camada de enlace: serviços (mais)
▪ controle de fluxo: …
• ritmo entre nós adjacentes de envio e …
recebimento
Acesso por cabo
▪ detecção de erro:
• erros causados pela atenuação do sinal, ruído.
• receptor detecta erros, retransmite sinais ou
descarta quadro
▪ correção de erros:
• receptor identifica e corrige erro(s) de bit sem celular
retransmissão
▪ half-duplex e full-duplex: LANs Ethernet
• com half duplex, os nós em ambas as
extremidades do link podem transmitir, mas não Wi-fi
ao mesmo tempo
Camada de link8
Implementação da camada de enlace do host

▪ em cada host
▪ camada de enlace é
implementada no chip ou na aplicativo
transporte
placa de interface de rede (NIC) rede
enlace
CPU memória

• implementa a camada física físico


barramento
host
▪ conecta-se aos barramentos do enlace
físico
controlador (por
exemplo,

sistema do host físico PCI)

▪ combinação de hardware, interface de rede

software, firmware
Camada de link9
Comunicação de interfaces
aplicativo aplicativo
transporte transporte
CPU memória memória CPU
datagrama rede rede
enlace enlace
físico

linkh datagrama controlador datagrama


link h controlador
enlace
enlace
físico físico
físico físico

lado de envio: lado receptor:


▪ encapsula datagrama em quadro ▪ procura erros, transferência
▪ adiciona bits de verificação de erros, confiável de dados, controle de
transferência confiável de dados, fluxo, etc.
controle de fluxo, etc. ▪ extrai o datagrama, passa para a
camada superior no lado receptor
Camada de link10
Camada de enlace, LANs: roteiro
▪ introdução
▪ detecção e correção de
erros
▪ LANs
• endereçamento, ARP
• Ethernet
• switches

Camada de link: 6-11


Detecção de erro
EDC: bits de detecção e correção de erros (por exemplo, redundância)
D: dados protegidos por verificação de erros, podem incluir campos de
cabeçalho
datagram datagram A detecção de erros não é
otherwise 100% confiável!
all
bits in D’ N ▪ protocolo pode perder
OK detected alguns erros, mas
? error
d data bits raramente
D EDC D’ EDC’ ▪ campo EDC maior
produz melhor
bit-error prone link detecção e correção

Link Layer 12
Camada de link, LANs: roteiro
▪ introdução
▪ detecção de erros, correção
▪ LANs
• endereçamento, ARP
• Ethernet
• switches

Camada de link: 6-13


Endereços MAC
▪ Endereço IP de 32 bits:
• da camada de rede para interface
• usado para encaminhamento da camada 3 (camada de rede)
• por exemplo: 128.119.40.136
▪ Endereço MAC (ou LAN ou físico ou Ethernet):
• função: usado “localmente” para obter quadros de uma interface para
outra interface conectada fisicamente (mesma sub-rede, no sentido de
endereçamento IP)
• Endereço MAC de 48 bits (para a maioria das LANs) gravado na ROM da
NIC, às vezes também configurável por software
• por exemplo: 1A-2F-BB-76-09-AD
notação hexadecimal (base 16)
(cada “numeral” representa 4 bits)
Camada de link: 6-14
Endereços MAC
cada interface na LAN
▪ endereço MAC exclusivo de 48 bits
▪ tem um endereço IP localmente exclusivo de 32 bits (como vimos)

137.196.7.78
1A-2F-BB-76-09-AD

LAN
(com ou sem fio)
137.196.7/24
71-65-F7-2B-08-53 58-23-D7-FA-20-B0
137.196.7.23 137.196.7.14

0C-C4-11-6F-E3-98
137.196.7.88

Camada de link: 6-15


Endereços MAC
▪ Alocação de endereço MAC administrada pelo IEEE
▪ fabricante compra parte do espaço de endereço MAC
(para garantir exclusividade)
▪ analogia:
• Endereço MAC: como número de segurança social
• Endereço IP: como endereço postal
▪Endereço MAC: portabilidade
• pode mover a interface de uma LAN para outra
• recuperar endereço IP não é portável: depende da sub-rede IP
à qual o nó está conectado
Camada de link: 6-16
ARP: protocolo de resolução de endereço
Pergunta: como determinar o endereço MAC da interface, conhecendo seu
endereço IP?
Tabela ARP: cada nó IP (host,
ARP
roteador) na LAN possui tabela
137.196.7.78
ARP
1A-2F-BB-76-09-AD • Mapeamentos de endereços
ARP IP/MAC para alguns nós da LAN:
LAN <endereço IP; Endereço MAC; TTL>
71-65-F7-2B-08-53
137.196.7.23
58-23-D7-FA-20-B0
137.196.7.14 • TTL (Time To Live): tempo após o
qual o mapeamento de endereço
ARP 0C-C4-11-6F-E3-98
137.196.7.88 será esquecido (normalmente 20
min)

Camada de link: 6-17


Protocolo ARP em ação
exemplo: A deseja enviar datagrama para B
• O endereço MAC de B não está na tabela ARP de A , então A usa ARP para encontrar o endereço
MAC de B

A transmite consulta ARP, contendo o endereço IP de B


Quadro Ethernet (enviado para FF-FF-FF-FF-FF-FF)
1 • endereço MAC de destino = FF-FF-FF-FF-FF-FF
• todos os nós na LAN recebem consulta ARP Source MAC: 71-65-F7-2B-08-53
Source IP: 137.196.7.23
ARP table in A Target IP address: 137.196.7.14

IP addr MAC addr TTL
TTL
A B
1
71-65-F7-2B-08-53 58-23-D7-FA-20-B0
137.196.7.23 137.196.7.14

D
Camada de link: 6-18
Protocolo ARP em ação
exemplo: A deseja enviar datagrama para B
• O endereço MAC de B não está na tabela ARP de A , então A usa ARP para encontrar o endereço
MAC de B
ARP message into Ethernet frame
(sent to 71-65-F7-2B-08-53)
C Target IP address: 137.196.7.14
Target MAC address:
ARP table in A 58-23-D7-FA-20-B0

IP addr MAC addr TTL
TTL
A B
2
71-65-F7-2B-08-53 58-23-D7-FA-20-B0
137.196.7.23 137.196.7.14

2 B replies to A with ARP response,


giving its MAC address
D
Camada de link: 6-19
Protocolo ARP em ação
exemplo: A deseja enviar datagrama para B
• O endereço MAC de B não está na tabela ARP de A , então A usa ARP para encontrar o endereço
MAC de B

C
ARP table in A
IP addr MAC addr TTL
TTL
137.196. 58-23-D7-FA-20-B0 500
A B
7.14

71-65-F7-2B-08-53 58-23-D7-FA-20-B0
137.196.7.23 137.196.7.14

3 A receives B’s reply, adds B entry


into its local ARP table
D
Camada de link: 6-20
Roteamento para outra sub-rede: endereçamento
passo a passo: enviando um datagrama de A para B via R
▪ foco no endereçamento – nos níveis IP e camada MAC (quadro)
▪ assuma:
• A conhece o endereço IP de B
• A conhece o endereço IP do roteador de primeiro salto, R (como?)
• A conhece o endereço MAC de R (como?)

A B
R
111.111.111.111
74-29-9C-E8-FF-55 222.222.222.222
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B
111.111.111.112 111.111.111.110
CC-49-DE-D0-AB-7D E6-E9-00-17-BB-4B 222.222.222.221
88-B2-2F-54-1A-0F
Camada de link: 6-21
Roteamento para outra sub-rede: endereçamento
▪ A cria datagrama IP com IP origem A, destino B
▪ A cria um quadro de camada de enlace contendo datagrama IP A para B
• de R é o destino do quadro
Fonte MAC: 74-29-9C-E8-FF-55
Destino MAC: E6-E9-00-17-BB-4B
Fonte IP: 111.111.111.111
Destino IP: 222.222.222.222

PI
Ét
Física

A B
R
111.111.111.111
74-29-9C-E8-FF-55 222.222.222.222
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B
111.111.111.112 111.111.111.110
CC-49-DE-D0-AB-7D E6-E9-00-17-BB-4B 222.222.222.221
88-B2-2F-54-1A-0F
Camada de link: 6-22
Roteamento para outra sub-rede: endereçamento
▪ quadro enviado de A para R
▪ quadro recebido em R, datagrama removido, passado para IP

Fonte MAC: 74-29-9C-E8-FF-55


Fonte IP: 111.111.111.111
Destino MAC: E6-E9-00-17-BB-4B
Destino IP: 222.222.222.222
Fonte IP: 111.111.111.111
Destino IP: 222.222.222.222

PI IP
Ét Ét
Física Física

A B
R
111.111.111.111
74-29-9C-E8-FF-55 222.222.222.222
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B
111.111.111.112 111.111.111.110
CC-49-DE-D0-AB-7D E6-E9-00-17-BB-4B 222.222.222.221
88-B2-2F-54-1A-0F
Camada de link: 6-23
Roteamento para outra sub-rede: endereçamento
▪ R determina a interface de saída, passa o datagrama com o IP origem A e destino
B para a camada de enlace
▪ R cria um quadro de camada de enlace contendo datagrama IP A para B. Endereço
de destino do quadro: endereço MAC de B
Fonte MAC: 1A-23-F9-CD-06-9B
Destino MAC: 49-BD-D2-C7-56-2A
Fonte IP: 111.111.111.111
Destino IP: 222.222.222.222

IP
Ét
Física

A B
R
111.111.111.111
74-29-9C-E8-FF-55 222.222.222.222
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B
111.111.111.112 111.111.111.110
CC-49-DE-D0-AB-7D E6-E9-00-17-BB-4B 222.222.222.221
88-B2-2F-54-1A-0F
Camada de link: 6-24
Roteamento para outra sub-rede: endereçamento
▪ R determina a interface de saída, passa o datagrama com o IP origem A e destino
B para a camada de enlace
▪ R cria um quadro de camada de enlace contendo datagrama IP A para B. Endereço
de destino do quadro: endereço MAC de B
Fonte MAC: 1A-23-F9-CD-06-9B
▪ transmite quadro da Destino MAC: 49-BD-D2-C7-56-2A
Fonte IP: 111.111.111.111
camada de enlace Destino IP: 222.222.222.222
PI
IP Ét
Ét Física
Física

A B
R
111.111.111.111
74-29-9C-E8-FF-55 222.222.222.222
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B
111.111.111.112 111.111.111.110
CC-49-DE-D0-AB-7D E6-E9-00-17-BB-4B 222.222.222.221
88-B2-2F-54-1A-0F
Camada de link: 6-25
Roteamento para outra sub-rede: endereçamento
▪ B recebe o quadro, extrai o destino do datagrama IP B
▪ B passa o datagrama pela pilha de protocolos para IP

Fonte IP: 111.111.111.111


Destino IP: 222.222.222.222

IP
IP Ét
Ét Física
Física

A B
R
111.111.111.111
74-29-9C-E8-FF-55 222.222.222.222
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B
111.111.111.112 111.111.111.110
CC-49-DE-D0-AB-7D E6-E9-00-17-BB-4B 222.222.222.221
88-B2-2F-54-1A-0F
Camada de link: 6-26
Camada de link, LANs: roteiro
▪ introdução
▪ detecção de erros, correção
▪ múltiplos protocolos de acesso
▪ LANs
• endereçamento, ARP
• Ethernet
• switches

Camada de link: 6-27


Ethernet
Tecnologia LAN com fio “ dominante ” :
▪ primeira tecnologia LAN amplamente utilizada
▪ mais simples, barato
▪ acompanhou a corrida de velocidade: 10 Mbps – 400 Gbps
▪ chip único, múltiplas velocidades (por exemplo, Broadcom
BCM5761)
Bob Metcalfe: co-inventor da Ethernet,
Vencedor do Prêmio ACM Turing 2022
Esboço Ethernet de
Metcalfe

https://www.uspto.gov/learning-and-resources/journeys-innovation/audio-stories/defying-doubters Camada de link: 6-28


Ethernet: topologia física
▪ barramento: popular até meados dos anos 90
• todos os nós no mesmo domínio de colisão (podem colidir entre si)
▪ comutada: prevalece hoje
• switch ativo da camada de enlace 2 no centro
• cada “ interface ” executa um protocolo Ethernet (separado) (os nós não
colidem entre si)

barramento: comutada
cabo coaxial

Camada de link: 6-29


Estrutura do quadro Ethernet
a interface de envio encapsula o datagrama IP (ou outro pacote de
protocolo da camada de rede) no quadro Ethernet
tipo
destino. fonte dados (carga CRC
preâmbulo endereço endereço útil)

preâmbulo:
▪ usado para sincronizar as taxas de clock do receptor e do remetente
▪ 7 bytes de 10101010 seguidos por um byte de 10101011

Camada de link: 6-30


Estrutura do quadro Ethernet (mais)
tipo
destino. fonte dados (carga CRC
preâmbulo endereço endereço útil)

▪ endereços: origem de 6 bytes, endereços MAC de destino


• se o adaptador receber um quadro com endereço de destino correspondente ou
com endereço de broadcast (por exemplo, pacote ARP), ele passará os dados do
quadro para o protocolo da camada de rede
• caso contrário, o adaptador descarta o quadro
▪ tipo: indica protocolo de camada superior
• principalmente IP, mas outros são possíveis, por exemplo, Novell IPX, AppleTalk
• usado para demultiplexar no receptor
▪ CRC: verificação de redundância cíclica no receptor
• erro detectado: o quadro foi descartado Camada de link: 6-31
Ethernet: não confiável, sem conexão
▪sem conexão: sem handshake entre NICs de envio e
recebimento
▪não confiável: o NIC receptor não envia ACKs ou NAKs para
o NIC remetente
• os dados em quadros descartados são recuperados apenas se o
remetente inicial usar rdt de camada superior (por exemplo,
TCP); caso contrário, os dados descartados serão perdidos
▪Protocolo MAC da Ethernet: CSMA/CD sem slot com
backoff binário

Camada de link: 6-32


Padrões Ethernet 802.3: link e camadas físicas
▪ muitos diferentes padrões Ethernet
• protocolo MAC comum e formato de quadro
• velocidades diferentes: 2 Mbps, ... 100 Mbps, 1 Gbps, 10 Gbps, 40 Gbps, 80
Gbps
• diferentes meios de camada física: fibra, cabo

Protocolo MAC
aplicativo
e formato de quadro
transporte
rede 100BASE-TX 100BASE-T2 100BASE-FX
link 100BASE-T4 100BASE-SX 100BASE-BX
físico

camada física de cobre (par trançado) camada física de fibra


Camada de link: 6-33
Camada de link, LANs: roteiro
▪ introdução
▪ detecção de erros, correção
▪ múltiplos protocolos de acesso
▪ LANs
• endereçamento, ARP
• Ethernet
• switches

Camada de link: 6-34


Comutador Ethernet
▪ Switch é um dispositivo de camada de enlace : assume um
papel ativo
• armazenar, encaminhar quadros Ethernet
• examina o endereço MAC do quadro recebido, encaminha
seletivamente o quadro para um ou mais enlaces de saída quando o
quadro for encaminhado no segmento
▪ transparente: hosts não sabem da presença de switches
▪ plug-and-play, autoaprendizagem
• switches não precisam ser configurados

Camada de link: 6-35


Switch: múltiplas transmissões simultâneas
▪ hosts têm conexão direta e dedicada
ao switch A
▪ comuta pacotes de buffer C' B
▪ Protocolo Ethernet usado em cada 1 2
link de entrada, então: 6
3
• sem colisões; duplex completo 5 4
• cada link é seu próprio domínio
de colisão B' C
A'
▪ comutação: A-para-A' e B-para-B ' podem
transmitir simultaneamente, sem colisões switch com seis
interfaces ( 1,2,3,4,5,6 )

Camada de link: 6-36


Switch: múltiplas transmissões simultâneas
▪ hosts têm conexão direta e dedicada
ao switch A
▪ comuta pacotes de buffer C' B
▪ Protocolo Ethernet usado em cada 1 2
link de entrada, então: 6
3
• sem colisões; duplex completo 5 4
• cada link é seu próprio domínio
de colisão B' C
A'
▪ comutação: A-para-A' e B-para-B ' podem
transmitir simultaneamente, sem colisões switch com seis
interfaces ( 1,2,3,4,5,6 )
• mas A-para-A' e C para A' não podem
acontecer simultaneamente
Camada de link: 6-37
Tabela de encaminhamento de switch
P: como o switch sabe que A' é acessível pela
interface 4, B' é acessível pela interface 5? A
C' B
A: cada switch tem uma tabela de
switch, cada entrada: 1 2
6
▪ (Endereço MAC do host, interface para 3
5 4
acessar o host, carimbo de data/hora)
▪ parece uma tabela de roteamento! B' C
A'
P: como as entradas são criadas e
mantidas na tabela switch?
▪ algo como um protocolo de roteamento?
Camada de link: 6-38
Switch: autoaprendizagem
Fonte: A

▪ O switch aprende quais Destino: A '

AA '
hosts podem ser alcançados A
através de quais interfaces C' B
• quando o quadro é recebido, o 1 2
switch “aprende” a localização 6
do remetente: segmento LAN 3
5 4
de entrada
• registra o par remetente/local B' C
A'
na tabela de switch
Tabela MAC
MAC addr interface TTL (inicialmente vazia)

Camada de link: 6-39


Switch: filtragem/encaminhamento de quadros
quando o quadro é recebido no switch:
1. registre o link de entrada, endereço MAC do host remetente
2. indexa tabela do switch usando endereço de destino MAC
3. se entrada encontrada para destino
então {
se destino no segmento de onde o quadro chegou
então descarta o quadro
senão encaminha o quadro na interface indicada pela entrada
}
else inunda /* encaminha em todas as interfaces, exceto na
interface que chega */
Camada de link: 6-40
Self-learning, forwarding: example Source: A
Dest: A’

▪ frame destination, A’, A A’


location unknown: flood A
C’ B
▪ destination A location
1
known: selectively send 6A A’
2

on just one link 3


5 4

B’ C
A’ A A’

MAC addr interface TTL


A 1 60 switch table
A’ 4 60 (initially empty)

Link Layer: 6-41


Swiches de interconexão
switches de autoaprendizagem podem ser conectados entre si:

S4 _

S1 _
S3 _
A S2 _
F
D EU
B C
G H
E

P: enviando de A para G - como S1 sabe encaminhar o quadro destinado


a G via S4 e S3?
▪ A: auto-aprendizagem! (funciona exatamente da mesma forma que
no caso de switch único!)
Camada de link: 6-42
Exemplo de multiswitch de autoaprendizagem
Suponha que C envie um quadro para I, eu responda a C
S4 _

S1 _
S3 _
A S2 _
F
D EU
B C
G H
E

P: mostrar as tabelas MAC e encaminhamento de pacotes em


S1 , S2 , S3 , S4

Camada de link: 6-43


Switches x roteadores application
transport
ambos são store-and-forward: datagram network
▪ roteadores: dispositivos da camada de rede frame link
(examina os cabeçalhos da camada de physical link frame
rede) physical
▪ switches: dispositivos da camada de enlace switch
(examina os cabeçalhos da camada de
enlace) network datagram
ambos têm tabelas de encaminhamento: link frame
physical
▪ roteadores: tabelas de computação usando
algoritmos de roteamento, endereços IP application
▪ switches: aprende a tabela de transport
encaminhamento usando inundação e network
endereços MAC link
physical

Camada de link: 6-44


Capítulo 6: vamos respirar
▪ jornada pela pilha de protocolos concluída (exceto PHY)
▪ compreensão sólida dos princípios de rede, pratique!
▪ ….. poderia parar por aqui…. mas tópicos mais
interessantes!
• sem fio
• segurança

Camada de link: 6-45

Você também pode gostar