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
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
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
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
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)
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
Source: 4.4.4.4/32, Forwarding: 5/0/100/0, Other: 5/0/0
No comments:
Post a Comment