Tuesday, March 23, 2010

multicast lab - GNS3


setup the lab as below, bear in mind that multicast is depend on the routing table, so make sure all network are reachable to each other.

enable the multicast routing on both router, R1 and R2

R1(config)#ip multicast-routing

configure PIM on the interfaces R1 : fa0/0 and ser0/0 and R2 fa0/0 and ser0/0


R1
interface FastEthernet0/0
 ip address 192.168.1.99 255.255.255.0
 ip pim sparse-dense-mode
 duplex auto
 speed auto
end
interface Serial0/0
 ip address 10.1.1.1 255.255.255.252
 ip pim sparse-dense-mode
 clock rate 56000
end

R2
interface FastEthernet0/0
 ip address 172.16.1.99 255.255.255.0
 ip pim sparse-dense-mode
 duplex auto
 speed auto
end
interface Serial0/0
 ip address 10.1.1.2 255.255.255.252
 ip pim sparse-dense-mode
end

this is it !! now our multicast traffic should run smoothly on our network. But how to test, there's a few method out there, but let's try this way first.

we'll generate multicast 224.1.1.1 on Source, and interface on Receiver will catch this.

Source

ip sla monitor 1
 type udpEcho dest-ipaddr 224.1.1.1 dest-port 12001 source-ipaddr 192.168.1.10 control disable
 timeout 0
 frequency 5
ip sla monitor schedule 1 start-time now

Receiver

interface FastEthernet1/0
 no switchport
 ip address 172.16.1.10 255.255.255.0
 ip igmp join-group 224.1.1.1
end

Source will generate multicast traffic 224.1.1.1 and start to multicast to the network, any interface that join 224.1.1.1 will grab this packet.

run debug on R1 and R2 to see this packet

R1#debug ip mpacket

focus on the highlighted line, you can see the source of the packet, and to which interface it'll be forwarded. There's another instant of multicast if you notice, that is because i try another method, but.. still working on that ;)
R1
*Mar  1 01:12:59.975: IP(0): s=172.16.1.10 (Serial0/0) d=224.0.1.111 (FastEthernet0/0) id=339, prot=17, len=120(120), mforward
*Mar  1 01:14:59.427: IP(0): s=192.168.1.10 (FastEthernet0/0) d=239.1.1.1 (Serial0/0) id=6548, prot=17, len=44(44), mforward
*Mar  1 01:18:03.727: IP(0): s=192.168.1.10 (FastEthernet0/0) d=239.1.1.1 (Serial0/0) id=8407, prot=17, len=44(44), mforward
*Mar  1 01:23:59.031: IP(0): s=192.168.1.10 (FastEthernet0/0) d=239.1.1.1 (Serial0/0) id=8511, prot=17, len=44(44), mforward
*Mar  1 01:24:59.651: IP(0): s=172.16.1.10 (Serial0/0) d=224.0.1.111 (FastEthernet0/0) id=441, prot=17, len=120(120), mforward

R2
*Mar  1 01:11:55.651: IP(0): s=192.168.1.10 (Serial0/0) d=239.1.1.1 (FastEthernet0/0) id=4729, prot=17, len=44(44), mforward
*Mar  1 01:12:56.051: IP(0): s=172.16.1.10 (FastEthernet0/0) d=224.0.1.111 (Serial0/0) id=339, prot=17, len=120(120), mforward
*Mar  1 01:14:59.503: IP(0): s=192.168.1.10 (Serial0/0) d=239.1.1.1 (FastEthernet0/0) id=6590, prot=17, len=44(44), mforward
*Mar  1 01:23:53.903: IP(0): s=192.168.1.10 (Serial0/0) d=239.1.1.1 (FastEthernet0/0) id=8511, prot=17, len=44(44), mforward
*Mar  1 01:24:54.567: IP(0): s=172.16.1.10 (FastEthernet0/0) d=224.0.1.111 (Serial0/0) id=441, prot=17, len=120(120), mforward

To check the routing and path for multicast, run show ip mroute, there's more detail you can check here

R2#sh ip mroute
..
(*, 224.1.1.1), 02:10:47/00:02:13, RP 0.0.0.0, flags: DC
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    FastEthernet0/0, Forward/Sparse-Dense, 02:09:46/00:00:00
    Serial0/0, Forward/Sparse-Dense, 02:10:47/00:00:00

(*, 224.0.1.40), 02:18:14/00:02:05, RP 0.0.0.0, flags: DCL
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Serial0/0, Forward/Sparse-Dense, 02:17:05/00:00:00
    FastEthernet0/0, Forward/Sparse-Dense, 02:17:46/00:00:00

(*, 224.0.1.111), 01:48:01/00:02:14, RP 0.0.0.0, flags: DC
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Serial0/0, Forward/Sparse-Dense, 01:48:01/00:00:00
    FastEthernet0/0, Forward/Sparse-Dense, 01:48:01/00:00:00

4 comments:

  1. Thanks for the demo. I labbed it up in GNS3 but couldn't duplicate the results until I added:


    source(config)#int fa1/0
    source(config-if)#ip igmp join-group 224.1.1.1

    ReplyDelete
  2. Great Lab! I was looking for a way to simulate a multicast network so I could better understand PIM / IGMP. I didn't even think to use IP SLAs. Thanks!

    ReplyDelete
  3. hello can i get any good materials?
    i really want to be a guru in networking

    ReplyDelete
  4. interesting....

    only Receiver can ping 224.1.1.1

    why Source, R1, and R2 cannot ping 224.1.1.1?

    ReplyDelete