segunda-feira, 29 de março de 2010

Existem dois tipos de roteamento multicast:

Dense-Mode
Sparse-Mode

Multicast Forwarding Using Dense Mode


Dense-mode routers não recebem pacotes de um grupo multicast especifico se ambas as condições forem verdadeiras:
■ O roteador não tem nenhum router downstream que precisa receber pacotes do grupo.
■ O Roteador não tem nenhuma subnet conectada que ingressou naquele grupo.

DVMRP, PIM-DM, e o MOSPF são os protocolos dense-mode.



Multicast Forwarding Using Sparse Mode


A diferença fundamental entre dense-mode e sparse-mode é seu comportamento padrão.
Por default os protocolos dense-mode sempre encaminham tráfego a não ser que o downstream router envie uma menssagem informando que não deseja receber aquele tráfego. Os Protocolos Sparse-mode
não encaminha tráfego do grupo a não ser que ele receba uma menssagem solicitando tráfego de determinado grupo multicast.





TTL Scoping

Quando um pacote chega no roteador e tem que ser encaminhado a outras interfaces o roteador compara o se o TTL do pacote é maior ou igual ao TTL da interface, se sim ele o encaminha.
Por default o TTL na cisco é Zero.









Protocolos Dense-mode

PIM-DM - Protocol Independent Multicast Dense Mode

Diferente do DVMRP e do MOSPF ele utiliza a tabela de roteamento para realizar o RPF check.
O PIM estabelece relacionamento com seus vizinhos utilizando mensagens Hello que são enviadas a cada 30 segundos utilizando o protocolo IP 103 e o endereço 224.0.0.13 (All-PIM-Routers), oHoldtimer geralmente é três vezes o tempo do Hello.
O PIM utiliza uma arvore STP para cada grupo multicast com base na origem e nos hosts que recebem o tráfego multicast.
Para habilitar o PIM bastam 2 comandos:
Global - ip multicast-routing
Em cada interface - ip pim dense-mode










Para verificar a routing table multicast: show ip mroute

Onde ele mostra o ip de origem 10.1.1.10 (S) e o grupo multicast de destino 226.1.1.1 (G) no formato da entrada (S,G).
R3#show ip mroute
Mostra que a entrada está ativa fazem 12 segundos e que se R3 não encaminhar nenhum pacote dentro de 2:48 a entradá irá expirar.
O Flag C indica que existe um host interessado no tráfego 226.1.1.1 diretamente conectado. A Flag T indica que o tráfego é encaminhado pelo STP.

Prune Message
Quando R3 recebe mensagens dessa entrada do R2, ele realiza o RPF check e envia ao R2 uma Prune Message, então R2 aguarda 30 segundos e não encaminha mais tráfego dessa entrada ao R3.

Prune override
Caso exista algum router R4 no mesmo seguimento que deve receber o tráfego, esse router R4 ao receber tambem o Prune message (por que esta no mesmo seguimento) envia uma mensagem chamada Prune override informando que apesar do R3 não querer tráfego, tem alguem ali naquele seguimento que quer.

*Quando RPF nbr é 0.0.0.0 significa que o router está diretamente conectado a origem (10.1.1.10)

R2#show ip mroute
Como ele está trabalhando com o DM se o Prune timer (2:52) chegar a zero a interface vai para Forward novamente, a não ser que R3 envie uma state refresh message ao R2 de tempos em tempos antes do Prune Timer expirar em R2.

Graft message

Caso o router receba um IGMP Join nesse meio tempo ele envia uma Graft message solicitando o unpruning da porta, fazendo com que ele comece a receber o tráfego imediatamente sem ter que esperar os 3 minutos.

2 routers conectados diretamente num mesmo seguimento


















Assert Messages

Caso existam 2 routers conectados diretamente num mesmo seguimento onde existe um router interessado, é efetuado um critério de desempate para apenas um enviar o trafégo multicast, evitando assim desperdicio de banda, através de Assert Messages, os critérios são:
1- Quem usa o protocolo com a menor distância administrativa.
2- No empate, a menor métrica.
3- No empate, o router com o maior IP na LAN.

Designated Router
Caso existam 2 routers conectados diretamente num mesmo seguimento é eleito um router para gerenciar as menssagens IGMP. o IGMPv2 elege o router com o menor IP da LAN.
*Por causa disso geralmente o designated Router não é o mesmo rotuer que envia o tráfego multicast.

RESUMO DAS MENSAGENS PIM-DM

quarta-feira, 10 de março de 2010

Otimizando o uso Multicast na LAN


Como IGMP trabalha na camada 3, para evitar o uso de recursos desnecessários na LAN é possivel usar:
IGMP Snooping
Cisco Group Management Protocol (CGMP).










CGMP - Cisco Group Management Protocol

Protocolo proprietário da Cisco.
Apenas o Router gera mensagens e o Switch apenas as escuta
As mensagens CGMP são enviadas ao endereço de multicast 0100.0cdd.dddd contendo os seguintes campos:
GDA - Group Destination Adress
USA - Unicast Source Adress

O router envia a Router Join Message (GTA = 0, USA= Próprio MAC), para informar ao Switch que aquela porta está conectada a um router multicast e são renovadas a cada 60 segundos.
Igualmente ele pode enviar uma mensagem tipo Leave, tambem no mesmo formato (GTA = 0, USA= Próprio MAC). para liberar a porta Router CGMP.

Quando um host ingressa a um grupo multicast o roteador envia uma mensagem CGMP(GTA = End Multicast, USA= MAC do Host) ao Switch informando que o mac address do host irá receber mensagens de determinado grupo multicast, então o Switch relaciona a porta do Host com o Grupo Multcast em uma tabela.
Do mesmo modo é possível informar ao SW que o host não recebe mais tráfego multicast.

Também é possivel limpar as entradas CGMP com o comando clear ip cgmp.



Segue uma tabela com o resumo das mensagens:










IGMP Snooping

Parecido com o CGMP, só que faz com que o SWITCH escute as mensagens IGMP e monte a tabela ao invés de aguardar mensagens CGMP do roteador. O Leave Group message só é encaminhada ao roteador quando não existir nenhuma outra porta associada ao endereço de multicast na tabela do Switch.