Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

31
Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions

Transcript of Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

Page 1: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

Multicast

Outline

Multicast revisited

Protocol Independent Multicast - SM

Future Directions

Page 2: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 2

Multicast Revisited

• Motivation: multiple hosts wish to receive the same data from one or more senders

• Multicast routing defines extensions to IP routers to support broadcasting data in IP networks– Until now IP has only facilitated a point to point routing

• Multicast data is sent and received at a multicast address which defines a group– Simple notion of a group is a TV channel

• Data is sent and received in multicast groups via routing trees from sender(s) to receivers.– Protocols are principally concerned with setting up and maintaining trees

• Note: All multicast messaging is sent via unicast

Page 3: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 3

Protocol types

• Dense mode protocols– assumes dense group membership– Source distribution tree and NACK type– DVMRP (Distance Vector Multicast Routing Protocol)– PIM-DM (Protocol Independent Multicast, Dense Mode)– Example: Company-wide announcement

• Sparse mode protocol– assumes sparse group membership– Shared distribution tree and ACK type– PIM-SM (Protocol Independent Multicast, Sparse Mode)– Examples: a Shuttle Launch

Page 4: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 4

PIM-SM overview (1)

• Developed due to scaling issues – Flooding is generally a real bad idea

• Based on creating routing tree for a group with Rendezvous Point (RP) as a root for the tree– RP is a focus for both senders and receivers

• Explicit join model– Receivers send Join towards the RP

– Sender send Register towards the RP

• Supports both shared trees (default) and source trees

• RPF check depends on tree type– For shared tree (between RP and receivers), uses RP address

– For source tree (between RP and source), uses Source address

Page 5: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 5

PIM-SM overview(2)

• 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)– (*,G) means all senders

• RFC2362 – “PIM Sparse Mode Protocol Spec” (experimental)

• Internet Draft: draft-ietf-pim-v2-sm-00.txt (October 1999)

Page 6: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 6

PIM-SM Basics

• PIM Neighbor Discovery

• PIM SM Forwarding

• PIM SM Joining

• PIM SM Registering

• PIM SM SPT-Swichover

• PIM SM Pruning

• PIM SM Bootstrap

• PIM SM State Maintenance

Page 7: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 7

PIM SM Tree Maintenance

• Periodic Join/Prunes are sent to all PIM neighbors• Periodic Joins refresh interfaces in a PIM neighbor’s

downstream list• Periodic Prunes refresh pruned state of a PIM neighbor

– There is a designated router (DR) for each local network and all other routers get pruned

• Received multicast packets reset (S,G) entry expiration timers.– (S,G) entries are deleted if timers expire

Page 8: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 8

PIM-SM(1)

Receiver 1

Source

Receiver 2

S

R1

A B RP D

C E

R2

Page 9: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 9

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 10: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 10

PIM-SM(3)

Receiver 1

Source

Receiver 2

S

R1

A B RP D

C E

R2

RP Creates (*, G) State

Page 11: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 11

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 12: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 12

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 13: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 13

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 14: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 14

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 15: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 15

PIM-SM(8)

Receiver 1

Source

Receiver 2

S

R1

A B RP D

C E

R2

C starts receiving Data natively

Page 16: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 16

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 17: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 17

PIM-SM(10)

Receiver 1

Source

Receiver 2

S

R1

A B RP D

C E

R2

B, RP pruned

Page 18: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 18

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 19: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 19

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

Page 20: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 20

Inter-Domain Multicast Routing

• BGP4+ (Multicast BGP) for short-term solution– Tweeks to BGP4 to support multicast

• Multicast Address Set and Claim (MASC)– Hierarchical multicast address allocation at domain level

– Dynamic allocation (not permanent) of addresses by “set and claim with collision”

• Border Gateway Multicast Protocol (BGMP)– Use a PIM-like protocol between domains (“BGP for

multicast”)

Page 21: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 21

MASC

• Assume Addr(A) is allocated to domain A and domains B and C sit “below” A in a domain hierarchy

• B selects Addr(B) which is subset of Addr(A) and send claim (addr(B)) message to A and C

• A forwards claim to all children except B.• If any of A’s children is already using Addr(B) they will report a

collision to A.• A will notify B of the collision and B will select other address space.• Address space information is used to create distribution tree using

BGMP.• Stored in M-RIB (Multicast Routing Information Base)

Page 22: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 22

BGMP• BGMP builds shared tree of domains for a group

– Uses a rendezvous mechanism at the domain level– Shared tree is bidirectional– Root of shared tree of domains is at root domain

• Runs in routers that border a multicast routing domain• Runs over TCP• Joins and prunes travel across domains• Can build unidirectional source trees• M-IGP (multicast Intra-Gateway Protocol) tells the

borders about group membership

Page 23: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 23

Multicast Routers

• mrouted (Xerox PARC) : DVMRP• GateD (Merit) : DVMRP, PIM-DM, PIM-SM• Cisco IOS : DVMRP, PIM-DM, PIM-SM

Page 24: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 24

M-Bone

• Wide area IP multicast test bed using IP-in-IP tunneling

• Routing protocol– DVMRP is used

– Transition to PIM (DM, SM) is ongoing

• Started in March 1992 for audio broadcasting of IETF meeting (San Diego)

• Latest tolopology– ftp://ftp.parcftp.xerox.com/pub/net-research/mbone/maps/mbone-map-big.ps

– About 6000 (S,G) entries

• Discussion list: [email protected]

Page 25: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 25

Session Directory

Page 26: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 26

Example Session

Page 27: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 27

M-BONE in 1994

Page 28: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 28

M-BONE in 1996

Page 29: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 29

M-BONE in 1998

Page 30: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 30

Future Mulicast Service

• Current multicast service - latency and packet drop

• Research for “Reliable multicast” is actively going on for;– large scale interactive gaming on the Internet

– Distributed databases

– large scale news distribution etc.

Page 31: Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.

CS 640 31

Reliable multicast technology

• SRM ( Scalable Reliable Multicast)– multicast with re-transmit (with random back-off)

– All nodes can re-transmit datagram (Multicast/Unicast)

• MTP (Multicast Transport Protocol: RFC1301)• FEC (Forward Error Correction)

– error packet recovery by redundant packets