• Nenhum resultado encontrado

MOSPF – Multicast Extension OSPF

B. PROTOCOLOS DE ROTEAMENTO DINÂMICO

B.2. P ROTOCOLOS DE R OTEAMENTO M ULTICAST

B.2.2. MOSPF – Multicast Extension OSPF

O MOSPF permite que seja realizado roteamento multicast em um domínio de roteamento OSPF unicast. Este protocolo define um novo tipo de Link Statment Advertisement - LSA (Group- Membership-LSA) para base de dados de estado de enlace e adiciona cálculos para os caminhos dos datagramas multicast. O cálculo do melhor caminho, realizado pelo MOSPF, utiliza a métrica de enlace do OSPF, e utiliza um algoritmo do tipo árvore baseado na fonte.

Hosts anunciam sua junção a um grupo enviando uma mensagem Host-Membership- Report, e Roteadores verificam a existência de membros de um grupo enviando a mensagem Host-Membership-query.

O Group-Mempbership-LSA é uma mensagem IGMP enviada pelo “Roteador Designado” de um segmento de rede para todos os outros roteadores do domínio de roteamento multicast.

Os roteadores MOSPF calculam os caminhos multicast entre uma fonte multicast e os membros de grupo destino. A combinação entre fonte e grupo de destino pode ser representada pelo par (F,G)

O MOSPF tem diferentes caminhos para cada combinação de rede fonte e grupo multicast destino. A carga de cálculos que os roteadores MOSPF agüentam é reduzida pelo fato de que os cálculos de roteamento multicast são executados sob demanda, ou seja, quando um roteador MOSPF recebe um datagrama de uma fonte multicast.

Esta conduta é realizada conforme segue [Moy, 97]:

!

1º) ele realiza o número de cálculos de roteamento no decorrer do tempo

!

2º) Um roteador MOSPF não precisa calcular o caminho entre uma dada

combinação de (F,G) a não ser que ele estiver no caminho entre a fonte (F) e um ou mais membros do grupo (G).

Caminhos multicast são recalculados quando há alterações na rede, tais como:

!

Roteadores e enlaces entram ou saem de funcionamento na rede;

!

Host juntam-se ou deixam um grupo multicast;

O roteador MOSPF calcula o caminho entre uma fonte de um grupo e todos os membros destinos deste grupo. Entretanto o roteador não precisa armazenar o caminho completo. Somente a posição do roteador relacionada ao caminho é importante. Esta posição é armazenada em uma entrada no multicast forwarding cache (MFC). Cada caminho destino entre uma fonte e seu

respectivo grupo de destinos representa uma entrada no MFC. Cada entrada MFC do roteador contém as seguintes informações:

!

O ID do roteador ou da rede do qual o roteador deve receber os datagramas do

grupo correspondente. Isto serve para assegurar que somente uma copia do datagrama é recebida em algum segmento em particular;

!

A Interface de saída na qual o roteador deve enviar os datagramas, juntamente

com o número de saltos para alcançar os membros do grupo mais próximo. Isto será representado pelo TTL do pacote a ser enviado.

Um roteador pode limpar uma ou mais de suas entradas no MFC em qualquer momento, pois estas entradas serão reconstruídas no instante que receber um datagrama da combinação. Entretanto, certas entradas no MFC devem ser eliminadas quando houver alguma modificação nas condições da rede.

Ao ocorrer uma modificação no domínio de roteamento multicast, certas entradas no MFC devem ser eliminadas. Entretanto, não são reconstruídas automaticamente. As entradas serão reconstruídas de acordo com a chegada dos datagramas da combinação (F,G) afetada pela mudança, da mesma forma que foram construídas na primeira vez.

O roteador sabe que ocorreu mudanças quando recebe LSAs atualizados. O tipo de LSA determina a natureza e magnitude das mudanças, por exemplo:

!

Router-LSA ou Network-LSA: indica que um roteador ou enlace caiu ou foi

restaurado, ou apenas pode ter mudado o custo (métrica) de um enlace. – Neste caso é impossível saber precisamente qual caminho foi afetado, portanto todas as entradas do MFC devem ser eliminadas;

!

Group-Membership-LSA: indica que ouve mudanças nos membros de um grupo

multicast. Neste caso somente as entradas correspondentes a este grupo devem ser eliminadas.

Cálculo do roteamento multicast MOSPF é semelhante ao cálculo do roteamento do OSPF, entretanto, tem algumas diferenças [Moy, 97]:

Os roteadores unicast baseiam-se puramente no destino do datagrama ao calcular as entradas de suas tabelas de rotas. O próprio roteador é a raiz da árvore de menor caminho; Os roteadores multicast devem se preocupar tanto com a fonte quanto com os destinos dos datagramas ao calcular as entradas de sua tabela de rotas (Multicast Forwarding Cache). Isto força o cálculo da árvore de menor caminho com base na fonte (a raiz da árvore e a fonte). Uma conseqüência desta diferença é que os cálculos unicast são sempre específicos para cada roteador, e todos os roteadores multicast sempre executam os mesmos cálculos para um determinado datagrama mulicast. Segunda diferença quanto ao tratamento de “Stub-Network”, no MOSPF os membros de grupo de uma stub-Network são agregados e anunciados pelo roteador da stub network. A terceira diferença, cálculos OSPF mantém caminhos redundantes para aplicar

suas características de balanceamento de tráfego, mas o MOSPF elimina caminhos redundantes para evitar replicações de pacotes, onde caminhos alternativos são podados da árvore de melhor caminho. Quando há mais de um caminho com o mesmo custo (métrica) o MOSPF introduz o cálculo “Tie Breaker” (o caminho cujo roteador (ou rede) do salto prévio tiver o maior endereço é escolhido).

O algoritmo Dijkstra calcula rotas para todos os destinos de uma vez. Contudo, o MOSPF está interessado apenas nos caminhos de uma fonte para todos os destinos de um grupo específico. Portanto a parte final dos cálculos de roteamento do MOSPF é a rotina de poda dos caminhos que levem aos não membros do grupo.

Documentos relacionados