segunda-feira, 28 de junho de 2010

MULTICAST - MSDP Interdomain


1        MSDP Interdomain

No modelo PIM-SM as fontes e os receptores multicasts devem se registrar no RP local. Geralmente o roteador próximo à fonte ou ao receptor se registra no RP e esse RP tem que conhecer todas as fontes e receptores desse determinado grupo. Um RP em outro domínio não tem como saber sobre fontes e receptores localizados em outro dominio. O MSDP então é a solução para esse problema.
O MSDP permite que RPs compartilhem informações sobre fontes multicast ativas. O RP em um dominio conhece os receptores e outro RP em outro dominio conhece a fonte, esses RPs podem trocar essas informações para entregar o trafego multicast. Os dados de multicast podem então ser encaminhados entre os dominios.
O RP em cada dominio estabelece uma sessão MSDP usando TCP com os RPs de outros domínios. Quando um RP aprende sobre uma nova fonte multicast no seu proprio dominio, o RP encapsula o primeiro pacote em uma mensagem chamada Source-Active (SA) e envia a SA para todos os pares MSDP configurados. Se o RP do outro domínio que recebeu a AS tiver uma entrada (*, G) para o grupo descrito, o RP cria um (S,G) para a origem e entra no shortest path tree até a origem. Os dados encapsulados são desencapsulados e encaminhados em direção aos receptores (down). Quando o roteador próximo ao receptor recebe o pacote multicast ele pode entrar na shortest path tree diretamente até a origem enviando a menagem de join.
O MSDP foi desenvolvido para operar entre ISPs.


2        Cenário

2.1           Objetivo

Seis roteadores (R1, R2, R3, R4, R5 e R6) são conectados fisicamente R1-R2-R3-R4-R5-R6 e deverá ser implementado um serviço de multicast utilizando os critérios abaixo:
         Todos os roteadores da rede deverão utilizar o OSPF na área 0 como protocolo de roteamento redistribuindo todas as suas interfaces;
         O R3 deverá ser RP estático para o R1 e R2 e o R4 deverá ser RP estático para o R5 e R6;
         Deverá existir uma conexão MSDP entre o R3 e o R4 pelo IP de loopback para troca de source e grupo de multicast utilizando filtro para os grupos 239.1.1.1 e 239.6.6.6;
         O R1 é fonte do grupo 239.1.1.1 e receptor do grupo 239.6.6.6;
         O R6 é fonte do grupo 239.6.6.6 e receptor do grupo 239.1.1.1 e 239.4.4.4;
         A conectividade com os hosts deverá ser IGMPv2.

2.2           Topologia

Figure-01:              Topologia

2.3           IOS utilizados

         R1, R2, R3, R4, R5 E R6 – c7200-k91p-mz.122-25.S15.bin

2.4           Configuração dos Roteadores

2.4.1      Configurações do OSPF

Para o OSPF a configuração é feita pelo comando “router ospf ” onde o “processo” é um numero do processo OSPF. Para adicionar interfaces usa-se o comando “network
area ”. Para o roteador fazer vizinhança OSPF é necessário que a rede da interface esteja no comando “network” e a interface não esteja configurada como “passive-interface”.
As interfaces de borda dos roteadores de borda são configuradas como “passive-interface” dentro das configurações de roteamento.

2.4.2      Configurações do PIM

Antes de configurar o PIM é necessário configurar o roteamento multicast no roteador com o comando “ip multicast-routing”. No PIM a configuração de RP estática é feita com o comando “ip pim rp-address
”.
A configuração da conexão MSDP é feita entre os RPs com o comando “ip msdp peer ”. Pode ser configurada a interface loopback para fechar a conexão MSDP, basta configura-la como source. O comando “ip msdp cache-sa-state” mantém em cache os grupos e fontes conhecidas.
Configura-se o comando “ip msdp rpf rfc3618” para utilizar os recursos da RFC 3618 do MSDP.
Para configurar um filtro de AS no MSDP usa-se o comando “ip msdp sa-filter in|out list ” a ACL tem que ser extendida. Existem recomendações da Cisco para o uso do filtro de AS que são descritas em documentação.

2.4.3      Configurações do IGMP

Nesse exemplo é pode-se utilizar o comando “ip igmp join-group ” para enviar uma solicitação de join no grupo multicast.

2.5           Observações e Bugs

Documentação:
http://www.cisco.com/en/US/partner/docs/ios/solutions_docs/ip_multicast/Phase_1/mcst_p1.html
http://www.cisco.com/en/US/partner/tech/tk828/technologies_tech_note09186a0080093fda.shtml

2.6           Comandos Importantes de Verificação

R3#show ip msdp peer
MSDP Peer 4.4.4.4 (?), AS ?
Description:
  Connection status:
    State: Up, Resets: 0, Connection source: Loopback0 (3.3.3.3)
    Uptime(Downtime): 00:02:11, Messages sent/received: 5/6
    Output messages discarded: 0
    Connection and counters cleared 00:08:21 ago
  SA Filtering:
    Input (S,G) filter: 100, route-map: none
    Input RP filter: none, route-map: none
    Output (S,G) filter: 100, route-map: none
    Output RP filter: none, route-map: none
  SA-Requests:
    Input filter: none
  Peer ttl threshold: 0
  SAs learned from this peer: 2
  Input queue size: 0, Output queue size: 0

R4#show ip msdp sa-cache
MSDP Source-Active Cache - 1 entries
(12.12.12.1, 239.1.1.1), RP 3.3.3.3, AS ?,00:01:15/00:05:09, Peer 3.3.3.3

R3#sh ip msdp rpf-peer 4.4.4.4
RPF peer information for ? (4.4.4.4)
  RPF peer: ? (4.4.4.4)
  RPF route/mask: 4.4.4.4/32
  RPF rule: Peer is RP
  RPF type: unicast (ospf 1)

3        Configuração

As configurações de hosts não são exibidas, mas são roteadores fazendo papel de host.

3.1           R1

interface FastEthernet0/0
 ip pim sparse-mode
 ip igmp join-group 239.6.6.6
!
router ospf 1
 router-id 1.1.1.1
 network 0.0.0.0 255.255.255.255 area 0
!
!
ip pim rp-address 3.3.3.3
!

3.2           R2

!
interface FastEthernet0/0
 ip pim sparse-mode
!
interface FastEthernet1/0
 ip pim sparse-mode
!
router ospf 1
 router-id 2.2.2.2
 network 0.0.0.0 255.255.255.255 area 0
!
!
ip pim rp-address 3.3.3.3
!

3.3           R3

!
interface Loopback0
 ip pim sparse-mode
!
interface FastEthernet0/0
 ip pim sparse-mode
!
interface FastEthernet1/0
 ip pim sparse-mode
!
router ospf 1
 router-id 3.3.3.3
 network 0.0.0.0 255.255.255.255 area 0
!
!
ip msdp peer 4.4.4.4 connect-source Loopback0
ip msdp sa-filter in 4.4.4.4 list 100
ip msdp sa-filter out 4.4.4.4 list 100
ip msdp cache-sa-state
ip msdp rpf rfc3618
!
access-list 100 permit ip any host 239.1.1.1
access-list 100 permit ip any host 239.6.6.6
access-list 100 deny   ip any any
!

3.4           R4

!
interface Loopback0
 ip pim sparse-mode
!
interface FastEthernet0/0
 ip pim sparse-mode
!
interface FastEthernet1/0
 ip pim sparse-mode
!
router ospf 1
 router-id 4.4.4.4
 network 0.0.0.0 255.255.255.255 area 0
!
!
ip pim rp-address 4.4.4.4
ip msdp peer 3.3.3.3 connect-source Loopback0
ip msdp sa-filter in 3.3.3.3 list 100
ip msdp sa-filter out 3.3.3.3 list 100
ip msdp cache-sa-state
ip msdp rpf rfc3618
!
!
access-list 100 permit ip any host 239.1.1.1
access-list 100 permit ip any host 239.6.6.6
access-list 100 deny   ip any any
!

3.5           R5

!
interface FastEthernet0/0
 ip pim sparse-mode
!
interface FastEthernet1/0
 ip pim sparse-mode
!
router ospf 1
 router-id 5.5.5.5
 network 0.0.0.0 255.255.255.255 area 0
!
!
ip pim rp-address 4.4.4.4
!

3.6           R6

!
interface Loopback0
 ip pim sparse-mode
 ip igmp join-group 239.4.4.4
!
interface FastEthernet1/0
 ip pim sparse-mode
 ip igmp join-group 239.1.1.1
!
router ospf 1
 router-id 6.6.6.6
network 0.0.0.0 255.255.255.255 area 0
!
!
ip pim rp-address 4.4.4.4
!

 

Nenhum comentário: