Kelvin Lopes Dias kld@cin.ufpe.br
Capítulo 5: Camada de Enlace e
Redes Locais
Repetidores, Hubs, Pontes, Switches,
Roteadores e Gateways
Camada de Enlace: Introdução
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:
Enlaces cabeados (wired links)
Enlaces sem fio (wireless links)
LANs (Local Area Networks)
O PDU (PacketData Unit) é um quadro/frame, que encapsula datagramas
“enlace”
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.
Cada protocolo da camada de enlace fornece serviço diferente
e.g., pode ou não fornecer
Analogia com transporte
viagem de Caruaru para São Paulo
carro: Caruaru para Recife
avião: Recife 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
Protocolos da Camada de Enlace
Serviços da Camada de Enlace
Enquadramento (Delimitação do quadro) e acesso ao enlace:
encapsula datagrama num quadro adicionando cabeçalho e cauda,
implementa acesso ao canal se meio for compartilhado,
‘endereços físicos (MAC)’ são usados nos cabeçalhos dos quadros para identificar origem e destino de quadros em enlaces multiponto
Entrega confiável entre nós adjacentes:
Visto no Capítulo 3
raramente usada em canais com baixas taxas de erro (fibra óptica, alguns tipos de pares trançados)
Canais sem fio: altas taxas de erros
Serviços da Camada de Enlace (mais)
Controle de Fluxo:
compatibilizar taxas de produção e consumo de quadros entre remetentes e receptores
Detecção de Erros:
erros são causados por atenuação do sinal e por ruído
receptor detecta 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(s) erro(s) sem precisar da retransmissão
Comunicação entre Adaptadores
camada de enlace implementada no “adaptador” (NIC - Net)
placa Ethernet, cartão 802.11
lado transmissor:
Encapsula o datagrama em um quadro
Lado receptor
verifica erros, transporte confiável, controle de
fluxo, etc.
extrai o datagrama, passa- o para o nó receptor
nótransm.
quadro
nóreceptor datagrama
quadro
adaptador adaptador
Protocolo da camada de enlace
Taxonomia dos Protocolos MAC
Três classes gerais:
Particionamento do Canal
divide o canal em pequenos “pedaços” (slots de tempo, freqüência, código)
aloca pedaço a um dado nó para uso exclusivo deste
Acesso Aleatório
canal não é dividido, podem ocorrer colisões
“recuperação” das colisões
Revezamento
Nós se alternam em revezamento, mas nós que possuem mais dados a transmitir podem demorar mais quando chegar a sua vez
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
Protocolos de Acesso Aleatório
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 aleatória
O protocolo MAC de acesso aleatório especifica como detectar colisões e como recuperar delas (através de retransmissões retardadas, por exemplo)
Exemplos de protocolos MAC de acesso randômico:
CSMA e CSMA/CD
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 aleatório permitem que um único usuário utilize toda a capacidade do canal; entretanto, eles não conseguem compartilhar o canal de maneira justa
Protocolos MAC de “revezamento”
Protocolos MAC de revezamento conseguem tanto justiça 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: 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,
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
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
Vendor Code Serial Number
24 bits 24 bits
0000.0c12. 3456
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
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)
ARP (cont)
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
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
Metcalfe’s Ethernet sketch
Ethernet
1976 - Desenvolvido pela XEROX nos anos 70
Bob Metcalfe – Fundador da 3COM
Taxa original - 2,94 Mbps
1980 - Definido como um padrão pela DIGITAL, INTEL e XEROX, chamado padrão DIX – Ethernet a 10Mbps
1985 - Tornou-se padrão IEEE 802.3
1995 – Fast Ethernet 100Mbps
1998 – Gigabit Ethernet 1Gbps
1999 – 10 Gigabit Ethernet 10Gbps
Diferentes formatos de quadro entre o Ethernet e o
Estrutura de Quadro Ethernet
Adaptador remetente encapsula
datagrama
IP (ou pacote de outro protocolo da camada de rede) num QuadroEthernet 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)
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
CRC: verificado pelo receptor: se for detetado um
erro, o quadro será descartado
01010101 ... SOH dest addr data FCS
7 sync bytes
length
Data, padded to at least 46 B src addr
32-bit CRC
Type field in Ethernet
Length of data in IEEE 802.3 (Length at most 1500).
Bytes: 7 1 6 6 2 46 to 1500 4
In Ethernet: 01010101 In IEEE 802.3: 01010111
Source and destination addresses
6 byte ethernet addr
Formato do quadro Ethernet e 802.3
Codificação Manchester de Banda Básica
Banda-base: adaptador envia um sinal digital diretamente no canal broadcast.
significa que não se usa modulação de portador(interface não faz deslocamento do sinal para outra banda de
freqüência); 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 de Banda Básica
Codificação Manchester (camada física) garante que ocorra uma transição de voltagem a cada intervalo de bit, ajudando
sincronização entre relógios do remetente e receptor
Thick (Cabo coaxial grosso)
10Base5, 10Mbps/Banda Base/500m
Thin (Cabo coaxial fino)
10Base2, 10Mbps/Banda Base/185m
Cabeamento Ethernet
Taxa de dados em Mbps
Sinalização Banda Base
Comprimento máximo do segmento em centenas
10 Base X
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 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!
10Base5
Terminador
Repetidor Comprimento máximo do segmento = 500 m
Número máximo de estações por segmento = 100
Coaxial 0,5”
vampire tap
transceiver
Cabo AUI
transceiver : envia/recebe, detecção de colisão
AUI : Attachment Unit Interface
Network Interface Card - NIC 50m
10Base2
Coaxial 0.25 “
Conector T BNC
Network Interface Card - NIC
conector BNC
(Bayonet-Neill-Concelman)
Uso em escritórios
Comprimento máximo do segmento = 185m Número máximo de estações por segmento = 30
Distância mínima entre as estações = 0.5 m
Terminador Repetidor
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
10BaseT e 100BaseT (Qual o limite?)
10BaseT e 100BaseT
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)
Full-Duplex em 1 Gbps para enlaces ponto-a-ponto
CSMA – Carrier Sense Multiple Access
Controle descentralizado
Carrier sense – todos os computadores podem distinguir entre um link ocioso ou ocupado
Acesso múltiplo – vários computadores disputam o acesso ao meio
Presença da Portadora – os computadores que
desejam transmitir escutam o meio antes de transmitir
Deteção de Colisão - CD
Mesmo com CSMA dois computadores podem transmitir ao mesmo tempo
A estação transmite um frame e continua a escutar o meio para notar se houve colisão
Se o nível médio de tensão excede um limiar, a colisão é percebida
Recuperação da Colisão
A estação que percebe a colisão envia um sinal especial para forçar todas as outras interfaces também perceberem a colisão
Os computadores esperam por um tempo aleatório antes de tentar transmitir novamente
Após esse tempo o computador escuta o meio novamente antes de transmitir para evitar colisões sucessivas
Mesmo com esse tempo aleatório colisões ainda podem acontecer
As estações dobram o tempo de espera a cada colisão sucessiva
Transmissão do quadro
composição quadro
Portadora presente ?
Espere o intervalo de tempo entre quadros Início transmissão
colisão detectada?
N
N Y
Y envio seqüência JAM Incrementa tentativa
Limite tentativa ?
N Computador para transmissão feita?
N
Recepção do Frame
Recepção ok ? Y
Y N
N
Descarta frame N
Início recepção
Confere DA
FCS e frame size OK?
Backoff Binário
detectada colisão?
Y envia frame
descarte quadro Y
Espera aleatória entre 0 e atraso-1 dobra atraso
limitado atraso <1024
>16 tentativa N atraso= 2
transmissão feita?
transmissão OK N
Y
N
1a espera 0 ou 1 slot de tempo 2a espera 0,1,2 or 3 slots de tempo 3a espera 0,1,2,..7 slots tempo ka espera 0.. 2k slots de tempo
Tamanho mínimo do quadro
(1) pacote inicia no tempo 0
(2) Pacote quase em B em t-α
(3) B envia pacote;
colisão ocorre em t (4) Sinal jam chega de volta A em 2t
O quadro deve levar mais que 2t para ser enviado a fim de prevenir a situação que o transmissor conclui incorretamente que o frame foi transmitido com sucesso.
A e B estão nas extremidades do cabo
A B A B
A B A B
Tempo de colisão no pior caso
500 metros
Código Polinomial ou Código de Redundância Cíclica (CRC)
Polinômio
• 110001 → x
5+ x
4+ x
0(6 bits → grau n
= 5)
A subtração corresponde ao ou exclusivo
01010101 10101111 11111010
---
-
Procedimento
Seja G(x) o gerador polinomial de grau r. Acrescente r bits ao quadro
Divida o novo quadro pelo gerador
Acrescente ao quadro original o resto da divisão
Código Polinomial ou Código de Redundância Cíclica (CRC)
mensagem M
T = quadro transmitido n+1 bits
CRC k bits
Interconnecting LANs Q: Why not just one big LAN?
Limited amount of supportable traffic: on single LAN, all stations must share bandwidth
limited length: 802.3 specifies maximum cable length
large “collision domain” (can collide with many stations)
limited number of stations: 802.5 have token
passing delays at each station
Repetidores, Hubs, Pontes, Switches,
Roteadores e Gateways
Repeater
Transmits data to all connected computers
Hub
Transmits data to all connected computers in a star topology
Repeaters and Hubs
Repeater
Hub
Hubs
Physical Layer devices: essentially repeaters
operating at bit levels: repeat received bits on one interface to all other interfaces
Hubs can be arranged in a hierarchy (or multi-tier
design), with backbone hub at its top
Hubs (more)
Each connected LAN referred to as LAN segment
Hubs do not isolate collision domains: node may collide with any node residing at any segment in LAN
Hub Advantages:
simple, inexpensive device
Multi-tier provides graceful degradation: portions of the LAN continue to operate if one hub
malfunctions
extends maximum distance between node pairs
Hub limitations
single collision domain results in no increase in max throughput
multi-tier throughput same as single segment throughput
individual LAN restrictions pose limits on number of nodes in same collision domain and on total
allowed geographical coverage
cannot connect different Ethernet types (e.g.,
10BaseT and 100baseT)
Bridges
Bridge
Endereço MAC
Vendor Code Serial Number
24 bits 24 bits
0000.0c12. 3456
ROM RAM
Bridges
Link Layer devices: operate on Ethernet frames, examining frame header and selectively
forwarding frame based on its destination
Bridge isolates collision domains since it buffers frames
When frame is to be forwarded on segment,
bridge uses CSMA/CD to access segment and
transmit
Características
Bridges (more)
Bridge advantages:
Isolates collision domains resulting in higher total max throughput, and does not limit the number of nodes nor geographical coverage
Can connect different type Ethernet since it is a store and forward device
Transparent: no need for any change to hosts
LAN adapters
Bridges: frame filtering, forwarding
bridges filter packets
same-LAN -segment frames not forwarded onto other LAN segments
forwarding:
how to know which LAN segment on which to forward frame?
looks like a routing problem (more shortly!)
Bridge Filtering
filtering procedure:
if destination is on LAN on which frame was received
then drop the frame
else { lookup filtering table
if entry found for destination
then forward the frame on interface indicated;
else flood; /* forward on all but the interface on which the frame arrived*/
}
Operação da ponte
A ponte “aprende” endereços de rede das estações em cada porta da LAN observando o endereço fonte no pacote.
Endereços “aprendidos” (backward learning) são mantidos em uma tabela na memória.
Endereços antigos são descartados após um
intervalo de tempo pré-configurado para permitir
LAN A LAN B
Inicializa - -
U ⇒ V U -
V ⇒ U U, V -
Z ⇒ Broadcast U, V Z
Y ⇒ V U, V Z, Y
Y ⇒ X U, V Z, Y
Funcionamento das Pontes
Ponte
U V W X Y Z
LAN A LAN B
Operação da ponte
src hub
LAN B
. . .
LAN C LAN A
Endereço Porta 001048cda9 LAN B . . .
dest
bridge
Pontes transparentes
Sempre que um quadro chega em uma porta, a ponte procura pelo endereço de destino na tabela.
A ponte encaminha o quadro somente para a porta (i.e., LAN C) contendo o destino.
Se as portas da fonte e destino são as mesmas,
a ponte não faz nada.
Pontes transparentes
src hub
LAN B
. . .
LAN C LAN A
dest
bridge
Endereço Porta 001048cda9 LAN B
Pontes transparentes
Se o endereço de destino não é conhecido, encaminha o quadro para todas as portas, isto é chamado flooding.
Quadros de difusão (broadcast ) também são
encaminhados para todas portas.
Pontes transparentes
Endereço Porta 001048cda9 LAN B
src hub
LAN B
. . .
LAN C LAN A
dest
bridge
Armazenamento na ponte
Uma ponte pode armazenar (buffer) quadros porque:
•Porta de saída pode estar ocupada
•Em redes token ring, deve aguardar pelo token
•Diferenças de velocidade
•Conversão de protocolos: armazena quadro para mudar seu formato.
•Armazenar para eliminar fragmentos e quadros
Armazenamento na ponte
hub LAN B
. . .
LAN C LAN A
Endereço Porta 001048cda9 LAN B
Buffer
Bridges Spanning Tree
for increased reliability, desirable to have
redundant, alternate paths from source to dest
with multiple simultaneous paths, cycles result - bridges may multiply and forward frame forever
solution: organize bridges in a spanning tree by disabling subset of interfaces
Disabled
Um ciclo de Pontes
Para aumentar a confiabilidade, utilizar duas ou mais pontes em paralelo entre os pares de LANs
Pode haver laços infinitos na topologia – loop
⇒ um problema
Um ciclo de Pontes
Pontes Spanning Tree
Prevenir o problema de laços infinitos (loop)
Árvore geradora (LANs = vértice e Pontes = arestas)
Construindo uma Spanning Tree
Utilizam um protocolo para estabelecer uma spanning tree
802.1D
Escolhe-se uma ponte para ser a raiz da árvore
Broadcast do número de série
A ponte com menor número de série é a raiz da árvore
Calcula o menor caminho de cada ponte/LAN até a raiz
Gera a árvore de cobertura/amplitude/geradora
Recalculado se uma ponte/LAN falhar
Algoritmo Spanning Tree
Cada nó mantém 3 pedaços de informação para cada porta:
R = ID do nó raiz atual d = distância do nó raiz
N = nó mais próximo do nó raiz
Denote isto como (R, d, N):
Algoritmo Spanning Tree
10 20
40
75 80
(20,0,-)
(10,0,-)
(80,0,-) (75,0,-)
(40,0,-) (40,0,-)
(80,0,-) (75,0,-)
(40,0,-)
(10,0,-)
Algoritmo Spanning Tree
Nós enviam atualizações de árvore geradora em cada porta.
Por exemplo, nó 40 enviaria as atualizações
mostradas à direita.
Algoritmo Spanning Tree
10 20
40
(40,0,40)
(40,0,40)
(40,0,40)
Algoritmo Spanning Tree
Outros nós também enviam atualizações de configuração.
A figura mostra as atualizações enviadas
pelos nós 10 e 75.
Algoritmo Spanning Tree
10 20
40
(10,0,10)
(75,0,75) (10,0,10)
Algoritmo Spanning Tree
Quando um nó recebe uma atualização de um outro nó, ele atualiza a informação de sua própria porta se:
• atualização identifica um nó raiz com um ID menor
• atualização identifica um nó raiz com mesmo ID mas com uma distância menor
• nó raiz e distância são os mesmos, mas nó que
enviou tem um menor ID
Algoritmo Spanning Tree
10 20
40
75 80
(20,0,-)
(10,0,-)
(10,1,10) (40,1,40)
(40,0,-) (20,1,20)
(75,1,75) (75,0,-)
(10,1,10)
(10,0,-)
Algoritmo Spanning Tree
Depois que um nó recebe as atualizações de
configuração, seleciona a melhor configuração
e descarta as demais.
Algoritmo Spanning Tree
10 20
40
(20,0,-)
(10,0,-)
(10,1,10) (40,1,40)
(40,0,-) (20,1,20)
(10,1,10)
(10,0,-)
Algoritmo Spanning Tree
Quando nó recebe uma mensagem de configuração que contém um ID de raiz menor, então ele conclui que não é o nó raiz da árvore.
Dessa forma, pára de enviar suas próprias mensagens de configuração e encaminha apenas as mensagens
recebidas (com a distância incrementada e nó
Algoritmo Spanning Tree
10 20
40
75 80
(20,0,-)
(10,0,-)
(10,1,10) (40,1,40)
(10,1,10)
(10,0,-)
Algoritmo Spanning Tree
Na próxima iteração, nós que concluíram que não eram o nó raiz, encaminham
atualizações do raiz para outros nós.
Algoritmo Spanning Tree
10 20
40
75 80
(10,1,40)
(10,0,-)
(10,1,10) (10,1,40)
(10,1,10)
(10,0,-)
(10,1,80)
(40,1,75)
Algoritmo Spanning Tree
Quando as atualizações estabilizam, apenas o nó raiz gera mensagens de atualização.
Outros nós estão encaminhando mensagens
apenas sobre os enlaces que fazem parte da
árvore geradora -- ponte designada
Algoritmo Spanning Tree
10 20
40
75 80
(10,2,40)
(10,0,-)
(10,1,10) (10,2,40)
(10,1,10)
(10,0,-)
Atualizações Spanning Tree
Nós continuam enviando atualizações spanning tree ocasionalmente.
Recuperação de falha: se um nó não recebe uma
atualização dentro de um intervalo de tempo, ele
novamente afirma ser um nó
10 20
40
(10,1,40)
(10,0,10) (10,1,40)
(10,0,10)
Interconexão com Switches
Aumento da largura de Banda disponível por usuário
Switches são similares às pontes com alta densidade de portas
Provêem um único segmento de rede em cada porta, separando os domínios de colisão
Alta velocidade de processamento (Hardware)
Modo de operação Store and Forward ou Cut Through (comutação acelerada)
Transparente aos protocolos de nível superior
Spanning Tree (eliminar loops)
Switches
Switch
Hubs e comutadores Ethernet
Hubs de meio compartilhado
Comutadores/Switches
Ethernet Switches
Transmissão em camada 2
(quadros) com filtragem usando endereços de LAN
Switching: A-para-B a A’-para-B’
simultaneamente, sem colisões
grande número de interfaces
muitas vezes: hosts individuais são conectados em estrela no switch (1 host para cada porta)
Ethernet, mas sem
colisões!
Ethernet Switches
cut-through switching: o quadro é enviado da entrada para a saída sem esperar pela montagem do quadro inteiro
pequena redução da latência
combinações de interfaces de 10/100/1000 Mbps, dedicadas e compartilhadas
Switch Store-and-Forward
SuperStack II Switch 3300
R
O Switch recebe o pacote completo e depois reenvia
A B
Switch Cut-Through
SuperStack II Switch 3300
R
O Switch recebe o cabeçalho do pacote e inicia o envio a estação destino.
H
A B
Ethernet Switches (mais)
Dedicated
Shared
Para Internet Externa
Routers
Router Router Router Router
Interconexão com Roteadores
Conecta múltiplas LANs
É um dispositivo que opera na camada de rede do modelo OSI
Cria domínios de broadcast
Dependente de protocolo
Função de enviar pacotes entre redes
Controla o fluxo entre duas estações
Utiliza o endereço de rede e não de host para
rotear a informação
Switches vs. Routers
both store-and-forward devices
routers: network layer devices (examine network layer headers)
bridges are Link Layer devices
routers maintain routing tables, implement routing algorithms
switches maintain filtering tables, implement
filtering, learning and spanning tree algorithms
Routers vs. Switches
Switches + and -
+ Switch operation is simpler requiring less processing bandwidth
- Topologies are restricted with switches: a spanning tree must be built to avoid cycles
- switches do not offer protection from broadcast
storms (endless broadcasting by a host will be
forwarded by a bridge)
Routers vs. switches
Routers + and -
+ arbitrary topologies can be supported, cycling is
limited by TTL counters (and good routing protocols) + provide firewall protection against broadcast storms - require IP address configuration (not plug and play) - require higher processing bandwidth
switches do well in small (few hundred hosts) while
routers used in large networks (thousands of hosts)
Comparação resumo
hubs roteadores comutadores isolamento
de tráfego
não sim sim
Plug-and- play
sim não sim
roteamento ótimo
não sim não
Interconexão com Gateways
Conexão de redes que executam protocolos diferentes, atuando como conversores de protocolos
É um dispositivo que opera em todas as
camadas do modelo OSI, principalmente, na camada de aplicação, conectando aplicações em ambientes diferenciados
Interconexão de mundos incompatíveis por exemplo: entre redes proprietárias ou
proprietárias e abertas - DEC e IBM ou
TCP/IP/Ethernet e SNA/IBM
Interconexão com Gateways
Exemplo:
Ligação de uma rede ethernet a um mainframe IBM
TCP/IP
Mainframe
IBM
Controladora de
Gateway
SDLC
Camada de Enlace
5.1 Introdução e serviços
5.2 Detecção e correção de erros
5.3 Protocolos de Acesso Múltiplo
5.4 Endereçamento da Camada de Enlace
5.5 Ethernet
5.6 Interconexões: Hubs e switches
5.7 PPP
5.8 Virtualização do enlace: ATM e MPLS
Controle de Enlace de Dados Ponto a Ponto
um transmissor, um receptor, um canal: mais fácil que um canal de difusão:
sem controle de acesso ao meio (MAC)
sem necessidade de endereçamento MAC explícito
ex.: canal discado, canal ISDN/RDSI
protocolos de enlace ponto a ponto populares:
PPP (point-to-point protocol)
HDLC: High level data link control - Controle de Enlace de Dados de Alto Nível (enlace de dados era considerado
“alto nível” na pilha de protocolos”)
Requisitos de Projeto do PPP [RFC 1557]
delimitação dos pacotes: encapsulamento de datagramas da camada de rede em quadro da camada de enlace
transporta dados da camada de rede de qualquer protocolo de camada de rede (não apenas do IP) simultaneamente
habilidade de demultiplexar para cima
transparência de bits: deve transportar qualquer padrão de bits no campo de dados
detecção de erros (sem correção)
manutenção da conexão: detecta, indica falhas do enlace para a camada de rede
Negociação do endereço da camada de rede: pontos
não-requisitos do PPP
não faz correção/recuperação de erros
sem controle de fluxo
entrega fora de ordem OK
sem necessidade de dar suporte a canais multiponto (ex., polling )
Recuperação de erros, controle de fluxo e reordenamento
dos dados todos relegados a camadas superiores!
Quadro de Dados do PPP
Flag: delimitador (enquadramento)
Endereço: não faz nada (apenas uma opção)
Controle: não faz nada; no futuro pode ter múltiplos campos de controle
Protocolo: protocolo da camada superior para o
qual o quadro deve ser entregue (ex.: PPP-LCP, IP,
IPCP, etc)
Quadro de Dados do PPP
info: dados da camada superior que estão sendo transportados
verificação ( check ): código de redundância cíclica
para verificação de erros
Enchimento de Bytes ( Byte Stuffing )
requisito de “transparência dos dados”: campo de dados deve poder incluir o padrão do flag
<01111110>
P: o <01111110> recebido é dados ou flag?
Transmissor: adiciona (“enche”) com byte
<01111110> extra após cada byte < 01111110> de dados
Receptor:
dois bytes 01111110 em seqüência: descarta o primeiro byte, continua com a recepção dos dados
apenas um 01111110: byte de flag
Enchimento de Bytes
padrão do byte de flag nos dados a serem
transmitidos
padrão de byte do flag
Protocolo de Controle de Dados PPP
Antes de trocar dados da
camada de rede, os parceiros do enlace de dados devem
configurar o enlace PPP (compr. max. quadro, authentication)
Obtém/configura
informações da camada de rede
para IP: transporta msgs do Protocolo de Controle IP (IPCP) (campo de protocolo: 8021) para configurar/obter o endereço IP
Virtualização das redes/camada de enlace Virtualização dos recursos: uma abstração
poderosa para a engenharia de sistemas:
Exemplos em computação: memória virtual, dispositivos virtuais
Máquinas virtuais: ex., java
Abstrações em camadas: não apresenta os detalhes das camadas inferiores, lida com as camadas inferiores apenas de forma
abstrata
A Internet: virtualizando as redes
1974: múltiplas redes desconectadas
ARPAnet
redes de dados sobre cabos
redes de pacotes via satélites (Aloha)
redes de pacote via rádio
… com diferenças em:
convenções de endereçamento
formato dos pacotes
recuperação de erros
roteamento
A Internet: virtualizando as redes
gateway
Camada Interedes (IP - Internetwork layer ):
endereçamento: rede
interconectada aparece como uma entidade única, uniforme, apesar da heterogeneidade das redes locais
rede de redes
Gateway:
“encapsula os pacotes interredes no formato do pacote local”
encaminha (na camada interrede) para o próximo gateway
Arquitetura Interredes de Cerf & Kahn O que foi virtualizado?
duas camadas de endereçamento: interrede e rede local
nova camada (IP) torna tudo homogêneo na camada interrede
tecnologia de rede local
Cabo
Satélite
Modem de 56Kbps
X.25 e Frame-relay
Hoje: ATM e MPLS
… “invisível” para a camada interrede. Para o IP parecem como tecnologias da camada de enlace!
ATM e MPLS
ATM e MPLS são redes separadas com tudo o que têm direito!
modelos de serviços, endereçamento e roteamento diferentes dos usados na Internet
vistos pela Internet como sendo um enlace lógico interconectando roteadores IP
da mesma forma que um enlace discado é na verdade parte de uma rede separada (a telefônica)
ATM e MPLS: interesse técnico por seus próprios
méritos
Virtual Circuit Tables
Each node maintains a table of virtual circuit identifiers and associated ports.
Examples:
A frame arriving on port 0, VC 8 will be forwarded to port 2, using VC 6.
A frame arriving on port 1, VC 2 will be forwarded to port 3 using VC 2.
VC identifiers do not have to be unique: different ports can use same VCI w/o confusion.
0 1 3
2
Switch 1
Input Output
Port VC Port VC
0 11 1 7
0 12 2 5
0 8 2 6
1 2 3 2
Virtual Circuit Forwarding Table
Virtual Circuit Identifiers
Incoming and outgoing VCI may be different.
VCI is the same on both switches connected by a link.
When a frame arrives on an incoming VC, the switch looks up outgoing VC in a VCI table. It changes the frame’s VCI to the outgoing VCI.
0 1 3
2
Switch 1
0 1 3
2
Switch 2
VCI=11 VCI=7 VCI=5
Virtual Circuit Identifiers
VCI do not have global significance -- each switch chooses its own VCI.
Two switches connected by a link agree on a VCI during circuit setup (e.g., the downstream switch tells the VCI to upstream switch).
A virtual circuit can be unidirectional or bidirectional.
Input Output
Port VC Port VC
3 11 1 7
Switch 2
Input Output
Port VC Port VC
3 7 1 5
Switch 1
Virtual Circuit Setup
Suppose host A wants to communicate with host B.
How does it establish a virtual circuit?
0 1 3
2 Host A
Switch 2 0
1 3
2
Switch 1 0
1 3
2
Switch 3 Host B
Input Output Port VC Port VC
Input Output Port VC Port VC
Input Output Port VC Port VC
Virtual Circuit Setup
Host A sends a VC request to Switch 1.
The request includes A and B’s complete global address.
0 1 3
2 Host A
Switch 2 0
1 3
2
Switch 1 0
1 3
2
Switch 3 Host B
Input Output Port VC Port VC
Input Output Port VC Port VC
Input Output Port VC Port VC VC Request: A B
Virtual Circuit Setup (cont.)
Switch 1 gets the request and (tentatively) creates a new VCI
#9 from port 2 to port 1. It forwards request and VCI to Switch 2. It doesn’t yet know the VCI for this link.
0 1 3
2 Host A
Switch 2 0
1 3
2
Switch 1 0
1 3
2
Switch 3 Host B
Input Output Input Output Input Output
VC Request: A B
Virtual Circuit Setup (cont.)
Switch 2 determines (somehow) that the request must go to Switch 3. It chooses VCI 9 for the incoming link and forwards the request to Switch 3.
0 1 3
2 Host A
Switch 2 0
1 3
2
Switch 1 0
1 3
2
Switch 3 Host B
Input Output Port VC Port VC
Input Output Port VC Port VC
Input Output Port VC Port VC VC Request: A B
Virtual Circuit Setup (cont.)
Switch 3 determines (somehow) that Host B is on port 1 It chooses VCI 8 for the incoming link and forwards the request to Host B.
0 1 3
2 Host A
Switch 2 0
1 3
2
Switch 1 0
1 3
2
Switch 3 Host B
Input Output Input Output Input Output
VC Request: A B
Virtual Circuit Setup (cont.)
Host B accepts the connection and chooses VCI 7 for the connection to Host A, which it records in its own table. It sends a reply back to Host A using VCI #7.
0 1 3
2 Host A
Switch 2 0
1 3
2
Switch 1 0
1 3
2
Switch 3 Host B
Input Output Port VC Port VC
Input Output Port VC Port VC
Input Output Port VC Port VC
Reply on VC#7
Virtual Circuit Setup (cont.)
Now Switch 3 learns the VCI chosen by Host B.
Switch 3 forwards the reply to Switch 2 on VCI 8.
0 1 3
2 Host A
Switch 2 0
1 3
2
Switch 1 0
1 3
2
Switch 3 Host B
Input Output Input Output Input Output
Reply on VC#8
Virtual Circuit Setup (cont.)
Now Switch 2 learns the VCI chosen by Switch 3.
Switch 2 forwards the reply to Switch 1 on VCI 9.
0 1 3
2 Host A
Switch 2 0
1 3
2
Switch 1 0
1 3
2
Switch 3 Host B
Input Output Port VC Port VC
Input Output Port VC Port VC
Input Output Port VC Port VC Reply on VC#9
Virtual Circuit Setup (cont.)
Now Switch 1 learns the VCI chosen by Switch 2.
It records this and forwards the reply to Host A on VCI 10.
0 1 3
2 Host A
Switch 2 0
1 3
2
Switch 1 0
1 3
2
Switch 3 Host B
Input Output Input Output Input Output
Reply on VC#10
Virtual Circuit Setup (cont.)
Now Host A knows that it can communicate with Host B, and the VCI it should use (VCI 10).
0 1 3
2 Host A
Switch 2 0
1 3
2
Switch 1 0
1 3
2
Switch 3 Host B
Input Output Port VC Port VC
Input Output Port VC Port VC
Input Output Port VC Port VC Reply on VC#10
Virtual Circuit Use
Host A can send frames to Host B using only the VCI in the address (doesn’t need to use B’s global address).
0 1 3
2 Host A
Switch 2 0
1 3
2
Switch 1 0
1 3
2
Switch 3 Host B
Input Output Input Output Input Output
Frame on VC#10
Virtual Circuit Use (cont.)
Switches forward frames and change the VCI on each link according to their own VC table.
0 1 3
2 Host A
Switch 2 0
1 3
2
Switch 1 0
1 3
2
Switch 3 Host B
Input Output Port VC Port VC
Input Output Port VC Port VC
Input Output Port VC Port VC Frame on VC#9 Frame on VC#8
Virtual Circuit Teardown
When Host A and Host B are done communicating, they
exchange “close” messages and send a request to tear down the VCI.
0 1 3
2 Host A
Switch 2 0
1 3
2
Switch 1 0
1 3
2
Switch 3 Host B
Input Output Input Output Input Output
Close VCI 10
Virtual Circuit Teardown
Switch 1 forwards the tear down request on VCI 9, then deletes the VCI from its table.
0 1 3
2 Host A
Switch 2 0
1 3
2
Switch 1 0
1 3
2
Switch 3 Host B
Input Output Port VC Port VC
Input Output Port VC Port VC
Input Output Port VC Port VC Close VCI 9
Virtual Circuit Teardown
Switch 2 also forwards the tear down request and deletes it from its VCI table.
0 1 3
2 Host A
Switch 2 0
1 3
2
Switch 1 0
1 3
2
Switch 3 Host B
Input Output Input Output Input Output
Close VCI 8
Virtual Circuit Teardown
Switch 3 forwards the tear down message to Host B, and the VCI is history.
0 1 3
2 Host A
Switch 2 0
1 3
2
Switch 1 0
1 3
2
Switch 3 Host B
Input Output Port VC Port VC
Input Output Port VC Port VC
Input Output Port VC Port VC
Close VCI 7
ATM: Asynchronous Transfer Mode
padrão de alta velocidade dos anos 1990’s/00 (155Mbps a 622 Mbps e superiores) arquitetura da RDSI-FL (Broadband Integrated Service Digital Network)
Objetivo: transporte fim-a-fim integrado para voz, vídeo e dados
atendendo os requisitos de sincronismo e QoS para voz e vídeo (versus o modelo de melhor esforço da Internet)
“próxima geração” da telefonia: raízes técnicas no mundo da telefonia
Comutação de pacotes (pacotes de comprimento fixos, denominados de “células”) usando circuitos virtuais
Evolução das redes de telecomunicações (no início )
Rede Telefônica (comutada por circuitos)
Rede de Dados (comutada por pacotes)