Processo HELLO

O processo HELLO mantém sincronização do relógio com o processo HELLO vizinho usando o protocolo HELLO. Ele também participa no algoritmo de roteamento. Há um processo HELLO e um conjunto de variáveis de estado locais para cada enlace conectando o host a um de seus vizinhos.

Variáveis Locais

HLO.BROADCAST: esta é uma variável de estado de 1 bit. Quando é estabelecida a zero se asume um enlace ponto a ponto. Quando é estabelecida a um se asume um enlace broadcast.

HLO.KEEP-ALIVE:: É um contador de 8 bits usado para indicar se o enlace esta ativo. É inicializado com um valor de zero. HLO.LENGTH: É uma variável inteira de 16 bits usada para regestrar o comprimento em octetos da última mensagem HELLO enviada.

HLO.NEIGHBOR-ADDRESS: Contém o endereço internet do host vizinho.

HLO.PID: É usada para identificar o processo net-output associado com o processo HELLO. HLO.POLL: É uma variável de um bit. Quando é seteada(set) o processo HELLO espontaneamente envia uma mensagem HELLO. Quando não é seteada o processo HELLO responde mensagens HELLO, mas não os envia espontaneamente.

HLO.TIMESTAMP: É usado para registrar o tempo de chegada de uma mensagem HELLO.

HLO.TSP: É usado para os cálculos do roundtrip delay.

Parametros HELLO-INTERVAL: Define o intervalo em segundos entre mensagens HELLO. Pode ser entre 8 a um máximo de 30 segundos, dependendo da velocidade da linha.

HOLD-DOWN-INTERVAL: É o intervalo em segundos no qual um host será considerado ativo siguendo a recepção de uma mensagem HELLO indicando que o host esta ativo.

KEEP-ALIVE-INTERVAL:É o intervalo de tempo que o processo HELLO considera ativo o enlace.

MAXDELAY: Define o máximo atraso roundtrip em segundos.

Procedimentos

PROCEDIMENTO ROUTE: Este procedimento retorna a identificação do host (ID) no HID do host representado pela variável ADDRESS.

Primeiro determina se o host representao por ADDRESS é na mesma rede local.

Caso 1: Se o host esta na mesma rede ou sub-rede:

Extrae o campo de endereço, substrae ADDRESS-OFFSET e armazena o resultado em HID. Se 0 <= HID < NHOSTS, o procedimento completa normalmente, de outro modo ele termina com uma condição de erro.

Caso 2: Se o host não esta na mesma rede ou sub-rede.

Busca a tabela NET-TABLE para fazer uma relação dos campos LOCAL-ADDRESS e NET-TABLE.NET. Se encontra a relação estabelece NET-TABLE.HID -> HID e retorna normalmente. Se o campo NET-TABLE.NET é zero, indicando a última entrada na tabela estabelece HET-TABLE.HID -> HID e retorna normalmente. Note que nos casos de host incluindo modulos de gateways GGP/EGP, se nehuma relação é encontrada o procedimento termina com uma condição de erro.