Você está na página 1de 16

UNP – Universidade Potiguar

Curso de Engenharia de Computação


Redes de Computadores
Professor: Marcos Madruga

RIP – Routing Information Protocol

Anderson Dantas
Marcelo Roberto Bastos Guerra Vale
Renato Monteiro Batista
Weber Cunha Lima

Natal/RN
Novembro/2004.
ÍNDICE

ÍNDICE .................................................................................................................................. 2

INTRODUÇÃO .................................................................................................................... 3

CAPÍTULO 1 - PROTOCOLOS DE ROTEAMENTO.................................................... 4

CLASSIFICAÇÃO DOS PROTOCOLOS DE ROTEAMENTO......................................................... 4


ROTEAMENTO ESTÁTICO VS ROTEAMENTO DINÂMICO ........................................................ 6

CAPÍTTULO 2 - O PROTOCOLO RIP ............................................................................ 7

LIMITAÇÕES DO PROTOCOLO: ............................................................................................... 7


ALGORITMOS DE VETOR DE DISTÂNCIA ................................................................................ 8
ESPECIFICAÇÕES DO PROTOCOLO ...................................................................................... 13

CONCLUSÃO ..................................................................................................................... 15

REFERÊNCIAS BIBLIOGRÁFICAS ............................................................................. 16


Introdução

A Internet foi criada pelo Departamento de Defesa dos EUA em 1969, com
objetivo de construir um sistema de comunicação digital para tempos de guerra.
Entretanto, havia um grande problema: se uma das estações de transferência
fosse atacada? Houve então a necessidade de que as informações pudessem ser
rapidamente redirecionadas, para contornar problemas com um dos nós. A
solução encontrada foi a criação de protocolos de roteamento que permitissem a
construção e atualização de tabelas de roteamento entre os gateways. Com o
crescimento da rede e consequentemente das tabelas de roteamento, foi
necessário a implantação de protocolos de roteamento hierárquicos. Assim os
roteadores foram divididos em regiões chamadas Autonomous System - AS, onde
cada roteador conhecia todos os detalhes de sua própria região e não conhecia a
estrutura interna de outras regiões. Para uma rede local existem dois níveis de
comunicação: interna ao AS, que utiliza algoritmos de roteamento Interior Gateway
Protocol - IGP e externa ao AS, que utiliza algoritmos de roteamento Exterior
Gateway Protocol – EGP.
O objetivo deste trabalho é descrever um protocolo existente para troca de
informações de roteamento entre roteadores e outras máquinas. Abordaremos o
protocolo de roteamento interno: RIP.

Este trabalho encontra-se dividido em duas partes principais, que são:


Documentação do protocolo e algorítimos que estão em uso e especificar as
melhorias opcionais que foram apresentadas na RFC 1058 que trata do protocolo
RIP.
Capítulo 1 - Protocolos de roteamento

Inicialmente, um roteador só conhece as redes ou sub-redes a que está


diretamente conectado. Ele pode tomar conhecimento sobre outras redes de duas
maneiras: rotas estáticas e protocolos de roteamento [1].
Uma rota estática é um caminho em uma tabela de roetamento que é
configurada manualmente por um administrador de rede. Para cada rede ou
destino de host, o administrador configura o próximo roteador por onde um pacote
deverá passar. Essa informação nunca é mudada, mesmo que uma porção do
caminho deixe de ser disponível.
A opção pelo roteamento estático deixa de ser viável a medida que uma
rota torna-se importante e há uma necessidade de reconfiguração automatizada
de caminho alternativo em caso de problemas de rotas. Nesses casos é
necessário o uso de um protocolo de roteamento para que os roteadores possam
trocar informações sobre o caminho de forma automática e atualizar quaisquer
mudanças de rota dinamicamente.
Um número de diferentes protocolos de roteamento são usados no mundo
TCP/IP, mas eles não são compatíveis uns com os outros. Portanto, para resolver
os problemas de roteamento IP, é essenscial que estes sejam compreendidos. [1]
Os quatro protocolos de roteamento mais conhecidos hoje em dia são:
RIP – Routing Information Protocol;
OSPF – Open Shortest Path First;
IGRP – Interior Gateway Routing Protocol;
ICMP – Internet Control Message Protocol;

Classificação dos Protocolos de Roteamento

Quando estamos lidando com roteamento de redes, os protocolos de


roteamento são divididos em diferentes “classes”: Protocolos de roteamento
interiores e protocolos de roteamento exteriores. [1]
Os protocolos de roteamento interiores, chamados de IGP (Interior Gateway
Protocol) costumam ser usados dentro de um sistema autônomo para determinar
dinamicamente a melhor rota para cada rede ou subrede. Um AS (Autonomous
System) é um grupo de roteadores que compartilha informações através do
mesmo protocolo de roteamento. Cada sistema autônomo recebe um número
identificação específico do Network Information Center. Esse número é usado por
alguns protocolos de roteamento para controlar a troca de informações de
roteamento.
Protocolos de roteamento exteriores, também conhecidos como de
roteamento interdomínio, são utilizados para trocar informações de roteamento
entre diferentes AS.
Além disso, dependendo do algoritmo usado para determinar rotas, custo
de caminhos e outras informações, os protocolos de roteamento são classificados
também em protocolos de roteamento pelo vetor da distância ou protocolos de
roteamento de estado de link.
Nos protocolos de roteamento pelo vetor da distância (também conhecidos
como Bellman-Ford), cada roteador mantém uma tabela de roteamento de sua
respectiva rede. Cada roteador repassa as informações de roteamento que possui
adicionando um ponto para a métrica da rota (para compensar a sua própria
presença), essas informações são repassadas para o próximo roteador que por
sua vez atualizam a própria tabela de rotas e repassam as informações ao
vizinho., com isso as informações recebidas são essencialmente de “segunda
mão” uma vez que vem de seus vizinhos.
O oposto ocorre nos protocolos de roteamento de estado de link, nesses o
roteador calcula uma “árvore”da rede inteira considerando ele mesmo como raiz.,
com isso o roteador constrói um layout de rede baseado na informação de rota
recebida diretamente dos outros roteadores. Nesse tipo de protocolo os
roteadores distribuem apenas as informações sobre suas redes diretamente
conectadas e suas métricas associadas. [1]
Roteamento estático vs Roteamento dinâmico

As desvantagens de um sistema de roteamento estático são óbvias: rotas


estáticas não acomodam um rápido crescimento da rede ou uma mudança rápida.
Em larga escala, mudanças rápidas de ambientes como as que ocorrem na
internet, sistemas automatizados devem ser usados pois não é possível para os
administradores dar conta e realizar mudanças rápidas a ponto de evitar que
ocorram problemas. Métodos dinâmicos também ajudam a aumentar a
confiabilidade e resposta a problemas em pequenas redes que possuem rotas
alternativas. [2]
Em arquiteturas de rede que possuem muitas rotas físicas para o mesmo
caminho, os administradores normalmente escolhem uma para ser a primária. Se
os roteadores na rota primária falharem as rotas devem ser modificadas a fim de
enviar o tráfego por meio de uma rota alternativa. Portanto, mesmo em redes
pequenas, um sistema dinâmico pode ser usado para modificar rotas rapidamente
e de maneira confiável.
Capíttulo 2 - O protocolo RIP

Este protocolo é o mais útil entre os protocolos IGP. Em uma rede de


âmbito nacional, como a internet, é muito improvável que um único protocolo de
roteamento seja usado em toda a rede. A rede será organizada como um conjunto
de AS. Um AS em geral é administrado por uma única entidade, ou pelo menos
terá um grau razoável de controle técnico e administrativo. Cada AS deverá
possuir uma tecnologia de roteamento, ou seja, AS diferentes poderão utilizar
tecnologias diferentes. O protocolo de roteamento utilizado dentro de um AS é
conhecido como IGP. Um protocolo separado é usado para servir como interface
entre AS diferentes. O primeiro protocolo, ainda em uso na internet, para essa
finalidade foi o EGP (Exterior Gateway Protocol). Hoje em dia esse segundo tipo
de protocolo é conhecido como protocolo de roteamento inter-AS. O RIP foi
desenvolvido para trabalhar com uma rede de tamanho moderado utilizando uma
tecnologia razoavelmente homogênea. Assim se torna um protocolo apropriado
para uso como um IGP para muitos campus e para redes regionais utilizando links
cujas velocidades não variam consideravelmente. Não sendo planejado para uso
em ambientes muito complexos. [3]
RIP pode ser enquadrado como um algoritmo de protocolos de roteamento
pelo vetor da distância. E foi desenvolvido para uso em redes baseadas em IP,
como a internet que nada mais é do que um conjunto de redes interconectadas
por roteadores. Este algoritmo é responsável pela construção de uma tabela que
informa as rotas possíveis dentro do AS. Os protocolos baseados no algoritmo
vetor-distância partem do princípio de que cada roteador do AS deve conter uma
tabela informando todas as possíveis rotas dentro deste AS. A partir desta tabela o
algoritmo escolhe a melhor rota e o enlace que deve ser utilizado.

Limitações do protocolo:

O RIP não resolve todos os problemas possíveis de roteamento. Como


citado anteriormente ele foi projetado para ser usado como um IGP, num sistema
de rede razoavelmente homogêneo e de redes de tamanho moderado.
Adicionalmente, as limitações específicas seguintes devem ser mencionadas:
- O protocolo é limitado a redes nas quais o caminho mais longe envolve 15
saltos. Os desenvolvedores acrediram que o protocolo se tornará inapropriado
para redes maiores. Note que este limite considera um custo 1 para cada rede. Se
o administrador optar por utilizar custos maiores esse limite de 15 poderá
facilmente se tornar um problema.
- O protocolo se baseia no conceito de “contagem ao infinito” para resolver
certas situações incomuns. Se o conjunto de redes tem centenas de subredes, e
um laço de roteamento foi formado envolvendo todos eles, a resolução de um loop
poderia requerir muito tempo (se a freqüência de atualizações for limitada) ou
largura de banda (se as atualizações forem enviadas sempre que as modificações
forem detectadas).
- O protocolo utiliza métricas fixas para comparar rotas alternativas. O que
seria inadequado para situações onde as rotas necessitam ser escolhidas
baseado em parâmetros de tempo real como atraso na entrega de pacotes,
confiabilidade ou congestionamento.

Algoritmos de vetor de distância

Roteamento é a tarefa de encontrar uma rota a partir de um emissor a um


destino desejado. A maneira como os protocolos resolvem os problemas de
roteamento dentro de uma única rede ou subrede varia de modo que cada
tecnologia implementa sua própria forma de roteamento. Por exemplo, os
protocolos Ethernet e ARPANET definem diferentes maneiras de um emissor falar
com um receptor na mesma rede. O roteamento IP se faz necessário quando as
mensagens necessitam sair de um emissor para um destinatário em uma rede
diferente, neste caso as mensagens necessitam passar por um roteador
conectando as redes. Se as redes não estiverem conectadas diretamente por um
único roteador podem ser necessários vários roteadores intermediários para que
seja estabelecida uma rota. [4]
Existem diferentes maneiras de encontrar rotas de rede. Uma maneira
usual de categorizar essas maneiras é baseado no tipo de informação que os
roteadores levam em consideração para localizar as rotas. Os algoritmos de vetor
de distância são desenvolvidos para trocar apenas uma pequena quantidade de
informação. Assume-se que cada entidade (roteador ou máquina) que participam
do protocolo de roteamento possui uma tabela de roteamento interna com todos
os destinos do sistema. Geralmente, as informações sobre todas as entidades
conectadas a uma rede são sumarizadas em uma única entidade, que descreve a
rota para todos os destinos daquela rede. A sumarização é possível porque não
importa o quão distante um IP esteja conectado o roteamento através da rede é
sempre invisível. Cada entrada nesta tabela de roteamento inclui o próximo
roteador para onde os pacotes deverão ser enviados. Adicionalmente, é incluída
uma “métrica” que mede a “distância” até esta entidade.
Conforme descrito anteriormente, o conceito de distância não é
generalizado uma vez que pode variar de apenas o número de saltos entre o
destino, delay do canal de transmissão, custo monetário do tráfego, confiabilidade,
entre outros.
O protocolo RIP não faz distinção formal entre redes e máquinas. Ele
simplesmente descreve a troca de informações a cerca de todos os destinos que
podem ser redes ou máquinas.
Conforme citado anteriormente, cada entidade mantém uma tabela de
roteamento com uma entrada para cada destino possível no sistema. Na
implementação atual são necessários manter as seguintes informações a cerca de
cada destino na tabela:
− Endereço -> IP da rede;
− Roteador -> Próximo roteador da rota de destino;
− Interface -> O enlace utilizado para alcançar o próximo roteador da rota
de destino;
− Métrica -> Número indicando a distância da rota (0 a 15), sendo uma rota
com métrica 16 considerada uma rota infinita;
− Tempo -> Quando a rota foi atualizada pela última vez;
Adicionalmente, várias flags e outras informações internas podem ser
incluídas. A tabela é inicializada com as rotas para as entidade diretamente
conectadas no sistema e atualizada de acordo com as informações recebidas dos
roteadores vizinhos.
A informação mais importante trocada pelas máquinas e roteadores são
trocadas nas mensagens de atualização (update). Cada entidade que participa de
um esquema de roteamento envia uma mensagem de atualização contendo a sua
própria tabela de roteamento. É possível manter as rotas “ótimas” para o sistema
inteiro se forem consideradas somente as mensagens de atualização recebidas do
vizinho.
Os algoritmos de vetor de dsitância são baseados numa tabela que
descreve a “melhor” rota para cada destino no sistema. Obviamente, para se
definir qual a melhor rota se faz necessário que exista alguma informação para
que possa ser feita uma comparação entre as rotas a fim de se escolher a melhor.
Essa informação considerada é a métrica.
O protocolo RIP utiliza o conceito broadcast, desta forma um roteador envia
sua tabela para todos os seus vizinhos em intervalos predefinidos de tempo
(geralmente 30 segundos). Estas mensagens fazem com que os roteadores
vizinhos atualizem suas tabelas e que por sua vez serão enviadas aos seus
respectivos vizinhos. Veremos agora um exemplo para ilustrar a formação de uma
tabela do RIP. Consideremos uma subrede com 5 nós, conforme o diagrama
abaixo:
As letras representam os roteadores e os números representam os enlaces.
Ao iniciar o sistema a tabela de cada roteador só contém a sua própria rota. A
tabela do roteador A será:

De A para Enlace Métrica


A Local 0

Estipulando-se a métrica como 1 para todos os nós, isto é, admite-se a


distância de cada roteador para seus respectivos vizinhos como 1. E ainda
supondo que A envie primeiro sua tabela de atualização, B e D atualizarão as
suas tabelas conforme são mostradas abaixo:

De B para Enlace Métrica


B Local 0
A 1 1

De D para Enlace Métrica


D Local 0
A 3 1
Agora que B e D atualizaram suas tabelas, B transmite sua tabela para
seus vizinhos A, C e E. D faz o mesmo para A e E. A, ao receber a mensagem de
B e D, atualiza sua tabela, como podemos ver abaixo:

De A para Enlace Métrica


A Local 0
B 1 1
C 3 1

O nó C, receberá a menssagem de B através do Enlace 2, e atualizará sua


tabela como vemos abaixo:

De C para Enlace Métrica


C Local 0
B 2 1
A 2 2

Quando um nó recebe uma tabela de atualização de outro nó, ele verifica


cada rota de modo a privilegiar as rotas de menor métrica com mesmo destino.
Desta forma as mensagens vão se atualizando até as tabelas convergirem.
Podemos ver abaixo como ficaria a tabela de A depois de convergir:

De A para Enlace Métrica


A Local 0
B 1 1
D 3 1
C 1 2
E 3 2

O tempo de convergência é muito importante para que a rede não fique por
muito tempo desatualizada. Para isso existem algumas implementações a respeito
de rotas muito grandes. Uma delas é o método Split Horizon With Poisonous
Reverse. Para entendermos este método usaremos o exemplo a seguir, utilizando
a subrede do exemplo anterior: se A quiser enviar um pacote para C, então A
verificará em sua tabela que a melhor rota é aquela que passa por B. Mas se
houver algum problema com o enlace 2, aquele entre B e C, então B ao
encaminhar o pacote oriundo de A irá procurar uma outra rota. Neste momento
existe a possibilidade de B escolher como a melhor rota, aquela que passa por A,
utilizando como saída o enlace 1, entre A e B. Se B optar por esta rota estará
formando um loop. Para que isso não ocorra a mensagem de A para B deve
informar que C não é alcançável por A, isto é, A coloca em sua rota até C com
uma métrica infinita (16), desta forma impede que B devolva para A este pacote.
Para isso as mensagens enviadas por cada roteador devem ser
diferenciadas para cada um de seus vizinhos. Outro método é o Split Horizon onde
existe a omissão do envio de rotas que passam pelo nó que receberá a
mensagem.
Existe ainda um método chamado de Triggered Update que está
relacionado com o tempo de envio da tabela de atualização. Por esse método, o
roteador envia sua mensagem de atualização sempre que notar alteração na sua
tabela, ao invés de esperar pelo tempo de envio. Isto diminui a quantidade de
mensagens erradas (desatualizadas), diminuindo a quantidade de loops
existentes. Por outro lado, carrega muita a rede. Para evitar isto, um contador é
inicializado para contar até um número aleatório entre 1 e 5. Se ocorrer alguma
mudança dentro neste intervalo, ela deve esperar até o fim do contador para ser
enviada.

Especificações do Protocolo

Os pacotes RIP são transmitidos através de UDP e IP, usando a porta 520
do UDP tanto para transmissão quanto para recepção. Se uma rota não é
atualizada dentro de 180 segundos, sua distância é colocada em infinito e a
entrada será mais tarde removida das tabelas de roteamento. O formato da
mensagem do RIP é mostrado na próxima tabela. Os números entre parênteses
indicados em cada campo da mensagem indicam o número de bytes de cada
campo. Nos campos onde aparece “deve ser zero”, são campos não utilizados
nesta versão do RIP. Estes campos são utilizados nas versões RIPv2 e RIPng
(utilizado em redes baseadas em IPv6).

comando (1) identificador de versão (1) deve ser zero (2)


identificador do endereço da família (2) deve ser zero (2)
endereço IP (4)
Deve ser zero (4)
Deve ser zero (4)
métrica (4)

O campo comando é usado para especificar o propósito do datagrama (se


é um pedido de envio de tabela ou uma resposta com envio de tabela). O formato
do pacote permite ao RIP carregar informações de roteamento de vários
protocolos diferentes. Portanto, cada rota da tabela contém um identificador de
endereço da família para indicar que tipo de endereço está especificado. Na
prática, o RIP não tem sido usado para suportar outros protocolos que não o IP.
Quando recebendo uma resposta, o roteador examinará as rotas uma por
uma, conferindo se o endereço é um endereço de classe válida (A, B ou C),
verificará se o endereço de rede não é 127 (loop-back) ou 0 (endereço broadcast)
e se a métrica não é maior que infinito. Conferidos todos os pontos acima será
feita à análise da tabela com a mensagem recebida para verificar a necessidade
de atualização (Pooling Algorithm).
O tamanho máximo de uma mensagem é 512 bytes, o que permite até 25
rotas por mensagem. Se houver mais de 25 rotas para reportar, o RIP enviará um
segundo pacote.
CONCLUSÃO

Este trabalho abordou o protocolo de roteamento interno: RIP. Foi visto o


funcionamento de seu algoritmo e sua vantagem e desvantagem. Podemos
verificar que o protocolo RIP possui uma fácil implementação, além de utilizar
menos processamento para os roteadores, sendo implementado com bons
resultados para redes de pequeno porte. Ainda existe outra Vantagem para a
implementação do protocolo RIP que é a compatibilidade com a grande maioria
dos roteadores.
Referências Bibliográficas

[1] Amett, Matthew Flint. Desvendando o TCP/IP, Tradução de ARX


Publicações, Rio de Janeiro: Campus, 1997.
[2] Comer, Douglas. Internetworking with TCP/IP, 3rd ed, Prentice Hall, New
Jersey, 1995.
[3] Braden, R., and Postel, J., "Requirements for Internet Gateways",
USC/Information Sciences Institute, RFC-1009, June 1987.
[4] Hedrick, C.. Request for Comments: 1058, Network Working Group,
Rutgers University, 1988.