Wednesday, 1 January 2020

PIM Dense Mode



Hi friends the ip address and IGP(OSPF)  is configured already.

R1#sh ip int b | e una
Interface                  IP-Address      OK? Method Status                Protocol
Serial1/0                  10.0.0.13       YES manual up                    up 
Serial1/1                  10.0.0.5        YES manual up                    up 
Serial1/2                  10.0.0.9        YES manual up                    up 
Serial1/3                  10.0.0.2        YES manual up                    up 

R1#sh ip ospf int br
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Se1/3        1     0               10.0.0.2/30        64    P2P   1/1
Se1/2        1     0               10.0.0.9/30        64    P2P   1/1
Se1/1        1     0               10.0.0.5/30        64    P2P   1/1
Se1/0        1     0               10.0.0.13/30       64    P2P   1/1

R2#sh ip int b | e una
Interface                  IP-Address      OK? Method Status                Protocol
Serial1/0                  10.0.0.6        YES manual up                    up 
Serial1/1                  10.0.0.18       YES manual up                    up 

R2#sh ip ospf int b
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Se1/1        1     0               10.0.0.18/30       64    P2P   1/1
Se1/0        1     0               10.0.0.6/30        64    P2P   1/1



R3#sh ip int b | e  una
Interface                  IP-Address      OK? Method Status                Protocol
Serial1/0                  10.0.0.17       YES manual up                    up 
Serial1/1                  10.0.0.10       YES manual up                    up 

R3#sh ip ospf int b
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Se1/1        1     0               10.0.0.10/24       64    P2P   1/1
Se1/0        1     0               10.0.0.17/24       64    P2P   1/1



R4#sh ip int b | e una
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet1/0            20.0.0.4        YES manual up                    up 
Serial2/0                  10.0.0.14       YES manual up                    up 

R4#sh ip ospf int b
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Fa1/0        1     0               20.0.0.4/24        1     BDR   2/2
Se2/0        1     0               10.0.0.14/30       64    P2P   1/1



R5#sh ip int br | e  una
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet1/0            20.0.0.1        YES manual up                    up 

R5#sh ip osp int b
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Fa1/0        1     0               20.0.0.1/24        1     DROTH 2/2


R6#sh ip int b | e una
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet1/0            20.0.0.6        YES manual up                    up 

R6#sh ip ospf int b
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Fa1/0        1     0               20.0.0.6/24        1     DR    2/2


R7#sh ip int b | e una
Interface                  IP-Address      OK? Method Status                Protocol
Serial1/0                  10.0.0.1        YES manual up                    up 

R7#sh ip ospf int b
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Se1/0        1     0               10.0.0.1/30        64    P2P   1/1
R7#




Now lets enable the multicast service on every router and enable the PIM Dense mode.

R1(config)#ip multicast-routing=====> To enable multicast support
R1(config)#int s1/3
R1(config-if)#ip pim dense-mode====> To enable the PIM Dense Mode

Like this enable  multicast routing on reach router and enable the PIM Dense mode. I assume we don't have any connectivity problem on L2 and L3
Note I have changed the ip address scheme.

Check the PIM enabled interface.

R1#sh ip pim int

Address          Interface                Ver/   Nbr    Query  DR     DR
                                                          Mode   Count  Intvl  Prior
10.1.17.1        Serial1/0                v2/D   1      30     1      0.0.0.0
10.1.12.1        Serial1/1                v2/D   1      30     1      0.0.0.0
10.1.13.1        Serial1/2                v2/D   1      30     1      0.0.0.0
10.1.14.1        Serial1/3                v2/D   1      30     1      0.0.0.0

Check the PIM neighbor
R1#sh ip pim neighbor
PIM Neighbor Table
Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
      S - State Refresh Capable
Neighbor          Interface                Uptime/Expires    Ver   DR
Address                                                                                  Prio/Mode
10.1.17.7         Serial1/0                00:11:07/00:01:28 v2    1 / S
10.1.12.2         Serial1/1                00:08:57/00:01:40 v2    1 / S
10.1.13.3         Serial1/2                00:08:07/00:01:31 v2    1 / S
10.1.14.4         Serial1/3                00:06:57/00:01:41 v2    1 / S
R1#

R1#sh ip int s1/0 | in Mul
  Multicast reserved groups joined: 224.0.0.5 224.0.0.1 224.0.0.2 224.0.0.22 224.0.0.13

Here R1 already joined the group 224.0.0.5 224.0.0.1 224.0.0.2 224.0.0.22 224.0.0.13
224.0.0.5--->OSPF
224.0.0.1--->All host
224.0.0.22--->IGMPv3
224.0.0.13--->PIM

Lets generate the multicast traffic
Always when sending multicast traffic from router use extended ping command and specify the source ip and source interface or else multicast traffic will be sent to all pim enabled interface.

Here I generated the Multicast traffic on R7. And R2 and R5 have a receiver for the particular multicast traffic.
To Enable the receiver on router use this command.

R5(config)#int lo 0
R5(config-if)#ip igmp join-group 224.2.2.2


On R2 check the multicast routing table.

R2#sh ip mroute 224.2.2.2
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

(*, 224.2.2.2), 00:06:09/stopped, RP 0.0.0.0, flags: DCL
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Loopback0, Forward/Dense, 00:05:12/00:00:00
    Serial1/0, Forward/Dense, 00:06:09/00:00:00

(10.7.7.7, 224.2.2.2), 00:06:09/00:02:58, flags: LT
  Incoming interface: Serial1/0, RPF nbr 10.1.12.1
  Outgoing interface list:
    Loopback0, Forward/Dense, 00:05:12/00:00:00

R7#
Reply to request 471 from 10.1.56.5, 84 ms
Reply to request 472 from 10.1.12.2, 88 ms

See we are getting reply from R5 and R2.

We can check the number of packet sent and received.

R7#sh ip mroute 224.2.2.2 count
IP Multicast Statistics
3 routes using 1752 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: 224.2.2.2, Source count: 1, Packets forwarded: 452, Packets received: 478
  Source: 10.7.7.7/32, Forwarding: 452/0/100/0, Other: 478/0/26

On R4 check the multicast routing table.

R4#sh ip mroute 224.2.2.2
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

(*, 224.2.2.2), 00:05:08/stopped, RP 0.0.0.0, flags: D
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    FastEthernet2/0, Forward/Dense, 00:05:08/00:00:00
    Serial1/0, Forward/Dense, 00:05:08/00:00:00
    Serial1/1, Forward/Dense, 00:05:08/00:00:00

(10.7.7.7, 224.2.2.2), 00:05:08/00:02:50, flags: T
  Incoming interface: Serial1/1, RPF nbr 10.1.14.1
  Outgoing interface list:
    Serial1/0, Prune/Dense, 00:05:08/00:00:56, A
    FastEthernet2/0, Forward/Dense, 00:02:03/00:00:00


On R4 it shows it wins the assert. Because R5 can receive traffic from R4 and as well as R6. Now here the assert msg will help to find who will be the charge to delivery the multicast traffic to R5. As we know due to shortest metric to reach the source unicast (Multicast server) R4 wins and it take the responsibility to delivery the traffic.
R5#sh ip mroute 224.2.2.2

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

(*, 224.2.2.2), 00:12:32/stopped, RP 0.0.0.0, flags: DCL
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Loopback0, Forward/Dense, 00:09:28/00:00:00
    FastEthernet1/0, Forward/Dense, 00:12:32/00:00:00

(10.7.7.7, 224.2.2.2), 00:09:26/00:02:59, flags: LT
  Incoming interface: FastEthernet1/0, RPF nbr 10.1.56.4
  Outgoing interface list:
    Loopback0, Forward/Dense, 00:09:26/00:00:00


PIM Dense Mode
Friday, March 29, 2013
12:57 AM

R1#sh ip pim neighbor
PIM Neighbor Table
Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
      S - State Refresh Capable
Neighbor          Interface                Uptime/Expires    Ver   DR
Address                                                            Prio/Mode
155.1.17.7        FastEthernet2/0          00:25:19/00:01:31 v2    1 / DR S
155.1.12.2        Serial1/0                00:27:45/00:01:34 v2    1 / S
155.1.15.5        Serial1/1                00:26:25/00:01:28 v2    1 / S

R1#sh ip pim interface

Address          Interface                Ver/   Nbr    Query  DR     DR
                                          Mode   Count  Intvl  Prior
155.1.17.1       FastEthernet2/0          v2/D   1      30     1      155.1.17.7
155.1.12.1       Serial1/0                v2/D   1      30     1      0.0.0.0
155.1.15.1       Serial1/1                v2/D   1      30     1      0.0.0.0

R1#sh ip interface | in Multi
  Multicast reserved groups joined: 224.0.0.10 224.0.0.1 224.0.0.2 224.0.0.22 224.0.0.13

R1#sh ip interface | in IP mult
  IP multicast fast switching is enabled
  IP multicast distributed fast switching is disabled

R1#sh 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

(*, 224.0.1.40), 00:29:51/00:02:13, RP 0.0.0.0, flags: DCL --------- > its reserved address for auto RP
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Serial1/1, Forward/Dense, 00:27:51/00:00:00
    Serial1/0, Forward/Dense, 00:29:11/00:00:00
    FastEthernet2/0, Forward/Dense, 00:29:51/00:00:00


R1#sh ip mroute count
IP Multicast Statistics
1 routes using 978 bytes of memory
1 groups, 0.00 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: 224.0.1.40, Source count: 0, Packets forwarded: 0, Packets received: 0


Now lets ping from R7 to the multicast address

R7#ping
Protocol [ip]:
Target IP address: 224.1.1.1
Repeat count [1]: 10
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Interface [All]: fastethernet1/0
Time to live [255]:
Source address: 155.1.17.7
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 10, 100-byte ICMP Echos to 224.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 155.1.17.7
..........
R7#

Packet will be flooded to every interface on the topology because it’s a PIM DENSE MODE.
Lets verify it.
R3#sh 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

(*, 224.1.1.1), 00:01:56/stopped, RP 0.0.0.0, flags: D
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    FastEthernet1/0, Forward/Dense, 00:01:56/00:00:00

(155.1.17.7, 224.1.1.1), 00:01:56/00:01:03, flags: PT
  Incoming interface: FastEthernet1/0, RPF nbr 155.1.234.2
  Outgoing interface list: Null

(*, 224.0.1.40), 00:34:57/00:02:02, RP 0.0.0.0, flags: DCL
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    FastEthernet1/0, Forward/Dense, 00:34:57/00:00:00

R6#sh 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

(*, 224.1.1.1), 00:02:14/stopped, RP 0.0.0.0, flags: D
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Serial1/0, Forward/Dense, 00:02:14/00:00:00

(155.1.17.7, 224.1.1.1), 00:02:14/00:00:45, flags: PT
  Incoming interface: Serial1/0, RPF nbr 155.1.56.5
  Outgoing interface list: Null

(*, 224.0.1.40), 00:33:39/stopped, RP 0.0.0.0, flags: DCL
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Serial1/0, Forward/Dense, 00:33:39/00:00:00


On router R3 and also in others

(S,G) entry is entered
(155.1.17.7, 224.1.1.1)

Flag PT
P means Prune and T means SPT bit set
Its Prune because on the downstream there's no host who actually want the traffic

RPF Check

Incoming interface: FastEthernet1/0, RPF nbr 155.1.234.2

R3#sh ip route 155.1.17.7
Routing entry for 155.1.17.0/24
  Known via "eigrp 1", distance 90, metric 2174976, type internal
  Redistributing via eigrp 1
  Last update from 155.1.234.2 on FastEthernet1/0, 00:48:15 ago
  Routing Descriptor Blocks:
  * 155.1.234.2, from 155.1.234.2, 00:48:15 ago, via FastEthernet1/0
      Route metric is 2174976, traffic share count is 1
      Total delay is 20200 microseconds, minimum bandwidth is 1544 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 1/255, Hops 2

R3#sh ip rpf 155.1.17.7
RPF information for ? (155.1.17.7)
  RPF interface: FastEthernet1/0
  RPF neighbor: ? (155.1.234.2)
  RPF route/mask: 155.1.17.0/24
  RPF type: unicast (eigrp 1)
  RPF recursion count: 0
  Doing distance-preferred lookups across tables


Hence the RPF check passes.

No comments:

Post a Comment