610 likes | 813 Views
Multicast. Brad Smith. Administrativia. Next (8 th ) week Project status report due Tuesday , 5/21 Review STP and Multicast lab Tuesday, 5/21 BGP lab due Wednesday, 5 / 22 Multicast quiz and IPv6 lecture Tuesday, 5/23 Following (9 th ) week
E N D
Multicast Brad Smith
Administrativia • Next (8th) week • Project status report due Tuesday, 5/21 • Review STP and Multicast lab Tuesday, 5/21 • BGP lab due Wednesday, 5/22 • Multicast quiz and IPv6 lecture Tuesday, 5/23 • Following (9th) week • Robert Cartellion server load balancing Monday, 5/28 • Multicast lab due Wednesday, 5/29 • Donald Eastlake on TRILL, 5/30 • Last (10th) week • Cruzio visit Thursday… what’s involved in running an ISP, 6/4 • First 5 project presentations Thursday, 6/6 • Projects due • Presentations last week of class and final slot (I’ll schedule with random assignments) • Alex Lowe, John, Jeff, Dennis, Erik, David, Jeff • Write-up, lab, and answer key bye last day of quarter (June 12th) CE 151 - Advanced Networks
Multiple Receivers • Important applications involve multiple receivers • Broadcasts of Radio or Video • Videoconferencing • Shared Applications • Special mechanisms needed to efficiently support such applications. CE 151 - Advanced Networks
"Together, Internet broadcasting and multicasting are the next chapters in the evolution of the Internet as a revolutionary catalyst for the information age." VintCerf,Senior vice president of MCI/Worldcom,April 1999. CE 151 - Advanced Networks
Multicasting • Multicast communications refers to one-to-many (group) communications. • IP Multicasting refers to the implementation of multicast communication in the Internet Unicast Broadcast Multicast CE 151 - Advanced Networks
Multiple copies of the same message are transmitted on the same link Multicast using Unicast • Without support for multicast at the network layer: CE 151 - Advanced Networks
At most one copy of a message on any link. With Network Layer Multicast Requires a set of mechanisms: Packet forwarding can send multiple copies of same packet Multicast routing algorithm that builds a spanning tree to reach all group members Hosts can join groups CE 151 - Advanced Networks
Semantics of IP Multicast • IP multicast works as follows: • Multicast groups are identified by class D addresses… • 1110… • 224.0.0.0 - 239.255.255.255 • Every host (interface) can join/leave a multicast group dynamically • no access control • Every IP datagram sent to a multicast group is transmitted to all members of the group • no security, no “floor control” • IP multicast is unreliable CE 151 - Advanced Networks
Socket Layer Stream Sockets Datagram Sockets Multicast Sockets TCP UDP IP IP Multicast IP Multicast Transport Layer • IP Multicasting only supports UDP as higher layer • There is no multicast TCP! User Layer Network Interface CE 151 - Advanced Networks
Review • Goal of Network Layer multicast is group communication with at most one copy of a packet on any link. • Requires • Packet forwarding that can send multiple copies of a packet • Ability for hosts to join groups • Routing algorithm that builds a spanning tree to reach all group members • Only unreliable (UDP) transport service is defined for multicast. CE 151 - Advanced Networks
Three Components of IP Multicast • IP Multicast Addressing • IP Group Management • Multicast Routing CE 151 - Advanced Networks
Three Components of IP Multicast • IP Multicast Addressing • IP Group Management • Multicast Routing CE 151 - Advanced Networks
Multicast Addresses • All Class D addresses are multicast addresses: • Multicast addresses are dynamically (i.e. not!) assigned. • IP datagrams sent to a multicast address are forwarded to all hosts that have joined the group • When an application is terminated, the multicast address is (implicitly… i.e. not!) released. CE 151 - Advanced Networks
Reserved Multicast Addresses • The address range 224.0.0.0 - 224.0.0.255 is reserved for routing protocols and other low-level topology discovery or maintenance protocols • Multicast routers should not forward any multicast datagram with destination addresses in this range. • Examples of special and reserved Class D addresses… • 224.0.0.1 All systems on this subnet • 224.0.0.2 All routers on this subnet • 224.0.1.1 NTP (Network Time Protocol) • 224.0.0.9 RIPv2 CE 151 - Advanced Networks
Multicast Address Translation • In Ethernet MAC addresses, a multicast address is identified by setting the lowest bit of the “most left byte” • Generally filtered in hardware (on the Ethernet NIC) • Sometimes filtered in software (in the Ethernet device driver) CE 151 - Advanced Networks
Multicast Address Translation CE 151 - Advanced Networks
Review • Multicast groups are defined by class D IP addresses • In binary, start with “1110” • 224.0.0.0 - 239.255.255.255 • IP addresses can often be directly mapped to MAC addresses • E.g. Ethernet CE 151 - Advanced Networks
Three Components of IP Multicast • IP Multicast Addressing • IP Group Management • Multicast Routing CE 151 - Advanced Networks
IGMP • The Internet Group Management Protocol (IGMP) is a simple protocol for the support of IP multicast. • Defined in RFC 1112. • Operates on an IP subnet. • Used by routers to keep track of membership in a multicast group. • Support for: • Joining a multicast group • Querying group membership • Sending membership reports CE 151 - Advanced Networks
IGMP Protocol • A host sends an IGMP report when it joins a multicast group • Multiple processes can join a group... a report is only sent for the first one. • No report is sent when a host leaves a group • A router regularly multicasts an IGMP query to all hosts • Group address is set to zero. • A host responds to an IGMP query with an IGMP report. • Routers • Track which multicast groups have members on each subnet (but does not keep track of which hosts have joined a group). • Forward packets on subnets that provide access to group members (directly or as transit). CE 151 - Advanced Networks
IGMP Protocol CE 151 - Advanced Networks
IGMP Packet Format • IGMP messages are only 8 bytes long • Type: 1 = sent by router, 2 = sent by host CE 151 - Advanced Networks
IGMP Protocol CE 151 - Advanced Networks
Networks with multiple routers • Only one router generates IGMP queries (Querier) • Router with smallest IP address becomes the querier on a network. • One router forwards multicast packets to the network (Forwarder). CE 151 - Advanced Networks
Review • IGMP used to track group membership on subnets. • Supports • Hosts joining multicast groups • Routers querying subnets for current membership • Hosts reporting membership (in response to queries) • Hosts • Notify routers when they join a group • Respond to router queries • Are not required to notify routers when they leave a group CE 151 - Advanced Networks
Review • Routers • Track which multicast groups have members on each subnet (but don't track which hosts have joined each group) • Forward traffic for a group only on subnets that provide access to group members (directly or as transit) • One router is selected on each subnet to serve as Querier and Forwarder CE 151 - Advanced Networks
Three Components of IP Multicast • IP Multicast Addressing • IP Group Management • Multicast Routing CE 151 - Advanced Networks
Goal of Multicast Routing • Build a spanning tree that reaches all members of a multicast group CE 151 - Advanced Networks
Multicast routing as a graph problem • Problem: Embed a tree such that all multicast group members are connected by the tree CE 151 - Advanced Networks
Multicast routing as a graph problem • Problem: Embed a tree such that all multicast group members are connected by the tree • Solution 1: Shortest Path Tree or source-based tree- build a tree that minimizes the path cost from the source to each receiver • If there are multiple senders, need one tree per sender • Easy to compute CE 151 - Advanced Networks
Multicast routing as a graph problem • Problem: Embed a tree such that all multicast group members are connected by the tree • Solution 2: Minimum-Cost Tree - build a tree that minimizes the total cost of the edges • Single tree serves all senders • Very expensive to compute (not practical for more than 30 nodes) CE 151 - Advanced Networks
Multicast routing in practice • Routing Protocols implement one of two approaches: • Source-based Tree: • Essentially implements Solution 1. • Builds one shortest path tree for each sender • Tree is built from receiver to the sender • Use reverse path forwarding • Shared- or Core-based Tree: • Build a single distribution tree that is shared by all senders • Does not use Solution 2 (because it is too expensive) • Selects one router as a “core” (also called “rendezvous point”) • All receivers build a shortest path to the core • Use reverse path forwarding CE 151 - Advanced Networks
Reverse Path Forwarding (RPF) • Build a shortest path tree by using unicast routing tables… backwards. • Reversein the sense that the path used to forward unicast traffic tothe node is used to forward multicast traffic fromthe node. • Routers join the tree when they have downstream group members • Notify the unicast next hop router towards the root that they wants to join the tree. • The multicast tree is composed of interfaces • On subnets with source or group members (receivers) • That connect a router to its RPF neighbor, or • With neighbors for which the router is their RPF neighbor • Multicast forwarding • Accept packets from interfaces on the multicast tree, and • Forward them out all other interfaces on the tree CE 151 - Advanced Networks
Multicast Routing table • Routing table entries differ for source-based and for core-based trees… • Source-based tree: (Source, Group) or (S, G) entry. • Core-based tree: (*, G) entry. CE 151 - Advanced Networks
Multicast routing in practice • Multicast routing algorithms in implement one of two approaches: • Source-based tree: • Establish a reverse path to the source(s) • Core-based tree: • Establish a reverse path to the core router (or RP) CE 151 - Advanced Networks
Multicast routing in practice • Multicast routing algorithms in implement one of two approaches: • Source-based tree: • Establish a reverse path to the source(s) • Core-based tree: • Establish a reverse path to the core router (or RP) CE 151 - Advanced Networks
Building a source-based tree -Flood & Prune Member • Determine RPF interfaces from unicast routing tables Non-member CE 151 - Advanced Networks
Building a source-based tree -Flood & Prune Member • Flood - forward packets that arrive on RPF interface on all non-RPF interfaces Non-member CE 151 - Advanced Networks
Building a source-based tree -Flood & Prune Member • Receiver drops packets not received on RPF interface Non-member CE 151 - Advanced Networks
Building a source-based tree -Flood & Prune Member • Prune - send a prune message • When a packet is received on a non-RPF interface, or • When have no downstream receivers • Disables routing table entry Non-member CE 151 - Advanced Networks
Pruning • Prune message temporarily disables a routing table entry • Effect: Removes a link from the multicast tree • No multicast messages are sent on a pruned link • Prune message is sent in response to a multicast packet • Why is routing table only temporarily disabled? • Who sends prune messages? • A router… • …with no group members on directly connected subnets • …which has received prune messages from routers on all non-RPF interfaces • A router that has received a packet from a non-RPF neighbor CE 151 - Advanced Networks
Building a source-based tree -Flood & Prune Member • When a receiver joins need to re-activate a pruned routing table entry • Graft - send a Graft message to disable previous prune, and re-activate a routing table entry. Non-member CE 151 - Advanced Networks
Building a source-based tree -Explicit Join Member • This only works if the receiver knows the source • Explicit-Join - Receiver sends a Join message to RPF neighbor, creates (S,G) routing table entry, and is forwarded. Non-member CE 151 - Advanced Networks
Multicast routing in practice • Multicast routing algorithms in implement one of two approaches: • Source-based tree: • Establish a reverse path to the source(s) • Core-based tree: • Establish a reverse path to the core router (or RP) CE 151 - Advanced Networks
Building a core-based tree • One router is the core • Receiver sends a Join message to RPF neighbor with respect to core • Join message creates (*, G) routing table entry CE 151 - Advanced Networks
Building a core-based tree • Source sends data to the core • Core forwards data according to routing table entry CE 151 - Advanced Networks
Existing Multicast Routing Protocols • Distance Vector Multicast Routing Protocol (DVMRP): • First multicast routing protocol • Implements flood-and-prune • Multicast Open Shortest Path First (MOSPF): • Multicast extensions to OSPF. Each router calculates a shortest-path tree based on link state database • Not widely used • Core Based Tree (CBT): • First core-based tree routing protocol • Protocol Independent Multicast (PIM) (RFC 2362): • Two modes: PIM Dense Mode (PIM-DM) and PIM Sparse Mode (PIM-SM). • PIM-DM - source-based trees using flood-and-prune • PIM-SM - core-based trees as well as source-based trees with explicit joins. CE 151 - Advanced Networks
PIM Messages (PIM version 2) • Encapsulated in IP datagrams with protocol number 103. • PIM messages can be sent as unicast or multicast packet • 224.0.0.13 is reserved as the ALL-PIM-Routers group CE 151 - Advanced Networks
PIM-DM: PIM Dense Mode • Implements flood-and-prune • Orange = multicast data • Blue= PIM message CE 151 - Advanced Networks
PIM-SM: PIM Sparse Mode • Core called rendezvous-point (RP) • Receivers know RP (statically configured or dynamically elected) • When receiver joins, a Join message is sent to RP on RPF path. CE 151 - Advanced Networks