Protocolos de roteamento RIP e OSPF
Roberto Néia Amaral (Mestre)
Curso de Ciência da Computação - Universidade Tuiuti do Paraná
Ciro de Barros Barbosa (Doutor)
Curso de Ciência da Computação - Universidade Tuiuti do Paraná
Diógenes Cogo Furlan (Mestre)
Resumo
Este artigo apresenta uma descrição de protocolos de roteamento, suas principais funcionalidades e uma descri-ção dos protocolos de roteamento RIP e OSPF. Quanto as propriedades de um algoritmo de roteamento são citadas as principais funcionalidades que deverão possuir e sua base de dados, a qual deverá sempre estar atuali-zada. Estes protocolos são utilizados no roteamento em redes de computadores. Dentro de vários protocolos de roteamento, este artigo referencia o OSPF, o qual foi desenvolvido por um grupo de pesquisa de reconhecimento mundial e o RIP, o qual é aceito por todos os roteadores atuais.
Palavras-chave: protocolos de roteamento, protocolo RIP, protocolo OSPF.
Abstract
This article presents a description of routing protocols, their main characteristics and a description of the RIP and OSPF protocols. We describe the main characteristics required in a routing algorithm, together with the related database that should be always updated. These protocols are used for the routing process of Computer Networks. Within several routing protocols, we refer in particular to OSPF protocol because it was developed by a research group recognised world-wide, and the RIP protocol, compatible with all routers in use nowadays.
A Internet é um conjunto de redes interligadas atra-vés de gateways. Essas redes podem ser links ponto-a-ponto, Ethernet ou Arpanet, que fazem constantemente trocas de pacotes de informações entre os hosts. A decisão de qual caminho seguir e de onde colocar estes pacotes é tomada pelos protoco-los de roteamento.
A principal função do protocolo de roteamento é fornecer a informação necessária para fazer o roteamento. Esses são realizados por equipamentos chamados roteadores que são gateways, os quais possuem duas ou mais interfaces pertencentes a diferentes redes. Eles man-têm em sua memória uma tabela que contém todos os endereços conhecidos e que serão utilizados no momen-to de enviar os pacotes de informações(datagrama). A função principal de um gateway é direcionar pacotes entre redes, entregando o pacote desejado ao seu destino final ou a um outro gateway.
O roteamento, que é a principal função de um gateway, é um conjunto de normas aplicadas sobre uma rede de comunicação, que determina qual caminho
um pacote de informação deverá seguir para atingir o seu host de destino, fazendo assim, o uso racional dos recursos fornecidos pela rede.
O pacote de informação, também conhecido como datagrama, pode ser entregue diretamente ao seu destino, desde que este esteja em uma das redes que estão diretamente conectadas ao host. Se o host não estiver diretamente conectado à rede de origem, o gateway examina o destino contido no cabeçalho do pacote, busca o endereço mais próximo em sua tabela de endereços, e envia o datagrama para o gateway, que possua o endereço mais próximo do ponto de destino. Este processo se encerra quando o pacote é entregue a um gateway que esteja direta-mente ligado à rede de destino.
Algoritmo de Roteamento
Os algoritmos de roteamento cumprem um pa-pel importante neste tráfego de informações, por serem mecanismos que rodam nos gateway, atualizan-do a sua tabela de roteamento. São responsáveis em determinar qual é o melhor caminho para se atingir um determinado ponto. Estes mecanismos são par-te inpar-tegranpar-te dos programas do nível de rede, por decidirem qual é o caminho que um pacote deverá seguir para chegar ao seu destino final.
Os algoritmos de roteamento executam os seguin-tes processos:
- Extraem o endereço do datagrama recebido; - Verificam se o endereço de rede do datagrama é
igual ao da rede local;
- Se for igual, fazem o roteamento direto;
- Se o endereço não for igual ao endereço da rede local, consultam a sua tabela de rotas;
- Se o endereço estiver em sua tabela, fazem o roteamento direto ao gateway relacionado;
- Se o endereço do datagrama não consta em sua tabela de rotas, enviam este pacote ao gateway default.
Propriedades de um Algoritmo de
Roteamento
Um algoritmo de roteamento deve possuir as seguintes propriedades:
- Cálculos Corretos: calcular rotas corretamente a seus destinos, e quando os destinos não forem encontrados deverá enviar os datagramas para seus gateway default. Não deve endereçar os datag ramas a endereços inexistentes. Um algoritmo de roteamento não deve simples-mente rotear um datagrama a um destino, ele deve também calcular qual é a melhor rota na-quele momento.
- Agilidade: o algoritmo de roteamento deve ser ágil e de tamanho satisfatório, de forma a não sobre-carregar a máquina, e simples o suficiente de tal modo que o usuário seja capaz de entendê-lo. - Convergência: outra propriedade importante de um
algoritmo é a sua convergência. Ele deve conver-gir (atualização da tabelas de roteamento) rapida-mente, ao ponto de atualizar a sua tabela de roteamento o mais rápido possível, sem causar nenhum ônus ao usuário. Por exemplo, quando um determinado usuário envia um pacote a um desti-no qualquer que não esteja em sua rede, o seu gateway default ao receber este pacote de infor-mações, deve possuir sua tabela de rotas atualiza-da para que possa calcular a melhor rota para o destino do pacote a ser enviado.
- Eficácia: ao determinar a rede e uma vez inicializado, o algoritmo de roteamento deve permanecer em execução por tempo indeterminado. Durante este tempo que estiver no ar, redes vão ser alteradas e novos host entrarão nesta topologia. O algoritmo deverá ser capaz de reconhecê-las.
Os algoritmos de roteamento utilizam uma tabela de roteamento em cada máquina para guardar as informa-ções sobre os destinos e qual o melhor caminho possí-vel, esta tabela é sempre consultada quando existe a necessidade de enviar um datagrama a um host ou gateway.
As informações que são guardadas nestas tabelas são, o IP da rede destino e o IP do gateway que se encontra no caminho para se atingir esta rede.
Nestas tabelas é impossível armazenar todas as informações sobre todos os host de todas as redes conhecida pelo gateway, o principal motivo é o tama-nho que estas tabelas teriam.
Cada entrada na tabela de roteamento contém as seguintes informações:
- IP Endereço: o endereço de destino
- Distância: determina qual a distância entre o destino e o corrente host ou porta, e mensura o custo para obter o datagrama para o seu destino. Na maior parte das implementações, a distância é uma deter-minação do número de hops que o datagrama tem que percorrer em ordem para alcançar o destino. - Próximo Hop: o endereço IP da próxima porta que
o datagrama precisa para ser enviado e poder che-gar ao destino final .
- Troca de Flag: uma flag indicando que há uma mo-dificação para a informação de roteamento para esta entrada.
- Interface: a interface da rede pela qual deve ser envi-ado o datagrama para o próximo gateway ou host de destino.
- Timers: usado para o tempo de entradas na tabela de rotas. Existem dois tipos de tempo para cada
entrada. O primeiro indica o tempo deixado an-tes que a entrada tenha sido considerada fora de data e marcada para ser eliminada. Geralmente, este valor é definido como 180 segundos quando a entrada é criada ou alterada. O segundo é o tempo de controle quando a rota é atualizada pela tabela.
Em muitos casos uma tabela de roteamento pos-sui rotas estáticas, que são rotas que direcionam um host a outro, através de um caminho pré-determi-nado. Estas rotas estáticas são criadas para que o datagrama tome sempre o mesmo caminho. Por exemplo, um determinado usuário possui uma rota a ser seguida através de um determinado host, esta
FIGURA 1: ENTRADAS NA TABELA DE ROTEAMENTO
rota é estabelecida por um algoritmo de roteamento qualquer, mas no meio do caminho existe sempre um host que apresente problemas. Percebendo este fato, o usuário define uma rota estática, estabelecen-do que o caminho não seja através deste host proble-mático, fazendo assim que sua rota esteja sempre ativa. As tabelas de roteamento são criadas e mantidas por diversos tipos de algoritmos de roteamento, dentre os quais existem dois que são mais conhecidos, algoritmo de Bellman-Ford e algoritmo de Djikstra.
Protocolos de Roteamento RIP
Um dos protocolos mais utilizados atualmente é o RIP (Routing Information Protocol), o qual foi criado para ser utilizado em endereçamento baseado em IP, baseado no alg oritmo de Bellman-Ford, o qual por sua vez pertence à uma classe de algoritmos conhecidos como “algoritmo de vetor a distância”.
O RIP é um protocolo que utiliza o UDP em protocolo IP (trabalha sobre a port number 520, enviando através destas seus broadcast, por mais que uma requisição seja feita através de uma outra port), para troca de informações entre gateways. A sua fi-nalidade é colher e manter correta as informações
dos caminhos a serem seguidos pelos datagramas dentro da rede.
Este protocolo utiliza a técnica de vetor-distância, transformando máquinas em ativas e passivas. Os gateways ativos informam as rotas conhecidas por ele a outros gateways, já os passivos somente recebem es-tas informações e atualizam as suas tabelas de roes-tas. Normalmente os gateways são máquinas ativas e os hosts atuam como máquinas passivas.
As mensagens propagadas pelo RIP não possuem um tamanho definido, ele assume que o protocolo de transporte informe o tamanho da mensagem. Por exem-plo, quando o protocolo RIP está trabalhando sobre o TCP/IP, este tamanho é definido pelo protocolo UDP. O RIP envia suas mensagens sobre rotas a cada 30 segundos, como broadcast, contendo o endereço IP de rede e sua distância. A distância é a métrica de con-tagem de saltos entre gateways (hop). Um hop significa que existe um único salto de um gateways até a rede diretamente conectada e dois hops indica que existe um salto de gateways a outro, para atingir a rede dese-jada. O número de hops (saltos) que é indicado para se atingir um determinado ponto, indica quantos gateways existem neste caminho.
Em alguns momentos a menor quantidade de hops não indica o melhor caminho. Pode ser que uma rota com mais números de saltos signifique uma maior
qualidade de conexão (rapidez), para solucionar esta deficiência do protocolo RIP. O usuário deve, ma-nualmente, alterar rota indicando uma métrica mai-or a esta definida pelo protocolo, fmai-orçando assim que seja estabelecido um caminho maior mas com melhor qualidade.
O protocolo RIP tem a vantagem de trocar um mínimo de informações para manter a tabela de ro-tas e a limitação de permitir somente um máximo de 15-hop para medir a distância para uma rede. Para o propósito do RIP, 16 hops representam o infinito. Uma limitação adicional é que o RIP não toma conta das condições do tempo real da rede semelhante a um congestionamento ou uma demora quando cal-cula a distância entre redes. Redes que têm sido de-terminadas para serem inacessíveis terão dado um valor de distância de 16 hop (saltos entre roteadores), significando o infinito.
Protocolos de Roteamento OSPF
Outro protocolo muito utilizado atualmente é OSPF (Open Short Path Firts), que utiliza tecnologia Link State e foi desenvolvido pelo OSPF working group da IETF, tendo sido criado para ambientes Internet, baseando-se no roteamento pelo Type of Service (TOS).
O protocolo rapidamente detecta mudanças (como falhas na interface de roteamento) e calcula novas rotas, livres de loops, após o período de con-vergência. Este período de convergência é pequeno e envolve o mínimo de tráfego de roteamento. Em um protocolo de roteamento baseado no SPF(shortest path first), cada roteador mantém uma base de dados descrevendo a topologia. Cada te individual desta base de dados é um estado par-ticular do roteador local(a interface usável do roteador e vizinhos alcançáveis).
Todos roteadores executam o mesmo algoritmo em paralelo. Sobre a base de dados topológica, cada roteador constrói uma árvore dos menores cami-nhos alcançáveis , sendo ele próprio a raiz. Esta ár-vore mostra a rota para cada destino de um Sistema Autônomo. Informações para roteamento externo aparece como folhas na árvore.
O OSPF calcula separadamente rotas para cada TOS. Quando várias rotas de custos iguais existem para um destino, o tráfego é distribuído igualmente sobre elas. O custo de uma rota é descrito por uma métrica.
O OSPF permite que um conjunto de redes seja agrupada. Este grupo é chamado de área. A topologia de uma área não é vista pelo resto do Sistema Autô-nomo. Esta informação oculta, permite uma
redu-ção significativa no tráfego de roteamento, da mes-ma formes-ma o roteamento de umes-ma área é determinado apenas pela topologia da área, dando proteção à área de dados de roteamentos errados.
O protocolo OSPF permite uma configuração flexível de sub-redes IP. Cada rota distribuída pelo OSPF possui um destino e uma máscara. Duas sub-redes diferentes em um mesmo número IP de rede podem ter diferentes tamanhos(máscaras). Isto é nor-malmente referenciado como tamanho variável de sub-redes.
Toda troca do protocolo OSPF é autenticada. Isto significa que apenas rotas confiáveis podem par-ticipar do roteamento de um Sistema Autônomo. Uma variedade de esquemas de autenticação pode ser usado. Um esquema simples de autenticação é configurado para cada área. Isto permite algumas áreas fezerem uso de uma autenticação mais restrita que outras.
Dados externos de roteamento são passados transparentemente pelo Sistema Autônomo. Estes dados são conservados separados dos dados OSPF de Link State. Cada rota externa pode ser etiquetada pelo roteador que está anunciando, permitindo a passagem de informação adicional entre roteadores das fronteiras de um Sistema Autônomo.
- Ponto a Ponto: uma rede que possui um par de roteadores. Uma linha 64k serial é um exemplo de uma rede ponto a ponto.
- Broadcast: redes que suportam mais de um roteador, que juntos possuem a capacidade de endereçar uma mensagem para todos os outros roteadores(broadcast).
- Não-Broadcast: redes que possuem vários roteadores, porém não possuem a capacidade de broadcast. Por exemplo temos uma rede X25 ou ISDN. - Ponto-a-Multiponto: suporta múltiplos roteadores em
uma parcial malha de configuração.
Conclusão
O protocolo de roteamento é uma ferramenta de grande importância dentro de uma rede de computa-dores. A escolha da melhor solução pode definir o bom funcionamento de uma rede, pois a lentidão na questão de convergência pode gerar vários tipos de atrasos em uma comunicação, onde poderia gerar um colapso. Por um outro lado, a complexidade gerada na instalação, configuração e manutenção de um pro-tocolo de roteamento pode exigir um profissional exclusivo para manter esta parte da rede.
Referências bibliográficas
COMMER, D. (1991). Internetworking with TCP/IP: Principles, Protocols, and Architeture. 2.ed., vol.1. Prentice-Hall, Englewood Cliffs, NJ.