Capítulo 5: Camada de Enlace

Propaganda
Nossas metas:
… Entender os princípios embutidos nos serviços da
Capítulo 5: Camada de Enlace
camada de enlace:
 Detecção e correção de erro
 Controle de acesso de enlaces compartilhados
 Endereçamento da camada de enlace
Antônio Abelém
Abelé[email protected]
 Tranferência confiável de dados e controle de fluxo: já feito!
… Instanciação e implementação de várias tecnologias
usadas na camada de enlace
5: Camada de Enlace 5a-1
Camada de Enlace: Introdução
“enlace”
Algumas terminologias:
… Estações e roteadores são nós
(pontes e comutadores também)
… Canais de comunicação que
conectam nós adjacentes através
de um caminho são enlaces:
5: Camada de Enlace 5a-2
Camada de enlace: contexto
… Datagrama transferido por
diferentes protocolos
através de diferentes
enlaces:
 e.g., Ethernet no primeiro
enlace, frame relay no
enlace intermediário,
802.11 no último enlace.
 wired links
 wireless links
… Cada protocolo da camada
de enlace fornece serviço
diferente
 LANs
… O PDU é um quadro, que encapsula
datagramas
A camada de enlace tem a responsabilidade
de transferir datagramas de um nó
Para outro adjacente através de um enlace.
5: Camada de Enlace 5a-3
 e.g., pode ou não fornecer
confiabilidade através do
enlace
Analogia com transporte
… viagem de Castanhal para São
Paulo
 carro: castanhal para Belém
 avião: Belém para Rio
 trem: Rio para São Paulo
… turista = datagrama
… segmento de transporte =
enlace de comunicação
… modo de transporte =
protocolo da camada de enlace
… agente de viagem = algoritmo
de roteamento
5: Camada de Enlace 5a-4
Serviços da Camada de Enlace
… Enquadramento e acesso ao enlace:
 encapsula datagrama num quadro incluindo cabeçalho e
cauda,
 implementa acesso ao canal se meio for compartilhado,
 ‘endereços físicos’ são usados em cabeçalhos de quadros
para identificar origem e destino de quadros em enlaces
multiponto
… Entrega confiável:
 Pouco usada em fibra óptica, cabo coaxial e alguns tipos
de pares trançados devido a taxas de erro de bit muito
baixas.
 Usada em enlaces de rádio, onde a meta é reduzir erros
assim evitando a retransmissão fim a fim.
5: Camada de Enlace 5a-5
Implementação de Protocolo da Camada
de Enlace
… Protocolo da camada de enlace é implementado totalmente no
adaptador (p.ex., cartão PCMCIA). Adaptador tipicamente
inclui: RAM, circuitos de processamento digital de sinais,
interface do barramento do computador, e interface do enlace
… Operações envio do adaptador: encapsula (coloca número de
sequência, info de realimentação, etc.), inclui bits de deteção
de erros, implementa acesso ao canal para meios
compartilhados, coloca no enlace
… Operações recebe do adaptador : verificação e correção de
erros, interrompe computador para enviar quadro para a
camada superior, atualiza info de estado a respeito de
realimentação para o remetente, número de seqüência, etc.
5: Camada de Enlace 5a-7
Serviços da Camada de Enlace (mais)
… Controle de Fluxo:
 compatibilizar taxas de produção e consumo de quadros
entre remetentes e receptores
… Deteção de Erros:
 erros são causados por atenuação do sinal e por ruído
 receptor deteta presença de erros
 receptor sinaliza ao remetente para retransmissão, ou
simplesmente descarta o quadro em erro
… Correção de Erros:
 mecanismo que permite que o receptor localize e corrija o
erro sem precisar da retransmissão
5: Camada de Enlace 5a-6
Enlaces e Protocolos de Múltiplo Acesso
Dois tipos de enlace:
(a) Ponto-a-ponto (um emissor, um receptor, p.ex. PPP)
(b) Difusão (cabo ou meio compartilhado;
p.ex., Ethernet tradicional, rádio, etc.)
Começamos com enlaces com Difusão.
Desafio principal: Protocolo de Múltiplo Acesso
5: Camada de Enlace 5a-8
Protocolos de Controle de Acesso ao
Meio (MAC)
… Protocolo MAC: coordena transmissões de estações
diferentes a fim de minimizar/evitar colisões. Tem 3 classes:
(a) Particionamento do Canal
(b) Acesso Randômico
(c) “Revezamento”
… Meta: ser eficiente, justo, simples, descentralizado
5: Camada de Enlace 5a-9
Protocolos de Acesso Randômico
… Uma estação transmite aleatoriamente (ié, sem
coordenação a priori entre estações) ocupando toda a
capacidade R do canal.
… Se houver “colisão” entre as transmissões de duas ou
mais estações, elas retransmitem depois de espera
randômica
… O protocolo MAC de acesso randômico especifica
como detetar colisões e como recuperar delas (através
de retransmissões retardadas, por exemplo)
… Exemplos de protocolos MAC de acesso randômico:
(a) SLOTTED ALOHA
(b) ALOHA
(c) CSMA e CSMA/CD
5: Camada de Enlace 5a-11
Protocolos de Particionamento do Canal
… TDMA (Multiplexação por Divisão de
Tempo):
 canal dividido em N intervalos de
tempo (“slots”), um para cada
usuário; ineficiente com usuários
de pouco demanda ou quando
carga for baixa.
… FDMA (Multiplexação por Divisão de
Freqüência):
 freqüência subdividida.
… CDMA (Múltiplo Acesso por Divisão
por Código):
 explora esquema de codificação
de espectro espalhado - DS
(Direct Sequence) ou FH
(Frequency Hopping)
 “código” único associado a cada
canal; ié, particionamento do
conjunto de códigos
5: Camada de Enlace 5a-10
CSMA (Carrier Sense Multiple Access)
… CSMA: escuta antes de transmitir. Se deteta que o canal
está sendo usado, adia transmissão.
… CSMA persistente: tenta novamente assim que se tornar
ocioso o canal (isto pode provocar instabilidade)
… CSMA não persistente: tenta novamente depois de intervalo
randômico
… Note: colisões ainda podem ocorrer, pois duas estações
podem detetar o canal ocioso ao mesmo tempo (ou, melhor,
dentro de uma janela de “vulnerabilidade” = retardo ida e
volta entre as duas estações envolvidas)
… No caso de colisão, é desperdiçado todo o tempo de
transmissão do pacote
5: Camada de Enlace 5a-12
CSMA/CD (Deteção de Colisões)
… CSMA/CD: escuta do meio e adiamento como em CSMA.
Entretanto, colisões detetadas rapidamente, em poucos
“intervalos de bit”.
… Transmissão é então abortada, reduzindo consideravelmente
o desperdício do canal.
… Tipicamente, é implementada retransmissão persistente
… Deteção de colisões é fácil em rede locais usando cabo
(p.ex., E-net): pode-se medir a intensidade do sinal na linha,
detetar violações do código, ou comparar sinais Tx e Rx
… Deteção de colisões não pode ser realizada em redes locais
de rádio (o receptor é desligado durante transmissão, para
evitar danificá-lo com excesso de potência)
… CSMA/CD pode conseguir utilização do canal perto de 100%
em redes locais (se tiver baixa razão de tempo de
propagação para tempo de transmissão do pacote)
5: Camada de Enlace 5a-13
Protocolos MAC de “revezamento”
… Protocolos MAC de revezamento conseguem tanto justeza
como acesso individual a toda a capacidade do enlace, ao
custo de maior complexidade de controle
(a) Polling: uma estação Mestre numa rede local “convida”
em ordem as estações escravas a transmitir seus pacotes
(até algum Máximo). Problemas: custo de Request to
Send/Clear to Send, latência, ponto único de falha (Mestre)
(b) Passagem de ficha de permissão: a ficha de
permissão é passada seqüencialmente de estação a estação.
É possível aliviar a latência e melhorar tolerância a falhas
(numa configuração de barramento de fichas). Entretanto,
procedimentos complexos para recuperar de perda de ficha,
etc.
5: Camada de Enlace 5a-15
Protocolos MAC de “revezamento”
Até aqui já vimos:
… Protocolos MAC de particionamento de canal (TDMA,
FDMA e CDMA) podem compartilhar o canal eqüitativamente;
porém, uma única estação não consegue usar toda a
capacidade do canal
… Protocolos MAC de acesso randômico permitem que um único
usuário utilize toda a capacidade do canal; entretanto, eles
não conseguem compartilhar o canal de maneira justa (de
fato, é comum observar a captura do canal)
… Também existem protocolos de “revezamento”...
5: Camada de Enlace 5a-14
Sumário de protocolos MAC
… O que se pode fazer com um meio compartilhado?
 Particionamento do canal, por tempo, freqüência ou código
• TDMA, FDMA, CDMA, WDMA (wave division)
 Particionamento randômico (dinâmico),
• ALOHA, S-ALOHA, CSMA, CSMA/CD
 Revezamento
• polling de um nó central, passagem de ficha de permissão
… Para satélites, é difícil detetar se o canal está ocupado (se o canal está
transportando um sinal): ALOHA
… Em rede locais, deteção do portador é mais fácil, (mas não é perfeita):
CSMA
… Melhor se existe Deteção de Colisões (CSMA/CD)
… 802.3 (Ethernet) é CSMA/CD
5: Camada de Enlace 5a-16
Tecnologias de Rede Local
… Protocolos MAC usados em redes locais, para controlar
acesso ao canal
… Anéis de fichas: IEEE 802.5 (Token Ring da IBM), para sala
de computação, ou rede departamental, até 16Mbps; FDDI
(Fiber Distributed Data Interface), para rede de Campus ou
Metropolitana, até 200 estações, em 100Mbps.
… Ethernet: emprega o protocolo CSMA/CD; 10Mbps (IEEE
802.3), Fast E-net (100Mbps), Gigabit E-net (1,000 Mbps);
de longe a tecnologia mais popular de rede local
5: Camada de Enlace 5a-17
Endereço físico (cont)
… Alocação de endereços MAC administrada pelo IEEE
… Um fabricante compra uma parte do espaço de
endereços (para garantir unicidade)
… Analogia:
(a) endereço MAC: como número do CPF
(b) endereço IP: como endereço postal
… endereço MAC sem estrutura (flat)=> portabilidade
… endereço IP hierárquico NÃO é portátil (requer IP
móvel)
… endereço MAC de difusão (broadcast): 1111………….1111
5: Camada de Enlace 5a-19
Endereços físicos e ARP
… Endereço IP: usado para levar o pacote à rede destino
… Endereço físico (ou MAC): usado para levar o pacote até o cartão
de interface de rede local (cartão de adaptador) da estação de
destino na rede local
… Endereço MAC de 48 bits
(para a maioria das redes);
queimado na ROM
do adaptador
5: Camada de Enlace 5a-18
ARP: Address Resolution Protocol
… Cada nó IP (Estação, Roteador) na rede local possui módulo e
Tabela ARP
… Tabela ARP (cache): mapeamento entre endereços IP/MAC
para alguns nós na rede local
< endereço IP; endereço MAC; TTL>
<
………………………….. >
… TTL (Time To Live):
temporizador,
tipicamente alguns
poucos minutos (<5)
5: Camada de Enlace 5a-20
ARP (cont)
Roteando um pacote para outra rede local
… Nó A quer enviar pacote para endereço IP de
destino XYZ na mesma rede local
… Nó de origem primeiro verifica se sua própria
Tabela ARP contém o endereço IP XYZ
… Se XYZ não estiver na Tabela ARP, o módulo ARP
difunde pacote ARP:
< XYZ, MAC (?) >
… TODOS nós na rede local aceitam e inspecionam o
pacote ARP
… Nó XYZ responde ao nó A com pacote ARP unicast
(ponto a ponto) informando seu próprio endereço
MAC :
< XYZ, MAC (XYZ) >
… Endereço MAC de XYZ guardado na Tabela ARP
… Por exemplo, rotear pacote do endereço IP de origem
<111.111.111.111> ao endereço de destino <222.222.222.222>
… Na tabela de rotas na origem, encontra roteador 111.111.111.110
… Na tabela ARP na origem, tira endereço MAC E6-E9-00-17-BB-4B,
etc
5: Camada de Enlace 5a-21
Ethernet
5: Camada de Enlace 5a-22
Estrutura de Quadro Ethernet
… Muitíssimo difundida porque:
 Muito barata! R$30 para 100Mbps!
 A mais antiga das tecnologias de rede local
 Mais simples e menos cara que redes usando ficha ou ATM
 Acompanhou o aumento de velocidade: 10, 100, 1000 Mbps
 Muitas tecnologias E-net (cabo, fibra, etc). Mas todas
compartilham características comuns
… Adaptador remetente encapsula datagrama IP (ou pacote
de outro protocolo da camada de rede) num Quadro
Ethernet que contém campos de Preâmbulo, Cabeçalho,
Dados e CRC
… Preâmbulo: 7 bytes com o padrão 10101010 seguidos por um
byte com o padrão 10101011; usado para sincronizar receptor
ao relógio do remetente (relógios nunca são exatos, é muito
provável que exista algum desvio entre eles)
5: Camada de Enlace 5a-23
5: Camada de Enlace 5a-24
Estrutura de Quadro Ethernet (cont)
… Cabeçalho contém Endereços de Destino e Origem
e um campo Tipo
… Endereços: 6 bytes, o quadro é recebido por todos
adaptadores numa rede local e descartado se não
casar o endereço de destino com o do receptor
… Tipo: indica o protocolo da camada superior,
usualmente IP, mas existe suporte para outros
(tais como IPX da Novell e AppleTalk)
… CRC: verificado pelo receptor: se for detetado um
erro, o quadro será descartado
Codificação Manchester de Banda Básica
… Banda básica significa que não se usa modulação de portador; ao
invés disto, bits são codificados usando codificação Manchester
e transmitidos diretamente, modificando a voltagem de sinal de
corrente contínuo
… Codificação Manchester garante que ocorra uma transição de
voltagem a cada intervalo de bit, ajudando sincronização entre
relógios do remetente e receptor
5: Camada de Enlace 5a-25
Tecnologias Ethernet: 10Base2
… 10=>10Mbps; 2=> comprimento máximo de segmento de menos de
200 metros; também chamada de “Cheapernet”
… Utiliza cabo coaxial fino (4mm) em topologia de barramento
… Repetidores são usados para interligar múltiplos segmentos (até 5
em qualquer caminho); um repetidor repete os bits escutados em
uma interface para sua(s) outra(s) interface(s), ié, ele é apenas um
dispositivo da camada física!
5: Camada de Enlace 5a-26
10BaseT e 100BaseT
… Taxas de transmissão de 10 e 100 Mbps; este último é
chamado de “fast ethernet”
… T significa Par Trançado
… Usa concentrador (“hub”) ao qual os nós estão ligados por
cabos individuais de 2 pares trançados, mostrando, portanto
uma “topologia em estrela”
… Distância máxima do nó ao hub é de 100 metros
… Hub pode desligar da rede um adaptador falho (“jabbering”);
10Base2 não funcionaria se um adaptador não pára de
transmitir no cabo
… Hub pode coletar informação e estatísticas de
monitoramento para administradores da rede
… 100BaseT não usa codificação Manchester; usa 4B5B para
maior eficiência
5: Camada de Enlace 5a-27
5: Camada de Enlace 5a-28
Gbit Ethernet
… Usa formato do quadro Ethernet padrão
… Admite enlaces ponto-a-ponto e canais de difusão
compartilhados
… Em modo compartilhado, usa-se CSMA/CD; para ser
eficiente, as distâncias entre os nós devem ser curtas
(poucos metros)
… Os Hubs usados são chamados de Distribuidores com
Buffers (“Buffered Distributors”)
… Full-Duplex em 1 Gbps para enlaces ponto-a-ponto
ATM
… ATM (Asynchronous Transfer Mode) é a tecnologia de comutação
e transporte da arquitetura RDSI-FL (Rede Digital de Serviços
Integrados de Faixa Larga)
… Metas: acesso em alta velocidade para usuários comerciais e
domésticos (155Mbps to 622 Mbps); suporte para serviços
integrados (voz, dados, vídeo, imagem)
… Nota-se: o uso de enlaces ponto-a-ponto também foi
estendido a 10Base-T e 100Base-T.
5: Camada de Enlace 5a-29
Circuitos Virtuais ATM
… Foco em capacidade para alocação de banda
(diferente do melhor esforço do IP)
… Papel principal de ATM hoje: camada de enlace
“comutada” para IP-sobre-ATM
… Transporte ATM utiliza circuitos virtuais: células
(53 bytes) são transportadas em CVs
… em IP sobre ATM: CVs permanentes (PVCs) entre
roteadores IP
… problema de escalabilidade: N(N-1) CVs entre todos
os pares de roteadores IP
5: Camada de Enlace 5a-31
5: Camada de Enlace 5a-30
Circuitos Virtuais ATM (cont)
… CVs comutados (SVCs) são usados para conexões
de curta duração
… Prós da abordagem de CVs ATM:
Consegue garantir desempenho (QoS - qualidade
de serviço) a uma conexão mapeada a um CV
(banda, retardo, jitter)
… Contras da abordagem de CVs ATM:
Suporte ineficiente para tráfego de
datagramas; solução usando PVCs (um PVC entre
cada par de estações) não é escalável;
SVC introduz latência excessiva em conexões
de duração muito curta
Alto custo de processamento de SVCs
5: Camada de Enlace 5a-32
Mapeamento de Endereços ATM
… Interface do roteador (ao enlace ATM) possui dois
endereços: os endereços IP e ATM.
… Para poder rotear um pacote IP através da rede ATM, o nó
IP precisa realizar os seguintes passos:
(a) inspecionar sua tabela de rotas para encontrar o endereço do
próximo roteador IP
(b) depois, usando tabela ATM-ARP, encontrar endereço ATM do
próximo roteador
(c) passar pacote (com endereço ATM) à camada ATM
… Agora, assume o controle a camada ATM layer:
(1) determina a interface e CV em que enviar o pacote
Camada Física de ATM
… Duas subcamadas Físicas:
… (a) Subcamada PMD (Physical Medium Dependent)
 (a.1) SONET/SDH: possui estrutura de quadros de
transmissão (como um vasilhame carregando bits);
• sincronização a nível de bit;
• particionamento de banda (TDM);
• diversas taxas de transmissão: OC1 = 51.84 Mbps;
OC3 = 155.52 Mbps; OC12 = 622.08 Mbps
 (a.2) TI/T3 e E1/E3: possui estrutura de quadros de
transmissão (antiga hierarquia de telefonia - PDH):
1.5 Mbps/ 45 Mbps e 2 Mbps/ 34 Mbps
 (a.3) sem estrutura: apenas células (em uso/ociosa)
(2) se inexiste CV (para aquele endereço ATM) cria-se um SVC
5: Camada de Enlace 5a-33
Camada Física de ATM (cont)
5: Camada de Enlace 5a-34
Camada ATM
… Camada ATM responsável para transportar células
através da rede ATM
… Segunda subcamada física
(b) Subcamada TCS (Transmission Convergence Sublayer): ela
adapta a subcamada PMD à camada de transporte ATM
… Funções da TCS:
 Geração do checksum do cabeçalho: CRC de 8 bits; ele
protege cabeçalho de 4 bytes; permite corrigir erros de 1 bit.
 Delimitação da célula
 Com subcamada PMD “sem estrutura”, transmissão de células
ociosas quando não há células de dados na fila para transmitir
5: Camada de Enlace 5a-35
… Protocolo da camada ATM define formato do
cabeçalho (5 bytes) da célula ATM;
… carga = 48 bytes;
comprimento total da célula = 53 bytes
5: Camada de Enlace 5a-36
Camada ATM
Camada de Adaptação ATM (AAL)
… VCI (ID de canal virtual): traduzido a cada novo enlace;
… PT (tipo de carga): indica o tipo de carga (p.ex. célula de
gerenciamento)
… bit CLP (Prioridade de Perda de Células): CLP = 1 significa
que a célula é de prioridade baixa, e pode ser descartada se
roteador estiver congestionado
… byte HEC (Checksum de Erros no Cabeçalho)
… Camada de Adaptação ATM (AAL): “adapta” a camada ATM
às camadas superiores (IP ou aplicações nativas de ATM)
… AAL é presente apenas nos sistemas terminais, e não em
comutadores
… A camada AAL tem seus próprios campos de
cabeçalho/cauda, transportados em células ATM
5: Camada de Enlace 5a-37
5: Camada de Enlace 5a-38
Camada de Adaptação ATM (AAL) [cont]
… Versões diferentes da camada AAL, de acordo com o serviço
a ser transportado por ATM:
 AAL1: para serviços CBR (Taxa de Bits Constante) tais
como emulação de circuitos
 AAL2: para serviços VBR (Taxa de Bits Variável) tais
como vídeo MPEG
 AAL3/4, AAL5: para dados (p.ex., datagramas IP)
Camada de Adaptação ATM (AAL) [cont]
… Duas subcamadas na AAL para dados:
CPCS: (Common Part) Convergence Sublayer:
encapsula carga (p.ex. datagrama IP) numa
CPCS-PDU, com cabeçalho e/ou cauda.
SAR: Subcamada de Segmentação/Remontagem:
segmenta/remonta a CPCS (às vezes, até 65K
bytes) em segmentos ATM de 48 bytes
… AAL3/4: segmento ATM tem cabeçalho+cauda de 4 bytes =>
apenas 44 bytes/célula de carga CPCS-PDU
5: Camada de Enlace 5a-39
5: Camada de Enlace 5a-40
Viagem de um Datagrama numa rede
IP-sobre-ATM
… Na estação de origem:
 (1) camada IP traduz o endereço IP para o endereço ATM
(using ATM-ARP); depois, passa o datagrama para AAL5
 (2) AAL5 encapsula datagrama e segmenta CPCS-PDU em
células; depois, passa estas células para a camada ATM
… Na rede, a camada ATM move células de comutador em
comutador, seguindo uma CV pré-estabelecido
… Na estação destino, AAL5 remonta células para recuperar
CPCS-PDU original, contendo datagrama;
 se CRC bom, datagrama é entregue para o protocolo IP.
5: Camada de Enlace 5a-41
Download