320 likes | 523 Views
CS 640. 2. Multicast Revisited. Motivation: multiple hosts wish to receive the same data from one or more sendersMulticast routing defines extensions to IP routers to support broadcasting data in IP networksUntil now IP has only facilitated a point to point routingMulticast data is sent and rece
E N D
1. Multicast Outline
Multicast revisited
Protocol Independent Multicast - SM
Future Directions
2. 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
3. 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
4. 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
5. 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)
6. 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
7. 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
8. CS 640 8 PIM-SM(1)
9. CS 640 9 PIM-SM(2)
10. CS 640 10 PIM-SM(3)
11. CS 640 11 PIM-SM(4)
12. CS 640 12 PIM-SM(5)
13. CS 640 13 PIM-SM(6)
14. CS 640 14 PIM-SM(7)SPT Switchover
15. CS 640 15 PIM-SM(8)
16. CS 640 16 PIM-SM(9)
17. CS 640 17 PIM-SM(10)
18. CS 640 18 PIM-SM(11)
19. CS 640 19 PIM-SM(12)
20. 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”)
21. 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)
22. 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
23. CS 640 23 Multicast Routers mrouted (Xerox PARC) : DVMRP
GateD (Merit) : DVMRP, PIM-DM, PIM-SM
Cisco IOS : DVMRP, PIM-DM, PIM-SM
24. 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: mbone@isi.edu
25. CS 640 25 Session Directory
26. CS 640 26 Example Session
27. CS 640 27 M-BONE in 1994
28. CS 640 28 M-BONE in 1996
29. CS 640 29 M-BONE in 1998
30. 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.
31. 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