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 !
O Núcleo da Internet
RouterIP de Núcleo
Router de IP de Periferia
Qual o aspecto dos comutadores /encaminhadores?
EncaminhadoresDe acessoe.g. ISDN, ADSL
Encaminhador de Núcleo
Comutador ATM deNúcleo
Componentes dum Encaminhador Genérico
Processamento de um pacote num encaminhador IP
1. Aceitar o pacote de uma ligação de entrada2. 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 espera6. Transmitir o pacote pela linha de saída
Interior dum Encaminhador IP melhor esforço
Outra visão dum Encaminhador IP
Plano de Controlo
Plano de DadosProcessamento porPacote
ComutaçãoTabela deexpedição
Tabela de Encaminhamento
Protocolos deEncaminhamento
Componentes Arquitecturais BásicosPlano de dados: processamento por pacote
2. Interconexão 3. EgressoTabela deExpedição
Decisão de expedição
1. Ingresso
Tabela deExpedição
Decisão de expedição
Tabela deExpedição
Decisão de expedição
InterconexõesDuas Técnicas Básicas
Filas de Espera de Entrada
Normalmente uma switch fabric não bloqueante
(e.g. crossbar)
Normalmente um barramento rápido
Filas de Espera de Saída
Interconexões Filas de Espera de Saída
Filas de Saída Individuais
Memória centralizadapartilhada
LB da Memória = (N+1).R
1
2
N
LB Memória = 2N.R
1
2
N
Saída 2
Saída N
Interconexões Comutação via Memória Partilhada
Um buffer simples em memória alocado dinamicamente :
N escritas por tempo de célulaN leituras por tempo de célula
Limitado pela largura de banda da memória
Entrada 1 Saída 1
Entrada N
Entrada 2
Inúmeros trabalhos provaram e tornaram possível:
– Equidade(Fairness)
– Garantia de atraso
– Controlo de jitter
– Garantia de Perdas
– Garantias estatísticas
Filas de Espera de Saída Quão rápida pode ser a memória partilhada?
MemóriaPartilhada
Barramento de 200 byte
SRAM de 5 ns
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
InterconexõesFilas de Espera de Entrada com Crossbar
configuração
Dados
de E
ntr
ad
a
Dados de Saída
LB Memória = 2R
Fila de Espera de EntradaBloqueio de Topo de Linha
(Head of Line Blocking)
Ata
rso
Carga58.6% 100%
Head of Line Blocking
Fila de Espera de Entrada Filas de Espera de Saída Virtuais
Fila de Espera de Entrada Filas de Espera de Saída Virtuais
Atr
aso
Carga100%
Fila de Espera de Entrada Filas de Espera de Saída Virtuais
Arbiter
LB Memória = 2R
Complexo !
Engenho de Expedição
cabeçalhodados
Pacote
Router
Endereçode destino
Porta de saída
Rede destino PortaTabela de Expedição
Estrutura de Dados para localização do encaminhamento
65.0.0.0/8
128.9.0.0/16
149.12.0.0/19
3
1
7
0 224 232-1
128.9.0.0/16
65.0.0.0
142.12.0.0/19
65.0.0.0/8
65.255.255.255
Ex. de Tabela de ExpediçãoPrefixo IP de Destino Porta de saída65.0.0.0/ 8 3
128.9.0.0/16 1
142.12.0.0/19 7
Prefixo IP : 0-32 bits
Tamanho do Prefixo
128.9.16.14
Prefixos podem sobrepor-se
128.9.16.0/21 128.9.172.0/21
128.9.176.0/24
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.
0 232-1
128.9.0.0/16142.12.0.0/1965.0.0.0/8
128.9.16.14
Maior prefixo que unifique
8
32
24
Valores de prefixo
Com
pri
men
to d
o
Pre
fixo
128.9.0.0/16142.12.0.0/19
65.0.0.0/8
Dificuldade da unificação com o prefixo mais longo
128.9.16.14
128.9.172.0/21
128.9.176.0/24
128.9.16.0/21
Busca bi-dimensional: - Comprimento do prefixo- Valor do 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
0
10000
20000
30000
40000
50000
60000
70000
80000
90000
100000
Tamanho da Tabela de Expedição
Fonte http://www.telstra.net/ops/bgptable.html
95 96 97 98 99 00Ano
Núm
ero
de P
refixos
10,000/ano
Trees e Tries
Binary Search Tree
< >
< > < >
log2 N
N entries
Binary Search Trie
0 1
0 1 0 1
111010
Trees and TriesMultiway tries
16-ary Search Trie
0000, ptr 1111, ptr
0000, 0 1111, ptr
000011110000
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
PoliciamentoEscalonamento
da SaídaComutação
Encaminhamento
Controlo de Congestão
ReservasControlode Admissão
Controlo
Fluxo dedadosprocessamento por pacote
Componentes arquitecturais básicosPercurso de dados: processamento por
pacote2. Interconexão 3. EgressoTabela deExpedição
Tabela declassificação
Policiamento& Contrlo de
AccessosDecisão deExpedição
1. Ingresso
Tabela deExpedição
Tabela declassificaçã
o
Policiamento& Contrlo de
AccessosDecisão deExpedição
Tabela deExpedição
Tabela declassificação
Policiamento& Contrlo de
AccessosDecisão deExpedição
Limitação: LB Memória Limitação: LB InterconexãoEnergia & Arbitragem
Limitação: LB Memória
Evolução dos Encaminhadores IP
Routers IP de Primeira Geração
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?
Shared Backplane
Line Interface
CPU
Memory
CPU BufferMemory
LineInterface
DMA
MAC
LineInterface
DMA
MAC
LineInterface
DMA
MAC
Output 2
Output N
Routers IP de Primeira Geração Estrutura de Filas: Memória Partilhada
Um buffer simples em memória alocado dinamicamente :
N escritas per “cell” timeN leituras per “cell” time.Limitado pela largura de
banda da memória
Entrada 1 Output 1
Entrada N
Entrada 2
Inúmeros trabalhos provaram e tornaram possível:
– Equidade(Fairness)
– Garantia de atraso
– Controlo de jitter
– Garantia de Perdas
– Garantias estatísticas
Routers IP de Segunda GeraçãoCPU Buffer
Memory
LineCard
DMA
MAC
LocalLocalBufferBuffer
MemoryMemory
LineCard
DMA
MAC
LocalLocalBufferBuffer
MemoryMemory
LineCard
DMA
MAC
LocalLocalBufferBuffer
MemoryMemory
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
Bus
1 escrita por tempo de célula
1 leitura por tempo de célula
Taxa de E/L determinada pela velocidade do bus
Switches/Routers de 3ª Geração
LineCard
MAC
LocalBuffer
Memory
CPUCard
LineCard
MAC
LocalBuffer
Memory
Switched Backplane
Line Interface
Line Interface
Line Interface
Line Interface
Line Interface
Line Interface
Line Interface
Line InterfaceCPU
Memory
Disponibiliza percursos paralelos (switching fabric)
O que é mais $? Bus? Memória, CPU?
Arbiter
Switches/Routers de 3ª Geração Estrutura de filas de espera
Switch
1 escrita por tempo de célula
1 leitura por tempo decélula
Taxa de E/L determinada pela capacidade a
fabric speedup
Tipicamente <50Gb/s capacidade agregada
Routers/Switches de 4ª Geração
Switch Core Linecards
Ligações ópticas
100’sof feet
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
Switch Core Linecards
Ligações ópticas
100’sof feet
Protocolo LCS
Routers/Switches de 4ª Geração
Routers/Switches de 4ª Geração Estruturas de filas de espera
1 escrita por tempo de célula
1 leitura por tempo de célula
Velociadade de Escrita/leitura Determinadas pela velocidade da switching fabric
Lookup&
Política dedescrate
Escalonamentode saída
Filas de espera de saída virtuais
Escalonamentode saída
Escalonamentode saída
SwitchFabric
SwitchArbitration
Linecard Linecard
Switch Core(Bufferless)
Lookup&
Política dedescrate
Lookup&
Política dedescrate
Tipicamente <5Tb/s capacidade agregada
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