Quando um gateway é ligado pela primeira vez a tabela de roteamento é inicializada . Isto pode ser feito por um operador em um terminal , ou por leitura de arquivos de configuração.
A descrição de cada rede conectada ao gateway é fornecida, incluindo o atraso referente a topologia ao longo do enlace e a largura de banda do enlace.
Por exemplo :
na figura acima o gateway S poderia comunicar-se com as redes 2 e 3 , visto que estão conectados via suas correspondentes interfaces.
Assim que é inicializado o gateway 2 ele sabe apenas que pode acessar qualquer destino via rede 2 e 3.
Todos os gateways são programados para periodicamente transmitir aos seus gateways vizinhos a informação de que estão inicializados com informações coletadas de outros gateways.
Assim o gateway S pode receber atualizações do gateway R e T e aprender que pode acessar a rede 1 através do gateway R e a rede 4 através do gateway T.
Desde que o gateway S envia sua tabela de roteamento completa ono próximo ciclo o gateway T aprenderá que pode acessar a rede 1 através do gateway S.
Cada gateway computa a composição métrica para determinar a rota na qual enviará os dados ao seu destino.
Por exemplo na figura acima, para um destino na rede 6 , o gateway A poderia computar a métrica para duas rotas, via gateway B e C.
Existem três possibilidades de roteamento de A para a rede 6.
1. diretamente para B; 2. para C e depois para B; 3. para C de depois para D.
A tabela de roteamento em A tem uma entrada simples que representa a rota para C.
Se A enviar um pacote para C , C decidirá qual a melhor rota para acessar o destino via B ou D.
A princípio o atraso composto , Dc, poderia ser determinado da seguinte maneira:
Na prática a figura do atraso e usada deacordo com a tecnologia de cada rede.
Na figura abaixo temos um exemplo de tabela de roteamento, o vetor de não é mostrado por motivos de simplificação.
O processo básico para construção da tabela de roteamento pela troca de informações entre os gateways vizinhos e descrito no algoritmo de Bellman-Ford.
No caso do IGRP sao adicionadas tres caracteristicas a mais no algoritmo.
1 - Ao contrário de usar uma métrica simples é usado um vetor de métrica para caracterizar uma rota. A métrica composta pode ser calculada usando-se para tal a fórmula descrita acima.
O uso do vetor de métrica permite ao gateway fornecer diferentes tipos de serviços, usando diferentes coeficientes. Também permite maior precisão na caracterização de uma rede em relação à métrica simples.
2 - O tráfego pode ser dividido dentro de várias rotas as quais estão dentro de um determinado intervalo de métrica. Isto permite a sejam usadas várias rotas paralelas aumentando assim a banda passante ao contrário de uma rota única a qual possui uma banda passante limitada.
3 - Várias características foram introduzidas para forncer maior estabilidade em situações de mutação da topologia da rede. Estas características pretendem prevenir os loops no roteamento. Estas características são ( estão descritas no RFC 1058 ):
O IGRP pretende manipular vários tipos de serviços e múltiplos protocolos. Tipos de serviços e uma especificação em um pacote de dados, que modifica a maneira como as rotas são avaliadas.
Por exemplo o protocolo TCP/IP permite que pacotes sejan especificados relativamente a importância de alta banda passante, baixo atraso, ou alta comfiabilidade.
Geralmente aplicações interativas especificarão baixo atraso, enquanto aplicações que transfiram grande volume de dados necessitam uma grande banda passante.
Estas exigencias determinam os valores das constantes K1 e K2 da fórmula acima citada.