Diferença entre cache de rota e tabela de vizinhos

0

Nosso servidor Ubuntu é executado como um roteador para milhares de dispositivos. Com o crescente número de clientes de conexão, notamos 3 problemas de estouro no log do kernel:

1. Route cache chain too long 
2. Neighbor table overflow
3. ip conntrack table full

Todos os 3 tamanhos de tabela podem ser estendidos, e nós o fizemos, mas não entendemos as diferenças entre eles e os mecanismos envolvidos.

Então, alguém pode, em termos simples, explicar as diferenças entre o cache de rotas do kernel e a tabela de vizinhos? Eles parecem servir a propósitos semelhantes, trabalham com os mesmos mecanismos (coleta de lixo) e ambos gerenciam rotas.

A explicação para a tabela connntrack também será bem-vinda:)

    
por er453r 10.09.2014 / 22:04

1 resposta

3

O Cache de Rota e as Tabelas Vizinhas são um pouco semelhantes, pois ambos ajudam a decidir para onde enviar um pacote.

A diferença é que a tabela vizinha armazena entradas no nível da camada 2 (ethernet); ajuda a traduzir endereços IP em endereços MAC. O protocolo ARP é usado para consultar novas entradas no cache.

Um Cache de Rota funciona na camada 3 (IP). A forma mais simples mapeia os endereços IP de destino para os "próximos saltos" (ou seja, para onde enviar um pacote desse nó). Geralmente, os não-roteadores têm um cache completamente estático, que mapeia todo o tráfego para uma única "rota padrão".

Existem políticas de cache mais complicadas, que implementam restrições de qualidade de serviço, endereços de origem e de destino, etc. O guia de roteamento IP fornece uma boa visão geral.

    
por 10.09.2014 / 22:23