Você está na página 1de 33

Roteamento 6

Roteamento Baseado em
Fluxo
(Flow-Based Routing)
Características
„ O algoritmo baseado em fluxo é um
algoritmo estático que utiliza tanto a
topologia quanto a carga para o
roteamento

„ Algumas redes, o fluxo médio de dados


entre cada par de nós é relativamente
estável e previsível.
Características
„ Em condições em que o tráfego médio
entre i e j é conhecido e é razoavelmente
constante no tempo, é possível analisar o
fluxo matematicamente para otimizar o
roteamento.
Características
„ A idéia básica por trás desta análise é que para
um dado enlace, se é conhecida a capacidade e
o fluxo médio, é possível calcular o atraso médio
por pacote pelo enlace.

„ A partir dos atrasos médios dos enlaces, assim


obtidos, é relativamente simples o cálculo de um
atraso médio, baseado em fluxo entre dois
roteadores quaisquer da sub-rede.
Necessidades
1. Deve ser conhecida a topologia da sub-rede;

2. Deve ser conhecida a matriz de tráfegoFij;

3. Deve ser conhecida a matriz da capacidade


dos enlaces Cij em bit/s;

4. Deve ser adotado um determinado algoritmo


de roteamento;
Exemplos
„ Os pesos (kbit/s) dos
diversos arcos na
figura fornecem a
matriz de capacidade,
Cij,.

„ A matriz de tráfego,
Fij, onde para cada
par fonte/destino é
dado o caminho e o
tráfego, medido em
número de
pacotes/seg.
Exemplo

„ n – tamanho médio dos pacotes que vamos assumir como 800


bits/pacote
„ C – capacidade do enlace em bit/s

„‫ג‬ – taxa de chegada ou fluxo médio de pacotes /segundo (tráfego


total do enlace)
Exemplo
Exemplo
Exemplo

n - tamanho médio dos pacotes que vamos assumir


como sendo: 800 bits/pacote.
A última coluna fornece os tempos para as métricas de
atraso do algoritmo
Exercício
Roteamento 7

Algoritmo de Flooding
Inundação
Características
„ Cada pacote de entrada é enviado para toda
linha de saída, exceto para aquela em que
chegou.
Características
„ Gera diversos números de pacotes
duplicados.
„ Para controlar o número infinito de
pacotes é ter um contador de hops contido
no cabeçalho de cada pacote.
… Iniciarcom o comprimento do caminho da
origem ao destino.
… Se não souber o tamanho do caminho, na
pior das hipóteses com o diâmetro total da
sub-rede.
Roteamento

Roteamento por Estado de Enlace


Características
„ O roteamento por vetor de distância,
utilizada na Arpanet até 1979, foi
substituído pelo Link State Routing por
dois motivos principais:
… Não levava em conta a largura de banda dos
enlaces de saída do roteador
… A convergência lenta da sub-rede quando
acontece algum problema entre os
roteadores.
Características
„ Este algoritmo está baseado em cinco blocos
funcionais:

1. Descobrir seus vizinhos e apreender seus endereços


de rede.
2. Medir o atraso ou custo para cada um de seus
vizinhos.
3. Construir um datagrama no qual apresenta tudo o
que acabou de apreender.
4. Mandar este datagrama a todos os outros
roteadores.
5. Calcular o caminho mais curto a cada um dos outros
roteadores.
Características
„ O objetivo é que cada roteador envolvido tenha
um banco de dados completo de toda a
topologia da rede, para conseguir traçar o
caminho mais curto através de um algoritmo,
como o de Dijkstra, por exemplo.
„ Assim, para uma determinada topologia, cada
roteador deve ter um banco de dados.
„ Este banco de dados deve ser o mesmo em
todos os roteadores, a fim de que todos tomem
as mesmas decisões.
Como saber quem são os vizinhos

„ Para o roteador saber quem são seus vizinhos,


pacotes Hello são enviados para as portas de
tempos em tempos.
„ Se um roteador recebe um pacote Hello ele
responde com outro pacote contendo seu nome.
„ Os nomes dos roteadores não podem ser
duplicados.
„ Os pacotes Hello também são utilizados para
saber se um link está operacional.
Medir o atraso ou custo
„ A forma mais simples de medir o retardo é
enviar pacotes de ECHO para o vizinho e
esperar resposta.
„ A média de vários tempos de resposta dividida
por dois é uma estimativa do retardo.
„ O tamanho da fila e a carga na rede também
podem ser levados em consideração.
Enviar pacote a todos outros
roteadores (Flooding)
„ Um pacote é mandado quando um roteador descobre
um novo vizinho, o custo de um link muda, um link
cai ou passa um determinado tempo.
„ Como cada LSP deve ser enviado a todos os outros
roteadores na rede, utiliza-se flooding (inundação),
onde cada pacote recebido é mandado para todas as
portas, exceto a porta em que veio.
„ Para o flooding não se propagar ao infinito, gerando
uma explosão de pacotes, pode ser usado um contador
TTL com um limite de hops que é decrementado a cada
roteador, e quando chega a zero, é descartado. O ideal
é que o TTL seja inicializado com o comprimento do
caminho da origem ao destino
Exemplo

„ Por exemplo, suponha que o link entre A e B tenha


caído.
„ A deve enviar essa mudança a todos os roteadores, e B
deve fazer o mesmo.
„ Supondo que o número de seqüência inicial tenha sido
“1”, A vai enviar a seguinte informação para D (única
porta ativa).
Exemplo

„ O roteador D vai enviar esta informação para todas as portas


menos A, ou seja, para E, que vai enviar para B e F.
„ B envia a informação para C (única porta que sobrou em B que não
é a que o pacote chegou).
„ F envia a informação para G e C (que recebe duas vezes a mesma
informação, descartando uma).
„ Dependendo por onde C recebe primeiro o pacote, ele envia para
as outras portas. Supondo que ele receba primeiro via B, ele envia
a informação para F e G.
„ F também pode receber o pacote por portas diferentes, enviando
para as outras portas da primeira vez e descartando quando
receber duplicado.
„ G envia a informação para a porta pela qual o pacote não chegou.
Calcular o caminho mais curto
„ Após as informações
serem distribuídas
por flooding, o
algoritmo de Dijkstra
pode ser usado para
encontrar o caminho
mais curto para cada
um dos outros
roteadores.
Exercício

„ Criar um diagrama para o caminho mais curto


dos seguintes roteadores:

… X, L, F, e J

Você também pode gostar