connecting to the ip multicast world

235
1 Connecting to the IP Connecting to the IP Multicast World Multicast World David Mitchell David Mitchell NCNE, NLANR, NCAR, and NCNE, NLANR, NCAR, and the Pittsburgh the Pittsburgh Supercomputing Center Supercomputing Center [email protected] [email protected]

Upload: neil

Post on 23-Jan-2016

48 views

Category:

Documents


0 download

DESCRIPTION

Connecting to the IP Multicast World. David Mitchell NCNE, NLANR, NCAR, and the Pittsburgh Supercomputing Center [email protected]. Agenda. What Is Multicast Multicast Protocols Multicast Configurations Troubleshooting Futures Useful Links. What Is Multicast. Unicast is one to one - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Connecting to the IP Multicast World

1

Connecting to the IP Connecting to the IP Multicast WorldMulticast World

Connecting to the IP Connecting to the IP Multicast WorldMulticast World

David MitchellDavid Mitchell

NCNE, NLANR, NCAR, and the NCNE, NLANR, NCAR, and the Pittsburgh Supercomputing Pittsburgh Supercomputing

CenterCenter

[email protected]@ncne.org

Page 2: Connecting to the IP Multicast World

2

AgendaAgenda

• What Is Multicast

• Multicast Protocols

• Multicast Configurations

• Troubleshooting

• Futures

• Useful Links

Page 3: Connecting to the IP Multicast World

3

What Is MulticastWhat Is Multicast

• Unicast is one to one– traffic is sent from a single source to a single

destination

• Multicast is one to many– traffic is sent from a single source to a “group”

address

Page 4: Connecting to the IP Multicast World

4

Server

Router

Unicast

Server

Router

Multicast

Unicast vs. MulticastUnicast vs. Multicast

Page 5: Connecting to the IP Multicast World

5

Why MulticastWhy Multicast

• More efficient method of sending the same data to lots of hosts– Distributing a video stream to multiple viewers

• Allows unique distributed protocols– clients can announce services or perform queries

in a distributed fashion ala Appletalk’s “Chooser”

Page 6: Connecting to the IP Multicast World

6

Multicast Disadvantages

• Best Effort DeliveryBest Effort Delivery: Drops are to be expected. Multicast applications should not expect reliable delivery of data and should be designed accordingly. Reliable Multicast is still an area for much research. Expect to see more developments in this area.

• No Congestion AvoidanceNo Congestion Avoidance: Lack of TCP windowing and “slow-start” mechanisms can result in network congestion. If possible, Multicast applications should attempt to detect and avoid congestion conditions.

• DuplicatesDuplicates: Some multicast protocol mechanisms (e.g. Asserts, Registers and SPT Transitions) result in the occasional generation of duplicate packets. Multicast applications should be designed to expect occasional duplicate packets.

• Out of Order DeliveryOut of Order Delivery : Some protocol mechanisms may also result in out of order delivery of packets.

Multicast Is UDP Based!!!

Page 7: Connecting to the IP Multicast World

7

AgendaAgenda

• What Is Multicast

• Multicast Protocols

• Multicast Configurations

• Troubleshooting

• Futures

• Useful Links

Page 8: Connecting to the IP Multicast World

8

Multicast ProtocolsMulticast Protocols

• Multicast Addressing Basics

• IGMP

• PIM

• MSDP

• MBGP

Page 9: Connecting to the IP Multicast World

9

• IP Multicast Group Addresses– 224.0.0.0–239.255.255.255– Class “D” Address Space

• High order bits of 1st Octet = “1110”

• Reserved Link-local Addresses– 224.0.0.0–224.0.0.255– Transmitted with TTL = 1– Examples:

• 224.0.0.1 All systems on this subnet• 224.0.0.2 All routers on this subnet• 224.0.0.4 DVMRP routers• 224.0.0.5 OSPF routers• 224.0.0.13 PIMv2 Routers

Multicast Addressing Multicast Addressing

Page 10: Connecting to the IP Multicast World

10

• Administratively Scoped Addresses– 239.0.0.0–239.255.255.255

– Private address space• Similar to RFC1918 unicast addresses

• Not used for global Internet traffic

• Used to limit “scope” of multicast traffic

• Same addresses may be in use at different locations for different multicast sessions

– Examples• Site-local scope: 239.253.0.0/16

• Organization-local scope: 239.192.0.0/14

Multicast Addressing Multicast Addressing

Page 11: Connecting to the IP Multicast World

11

32 Bits

28 Bits

25 Bits 23 Bits

48 Bits

01-00-5e-7f-00-0101-00-5e-7f-00-01

1110

5 BitsLost

Multicast AddressingMulticast Addressing

IP Multicast MAC Address Mapping(FDDI and Ethernet)

239.255.0.1239.255.0.1

Page 12: Connecting to the IP Multicast World

12

224.1.1.1224.129.1.1225.1.1.1225.129.1.1 . . .238.1.1.1238.129.1.1239.1.1.1239.129.1.1

0x0100.5E01.0101

1 - Multicast MAC Address(FDDI and Ethernet)

32 - IP Multicast Addresses

Multicast AddressingMulticast Addressing

Be Aware of the 32:1 Address OverlapBe Aware of the 32:1 Address Overlap

IP Multicast MAC Address Mapping(FDDI & Ethernet)

Page 13: Connecting to the IP Multicast World

13

Multicast Addressing Multicast Addressing

• Dynamic Group Address Assignment– Historically accomplished using SDR application

• Sessions/groups announced over well-known multicast groups

• Address collisions detected and resolved at session creation time

• Has problems scaling

– Future dynamic techniques under consideration• Multicast Address Set-Claim (MASC)

– Hierarchical, dynamic address allocation scheme– Extremely complex garbage-collection problem. – Long ways off

• MADCAP– Similar to DHCP– Need application and host stack support

Page 14: Connecting to the IP Multicast World

14

Multicast Addressing Multicast Addressing

• Static Group Address Assignment (new)– Temporary method to meet immediate needs

– Group range: 233.0.0.0 - 233.255.255.255• Your AS number is inserted in middle two octets

• Remaining low-order octet used for group assignment

– Defined in IETF draft• “draft-ietf-mboned-glop-addressing-00.txt”

Page 15: Connecting to the IP Multicast World

15

Multicast ProtocolsMulticast Protocols

• Multicast Addressing Basics

• IGMP

• PIM

• MSDP

• MBGP

Page 16: Connecting to the IP Multicast World

16

• Routers solicit group membership from directly connected hosts

• RFC 1112 specifies version 1 of IGMP Supported on Windows 95

• RFC 2236 specifies version 2 of IGMP Supported on latest service pack for Windows and most UNIX systems

• IGMP version 3 is specified in IETF draft draft-ietf-idmr-igmp-v3-03.txt

• How hosts tell routers about group membership

Host-Router Signaling: IGMPHost-Router Signaling: IGMP

Page 17: Connecting to the IP Multicast World

17

H3

• Host sends IGMP Report to join group

H3224.1.1.1

Report

H1 H2

Joining a Group

Host-Router Signaling: IGMPHost-Router Signaling: IGMP

Page 18: Connecting to the IP Multicast World

18

• Router sends periodic Queries to 224.0.0.1

Query

• One member per group per subnet reports

224.1.1.1

Report

• Other members suppress reports

224.1.1.1

SuppressedX

224.1.1.1

SuppressedX

H1 H2 H3

Maintaining a Group

Host-Router Signaling: IGMPHost-Router Signaling: IGMP

Page 19: Connecting to the IP Multicast World

19

• Host quietly leaves group

H1 H3H3 #1#1

• Router sends 3 General Queries (60 secs apart)

General Query

#2#2

• No IGMP Report for the group is received• Group times out (Worst case delay ~= 3 minutes)

H2

Leaving a Group (IGMPv1)

Host-Router Signaling: IGMPHost-Router Signaling: IGMP

Page 20: Connecting to the IP Multicast World

20

• Host sends Leave message to 224.0.02

H1 H3H3

Leave to224.0.0.2

224.1.1.1

#1#1

• Router sends Group specific query to 224.1.1.1

Group SpecificQuery to 224.1.1.1#2#2

• No IGMP Report is received within ~3 seconds• Group 224.1.1.1 times out

H2

Leaving a Group (IGMPv2)

Host-Router Signaling: IGMPHost-Router Signaling: IGMP

Page 21: Connecting to the IP Multicast World

21

• draft-ietf-idmr-igmp-v3-??.txt

• Early implementations now in beta– Enables hosts to listen only to a specified

subset of the hosts sending to the group

IGMPv3IGMPv3

Page 22: Connecting to the IP Multicast World

22

Source = 1.1.1.1Group = 224.1.1.1

H1 - Member of 224.1.1.1

R1

R3

R2

Source = 2.2.2.2Group = 224.1.1.1

• H1 wants to receive from S = 1.1.1.1 but not from S = 2.2.2.2

• With IGMP, specific sources can be pruned back - S = 2.2.2.2 in this case

IGMPv3:Join 1.1.1.1, 224.1.1.1Leave 2.2.2.2, 224.1.1.1

IGMPv3IGMPv3

Page 23: Connecting to the IP Multicast World

23

Multicast ProtocolsMulticast Protocols

• Multicast Addressing Basics

• IGMP

• PIM

• MSDP

• MBGP

Page 24: Connecting to the IP Multicast World

24

PIMPIM

• Distribution Trees

• Neighbor Discovery

• PIM-DM

• PIM-SM

Page 25: Connecting to the IP Multicast World

25

Shortest Path or Source Distribution Tree

Receiver 1

B

E

A D F

Source 1Notation: (S, G) S = Source G = Group

C

Receiver 2

Source 2

Multicast Distribution TreesMulticast Distribution Trees

Page 26: Connecting to the IP Multicast World

26

Receiver 1

B

E

A D F

Source 1Notation: (S, G) S = Source G = Group

C

Receiver 2

Source 2

Multicast Distribution TreesMulticast Distribution Trees

Shortest Path or Source Distribution Tree

Page 27: Connecting to the IP Multicast World

27

Multicast Distribution Trees

Shared Distribution Tree

Receiver 1

B

E

A D F

Notation: (*, G) * = All Sources G = Group

C

Receiver 2

(RP) PIM Rendezvous Point

Shared Tree

(RP)

Page 28: Connecting to the IP Multicast World

28

Multicast Distribution Trees

Shared Distribution Tree

Receiver 1

B

E

A F

Source 1 Notation: (*, G) * = All Sources G = Group

C

Receiver 2

Source 2

(RP) PIM Rendezvous Point

Shared Tree

Source Tree

D (RP)

Page 29: Connecting to the IP Multicast World

29

Multicast Distribution Trees

• Source or Shortest Path treesUses more memory O(S x G) but you get optimal paths from source to all receivers; minimizes delay

• Shared treesUses less memory O(G) but you may get sub-optimal paths from source to all receivers; may introduce extra delay

CharacteristicsCharacteristics of Distribution Trees

Page 30: Connecting to the IP Multicast World

30

171.68.37.2PIM Router 2

Highest IP Address electedas “DR” (Designated Router)

PIM Hello

PIM Router 1171.68.37.1

PIM Hello

PIM Neighbor DiscoveryPIM Neighbor Discovery

• PIMv2 Hellos are periodically multicast to the “All-PIM-Routers” (224.0.0.13) group address. (Default = 30 seconds)

– Note: PIMv1 multicasts PIM Query messages to the “All-Routers” (224.0.0.2) group address.

• If the “DR” times-out, a new “DR” is elected.

• The “DR” is responsible for sending all Joins and Register messages for any receivers or senders on the network.

Page 31: Connecting to the IP Multicast World

31

wan-gw8>show ip pim neighborPIM Neighbor TableNeighbor Address Interface Uptime Expires Mode171.68.0.70 FastEthernet0 2w1d 00:01:24 Dense 171.68.0.91 FastEthernet0 2w6d 00:01:01 Dense (DR)171.68.0.82 FastEthernet0 7w0d 00:01:14 Dense 171.68.0.86 FastEthernet0 7w0d 00:01:13 Dense 171.68.0.80 FastEthernet0 7w0d 00:01:02 Dense 171.68.28.70 Serial2.31 22:47:11 00:01:16 Dense 171.68.28.50 Serial2.33 22:47:22 00:01:08 Dense 171.68.27.74 Serial2.36 22:47:07 00:01:21 Dense 171.68.28.170 Serial0.70 1d04h 00:01:06 Dense 171.68.27.2 Serial1.51 1w4d 00:01:25 Dense 171.68.28.110 Serial3.56 1d04h 00:01:20 Dense 171.68.28.58 Serial3.102 12:53:25 00:01:03 Dense

PIM Neighbor DiscoveryPIM Neighbor Discovery

Page 32: Connecting to the IP Multicast World

32

PIM-DM — EvaluationPIM-DM — Evaluation

• Most effective for small pilot networks

• Advantages:– Easy to configure—two commands

– Simple flood and prune mechanism

• Potential issues...– Inefficient flood and prune behavior

– Complex Assert mechanism

– Mixed control and data planes• Results in (S, G) state in every router in the network

• Can result in non-deterministic topological behaviors

– No support for shared trees

Page 33: Connecting to the IP Multicast World

33

PIM-SM OverviewPIM-SM Overview

• Explicit join model–Receivers join to the Rendezvous Point (RP)

–Senders register with the RP

–Data flows down the shared tree and goes only to places that need the data from the sources

–Last hop routers can join source tree if the data rate warrants by sending joins to the source

• RPF check depends on tree type–For shared trees, uses RP address

–For source trees, uses Source address

Page 34: Connecting to the IP Multicast World

34

PIM-SM OverviewPIM-SM Overview

• Only one RP is chosen for a particular group

• RP statically configured or dynamically learned (Auto-RP, PIM v2 candidate RP advertisements)

• Data forwarded based on the source state (S, G) if it exists, otherwise use the shared state (*, G)

• RFC 2326 - “PIM Sparse Mode Protocol Spec”

Page 35: Connecting to the IP Multicast World

35

PIM-SM Shared Tree JoinPIM-SM Shared Tree Join

Receiver

RP

(*, G) Join

Shared Tree

(*, G) State created onlyalong the Shared Tree.

Page 36: Connecting to the IP Multicast World

36

PIM-SM Sender RegistrationPIM-SM Sender Registration

Receiver

RP

(S, G) Join

Source

Shared Tree

(S, G) Register (unicast)

Source Tree

(S, G) State created onlyalong the Source Tree.Traffic Flow

Page 37: Connecting to the IP Multicast World

37

PIM-SM Sender RegistrationPIM-SM Sender Registration

Receiver

RPSource

Shared Tree

Source TreeRP sends a Register-Stop back to the first-hop router to stop the Register process.

(S, G) Register-Stop (unicast)

Traffic Flow

(S, G) Register (unicast)

(S, G) traffic begins arriving at the RP via the Source tree.

Page 38: Connecting to the IP Multicast World

38

PIM-SM Sender RegistrationPIM-SM Sender Registration

Receiver

RPSource

Shared Tree

Source Tree

Traffic FlowSource traffic flows nativelyalong SPT to RP.

From RP, traffic flows downthe Shared Tree to Receivers.

Page 39: Connecting to the IP Multicast World

39

PIM-SM SPT SwitchoverPIM-SM SPT Switchover

Receiver

RP

(S, G) Join

Source

Source Tree

Shared Tree

Last-hop router joins the Source Tree.

Additional (S, G) State is created along new part of the Source Tree.

Traffic Flow

Page 40: Connecting to the IP Multicast World

40

PIM-SM SPT SwitchoverPIM-SM SPT Switchover

Receiver

RPSource

Source Tree

Shared Tree

(S, G)RP-bit Prune

Traffic begins flowing down the new branch of the Source Tree.

Additional (S, G) State is created along along the Shared Tree to prune off (S, G) traffic.

Traffic Flow

Page 41: Connecting to the IP Multicast World

41

PIM-SM SPT SwitchoverPIM-SM SPT Switchover

Receiver

RPSource

Source Tree

Shared Tree

(S, G) Traffic flow is now pruned off of the Shared Tree and is flowing to the Receiver via the Source Tree.

Traffic Flow

Page 42: Connecting to the IP Multicast World

42

PIM-SM SPT SwitchoverPIM-SM SPT Switchover

Receiver

RPSource

Source Tree

Shared Tree

(S, G) traffic flow is no longer needed by the RP so it Prunes the flow of (S, G) traffic.

Traffic Flow

(S, G) Prune

Page 43: Connecting to the IP Multicast World

43

PIM-SM SPT SwitchoverPIM-SM SPT Switchover

Receiver

RPSource

Source Tree

Shared Tree

(S, G) Traffic flow is now only flowing to the Receiver via a single branch of the Source Tree.

Traffic Flow

Page 44: Connecting to the IP Multicast World

44

PIM-SM Protocol MechanicsPIM-SM Protocol Mechanics

• PIM SM StatePIM SM State

• PIM SM Forwarding

• PIM SM Joining

• PIM SM Registering

• PIM SM SPT-Switchover

• PIM SM Pruning

Page 45: Connecting to the IP Multicast World

45

PIM-SM State ExamplePIM-SM State Example

sj-mbone> show ip mrouteIP Multicast Routing TableFlags: D - Dense, S - Sparse, 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 - Advertised via MSDPTimers: Uptime/ExpiresInterface state: Interface, Next-Hop or VCD, State/Mode

(*, 224.1.1.1), 00:13:28/00:02:59, RP 10.1.5.1, flags: SCJ Incoming interface: Ethernet0, RPF nbr 10.1.2.1, Outgoing interface list: Ethernet1, Forward/Sparse, 00:13:28/00:02:32 Serial0, Forward/Sparse, 00:4:52/00:02:08

(171.68.37.121/32, 224.1.1.1), 00:01:43/00:02:59, flags: CJT Incoming interface: Serial0, RPF nbr 192.10.2.1 Outgoing interface list: Ethernet1, Forward/Sparse, 00:01:43/00:02:11 Ethernet0, forward/Sparse, 00:01:43/00:02:11

Page 46: Connecting to the IP Multicast World

46

PIM-SM (*,G) State RulesPIM-SM (*,G) State Rules

• (*,G) creation– Upon receipt of a (*,G) Join or

– Automatically if (S,G) must be created

• (*,G) reflects default group forwarding– IIF = RPF interface toward RP

– OIL = interfaces• that received a (*,G) Join or• with directly connected hosts or• manually configured

• (*,G) deletion– When OIL = NULL and

– no child (S,G) state exists

Page 47: Connecting to the IP Multicast World

47

PIM-SM (S,G) State RulesPIM-SM (S,G) State Rules

• (S,G) creation– By receipt of (S,G) Join or Prune or

– By “Register” process

– Parent (*,G) created (if doesn’t exist)

• (S,G) reflects forwarding of “S” to “G”– IIF = RPF Interface normally toward source

• RPF toward RP if “RP-bit” set

– OIL = Initially, copy of (*,G) OIL minus IIF

• (S,G) deletion– By normal (S,G) entry timeout

Page 48: Connecting to the IP Multicast World

48

PIM-SM OIL RulesPIM-SM OIL Rules

• Interfaces in OIL added – By receipt of Join message

• Intfc’s added to (*,G) are added to all (S,G)’s

• Interfaces in OIL removed – By receipt of Prune message

• Intfc’s removed from (*,G) are removed from all (S,G)’s

– Interface Expire timer counts down to zero• Timer reset (to 3 min.) by receipt of periodic Join or• By IGMP membership report

Page 49: Connecting to the IP Multicast World

49

PIM-SM State FlagsPIM-SM State Flags

• S = Sparse Mode

• C = Directly Connected Host

• L = Local (Router is member)

• P = Pruned (All intfcs in OIL = Prune)

• T = Forwarding via SPT– Indicates at least one packet was forwarded

Page 50: Connecting to the IP Multicast World

50

PIM-SM State Flags (Cont.)PIM-SM State Flags (Cont.)

• J = Join SPT – In (*, G) entry

•Indicates SPT-Threshold is being exceeded•Next (S,G) received will trigger join of SPT

– In (S, G) entry•Indicates SPT joined due to SPT-Threshold•If rate < SPT-Threshold, switch back to Shared Tree

• F = Register – In (S,G) entry

•Indicates the router is a first-hop router and there is a directly connected source or proxy registers are being sent.

– In (*, G) entry•Set when “F” set in at least one child (S,G)

Page 51: Connecting to the IP Multicast World

51

PIM-SM State Flags (Cont.)PIM-SM State Flags (Cont.)

• R = RP bit– (S, G) entries only

– Set by (S,G)RP-bit Prune/Join

– Indicates info is applicable to Shared Tree

– Used to prune (S,G) traffic from Shared Tree• Initiated by Last-hop router after switch to SPT

– Modifies (S,G) forwarding behavior• IIF = RPF toward RP (I.e. up the Shared Tree)• OIL = Pruned accordingly

Page 52: Connecting to the IP Multicast World

52

PIM-SM Protocol MechanicsPIM-SM Protocol Mechanics

• PIM SM State

• PIM SM ForwardingPIM SM Forwarding

• PIM SM Joining

• PIM SM Registering

• PIM SM SPT-Switchover

• PIM SM Pruning

Page 53: Connecting to the IP Multicast World

53

PIM-SM Forwarding RulesPIM-SM Forwarding Rules

• Use longest match entry– Use (S, G) entry if exists

– Otherwise, use (*, G) entry

• RPF check first– If Packet didn’t arrive via IIF, drop it.

• Forward Packet (if RPF succeeded)– Send out all “unpruned” interfaces in OIL

Page 54: Connecting to the IP Multicast World

54

E0

S0

rtr-a

S1

• Packets are “forwarded” out all interfaces in “oilist”.

• PIM Sparse mode interfaces are placed on the “oilist” for a Multicast Group IF:

– PIM neighbor Joins the group on this interface

– Host on this interface has joined the group

– Interface has been manually configured to join group.

Shared TreeMulticast Packets

(128.9.160.1, 224.1.1.1)

Source Tree (SPT)Multicast Packets

(128.9.160.43, 224.1.1.1)

E0E1

Rcvr A(*, 224.1.1.1)

to RP(10.1.5.1)

PIM SM ForwardingPIM SM Forwarding

Page 55: Connecting to the IP Multicast World

55

PIM-SM Protocol MechanicsPIM-SM Protocol Mechanics

• PIM SM State

• PIM SM Forwarding

• PIM SM JoiningPIM SM Joining

• PIM SM Registering

• PIM SM SPT-Switchover

• PIM SM Pruning

Page 56: Connecting to the IP Multicast World

56

PIM SM JoiningPIM SM Joining

• Leaf routers send a (*,G) Join to toward RP– Joins sent hop-by-hop via unicast path toward RP

• Each router along path creates (*,G) state– IF no (*,G) state, create it & send a Join toward RP

– ELSE Join process complete. Reached the (*,G) tree.

Page 57: Connecting to the IP Multicast World

57

• “Rcvr A” wishes to receive group G traffic. Sends IGMP Join for G.11

IGMP Join11

E0S0 rtr-a

rtr-b

S1

E0E1

Rcvr A

Shared Tree

To RP (10.1.5.1)

10.1.2.2

10.1.2.110.1.4.2

PIM SM JoiningPIM SM Joining

Page 58: Connecting to the IP Multicast World

58

(*, 224.1.1.1), 00:00:05/00:02:54, RP 10.1.5.1, flags: SC Incoming interface: Ethernet0, RPF nbr 10.1.2.1 Outgoing interface list: Ethernet1, Forward/Sparse, 00:00:05/00:02:54

(*, 224.1.1.1), 00:00:05/00:02:54, RP 10.1.5.1, flags: SC Incoming interface: Ethernet0, RPF nbr 10.1.2.1 Outgoing interface list: Ethernet1, Forward/Sparse, 00:00:05/00:02:54

“rtr-b” creates (*, 224.1.1.1) state

E0S0 rtr-a

rtr-b

S1

E0E1

To RP (10.1.5.1)

Rcvr A

Shared Tree

10.1.2.2

10.1.2.110.1.4.2

PIM SM JoiningPIM SM Joining

Ethernet1, Forward/Sparse, 00:00:05/00:02:54

Page 59: Connecting to the IP Multicast World

59

• “Rcvr A” wishes to receive group G traffic. Sends IGMP Join for G.11

• “rtr-b” sends (*,G) Join towards RP.22

PIM Join22

E0S0 rtr-a

rtr-b

S1

E0E1

Rcvr A

Shared Tree

To RP (10.1.5.1)

10.1.2.2

10.1.2.110.1.4.2

PIM SM JoiningPIM SM Joining

Page 60: Connecting to the IP Multicast World

60

(*, 224.1.1.1), 00:00:05/00:02:54, RP 10.1.5.1, flags: S Incoming interface: Serial0, RPF nbr 10.1.4.1 Outgoing interface list: Ethernet0, Forward/Sparse, 00:00:05/00:02:54

(*, 224.1.1.1), 00:00:05/00:02:54, RP 10.1.5.1, flags: S Incoming interface: Serial0, RPF nbr 10.1.4.1 Outgoing interface list: Ethernet0, Forward/Sparse, 00:00:05/00:02:54

“rtr-a” creates (*, 224.1.1.1) state.

E0S0 rtr-a

rtr-b

S1

E0E1

To RP (10.1.5.1)

Rcvr A

Shared Tree

10.1.2.2

10.1.2.110.1.4.2

PIM SM Joining PIM SM Joining

Ethernet0, Forward/Sparse, 00:00:05/00:02:54

Page 61: Connecting to the IP Multicast World

61

PIM Join33

Shared Tree44

• Shared tree is built all the way back to the RP.44

E0S0 rtr-a

rtr-b

S1

E0E1

Rcvr A

Shared Tree

To RP (10.1.5.1)

10.1.2.2

10.1.2.110.1.4.2

PIM SM JoiningPIM SM Joining

• “Rcvr A” wishes to receive group G traffic. Sends IGMP Join for G.11

• “rtr-a” sends (*,G) Join towards RP.33

• “rtr-b” sends (*,G) Join towards RP.22

Page 62: Connecting to the IP Multicast World

62

PIM-SM Protocol MechanicsPIM-SM Protocol Mechanics

• PIM SM State

• PIM SM Forwarding

• PIM SM Joining

• PIM SM RegisteringPIM SM Registering

• PIM SM SPT-Switchover

• PIM SM Pruning

Page 63: Connecting to the IP Multicast World

63

PIM SM RegisteringPIM SM Registering

• Senders begin sourcing Multicast Traffic– Senders don’t necessarily perform IGMP group joins.

• 1st-hop router unicasts “Registers” to RP– A Mcast packet is encapsulated in each Register msg

– Registers messages follow unicast path to RP

• RP receives “Register” messages– De-encapsulates the Mcast packet inside Register msg

– Forwards Mcast packet down Shared Tree

– Sends (S,G) Join toward Source / 1st-Hop router to build an (S,G) SPT between Source and RP

Page 64: Connecting to the IP Multicast World

64

PIM SM RegisteringPIM SM Registering

• 1st-hop router receives (S,G) Join– SPT between Source and RP now built.

– Begins forwarding traffic down (S,G) SPT to RP

– (S,G) Traffic temporarily flowing down 2 paths to RP

• RP receives traffic down native (S,G) SPT– Sends a “Register-Stop” msg to Source / 1st-Hop router.

• 1st-Hop router receives “Register-Stop” msg– Stops encapsulating traffic in “Register” messages

– (S,G) Traffic now flowing down single SPT to RP

Page 65: Connecting to the IP Multicast World

65

PIM SM Register ExamplesPIM SM Register Examples

• Receivers Join Group FirstReceivers Join Group First

• Source Registers First

Page 66: Connecting to the IP Multicast World

66

(*, 224.1.1.1), 00:00:03/00:02:56, RP 171.68.28.140, flags:S Incoming interface: Null, RPF nbr 0.0.0.0, Outgoing interface list: Serial0, Forward/Sparse, 00:03:14/00:02:59 Serial1, Forward/Sparse, 00:03:14/00:02:59

State in “RP” before any source registers(with receivers on Shared Tree)

rtr-a

RP

rtr-crtr-b

Shared Tree

S3S0 S1

PIM SM RegisteringReceiver Joins Group First

PIM SM RegisteringReceiver Joins Group First

E0 S1S0S0

Page 67: Connecting to the IP Multicast World

67

rtr-b>sh ip mroute 224.1.1.1

No such group

rtr-b>sh ip mroute 224.1.1.1

No such group

State in “rtr-b” before any source registers(with receivers on Shared Tree)

rtr-a

RP

rtr-crtr-b

Shared Tree

E0

PIM SM RegisteringReceiver Joins Group First

PIM SM RegisteringReceiver Joins Group First

S3S0 S1

S1S0S0

Page 68: Connecting to the IP Multicast World

68

rtr-a>sh ip mroute 224.1.1.1

No such group.

State in “rtr-a” before any source registers(with receivers on Shared Tree)

rtr-a

RP

rtr-crtr-b

Shared Tree

E0

PIM SM RegisteringReceiver Joins Group First

PIM SM RegisteringReceiver Joins Group First

S3S0 S1

S1S0S0

Page 69: Connecting to the IP Multicast World

69

11

(171.68.37.121, 224.1.1.1) Mcast Packets

rtr-a

RP

Source 171.68.37.121 rtr-crtr-b

Shared Tree

PIM SM RegisteringReceiver Joins Group First

PIM SM RegisteringReceiver Joins Group First

E0 S3S0 S1

• “Source” begins sending group G traffic. 11

S1S0S0

Page 70: Connecting to the IP Multicast World

70

(*, 224.1.1.1), 00:00:03/00:02:56, RP 171.68.28.140, flags: SP Incoming interface: Serial0, RPF nbr 171.68.28.191, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:00:03/00:02:56, flags: FPT Incoming interface: Ethernet0, RPF nbr 0.0.0.0, Outgoing interface list: Null

(*, 224.1.1.1), 00:00:03/00:02:56, RP 171.68.28.140, flags: SP Incoming interface: Serial0, RPF nbr 171.68.28.191, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:00:03/00:02:56, flags: FPT Incoming interface: Ethernet0, RPF nbr 0.0.0.0, Outgoing interface list: Null

“rtr-a” creates (S, G) state for source(After automatically creating a (*, G) entry)

(171.68.37.121, 224.1.1.1) Mcast Packets

Source 171.68.37.121

rtr-a

RP

Shared Tree

rtr-crtr-b

PIM SM RegisteringReceiver Joins Group First

PIM SM RegisteringReceiver Joins Group First

E0 S3S0 S1

• “rtr-a” encapsulates packets in Registers; unicasts to RP.22

Register Msgs22

• “Source” begins sending group G traffic. 11

RegisteringFPT

S1S0S0

Page 71: Connecting to the IP Multicast World

71

Register Msgs

“RP” processes Register; creates (S, G) state

(*, 224.1.1.1), 00:09:21/00:02:38, RP 171.68.28.140, flags: S Incoming interface: Null, RPF nbr 0.0.0.0, Outgoing interface list: Serial0, Forward/Sparse, 00:09:21/00:02:38 Serial1, Forward/Sparse, 00:03:14/00:02:46

(171.68.37.121, 224.1.1.1, 00:01:15/00:02:46, flags: Incoming interface: Serial3, RPF nbr 171.68.28.139, Outgoing interface list: Serial0, Forward/Sparse, 00:00:49/00:02:11 Serial1, Forward/Sparse, 00:00:49/00:02:11

(171.68.37.121, 224.1.1.1) Mcast Packets

Source 171.68.37.121

rtr-a

RP

Shared Tree

rtr-crtr-b

PIM SM RegisteringReceiver Joins Group First

PIM SM RegisteringReceiver Joins Group First

E0 S3S0 S1

• “rtr-c” (RP) de-encapsulates packets; forwards down Shared tree.33

33 (*, 224.1.1.1)Mcast Traffic

171.68.28.139

S1S0S0

Page 72: Connecting to the IP Multicast World

72

Register Msgs

rtr-a

RP

rtr-c

Shared Tree

(*, 224.1.1.1)Mcast Traffic

(171.68.37.121, 224.1.1.1) Mcast Packets

Source 171.68.37.121

PIM SM RegisteringReceiver Joins Group First

PIM SM RegisteringReceiver Joins Group First

E0S0 S1

rtr-b

• RP sends (S,G) Join toward Source to build SPT.44

S1

Join S044

S0S0

Page 73: Connecting to the IP Multicast World

73

Register Msgs

E0

“rtr-b” processes Join, creates (S, G) state(After automatically creating the (*, G) entry)

(*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: SP Incoming interface: Serial1, RPF nbr 171.68.28.140, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: Incoming interface: Serial0, RPF nbr 171.68.28.190 Outgoing interface list: Serial1, Forward/Sparse, 00:04:28/00:01:32

(*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: SP Incoming interface: Serial1, RPF nbr 171.68.28.140, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: Incoming interface: Serial0, RPF nbr 171.68.28.190 Outgoing interface list: Serial1, Forward/Sparse, 00:04:28/00:01:32

rtr-a

RP

rtr-crtr-b

Shared Tree

(*, 224.1.1.1)Mcast Traffic

Source 171.68.37.121

(171.68.37.121, 224.1.1.1) Mcast Packets

S1

171.68.28.190

PIM SM RegisteringReceiver Joins Group First

PIM SM RegisteringReceiver Joins Group First

S0 S1

• “rtr-b” sends (S,G) Join toward Source to continue building SPT.55

Join S055

• RP sends (S,G) Join toward Source to build SPT.44

S0S0

Page 74: Connecting to the IP Multicast World

74

Register Msgs

(*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: SP Incoming interface: Serial0, RPF nbr 171.68.28.191, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: FT Incoming interface: Ethernet0, RPF nbr 0.0.0.0, Registering Outgoing interface list:

(*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: SP Incoming interface: Serial0, RPF nbr 171.68.28.191, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: FT Incoming interface: Ethernet0, RPF nbr 0.0.0.0, Registering Outgoing interface list:

“rtr-a” processes the (S, G) Join; adds Serial0 to OIL

rtr-a

RP

rtr-crtr-b

Shared Tree

(*, 224.1.1.1)Mcast Traffic

Source 171.68.37.121

(171.68.37.121, 224.1.1.1) Mcast Packets

E0

PIM SM RegisteringReceiver Joins Group First

PIM SM RegisteringReceiver Joins Group First

S0 S1

Serial0, Forward/Sparse, 00:04:28/00:01:32

S1S0S0

Page 75: Connecting to the IP Multicast World

75

Register Msgs

S0 S1E0

• RP begins receiving (S,G) traffic down SPT. 66

66

• RP sends “Register-Stop” to “rtr-a”.77

Register-Stop77

rtr-a

RP

rtr-crtr-b

Shared Tree

(*, 224.1.1.1)Mcast Traffic

Source 171.68.37.121

(171.68.37.121, 224.1.1.1) Mcast Packets

PIM SM RegisteringReceiver Joins Group First

PIM SM RegisteringReceiver Joins Group First

S1S0S0

Page 76: Connecting to the IP Multicast World

76

(*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: SP Incoming interface: Serial0, RPF nbr 171.68.28.191, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: FT Incoming interface: Ethernet0, RPF nbr 0.0.0.0, Registering Outgoing interface list: Serial0, Forward/Sparse, 00:04:28/00:01:32

(*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: SP Incoming interface: Serial0, RPF nbr 171.68.28.191, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: FT Incoming interface: Ethernet0, RPF nbr 0.0.0.0, Registering Outgoing interface list: Serial0, Forward/Sparse, 00:04:28/00:01:32

rtr-a

RP

rtr-crtr-b

Shared Tree

(*, 224.1.1.1)Mcast Traffic

Source 171.68.37.121

(171.68.37.121, 224.1.1.1) Mcast Packets

PIM SM RegisteringReceiver Joins Group First

PIM SM RegisteringReceiver Joins Group First

E0 S3S0 S1

S1S0S0

“rtr-a” stops sending Register messages(Final State in “rtr-a”)

• (S,G) Traffic now flowing down a single path (SPT) to RP.88

88

Page 77: Connecting to the IP Multicast World

77

Final state in “rtr-b”

(*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: SP Incoming interface: Serial1, RPF nbr 171.68.28.140, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: T Incoming interface: Serial0, RPF nbr 171.68.28.190 Outgoing interface list: Serial1, Forward/Sparse, 00:04:28/00:01:32

(*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: SP Incoming interface: Serial1, RPF nbr 171.68.28.140, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: T Incoming interface: Serial0, RPF nbr 171.68.28.190 Outgoing interface list: Serial1, Forward/Sparse, 00:04:28/00:01:32

rtr-a

RP

rtr-crtr-b

Shared Tree

(*, 224.1.1.1)Mcast Traffic

Source 171.68.37.121

(171.68.37.121, 224.1.1.1) Mcast Packets

E0

PIM SM RegisteringReceiver Joins Group First

PIM SM RegisteringReceiver Joins Group First

S0 S1S1S0S0

Page 78: Connecting to the IP Multicast World

78

Final state in the “RP”(with receivers on Shared Tree)

(*, 224.1.1.1), 00:09:21/00:02:38, RP 171.68.28.140, flags: S Incoming interface: Null, RPF nbr 0.0.0.0, Outgoing interface list: Serial0, Forward/Sparse, 00:09:21/00:02:38 Serial1, Forward/Sparse, 00:03:14/00:02:46

(171.68.37.121, 224.1.1.1, 00:01:15/00:02:46, flags: T Incoming interface: Serial3, RPF nbr 171.68.28.139, Outgoing interface list: Serial0, Forward/Sparse, 00:00:49/00:02:11 Serial1, Forward/Sparse, 00:00:49/00:02:11

rtr-a

RP

rtr-crtr-b

Shared Tree

(*, 224.1.1.1)Mcast Traffic

Source 171.68.37.121

(171.68.37.121, 224.1.1.1) Mcast Packets

S3

171.68.28.139

PIM SM RegisteringReceiver Joins Group First

PIM SM RegisteringReceiver Joins Group First

S0 S1S1S0S0E0

Page 79: Connecting to the IP Multicast World

79

PIM SM Register ExamplesPIM SM Register Examples

• Receivers Join Group First

• Source Registers FirstSource Registers First

Page 80: Connecting to the IP Multicast World

80

rtr-c>show ip mroute 224.1.1.1

Group 224.1.1.1 not found.

rtr-c>show ip mroute 224.1.1.1

Group 224.1.1.1 not found.

State in “RP” before Registering(without receivers on Shared Tree)

rtr-a

RP

rtr-crtr-b

S3S0

S1S0S0E0S1

PIM SM RegisteringSource Registers First

PIM SM RegisteringSource Registers First

Page 81: Connecting to the IP Multicast World

81

rtr-b>show ip mroute 224.1.1.1

Group 224.1.1.1 not found.

rtr-b>show ip mroute 224.1.1.1

Group 224.1.1.1 not found.

State in “rtr-b” before any source registers(with receivers on Shared Tree)

rtr-a

RP

rtr-b

PIM SM RegisteringSource Registers First

PIM SM RegisteringSource Registers First

rtr-cS3

S0S1S0S0E0

S1

Page 82: Connecting to the IP Multicast World

82

rtr-a>show ip mroute 224.1.1.1

Group 224.1.1.1 not found.

State in “rtr-a” before any source registers(with receivers on Shared Tree)

rtr-a

RP

rtr-b

PIM SM RegisteringSource Registers First

PIM SM RegisteringSource Registers First

rtr-cS3

S0S1S0S0E0

S1

Page 83: Connecting to the IP Multicast World

83

11

(171.68.37.121, 224.1.1.1) Mcast Packets

rtr-a

RP

Source 171.68.37.121

rtr-b

PIM SM RegisteringSource Registers First

PIM SM RegisteringSource Registers First

• “Source” begins sending group G traffic. 11

rtr-cS3

S0S1S0S0E0

S1

Page 84: Connecting to the IP Multicast World

84

(*, 224.1.1.1), 00:00:03/00:02:56, RP 171.68.28.140, flags: SP Incoming interface: Serial0, RPF nbr 171.68.28.191, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:00:03/00:02:56, flags: FPT Incoming interface: Ethernet0, RPF nbr 0.0.0.0, Outgoing interface list: Null

(*, 224.1.1.1), 00:00:03/00:02:56, RP 171.68.28.140, flags: SP Incoming interface: Serial0, RPF nbr 171.68.28.191, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:00:03/00:02:56, flags: FPT Incoming interface: Ethernet0, RPF nbr 0.0.0.0, Outgoing interface list: Null

“rtr-a” creates (S, G) state for source(After automatically creating a (*, G) entry)

(171.68.37.121, 224.1.1.1) Mcast Packets

Source 171.68.37.121

rtr-a

RP

rtr-b

PIM SM RegisteringSource Registers First

PIM SM RegisteringSource Registers First

• “rtr-a” encapsulates packets in Registers; unicasts to RP.22

Register Msgs22

• “Source” begins sending group G traffic. 11

RegisteringFPT

rtr-cS3

S0S1S0S0E0

S1

Page 85: Connecting to the IP Multicast World

85

“RP” processes Register; creates (S, G) state(After automatically creating the (*, G) entry)

(*, 224.1.1.1), 00:01:15/00:01:45, RP 171.68.28.140, flags: S Incoming interface: Null, RPF nbr 0.0.0.0, Outgoing interface list: Null

(171.68.37.121, 224.1.1.1), 00:01:15/00:01:45, flags: P Incoming interface: Serial3, RPF nbr 171.68.28.139, Outgoing interface list: Null

(171.68.37.121, 224.1.1.1) Mcast Packets

Register Msgs

Source 171.68.37.121

rtr-a

RP

rtr-b

PIM SM RegisteringSource Registers First

PIM SM RegisteringSource Registers First

171.68.28.139

• “rtr-c” (RP) has no receivers on Shared Tree; discards packet.33

33

rtr-cS3

S0S1S0S0E0

S1

Page 86: Connecting to the IP Multicast World

86

• RP sends “Register-Stop” to “rtr-a”.44

RP

(171.68.37.121, 224.1.1.1) Mcast Packets

Register Msgs

Source 171.68.37.121

Register-Stop 44

rtr-c

• “rtr-c” (RP) has no receivers on Shared Tree; discards packet.33

PIM SM RegisteringSource Registers First

PIM SM RegisteringSource Registers First

rtr-cS3

S0S1S0S0E0

S1rtr-a rtr-b

Page 87: Connecting to the IP Multicast World

87

RP

(171.68.37.121, 224.1.1.1) Mcast Packets

Source 171.68.37.121

55

• “rtr-a” stops encapsulating traffic in Register Messages; drops packets from Source.

55

• RP sends “Register-Stop” to “rtr-a”.44

• “rtr-c” (RP) has no receivers on Shared Tree; discards packet.33

PIM SM RegisteringSource Registers First

PIM SM RegisteringSource Registers First

rtr-cS3

S0S1S0S0E0

S1rtr-a rtr-b

Page 88: Connecting to the IP Multicast World

88

(*, 224.1.1.1), 00:01:28/00:01:32, RP 171.68.28.140, flags: SP Incoming interface: Serial0, RPF nbr 171.68.28.191, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:01:28/00:01:32, flags: FPT Incoming interface: Ethernet0, RPF nbr 0.0.0.0 Outgoing interface list: Null

(*, 224.1.1.1), 00:01:28/00:01:32, RP 171.68.28.140, flags: SP Incoming interface: Serial0, RPF nbr 171.68.28.191, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:01:28/00:01:32, flags: FPT Incoming interface: Ethernet0, RPF nbr 0.0.0.0 Outgoing interface list: Null

State in “rtr-a” after Registering(without receivers on Shared Tree)

RP

Source 171.68.37.121

(171.68.37.121, 224.1.1.1) Mcast Packets

PIM SM RegisteringSource Registers First

PIM SM RegisteringSource Registers First

rtr-cS3

S0S1S0S0E0

S1rtr-a rtr-b

Page 89: Connecting to the IP Multicast World

89

rtr-b>show ip mroute 224.1.1.1

Group 224.1.1.1 not found.

rtr-b>show ip mroute 224.1.1.1

Group 224.1.1.1 not found.

State in “rtr-b” after “rtr-a” Registers(without receivers on Shared Tree)

RP

Source 171.68.37.121

(171.68.37.121, 224.1.1.1) Mcast Packets

rtr-c

PIM SM RegisteringSource Registers First

PIM SM RegisteringSource Registers First

rtr-cS3

S0S1S0S0E0

S1rtr-a rtr-b

Page 90: Connecting to the IP Multicast World

90

State in “RP” after “rtr-a” Registers(without receivers on Shared Tree)

(*, 224.1.1.1), 00:01:15/00:01:45, RP 171.68.28.140, flags: S Incoming interface: Null, RPF nbr 0.0.0.0, Outgoing interface list: Null

(171.68.37.121, 224.1.1.1), 00:01:15/00:01:45, flags: P Incoming interface: Serial3, RPF nbr 171.68.28.139, Outgoing interface list: Null

(*, 224.1.1.1), 00:01:15/00:01:45, RP 171.68.28.140, flags: S Incoming interface: Null, RPF nbr 0.0.0.0, Outgoing interface list: Null

(171.68.37.121, 224.1.1.1), 00:01:15/00:01:45, flags: P Incoming interface: Serial3, RPF nbr 171.68.28.139, Outgoing interface list: Null

RP

Source 171.68.37.121

(171.68.37.121, 224.1.1.1) Mcast Packets

171.68.28.139

PIM SM RegisteringSource Registers First

PIM SM RegisteringSource Registers First

rtr-cS3

S0S1S0S0E0

S1rtr-a rtr-b

Page 91: Connecting to the IP Multicast World

91

rtr-cS3

S0S1S0S0E0

S1

RP

• RP (“rtr-c”) receives (*, G) Join from a receiver on Shared Tree. 66

(*, G) Join 66

Source 171.68.37.121

(171.68.37.121, 224.1.1.1) Mcast Packets

Receivers begin joining the Shared Tree

PIM SM RegisteringSource Registers First

PIM SM RegisteringSource Registers First

rtr-a rtr-b

Page 92: Connecting to the IP Multicast World

92

“RP” processes (*,G) Join(Adds Serial1 to Outgoing Interface Lists)

(*, 224.1.1.1), 00:09:21/00:02:38, RP 171.68.28.140, flags: S Incoming interface: Null, RPF nbr 0.0.0.0, Outgoing interface list:

(171.68.37.121/32, 224.1.1.1, 00:01:15/00:02:46, flags: T Incoming interface: Serial3, RPF nbr 171.68.28.139, Outgoing interface list:

RP

Source 171.68.37.121

(171.68.37.121, 224.1.1.1) Mcast Packets

PIM SM RegisteringSource Registers First

PIM SM RegisteringSource Registers First

rtr-cS3

S0S1S0S0E0

S1

Serial1, Forward/Sparse, 00:00:14/00:02:46

Serial1, Forward/Sparse, 00:00:14/00:02:46

Join 77

• RP sends (S,G) Joins for all known Sources in Group.77

rtr-a rtr-b

Page 93: Connecting to the IP Multicast World

93

“rtr-b” processes Join, creates (S, G) state(After automatically creating the (*, G) entry)

(*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: SP Incoming interface: Serial1, RPF nbr 171.68.28.140, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: Incoming interface: Serial0, RPF nbr 171.68.28.190 Outgoing interface list: Serial1, Forward/Sparse, 00:04:28/00:01:32

(*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: SP Incoming interface: Serial1, RPF nbr 171.68.28.140, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: Incoming interface: Serial0, RPF nbr 171.68.28.190 Outgoing interface list: Serial1, Forward/Sparse, 00:04:28/00:01:32

RP

Source 171.68.37.121

(171.68.37.121, 224.1.1.1) Mcast Packets

171.68.28.190

• “rtr-b” sends (S,G) Join toward Source to continue building SPT.88

Join S088

rtr-cS3S1S0S0E0

• RP sends (S,G) Joins for all known Sources in Group.77

PIM SM RegisteringSource Registers First

PIM SM RegisteringSource Registers First

S0 S1

Join 77

rtr-a rtr-b

Page 94: Connecting to the IP Multicast World

94

(*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: SP Incoming interface: Serial0, RPF nbr 171.68.28.191, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: FT Incoming interface: Ethernet0, RPF nbr 0.0.0.0, Registering Outgoing interface list:

(*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: SP Incoming interface: Serial0, RPF nbr 171.68.28.191, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: FT Incoming interface: Ethernet0, RPF nbr 0.0.0.0, Registering Outgoing interface list:

“rtr-a” processes the (S, G) Join; adds Serial0 to OIL

Serial0, Forward/Sparse, 00:04:28/00:01:32

RP

Source 171.68.37.121

(171.68.37.121, 224.1.1.1) Mcast Packets

PIM SM RegisteringSource Registers First

PIM SM RegisteringSource Registers First

rtr-cS3

S0S1S0S0E0

S1

99

• RP begins receiving (S,G) traffic down SPT.99

1010 (*, 224.1.1.1)Mcast Traffic

1010• RP forwards (S,G) traffic down Shared Tree to receivers.1010

rtr-a rtr-b

Page 95: Connecting to the IP Multicast World

95

(*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: SP Incoming interface: Serial1, RPF nbr 171.68.28.140, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: T Incoming interface: Serial0, RPF nbr 171.68.28.190 Outgoing interface list: Serial1, Forward/Sparse, 00:04:28/00:01:32

(*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: SP Incoming interface: Serial1, RPF nbr 171.68.28.140, Outgoing interface list: Null

(171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: T Incoming interface: Serial0, RPF nbr 171.68.28.190 Outgoing interface list: Serial1, Forward/Sparse, 00:04:28/00:01:32

Final state in “rtr-b” after Receivers Join

RP

Source 171.68.37.121

(171.68.37.121, 224.1.1.1) Mcast Packets

(*, 224.1.1.1)Mcast Traffic

171.68.28.190

PIM SM RegisteringSource Registers First

PIM SM RegisteringSource Registers First

rtr-cS3

S0S1S0S0E0

S1rtr-a rtr-b

Page 96: Connecting to the IP Multicast World

96

Final state in “RP” after Receivers Join

(*, 224.1.1.1), 00:09:21/00:02:38, RP 171.68.28.140, flags: S Incoming interface: Null, RPF nbr 0.0.0.0, Outgoing interface list: Serial1, Forward/Sparse, 00:03:14/00:02:46

(171.68.37.121/32, 224.1.1.1, 00:01:15/00:02:46, flags: T Incoming interface: Serial3, RPF nbr 171.68.28.139, Outgoing interface list: Serial1, Forward/Sparse, 00:00:49/00:02:11

RP

Source 171.68.37.121

(171.68.37.121, 224.1.1.1) Mcast Packets

(*, 224.1.1.1)Mcast Traffic

171.68.28.139

PIM SM RegisteringSource Registers First

PIM SM RegisteringSource Registers First

rtr-cS3

S0S1S0S0E0

S1rtr-a rtr-b

Page 97: Connecting to the IP Multicast World

97

PIM SM SPT-SwitchoverPIM SM SPT-Switchover

• SPT Thresholds may be set for any Group– Access Lists may be used to specify which Groups

– Default Threshold = 0kbps (I.e. immediately join SPT)

– Threshold = “infinity” means “never join SPT”.

• Threshold triggers Join of Source Tree– Sends an (S,G) Join up SPT for next “S” in “G” packet

received.

• Pros– Reduces Network Latency

• Cons– More (S,G) state must be stored in the routers.

Page 98: Connecting to the IP Multicast World

98

Once each second– Compute new (*, G) traffic rate– If threshold exceeded, set “J” flag in (*, G)

For each (Si , G) packet received:

– If “J” flag set in (*, G)• Join SPT for (Si , G)

• Mark (Si , G) entry with “J” flag

• Clear “J” flag in (*,G)

Once each second– Compute new (*, G) traffic rate– If threshold exceeded, set “J” flag in (*, G)

For each (Si , G) packet received:

– If “J” flag set in (*, G)• Join SPT for (Si , G)

• Mark (Si , G) entry with “J” flag

• Clear “J” flag in (*,G)

SPT-Switchover Mechanism

PIM SM SPT-SwitchoverPIM SM SPT-Switchover

Page 99: Connecting to the IP Multicast World

99

State in “rtr-c” before switch

(*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: S Incoming interface: Serial0, RPF nbr 10.1.5.1, Outgoing interface list: Serial1, Forward/Sparse, 00:01:43/00:02:11 Serial2, Forward/Sparse, 00:00:32/00:02:28

E0S0

rtr-a

rtr-b

S1

E0E1

Rcvr A

10.1.2.2

10.1.2.110.1.4.2

S110.1.4.1

rtr-c

To Source “Si”To RP (10.1.5.1)

S0

E0

Rcvr B

rtr-d

S2

S0

PIM SM SPT-SwitchoverPIM SM SPT-Switchover

(Si, G) Traffic FlowShared (RPT) Tree

SPT Tree

Page 100: Connecting to the IP Multicast World

100

State in “rtr-d” before switch

(*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: SC Incoming interface: Serial0, RPF nbr 10.1.4.8, Outgoing interface list: Ethernet0, Forward/Sparse, 00:01:43/00:02:11

E0S0

rtr-a

rtr-b

S1

E0E1

Rcvr A

10.1.2.2

10.1.2.110.1.4.2

S110.1.4.1

rtr-c

To Source “Si”To RP (10.1.5.1)

S0

E0

Rcvr B

rtr-d

S2

S0

PIM SM SPT-SwitchoverPIM SM SPT-Switchover

(Si, G) Traffic FlowShared (RPT) Tree

SPT Tree

Page 101: Connecting to the IP Multicast World

101

(*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: S Incoming interface: Serial0, RPF nbr 10.1.4.1, Outgoing interface list: Ethernet0, Forward/Sparse, 00:01:43/00:02:11

State in “rtr-a” before switch

E0S0

rtr-a

rtr-b

S1

E0E1

Rcvr A

10.1.2.2

10.1.2.110.1.4.2

S110.1.4.1

rtr-c

To Source “Si”To RP (10.1.5.1)

S0

E0

Rcvr B

rtr-d

S2

S0

PIM SM SPT-SwitchoverPIM SM SPT-Switchover

(Si, G) Traffic FlowShared (RPT) Tree

SPT Tree

Page 102: Connecting to the IP Multicast World

102

State in “rtr-b” before switch

(*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: SC Incoming interface: Ethernet0, RPF nbr 10.1.2.1, Outgoing interface list: Ethernet1, Forward/Sparse, 00:01:43/00:02:11

E0S0

rtr-a

rtr-b

S1

E0E1

Rcvr A

10.1.2.2

10.1.2.110.1.4.2

S110.1.4.1

rtr-c

To Source “Si”To RP (10.1.5.1)

S0

E0

Rcvr B

rtr-d

S2

S0

PIM SM SPT-SwitchoverPIM SM SPT-Switchover

(Si, G) Traffic FlowShared (RPT) Tree

SPT Tree

Page 103: Connecting to the IP Multicast World

103

(*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: SC Incoming interface: Ethernet0, RPF nbr 10.1.2.1, Outgoing interface list: Ethernet1, Forward/Sparse, 00:01:43/00:02:11

Group “G” rate exceeds SPT Threshold at “rtr-b”;11

Set J Flag in (*, G) and wait for next (Si,G) packet.22

22

PIM SM SPT-SwitchoverPIM SM SPT-Switchover

J

E0S0

rtr-a

rtr-b

S1

E0E1

Rcvr A

10.1.2.2

10.1.2.110.1.4.2

S110.1.4.1

rtr-c

To Source “Si”To RP (10.1.5.1)

S0

E0

Rcvr B

rtr-d

S2

S0

(Si, G) Traffic FlowShared (RPT) Tree

SPT Tree

Group “G” rate > Threshold11

Page 104: Connecting to the IP Multicast World

104

(*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: SC Incoming interface: Ethernet0, RPF nbr 10.1.2.1, Outgoing interface list: Ethernet1, Forward/Sparse, 00:01:43/00:02:11

J

PIM SM SPT-SwitchoverPIM SM SPT-Switchover

(Si,G) packet arrives down Shared tree.33

Clear J Flag in the (*,G) & create (Si,G) state.44

44

33

E0S0

rtr-a

rtr-b

S1

E0E1

Rcvr A

10.1.2.2

10.1.2.110.1.4.2

S110.1.4.1

rtr-c

To Source “Si”To RP (10.1.5.1)

S0

E0

Rcvr B

rtr-d

S2

S0

(Si, G) Traffic FlowShared (RPT) Tree

SPT Tree

Page 105: Connecting to the IP Multicast World

105

New State in “rtr-b”

(*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: SC Incoming interface: Ethernet0, RPF nbr 10.1.2.1, Outgoing interface list: Ethernet1, Forward/Sparse, 00:01:43/00:02:11

(171.68.37.121/32, 224.1.1.1), 00:13:28/00:02:53, flags: CJT Incoming interface: Ethernet0, RPF nbr 10.1.2.1 Outgoing interface list: Ethernet1, Forward/Sparse, 00:13:28/00:02:53

PIM SM SPT-SwitchoverPIM SM SPT-Switchover

E0S0

rtr-a

rtr-b

S1

E0E1

Rcvr A

10.1.2.2

10.1.2.110.1.4.2

S110.1.4.1

rtr-c

To Source “Si”To RP (10.1.5.1)

S0

E0

Rcvr B

rtr-d

S2

S0

(Si, G) Traffic FlowShared (RPT) Tree

SPT Tree

J Flag indicates(S, G) created by

exceeding theSPT-threshold

CJT

Page 106: Connecting to the IP Multicast World

106

PIM SM SPT-SwitchoverPIM SM SPT-Switchover

55Send (Si,G) Join towards Si .

E0S0

rtr-a

rtr-b

S1

E0E1

Rcvr A

10.1.2.2

10.1.2.110.1.4.2

S110.1.4.1

rtr-c

To Source “Si”To RP (10.1.5.1)

S0

E0

Rcvr B

rtr-d

S2

S0

(Si, G) Traffic FlowShared (RPT) Tree

SPT Tree

(Si,G) Join55

Page 107: Connecting to the IP Multicast World

107

(Si, G) Traffic FlowShared (RPT) Tree

SPT Tree

(*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: S Incoming interface: Serial0, RPF nbr 10.1.4.1, Outgoing interface list: Ethernet0, Forward/Sparse, 00:01:43/00:02:11

(171.68.37.121/32, 224.1.1.1), 00:13:28/00:02:53, flags: T Incoming interface: Serial1, RPF nbr 10.1.9.2 Outgoing interface list: Ethernet0, Forward/Sparse, 00:13:25/00:02:30

New state in “rtr-a”

PIM SM SPT-SwitchoverPIM SM SPT-Switchover

E0S0

rtr-a

rtr-b

S1

E0E1

Rcvr A

10.1.2.2

10.1.2.110.1.4.2

S110.1.4.1

rtr-c

To Source “Si”To RP (10.1.5.1)

S0

E0

Rcvr B

rtr-d

S2

S0

Page 108: Connecting to the IP Multicast World

108

PIM SM SPT-SwitchoverPIM SM SPT-Switchover

“rtr-a” forwards (Si,G) Join toward Si.66

(Si,G) Join66

SPT & RPT diverge, triggering (Si,G)RP-bit Prunes toward RP.77

(Si,G)RP-bit Prune77

E0S0

rtr-a

rtr-b

S1

E0E1

Rcvr A

10.1.2.2

10.1.2.110.1.4.2

S110.1.4.1

rtr-c

To Source “Si”To RP (10.1.5.1)

S0

E0

Rcvr B

rtr-d

S2

S0

(Si, G) Traffic FlowShared (RPT) Tree

SPT Tree

Page 109: Connecting to the IP Multicast World

109

PIM SM SPT-SwitchoverPIM SM SPT-Switchover

(Si, G) traffic begins flowing down SPT tree.88

(Si,G) Traffic88

E0S0

rtr-a

rtr-b

S1

E0E1

Rcvr A

10.1.2.2

10.1.2.110.1.4.2

S110.1.4.1

rtr-c

To Source “Si”To RP (10.1.5.1)

S0

E0

Rcvr B

rtr-d

S2

S0

(Si, G) Traffic FlowShared (RPT) Tree

SPT Tree

Page 110: Connecting to the IP Multicast World

110

E0

Rcvr B

(Si, G) Traffic FlowShared (RPT) Tree

SPT Tree

(*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: S Incoming interface: Serial0, RPF nbr 10.1.5.1, Outgoing interface list: Serial1, Forward/Sparse, 00:01:43/00:02:11 Serial2, Forward/Sparse, 00:00:32/00:02:28

(171.68.37.121/32, 224.1.1.1), 00:13:28/00:02:53, flags: R Incoming interface: Serial0, RPF nbr 10.1.5.1 Outgoing interface list: Serial2, Forward/Sparse, 00:00:32/00:02:28

State in “rtr-c” after receiving the (Si, G) RP-bit Prune

PIM SM SPT-SwitchoverPIM SM SPT-Switchover

E0S0

rtr-a

rtr-b

S1

E0E1

Rcvr A

10.1.2.2

10.1.2.110.1.4.2

S110.1.4.1

rtr-c

To Source “Si”To RP (10.1.5.1)

S0

rtr-d

S2

S0

Page 111: Connecting to the IP Multicast World

111

PIM SM SPT-SwitchoverPIM SM SPT-Switchover

E0S0

rtr-a

rtr-b

S1

E0E1

Rcvr A

10.1.2.2

10.1.2.110.1.4.2

S110.1.4.1

rtr-c

To Source “Si”To RP (10.1.5.1)

S0

E0

Rcvr B

rtr-d

S2

S0

(Si, G) Traffic FlowShared (RPT) Tree

SPT Tree

• Unnecessary (Si, G) traffic is pruned from the Shared tree.99

99

Page 112: Connecting to the IP Multicast World

112

PIM SM SPT-SwitchoverPIM SM SPT-Switchover

E0S0

rtr-a

rtr-b

S1

E0E1

Rcvr A

10.1.2.2

10.1.2.110.1.4.2

S110.1.4.1

rtr-c

To Source “Si”To RP (10.1.5.1)

S0

E0

Rcvr B

rtr-d

S2

S0

(Si, G) Traffic FlowShared (RPT) Tree

SPT Tree

• Unnecessary (Si, G) traffic is pruned from the Shared tree.99

• (Si, G) traffic still flows via other branches of the Shared tree.1010

1010

Page 113: Connecting to the IP Multicast World

113

Shared Tree Switchback Mechanism

PIM SM SPT-SwitchoverPIM SM SPT-Switchover

• Once each second when the (S,G) state is older than 1 minute

– If “J” flag set in (Si , G) entry• Compute new (Si , G) traffic rate

• If rate < SPT-threshold– Rejoin (*, G) Tree for (Si , G) traffic

– Send (Si , G) prune up SPT toward Si

– Delete (Si , G) entry

• Once each second when the (S,G) state is older than 1 minute

– If “J” flag set in (Si , G) entry• Compute new (Si , G) traffic rate

• If rate < SPT-threshold– Rejoin (*, G) Tree for (Si , G) traffic

– Send (Si , G) prune up SPT toward Si

– Delete (Si , G) entry

Page 114: Connecting to the IP Multicast World

114

PIM-SM Protocol MechanicsPIM-SM Protocol Mechanics

• PIM SM State

• PIM SM Forwarding

• PIM SM Joining

• PIM SM Registering

• PIM SM SPT-Switchover

• PIM SM PruningPIM SM Pruning

Page 115: Connecting to the IP Multicast World

115

• IGMP group times out / last host sends Leave

• Interface removed from all (*,G) and (S,G) entries

– IF all interfaces in “oilist” for (*,G) are pruned; THEN send Prune up shared tree toward RP

– Any (S, G) state allowed to time-out

• Each router along path “prunes” interface

– IF all interfaces in “oilist” for (*,G) are pruned; THEN send Prune up shared tree toward RP

– Any (S, G) state allowed to time-out

PIM SM PruningPIM SM Pruning

Page 116: Connecting to the IP Multicast World

116

(*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: SC Incoming interface: Ethernet0, RPF nbr 10.1.2.1, Outgoing interface list: Ethernet1, Forward/Sparse, 00:01:43/00:02:11

State in “rtr-b” before Pruning

S0 rtr-a

rtr-b

S1

E0E1

Rcvr A

To RP (10.1.5.1)

10.1.2.2

10.1.2.110.1.4.2

E0(Si, G) Traffic FlowShared Tree

SPT Tree

PIM SM Pruning Shared Tree Case

PIM SM Pruning Shared Tree Case

Page 117: Connecting to the IP Multicast World

117

(*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: S Incoming interface: Serial0, RPF nbr 10.1.4.1, Outgoing interface list: Ethernet0, Forward/Sparse, 00:01:43/00:02:11

State in “rtr-a” before Pruning

S0 rtr-a

rtr-b

S1

E0E1

Rcvr A

To RP (10.1.5.1)

E0(Si, G) Traffic FlowShared Tree

SPT Tree

PIM SM Pruning Shared Tree Case

PIM SM Pruning Shared Tree Case

10.1.2.2

10.1.2.110.1.4.2

Page 118: Connecting to the IP Multicast World

118

“rtr-b” is a Leaf router. Last host “Rcvr A”, leaves group G. 11

S0 rtr-a

rtr-b

S1

E0E1

Rcvr A

To RP (10.1.5.1)

IGMP Leave11

“rtr-b” removes E1 from (*,G) and any (Si,G) “oilists”.22

22

XX“rtr-b” (*,G) “oilist” now empty; sends (*,G) Prune toward RP.33

(*,G) Prune33

E0(Si, G) Traffic FlowShared Tree

SPT Tree

PIM SM Pruning Shared Tree Case

PIM SM Pruning Shared Tree Case

10.1.2.2

10.1.2.110.1.4.2

Page 119: Connecting to the IP Multicast World

119

“rtr-a” receives Prune; removes E0 from (*,G) “oilist”. (After the 3 second Multi-access Network Prune delay.)

44

44

“rtr-a” (*,G) “oilist” now empty; send (*,G) Prune toward RP.55

(*,G) Prune55

Pruning continues back toward RP.66

PIM SM Pruning Shared Tree Case

PIM SM Pruning Shared Tree Case

S0 rtr-a

rtr-b

S1

E0E1

To RP (10.1.5.1)

E0(Si, G) Traffic FlowShared Tree

SPT Tree 10.1.2.2

10.1.2.110.1.4.2

XX

XX66

Page 120: Connecting to the IP Multicast World

120

(*, 224.1.1.1), 00:01:43/00:02:59, RP 10.1.5.1, flags: SC Incoming interface: Ethernet0, RPF nbr 10.1.2.1, Outgoing interface list: Ethernet1, Forward/Sparse, 00:01:43/00:02:11

(171.68.37.121/32, 224.1.1.1), 00:01:05/00:01:55, flags: CJT Incoming interface: Ethernet0, RPF nbr 10.1.2.1 Outgoing interface list: Ethernet1, Forward/Sparse, 00:01:05/00:02:55

(*, 224.1.1.1), 00:01:43/00:02:59, RP 10.1.5.1, flags: SC Incoming interface: Ethernet0, RPF nbr 10.1.2.1, Outgoing interface list: Ethernet1, Forward/Sparse, 00:01:43/00:02:11

(171.68.37.121/32, 224.1.1.1), 00:01:05/00:01:55, flags: CJT Incoming interface: Ethernet0, RPF nbr 10.1.2.1 Outgoing interface list: Ethernet1, Forward/Sparse, 00:01:05/00:02:55

State in “rtr-b” before Pruning

S0 rtr-a

rtr-b

S1

E0E1

Rcvr A

To RP (10.1.5.1)

E0

To Source “Si”

(Si, G) Traffic FlowShared Tree

SPT Tree 10.1.2.2

10.1.2.110.1.4.2

PIM SM PruningSource (SPT) Case

PIM SM PruningSource (SPT) Case

Page 121: Connecting to the IP Multicast World

121

(*, 224.1.1.1), 00:01:43/00:02:59, RP 10.1.5.1, flags: S Incoming interface: Serial0, RPF nbr 10.1.4.1, Outgoing interface list: Ethernet0, Forward/Sparse, 00:01:43/00:02:11

(171.68.37.121/32, 224.1.1.1), 00:01:05/00:01:55, flags: T Incoming interface: Serial1, RPF nbr 10.1.9.2 Outgoing interface list: Ethernet0, Forward/Sparse, 00:01:05/00:02:55

State in “rtr-a” before Pruning

PIM SM PruningSource (SPT) Case

PIM SM PruningSource (SPT) Case

S0 rtr-a

rtr-b

S1

E0E1

Rcvr A

To RP (10.1.5.1)

E0

To Source “Si”

(Si, G) Traffic FlowShared Tree

SPT Tree 10.1.2.2

10.1.2.110.1.4.2

Page 122: Connecting to the IP Multicast World

122

“rtr-b” is a Leaf router. Last host “Rcvr A”, leaves group G. 11

IGMP Leave11

“rtr-b” removes E1 from (*,G) and any (Si,G) “oilists”.22

22

“rtr-b” (*,G) “oilist” now empty; sends (*,G) Prune toward RP.33

(*,G) Prune33

PIM SM PruningSource (SPT) Case

PIM SM PruningSource (SPT) Case

S0 rtr-a

rtr-b

S1

E0E1

Rcvr A

To RP (10.1.5.1)

E0

To Source “Si”

(Si, G) Traffic FlowShared Tree

SPT Tree 10.1.2.2

10.1.2.110.1.4.2

XX

Page 123: Connecting to the IP Multicast World

123

“rtr-b” stops sending periodic (S, G) joins.44

“rtr-b” is a Leaf router. Last host “Rcvr A”, leaves group G. 11

“rtr-b” removes E1 from (*,G) and any (Si,G) “oilists”.22

“rtr-b” (*,G) “oilist” now empty; sends (*,G) Prune toward RP.33

PIM SM PruningSource (SPT) Case

PIM SM PruningSource (SPT) Case

S0 rtr-a

rtr-b

S1

E0E1

Rcvr A

To RP (10.1.5.1)

E0

To Source “Si”

(Si, G) Traffic FlowShared Tree

SPT Tree 10.1.2.2

10.1.2.110.1.4.2

XX

Periodic(S, G) Join

44

XX

Page 124: Connecting to the IP Multicast World

124

“rtr-a” receives Prune; removes E0 from (*,G) “oilist”. (After the 3 second Multiaccess Network Prune delay.)

55

55

“rtr-a” (*,G) “oilist” now empty; sends (*,G) Prune toward RP.66

(*,G) Prune66

PIM SM PruningSource (SPT) Case

PIM SM PruningSource (SPT) Case

S0 rtr-a

rtr-b

S1

E0E1

To RP (10.1.5.1)

E0

To Source “Si”

(Si, G) Traffic FlowShared Tree

SPT Tree 10.1.2.2

10.1.2.110.1.4.2

XX

Page 125: Connecting to the IP Multicast World

125

(*, 224.1.1.1), 00:02:32/00:02:59, RP 10.1.5.1, flags: SP Incoming interface: Ethernet0, RPF nbr 10.1.2.1, Outgoing interface list:

(171.68.37.121/32, 224.1.1.1), 00:01:56/00:00:53, flags: PT Incoming interface: Ethernet0, RPF nbr 10.1.2.1 Outgoing interface list:

State in “rtr-b” after Pruning

PIM SM PruningSource (SPT) Case

PIM SM PruningSource (SPT) Case

S0 rtr-a

rtr-b

S1

E0E1

To RP (10.1.5.1)

E0

To Source “Si”

(Si, G) Traffic FlowShared Tree

SPT Tree 10.1.2.2

10.1.2.110.1.4.2

Page 126: Connecting to the IP Multicast World

126

(*, 224.1.1.1), 00:02:32/00:02:59, RP 10.1.5.1, flags: SP Incoming interface: Serial0, RPF nbr 10.1.4.1, Outgoing interface list:

(171.68.37.121/32, 224.1.1.1), 00:01:56/00:00:53, flags: PT Incoming interface: Serial1, RPF nbr 10.1.9.2 Outgoing interface list:

(*, 224.1.1.1), 00:02:32/00:02:59, RP 10.1.5.1, flags: SP Incoming interface: Serial0, RPF nbr 10.1.4.1, Outgoing interface list:

(171.68.37.121/32, 224.1.1.1), 00:01:56/00:00:53, flags: PT Incoming interface: Serial1, RPF nbr 10.1.9.2 Outgoing interface list:

State in “rtr-a” after Pruning

PIM SM PruningSource (SPT) Case

PIM SM PruningSource (SPT) Case

S0 rtr-a

rtr-b

S1

E0E1

To RP (10.1.5.1)

E0

To Source “Si”

(Si, G) Traffic FlowShared Tree

SPT Tree 10.1.2.2

10.1.2.110.1.4.2

Page 127: Connecting to the IP Multicast World

127

Another (Si,G) data packet arrives via Serial1.77

‘rtr-a’ responds by sending an (Si,G) Prune toward source.88

(Si,G) Data 77

PIM SM PruningSource (SPT) Case

PIM SM PruningSource (SPT) Case

S0 rtr-a

rtr-b

S1

E0E1

To RP (10.1.5.1)

E0

To Source “Si”

(Si, G) Traffic FlowShared Tree

SPT Tree 10.1.2.2

10.1.2.110.1.4.2

(Si,G) Prune88

Page 128: Connecting to the IP Multicast World

128

99

(Si,G) traffic ceases flowing down SPT.99

PIM SM PruningSource (SPT) Case

PIM SM PruningSource (SPT) Case

S0 rtr-a

rtr-b

S1

E0E1

To RP (10.1.5.1)

E0

To Source “Si”

(Si, G) Traffic FlowShared Tree

SPT Tree 10.1.2.2

10.1.2.110.1.4.2

Another (Si,G) data packet arrives via Serial1.77

‘rtr-a’ responds by sending an (Si,G) Prune toward source.88

Page 129: Connecting to the IP Multicast World

129

Multicast ProtocolsMulticast Protocols

• Multicast Addressing Basics

• IGMP

• PIM

• MSDP

• MBGP

Page 130: Connecting to the IP Multicast World

130

MSDP—Multicast SourceDiscovery Protocol

MSDP—Multicast SourceDiscovery Protocol

• MSDP concepts

• MSDP design points

• MSDP example

• Cisco MSDP implementation

• MSDP configuration

• MSDP application—Anycast RP

Page 131: Connecting to the IP Multicast World

131

MSDP ConceptMSDP Concept

• Simple but elegant – Utilize inter-domain source trees

– Reduces problem to locating active sources

– RP or receiver last-hop can join inter-domain source tree

Page 132: Connecting to the IP Multicast World

132

MSDP ConceptsMSDP Concepts

• Works with PIM-SM only– RP’s knows about all sources in a domain

• Sources cause a “PIM Register” to the RP• Can tell RP’s in other domains of its sources

– Via MSDP SA (Source Active) messages

– RP’s know about receivers in a domain• Receivers cause a “(*, G) Join” to the RP• RP can join the source tree in the peer domain

– Via normal PIM (S, G) joins

Page 133: Connecting to the IP Multicast World

133

SA Message192.1.1.1, 224.2.2.2

Domain C

Domain B

Domain D

Domain E

SA

SA

SA SA

SA

SA

Source ActiveMessages

SA

Domain A

SA Message192.1.1.1, 224.2.2.2

r

Join (*, 224.2.2.2)

MSDP Peers

RP

RP

RP

RP

MSDP OverviewMSDP Overview

sRP

Register192.1.1.1, 224.2.2.2

MSDP Example

Page 134: Connecting to the IP Multicast World

134

Domain C

Domain B

Domain D

Domain E

Domain A

RP

RP

RP

RP

r

MSDP Peers

Join

(S

, 224

.2.2

.2)

RP

MSDP OverviewMSDP Overview

s

MSDP Example

Page 135: Connecting to the IP Multicast World

135

Domain C

Domain B

Domain D

Domain E

Domain A

RP

RP

RP

RP

r

MSDP Peers

Multicast Traffic RP

MSDP OverviewMSDP Overview

s

MSDP Example

Page 136: Connecting to the IP Multicast World

136

Domain C

Domain B

Domain D

Domain E

Domain A

RP

RP

RP

RP

r

MSDP Peers

Multicast Traffic RP

MSDP OverviewMSDP Overview

s

Join

(S, 224.2.2.2)

MSDP Example

Page 137: Connecting to the IP Multicast World

137

Domain C

Domain B

Domain D

Domain E

Domain A

RP

RP

RP

RP

r

MSDP Peers

Multicast Traffic RP

MSDP OverviewMSDP Overview

s

MSDP Example

Page 138: Connecting to the IP Multicast World

138

MSDP Design PointsMSDP Design Points

• MSDP peers talk via TCP connections

• Source Active (SA) messages– Peer-RPF forwarded to prevent loops

• RPF check on AS-PATH back to the peer RP– other rules from draft apply

• If successful, flood SA message to other peers• Stub sites can be configured to accept all SA messages

(similar to static default for routing)– Since they have only one exit (e.g., default peer)

– MSDP speaker may cache SA messages• Reduces join latency

Page 139: Connecting to the IP Multicast World

139

MSDP PeersMSDP Peers

• MSDP establishes a neighbor relationship between MSDP peers– Peers connect using TCP port 639

– Peers send keepalives every 60 secs (fixed)

– Peer connection reset after 75 seconds if no MSDP packets or keepalives are received

• MSDP peers must run BGP!– May be an MBGP peer, a BGP peer or both

– Exception: BGP is unnecessary when peering with only a single MSDP peer.

Page 140: Connecting to the IP Multicast World

140

MSDP SA MessagesMSDP SA Messages

• MSDP SA Message Contents– One or more messages (in TLV format)

• Keepalives• Source Active (SA) Messages• Source Active Request (SA-Req) Messages• Source Active Response (SA-Resp) Message

– Source Active (SA) Messages• Used to advertise active Sources in a domain• Can also carry initial multicast packet from source

– Hack for Bursty Sources (ala SDR)• SA Message Contents:

– IP Address of Originator (usually an RP)– Number of (S, G)’s pairs being advertised– List of active (S, G)’s in the domain– Encapsulated Multicast packet

Page 141: Connecting to the IP Multicast World

141

MSDP SA MessagesMSDP SA Messages

• MSDP Message Contents (cont.)– SA Request (SA-Req) Messages

• Used to request a list of active sources for a group– Sent to an MSDP SA Cache Server– Reduces Join Latency to active sources

• SA Request Messages contain:– Requested Group Address

– SA Response (SA-Resp) Messages• Sent in response to an SA Request message• SA Response Messages contain:

– IP Address of Originator (usually an RP)– Number of (S, G)’s pairs being advertised– List of active (S, G)’s in the domain

– Keepalive messages• Used to keep MSDP peer connection up

Page 142: Connecting to the IP Multicast World

142

Receiving SA MessagesReceiving SA Messages

• Skip RPF Check and process SA if:– Sending MSDP peer = only MSDP peer

(i.e. the ‘default-peer’ or only ‘msdp-peer’ configured.)

– Sending MSDP peer = Mesh-Group peer

• RPF Check the received SA message.– Lookup best BGP path to RP in SA message

• Search MBGP RIB first then BGP RIB– If path to RP not found, RPF Check Fails; ignore SA message

– Sending MSDP Peer = BGP peer?• Yes: Is best path to RP via this BGP peer?

– If yes, RPF Check Succeeds; process SA message• No: Is next AS in best path to RP = AS of MSDP peer?

– If yes, RPF Check Succeeds; process SA message

Page 143: Connecting to the IP Multicast World

143

Receiving SA MessagesReceiving SA Messages

• Detailed RPF Check rules– Case 1: Sending MSDP Peer = iBGP peer

• Is best path to RP via this BGP peer?– Translation: Is the address of the iBGP peer that advertised

the best path to the RP = address of the sending MSDP peer?

– Case 2: Sending MSDP Peer = eBGP peer• Is best path to RP via this BGP peer?

– Translation: Is the AS of eBGP peer = next AS in the best path to the RP?

– Case 3: Sending MSDP Peer != BGP peer• Is the next AS in best path to RP = AS of the sending

MSDP peer?– Translation: None needed.

Page 144: Connecting to the IP Multicast World

144

MSDP/iMBGP mesh-peering

MSDP SA

AS1

A

3.1

4.2

4.12.1

ip pim rp-address 172.16.0.2

BGP Table router B

Network Next Hop Path*> 172.16.0.2/32 172.16.3.1 i

MSDP Peers router B

MSDP Peer AS State 172.16.3.1 1 UP 172.16.4.1 1 UP

RPF Success!

Who is the iBGP peer adverting this route,in our example 172.16.3.1

Is the MSDP == BGP peer

RPF rule when MSDP == internal (m)BGP peer

Source

B

CRP

B

RPF Check Example

Page 145: Connecting to the IP Multicast World

145

AS1

MSDP/iMBGP mesh-peering

MSDP SA

BGP Table router B

Network Next Hop Path*> 172.16.0.2/32 172.16.3.1 i

3.1

4.2

4.12.1

ip pim rp-address 172.16.0.2

MSDP Peers router B

MSDP Peer AS State 172.16.3.1 1 UP 172.16.4.1 1 UP

Who is the iBGP peer adverting this route,In our example 172.16.3.1

Is the MSDP == BGP peer

RPF rule when MSDP == internal (m)BGP peer

RPF Failure!Source

A

B

CRP

B

RPF Check Example

Page 146: Connecting to the IP Multicast World

146

RPF Check ExampleRPF Check Example

AS1

AS 2

AS3

MSDP/eMBGP mesh-peering

MSDP SA

BGP Table

Network Next Hop Path*> 172.16.0.2/32 172.16.3.1 1 i 172.16.0.2/32 172.16.4.1 3 1 i

3.1

4.2

4.12.1

ip pim rp-address 172.16.0.2

MSDP Peers router B

MSDP Peer AS State 172.16.3.1 1 UP 172.16.4.1 3 UP

RPF rule when MSDP == external (m)BGP peer

Who is the BGP peer adverting this route

BGP Neighbours router B

Neighbor AS Up/Down 172.16.3.1 1 06:06:08 172.16.4.1 3 06:09:06

Source RPF Success!Is the MSDP AS == Last AS in RP route

A

B

CRP

B

Page 147: Connecting to the IP Multicast World

147

RPF Check ExampleRPF Check Example

AS1

AS 2

AS3

MSDP/eMBGP mesh-peering

MSDP SA

BGP Table

Network Next Hop Path*> 172.16.0.2/32 172.16.3.1 1 i 172.16.0.2/32 172.16.4.1 3 1 i

3.1

4.2

4.12.1

ip pim rp-address 172.16.0.2

MSDP Peers router B

MSDP Peer AS State 172.16.3.1 1 UP 172.16.4.1 3 UP

RPF rule when MSDP == external (m)BGP peer

Who is the BGP peer adverting this route

BGP Neighbours router B

Neighbor AS Up/Down 172.16.3.1 1 06:06:08 172.16.4.1 3 06:09:06

Source RPF Failure!Is the MSDP AS == Last AS in RP route

A

B

CRP

B

Page 148: Connecting to the IP Multicast World

148

RPF Check ExampleRPF Check Example

MSDP/eMBGP mesh-peering

MSDP SA

BGP Table router B

Network Next Hop Path*> 172.16.0.2/32 172.16.3.1 1 i 172.16.0.2/32 172.16.4.1 3 1 I*> 172.16.4.0/24 172.16.4.1 3 i*> 172.16.3.0/24 172.16.3.1 1 i

MSDP Peers router B

MSDP Peer AS State 172.16.3.1 1 UP 172.16.4.1 3 UP

RPF rule when MSDP != (m)BGP peer

AS1

AS 2

AS3

3.1

4.2

4.12.1

ip pim rp-address 172.16.0.2 Source RPF Success!Is the MSDP AS == Last AS in RP route

A

B

CRP

B

Page 149: Connecting to the IP Multicast World

149

RPF Check ExampleRPF Check Example

MSDP/eMBGP mesh-peering

MSDP SA

BGP Table router B

Network Next Hop Path*> 172.16.0.2/32 172.16.3.1 1 i 172.16.0.2/32 172.16.4.1 3 1 I*> 172.16.4.0/24 172.16.4.1 3 i*> 172.16.3.0/24 172.16.3.1 1 i

MSDP Peers router B

MSDP Peer AS State 172.16.3.1 1 UP 172.16.4.1 3 UP

RPF rule when MSDP != (m)BGP peer

AS1

AS 2

AS3

RP

3.1

4.2

4.12.1

ip pim rp-address 172.16.0.2 Source RPF Failure!

Is the MSDP AS == Last AS in RP route

A

B

C

B

Page 150: Connecting to the IP Multicast World

150

Cisco MSDP ImplementationCisco MSDP Implementation

• Cisco implementation current with ID:– draft-ietf-msdp-spec-02.txt

• Multiple peer support– Peer with BGP, MBGP, or static peers

• SA caching (off by default)

• Sending and receiving SA-requests

• Sending and receiving SA-responses

Page 151: Connecting to the IP Multicast World

151

Cisco MSDP ImplementationCisco MSDP Implementation

• SA input and output filtering

• SA-request input filtering

• Default peer support– So a tail site can MSDP with a backbone provider without

requiring the two to BGP peer

• Triggered join support when creating an (S,G) learned by MSDP

• Mesh groups– Reduces RPF-flooding of SA messages between fully

meshed MSDP peers

Page 152: Connecting to the IP Multicast World

152

MSDP ConfigurationMSDP Configuration

• Configure peersip msdp peer <ip-address> [connect-source <i/f>]

• Configure default peerip msdp default-peer <ip-address> [prefix-list acl]

• SA cachingip msdp cache-sa-state [list <acl>]

• Mesh groupsip msdp mesh-group <name> <ip-address>

Page 153: Connecting to the IP Multicast World

153

MSDP ConfigurationMSDP Configuration

• Filtering– Can filter SA in/out, groups, with acls or route-maps

• TTL Scopingip msdp ttl-threshold <ip-address> <ttl>

• For more configuration commands see:ftp://ftpeng.cisco.com/ipmulticast/msdp-commands

Page 154: Connecting to the IP Multicast World

154

• Use existing (unicast) operation model

MBGP (routing)

• Need interdomain source discovery

MSDP (source discovery)

• Want an explicit join protocol for efficiencyPIM-SM (forwarding)

ISP Requirements to Deploy NowISP Requirements to Deploy Now

Page 155: Connecting to the IP Multicast World

155

MSDP Application—Anycast RPMSDP Application—Anycast RP

• draft-ietf-mboned-anycast-rp-05.txt

• Within a domain, deploy more than one RP for the same group range

• Give each RP the same IP address assignment

• Sources and receivers use closest RP

• May be used intra-domain (enterprise) to provide redundancy and RP load sharing

Page 156: Connecting to the IP Multicast World

156

MSDP Application—Anycast RPMSDP Application—Anycast RP

• Sources from one RP are known to other RPs using MSDP

• When an RP goes down, sources and receivers are taken to new RP via unicast routing– Fast convergence

Page 157: Connecting to the IP Multicast World

157

RP1RP110.0.0.110.0.0.1

RP210.0.0.1

MSDPMSDP

RecRecRecRec

Rec

Rec

SrcSrc

SrcSrc

XX

Anycast RP—ConvergenceAnycast RP—Convergence

Page 158: Connecting to the IP Multicast World

158

RP1RP1 RP210.0.0.110.0.0.1 10.0.0.1

Rec

RecRecRecRec

Rec

SrcSrc

Src

XX

Anycast RP—ConvergenceAnycast RP—Convergence

Page 159: Connecting to the IP Multicast World

159

Multicast ProtocolsMulticast Protocols

• Multicast Addressing Basics

• IGMP

• PIM

• MSDP

• MBGP

Page 160: Connecting to the IP Multicast World

160

MBGP—Multiprotocol BGPMBGP—Multiprotocol BGP

• MBGP overview

• MBGP capability negotiation

• MBGP NLRI exchange

Page 161: Connecting to the IP Multicast World

161

MBGP OverviewMBGP Overview

• MBGP: Multiprotocol BGP(aka multicast BGP in multicast networks)– Defined in RFC 2283 (extensions to BGP)

– Can carry different types of routes• Unicast• Multicast

– Both routes carried in same BGP session

– Does not propagate multicast state info

– Same path selection and validation rules• AS-Path, LocalPref, MED, …

Page 162: Connecting to the IP Multicast World

162

MBGP OverviewMBGP Overview

• New multiprotocol attributes– MP_REACH_NLRI

– MP_UNREACH_NLRI

• MP_REACH_NLRI and MP_UNREACH_NLRI– Address Family Information (AFI) = 1 (IPv4)

• Sub-AFI = 1 (NLRI is used for unicast)• Sub-AFI = 2 (NLRI is used for multicast

RPF check)• Sub-AFI = 3 (NLRI is used for both unicast and multicast RPF

check)

Page 163: Connecting to the IP Multicast World

163

MBGP OverviewMBGP Overview

• Separate BGP tables maintained– Unicast Routing Information Base (RIB)

– Multicast Routing Information Base (MRIB)

• Unicast RIB (U-RIB)– Contains unicast prefixes for unicast forwarding

– Populated with BGP unicast NLRI• AFI = 1, Sub-AFI = 1 or 3

• Multicast RIB (M-RIB)– Contains unicast prefixes for RPF checking

– Populated with BGP multicast NLRI• AFI = 1, Sub-AFI = 2 or 3

Page 164: Connecting to the IP Multicast World

164

MBGP OverviewMBGP Overview

• MBGP allows different unicast and multicast topologies and different policies– Same IP address may have different signification

• Unicast routing information• Multicast RPF information

– For same IPv4 address two different NLRI with different next-hops

– Can use existing or new BGP peering topology for multicast

Page 165: Connecting to the IP Multicast World

165

MBGP NLRI ExchangeMBGP NLRI Exchange

• BGP/MBGP configuration allows you to:– Define which NLRI type are exchanged

(unicast, multicast, both)

– Set NLRI type through route-maps (redistribution)

– Define policies through standard BGP attributes(for unicast and/or multicast NLRI)

• No redistribution allowed between MBGP and BGP tables– NLRI type can be set with set nlri route-map command

Page 166: Connecting to the IP Multicast World

166

MBGP NLRI ExchangeMBGP NLRI Exchange

• MRIB is populated by:– Receiving AFI/SAFI 1/2 MP_REACH_NLRI from

neighbors

– Configured/stored locally by:

network <foo> <foo-mask> [nlri multicast unicast]redistribute <unicast> route-map <map>aggregate-address <foo> <foo-mask> [nlri multicast unicast]neighbor <foo> default-originate [nlri multicast unicast]

• Note: Syntax changes in 12.07T/12.1 forward

Page 167: Connecting to the IP Multicast World

167

AS 321AS 123

BGP Session for Unicast and Multicast NLRI

Sender

192.168.100.0/24

192.192.25.0/24

Receiver

MBGP — NLRI InformationMBGP — NLRI Information

.1 .2

192.168.10.0/24 router bgp 321 neighbor 192.168.100.1 remote-as 123 nlri unicast multicastnlri unicast multicast network 192.192.25.0 255.255.255.0 nlri unicast multicastnlri unicast multicastno auto-summary

Congruent Topologies

Page 168: Connecting to the IP Multicast World

168

NLRI: 192.192.25/24 AS_PATH: 321MED:Next-Hop: 192.168.100.2...

Unicast Information

Multicast Information

MP_REACH_NLRI: 192.192.25/24AFI: 1, Sub-AFI: 2 (multicast) AS_PATH: 321MED:Next-Hop: 192.168.100.2...

Routing Update

MBGP — NLRI InformationMBGP — NLRI Information

Congruent TopologiesAS 321

AS 123BGP Session for Unicast and

Multicast NLRI

Sender

192.168.100.0/24

192.192.25.0/24

Receiver

.1 .2

192.168.10.0/24

Page 169: Connecting to the IP Multicast World

169

AS 321AS 123

192.192.25.0/24

Sender

192.168.100.0/24

192.168.200.0/24

Unicast Traffic.1

.1

.2

.2

router bgp 321 . . . network 192.192.25.0 nlri unicast multicast neighbor 192.168.100.1 remote-as 123 nlri unicast neighbor 192.168.200.1 remote-as 123 nlri multicast

Multicast Traffic

MBGP — NLRI InformationMBGP — NLRI Information

Incongruent Topologies

Page 170: Connecting to the IP Multicast World

170

MBGP — NLRI Information

NLRI: 192.192.25/24 AS_PATH: 321MED:Next-Hop: 192.168.100.2192.168.100.2

NLRI: 192.192.25/24 AS_PATH: 321MED:Next-Hop: 192.168.100.2192.168.100.2

Unicast Information

Routing Update

Incongruent Topologies

AS 321AS 123

192.192.25.0/24

Sender

192.168.100.0/24

192.168.200.0/24

Unicast Traffic.1

.1

.2

.2Multicast Traffic

Page 171: Connecting to the IP Multicast World

171

MBGP — NLRI Information

MP_REACH_NLRI: 192.192.25/24AFI: 1, Sub-AFI: 2 AS_PATH: 321MED:Next-Hop: 192.168.200.2192.168.200.2

MP_REACH_NLRI: 192.192.25/24AFI: 1, Sub-AFI: 2 AS_PATH: 321MED:Next-Hop: 192.168.200.2192.168.200.2

Multicast Information

Routing Update

Incongruent Topologies

AS 321AS 123

192.192.25.0/24

Sender

192.168.100.0/24

192.168.200.0/24

Unicast Traffic.1

.1

.2

.2Multicast Traffic

Page 172: Connecting to the IP Multicast World

172

MBGP — NLRI Information

Incongruent Topologies

AS 321AS 123

192.192.25.0/24

Sender

192.168.100.0/24

192.168.200.0/24

Unicast Traffic.1

.1

.2

.2Multicast Traffic

Network Next-Hop Path192.192.25.0/24 192.168.100.2 321

Network Next-Hop Path192.192.25.0/24 192.168.200.2 321

Unicast RIB

Multicast RIB

Page 173: Connecting to the IP Multicast World

173

Populating the MRIBPopulating the MRIB

• Just to restatenetwork <foo> <foo-mask> [nlri multicast unicast]redistribute <unicast> route-map <map>aggregate-address <foo> <foo-mask> [nlri multicast unicast]neighbor <foo> default-originate [nlri multicast unicast]

Page 174: Connecting to the IP Multicast World

174

MBGP—SummaryMBGP—Summary

• Solves part of inter-domain problem– Can exchange multicast routing information

– Uses standard BGP configuration knobs

– Permits separate unicast and multicast topologies if desired

• Still must use PIM to:– Build distribution trees

– Actually forward multicast traffic

– PIM-SM recommended• But there’s still a problem using PIM-SM here… (more on that

later)

Page 175: Connecting to the IP Multicast World

175

Midterm ExamMidterm Exam

– ...is used to propagate forwarding state?

PIM-SM - Protocol Independent Multicast-Sparse Mode

– ...maintains routing information for interdomain RPF checking?

MBGP - Multiprotocol Border Gateway Protocol

Which protocol...

– …exchanges active source information between RPs?

MSDP - Multicast Source Discovery Protocol

Page 176: Connecting to the IP Multicast World

176

AgendaAgenda

• What Is Multicast

• Multicast Protocols

• Multicast Configurations

• Troubleshooting

• Futures

• Useful Links

Page 177: Connecting to the IP Multicast World

177

Putting it all together..Putting it all together..

• PIM-SM, MBGP, MSDP

• Public multicast peering (MIX)

• Transit topology examples

• Address allocation– GLOP draft-ietf-mboned-static-allocation-00.txt

Page 178: Connecting to the IP Multicast World

178

ISP Requirements at the MIXISP Requirements at the MIX

• Current solution: MBGP + PIM-SM + MSDP– Environment

• ISPs run iMBGP and PIM-SM (internally)• ISPs multicast peer at a public interconnect

– Deployment • Border routers run eMBGP• The interfaces on interconnect run PIM-SM• RPs’ MSDP peering is fully meshed• All peers set a common distance for eMBGP

Page 179: Connecting to the IP Multicast World

179

ISP BPublic

InterconnectISP A

ISP C AS 10888

RPRP

RP RP

eMBGP

iMBGPiMBGP

iMBGPiMBGP

PIM-SM

PIM-SM PIM-SM

Peering Solution: MBGP + PIM-SM +MSDP

ISP Requirements at the MIXISP Requirements at the MIX

Redistribute old MBONEDVMRP routes into MBGP

Page 180: Connecting to the IP Multicast World

180

Multicast Transit Design ObjectivesMulticast Transit Design Objectives

• PIM Border Constraints– Confine registers within domain

– Confine local groups

– Confine RP announcements

– Control SA advertisements via MSDP

• Border RPF check– RPF check against unicast routes to multicast sources

• MSDP RPF check– RPF check toward RP in received SAs

Page 181: Connecting to the IP Multicast World

181

Recommended MSDP SA FilterRecommended MSDP SA Filter

! domain-local applicationsaccess-list 111 deny ip any host 224.0.2.2 ! access-list 111 deny ip any host 224.0.1.3 ! Rwhodaccess-list 111 deny ip any host 224.0.1.24 ! Microsoft-ds access-list 111 deny ip any host 224.0.1.22 ! SVRLOCaccess-list 111 deny ip any host 224.0.1.2 ! SGI-Dogfightaccess-list 111 deny ip any host 224.0.1.35 ! SVRLOC-DAaccess-list 111 deny ip any host 224.0.1.60 ! hp-device-disc! auto-rp groupsaccess-list 111 deny ip any host 224.0.1.39 access-list 111 deny ip any host 224.0.1.40! scoped groupsaccess-list 111 deny ip any 239.0.0.0 0.255.255.255! loopback, private addresses (RFC 1918)access-list 111 deny ip 10.0.0.0 0.255.255.255 anyaccess-list 111 deny ip 127.0.0.0 0.255.255.255 anyaccess-list 111 deny ip 172.16.0.0 0.15.255.255 anyaccess-list 111 deny ip 192.168.0.0 0.0.255.255 anyaccess-list 111 permit ip any any

ftp://ftp-eng.cisco.com/ipmulticast/msdp-sa-filter.txt

Page 182: Connecting to the IP Multicast World

182

Multicast Boundary FilterMulticast Boundary Filter

!deny auto-rp groupsaccess-list 1 deny 224.0.1.40access-list 1 deny 224.0.1.39!deny scoped groupsaccess-list 1 deny 239.0.0.0 0.255.255.255!permit the rest of 224/4access-list 1 permit 224.0.0.0 15.255.255.255

Minimum RecommendedMinimum Recommended

Page 183: Connecting to the IP Multicast World

183

192.168.100.0/24

Receiver

Tail-site Customer Transit AS109

RP

PIM Border Constraints

pos0/0 1.1.1.1 pos0/0 1.1.1.2

ip pim send-rp-announce Loopback0 scope 255ip pim send-rp-discovery Loopback0 scope 255

int pos0/0 ip pim sparse-dense-mode

int pos0/0 ip pim sparse-dense-mode

Single-Homed, ISP RP, Non-MBGPSingle-Homed, ISP RP, Non-MBGP

Page 184: Connecting to the IP Multicast World

184

Single-Homed, ISP RP, Non-MBGPSingle-Homed, ISP RP, Non-MBGP

Checking PIM Border (RP mapping)

192.168.100.0/24

Receiver

Tail-site Customer Transit AS109

RPpos0/0 1.1.1.1 pos0/0 1.1.1.2

tail-gw#show ip pim rp mappingPIM Group-to-RP Mappings

Group(s) 224.0.0.0/4 RP 3.3.3.7 (loopback.transit.net), v2v1 Info source: 1.1.1.2 (tail.transit.net), via Auto-RP Uptime: 21:57:41, expires: 00:02:08

Page 185: Connecting to the IP Multicast World

185

Single-Homed, ISP RP, Non-MBGPSingle-Homed, ISP RP, Non-MBGP

Checking PIM Border (RP mapping)

192.168.100.0/24

Receiver

Tail-site Customer Transit AS109

RPpos0/0 1.1.1.1 pos0/0 1.1.1.2

Transit-tail#show ip pim rp mappingPIM Group-to-RP MappingsThis system is an RP (Auto-RP)This system is an RP-mapping agent

Group(s) 224.0.0.0/4 RP 3.3.3.7 (loopback.transit.net), v2v1 Info source: 3.3.3.7 (loopback.transit.net), via Auto-RP Uptime: 22:08:47, expires: 00:02:14

Page 186: Connecting to the IP Multicast World

186

192.168.100.0/24

Receiver

Tail-site Customer Transit AS109

RP

Border RPF Check

pos0/0 1.1.1.1 pos0/0 1.1.1.2

ip route 192.168.100.0 255.255.255.0 1.1.1.1

router bgp 109 ... network 192.168.100.0 nlri unicast multicast

ip route 0.0.0.0 0.0.0.0 1.1.1.2

Single-Homed, ISP RP, Non-MBGPSingle-Homed, ISP RP, Non-MBGP

Page 187: Connecting to the IP Multicast World

187

192.168.100.0/24

Receiver

Tail-site Customer Transit AS109

RP

MSDP RPF Check

pos0/0 1.1.1.1 pos0/0 1.1.1.2

- no RP / no MSDP

Single-Homed, ISP RP, Non-MBGPSingle-Homed, ISP RP, Non-MBGP

- no downstream RP - no downstream MSDP peering

Page 188: Connecting to the IP Multicast World

188

192.168.100.0/24

Receiver

Tail-site Customer Transit AS109

RP

PIM Border Constraints

pos0/0 1.1.1.1 pos0/0 1.1.1.2

int pos0/0 ip pim sparse-mode ip pim bsr-border ip multicast boundary 1

ip msdp sa-filter out 1.1.1.2 111ip msdp sa-filter in 1.1.1.2 111

Single-Homed, Customer RP, Non-MBGPSingle-Homed, Customer RP, Non-MBGP

Note: Access-list 111 = Recommended SA Filter

Page 189: Connecting to the IP Multicast World

189

192.168.100.0/24

Receiver

Tail-site Customer Transit AS109

RP

PIM Border Constraints

pos0/0 1.1.1.1 pos0/0 1.1.1.2

Single-Homed, Customer RP, Non-MBGPSingle-Homed, Customer RP, Non-MBGP

int pos0/0 ip pim sparse-mode ip pim bsr-border ip multicast boundary 1

ip msdp sa-filter out 1.1.1.1 111ip msdp sa-filter in 1.1.1.1 111

Note: Access-list 111 = Recommended SA Filter

Page 190: Connecting to the IP Multicast World

190

192.168.100.0/24

Receiver

Tail-site Customer Transit AS109

RP

Border RPF Check

pos0/0 1.1.1.1 pos0/0 1.1.1.2

ip route 192.168.100.0 255.255.255.0 1.1.1.1

router bgp 109 ... network 192.168.100.0 nlri unicast multicast

ip route 0.0.0.0 0.0.0.0 1.1.1.2

Single-Homed, Customer RP, Non-MBGPSingle-Homed, Customer RP, Non-MBGP

Page 191: Connecting to the IP Multicast World

191

192.168.100.0/24

Receiver

Tail-site Customer Transit AS109

RP

MSDP RPF Check

pos0/0 1.1.1.1 pos0/0 1.1.1.2

ip msdp peer 1.1.1.1 connect-source pos0/0

ip msdp peer 1.1.1.2 connect-source pos0/0

Single-Homed, Customer RP, Non-MBGPSingle-Homed, Customer RP, Non-MBGP

Page 192: Connecting to the IP Multicast World

192

192.168.100.0/24

Receiver

Tail-site Customer Transit AS109

RP

PIM Border Constraints

pos0/0 1.1.1.1 pos0/0 1.1.1.2

int pos0/0 ip pim sparse-mode ip pim bsr-border ip multicast boundary 1

ip msdp sa-filter out 1.1.1.2 111ip msdp sa-filter in 1.1.1.2 111

Single-Homed, Customer RP, MBGPSingle-Homed, Customer RP, MBGP

Note: Access-list 111 = Recommended SA Filter

Page 193: Connecting to the IP Multicast World

193

192.168.100.0/24

Receiver

Tail-site Customer Transit AS109

RP

PIM Border Constraints

pos0/0 1.1.1.1 pos0/0 1.1.1.2

Single-Homed, Customer RP, MBGPSingle-Homed, Customer RP, MBGP

int pos0/0 ip pim sparse-mode ip pim bsr-border ip multicast boundary 1

ip msdp sa-filter out 1.1.1.1 111ip msdp sa-filter in 1.1.1.1 111

Note: Access-list 111 = Recommended SA Filter

Page 194: Connecting to the IP Multicast World

194

192.168.100.0/24

Receiver

Tail-site Customer Transit AS109

RP

Border RPF Check

pos0/0 1.1.1.1 pos0/0 1.1.1.2

Single-Homed, Customer RP, MBGPSingle-Homed, Customer RP, MBGP

router bgp 109 neighbor 1.1.1.1 remote-as 100 nlri unicast multicast neighbor 1.1.1.1 update-source pos 0/0

router bgp 100 network 192.168.100.0 nlri unicast multicast neighbor 1.1.1.2 remote-as 109 nlri unicast multicast neighbor 1.1.1.2 update-source pos0/0

Page 195: Connecting to the IP Multicast World

195

192.168.100.0/24

Receiver

Tail-site Customer Transit AS109

RP

MSDP RPF Check

pos0/0 1.1.1.1 pos0/0 1.1.1.2

ip msdp peer 1.1.1.1 connect-source pos0/0

ip msdp peer 1.1.1.2 connect-source pos0/0

Single-Homed, Customer RP, MBGPSingle-Homed, Customer RP, MBGP

Page 196: Connecting to the IP Multicast World

196

Which Mode—Sparse or DenseWhich Mode—Sparse or Dense

• Sparse mode– Must configure a Rendezvous Point (RP)

• Statically (on every Router)• Using Auto-RP (Routers learn RP automatically)• Using BSR (Routers learn RP automatically)

– Very efficient• Uses Explicit Join model• Traffic only flows to where it’s needed

– Separate control and data planes• Router state only created along flow paths• Deterministic topological behavior

– Scales better than dense mode• Works for bothboth sparsely or densely populated networks

Page 197: Connecting to the IP Multicast World

197

CONCLUSIONCONCLUSIONVirtually all production networks should

be configured to run in Sparse mode!

Which Mode—Sparse or DenseWhich Mode—Sparse or Dense

Page 198: Connecting to the IP Multicast World

198

RP PlacementRP Placement

• Q: “Where do I put the RP?”– A: “Generally speaking, it’s not critical”

• SPT’s are normally used by default– RP is a place for source and receivers to meet– Traffic does not normally flow through the RP– RP is therefore not a bottleneck

• Exception: SPT-Threshold = Infinity– Traffic stays on the shared tree– RP couldcould become a bottleneck

Page 199: Connecting to the IP Multicast World

199

Static RP’sStatic RP’s

• Hard-coded RP address– When used, must be configured on every router

– All routers must have the same RP address

– RP fail-over not possible• Exception: If Anycast RPs are used.

• Commandip pim rp-address <address> [group-list <acl>] [override]

– Optional group list specifies group range• Default: Range = 224.0.0.0/4 (Includes Auto-RP Groups!!!!)(Includes Auto-RP Groups!!!!)

– Override keyword “overrides” Auto-RP information• Default: Auto-RP learned info takes precedence

Page 200: Connecting to the IP Multicast World

200

Auto-RP OverviewAuto-RP Overview

• All routers automatically learn RP address– No configuration necessary except on:

• Candidate RPs• Mapping Agents

• Makes use of Multicast to distribute info– Two specially IANA assigned Groups used

• Cisco-Announce - 224.0.1.39• Cisco-Discovery - 224.0.1.40

– Typically Dense mode is used forward these groups

• Permits backup RP’s to be configured

• Can be used with Admin-Scoping

Page 201: Connecting to the IP Multicast World

201

Auto-RP FundamentalsAuto-RP Fundamentals

• Candidate RPs– Configured via global config command

ip pim send-rp-announce <intfc> scope <ttl> [group-list acl]

– Multicast RP-Announcement messages• Sent to Cisco-Announce (224.0.1.39) group• Sent every rp-announce-interval (default: 60 sec)

– RP-Announcements contain:• Group Range (default = 224.0.0.0/4)• Candidate’s RP address• Holdtime = 3 x <rp-announce-interval>

Page 202: Connecting to the IP Multicast World

202

Auto-RP FundamentalsAuto-RP Fundamentals

• Mapping agents– Configured via global config command

ip pim send-rp-discovery scope <ttl>

– Receive RP-Announcements• Select highest C-RP IP addr as RP for group range• Stored in Group-to-RP Mapping Cache with holdtimes

– Multicast RP-Discovery messages• Sent to Cisco-Discovery (224.0.1.40) group• Sent every 60 seconds or when changes detected

– RP-Discovery messages contain:• Contents of MA’s Group-to-RP Mapping Cache

Page 203: Connecting to the IP Multicast World

203

Auto-RP FundamentalsAuto-RP Fundamentals

• All Cisco routers– Join Cisco-Discovery (224.0.1.40) group

• Automatic • No configuration necessary

– Receive RP-Discovery messages• Stored in local Group-to-RP Mapping Cache• Information used to determine RP for group range

Page 204: Connecting to the IP Multicast World

204

Auto-RP—From 10,000 FeetAuto-RP—From 10,000 Feet

Announce Announce

Ann

ounc

eA

nnou

nce

Announce Announce

Ann

ounc

eA

nnou

nce

Announce

RP-Announcements multicast to theCisco Announce (224.0.1.39) group

AA

CC DDC-RP1.1.1.1

C-RP2.2.2.2

BB

MA MA

Page 205: Connecting to the IP Multicast World

205

CC DDC-RP1.1.1.1

C-RP2.2.2.2

Auto-RP—From 10,000 FeetAuto-RP—From 10,000 Feet

Discovery

Discovery

Dis

cove

ry

Dis

cove

ry

Discovery

Discovery

Dis

cove

ry

Dis

cove

ry

Discovery

RP-Discoveries multicast to theCisco Discovery (224.0.1.40) group

AA BB

MA MA

Page 206: Connecting to the IP Multicast World

206

BSR OverviewBSR Overview

• A single Bootstrap Router (BSR) is elected– Multiple Candidate BSR’s (C-BSR) can be configured

• Provides backup in case currently elected BSR fails

– C-RP’s send C-RP announcements to the BSR• C-RP announcements are sent via unicast

• BSR stores ALL C-RP announcements in the “RP-set”

– BSR periodically sends BSR messages to all routers• BSR Messages contain entire RP-set and IP address of BSR

• Messages are flooded hop-by-hop throughout the network away from the BSR

– All routers select the RP from the RP-set• All routers use the same selection algorithm; select same RP

• BSR cannot cannot be used with Admin-Scoping

Page 207: Connecting to the IP Multicast World

207

BSR FundamentalsBSR Fundamentals

• Candidate RPs– Configured via global config command

– ip pim rp-candidate <intfc> [group-list acl]

– Unicast PIMv2 C-RP messages to BSR• Learns IP address of BSR from BSR messages• Sent every rp-announce-interval (default: 60 sec)

– C-RP messages contain:• Group Range (default = 224.0.0.0/4)• Candidate’s RP address• Holdtime = 3 x <rp-announce-interval>

Page 208: Connecting to the IP Multicast World

208

BSR FundamentalsBSR Fundamentals

• Bootstrap router (BSR)– Receive C-RP messages

• Accepts and stores ALL C-RP messages• Stored in Group-to-RP Mapping Cache w/holdtimes

– Originates BSR messages• Multicast to All-PIM-Routers (224.0.0.13) group

– (Sent with a TTL = 1)• Sent out all interfaces. Propagate hop-by-hop• Sent every 60 seconds or when changes detected

– BSR messages contain:• Contents of BSR’s Group-to-RP Mapping Cache• IP Address of active BSR

Page 209: Connecting to the IP Multicast World

209

BSR FundamentalsBSR Fundamentals

• Candidate bootstrap router (C-BSR)– Configured via global config command

ip pim bsr-candidate <intfc> <hash-length> [priority <pri>]

– <intfc>» Determines IP address

– <hash-length> » Sets RP selection hash mask length

– <pri> » Sets the C-BSR priority (default = 0)

– C-BSR with highest priority elected BSR– C-BSR IP address used as tie-breaker

» (Highest IP address wins)– The active BSR may be preempted

» New router w/higher BSR priority forces new election

Page 210: Connecting to the IP Multicast World

210

BSR FundamentalsBSR Fundamentals

• All PIMv2 routers– Receive BSR messages

• Stored in local Group-to-RP Mapping Cache• Information used to determine active BSR address

– Selects RP using Hash algorithm• Selected from local Group-to-RP Mapping Cache• All routers select same RP using same algorithm• Permits RP-load balancing across group range

Page 211: Connecting to the IP Multicast World

211

PIMv2 Sparse Mode

PIMv2 Sparse Mode

C-RP C-RP

D

E

F

G

A

BSR—From 10,000 feetBSR—From 10,000 feet

BS

R M

sgs

BSR MsgsBSR Msgs

BS

R M

sgs

C-RP Advert

isemen

t

(unicast)

C-RP Advertisement

(unicast)

BSR Msgs Flooded Hop-by-Hop

B C

BSRBSR

Page 212: Connecting to the IP Multicast World

212

Auto-RP vs BSRAuto-RP vs BSR

• Auto-RP– Easy to configure

– Supports Admin. Scoped Zones

– Works in either PIMv1 or PIMv2 Cisco networks

– Cisco proprietary

• BSR– Easy to configure

– Does notnot support Admin. Scoped Zones

– Non-proprietary (PIMv2 networks only)

Page 213: Connecting to the IP Multicast World

213

Anycast RP—OverviewAnycast RP—Overview

• Uses single statically defined RP address– Two or more routers have same RP address

• RP address defined as a Loopback Interface.• Loopback address advertised as a Host route.

– Senders & Receivers Join/Register with closest RP• Closest RP determined from the unicast routing table.

• MSDP session(s) run between all RPs– Informs RPs of sources in other parts of network

– RPs join SPT to active sources as necessary

Page 214: Connecting to the IP Multicast World

214

RP1RP110.0.0.110.0.0.1

RP210.0.0.1

MSDPMSDP

RecRecRecRec

Rec

Rec

SrcSrc

SrcSrc

XX

Anycast RP—ConvergenceAnycast RP—Convergence

Page 215: Connecting to the IP Multicast World

215

RP1RP1 RP210.0.0.110.0.0.1 10.0.0.1

Rec

RecRecRecRec

Rec

SrcSrc

Src

XX

Anycast RP—ConvergenceAnycast RP—Convergence

Page 216: Connecting to the IP Multicast World

216

PIM Configuration StepsPIM Configuration Steps

• Enable Multicast Routing on every every router

• Configure every every interface for PIM• Use Sparse-Dense Mode (to support Auto-RP)

• Configure the RP (if using Sparse Mode)– Static RP addressing

• RP address must be configured on every router

– Using Auto-RP or BSR• Configure certain routers as Candidate RP(s)• All other routers automatically learn elected RP

Page 217: Connecting to the IP Multicast World

217

PIM Sparse Mode

PIM Sparse Mode

RP/Mapping AgentC D

A B

On every router: ip multicast-routingip pim accept-RP Auto-RP

On every interface: ip pim sparse-dense-mode

On routers B and C: ip pim send-rp-announce loopback0 scope <ttl>ip pim send-rp-discovery loopback0 scope <ttl>

RP/Mapping Agent

Fool-Proof Multicast ConfigurationFool-Proof Multicast Configuration

Page 218: Connecting to the IP Multicast World

218

We’ll just use the spare 56K line for the IP Multicast traffic and not the T1.

no ip pim dense-mode ip pim dense-mode

Classic Partial Multicast Cloud Mistake

T1 56K

src

rcvrNetworkEngineer

XX

RPF Failure!!!!!RPF Failure!!!!!

Page 219: Connecting to the IP Multicast World

219

JUST DO IT!JUST DO IT!Enable multicast on ALLALL interfaces in ALLALL routers in a given network. Failure to do

so will require complex (and typically unnecessary) Multicast Traffic Engineering.

Beginner’s Guide to IP MulticastBeginner’s Guide to IP Multicast

Page 220: Connecting to the IP Multicast World

220

AgendaAgenda

• What Is Multicast

• Multicast Protocols

• Multicast Configurations

• Troubleshooting

• Futures

• Useful Links

Page 221: Connecting to the IP Multicast World

221

Debugging and TroubleshootingDebugging and Troubleshooting

• Monitoring Tools– sdr_monitor

• Kamil Sarac and Kevin Almeroth - UCSB• http://www.cs.ucsb.edu/~ksarac/sdr-desc.html• Several sites on Abilene and vBNS

– mlisten• http://www.cc.gatech.edu/computing/Telecomm/mbone/

– Abilene Core Node Router Proxy• http://hydra.uits.iu.edu/~abilene/proxy/

Page 222: Connecting to the IP Multicast World

222

Debugging and TroubleshootingDebugging and Troubleshooting

• Multicast Looking Glass– Written by NLANR Engineering Services

– Based on DIGEX Looking Glass

– Queries Pittsburgh GigaPoP multicast border router for multicast information

– http://www.ncne.nlanr.net/tools/mlg2.html

Page 223: Connecting to the IP Multicast World

223

Debugging and TroubleshootingDebugging and Troubleshooting

• Mtrace– No longer gives coherent stats

– Won’t even traverse some routers

– Basically useless

• Multicast Debugging Handbook– draft-ietf-mboned-mdh-02.txt

Page 224: Connecting to the IP Multicast World

224

Debugging and Troubleshooting (cont.)Debugging and Troubleshooting (cont.)

• Useful Cisco Commands

show ip sdr [detail | address | <“session name”>]

show ip mroute [summary | address | active]

show ip rpf <ip address>

show ip msdp [ summary | peer | count | sa-cache ]

show ip mbgp [address | neighbor [ ip [adv]]

Page 225: Connecting to the IP Multicast World

225

>show ip sdrshow ip sdr

SDR Cache - 67 entries

2/5 ASSIST J Kerr Repeat

3/4 LAN Systems - NT & SMS in Labs

4J KRVM Radio

ABONE Discussion

BGMP/MASC discussion

CANARIE 5th Annual Advanced Networks Workshop(MPEG1)

dslab-test

ECG - Tunnel Test from UB

GT test

High Bandwidth Bird (HBB)

iBAND3 Keynotes [MP3] at Stardust.com

IMJ -- Channel 1

IMJ -- Channel 2

Korea Radio Broadcasting from SNU

...

Page 226: Connecting to the IP Multicast World

226

>show ip sdr detail>show ip sdr detailSDR Cache - 68 entries

Session Name: BGMP/MASC discussion

Description: BGMP/MASC discussion

Group: 0.0.0.0, ttl: 0, Contiguous allocation: 1

Lifetime: from 12:30:00 EDT May 31 1999 until 19:50:00 EDT Jun 9 2000

Uptime: 12:17:02, Last Heard: 11:27:03

Announcement source: 128.9.160.100, destination: 224.2.127.254

Created by: pavlin 3136737610 3136737920 IN IP4 128.9.160.100

Phone number: Pavlin Radoslavov (USC/ISI) +1 310 822 1511 (ext. 8125)

Email: Pavlin Radoslavov (USC/ISI) <[email protected]>

URL: http://netweb.usc.edu/bgmp/

Media: audio 17396 RTP/AVP 0

Media group: 224.2.134.153, ttl: 127

Attribute: ptime:40

Media: whiteboard 48173 udp wb

Media group: 224.2.188.133, ttl: 127

Media: text 56770 udp nt

Media group: 224.2.168.204, ttl: 127

Page 227: Connecting to the IP Multicast World

227

>show ip sdr "NASA TV - Broadcast from NASA HQ"

SDR Cache - 68 entries

Session Name: NASA TV - Broadcast from NASA HQ

Description: NASA TV Multicasting from NASA HQ

Group: 0.0.0.0, ttl: 0, Contiguous allocation: 1

Lifetime: from 12:36:16 EDT Jun 11 1999 until 11:36:16 EST Dec 11 1999

Uptime: 1d17h, Last Heard: 18:21:10

Announcement source: 131.182.10.250, destination: 224.2.127.254

Created by: ellery 3132060082 3138107776 IN IP4 131.182.10.250

Phone number: +202 651 8512

Email: [email protected] (Ellery D. Coleman)

URL: http://www.nasa.gov/ntv

Media: audio 23748 RTP/AVP 0

Media group: 224.2.203.38, ttl: 127

Media: video 60068 RTP/AVP 31

Media group: 224.2.203.37, ttl: 127

Attribute: framerate:9

Attribute: quality:8

Attribute: grayed:0

Page 228: Connecting to the IP Multicast World

228

>show ip bgp neighbors 192.88.115.113

BGP neighbor is 192.88.115.113, remote AS 145, external link

Index 2, Offset 0, Mask 0x4

NEXT_HOP is always this router

BGP version 4, remote router ID 204.147.128.139

BGP state = Established, table version = 2, up for 05:54:44

Last read 00:00:05, last send 00:00:07

Hold time 90, keepalive interval 30 seconds

Neighbor NLRI negotiation:

Configured for unicast and multicast routes

Peer negotiated unicast and multicast routes

Exchanging unicast and multicast routes

...

Number of unicast/multicast prefixes received 0/6773

...

Page 229: Connecting to the IP Multicast World

229

>show ip mbgp neigh 192.88.115.113 adv

Network Next Hop Metric LocPrf Weight Path

*> 128.182.0.0 0.0.0.0 0 32768 i

*> 192.88.115.64/24 0.0.0.0 0 32768 i

Page 230: Connecting to the IP Multicast World

230

AgendaAgenda

• What Is Multicast

• Multicast Protocols

• Multicast Configurations

• Troubleshooting

• Futures

• Useful Links

Page 231: Connecting to the IP Multicast World

231

FuturesFutures

• PIM modes designed for specific scalings and applications– Bidir-PIM

– Single Source Multicast (SSM)

Page 232: Connecting to the IP Multicast World

232

Bidir PIMBidir PIM

• Designed for many to many multicast groups

• Builds a single (*,G) shared tree which all sources use

• Relieves the router from having to keep state for each and every source

Page 233: Connecting to the IP Multicast World

233

SSMSSM

• Designed to allow receivers to specify the single source which they wish to receive traffic from, such as when viewing a broadcast from a single provider

• Requires IGMPv3 so that receivers can tell the first hop router which source they want

• RP is not used

• Requires an out of band method to discover the proper source (e.g. a web pag or email

Page 234: Connecting to the IP Multicast World

234

AgendaAgenda

• What Is Multicast

• Multicast Protocols

• Multicast Configurations

• Troubleshooting

• Futures

• Useful Links

Page 235: Connecting to the IP Multicast World

235

Useful LinksUseful Links

• Multicast Documentation (FAQ and Tools): http://www.ncne.nlanr.net/faq/multicast.html

• Cisco IOS Documentation • Cisco IP Multicast: ftp://ftp-eng.cisco.com/ipmulticast/• Introduction to Multicast Routing:

http://www.3com.com/nsc/501303.html• Send mail to [email protected]