Routing information protocol
A Internet, como conhecemos hoje, tem origem no projeto do Departamento de Defesa dos Estados Unidos em 1969. O objetivo do projeto era a construção de um sistema de comunicação digital para tempos de guerra. Naquela época, o telefone era o único sistema de comunicação de uso em grande escala. O maior problema do projeto era a dependência das estações de transferência, que poderiam ser alvo de ataque. Seria possível projetar uma rede que pudesse rapidamente redirecionar o tráfego de informações digitais de forma a contornar os nós com problema?
Uma solução teórica encontrada foi a construção de uma rede de datagrama (chamada "catenet") e usar protocolos de roteamento dinâmico para constantemente ajustar o fluxo do seu tráfico. Assim foi lançado o Programa de Internet do DARPA (Defence Advanced Research Agency), que em 1975 foi declarado um sucesso. À medida que sua rede interna (ARPANET) foi crescendo, a necessidade da utilização de um protocolo de roteamento entre os "gateways" foi aumentando até a implementação do GGP (Gateway-to-Gateway Protocol), permitindo a construção de tabelas de roteamento entre eles.
A partir daí, com o crescimento do número de computadores conectados à rede e, consequentemente, das tabelas de roteamento, tornou-se infactível cada roteador ter uma entrada para todos os demais roteadores. Veio, então, a necessidade de protocolos de roteamento hierárquico. Os roteadores foram divididos em regiões, com cada roteador conhecendo todos os detalhes sobre sua própria região, mas sem nada conhecer sobre a estrutura interna de outras regiões. Para redes muito grandes, talvez dois níveis hierárquicos possam ser insuficientes, necessitando de outros agrupamentos. Do ponto de vista de uma rede local, temos dois níveis de comunicação: a comunicação interna à rede e a comunicação externa à rede (isto é, entre redes). Para facilitar a compreensão é mostrado um exemplo de diagrama de rede:
Os algoritmos de roteamento são divididos, então,