Como
funcionam
os
Roteadores
Introdução
A
função
da
camada
de
rede
é
realizar
a
entrega
consistente
de
pacotes
fim-a-fim,
para
aplicações
ou
outras
camadas
de
protocolos,
através
de
uma
infra-estrutura
de
redes
interconectadas.
Para
isso,
a
mesma
executa
funções
de
determinação
de
caminhos
de
comunicação,
de
comutação
de
pacotes
por
estes
caminhos
e
de
processamento
de
rotas
para
um
determinado
sistema
de
comunicação.
A
função
de
determinação
de
caminhos
(ou
roteamento)
permite
que
os
roteadores
selecionem
qual
sua
porta
mais
apropriada
para
repassar
os
pacotes
recebidos.
O
serviço
de
roteamento
permite
que
o
roteador
avalie
os
caminhos
disponíveis
para
um
determinado
destino
e
estabeleça
qual
o
caminho
de
preferência
para
o
envio
de
pacotes
para
este
destino.
- Na
determinação
de
caminhos
de
comunicação,
os
serviços
de
roteamento
executam:
-
Inicialização
e
manutenção
de
tabelas
de
rotas;
-
Processos
e
protocolos
de
atualização
de
rotas;
-
Especificação
de
endereços
e
domínios
de
roteamento;
-
Atribuição
e
controle
de
métricas
de
roteamento.
As
informações
de
rotas
para
a
propagação
de
pacotes
podem
ser
configuradas
de
forma
estática
pelo
administrador
da
rede
ou
serem
coletadas
através
de
processos
dinâmicos
executando
na
rede,
chamados
protocolos
de
roteamento.
Note-se
que
roteamento
é
o
ato
de
passar
adiante
pacotes
baseando-se
em
informações
da
tabela
de
roteamento.
Protocolos
de
roteamento
são
protocolos
que
trocam
informações
utilizadas
para
construir
tabelas
de
roteamento.
É
importante
distinguir
a
diferença
entre
protocolos
de
roteamento
(routing
protocols)
e
protocolos
roteados
(routed
protocols).
Protocolo
roteado
é
aquele
que
fornece
informação
adequada
em
seu
endereçamento
de
rede
para
que
seus
pacotes
sejam
roteados,
como
o
TCP/IP
e
o
IPX.
Um
protocolo
de
roteamento
possui
mecanismos
para
o
compartilhamento
de
informações
de
rotas
entre
os
dispositivos
de
roteamento
de
uma
rede,
permitindo
o
roteamento
dos
pacotes
de
um
protocolo
roteado.
Note-se
que
um
protocolo
de
roteamento
usa
um
protocolo
roteado
para
trocar
informações
entre
dispositivos
roteadores.
Exemplos
de
protocolos
de
roteamento
são
o
RIP
(com
implementações
para
TCP/IP
e
IPX)
e
o
EGRP.
Roteamento
estático
e
roteamento
dinâmico
A
configuração
de
roteamento
de
uma
rede
específica
nem
sempre
necessita
de
protocolos
de
roteamento.
Existem
situações
onde
as
informações
de
roteamento
não
sofrem
alterações,
por
exemplo,
quando
só
existe
uma
rota
possível,
o
administrador
do
sistema
normalmente
monta
uma
tabela
de
roteamento
estática
manualmente.
Algumas
rede
não
têm
acesso
a
qualquer
outra
rede,
e
portanto
não
necessitam
de
tabela
de
roteamento.
Dessa
forma,
as
configurações
de
roteamento
mais
comuns
são:
- Roteamento
estático:
uma
rede
com
um
número
limitado
de
roteadores
para
outras
redes
pode
ser
configurada
com
roteamento
estático.
Uma
tabela
de
roteamento
estático
é
construída
manualmente
pelo
administrador
do
sistema,
e
pode
ou
não
ser
divulgada
para
outros
dispositivos
de
roteamento
na
rede.
Tabelas
estáticas
não
se
ajustam
automaticamente
a
alterações
na
rede,
portanto
devem
ser
utilizadas
somente
onde
as
rotas
não
sofrem
alterações.
Algumas
vantagens
do
roteamento
estático
são
a
segurança
obtida
pela
não
divulgação
de
rotas
que
devem
permanecer
escondidas;
e
a
redução
do
overhead
introduzido
pela
troca
de
mensagens
de
roteamento
na
rede.
Protocolos
de
roteamento
Todos
os
protocolos
de
roteamento
realizam
as
mesmas
funções
básicas.
Eles
determinam
a
rota
preferida
para
cada
destino
e
distribuem
informações
de
roteamento
entre
os
sistemas
da
rede.
Como
eles
realizam
estas
funções,
em
particular
eles
decidem
qual
é
a
melhor
rota,
é
a
principal
diferença
entre
os
protocolos
de
roteamento.
Algumas
das
características
que
diferenciam
os
protocolos
de
roteamento
são:
- Convergência:
quando
a
topologia
de
uma
rede
muda
graças
a
crescimento,
reconfiguração
ou
falha,
a
base
de
conhecimento
da
topologia
da
rede,
representada
pelas
tabelas
de
roteamento
nos
roteadores,
deve
também
mudar
para
se
adaptar
à
nova
topologia.
Esta
adaptação
ou
convergência
deve
ser
tão
rápida
quanto
possível,
para
reduzir
o
período
de
instabilidade
de
uma
rede.
-
Overhead:
o
processo
de
roteamento
não
deve
consumir
recursos
excessivos
para
atingir
seus
objetivos.
A
necessidade
de
se
propagar
as
informações
de
roteamento
entre
os
roteadores
de
maneira
rápida
e
eficiente
deve
considerar
a
banda
adicional
dos
enlaces
de
comunicação
utilizada
para
tal,
bem
como
a
complexidade
dos
algorítmos
envolvidos
deve
considerar
a
capacidade
de
processamento
dos
roteadores
que
será
desviada
do
tratamento
dos
pacotes
para
a
implementação
destes
algorítmos.
-
Cálculo
das
métricas:
a
métrica
de
um
determinado
caminho
para
o
envio
de
pacotes
através
de
uma
rede
é
a
medida
da
qualidade
deste
caminho,
sendo
que
quanto
menor
a
métrica
de
um
caminho,
melhor
ele
é.
Os
algorítmos
de
roteamento
calculam
a
métrica
baseando-se
em
uma
única
característica
de
um
caminho
ou
combinando
várias
características,
como:
- Capacidade
de
tráfego
de
um
enlace
(ou
banda
disponível);
-
Atrasos
envolvidos
no
enlace,
que
podem
ser
influenciados
pela
banda
disponível
ou
por
possíveis
congestionamentos
no
mesmo;
-
Confiabilidade,
referente
à
taxa
de
erros
presente
no
enlace;
-
Carga,
que
demonstra
a
ocupação
do
enlace;
-
Hop
count,
ou
o
número
de
roteadores
pelos
quais
um
pacote
passa
até
chegar
ao
destino.
A
implementação
de
um
protocolo
de
roteamento
envolve
a
execução
de
um
algorítmo
para
a
determinação
das
rotas
para
envio
de
pacotes.
Estes
algorítmos
podem
ser
classificados
em
dois
tipos
principais:
distance-vector
e
link-state.
Os
algorítmos
distance-vector
mantém
uma
base
de
dados
de
informação
de
topologia
que
permite
a
determinação
da
direção
(vector)
e
distância
para
qualquer
enlace
na
rede.
Tais
algorítmos
não
permitem
a
um
roteador
conhecer
a
exata
topologia
de
uma
inter-rede,
pois
armazenam
nas
tabelas
de
rotas
somente
a
informação
da
sua
porta
ou
do
roteador
(direção)
para
o
qual
o
pacote
deve
ser
enviado
e
da
distância
(métrica)
que
o
mesmo
deve
percorrer
até
o
destino.
As
atualizações
de
rotas
destes
algorítmos
envolvem
o
envio
da
tabela
de
rotas
inteira
de
um
roteador
para
os
roteadores
vizinhos,
e
são
executadas
periodicamente
ou
toda
vez
que
for
detectada
uma
mudança
na
topologia
da
rede.
Quando
um
roteador
recebe
uma
atualização
de
um
roteador
vizinho,
ele
verifica
se
esta
atualização
envolve
informação
de
uma
melhor
rota
para
alguma
das
redes
por
ele
conhecidas.
Caso
positivo,
ele
atualiza
sua
própria
tabela
de
rotas.
Algorítmos
link-state
Os
algorítmos
link-state
(também
conhecidos
como
shortest-path-first)
mantém
uma
base
de
dados
complexa
com
informações
de
todos
os
roteadores
e
como
eles
se
interconectam.
Estas
informações
permitem
a
recriação
da
exata
topologia
da
inter-rede.
As
atualizações
de
rotas
destes
algorítmos
em
um
roteador
envolvem
o
envio
para
seus
roteadores
vizinhos
de
mensagens
chamadas
LSP(link
state
packets)
que
descrevem
o
estado
corrente
de
todos
os
enlaces
aos
quais
ele
está
conectado.
Os
roteadores
vizinhos
por
sua
vez
armazenam
estas
informações
em
uma
base
de
dados
de
estado
de
conexões
e
repassam
estes
LSP
para
todos
os
seus
vizinhos,
e
assim
sucessivamente.
Desta
forma
todo
roteador
na
inter-rede
recebe
o
original
ou
uma
cópia
do
LSP
enviado
por
qualquer
outro
roteador.
Cada
vez
que
um
LSP
causa
uma
mudança
na
base
de
dados
de
estado
de
conexão
de
um
roteador,
o
algorítmo
recalcula
os
melhores
caminhos
e
atualiza
a
tabela
de
rotas
deste
roteador.
Protocolos
de
roteamento
interno
Protocolos
de
roteamento
são
divididos
em
dois
grupos
gerais:
protocolos
internos
e
externos.
Protocolos
internos
são
utilizados
dentro
de
sistemas
de
rede
independentes.
Na
terminologia
TCP/IP,
estes
sistemas
independentes
são
chamados
de
sistemas
autônomos
(AS
-
autonomous
systems).
Em
sistemas
autônomos,
informações
são
trocadas
através
do
protocolo
interno
escolhido
pelo
administrador
do
sistema
autônomo.
Existem
vários
protocolos
internos,
como
por
exemplo
RIP
e
Hello.
Rounting
Information
Protocol
(RIP)
é
o
protocolo
interno
mais
comum.
RIP
seleciona
a
rota
com
o
menor
"hop
count"
(métrica)
como
a
melhor
rota.
O
Hop
count
representa
o
número
de
gateways
através
do
qual
os
dados
devem
passar
para
chegar
ao
destino.
RIP
assume
que
a
melhor
rota
é
a
que
utiliza
o
menor
número
de
gateways.
Esta
forma
de
escolher
a
melhor
rota
algumas
vezes
é
chamado
de
algoritmo
distance-vector.
O
caminho
mais
longo
que
RIP
aceita
são
15
hops.
Se
a
métrica
de
uma
rota
é
maior
que
15,
RIP
considera
o
destino
unreachable
e
descarta
a
rota.
Por
isso,
RIP
não
pode
ser
utilizado
em
sistemas
autônomos
onde
as
rotas
ultrapassam
15
hops.
Além
disso,
RIP
assume
que
o
menor
caminho
é
o
melhor,
sem
considerar
o
congestionamento
da
rota.
Existem
protocolos
internos
que
superam
estas
limitações.
Hello
é
um
protocolo
interno
desenvolvido
para
calcular
a
melhor
rota
baseado
no
delay
como
o
fator
decisivo
para
escolher
a
melhor
rota.
Delay
é
o
tempo
que
um
pacote
leva
para
fazer
a
viagem
entre
a
origem
e
o
destino,
através
da
rota.
Um
pacote
Hello
contém
a
hora
em
que
foi
enviado.
Quando
o
pacote
chega
ao
destino,
o
sistema
receptor
subtrai
a
hora
registrada
no
pacote
da
hora
atual
do
sistema,
para
estimar
quanto
tempo
o
pacote
levou
para
chegar.
Protocolos
de
roteamento
externos
Protocolos
de
roteamento
externos
são
utilizados
para
trocar
informações
de
roteamento
entre
sistemas
autônomos.
As
informações
de
roteamento
que
passam
entre
sistemas
autônomos
são
chamadas
de
informações
de
alcançabilidade
(reachability).
Informações
de
alcançabilidade
são
informações
sobre
quais
redes
podem
ser
alcançadas
através
de
um
sistema
autônomo
específico.
Exterior
Gateway
Protocol
(EGP)
é
um
dos
protocolos
de
roteamento
externos
mais
comum.
Implementações
de
EGP
não
tentam
escolher
a
melhor
rota
para
um
destino.
EGP
atualiza
informações
de
distance-vector,
mas
não
avalia
estas
informações.
Os
valores
de
distance-vector
de
sistemas
autônomos
distintos
não
são
comparados
diretamente,
porque
cada
sistema
autônomo
pode
utilizar
um
critério
diferente
para
desenvolver
estes
valores.
EGP
deixa
a
decisão
da
"melhor"
rota
para
outro
protocolo.
Um
outro
protocolo
de
roteamento,
Border
Gateway
Protocol
(BGP),
está
começando
a
substituir
EGP.
Assim
como
EGP,
BGP
troca
informações
de
alcançabilidade
entre
sistemas
autônomos,
mas
BGP
pode
fornecer
mais
informações
sobre
cada
rota,
e
pode
utilizar
estas
informações
para
selecionar
a
melhor
rota.
BGP
chama
estas
informações
de
"atributos
de
caminho".
Estes
atributos
podem
incluir
informações
utilizadas
para
selecionar
rotas
baseando-se
em
preferências
administrativas.
Este
tipo
de
roteamento
(algumas
vezes
chamado
de
policy
based
routing)
utiliza
razões
não
técnicas
(por
exemplo,
política,
organizacional
ou
de
segurança)
para
fazer
decisões
de
roteamento.
BGP
é
necessário
para
implementar
uma
nova
estrutura
de
rede
composta
de
sistemas
autônomos
equivalentes
que
é
mais
"expansível"
que
a
estrutura
hierárquica
antiga.
É
importante
lembrar
que
a
maioria
dos
sistemas
não
precisam
de
um
protocolo
de
roteamento
externo.
Protocolos
de
roteamento
externo
só
são
necessários
em
sistemas
autônomos
e
que
precisam
trocar
informações
entre
si.
Somente
o
gateway
que
conecta
os
dois
sistemas
autônomos
precisa
executar
um
protocolo
de
roteamento
externo.
Escolha
do
protocolo
de
roteamento
Embora
existam
vários
protocolos
de
roteamento,
normalmente
é
fácil
fazer
uma
escolha.
Para
redes
locais,
RIP
é
a
escolha
mais
comum.
Se
você
precisa
de
protocolo
de
roteamento
externo,
observe
que,
para
que
sistemas
autônomos
se
comuniquem,
eles
devem
utilizar
o
mesmo
protocolo.
Portanto,
se
já
existe
um
sistema
autônomo
funcionando,
o
novo
sistema
autônomo
deve
utilizar
o
mesmo
protocolo
de
roteamento
que
o
sistema
autônomo
existente.
A
seguir
são
apresentados
dois
protocolos
de
roteamento:
RIP
e
EGP.
RIP
-
Rounting
Information
Protocol
Na
inicialização
do
protocolo
RIP
de
um
roteador,
ele
envia
um
pedido
para
atualização
de
informações
de
roteamento,
e
ouve
as
respostas
ao
seu
pedido.
Quando
um
sistema
configurado
para
fornecer
informações
RIP
ouve
o
recebe
um
pedido,
ele
responde
com
um
pacote
de
atualização
baseado
nas
informações
de
sua
tabela
de
roteamento.
O
pacote
de
atualização
contém
o
endereço
destino
da
tabela
de
roteamento,
e
a
métrica
associada
com
cada
destino.
Pacotes
de
atualização
são
emitidos
freqüentemente,
para
informações
de
roteamento
atualizadas.
Quando
uma
atualização
RIP
é
recebida,
o
roteador
atualiza
a
tabela
de
roteamento
baseado
nas
informações
da
resposta.
Se
a
atualização
de
roteamento
contém
uma
rota
para
um
destino
que
não
consta
na
tabela
local,
a
nova
rota
é
acrescentada.
RIP
também
remove
rotas
da
tabela
de
roteamento.
Existem
duas
maneiras
disso
ser
feito.
A
primeira
acontece
quando
o
gateway
para
um
destino
indica
que
a
rota
possui
mais
que
15
hops,
a
rota
é
removida.
A
segunda
é
que
RIP
assume
que
um
gateway
que
não
envia
informações
de
atualizações
por
um
período
excessivo
de
tempo
não
está
operacional.
EGP
-
Exterior
Gateway
Protocol
EGP
é
um
protocolo
para
troca
de
informações
de
roteamento
com
gateways
de
outros
sistemas
autônomos.
Antes
de
enviar
informações
de
roteamento,
o
sistema
deve
trocar
mensagens
"EGP
Hello"
e
"EGP
I-Heard-You"
(I-H-Y)
com
o
gateway.
Hello
e
I-H-Y
são
pacotes
EGP
especiais
utilizados
para
estabelecer
um
diálogo
entre
dois
gateways
que
falam
EGP.
Computadores
que
comunicam-se
através
de
EGP
são
chamados
de
EGP
neighbors,
e
a
troca
de
mensagens
Hello
e
I-H-Y
são
chamadas
"adquirindo
um
vizinho".
Uma
vez
que
o
vizinho
é
adquirido,
o
sistema
pede
informações
de
roteamento
do
vizinho.
Este
pedido
de
informações
é
chamado
de
poll.
O
vizinho
responde
enviando
um
pacote
de
informações
de
alcançabilidade
chamado
update.
Se
o
sistema
recebe
um
poll
de
um
vizinho,
ele
responde
com
seu
pacote
update.
Quando
o
sistema
recebe
um
pacote
update
de
seu
vizinho,
ele
inclui
as
rotas
do
update
na
sua
tabela
de
roteamento.
Mas
se
o
vizinho
não
responder
em
três
poll
consecutivos,
o
sistema
assume
que
o
vizinho
não
está
ativo
e
remove
a
rota
para
o
vizinho
da
tabela
de
roteamento.