protocol independent multicast (pim)...

22
Protocol Independent Multicast (PIM) Examples Acknowledgments: Paul Barford and Aditya Akella

Upload: builien

Post on 23-Mar-2018

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

Protocol Independent Multicast(PIM) Examples

Acknowledgments: Paul Barford and Aditya Akella

Page 2: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 2

PIM Dense Mode (DM) Actions

• Prune used to remove links not on the reverse shortest path (i.e., shortest path back to source)

• Asserts used to determine the forwarder for network with two routers

• Grafts used to join existing source tree

Page 3: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 3

PIM-DM(1)Initial flood of data

Source

Receiver 2

Receiver 1

S

R1

A

R2

B

C D F

G

H

IE

Page 4: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 4

PIM-DM(2)prune non-RPF p2p link

Source

Receiver 2

Receiver 1

S

R1

A

R2

B

C D F

G

H

IE

IGMP PIM-Prune

Page 5: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 5

PIM-DM(3) C and D Assert to Determine

Forwarder for the LAN, C Wins

Source

Receiver 2

Receiver 1

S

R1

A

R2

B

C D F

G

H

IE

IGMP PIM-Assertwith its own IP address

Page 6: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 6

PIM-DM(4)I, E, G send Prune

H send Join to override G’s Prune

Source

Receiver 2

Receiver 1

S

R1

A

R2

B

C D F

G

H

IE

IGMP PIM-PruneIGMP PIM-Join

Page 7: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 7

PIM-DM(5)I Gets Pruned

E’s Prune is Ignored (since R1 is a receiver)G’s Prune is Overridden (due to new receiver R2)

Source

Receiver 2

Receiver 1

S

R1

A

R2

B

C D F

G

H

IE

Page 8: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 8

PIM-DM(6)New Receiver, I send Graft

Source

Receiver 2

Receiver 1

S

R1

A

R2

B

C D F

G

H

IE

IGMP PIM-Graft

Receiver 3

R3

Page 9: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 9

PIM-DM(6)new branch

Source

Receiver 2

Receiver 1

S

R1

A

R2

B

C D F

G

H

IE

IGMP PIM-Graft

Receiver 3

R3

Page 10: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 10

• Create routing tree for a group with Rendezvous Point (RP) as a root for the tree– Receivers send Join towards the RP– Sender send Register towards the RP

• Transition from going through RP to using shortest path tree (SPT)

PIM Sparse Mode (SM) Actions

Page 11: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 11

PIM-SM(1)

Receiver 1

Source

Receiver 2

S

R1

A B RP D

C E

R2

Page 12: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 12

PIM-SM(2)

Receiver 1

Source

Receiver 2

S

R1

A B RP D

C E

R2

Receiver 1 Joins Group GC Creates (*, G) State, Sends(*, G) Join to the RP

Join

Page 13: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 13

PIM-SM(3)

Receiver 1

Source

Receiver 2

S

R1

A B RP D

C E

R2

RP Creates (*, G) State

Page 14: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 14

PIM-SM(4)

Receiver 1

Source

Receiver 2

S

R1

A B RP D

C E

R2

Source Sends DataA Sends Registration to the RP

Register

Data

IP tunnel between A and RP sincemulticast tree is not established

Page 15: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 15

PIM-SM(5)

Receiver 1

Source

Receiver 2

S

R1

A B RP D

C E

R2

RP decapsulates RegistrationForwards Data Down the Shared TreeSends Joins Towards the Source

joinjoin

Page 16: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 16

PIM-SM(6)

Receiver 1

Source

Receiver 2

S

R1

A B RP D

C E

R2

RP Sends Register-Stop OnceData Arrives Natively

Register-Stop

Page 17: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 17

PIM-SM(7)SPT Switchover

Receiver 1

Source

Receiver 2

S

R1

A B RP D

C E

R2

C Sends (S, G) Joins to Join theShortest Path Tree (SPT)

join

Page 18: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 18

PIM-SM(8)

Receiver 1

Source

Receiver 2

S

R1

A B RP D

C E

R2

C starts receiving Data natively

Page 19: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 19

PIM-SM(9)

Receiver 1

Source

Receiver 2

S

R1

A B RP D

C E

R2

C Sends Prunes Up the RP tree forthe Source. RP Deletes (S, G) OIF andSends Prune Towards the Source

Prune

PrunePrune

Page 20: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 20

PIM-SM(10)

Receiver 1

Source

Receiver 2

S

R1

A B RP D

C E

R2

B, RP pruned

Page 21: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 21

PIM-SM(11)

Receiver 1

Source

Receiver 2

S

R1

A B RP D

C E

R2

join

New receiver2 joinsE Creates State and Sends (*, G) Join

Page 22: Protocol Independent Multicast (PIM) Examplespages.cs.wisc.edu/~agember/cs640/s14/docs/ProtocolIndependent... · CS 640 10 • Create routing tree for a group with Rendezvous Point

CS 640 22

PIM-SM(12)

Receiver 1

Source

Receiver 2

S

R1

A B RP D

C E

R2

C Adds Link Towards E to the OIFList of Both (*, G) and (S, G)Data from Source Arrives at E