Encaminhadores IP
Sistemas Telemáticos 2002/2003
LESI
Grupo de Comunicações por
Computador
Departamento de Informática
Universidade do Minho
Fontes utilizadas
• Alguns materiais de
–
–
–
–
Scott Karlin and Larry Peterson
Zhenhai Duan
N. Mckeown @ stanford.edu;
S. Keshav @ cornell.edu
• Artigo
– IP Routers Architecture: An Overview , James
Aweya, acessível na net.
A Internet é um grafo de
encaminhadores !
RouterIP de Núcleo
O Núcleo da Internet
Router de IP de
Periferia
Qual o aspecto dos
comutadores /encaminhadores?
Encaminhadores
De acesso
e.g. ISDN,
ADSL
Encaminhador de
Núcleo
Comutador
ATM de
Núcleo
Componentes dum
Encaminhador Genérico
Processamento de um pacote num
encaminhador IP
1. Aceitar o pacote de uma ligação de entrada
2. Localizar o endereço de destino do pacote na
tabela de expedição, para identificar a(s) porta de
saida .
3. Manipular o cabeçalho do pacote: decrementar o
TTL e calcular a soma de verificação do
cabeçalho.
4. Enviar o pacote para a(s) portas de saída.
5. Colocar o pacote na fila de espera
6. Transmitir o pacote pela linha de saída
Interior dum Encaminhador IP
melhor esforço
Outra visão dum Encaminhador IP
Protocolos de
Encaminhamento
Tabela de
Encaminhamento
Tabela de
Comutação
expedição
Plano de Controlo
Plano de Dados
Processamento por
Pacote
Componentes Arquitecturais Básicos
Plano de dados: processamento por pacote
1. Ingresso
Tabela de
Expedição
Decisão de
expedição
Tabela de
Expedição
Decisão de
expedição
Tabela de
Expedição
Decisão de
expedição
2. Interconexão
3. Egresso
Interconexões
Duas Técnicas Básicas
Filas de Espera de
Entrada
Normalmente uma
switch fabric não bloqueante
(e.g. crossbar)
Filas de Espera de
Saída
Normalmente um barramento rápido
Interconexões
Filas de Espera de Saída
Filas de Saída
Individuais
Memória centralizada
partilhada
LB Memória = 2N.R
1
2
N
1
2
LB da Memória = (N+1).R
N
Interconexões
Comutação via Memória
Partilhada
Inúmeros trabalhos
provaram e tornaram
possível:
Entrada 1
Entrada 2
Entrada N
– Equidade(Fairness)
– Garantia de atraso
Saída
1
– Controlo de jitter
– Garantia de Perdas
– Garantias estatísticas
Saída
2 simples
Um buffer
em memória
alocado dinamicamente :
N escritas por tempo de célula
N leituras por tempo de célula
Limitado pela largura de banda
da memória
Saída N
Filas de Espera de Saída
Quão rápida pode ser a memória partilhada?
SRAM de 5 ns
Memória
Partilhada
1
2
N
• 5ns por operação de memória
• 2 operações de memória por pacote
• Portanto até um máximo de
160Gb/s
• Na prática a velocidade de
comutação é próxima de 80Gb/s
Barramento de 200 byte
Interconexões
Dados de Entrada
Filas de Espera de Entrada com Crossbar
configuração
LB Memória = 2R
Dados de Saída
Fila de Espera de Entrada
Atarso
Bloqueio de Topo de Linha
(Head of Line Blocking)
Carga
58.6%
100%
Head of Line Blocking
Fila de Espera de Entrada
Filas de Espera de Saída Virtuais
Fila de Espera de Entrada
Atraso
Filas de Espera de Saída Virtuais
Carga
100%
Fila de Espera de Entrada
Filas de Espera de Saída Virtuais
LB Memória = 2R
Arbiter
Complexo !
Engenho de Expedição
Pacote
dados
cabeçalho
Router
Endereço
de destino
Estrutura de Dados
para localização do
encaminhamento
Tabela de Expedição
Rede destino
Porta
65.0.0.0/8
3
128.9.0.0/16
1
149.12.0.0/19
7
Porta de
saída
Ex. de Tabela de Expedição
Prefixo IP de Destino
Porta de saída
65.0.0.0/ 8
3
128.9.0.0/16
142.12.0.0/19
Tamanho do
Prefixo
1
7
Prefixo IP : 0-32 bits
65.0.0.0/8
128.9.0.0/16
128.9.16.14
224
65.0.0.0
65.255.255.255
0
142.12.0.0/19
232-1
Prefixos podem sobrepor-se
Maior prefixo
que unifique
128.9.176.0/24
128.9.16.0/21 128.9.172.0/21
65.0.0.0/8
0
128.9.0.0/16
128.9.16.14
142.12.0.0/19
232-1
Lookup de encaminhamento: Encontre o maior
prefixo que unifique (i.e. a rota mais específica)
entre todos os prefixos que unifiquem com
endereço de destino.
Comprimento do
Prefixo
Dificuldade da unificação com o
prefixo mais longo
Busca bi-dimensional:
- Comprimento do prefixo
- Valor do Prefixo
32
24
128.9.176.0/24
128.9.16.0/21
8
65.0.0.0/8
128.9.172.0/21
142.12.0.0/19
128.9.0.0/16
128.9.16.14
Valores de prefixo
Lookup da Tabela de
Encaminhamento
• Não é nada fácil!
• A operação de busca não é uma unificação
exacta
– O lookup directo precisa de 4G entradas (32
bits no endereço IP)
– Unificação com o maior prefixo
• Tabelas de Hash
• Árvores balanceadas
Número de Prefixos
Tamanho da Tabela de
Expedição
100000
90000
80000
70000
60000
50000
10,000/ano
40000
30000
20000
10000
0
95
96
97
Ano
98
Fonte http://www.telstra.net/ops/bgptable.html
99
00
Trees e Tries
Binary Search Tree
<
>
>
<
N entries
>
log2N
<
Binary Search Trie
0
0
1
1
010
0
1
111
Trees and Tries
Multiway tries
16-ary Search Trie
0000, ptr
0000, 0
1111, ptr
000011110000
1111, ptr
0000, 0
1111, ptr
111111111111
Problema CIDR
• Aloque endereços de forma tão sequencial quanto
possível dos seguintes pedidos de endereços. O
último endereço usado para o último pedido foi
124.24.7.255.
•
•
•
•
•
Rede A - 1024 Hosts
Rede B B - 4096 Hosts
Rede C - 16,384 Hosts
Rede D - 1024 Hosts
Rede E - 2048 Hosts
– Para cada rede mostre o endereço de rede, a máscara e
a gama de endereços.
Problema CIDR
• Satisfaça os mesmos pedidos do problema
anterior sem CIDR
– Indique para cada rede o endereço de rede e
como os endereços seriam alocados
• Compare esta solução com a anterior e
diga quantos endereços eram
desperdiçados (poupados).
Encaminhamento com CIDR
•
•
•
•
A tabela de encaminhamento
seguinte usa CIDR (Classless
Inter-Domain Routing). Os
endereços estão em
hexadecimal. A notação "/12" em
C4.50.0.0 / 12 indica uma máscara
de rede com os primeiros 12 bits
isto é FF.F0.0.0. Observe que as
três últimas entradas cobrem todo
o espaço de endereçamento e
constituem rota por defeito.
Diga para onde serão expedidos os
pacotes com os seguintes
endereços de destino:
a.C4.5E.13.87 b. C4.5E.22.09
C. C3.41.80.02 d.5E.43.91.12
Rede / Tamanho da máscara
Próximo
Salto
C4.50.0.0 / 12
A
C4.5E.10.0 / 20
B
C4.60.0.0 / 12
C
C4.68.0.0 / 14
D
80.0.0.0 / 1
E
40.0.0.0 / 2
F
00.0.0.0 / 2
G
a.A b.A c.E
d.F
Discussão
• Discuta a adopção da abordagem CIDR
(Classless Inter-Domain Routing)
referindo
– problemas que permite resolver
– a complexidade introduzida no
procedimento de expedição de pacotes
Interiores dum Encaminhador IP
com QOS
Encaminhador com QoS
• Que diferenças básicas existem entre um
encaminhador melhor esforço e um
encaminhador com qualidade de serviço?
Que módulos adicionais existem e para que
servem?
Componentes Arquitecturais
Básicos dum Router com QoS
Controlo de Congestão
Controlo
de Admissão
Reservas
Controlo
Encaminhamento
Policiamento Comutação
Escalonamento
da Saída
Fluxo de
dados
processamento
por pacote
Componentes arquitecturais básicos
Percurso de dados: processamento por pacote
1. Ingresso
Tabela de
classificação
2. Interconexão
3. Egresso
Tabela de
Expedição
Policiamento
& Contrlo de
Accessos
Decisão de
Expedição
Tabela de
classificação
Tabela de
Expedição
Policiamento
& Contrlo de
Accessos
Decisão de
Expedição
Tabela de
classificação
Tabela de
Expedição
Policiamento
& Contrlo de
Accessos
Decisão de
Expedição
Limitação: LB Memória
Limitação: LB Interconexão
Energia & Arbitragem
Limitação: LB Memória
Evolução dos
Encaminhadores IP
Routers IP de Primeira Geração
Shared Backplane
Buffer
Memory
CPU
DMA
DMA
DMA
Line
Interface
Line
Interface
Line
Interface
MAC
MAC
MAC
 A maioria dos switches Ethernet e routers mais baratos
O
Estrangulamento pode ser o CPU, barramento de I/O ou
host adaptor

O que é mais caro? Barramento? Memória? Interface? CPU?
Routers IP de Primeira Geração
Estrutura de Filas: Memória Partilhada
Entrada 1
Entrada 2
Entrada N
Inúmeros trabalhos
provaram e tornaram
Output
1
possível:
– Equidade(Fairness)
– Garantia de atraso
– Controlo de jitter
– Garantia de Perdas
Output
2 estatísticas
– Garantias
Um buffer simples em
memória alocado
Output
N
dinamicamente
:
N escritas per “cell” time
N leituras per “cell” time.
Limitado pela largura de
banda da memória
Routers IP de Segunda Geração
Buffer
Memory
CPU
DMA
DMA
DMA
Line
Card
Local
Buffer
Memory
Line
Card
Local
Buffer
Memory
Line
Card
Local
Buffer
Memory
MAC
MAC
MAC

Correspondência de portas nas placas de interface

Alta % de acertos na cache local para lookups

O que é mais $? Bus? Memória? Interface? CPU?

Routers IP de Segunda Geração
Estruturas combinadas de filas de entrada e saída
1 escrita por
tempo de célula
Taxa de E/L determinada pela
velocidade do bus
Bus
1 leitura por
tempo de célula
Switches/Routers de 3ª Geração
Switched Backplane
Line
Card
Disponibiliza

CPU
Card
Line
Card
Local
Buffer
Memory
Local
Buffer
Memory
MAC
MAC
percursos paralelos (switching fabric)
O que é mais $? Bus? Memória, CPU?
Switches/Routers de 3ª Geração
Estrutura de filas de espera
1 escrita por tempo
de célula
Taxa de E/L
determinada pela capacidade a
fabric speedup
Switch
Arbiter
Tipicamente <50Gb/s capacidade agregada
1 leitura por tempo de
célula
Routers/Switches de 4ª Geração
Ligações
ópticas
100’s
of feet
Switch Core
Linecards
Separação física entre o núcleo de
comutação e as cartas de linha
• Distribui energia por vários armários.
• Permite todo armazenamento (buffering)
colocado nas placas de linha:
– Reduz energia.
– Coloca a complexidade (escalonamento,
gestão de buffers, política de descarte de
pacotes, etc…) na placa de linha
Routers/Switches de 4ª Geração
Protocolo
LCS
Ligações
ópticas
100’s
of feet
Switch Core
Linecards
Routers/Switches de 4ª Geração
Estruturas de filas de espera
1 escrita por tempo
de célula
Filas de espera de saída virtuais
Velociadade de Escrita/leitura
Determinadas pela velocidade da switching fabric
Lookup
&
Política de
descrate
Lookup
&
Política de
descrate
Lookup
&
Política de
descrate
Linecard
1 leitura por
tempo de célula
Escalonamento
de saída
Switch
Fabric
Escalonamento
de saída
Switch
Arbitration
Switch Core
(Bufferless)
Tipicamente <5Tb/s capacidade agregada
Escalonamento
de saída
Linecard
Problemas dos Fabricantes
• Rápida expedição (lookup de rotas)
• Identificação de Fluxos
– Percurso rápido de expedição
• Suporte de QoS
– Routers de núcleo, empresa ou acesso
– A simplicidade é a chave do sucesso
• Fiabilidade(estabilidade) de routers de alta
velocidade
– Energia dual
– Percursos de dados duplicados
• Facilidade de configuração
– Má configuração é outro problema sério
• Possibilidade de contabilização
Download

PPT - Universidade do Minho