Infra - Redes
Tutorial de TCP/IP – Parte 14 – Protocolos de Roteamento Dinâmico - RIP
Nesta parte do tutorial de TCP/IP, iniciarei a apresentação dos protocolos de roteamento dinâmico, sendo que iremos concentrar nossos estudos, nos dois principais protocolos: RIP – Routing Internet Protocol e OSPF – Open Shorted Path First.
por Júlio Cesar Fabris BattistiIntrodução:
Esta é a décima quarta parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos básicos do protocolo TCP/IP. Na Parte 2 falei sobre cálculos binários, um importante tópico para entender sobre redes, máscara de sub-rede e roteamento. Na Parte 3 falei sobre Classes de endereços, na Parte 4 fiz uma introdução ao roteamento e na Parte 5 apresentei mais alguns exemplos/análises de como funciona o roteamento e na Parte 6 falei sobre a Tabela de Roteamento. Na Parte 7 tratei sobre a divisão de uma rede em sub-redes, conceito conhecido como subnetting. Na Parte 8 fiz uma apresentação de um dos serviços mais utilizados pelo TCP/IP, que é o Domain Name System: DNS. O DNS é o serviço de resolução de nomes usado em todas as redes TCP/IP, inclusive pela Internet que, sem dúvidas, é a maior rede TCP/IP existente. Na Parte 9 fiz uma introdução ao serviço Dynamic Host Configuration Protocol – DHCP. Na Parte 10 fiz uma introdução ao serviço Windows Internet Name Services – WINS. Na Parte 11 falei sobre os protocolos TCP, UDP e sobre portas de comunicação. Parte 12, mostrei como são efetuadas as configurações de portas em diversos aplicativos que você utiliza e os comandos do Windows 2000/XP/2003 utilizados para exibir informações sobre portas de comunicação. Na Parte 13 você aprendeu sobre a instalação e configuração do protocolo TCP/IP no Windows 2000 Professional ou Server. Apresentei, em detalhes, a configuração do protocolo TCP/IP no Windows 2000. Mostrei como fazer as configurações do protocolo TCP/IP, desde as configurações básicas de número IP e máscara de sub-rede (em computadores que usarão IP fixo, ao invés de obter as configurações a partir de um servidor DHCP), até configurações mais avançadas, tais como definir filtros para o protocolo TCP/IP.
Nas Partes 4, 5 e 6 falei sobre Roteamento e sobre como todo o processo de roteamento é baseado em Tabelas de Roteamento, existentes em cada roteador da rede. As tabelas de roteamento podem ser criadas manualmente, onde o administrador de cada roteador executa comandos para criar cada uma das rotas necessárias. Essa abordagem só é possível para redes extremamente pequenas, com um número de rotas pequeno e quando as rotas não mudam muito freqüentemente. Para redes maiores, a única abordagem possível é o uso dos chamados protocolos de Roteamento dinâmico. Estes protocolos, uma vez instalados e configurados nos roteadores, permitem que os roteadores troquem informações entre si, periodicamente e que montem as tabelas de roteamento, dinamicamente, com base nestas informações. Esta abordagem é bem mais indicada para grandes redes, pois os próprios protocolos de roteamento dinâmicos, se encarregam de manter as tabelas de roteamento sempre atualizadas, alterando rotas quando necessário e excluindo rotas que apresentam problemas, tais como rotas onde o link de comunicação está fora do ar. Nesta parte do tutorial de TCP/IP, iniciarei a apresentação dos protocolos de roteamento dinâmico, sendo que iremos concentrar nossos estudos, nos dois principais protocolos:RIP – Routing Internet Protocol
OSPF – Open Shorted Path First
Vou apresentar os
conceitos básicos de cada protocolo, para que o amigo leitor possa ter uma boa
idéia de como é o funcionamento de cada um destes protocolos.
RIP – Routing Internet Protocol:
Existem diferentes maneiras para criar as tabelas de roteamento. A primeira maneira é criar as tabelas manualmente. O administrador utiliza comandos (como o comando route add no Windows 2000 Server) para adicionar cada rota manualmente, em cada roteador da rede. Este método somente é indicado para pequenas redes, onde existe um pequeno número de roteadores, com poucas rotas e rotas que não são alteradas freqüentemente.
Para redes maiores, com muitas rotas e muitos roteadores, este método é simplesmente impraticável. A simples adição de uma nova rota, exigiria a alteração das tabelas de roteamento em todos os roteadores da rede.
Outro problema com a criação manual das tabelas de roteamento, é que não existe a detecção automática de perda de rotas quando um roteador fica indisponível ou quando um link para uma determinada rota, está com problemas. Nestas situações, os demais roteadores da rede continuarão a encaminhar pacotes para o roteador com problemas ou através do link que está fora do ar, porque a tabela de roteamento está configurada para enviar pacotes para a referida rota, quer ela esteja disponível ou não. Nesta caso uma simples indisponibilidade de um roteador exigiria uma reconfiguração manual em todas as tabelas de roteamento. Quando o roteador voltar a estar disponível, uma nova reconfiguração das tabelas de roteamento teria que ser feita. Com estes exemplos é possível ver que a configuração manual das tabelas de roteamento é um método que somente se aplica a pequenas redes, com um número reduzido de roteadores e de rotas.
Outra maneira de criar as tabelas de roteamento é dinamicamente. Com este método, os roteadores trocam informações entre si, periodicamente e atualizam suas tabelas de roteamento, com base nestas informações trocadas entre os roteadores. O método dinâmico exige bem menos manutenção (intervenção manual dos administradores da rede) e pode ser utilizado em grandes redes, como por exemplo a Internet. A atualização dinâmica das tabelas de roteamento é possível graças a utilização de protocolos de roteamento dinâmicos. Os protocolos mais conhecidos, para a criação automática de tabelas de roteamento são os seguintes:Routing Information Protocol (RIP)
Open Shortest Path First (OSPF)
Nota:
Se você encontrar estes protocolos traduzidos, em algum livro ou revista, no
mínimo, faça um “biquinho” para quem traduziu. Eu já vi uma maravilha de
tradução para OSPF: Abrindo primeiro o caminho mais curto. Deus nos ajude. Tudo
a ver com roteamento.
Com o uso dos protocolos de roteamento dinâmico, os roteadores trocam informações entre si, periodicamente e “aprendem” sobre a rede e sobre as rotas disponíveis. Ou seja, vão “descobrindo” as rotas existentes e gravando estas rotas em suas tabelas de roteamento. Se um roteador ficar off-line, em pouco tempo os demais roteadores “saberão” que este roteador está off-line e atualizarão, automaticamente, suas tabelas de roteamento. Com isso cada roteador aprende novos caminhos, já considerando a indisponibilidade do roteador com problemas, e repassam estas informações para os demais roteadores. Esta possibilidade não existe quando as tabelas são criadas manualmente, conforme descrito anteriormente.
Evidentemente que para redes maiores, a única alternativa viável é o uso de um dos protocolos de roteamento dinâmico, ou até mesmo uma combinação de ambos, conforme descreverei mais adiante.Como funcionam os protocolos de roteamento dinâmico
O protocolo RIP é baseado em uma algoritmo conhecido como distance-vector (distância vetorial). Este algoritmo é baseado na distância entre dois roteadores, sendo que esta “distância” é medida em termos do número de roteadores existentes no caminho entre os dois roteadores – também conhecido como hopes. Já o protocolo OSPF utiliza um algoritmo baseado em propagação de rotas entre roteadores denominados como adjacentes (veja o conceito de formação de adjacências em uma das próximas partes deste tutorial), conforme descreverei mais adiante. As principais diferenças entre os protocolos RIP e OSPF são referentes as seguintes características:Quais informações sobre rotas são compartilhadas entre os roteadores. Quando
um roteador apresenta problemas, a rede deve ser capaz de reconfigurar-se, para
definir novas rotas, já baseadas na nova topologia da rede, sem o roteador com
problemas. O tempo que a rede leva para reconfigurar-se é conhecido como
convergência. Um dos principais problemas do protocolo RIP é o alto tempo de
convergência em relação ao OSPF, que tem um tempo de convergência bem menor.
Como as informações sobre rotas e sobre a topologia da rede são
compartilhadas entre os roteadores: Este aspecto também influencia o tempo de
convergência da rede e apresenta diferenças significativas no RIP e no OSPF.
A seguir apresento mais detalhes sobre o protocolo RIP. O
protocolo OSPF será abordado em uma das próximas partes deste
tutorial.
RIP - Routing Information Protocol
Neste tópico você entenderá como funciona o RIP, como as informações são trocadas entre os roteadores que usam RIP, quais as diferenças entre RIP versão 1 (RIP v1) e RIP versão 2 (RIP v2) e como configurar o RIP no RRAS.
Uma introdução ao RIP
O protocolo RIP é baseado em uma troca de mensagens entre os roteadores que utilizam o protocolo RIP. Cada mensagem do RIP contém uma série de informações sobre as rotas que o roteador conhece (com base na sua tabela de roteamento atual) e a distância do roteador para cada uma das rotas. O roteador que recebe as mensagens, com base na sua distância para o roteador que enviou a mensagem, calcula a distância para as demais redes e grava estas informações em sua tabela de roteamento. É importante salientar que distância significa hope, ou melhor, o número de roteadores existentes em um determinado caminho, em uma determinada rota.
As informações entre roteadores são trocadas quando o roteador é inicializado, quando o roteador recebe atualizações em sua tabela de roteamento e também em intervalos regulares. Aqui a primeira desvantagem do RIP. Mesmo que não exista nenhuma alteração nas rotas da rede, os roteadores baseados em RIP, continuarão a trocar mensagens de atualização em intervalos regulares, por padrão a cada 30 segundos.
Dentre outros, este é um dos motivos pelos quais o RIP não é indicado para redes maiores, pois nestas situações o volume de tráfego gerado pelo RIP, poderia consumir boa parte da banda disponível. O RIP é projetado para intercambiar informações de roteamento em uma rede de tamanho pequeno para médio. Além disso, cada mensagem do protocolo RIP comporta, no máximo, informações sobre 25 rotas diferentes, o que para grandes redes, faria com que fosse necessária a troca de várias mensagens, entre dois roteadores, para atualizar suas respectivas tabelas, com um grande número de rotas. Ao receber atualizações, o roteador atualiza a sua tabela de roteamento e envia estas atualizações para todos os roteadores diretamente conectados, ou seja, a um hope de distância.
A maior vantagem do RIP é que ele é extremamente simples para configurar e implementar em uma rede. Sua maior desvantagem é a incapacidade de ser ampliado para interconexões de redes de tamanho grande a muito grande.
A contagem máxima de hopes usada pelos roteadores RIP é 15. As redes que estejam a 16 hopes ou mais de distância, serão consideradas inacessíveis. À medida que as redes crescem em tamanho, os anúncios periódicos de cada roteador RIP podem causar tráfego excessivo.
Outra desvantagem do RIP é o seu longo tempo de convergência. Quando a topologia de interconexão da rede é alterada (por queda em um link ou por falha em um roteador, dentre outros motivos), podem ser necessários vários minutos para que os roteadores RIP se reconfigurem, para refletir a nova topologia de interconexão da rede. Embora a rede seja capaz de fazer a sua própria reconfiguração, podem ser formados loops de roteamento que resultem em dados perdidos ou sem condições de entrega.
Inicialmente, a tabela de roteamento de cada roteador inclui apenas as redes que estão fisicamente conectadas. Um roteador RIP envia periodicamente anúncios contendo suas entradas de tabela de roteamento para informar aos outros roteadores RIP locais, quais as redes que ele pode acessar.
Os roteadores RIP também podem comunicar informações de roteamento através de disparo de atualizações. Os disparos de atualizações ocorrem quando a topologia da rede é alterada e informações de roteamento atualizadas são enviadas de forma a refletir essas alterações. Com os disparos de atualizações, a atualização é enviada imediatamente em vez de aguardar o próximo anúncio periódico. Por exemplo, quando um roteador detecta uma falha em um link ou roteador, ele atualiza sua própria tabela de roteamento e envia rotas atualizadas imediatamente. Cada roteador que recebe as atualizações por disparo, modifica sua própria tabela de roteamento e propaga a alteração.
Conforme já salientado anteriormente, uma das principais desvantagens do algoritmo distance-vector do RIP é o alto tempo de convergência. Ou seja, quando um link ou um roteador fica indisponível, demora alguns minutos até que as atualizações de rotas sejam passadas para todos os roteadores. Durante este período pode acontecer de roteadores enviarem pacotes para rotas que não estejam disponíveis. Este é um dos principais motivos pelos quais o RIP não pode ser utilizado em redes de grande porte.O problema do Count-to-infinity:
Outro problema do protocolo RIP é a situação descrita como count-to-infinity (contar até o infinito). Para entender este problema vamos imaginar dois roteadores conectados através de um link de WAN. Vamos chamá-los de roteador A e B, conectando as redes 1, 2 e 3, conforme diagrama da Figura a seguir:
Figura 8.1 O problema count-to-infinity.
Agora imagine que o link entre o roteador A e a Rede 1 apresente problemas. Com isso o roteador A sabe que não é possível alcançar a Rede 1 (devido a falha no link). Porém o Roteador B continua anunciando para o restante da rede, que ele encontra-se a dois hopes da rede A (isso porque o Roteador B ainda não teve sua tabela de roteamento atualizada). O Roteador B manda este anúncio, inclusive para o roteador A.
O roteador A recebe esta atualização e considera que ele (o Roteador A) está agora a 3 hopes da Rede 1 (um hope de distância até o Roteador B + dois hopes de distância do roteador B até a rede 1. Ele não sabe que o caminho do Roteador B para a rede 1, passa por ele mesmo, ou seja, pelo Roteador A). Com isso volta a informação para o Roteador B dizendo que o Roteador A está a 3 hopes de distância. O Roteador B atualiza a sua tabela, considerando agora que ele está a 4 hopes da Rede 1 (um hope até o roteador A + 3 hopes que o roteador A está da rede 1, segundo o último anúncio). E este processo continua até que o limite de 16 hopes seja atingido. Observe que mesmo com um link com problema, o protocolo RIP não convergiu e continuou anunciando rotas incorretamente, até atingir uma contagem de 16 hopes (que em termos do RIP significa o infinito, inalcançável).
O problema do count-to-infinity é um dos mais graves com o uso do RIP Versão 1, conhecido apenas como RIP v1. O Windows 200 Server e o Windows Server 2003 dão suporte também ao RIP v2, o qual apresenta algumas modificações no protocolo, as quais evitam, ou pelo menos minimizam problemas como o loops de roteamento e count-to-infinity:Split horizon (horizonte dividido): Com esta técnica o
roteador registra a interface através da qual recebeu informações sobre uma rota
e não difunde informações sobre esta rota, através desta mesma interface. No
nosso exemplo, o Roteador B receberia informações sobre a rota para a rede 1, a
partir do Roteador B, logo o Roteador A não iria enviar informações sobre Rotas
para a rede 1, de volta para o Roteador B. Com isso já seria evitado o problema
do count-to-infinity. Em outras palavras, esta característica pode ser resumida
assim: Eu aprendi sobre uma rota para a rede X através de você, logo você não
pode aprender sobre uma rota para a rede X, através de minhas informações.
Split horizon with poison reverse (Inversão danificada):
Nesta técnica, quando um roteador aprende o caminho para uma determinada rede,
ele anuncia o seu caminho, de volta para esta rede, com um hope de 16. No
exemplo da Figura anterior, o Roteador B, recebe a informação do Roteador A, que
a rede 1 está a 1 hope de distância. O Roteador B anuncia para o roteador A, que
a rede 1 está a 16 hope de distância. Com isso, jamais o Roteador A vai tentar
achar um caminha para a rede 1, através do Roteador B, o que faz sentido, já que
o Roteador A está diretamente conectado à rede 1.
Triggered updates (Atualizações instantâneas): Com esta
técnica os roteadores podem anunciar mudanças na métrica de uma rota
imediatamente, sem esperar o próximo período de anuncio. Neste caso, redes que
se tornem indisponíveis, podem ser anunciadas imediatamente com um hope de 16,
ou seja, indisponível. Esta técnica é utilizada em combinação com a técnica de
inversão danificada, para tentar diminuir o tempo de convergência da rede, em
situações onde houve indisponibilidade de um roteador ou de um link. Esta
técnica diminui o tempo necessário para convergência da rede, porém gera mais
tráfego na rede. Um estudo comparativo
entre RIP v1 e RIP v2
O protocolo RIP v1 apresenta diversos problemas, sendo que os principais são os destacados a seguir:O protocolo RIP v1 usa broadcast para fazer anúncios na
rede: Com isto, todos os hosts da rede receberão os pacotes RIP e não
somente os hosts habilitados ao RIP. Uma contrapartida do uso do Broadcast pelo
protocolo RIP v1, é que isso torna possível o uso dos chamados hosts de RIP
Silencioso (Silent RIP). Um computador configurado para ser um Silent RIP,
processa os anúncios do protocolo RIP (ou seja, reconhece os pacotes enviados
pelo RIP e é capaz de processá-los), mas não anuncia suas próprias rotas. Esta
funcionalidade pode ser habilitada em um computador que não esteja configurado
como roteador, para produzir uma tabela de roteamento detalhada da rede, a
partir das informações obtidas pelo processamento dos pacotes do RIP. Com estas
informações detalhadas, o computador configurado como Salient RIP pode tomar
melhores decisões de roteamento, para os programas e serviços nele instalados.
No exemplo a seguir, mostro como habilitar uma estação de trabalho com o Windows
2000 Professional instalado, a tornar-se um Salient RIP.
Exemplo: Para configurar uma estação de
trabalho com o Windows 2000 Professional instalado, como Salient RIP, siga os
passos indicados a seguir:
1. Faça o logon como Administrador.
2. Abra o Painel de controle: Iniciar -> Configurações -> Painel de controle.
3. Abra a opção Adicionar ou remover programas.
4. No painel da esquerda, clique em Adicionar ou remover componentes do Windows.
5. Clique na opção Serviços de rede para marcá-la (sem selecionar a caixa de seleção ao lado desta opção, senão todos os serviços de rede serão instalados).
6. Clique no botão Detalhes...
7. Nas opções que são exibidas marque a opção RIP Listener.
8. Clique em OK. Você estará de volta a janela de componentes do Windows.
9. Clique em Avançar para concluir a instalação.A máscara de sub-rede não é anunciada juntamente com as
rotas: Isso porque o protocolo RIP v1 foi projetado em 1988, para
trabalhar com redes baseadas nas classes padrão A, B e C, ou seja, pelo número
IP da rota, deduzia-as a respectiva classe. Com o uso da Internet e o uso de um
número variável de bits para a máscara de sub-rede (número diferente do número
de bits padrão para cada classe, conforme descrito no Capítulo 2), esta fato
tornou-se um problema sério do protocolo RIP v1. Com isso, o protocolo RIP v1,
utiliza a seguinte lógica, para inferir qual a máscara de sub-rede associada com
determinada rota: 1. Se a identificação de rede coincide com
uma das classes padrão A, B ou C, é assumida a máscara de sub-rede padrão da
respectiva classe.
2. Se a identificação de rede não coincide com uma das classes padrão, duas situações podem acontecer: 2.1 Se a identificação de rede coincide com a identificação de rede da interface na qual o anúncio foi recebido, a máscara de sub-rede da interface na qual o anúncio foi recebido, será assumida.
2.2 Se a identificação de rede não coincide com a identificação de rede da interface na qual o anúncio foi recebido, o destino será considerado um host (e não uma rede) e a máscara de sub-rede 255.255.255.255, será assumida. Esta abordagem gera problemas graves. Por exemplo, quando for utilizado o recurso de supernetting, para juntar várias redes classe C em uma única rede lógica, o RIP v1 irá interpretar como se fossem realmente várias redes lógicas e tentará montar uma tabela de roteamento, como se as redes estivessem separadas fisicamente e ligadas por links de WAN.Sem proteção contra roteadores não autorizados: O protocolo
RIP v1 não apresenta nenhum mecanismo de autenticação/proteção, para evitar que
roteadores não autorizados possam ser inseridos na rede e passar a anunciar
várias rotas falsas. Ou seja, qualquer usuário poderá instalar um roteador com
RIP v1 e adicionar várias rotas falsas, que o RIP v1 se encarregará de repassar
estas rotas para os demais roteadores da rede.
O protocolo RIP v2, oferece diversas melhorias em relação ao RIP v1, dentre as quais vamos destacar as seguintes:
Os anúncios do protocolo RIP v2 são baseados em tráfego multicast e
não mais broadcast como no caso do protocolo RIP v1: O protocolo RIP v2
utiliza o endereço de multicast 224.0.0.9. Com isso os roteadores habilitados ao
RIP atuam como se fossem (na verdade é) um grupo multicast, registrado para
“escutar” os anúncios do protocolo RIP v2. Outros hosts da rede, não habilitados
ao RIP v2, não serão “importunados” pelos pacotes do RIP v2. Por questões de
compatibilidade (em casos onde parte da rede ainda usa o RIP v1), é possível
utilizar broadcast com roteadores baseados em RIP v2. Mas esta solução somente
deve ser adotada durante um período de migração, assim que possível, todos os
roteadores devem ser migrados para o RIP v2 e o anúncio via broadcast deve ser
desabilitado.
Informações sobre a máscara de sub-rede são enviadas nos anúncios do
protocolo RIP v2: Com isso o RIP v2 pode ser utilizado, sem problemas,
em redes que utilizam sub netting, supernetting e assim por diante, uma vez que
cada rede fica perfeitamente definida pelo número da rede e pela respectiva
máscara de sub-rede.
Segurança, autenticação e proteção contra a utilização de roteadores
não autorizados: Com o RIP v2 é possível implementar um mecanismo de
autenticação, de tal maneira que os roteadores somente aceitem os anúncios de
roteadores autenticados, isto é, identificados. A autenticação pode ser
configurada através da definição de uma senha ou de mecanismos mais sofisticados
como o MD5 (Message Digest 5). Por exemplo, com a autenticação por senha, quando
um roteador envia um anúncio, ele envia juntamente a senha de autenticação.
Outros roteadores da rede, que recebem o anúncio, verificam se a senha está OK e
somente depois da verificação, alimentam suas tabelas de roteamento com as
informações recebidas. É importante salientar que tanto redes
baseadas no RIP v1 quanto no RIP v2 são redes chamadas planas (flat). Ou seja,
não é possível formar uma hierarquia de roteamento, baseada no protocolo RIP.
Por isso que o RIP não é utilizado em grandes redes. A tendência natural do RIP,
é que todos os roteadores sejam alimentados com todas as rotas possíveis (isto é
um espaço plano, sem hierarquia de roteadores). Imagine como seria utilizar o
RIP em uma rede como a Internet, com milhões e milhões de rotas possíveis, com
links caindo e voltando a todo momento? Impossível. Por isso que o uso do RIP
(v1 ou v2) somente é indicado para pequenas redes.
Conclusão
Nas Partes 4, 5 e 6 falei sobre Roteamento e sobre como todo o processo de roteamento é baseado em Tabelas de Roteamento, existentes em cada roteador da rede. As tabelas de roteamento podem ser criadas manualmente, onde o administrador de cada roteador executa comandos para criar cada uma das rotas necessárias. Essa abordagem só é possível para redes extremamente pequenas, com um número de rotas pequeno e quando as rotas não mudam muito freqüentemente. Para redes maiores, a única abordagem possível é o uso dos chamados protocolos de Roteamento dinâmico.
Estes protocolos, uma vez instalados e configurados nos roteadores, permitem que os roteadores troquem informações entre si, periodicamente e que montem as tabelas de roteamento, dinamicamente, com base nestas informações. Esta abordagem é bem mais indicada para grandes redes, pois os próprios protocolos de roteamento dinâmicos, se encarregam de manter as tabelas de roteamento sempre atualizadas, alterando rotas quando necessário e excluindo rotas que apresentam problemas, tais como rotas onde o link de comunicação está fora do ar. Nesta parte do tutorial de TCP/IP, iniciei a apresentação dos protocolos de roteamento dinâmico, sendo que nesta e nas próximas partes do tutorial, iremos concentrar nossos estudos, nos dois principais protocolos:RIP – Routing Internet Protocol
OSPF – Open Shorted Path First
Esta é a décima quarta parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos básicos do protocolo TCP/IP. Na Parte 2 falei sobre cálculos binários, um importante tópico para entender sobre redes, máscara de sub-rede e roteamento. Na Parte 3 falei sobre Classes de endereços, na Parte 4 fiz uma introdução ao roteamento e na Parte 5 apresentei mais alguns exemplos/análises de como funciona o roteamento e na Parte 6 falei sobre a Tabela de Roteamento. Na Parte 7 tratei sobre a divisão de uma rede em sub-redes, conceito conhecido como subnetting. Na Parte 8 fiz uma apresentação de um dos serviços mais utilizados pelo TCP/IP, que é o Domain Name System: DNS. O DNS é o serviço de resolução de nomes usado em todas as redes TCP/IP, inclusive pela Internet que, sem dúvidas, é a maior rede TCP/IP existente. Na Parte 9 fiz uma introdução ao serviço Dynamic Host Configuration Protocol – DHCP. Na Parte 10 fiz uma introdução ao serviço Windows Internet Name Services – WINS. Na Parte 11 falei sobre os protocolos TCP, UDP e sobre portas de comunicação. Parte 12, mostrei como são efetuadas as configurações de portas em diversos aplicativos que você utiliza e os comandos do Windows 2000/XP/2003 utilizados para exibir informações sobre portas de comunicação. Na Parte 13 você aprendeu sobre a instalação e configuração do protocolo TCP/IP no Windows 2000 Professional ou Server. Apresentei, em detalhes, a configuração do protocolo TCP/IP no Windows 2000. Mostrei como fazer as configurações do protocolo TCP/IP, desde as configurações básicas de número IP e máscara de sub-rede (em computadores que usarão IP fixo, ao invés de obter as configurações a partir de um servidor DHCP), até configurações mais avançadas, tais como definir filtros para o protocolo TCP/IP.
Nas Partes 4, 5 e 6 falei sobre Roteamento e sobre como todo o processo de roteamento é baseado em Tabelas de Roteamento, existentes em cada roteador da rede. As tabelas de roteamento podem ser criadas manualmente, onde o administrador de cada roteador executa comandos para criar cada uma das rotas necessárias. Essa abordagem só é possível para redes extremamente pequenas, com um número de rotas pequeno e quando as rotas não mudam muito freqüentemente. Para redes maiores, a única abordagem possível é o uso dos chamados protocolos de Roteamento dinâmico. Estes protocolos, uma vez instalados e configurados nos roteadores, permitem que os roteadores troquem informações entre si, periodicamente e que montem as tabelas de roteamento, dinamicamente, com base nestas informações. Esta abordagem é bem mais indicada para grandes redes, pois os próprios protocolos de roteamento dinâmicos, se encarregam de manter as tabelas de roteamento sempre atualizadas, alterando rotas quando necessário e excluindo rotas que apresentam problemas, tais como rotas onde o link de comunicação está fora do ar. Nesta parte do tutorial de TCP/IP, iniciarei a apresentação dos protocolos de roteamento dinâmico, sendo que iremos concentrar nossos estudos, nos dois principais protocolos:
RIP – Routing Internet Protocol:
Existem diferentes maneiras para criar as tabelas de roteamento. A primeira maneira é criar as tabelas manualmente. O administrador utiliza comandos (como o comando route add no Windows 2000 Server) para adicionar cada rota manualmente, em cada roteador da rede. Este método somente é indicado para pequenas redes, onde existe um pequeno número de roteadores, com poucas rotas e rotas que não são alteradas freqüentemente.
Para redes maiores, com muitas rotas e muitos roteadores, este método é simplesmente impraticável. A simples adição de uma nova rota, exigiria a alteração das tabelas de roteamento em todos os roteadores da rede.
Outro problema com a criação manual das tabelas de roteamento, é que não existe a detecção automática de perda de rotas quando um roteador fica indisponível ou quando um link para uma determinada rota, está com problemas. Nestas situações, os demais roteadores da rede continuarão a encaminhar pacotes para o roteador com problemas ou através do link que está fora do ar, porque a tabela de roteamento está configurada para enviar pacotes para a referida rota, quer ela esteja disponível ou não. Nesta caso uma simples indisponibilidade de um roteador exigiria uma reconfiguração manual em todas as tabelas de roteamento. Quando o roteador voltar a estar disponível, uma nova reconfiguração das tabelas de roteamento teria que ser feita. Com estes exemplos é possível ver que a configuração manual das tabelas de roteamento é um método que somente se aplica a pequenas redes, com um número reduzido de roteadores e de rotas.
Outra maneira de criar as tabelas de roteamento é dinamicamente. Com este método, os roteadores trocam informações entre si, periodicamente e atualizam suas tabelas de roteamento, com base nestas informações trocadas entre os roteadores. O método dinâmico exige bem menos manutenção (intervenção manual dos administradores da rede) e pode ser utilizado em grandes redes, como por exemplo a Internet. A atualização dinâmica das tabelas de roteamento é possível graças a utilização de protocolos de roteamento dinâmicos. Os protocolos mais conhecidos, para a criação automática de tabelas de roteamento são os seguintes:
Com o uso dos protocolos de roteamento dinâmico, os roteadores trocam informações entre si, periodicamente e “aprendem” sobre a rede e sobre as rotas disponíveis. Ou seja, vão “descobrindo” as rotas existentes e gravando estas rotas em suas tabelas de roteamento. Se um roteador ficar off-line, em pouco tempo os demais roteadores “saberão” que este roteador está off-line e atualizarão, automaticamente, suas tabelas de roteamento. Com isso cada roteador aprende novos caminhos, já considerando a indisponibilidade do roteador com problemas, e repassam estas informações para os demais roteadores. Esta possibilidade não existe quando as tabelas são criadas manualmente, conforme descrito anteriormente.
Evidentemente que para redes maiores, a única alternativa viável é o uso de um dos protocolos de roteamento dinâmico, ou até mesmo uma combinação de ambos, conforme descreverei mais adiante.Como funcionam os protocolos de roteamento dinâmico
O protocolo RIP é baseado em uma algoritmo conhecido como distance-vector (distância vetorial). Este algoritmo é baseado na distância entre dois roteadores, sendo que esta “distância” é medida em termos do número de roteadores existentes no caminho entre os dois roteadores – também conhecido como hopes. Já o protocolo OSPF utiliza um algoritmo baseado em propagação de rotas entre roteadores denominados como adjacentes (veja o conceito de formação de adjacências em uma das próximas partes deste tutorial), conforme descreverei mais adiante. As principais diferenças entre os protocolos RIP e OSPF são referentes as seguintes características:
RIP - Routing Information Protocol
Neste tópico você entenderá como funciona o RIP, como as informações são trocadas entre os roteadores que usam RIP, quais as diferenças entre RIP versão 1 (RIP v1) e RIP versão 2 (RIP v2) e como configurar o RIP no RRAS.
Uma introdução ao RIP
O protocolo RIP é baseado em uma troca de mensagens entre os roteadores que utilizam o protocolo RIP. Cada mensagem do RIP contém uma série de informações sobre as rotas que o roteador conhece (com base na sua tabela de roteamento atual) e a distância do roteador para cada uma das rotas. O roteador que recebe as mensagens, com base na sua distância para o roteador que enviou a mensagem, calcula a distância para as demais redes e grava estas informações em sua tabela de roteamento. É importante salientar que distância significa hope, ou melhor, o número de roteadores existentes em um determinado caminho, em uma determinada rota.
As informações entre roteadores são trocadas quando o roteador é inicializado, quando o roteador recebe atualizações em sua tabela de roteamento e também em intervalos regulares. Aqui a primeira desvantagem do RIP. Mesmo que não exista nenhuma alteração nas rotas da rede, os roteadores baseados em RIP, continuarão a trocar mensagens de atualização em intervalos regulares, por padrão a cada 30 segundos.
Dentre outros, este é um dos motivos pelos quais o RIP não é indicado para redes maiores, pois nestas situações o volume de tráfego gerado pelo RIP, poderia consumir boa parte da banda disponível. O RIP é projetado para intercambiar informações de roteamento em uma rede de tamanho pequeno para médio. Além disso, cada mensagem do protocolo RIP comporta, no máximo, informações sobre 25 rotas diferentes, o que para grandes redes, faria com que fosse necessária a troca de várias mensagens, entre dois roteadores, para atualizar suas respectivas tabelas, com um grande número de rotas. Ao receber atualizações, o roteador atualiza a sua tabela de roteamento e envia estas atualizações para todos os roteadores diretamente conectados, ou seja, a um hope de distância.
A maior vantagem do RIP é que ele é extremamente simples para configurar e implementar em uma rede. Sua maior desvantagem é a incapacidade de ser ampliado para interconexões de redes de tamanho grande a muito grande.
A contagem máxima de hopes usada pelos roteadores RIP é 15. As redes que estejam a 16 hopes ou mais de distância, serão consideradas inacessíveis. À medida que as redes crescem em tamanho, os anúncios periódicos de cada roteador RIP podem causar tráfego excessivo.
Outra desvantagem do RIP é o seu longo tempo de convergência. Quando a topologia de interconexão da rede é alterada (por queda em um link ou por falha em um roteador, dentre outros motivos), podem ser necessários vários minutos para que os roteadores RIP se reconfigurem, para refletir a nova topologia de interconexão da rede. Embora a rede seja capaz de fazer a sua própria reconfiguração, podem ser formados loops de roteamento que resultem em dados perdidos ou sem condições de entrega.
Inicialmente, a tabela de roteamento de cada roteador inclui apenas as redes que estão fisicamente conectadas. Um roteador RIP envia periodicamente anúncios contendo suas entradas de tabela de roteamento para informar aos outros roteadores RIP locais, quais as redes que ele pode acessar.
Os roteadores RIP também podem comunicar informações de roteamento através de disparo de atualizações. Os disparos de atualizações ocorrem quando a topologia da rede é alterada e informações de roteamento atualizadas são enviadas de forma a refletir essas alterações. Com os disparos de atualizações, a atualização é enviada imediatamente em vez de aguardar o próximo anúncio periódico. Por exemplo, quando um roteador detecta uma falha em um link ou roteador, ele atualiza sua própria tabela de roteamento e envia rotas atualizadas imediatamente. Cada roteador que recebe as atualizações por disparo, modifica sua própria tabela de roteamento e propaga a alteração.
Conforme já salientado anteriormente, uma das principais desvantagens do algoritmo distance-vector do RIP é o alto tempo de convergência. Ou seja, quando um link ou um roteador fica indisponível, demora alguns minutos até que as atualizações de rotas sejam passadas para todos os roteadores. Durante este período pode acontecer de roteadores enviarem pacotes para rotas que não estejam disponíveis. Este é um dos principais motivos pelos quais o RIP não pode ser utilizado em redes de grande porte.O problema do Count-to-infinity:
Outro problema do protocolo RIP é a situação descrita como count-to-infinity (contar até o infinito). Para entender este problema vamos imaginar dois roteadores conectados através de um link de WAN. Vamos chamá-los de roteador A e B, conectando as redes 1, 2 e 3, conforme diagrama da Figura a seguir:
Figura 8.1 O problema count-to-infinity.
Agora imagine que o link entre o roteador A e a Rede 1 apresente problemas. Com isso o roteador A sabe que não é possível alcançar a Rede 1 (devido a falha no link). Porém o Roteador B continua anunciando para o restante da rede, que ele encontra-se a dois hopes da rede A (isso porque o Roteador B ainda não teve sua tabela de roteamento atualizada). O Roteador B manda este anúncio, inclusive para o roteador A.
O roteador A recebe esta atualização e considera que ele (o Roteador A) está agora a 3 hopes da Rede 1 (um hope de distância até o Roteador B + dois hopes de distância do roteador B até a rede 1. Ele não sabe que o caminho do Roteador B para a rede 1, passa por ele mesmo, ou seja, pelo Roteador A). Com isso volta a informação para o Roteador B dizendo que o Roteador A está a 3 hopes de distância. O Roteador B atualiza a sua tabela, considerando agora que ele está a 4 hopes da Rede 1 (um hope até o roteador A + 3 hopes que o roteador A está da rede 1, segundo o último anúncio). E este processo continua até que o limite de 16 hopes seja atingido. Observe que mesmo com um link com problema, o protocolo RIP não convergiu e continuou anunciando rotas incorretamente, até atingir uma contagem de 16 hopes (que em termos do RIP significa o infinito, inalcançável).
O problema do count-to-infinity é um dos mais graves com o uso do RIP Versão 1, conhecido apenas como RIP v1. O Windows 200 Server e o Windows Server 2003 dão suporte também ao RIP v2, o qual apresenta algumas modificações no protocolo, as quais evitam, ou pelo menos minimizam problemas como o loops de roteamento e count-to-infinity:
O protocolo RIP v1 apresenta diversos problemas, sendo que os principais são os destacados a seguir:
1. Faça o logon como Administrador.
2. Abra o Painel de controle: Iniciar -> Configurações -> Painel de controle.
3. Abra a opção Adicionar ou remover programas.
4. No painel da esquerda, clique em Adicionar ou remover componentes do Windows.
5. Clique na opção Serviços de rede para marcá-la (sem selecionar a caixa de seleção ao lado desta opção, senão todos os serviços de rede serão instalados).
6. Clique no botão Detalhes...
7. Nas opções que são exibidas marque a opção RIP Listener.
8. Clique em OK. Você estará de volta a janela de componentes do Windows.
9. Clique em Avançar para concluir a instalação.
2. Se a identificação de rede não coincide com uma das classes padrão, duas situações podem acontecer: 2.1 Se a identificação de rede coincide com a identificação de rede da interface na qual o anúncio foi recebido, a máscara de sub-rede da interface na qual o anúncio foi recebido, será assumida.
2.2 Se a identificação de rede não coincide com a identificação de rede da interface na qual o anúncio foi recebido, o destino será considerado um host (e não uma rede) e a máscara de sub-rede 255.255.255.255, será assumida. Esta abordagem gera problemas graves. Por exemplo, quando for utilizado o recurso de supernetting, para juntar várias redes classe C em uma única rede lógica, o RIP v1 irá interpretar como se fossem realmente várias redes lógicas e tentará montar uma tabela de roteamento, como se as redes estivessem separadas fisicamente e ligadas por links de WAN.
O protocolo RIP v2, oferece diversas melhorias em relação ao RIP v1, dentre as quais vamos destacar as seguintes:
Conclusão
Nas Partes 4, 5 e 6 falei sobre Roteamento e sobre como todo o processo de roteamento é baseado em Tabelas de Roteamento, existentes em cada roteador da rede. As tabelas de roteamento podem ser criadas manualmente, onde o administrador de cada roteador executa comandos para criar cada uma das rotas necessárias. Essa abordagem só é possível para redes extremamente pequenas, com um número de rotas pequeno e quando as rotas não mudam muito freqüentemente. Para redes maiores, a única abordagem possível é o uso dos chamados protocolos de Roteamento dinâmico.
Estes protocolos, uma vez instalados e configurados nos roteadores, permitem que os roteadores troquem informações entre si, periodicamente e que montem as tabelas de roteamento, dinamicamente, com base nestas informações. Esta abordagem é bem mais indicada para grandes redes, pois os próprios protocolos de roteamento dinâmicos, se encarregam de manter as tabelas de roteamento sempre atualizadas, alterando rotas quando necessário e excluindo rotas que apresentam problemas, tais como rotas onde o link de comunicação está fora do ar. Nesta parte do tutorial de TCP/IP, iniciei a apresentação dos protocolos de roteamento dinâmico, sendo que nesta e nas próximas partes do tutorial, iremos concentrar nossos estudos, nos dois principais protocolos:
- Monitorando Redes com o The DudeRedes
- Padrões em Rack de RedesRedes
- A Internet de cabeça para baixoRedes
- Como compartilhar o acesso da rede 3G?Redes
- Como Configurar um Servidor DHCPWindows Server