1CSE 123bCSE 123bCommunications SoftwareCommunications SoftwareSpring 2002Spring 2002Lecture 8: IP MulticastLecture 8: IP MulticastStefan SavageStefan SavageApril 30, 2002 CSE 123b -- Lecture 8 – IP Multicast 2Project #1Project #1z Handout details project, Due May 13◆ Copies of handout will appear on Web page tonightz You can work alone or in a group (up to four)◆ If you want to be in a group, but don’t know anyone, contact the projects TA (John-Paul Fryckman)◆ All group members will share the same grade, BUT the final will have questions related to the project (so slackers lose)z Questions?April 30, 2002 CSE 123b -- Lecture 8 – IP Multicast 3MidtermMidtermz May 9thin classz Covers material through last class (i.e. including inter-domain routing)z Closed book, close notes, but you can bring in one 8.5x11 sheet of paper with notes on itApril 30, 2002 CSE 123b -- Lecture 8 – IP Multicast 4Last classLast classz Link-state routing protocols◆ Tell everyone about your neighbors◆ Local shortest path computation◆ Converges quickly, loop free, but complex with significant state costz Inter-domain routing◆ Routing between different organizations◆ Policy routing; not based on metrics◆ BGP ◆ Economics of routingApril 30, 2002 CSE 123b -- Lecture 8 – IP Multicast 5Today: Multicast routingToday: Multicast routingz Multicast service modelz Host interfacez Host-router interactions (IGMP)z Multicast Routing◆ Distance Vector◆ Link State◆ Shared treez Limiters◆ Deployment issues◆ Inter-domain routing◆ Operational/Economic issues (SSM)April 30, 2002 CSE 123b -- Lecture 8 – IP Multicast 6MotivationMotivationz Efficient delivery to multiple destinations (e.g. video broadcast)z Network-layer support for one-to-many addressing◆ Publish/subscribe communications model◆ Don’t need to know destinationsSRRRSRRRVS2April 30, 2002 CSE 123b -- Lecture 8 – IP Multicast 7IP Multicast service modelIP Multicast service modelz Communications based on groups◆ Special IP addresses represent “multicast groups”◆ Anyone can join group to receive◆ Anyone can send to group» Sender need not be part of group◆ Dynamic group membership – can join and leave at willz Unreliable datagram service◆ Extension to unicast IP◆ Group membership not visible to hosts◆ No synchronizationz Explicit scoping to limit spread of packetsz Note: IP Multicast service model is just one choice…April 30, 2002 CSE 123b -- Lecture 8 – IP Multicast 8Elements of IP MulticastElements of IP Multicastz Host interface◆ Application visible multicast API◆ Multicast addressing◆ Link-layer mappingz Host-Router interface◆ IGMPz Router-Router interface◆ Multicast routing protocolsApril 30, 2002 CSE 123b -- Lecture 8 – IP Multicast 9Host interfaceHost interfacez Senders (not much new)◆ Set TTL on multicast packets to limit “scope”» Scope can be administratively limited on per-group basis◆ Send packets to multicast address, represents a group◆ Typically UDP-based transportz Receivers (two new interfaces)◆ Join multicast group (group address)◆ Leave multicast group(group address)◆ Typically implemented as a socket option in most networking APIApril 30, 2002 CSE 123b -- Lecture 8 – IP Multicast 10Multicast addressingMulticast addressingz Special address range:◆ Class D (3 MSBs set to 1) 224.0.01- 239.255.255.255◆ Reserved by IANA for multicastz Which address to use for a new group?◆ No standard◆ Global random selection◆ Per-domain addressing (MASC, GLOP) z Which address to use to join an existing group?◆ No standard◆ Separate address distribution protocol (may use multicast)April 30, 2002 CSE 123b -- Lecture 8 – IP Multicast 11LinkLink--layer multicastlayer multicastz Many link-layers protocols have multicast capability◆ Ethernet, FDDIz Translate IP Multicast address into LL address◆ E.g. Map 28 bits of IP MC address in 23bit Ethernet MC addresses◆ Senders send and receive on link-layer MC addresses◆ Routers must listen on all possible LL MC addressesz Not an issue for point-to-point linksApril 30, 2002 CSE 123b -- Lecture 8 – IP Multicast 12Internet Group Management Internet Group Management Protocol (IGMP)Protocol (IGMP)z Goal: communicate group membership between hosts and routersz Soft-state protocol◆ Hosts explicitly inform their router about membership◆ Must periodically refresh membership report ◆ Routers implicitly timeout groups that aren’t refreshed◆ Why isn’t explicit “leave group” message sufficient?z Implemented in most of today’s routers and switches3April 30, 2002 CSE 123b -- Lecture 8 – IP Multicast 13How IGMP works (roughly)How IGMP works (roughly)H HH H HH HH H H• Router broadcasts membership query to 224.0.01 (all-systems group)with ttl=1 • Hosts start random timer (0-10 sec)or each group they have joined• When a host’s timer expires forgroup G, send membership reportto group G, with ttl=1• When a member of G hears a report,they reset their timer for G• Router times out groups that are not“refreshed” by some host’s reportGGGApril 30, 2002 CSE 123b -- Lecture 8 – IP Multicast 14Multicast routingMulticast routingz Goal: build distribution tree for multicast packets◆ Efficient tree (ideally, shortest path)◆ Low join/leave latencyz Several approaches◆ Distance Vector/Link State» Leverage existing unicast routing protocols◆ Shared tree» Unicast/multicast hybridsApril 30, 2002 CSE 123b -- Lecture 8 – IP Multicast 15Multicast routing taxonomyMulticast routing taxonomyz Source-based tree◆ Separate shortest path tree for each source◆ Flood and prune (DVMRP, PIM-DM)» Send multicast traffic everywhere» Prune edges that are not actively subscribed to group◆ Link-state (MOSPF)» Routers flood groups they would like to receive» Compute shortest-path trees on demandz Shared tree (CBT, PIM-SM)◆ Single distributed tree shared among all sources◆ Specify rendezvous point (RP) for group◆ Senders send packets to RP, receivers join at RP◆ RP multicasts to receivers; Fix-up tree for optimizationApril 30, 2002 CSE 123b -- Lecture 8 – IP Multicast 16SourceSource--based based vsvsSharedSharedSRRRSRRRSSRPSource-based tree Shared-tree• Efficient trees; low delay, even load• Per-source state in routers (S,G)• Good for dense-area multicast• Higher delay, skewed load • Per-group state only (G)• Efficient for sparse-area multicastApril 30, 2002 CSE
View Full Document