Unicast Multicast IP Multicast Introduction
Total Page:16
File Type:pdf, Size:1020Kb
Outline 11: ❒ IP Multicast ❒ Multicast routing IP Multicast ❍ Design choices ❍ Distance Vector Multicast Routing Protocol (DVMRP) Last Modified: ❍ Core Based Trees (CBT) ❍ Protocol Independent Multicast (PIM) 4/9/2003 1:15:00 PM ❍ Border Gateway Multicast Protocol (BGMP) ❒ Issues in IP Multicast Deplyment Based on slides by Gordon Chaffee Berkeley Multimedia Research Center URL: http://bmrc.berkeley.edu/people/chaffee 4: Network Layer 4a-1 4: Network Layer 4a-2 What is multicast? Unicast ❒ ❒ 1 to N communication Problem Sender ❍ ❒ Nandwidth-conserving technology that Sending same data to reduces traffic by simultaneously many receivers via unicast is inefficient delivering a single stream of information to R multiple recipients ❒ Example ❒ Examples of Multicast ❍ Popular WWW sites ❍ Network hardware efficiently supports become serious multicast transport bottlenecks • Example: Ethernet allows one packet to be received by many hosts ❍ Many different protocols and service models • Examples: IETF IP Multicast, ATM Multipoint 4: Network Layer 4a-3 4: Network Layer 4a-4 Multicast IP Multicast Introduction ❒ Efficient one to many Sender ❒ Efficient one to many data distribution data distribution ❍ Tree style data distribution ❍ Packets traverse network links only once R ❒ Location independent addressing ❍ IP address per multicast group ❒ Receiver oriented service model ❍ Applications can join and leave multicast groups ❍ Senders do not know who is listening ❍ Similar to television model ❍ Contrasts with telephone network, ATM 4: Network Layer 4a-5 4: Network Layer 4a-6 1 IP Multicast Internet Group Management Protocol (IGMP) ❒ Service ❒ Protocol for managing group membership ❍ All senders send at the same time to the same ❍ IP hosts report multicast group memberships to group neighboring routers ❍ Receivers subscribe to any group ❍ Messages in IGMPv2 (RFC 2236) ❍ Routers find receivers • Membership Query (from routers) ❒ • Membership Report (from hosts) Unreliable delivery • Leave Group (from hosts) ❒ Reserved IP addresses ❒ Announce-Listen protocol with Suppression ❍ 224.0.0.0 to 239.255.255.255 reserved for ❍ Hosts respond only if no other hosts has multicast responded ❍ Static addresses for popular services (e.g. ❒ Session Announcement Protocol) Soft State protocol 4: Network Layer 4a-7 4: Network Layer 4a-8 IGMP Example (1) IGMP Example (2) MembershipLeave ReportGroup 1 3 1 3 Network 1 Network 2 Network 1 Network 2 Router Router 2 4 2 4 ❒ Host 3 joins conference ❍ Sends IGMP Membership Report message ❒ Host 1 begins sending packets ❒ Router begins forwarding packets onto Network 2 ❍ No IGMP messages sent ❒ Host 3 leaves conference ❍ Packets remain on Network 1 ❍ Sends IGMP Leave Group message ❒ Router periodically sends IGMP Membership Query ❍ Only sent if it was the last host to send an IGMP Membership Report message 4: Network Layer 4a-9 4: Network Layer 4a-10 Source Specific Filtering: IGMPv3 Multicast Routing Discussion ❒ Adds Source Filtering to group selection ❒ What is the problem? ❍ Receive packets only from specific source ❍ Need to find all receivers in a multicast group addresses ❍ Need to create spanning tree of receivers ❍ Receive packets from all but specific source ❒ Design goals addresses ❍ Minimize unwanted traffic ❒ Benefits ❍ Minimize router state ❍ Helps prevent denial of service attacks ❍ Scalability ❍ Better use of bandwidth ❍ Reliability ❒ Status: Internet Draft? 4: Network Layer 4a-11 4: Network Layer 4a-12 2 Data Flooding Reverse Path Forwarding (RPF) ❒ Send data to all nodes in network ❒ Simple technique for building trees ❒ Problem ❒ Send out all interfaces except the one with ❍ Need to prevent cycles the shortest path to the sender ❍ Need to send only once to all nodes in network ❍ Could keep track of every packet and check if it had ❒ In unicast routing, routers send to the previously visited node, but means too much state destination via the shortest path ❒ In multicast routing, routers send away R2 from the shortest path to the sender R1 R3 Sender 4: Network Layer 4a-13 4: Network Layer 4a-14 Reverse Path Forwarding Example Data Distribution Choices 1. Router R1 checks: Did the data Sender packet arrive on the interface ❒ with the shortest path to the Source rooted trees 2. Router R2 accepts packets Sender? Yes, so it accepts the ❍ sent from Router R1 because packet, duplicates it, and State in routers for each sender forwards the packet out all other that is the shortest path to the ❍ Sender. The packet gets sent interfaces except the interface Forms shortest path tree from each sender to out all interfaces. that is the shortest path to the R1 sender (i.e the interface the receivers packet arrived on). ❍ Minimal delays from sources to destinations Drop ❒ Shared trees 3. Router R2 drops R2 R3 packets that arrive from Drop ❍ All senders use the same distribution tree Router R3 because that is not the shortest path to ❍ State in routers only for wanted groups the sender. Avoids cycles. ❍ No per sender state (until IGMPv3) R4 R5 R6 R7 ❍ Greater latency for data distribution 4: Network Layer 4a-15 4: Network Layer 4a-16 Source Rooted vs Shared Trees Distance Vector Multicast Routing (DVMRP) Often does not use optimal path from ❒ Steve Deering, 1988 A A source to destination. ❒ Source rooted spanning trees ❍ Shortest path tree ❍ Minimal hops (latency) from source to receivers B C B C ❒ Extends basic distance vector routing ❒ Flood and prune algorithm ❍ Initial data sent to all nodes in network(!) using Reverse D D Path Forwarding Source Shared Tree Routers maintain ❍ Rooted Trees state for each sender Prunes remove unwanted branches in a group. Traffic is heavily ❍ concentrated on State in routers for all unwanted groups some links while ❍ Periodic flooding since prune state times out (soft state) others get little utilization. 4: Network Layer 4a-17 4: Network Layer 4a-18 3 DVMRP Algorithm Truncated Reverse Path Multicast Example Sender ❒ Truncated Reverse Path Multicast Router R2 accepts packets sent from ❍ Router R1 because that is the Optimized version of Reverse Path Forwarding shortest path to the Sender. ❍ Truncating Unlike Reverse Path Forwarding, • No packets sent onto leaf networks with no receivers which simply forwards out all but R1 the incoming interface, DVMRP’s ❍ Still how “truncated” is this? Reverse Path Multicast maintains a list of child links for each sender. It ❒ sends packets only out child links, Pruning not parent or sibling links. This Siblings ❍ means Router R2 will not forward R2 R3 Prune messages sent if no downstream receivers data from the Sender to Router R3. ❍ State maintained for each unwanted group ❒ Grafting ❍ On join or graft, remove prune state and propagate graft R4 R5 R6 R7 message Receiver Truncation: no packets forwarded onto leaf networks with no receivers 4: Network Layer 4a-19 4: Network Layer 4a-20 DVMRP Pruning Example DVMRP Grafting Example Sender Sender R1 R1 Prune Graft Join from Receiver 2 causes router to remove R2 R3 R2 R3 its prune state and send a Join message up Prune State toward the Sender. Prune Prune Prune Graft R4 R5 R6 R7 R4 R5 R6 R7 Receiver 2 joins Receiver Receiver 1 multicast Membership group Report 4: Network Layer 4a-21 Receiver4: Network 2 Layer 4a-22 DVMRP Problems Core Based Trees (CBT) ❒ State maintained for unwanted groups ❒ Attributes ❒ Bandwidth intensive ❍ Single shared tree per group => sparse trees ❍ Periodic data flooding per group ❍ Large number of senders • No explicit joins, and prune state times out ❍ Routing tables scale well, size = O(Groups) ❍ Not suitable for heterogeneous networks ❍ Bi-directional tree ❒ Poorly handles large number of senders ❍ Scaling = O(Senders, Groups) ❒ Problems of distance vector routing ❍ slow convergence ❍ cycles due to lack of global knowledge 4: Network Layer 4a-23 4: Network Layer 4a-24 4 Group Management in CBT Sending Data in CBT (1) Core Case 1: Sender is a member Core Join Ack of the multicast group, and the first hop router is on the Ack R R shared tree. R R Join R R R4 R R R4 Ack Ack Join Join Sender R1 R R2 R3 R R1 R R2 R3 R5 2. Receiver 2 also joins the multicast Packets from the Sender are 1. Receiver 1 joins the multicast group, causing Router R3 to join the propagated by routers on the group, causing Router R2 to join the shared tree by sending a Join shared tree by sending out all shared tree by sending a Join message toward the Core. Router interfaces that are branches of message toward the Core. The Core R4 is already part of the shared the tree except the interface the sends an explicit ACK back to to Receiver 1 Receiver 2 tree, so it adds R3 to the shared tree Receiver 1 Receiver 2 packet arrived on. Router R2. and sends back an ACK. 4: Network Layer 4a-25 4: Network Layer 4a-26 Sending Data in CBT (2) Protocol Independent Multicast (PIM) 2. The Core decapsulates the encapsulated packets, and it Case 2: Sender is not a Core distributes them out the shared ❒ member of the multicast tree. Uses unicast routing table for topology group, and the first hop ❒ router is not on the shared R R Dense mode (PIM-DM) tree. ❍ For groups with many receivers in local/global region R R R4 ❍ Encapsulated Like DVMRP, a flood and prune algorithm Data Packet ❒ Sparse mode (PIM-SM) Receiver ❍ R1 R R2 R3 R5 For groups with few widely distributed receivers Sender 1. Router R1 is not on the shared ❍ tree, so it does an IP-in-IP Builds shared tree per group, but may construct encapsulation of packets from the source rooted tree for efficiency Sender, and it unicasts the encapsulated packets to the Core. ❍ Explicit join Receiver Receiver 4: Network Layer 4a-27 4: Network Layer 4a-28 PIM Sparse Mode Group Management in PIM-SM Rendezvous Point ❒ Hybrid protocol that combines features of RP DVMRP and CBT Join R R ❒ Suited to widely distributed, heterogeneous networks Join R R R ❒ Shared tree centered at Rendezvous Point (RP) Join ❒ Shared tree introduces sources to receivers DR1 R DR2 R R ❒ Source specific trees for heavy traffic flows 1.