Saturday, November 19, 2011

Cisco SSM(Source Specific Multicast) configuration example

Cisco SSM(Source Specific Multicast) configuration example
In this blog, We will provide an SSM(Source Specific Multicast) configuration example on Cisco Routers.
SSM works with IGMP version 3.There are no shared tree and there are no need for RP for SSM.
Multicast client subscribes to group (S,G) instead of (*,G).
Here is the topology for this example:


Configuration of R1

interface FastEthernet0/0
 ip address 192.168.12.1 255.255.255.0
 ip igmp join-group 232.1.1.1 source 4.4.4.4
 ip igmp version 3

Configuration of R2

ip multicast-routing
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
 ip ospf 1 area 0
!
interface FastEthernet0/0
 ip address 192.168.23.2 255.255.255.0
 ip pim dense-mode
 no ip mroute-cache
!
interface FastEthernet0/1
 ip address 192.168.12.2 255.255.255.0
 ip pim dense-mode
 ip igmp version 3
 no ip mroute-cache

router ospf 1
 log-adjacency-changes
 network 192.168.0.0 0.0.255.255 area 0

ip pim ssm range 1
!
access-list 1 permit 232.0.0.0 0.255.255.255

Configuration of R3

ip multicast-routing
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
 ip ospf 1 area 0
!
interface FastEthernet0/0
 ip address 192.168.23.3 255.255.255.0
 ip pim dense-mode
 no ip mroute-cache
!
interface FastEthernet0/1
 ip address 192.168.34.3 255.255.255.0
 ip pim dense-mode
  no ip mroute-cache

router ospf 1
 log-adjacency-changes
 network 192.168.0.0 0.0.255.255 area 0

ip pim ssm range 1
!
access-list 1 permit 232.0.0.0 0.255.255.255

Configuration of R4

ip multicast-routing
interface Loopback0
 ip address 4.4.4.4 255.255.255.255
 ip ospf 1 area 0
!
interface FastEthernet0/0
 ip address 192.168.34.4 255.255.255.0
 ip pim dense-mode
 no ip mroute-cache

router ospf 1
 log-adjacency-changes
 network 192.168.0.0 0.0.255.255 area 0

ip pim ssm range 1
!
access-list 1 permit 232.0.0.0 0.255.255.255

Lets check R2`s igmp and mroute table outputs:

R2#show ip igmp membership
Flags: A  - aggregate, T - tracked
       L  - Local, S - static, V - virtual, R - Reported through v3
       I - v3lite, U - Urd, M - SSM (S,G) channel
       1,2,3 - The version of IGMP the group is in
Channel/Group-Flags:
       / - Filtering entry (Exclude mode (S,G), Include mode (*,G))
Reporter:
       <mac-or-ip-address> - last reporter if group is not explicitly tracked
       <n>/<m>      - <n> reporter in include mode, <m> reporter in exclude

 Channel/Group                  Reporter        Uptime   Exp.  Flags  Interface
/*,232.1.1.1                    192.168.12.1    00:00:08 stop  3MA    Fa0/1
 4.4.4.4,232.1.1.1                              00:00:08 02:52 RA     Fa0/1
 *,224.0.1.40                   192.168.23.2    00:23:54 02:05 2LA    Fa0/0
R2#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report,
       Z - Multicast Tunnel, z - MDT-data group sender,
       Y - Joined MDT-data group, y - Sending to MDT-data group
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(4.4.4.4, 232.1.1.1), 00:00:22/00:02:59, flags: sTI
  Incoming interface: FastEthernet0/0, RPF nbr 192.168.23.3
  Outgoing interface list:
    FastEthernet0/1, Forward/Dense, 00:00:22/00:00:00

Lets start traffic with source IP address 192.168.34.4

R4#ping
Protocol [ip]:
Target IP address: 232.1.1.1
Repeat count [1]: 1000
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: yes
Interface [All]:
Time to live [255]:
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 1000, 100-byte ICMP Echos to 232.1.1.1, timeout is 2 seconds:
.......

We see that pings failed because there is no client that subscribes to group (192.168.34.4,232.1.1.1)
Lets start ping with source IP address of 4.4.4.4
R4#ping
Protocol [ip]:
Target IP address: 232.1.1.1
Repeat count [1]: 1000
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: yes
Interface [All]: FastEthernet0/0
Time to live [255]:
Source address: 4.4.4.4
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 1000, 100-byte ICMP Echos to 232.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 4.4.4.4

Reply to request 0 from 192.168.12.1, 256 ms
Reply to request 1 from 192.168.12.1, 204 ms
Reply to request 2 from 192.168.12.1, 248 ms
Reply to request 3 from 192.168.12.1, 240 ms
Reply to request 4 from 192.168.12.1, 268 ms

We see that pings are successful, because client had subscribed to get multicast traffic from source IP address of 4.4.4.4
More outputs from R2:
R2#show ip igmp groups 232.1.1.1 detail
Flags: L - Local, U - User, SG - Static Group, VG - Virtual Group,
       SS - Static Source, VS - Virtual Source,
       Ac - Group accounted towards access control limit
Interface:      FastEthernet0/1
Group:          232.1.1.1
Flags:          SSM
Uptime:         00:16:16
Group mode:     INCLUDE
Last reporter:  192.168.12.1
Group source list: (C - Cisco Src Report, U - URD, R - Remote, S - Static,
                    V - Virtual, M - SSM Mapping, L - Local,
                    Ac - Channel accounted towards access control limit)
  Source Address   Uptime    v3 Exp   CSR Exp   Fwd  Flags
  4.4.4.4          00:16:16  00:02:42  stopped   Yes  R
R2#show ip mroute 232.1.1.1
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report,
       Z - Multicast Tunnel, z - MDT-data group sender,
       Y - Joined MDT-data group, y - Sending to MDT-data group
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode
(4.4.4.4, 232.1.1.1), 00:15:28/00:02:31, flags: sTI
  Incoming interface: FastEthernet0/0, RPF nbr 192.168.23.3
  Outgoing interface list:
    FastEthernet0/1, Forward/Dense, 00:15:28/00:00:00
R2#show ip mroute 232.1.1.1 count
IP Multicast Statistics
3 routes using 1848 bytes of memory
2 groups, 0.50 average sources per group
Forwarding Counts: Pkt Count/Pkts(neg(-) = Drops) per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)
Group: 232.1.1.1, Source count: 1, Packets forwarded: 5, Packets received: 5
  Source: 4.4.4.4/32, Forwarding: 5/0/100/0, Other: 5/0/0

No comments:

Post a Comment