Roberto Néia Amaral et al. 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) Curso de Ciência da Computação - Universidade Tuiuti do Paraná Tuiuti: Ciência e Cultura, n. 29, FACET 04, pp. 75-84, Curitiba, abr. 2002 75 76 Protocolos de roteamento RIP e OSPF 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 atualizada. 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. Key words: routing protocols, RIP protocol, OSPF protocol. Tuiuti: Ciência e Cultura, n. 29, FACET 04, pp. 75-84, Curitiba, abr. 2002 Roberto Néia Amaral et al. A Internet é um conjunto de redes interligadas através de gateways. Essas redes podem ser links ponto-aponto, 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 protocolos 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 mantêm em sua memória uma tabela que contém todos os endereços conhecidos e que serão utilizados no momento 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 Tuiuti: Ciência e Cultura, n. 29, FACET 04, pp. 75-84, Curitiba, abr. 2002 77 78 Protocolos de roteamento RIP e OSPF 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 diretamente ligado à rede de destino. Os algoritmos de roteamento executam os seguintes 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. 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 datagramas a endereços inexistentes. Um algoritmo de roteamento não deve simplesmente rotear um datagrama a um destino, ele deve também calcular qual é a melhor rota naquele momento. Os algoritmos de roteamento cumprem um papel importante neste tráfego de informações, por serem mecanismos que rodam nos gateway, atualizando 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 parte integrante dos programas do nível de rede, por decidirem qual é o caminho que um pacote deverá seguir para chegar ao seu destino final. Propriedades de um Algoritmo de Roteamento Tuiuti: Ciência e Cultura, n. 29, FACET 04, pp. 75-84, Curitiba, abr. 2002 Roberto Néia Amaral et al. - Agilidade: o algoritmo de roteamento deve ser ágil e de tamanho satisfatório, de forma a não sobrecarregar 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 convergir (atualização da tabelas de roteamento) rapidamente, 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 destino qualquer que não esteja em sua rede, o seu gateway default ao receber este pacote de informações, deve possuir sua tabela de rotas atualizada 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. Tuiuti: Ciência e Cultura, n. 29, FACET 04, pp. 75-84, Curitiba, abr. 2002 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 tamanho 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 determinaçã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 chegar ao destino final . - Troca de Flag: uma flag indicando que há uma modificação para a informação de roteamento para esta entrada. - Interface: a interface da rede pela qual deve ser enviado 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 79 80 Protocolos de roteamento RIP e OSPF entrada. O primeiro indica o tempo deixado antes 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. 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, estabelecendo que o caminho não seja através deste host problemá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 FIGURA 1: ENTRADAS NA TABELA DE ROTEAMENTO Em muitos casos uma tabela de roteamento possui rotas estáticas, que são rotas que direcionam um host a outro, através de um caminho pré-determinado. 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 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 algoritmo 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 finalidade é colher e manter correta as informações Tuiuti: Ciência e Cultura, n. 29, FACET 04, pp. 75-84, Curitiba, abr. 2002 Roberto Néia Amaral et al. 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 estas informações e atualizam as suas tabelas de rotas. 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 exemplo, 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 contagem 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 desejada. 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 Tuiuti: Ciência e Cultura, n. 29, FACET 04, pp. 75-84, Curitiba, abr. 2002 qualidade de conexão (rapidez), para solucionar esta deficiência do protocolo RIP. O usuário deve, manualmente, alterar rota indicando uma métrica maior a esta definida pelo protocolo, forç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 rotas 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 calcula a distância entre redes. Redes que têm sido determinadas 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). 81 82 Protocolos de roteamento RIP e OSPF 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 convergê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 parte individual desta base de dados é um estado particular 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 caminhos alcançáveis , sendo ele próprio a raiz. Esta árvore 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 mesma forma o roteamento de uma á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 subredes diferentes em um mesmo número IP de rede podem ter diferentes tamanhos(máscaras). Isto é normalmente referenciado como tamanho variável de sub-redes. Toda troca do protocolo OSPF é autenticada. Isto significa que apenas rotas confiáveis podem participar 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. O OSPF suporta os seguintes tipos de redes: Tuiuti: Ciência e Cultura, n. 29, FACET 04, pp. 75-84, Curitiba, abr. 2002 Roberto Néia Amaral et al. - 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. Tuiuti: Ciência e Cultura, n. 29, FACET 04, pp. 75-84, Curitiba, abr. 2002 Conclusão O protocolo de roteamento é uma ferramenta de grande importância dentro de uma rede de computadores. 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 protocolo de roteamento pode exigir um profissional exclusivo para manter esta parte da rede. 83 84 Protocolos de roteamento RIP e OSPF Referências bibliográficas COMMER, D. (1991). Internetworking with TCP/IP: Principles, Protocols, and Architeture. 2.ed., vol.1. Prentice-Hall, Englewood Cliffs, NJ. TANENBAUM, A. (1989). Computer Networks. 2.ed. [s.n]. Tuiuti: Ciência e Cultura, n. 29, FACET 04, pp. 75-84, Curitiba, abr. 2002