I.G.R.P & E.I.G.R.P
INTRODUÇÃO
SOBRE IGRP
OBJETIVOS DO IGRP
CARACTERÍSTICAS
DO IGRP
O ROTEAMENTO NO IGRP
FORMATO
DO CABEÇALHO
INTRODUÇÃO
SOBRE EIGRP
CARACTERÍSTICAS
DO EIGRP
TIPOS DE PACOTES
DO EIGRP
TECNOLOGIAS
ABORDADAS NO EIGRP
CONCEITO
DE ROTEAMENTO NO EIGRP
CONCLUSÃO FINAL
REFERÊNCIAS
BIBLIOGRÁFICAS
1 INTRODUÇÃO
SOBRE IGRP
Criado pela Cisco em 1986, O IGRP(Interior Gateway
Routing Protocol) é um protocolo interno a gateways (roteadores),
destinados a conectar várias redes que utilizem a tecnologia de
comutação de pacotes. Visa prover um protocolo robusto para
tentar solucionar problemas gerados pelo crescimento e aumento da complexidade
da internet. Esse protocolo veio tratar problemas que não eram resolvidos
em grandes redes por protocolos anteriores como o RIP.
Este protocolo tem seu projeto baseado em "Internal
Gateway Protocol" (IGPs) feitos para rodar dentro de sistemas autônomos
seja qual for o ambiente de rede, implementando TCP/IP e internets OSI.
Possui características na sua implementação que permitem
ser usadas em algumas circunstâncias como "External Gateway Protocol"
(EGPs).
Sua prioridade está na produção de uma rota ótima
e na resposta rápida a mudanças. Permite aos roteadores construir
e manter tabelas de roteamento, pela troca de informações
com outros roteadores. Usa a tecnologia de Vetor Distância.
2 OBJETIVOS
DO IGRP
Tem como principais objetivos os seguintes aspectos:
-
Estabelecer roteamento em redes grandes e complexas tentando manter
as rotas estáveis ou seja , evitando a ocorrência de loops
mesmo que transitórios.
-
Fornecer resposta rápida na troca de topologia de rede visto que
a velocidade varia de uma topologia para outra.
-
Buscar um baixo overhead tentando utilizar o que realmente é necessário
para realizar suas tarefas, aproveitando o melhor possível a largura
de banda.
-
Dividir o tráfego em rotas paralelas quando estas possuem quase
a mesma prioridade, isto possibilita aumentar a largura da banda passante
já que pode enviar não mais por apenas um canal.
-
Determinar as melhores rotas considerando uma métrica calculada
por exemplo, avaliando rotas de erro e nível de tráfego em
diferentes trajetos.
-
Capacidade em manipular múltiplos tipos de serviços ( especificado
em um pacote de dados que modifica a maneira de como as rotas são
avaliadas ) com um simples conjunto de informações.
3 CARACTERÍSTICAS
DO IGRP
Tem como principais características :
-
Implementa TCP/IP , mesmo tendo projeto para outros tipos de protocolos.
-
Usa tecnologia de roteamento com vetor de distância ( onde cada roteador
não precisa saber todos os relacionamentos roteador / link
para a rede inteira, fazendo com que cada roteador emita toda ou uma parcela
de sua tabela de distribuição em uma mensagem de atualização
da distribuição do roteamento em intervalos regulares a cada
um de seus roteadores vizinhos ), onde distância é composta
por várias métricas (largura de banda disponível,
atraso, utilização da carga e confiabilidade do link ).
-
Permitir a redistribuição em múltiplos caminhos.
-
O tráfego é feito na forma "round-robin, por exemplo, caso
duas rotas sejam escolhidas o tráfego será dividido da seguinte
forma: uma parte dos pacotes vai por uma das linhas, depois outra parte
vai por outra linha, em seguida pela primeira, novamente pela segunda,
e assim por diante. Caso uma das rotas fique inválida a outra assume
a total responsabilidade de transmissão.
4 O ROTEAMENTO
NO IGRP
Exemplo de como funciona a atualização
das tabelas de roteamento dos roteadores no IGRP.
Comunicação entre
Roteadores
Na figura acima, o roteador S, ao ser ligado se comunica
primeiramente com as redes 2 e 3. Na sua inicialização, o
roteador S envia um pacote de requisição de tabelas de roteamento
para seus possíveis roteadores vizinhos ( R e T ) que ainda são
desconhecidos. Esses roteadores R e T enviarão pacotes com suas
tabelas de roteamento para o roteador S começar a construir sua
própria tabela. No caso, S saberá agora que para acessar
a rede 1, terá que enviar pacotes para o roteador R e que para acessar
a rede 4, terá que enviar os dados para o roteador T. No próximo
passo, o roteador S enviará sua tabela de roteamento completa para
seus vizinhos, fazendo com que o roteador T aprenda que pode acessar a
rede 1 através do roteador S. Também o roteador R é
informado que pode se comunicar com a rede 4 através do S.
Percebe-se que os roteadores atualizam suas tabelas de roteamento através
do envio de pacotes, solicitando informações de tabelas de
roteadores vizinhos.
Exemplo do roteamento considerando redistribuição em múltiplos
caminhos.
Caminhos Alternativos.
Nesse caso, cada roteador calcula a composição
métrica para determinar a rota na qual enviará os dados as
seu destino. Como por exemplo analisando essa figura, um host ligado a
rede 1, que deseja se comunicar com outro host ligado a rede 6. Primeiramente
esse host envia seu pacote para o roteador A que analisaria sua tabela
de roteamento e observaria para qual roteador enviar, se iria para o roteador
B ou para o roteador C. Percebe-se que há três possibilidades
de roteamento do roteador A para a rede 6. Diretamente para B, para
C e depois para B, para C e depois para D. Se no caso, o melhor caminho
escolhido foi o que passa pelo roteador C, esse roteador decidirá
qual a melhor rota para acessar a rede 6, se é pelo roteador B ou
pelo roteador D.
O melhor caminho é obtido através do cálculo aplicado
sobre a fórmula abaixo.
Equação para determinar a métrica.
Essa equação é executada dentro dos roteadores
determinando um vetor de métricas que definem as rotas. O uso do
vetor de métrica permite ao roteador fornecer diferentes serviços
usando diferentes coeficientes ( caso das constantes K1 e K2, setadas pelo
administrador do roteador e que indicam o peso a ser dado a banda passante
e ao atraso ). Também permite maior precisão na caracterização
de uma rede em relação à métrica simples.
O tráfego pode ser dividido em várias
rotas as quais estão dentro de um determinado intervalo de métrica,
nesse caso, permite que seja usado várias rotas paralelas, aumentando
desse modo, a banda passante e ao contrário de uma rota única
que possui uma banda passante limitada.
Tabela de roteamento do roteador A analisado no caso anterior.
Tabela do Roteador A.
A Métrica é o fator de decisão
para a escolha do melhor caminho, isto é, o que possui o menor custo.
No caso do IGRP, a rota é definida analisando o valor da menor métrica
na tabela de roteamento. Por exemplo, na tabela acima, para o roteador
A enviar um pacote de dados para uma rede 6, ele enviará, a princípio,
pelo roteador B visto que a métrica é igual a 1180 e não
pelo roteador C cuja métrica é de 2040.
Essa métrica será avaliada levando-se em consideração
:
-
Largura de banda do segmento mais estreito - é a largura em bits
por segundo no link mais baixo da rota.
-
Capacidade do tráfego do canal da rota - é o quanto a banda
passante está em uso corrente.
-
Confiabilidade da rota - indica a taxa de erro atual da rota, ou seja,
a fração de pacotes que chega ao destino sem erros.
-
Atraso inserido pela topologia - é o tempo que o pacote levará
até o destino através da rota supondo-se que a rede esteja
descarregada.
Além do uso da métrica, o IGRP utiliza outras informações
para determinar o melhor caminho.
-
Hop Count : é o número de roteadores por onde o pacote passa
até chegar ao seu destino.
-
MTU : representa o tamanho máximo do pacote para que seja enviado
por um determinado caminho;
-
Utiliza temporizadores:
-
Update: tempo em que a mensagem de atualização deve ser enviada.
O envio desta mensagem é feito por um broadcast, onde um gateway
envia para outros gateways sua tabela de rotas. O tempo default de update
é de 90s;
-
Inválido: tempo para declarar uma rota inválida, ou seja,
após um determinado tempo o roteador declara uma rota inválida,
por não ter recebido uma confirmação daquela rota.
Seu valor default é de : 3 x update;
-
Hold-time: tempo do holddown, tempo que espera para receber novas atualizações,
geralmente pelo fato de ter havido alguma mudança em sua tabela
e outros gateways mandam informações mais antigas do que
a que ele possui. Tem como valor default é de : 3 x update + 10;
-
Flush: tempo aguardado para que uma entrada na tabela (gateway) seja removida,
por não receber nenhuma confirmação daquela entrada.
A diferença entre inválido e flush é que, no temporizador
inválido, remove-se uma rota, enquanto que no flush, remove-se uma
entrada. O valor default é 7 x update.
O IGRP e o algoritmo de Bellman-Ford.
O IGRP utiliza o algoritmo de vetor distância
com algumas modificações. O protocolo passa a utilizar vetor
de métricas mais completo, pois analisa outras características
( largura de banda, confiabilidade do link, capacidade de tráfego,
atraso inserido pela topologia). Isto possibilita uma maior precisão
na escolha da rota considerando-se os diferentes tipos de serviços.
Além disso, o tráfego pode ser dividido em várias
rotas de um mesmo intervalo de métrica, aumentando a banda passante
devido a possibilidade de se transmitir por duas ou mais rotas .
No IGRP também foram introduzidas outras características
que pretendem prevenir os loops no roteamento, tais como :
-
Holddowns : é o tempo em que um roteador espera para receber novas
atualizações, utilizado quando ocorre alguma mudança
em sua tabela, principalmente quando uma rota é declarada inválida.
-
Triggered Updates : quando um roteador descobre que uma rota é inválida
ele emite uma mensagem imediatamente aos outros roteadores. Porém
o triggered update não é instantâneo, pois pode existir
um roteador que ainda não está atualizado tentando transmitir
por aquela rota que não está disponível, no caso,
o Holddowns tenta solucionar esse problema.
-
Poisoning: pretende evitar grandes loops. Analisa o crescimento do Hop-count
e quando esse estiver muito grande, implica que a rota faz parte de um
loop.
-
Split horizon (horizonte dividido): consiste em nunca enviar o pacote pela
mesma rota pelo qual ele chegou. Isso evita loops de roteadores adjacentes.
Veja a figura abaixo :
Idéia do Split Horizon
Por exemplo, se no caso um roteador A, ligado diretamente a um roteador
B, e este souber que pode chegar a uma rede ligada ao roteador A, e o roteador
A souber que B pode chegar a essa rede que está ligada a A, esta
enviará pacotes para B e B o retransmitirá novamente para
A, ocasionando um loop entre roteadores adjacentes.
5
FORMATO DO CABEÇALHO DO IGRP
Cabeçalho do IGRP
Os campos do Cabeçalho são os seguintes :
-
Version: número da versão, que geralmente é igual
a 1.
-
Operation Code: indica o tipo de mensagem que pode ser request (pedido
pelo pacote de atualização) ou update (pacote de atualização
que é enviado).
-
Edition: indica o número de série que é incrementado
sempre que há uma mudança na tabela de roteamento. Evita
que o gateway processe informações antes recebidas. Não
muito implementado, às vezes é ignorado, já que muitas
vezes um pacote pode ser perdido e outro número de edição
pode ser dado ao mesmo pacote.
-
Autonomous System: possui o número do sistema autônomo, que
permite ao roteador selecionar qual conjunto de tabelas de roteamento irá
processar essa mensagem.
-
Subnets in local net - número de entrada no interior da rede.
-
Network in Autonomous System - número de entradas naquele sistema
autônomo.
-
Network outside of Autonomous System - entradas para fora daquela rede,
com outros sistemas autônomos.
-
IGRP Checksum - Soma de verificação do IGRP.
-
Routing Entry Number: outras informações como : IP address
, Delay, Bandwidth, MTU, Realiabilit, WAN, Hop Count.
6 INTRODUÇÃO
SOBRE EIGRP
O protocolo EIGRP (Enhanced Interior Gateway Routing
Protocol) representa a evolução do IGRP que integra as vantagens
dos protocolos do link-state nos protocolos de vetor distância, sendo
que a métrica continua sendo a mesma que a do IGRP. Fornece compatibilidade
e interoperação com os roteadores do IGRP, isto é,
através de uma mecanismo de redistribuição automática
as rotas de IGRP podem ser importadas para EIGRP, e vice-versa.
7 CARACTERÍSTICAS
DO EIGRP
O protocolo EIGRP possui algumas características
que o diferenciam de outros protocolos de roteamento em grandes redes.
Dentre as quais se destacam :
-
Tratamento da Convergência Rápida, ou seja, o roteador executando
EIGRP armazena todas suas tabelas de roteamento para seus vizinhos para
que possa ocorrer uma rápida adaptação a rotas alternativas
O EIGRP utiliza um algoritmo, DUAL ( algoritmo de difusão da atualização),
para alcançar rápida convergência. O algoritmo DUAL
seleciona os caminhos mais eficientes (sem loop) e rotas mais adequadas
para inserção na tabela de sucessores baseados em sucessores
adequados. Um sucessor adequado é um roteador vizinho usado para
o envio de pacotes, que tem o menor custo até o destino com a garantia
de que não faz parte de um loop.
-
Suporte a tamanho variável de máscara de subrede para
tratar situações de "desperdício de endereços"
em redes na internet. Por exemplo, no caso de uma rede classe C, que suporta
um conjunto de diferentes endereços de máquinas no total
de 256, e se uma pequena rede local que só possua 25 máquinas,
a máscara de subrede dividiria essa rede classe C para destinar
apenas 25 endereços diferentes para esses 25 máquinas, evitando
assim, o desperdício de endereços IP.
-
Suporte a atualizações parciais. De forma diferente do IGRP
( updates periódicos ), no EIGRP existe a possibilidade de enviar
updates parciais quando a métrica para uma rota muda, sendo que
apenas os roteadores que necessitam realmente da informação,
serão atualizados. Isso proporciona um melhor aproveitamento da
largura de banda.
-
Suporte a múltiplos protocolos de camada de rede. O EIGRP foi modificado
para se tornar um protocolo independente de camada de rede, permitindo
que o algoritmo DUAL trabalhasse com outros tipos de protocolos, como o
AppleTalk, IP, e Novell NetWare.
8 TIPOS
DE PACOTES DO EIGRP
O EIGRP apresenta alguns tipos de pacotes especiais
tais como:
-
Pacotes Hello – que são enviados multicast para descoberta / resgate
dos vizinhos e não necessitam de processamento.
-
Pacote acknowledgment (ack) – que são enviados de maneira unicast
para confirmar a entrega dos dados. É um pacote do tipo Hello que
não possui dados somente sendo usado para resposta.
-
Pacotes Update são usados para transmitir a alcançabilidade
dos destinos.
-
Enviados unicast quando um novo vizinho é descoberto – utilizado
para construir a tabela topológica.
-
Enviados multicast na troca do custo do link. Para informar aos outros
roteadores de mudanças na topologia de alguma rede ou quando o mesma
é desconectada.
-
Updates são sempre transmitidas com confiança.
-
Pacotes Query e Reply são enviados quando um destino não
possui sucessores adequados.
-
Pacotes Query são sempre enviados multicast.
-
Pacotes reply são sempre enviados em resposta a pacotes query, para
instruir o originário a não recomputar a rota porque existem
sucessores adequados. Pacotes Reply são enviados unicast à
origem do emissor da consulta (query).
-
Ambos os pacotes query e reply também são transmitidos com
confiança.
9 TECNOLOGIAS
ABORDADAS NO EIGRP
O EIGRP apresenta algumas Tecnologias que possibilitam
operações mais eficiente que as apresentadas no protocolo
IGRP. Para obter uma performance melhor de roteamento, EIGRP adota 4 tecnologias
que se combinam para se diferenciar de outras tecnologias de roteamento.
Essa tecnologias são:
-
Descoberta / resgate de vizinhos.
Tecnologia usada pelos roteadores para aprender dinamicamente sobre
outros roteadores conectados diretamente a suas redes. Os roteadores descobrem
que seus vizinhos se tornam inatingíveis ou inoperantes enviando,
periodicamente, pequenos pacotes hello. Quando um roteador recebe pacotes
hello de um roteador vizinho, ele assume que ele está funcionando,
podendo assim trocar informa&cce$ùÅ
-
Protocolo de transporte confiável (RTP).
Tecnologia que garante a entrega ordenada dos pacotes EIGRP e suporta
transmissão de pacotes multicast ou unicast. Para uma maior eficiência,
apenas certos pacotes são transmitidos com confiança.
-
Máquina de estado finito DUAL ( Algoritmo ).
A máquina de estado finito DUAL usa informação
da distância para selecionar caminhos eficientes (e sem loop) e seleciona
rotas para inserção na tabela de roteamento baseado em sucessores
adequados. Um sucessor adequado é um roteador vizinho usado para
o envio de pacote, que tem o menor custo até o destino, com
a garantia de que não faz parte de um loop de roteamento.Quando
um vizinho troca uma métrica, ou quando uma mudança na topologia
ocorre, DUAL testa sucessores adequados. Se encontramos um, DUAL usa-o
para evitar recomputar a rota desnecessária. Quando não
existem sucessores adequados mas vizinhos ainda informam o destino, uma
recomputação (também conhecida como computação
de difusão) deve ocorrer para determinar um novo sucessor.
-
Módulos Dependentes de Protocolo.
São responsáveis por pedidos específicos do protocolo
de camada de rede. O módulo do IP-EIGRP, por exemplo, é
responsável por enviar e receber pacotes EIGRP que são encapsulados
no IP. IP-EIGRP pede ao DUAL para realizar decisões de roteamento,
os resultados dos quais são armazenados na tabela de roteamento
IP. IP-EIGRP é responsável por redistribuir rotas
aprendidas por outros protocolos de roteamento IP.
10
O CONCEITO DE ROTEAMENTO NO EIGRP
O EIGRP está baseado em 4 conceitos de Roteamento que estão
descritos abaixo :
-
Tabelas de Vizinhos.
Nesta tabela de vizinhos a cada roteador identificado ,são armazenados
o endereço do vizinho e a interface de entrada. Existe uma tabela
de vizinho para cada módulo dependente de protocolo. Quando um vizinho
envia um pacote hello, ele informa um tempo de espera, que é a quantia
de tempo que um roteador leva para declarar um vizinho como alcançável
ou operativo. Se um pacote hello não é recebido dentro do
tempo de espera, o tempo expira e o algoritmo DUAL é informado
da troca da topologia. A entrada da tabela de vizinho também
inclui informação requisitada pelo RTP. Números
seqüenciais são empregados para detectar pacotes de dados
desordenados, através de acknowledgments (ACKS). Existe uma lista
de pacotes enfileirados para uma possível retransmissão e
um temporizador é mantido na entrada da tabela de vizinhos para
estimar um intervalo ótimo de retransmissão.
-
Tabela topológica.
Os módulos dependentes de protocolo populam a tabela, e a tabela
é acionada pela máquina de estado finito DUAL. Cada entrada
na tabela topológica inclui endereço destino e uma
lista de roteadores vizinhos que informaram o destino. Para cada roteador
vizinho armazena-se sua métrica, que está em sua tabela de
roteamento. Essa métrica é a soma da melhor métrica
informada entre todos vizinhos mais o custo do enlace até este vizinho.Uma
entrada da tabela topológica pode estar ou no estado ativo, quando
o roteador está efetuando recomputação ou no
passivo, caso contrário. Uma recomputação ocorre quando
um destino não tem sucessores adequados. O roteador inicia a recomputação
enviando um pacote query para cada um de seus roteadores vizinhos. O roteador
vizinho pode enviar um pacote reply, indicando que há um sucessor
adequado para o destino, ou pode enviar um pacote query, indicando que
está participando na recomputação. Enquanto um destino
está no estado ativo, um roteador não pode mudar a informação
da tabela de roteamento do destino. Após receber uma reply de cada
roteador vizinho, a entrada da tabela topológica para o destino
retorna para o estado passivo, e o roteador pode selecionar um sucessor.
-
Etiquetagem de Rota.
EIGRP suporta rotas internas e externas.
-
Rotas internas originam-se dentro de um sistema autônomo EIGRP ou
de uma rede conectada diretamente que executa EIGRP.
-
Rotas externas são aprendidas por outro protocolo de roteamento
ou reside na tabela de roteamento como rotas estáticas. Estas
rotas são etiquetadas individualmente com a identidade de
sua origem, que compõe asseguintes informações: ID
do roteador EIGRP que redistribuiu a rota, número do Sistema Autônomo
do destino, etiqueta configurável do administrador, ID do
protocolo externo, métrica do protocolo externo e bit flags para
roteamento default.
A Etiquetagem de rotas permite ao administrador da rede customizar
o roteamento e manter política de controles flexíveis,
como, por exemplo, somente permitir que pacotes transmitidos dentro do
sistema autônomo trafeguem dentro deste sistema, evitando que pacotes
transmitidos por máquinas pertencentes a redes externas utilizem
a conexão, evitando o congestionamento da rede .
11 CONCLUSÃO
FINAL
A importância dos protocolos estudados, reside
no fato de apresentarem novos fatores para se estimar o custo da métrica,
além da implementação de novas tecnologias que permitiram
melhorar as propriedades de convergência e a eficiência em
relação a protocolos mais antigos, como o RIP, que deixaram
de atender as condições impostas pelo crescimento e complexidades
crescentes da Internet, visto que estas eram mais apropriadas ao uso de
redes simples e pequenas.
Esse trabalho veio com o intuito de ajudar a divulgar
idéias sobre um dos vários protocolos de roteamento existentes
para comunicação em grandes redes. Mostrou ser bastante interessante
por apresentar uma nova abordagem sobre um tipo de protocolo de roteamento,
possibilitando assim aos integrantes do grupo uma bagagem maior quanto
a disciplina ministrada.
As dificuldades encontradas resumem-se basicamente
a divulgação de pouco material a respeito desse trabalho
na língua pátria além do pouco conhecimento e domínio
de termos técnicos.
Conclui-se que no mundo da informática nada
é estático, tudo muda rapidamente. Por exemplo no caso do
protocolo RIP, que foi substituído por outros protocolos mais condizentes
com o aumento da complexidade das redes.
A importância desses seminários está
no fato de buscar novos conhecimentos, pois, hoje em dia isso é
de extremo para se conseguir um lugar no mercado de trabalho, além
de proporcionar experiência quanto a apresentação de
trabalhos em público.
REFERÊNCIA
BIBLIOGRÁFICA
PÁGINAS DA INTERNET
http://penta.ufrgs.br/Stapler/igrp/home_igrp.html
http://www.cisco.com/cpress/cc/td/cpress/fund/ith2nd/it2436.htm
http://www.cisco.com/cpress/cc/td/cpress/fund/ith2nd/it2438.htm