O IGRP é um protocolo que permite aos gateways contruir e manter tabelas de roteamento, pela troca de informações com outros gateways . Um gateway começa sua tabela com ligações para todas as redes conectadas diretamente a ele, obtem informações sobre outras redes pela troca de tabelas de roteamento atualizadas com os gateways adjacentes.
Em um caso simples , o gateway encontrará um caminho que representa o melhor caminho para alcançar uma outra rede. o caminho é caracterizado pelo próximo gateway para o qual os pacotes deverão ser enviados , a interface de rede que deverá ser utilizada e informações de métrica.
A informação de métrica é um conjunto de números que caracterize o quanto é boa a rota, isto permite ao gateway comparar várias rotas que foram adquiridas de vários gateways e decidir qual delas ele deve usar. Existem casos frequentes onde pode-se dividir o tráfego em duas ou mais rotas.
O IGRP não fornecerá a informação de que dois ou mais rotas são igualmente boas. O usuário também pode configurar para que o tráfego seja dividido em duas ou mais rotas que são quase igualmente boas, neste caso mais tráfego serß enviado pela rota que possua melhor métrica.
A métrica usada pelo IGRP inclui :
- O tempo de atraso inserido pela topologia.
- A largura da banda do segmento mais estreito da rota.
- A capacidade de tráfego do canal da rota..
- A confiabilidade da rota.
Ainda são usadas mais duas informações :
- hop count.
- MTU.
Periodicamente cada gateway executa um broadcast de sua tabela de roteamento, quando um gateway recebe este broadcast de um outro gateway ele compara a tabala recebida com a já existente , comparando as rotas se existir alguma rota melhor ddo que as que ele já possui ele então substitui a já existente.
Este procedimento é similar ao usado por todos os protocolos vetor distância, e é referido na literatura matemática como algoritmo de Bellman-Ford .