Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços
Italo Valcy - italo@dcc.ufba.br
Gestores da Rede Acadêmica de Computação Departamento de Ciência da Computação
Universidade Federal da Bahia
Todo o material aqui disponível pode, posteriormente, ser utilizado sobre os termos da:
Creative Commons License:
Atribuição - Uso não comercial - Permanência da Licença
Assuntos abordados
Introdução à roteamento IP
Laboratório prático
Roteamento básico
Conceito de roteamento
O que é roteamento?
Roteamento é a transferência de informação da
origem até o destino através de uma rede.
Roteamento básico
Conceito de roteamento
Componentes do roteamento
Determinação de rotas
Transporte dos pacotes (comutação)
Determinação de rotas
Métrica
Tabela de roteamento Troca de mensagens
Para chegar na rede Enviar para
10 Nó A
15 Nó B
20 Nó C
30 Nó A
Roteamento básico
Roteamento direto
Origem e Destino na mesma rede
Várias topologias
Lembre-se equipamentos de nível 2 não tratam endereço IP 10.35.143.0 10.35.143.10 10.35.143.15 Tabela de Roteamento Destino Gateway 10.35.143.0 10.35.143.10 ... ... Switch
Roteamento básico
Roteamento indireto
Origem e Destino estão em redes distintas
10.35.143.0 10.35.143.10 10.35.144.15 Tabela de Roteamento Destino Gateway 10.35.143.0 10.35.143.10 0.0.0.0 10.35.143.1 Router 10.35.144.0 Tabela de Roteamento Destino Gateway 10.35.143.0 10.35.143.1 10.35.144.0 10.35.144.1 ... ... 10.35.143.1 10.35.144.1 Tabela de Roteamento Destino Gateway 10.35.144.0 10.35.144.15 0.0.0.0 10.35.144.1
Roteamento básico
Tabelas de roteamento
Cada máquina/roteador da rede precisa dispor de informações sobre quais redes está conectada. À esse conjunto de informações dá-se o nome de Tabela de Roteamento;
A tabela de roteamento deve guardar informações sobre que conexões estão disponíveis para se atingir uma determinada rede e alguma indicação de performance ou custo do uso de uma dada conexão;
Antes de enviar um datagrama, uma máquina/roteador precisa consultar a tabela de roteamento para decidir por qual conexão de rede enviá-lo;
Obtida a resposta, a máquina faz a entrega do datagrama de forma direta (destino em rede diretamente conectada) ou
Roteamento básico
Tabelas de roteamento
As informações básicas de uma tabela de roteamento são:
Para redes diretamente conectadas, o destino é a interface conectada aquela rede.
Alguns entradas podem especificar o endereço IP de uma máquina destino.
Ainda, podemos ter a rota “default” para onde são encaminhados datagramas cujo endereço IP não pertença à tabela de roteamento.
Endereço IP
Roteamento básico
Roteamento básico
Roteamento Estático e Dinâmico
Roteamento estático
versus
Roteamento básico
Roteamento estático
Normalmente configurado manualmente
A tabela de roteamento é estática
As rotas não se alteram dinamicamente de acordo com as alterações da topologia da rede
Custo manutenção cresce de acordo com a
complexidade e tamanho da rede
Roteamento básico
Roteamento estático
Vantagens
Sem overhead na CPU do roteador
Roteadores não usam a largura de banda Segurança (administrador define as rotas)
Desvantagens
Exige maior conhecimento técnico
Cada mudança na configuração deve ser feita em todos os roteadores da rede
Roteamento básico
Roteamento dinâmico
Divulgação e alteração das tabelas de roteamento
de forma dinâmica
Sem intervenção constante do administrador
Alteração das tabelas dinamicamente de acordo
com a alteração da topologia da rede
Adaptativo
Melhora o tempo de manutenção das tabelas em
grandes redes
Roteamento básico
Roteamento dinâmico
Vantagens
Configuração mais fácil que da da rota estática Atualizações dinâmicas pelos roteadores
Usado em redes grandes
Desvantagens
Overhead na CPU do roteador
Roteamento básico
Roteamento dinâmico
Métrica dos protocolos de roteamento
Contador de hops
Bandwidth (largura de bada) Delay (atraso)
Custo outros...
Roteamento básico
Sistemas Autônomos
Um SA (Sistema Autônomo) pode ser definido
como
“Um grupo de redes e roteadores controlados por uma única autoridade administrativa.”
Roteadores em um sistema autônomo seguem as
mesma “regras” de roteamento
Protocolos de roteamento são classificados de
acordo com sua atuação
SA #1
Roteamento básico
Protocolos de roteamento
Protocolos Interiores (
IGP – Interior Gateway Protocol)
São aqueles utilizados para comunicação entre roteadores de um mesmo sistema autônomo
Exemplo: RIP – RFC2453, OSPF – RFC2328
Protocolos Exteriores (
EGP – Exterior Gateway Protocol)
São aqueles utilizados para comunicação entre roteadores de sistemas autônomos diferentes Exemplo: EGP (obsoleto), BGP4 – RFC421
Roteamento básico
Algoritmos de roteamento
Os protocolos de roteamento implementam um ou
mais algoritmos de roteamento
Exemplos de Algoritmos
Vetor Distância, SPF (Shortest Path First), ...
Exemplos de protocolos
Roteamento básico
Algoritmos de roteamento - Vetor-distância
Vetor-distância (Bellman-Ford)
Cada roteador mantém uma lista de rotas conhecidas Cada roteador divulga sua tabela para seus vizinhos Cada roteador seleciona os melhores caminhos
dentre as rotas conhecidas e divulgadas
A escolha do melhor caminho é baseada na
métrica:
Geralmente, menor caminho == melhor rota
Roteamento básico
Routing Information Protocol (RIP)
Protocolo interior
Implementa o algoritmo Vetor Distância
A métrica utilizada é o número de máquinas
intermediárias (no. de hops)
Não permite o balanceamento de tráfego
Cada roteador divulga sua tabela periodicamente
a cada 30 segundos
As mensagens divulgadas levam n tuplas
contendo
Roteamento básico
Routing Information Protocol (RIP)
A divulgação para os vizinhos é realizada por
broadcast
O router envia um broadcast em todas as redes
diretamente conectadas a ele
No procedimento normal, se a rota não for
atualizada em 180 segundos é considerada
inatingível
A informação de rota inatingível é repassada aos
roteadores “vizinhos” (diretamente alcançáveis)
Roteamento básico
Routing Information Protocol (RIP) – Exemplo
Router 0 Destino|Next hop|Metrica Rede A | |0 Rede B | |0 Router 1 Destino|Next hop|Metrica Rede B | |0 Rede C | |0 Router 2 Destino|Next hop|Metrica Rede D | |0 Rede E | |0
Roteamento básico
Routing Information Protocol (RIP) – Exemplo
Router 0 Destino|Next hop|Metrica Rede A | |0 Rede B | |0 Router 1 Destino|Next hop|Metrica Rede B | |0 Rede C | |0 Router 2 Destino|Next hop|Metrica Rede D | |0 Rede E | |0
Roteamento básico
Routing Information Protocol (RIP) – Exemplo
Router 0 Destino|Next hop|Metrica Rede A | |0 Rede B | |0 Router 1 Destino|Next hop|Metrica Rede B | |0 Rede C | |0 Router 2 Destino|Next hop|Metrica Rede D | |0 Rede E | |0
Roteamento básico
Algoritmos de roteamento – Link state
O estado do enlace pode ser considerado como
uma descrição da interface do roteador.
Baseado no conceito de mapas distribuídos, todos
os nodos do mapa tem uma cópia.
Características
Descobrir seus vizinhos e seus endereços de rede
Calcular o retardo ou custo para cada um dos vizinhos Construir um pacote informando tudo que aprendeu
Roteamento básico
Algoritmos de roteamento – Link state
A 1 2 3 4 5 6 B C D E
De Para Enlace Métrica
A B 1 1 A D 3 1 B A 1 1 B C 2 1 B E 4 1 C B 2 1 C E 5 1 D A 3 1 D E 6 1 E C 5 1 E B 4 1 E D 6 1
Exemplo
Roteamento básico
Open Shortest Path First (OSPF)
O OSPF é um protocolo especialmente projetado
para o ambiente TCP/IP para ser usado internamente
ao AS.
Sua transmissão é baseada no Link State Routing
Protocol e a busca pelo menor caminho é computada
localmente, usando o algorítmo Shortest Path First –
SPF (baseado no Dijkstra).
Cada roteador envia periodicamente um LSA (link
state advertisement)
Roteamento básico
Dúvidas?
Roteamento estático no GNU/Linux:
ferramentas de configuração e teste
Roteamento básico
Configurando rotas estáticas no GNU/Linux
Suponha o seguinte cenário:
Como simular esse cenário em um ambiente
GNU/Linux com roteamento estático?
Router1
Host A
Host B Router1
Roteamento básico
Configurando rotas estáticas no GNU/Linux
Usaremos o comando route para definir as rotas
estáticas, porém antes vamos pensar no projeto da
rede. Ela terá essa configuração:
172.16.0.1 172.16.0.2 192.168.0.254 192.168.0.1 10.1.0.1 10.1.0.254
Para chegar na rede Enviar para 10.1.0.0/24 172.16.0.2
Para chegar na rede Enviar para 192.168.0.0/24 172.16.0.1
Host A
Host B Router1
Roteamento básico
# ifconfig eth0 192.168.0.1/24 # route add default gw 192.168.0.254Configurar Host A:
# ifconfig eth0 10.1.0.1/24 # route add default gw 10.1.0.254Configurar Host B:
# ifconfig eth0 192.168.0.254/24 # ifconfig eth0:0 172.16.0.1/30Configurar Router1:
Configurar Router2:
Roteamento básico
# route add net 10.1.0.0 netmask 255.255.255.0 \ gw 172.16.0.2
Configurar as rotas em Router1:
Configurando rotas estáticas no GNU/Linux
# route add net 192.168.0.0 netmask \ 255.255.255.0 gw 172.16.0.1
Configurar as rotas em Router2:
# sysctl net.ipv4.ip_forward = 1
Roteamento básico
Ferramentas de teste - traceroute
Mostra o caminho do pacote até o destino
Envia datagramas UDP para o destino
Inicia com TTL=1 e vai incrementando até o destino Envia 3 datagramas para cada hop.
Cada roteador (hop) no caminho subtrai 1 do TTL
Quando o TTL=0, o roteador envia uma mensagem de erro ICMP tipo 11, informando seu endereço IP.
A origem calcula o RTT médio e imprime uma linha para cada hop que respondeu
Roteamento básico
Roteamento básico
Laboratório
Implementar o seguinte cenário:
Passos para configuração:
Defina os endereços IPs de cada host do cenário, obedecendo às redes acima (ifconfig).
Teste a conectividade entre hosts de mesma rede (ping).
Configure as rotas nos servidores que funcionarão como roteadores (route).
Referências
www.inf.pucrs.br/~benso/redes601/2004_2/Roteamento.ppt http://www.rnp.br/newsgen/9705/n1-1.html
“Protocolos de Roteamento – RIP & OSPF”, Aline Felisberto – UFRJ, http://www.gta.ufrj.br/grad/98_2/aline/indice.html