* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Berkeley Multimedia Research Center September 1996
Survey
Document related concepts
Piggybacking (Internet access) wikipedia , lookup
Internet protocol suite wikipedia , lookup
Distributed firewall wikipedia , lookup
Computer network wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Network tap wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Deep packet inspection wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Airborne Networking wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Transcript
Introduction to Multicast Network Protocols October 5, 1999 Lawrence A. Rowe and Gordon Chaffee University of California, Berkeley URL: http://www.BMRC.Berkeley.EDU/~larry Outline • Multicast Application Models • Multicast Routing • Multicast and the ISP’s • Problems • Future Work on Multicast Applications Multimedia Systems & Applications 2 What is Multicast? • 1 to N communication Called N-way communication Dynamic join/leave • Network hardware efficiently supports multicast transport Example: Ethernet allows one packet to be received by many hosts • Many different protocols and service models Examples: IETF IP Multicast, ATM Multipoint Multimedia Systems & Applications 3 ATM Multipoint Service • Single sender with multiple receivers Multipoint - essentially an N-to-1 unicast circuit • N-way communication? Identify single multicast server that forwards all messages Open N multipoint circuits • Early versions did not allow dynamic join/leave • Works well for interactive broadcast applications I.e., applications where one sender dominant Multimedia Systems & Applications 4 IP Multicast • True N-way communication Any participant can send at any time and everyone receives the message • Unreliable delivery Avoids hard problem (e.g., NACK explosion) • Efficient delivery Packets only traverse network links once (i.e., tree delivery) • Location independent addressing One IP address per multicast group • Receiver-oriented service model Receivers can join/leave at any time Senders do not know who is listening Multimedia Systems & Applications 5 IP Multicast Details • Service All senders send at the same time to the same group Receivers subscribe to any group Routers find receivers • Reserved IP addresses 224.0.0.0 to 239.255.255.255 reserved for multicast Partitioned for different addressing models (e.g., administrative scoping, global/local scoping, etc.) Static addresses for popular services (e.g., SAP) Multimedia Systems & Applications 6 Internet Group Management Protocol • Protocol for managing group membership IP hosts report multicast group memberships to neighboring routers Messages in IGMPv2 (RFC 2236) Membership Query (from routers) Membership Report (from hosts) Leave Group (from hosts) • Announce-listen protocol with suppression Host responds only if no other host has responded • Soft-state protocol Multimedia Systems & Applications 7 IGMP Example (1) 1 3 Network 1 Network 2 Router 2 4 • Host 1 begins sending packets No IGMP messages sent Packets remain on Network 1 • Router periodically sends IGMP Membership Query Multimedia Systems & Applications 8 IGMP Example (2) Membership Leave Report Group 1 3 Network 1 Network 2 Router 2 4 • Host 3 joins conference Sends IGMP Membership Report message • Router begins forwarding packets onto Network 2 • Host 3 leaves conference Sends IGMP Leave Group message Only sent if it was the last host to send an IGMP Membership Report message Multimedia Systems & Applications 9 Distance Vector Routing • First decentralized IP routing algorithm • Building routing tables Routers know local links and distance to self Neighbor routers exchange current distance vectors New distances computed using neighbors distance vectors • Routing tables Nodes maintain distance from self to every destination Multimedia Systems & Applications 10 Distance Vector Example B L2 L1 A C L3 L5 L4 D E 1. Begin with all distance vectors only knowing distance to self. Assume link costs are 1. 3. Send distance vectors; nodes re-compute vectors. A B C D E A 0 XX B 0 XX C 0 XX D 0 XX E 0 XX 2. Initial distance vectors are sent to neighbors, and nodes compute new distance vectors. A B D C E A A 0 XX B B 1 L1 A D 1 L3 C 4. Now, the network has converged. No changes will occur in the distance vectors without a topology change. B C D E 0 XX C 0 XX D 0 XX E 0 XX 1 L1 B 1 L2 A 1 L3 D 1 L4 1 L2 E 1 L5 E 1 L4 C 1 L5 A 0 XX 1 L1 1 L3 2 L1 2 L3 B A C D E B 0 XX 1 L1 1 L2 2 L1 2 L2 C B E A D C 0 XX 1 L2 1 L5 2 L2 2 L5 D A E B C D 0 XX 1 L3 1 L4 2 L3 2 L4 E D C A B E 0 XX 1 L4 1 L5 2 L4 2 L5 * Note: Routing updates sent at random intervals, not synchronously as shown in this example. Multimedia Systems & Applications 11 Distance Vector Problems • Problems Routing tables slow to converge Route flapping Cycles can occur after topology changes Cycle in tables L1 A L2 B C • Optimizations Triggered updates Split horizon with poison reverse Multimedia Systems & Applications 12 Distance Vector Example 2 Temporary Cycle B L2 L1 A C L3 1. Begin with the converged routing tables from the previous example. A B D C E A 0 XX 1 L1 1 L3 2 L1 2 L3 B A C D E B 0 XX 1 L1 1 L2 2 L1 2 L2 C B E A D C 0 XX 1 L2 1 L5 2 L2 2 L5 D A E B C D 0 XX 1 L3 1 L4 2 L3 2 L4 E D C A B E 0 XX 1 L4 1 L5 2 L4 2 L5 2. Link L2 between B and C fails. B begins using link L1 to get to C. However, A uses link L1 to get to C, so there is now a cycle between A and B. There is also a cycle between C and E. A B D C E A 0 XX 1 L1 1 L3 2 L1 2 L3 B A C D E B 0 XX 1 L1 3 L1 2 L1 2 L2 C B E A D C 0 XX 3 L5 1 L5 2 L2 2 L5 D A E B C D 0 XX 1 L3 1 L4 2 L3 2 L4 E D C A B Multimedia Systems & Applications E 0 XX 1 L4 1 L5 2 L4 2 L5 L5 L4 D E 3. Routing tables continue to be exchanged. A B D C E A 0 XX 1 L1 1 L3 3 L3 2 L3 B A C D E B 0 XX 1 L1 3 L1 2 L1 2 L2 C B E A D C 0 XX 3 L5 1 L5 2 L2 2 L5 D A E B C D 0 XX 1 L3 1 L4 2 L3 2 L4 E D C A B E 0 XX 1 L4 1 L5 2 L4 3 L4 4. Routing tables converge after another exchange. A B D C E A 0 XX 1 L1 1 L3 3 L3 2 L3 B A C D E B 0 XX 1 L1 4 L1 2 L1 2 L2 C B E A D C 0 XX 4 L5 1 L5 2 L2 2 L5 D A E B C D 0 XX 1 L3 1 L4 2 L3 2 L4 E D C A B E 0 XX 1 L4 1 L5 2 L4 3 L4 13 Path Vector Routing • • • • Distribute full paths to destinations Simple Converges quickly Every node on network knows full network topology • Used by the Border Gateway Protocol (BGP) Multimedia Systems & Applications 14 Multicast Routing Discussion • What is the problem? Need to find all receivers in a multicast group Need to create spanning tree of receivers • Design goals Minimize unwanted traffic Minimize router state Scalability Reliability Multimedia Systems & Applications 15 Tree Building Choices • Flood and prune Distance Vector Multicast Routing Protocol (DVMRP) Protocol Independent Multicast Dense Mode (PIM-DM) • Explicit join Core Based Trees (CBT) Protocol Independent Multicast Sparse Mode (PIM-SM) • Flood network topology to all routers Link state protocol MOSPF Multimedia Systems & Applications 16 Data Flooding • Send data to all nodes in network • Problem Need to prevent cycles Need to send only once to all nodes in network Could keep track of every packet and check if it had previously visited node, but means too much state R2 R1 R3 Sender Multimedia Systems & Applications 17 Reverse Path Forwarding (RPF) • Simple technique for building trees • Send out all interfaces except the one with the shortest path to the sender • In unicast routing, routers send to the destination via the shortest path • In multicast routing, routers send away from the shortest path to the sender Multimedia Systems & Applications 18 Reverse Path Forwarding Example 1. Router R1 checks: Did the data packet arrive on the interface with the shortest path to the Sender? Yes, so it accepts the packet, duplicates it, and forwards the packet out all other interfaces except the interface that is the shortest path to the sender (i.e the interface the packet arrived on). Sender 2. Router R2 accepts packets sent from Router R1 because that is the shortest path to the Sender. The packet gets sent out all interfaces. R1 Drop R2 3. Router R2 drops packets that arrive from Router R3 because that is not the shortest path to the sender. Avoids cycles. R3 Drop R4 Multimedia Systems & Applications R5 R6 R7 19 Data Distribution Choices • Source rooted trees State in routers for each sender Forms shortest path tree from each sender to receivers Minimal delays from sources to destinations • Shared trees All senders use the same distribution tree State in routers only for wanted groups No per sender state (until IGMPv3) Greater latency for data distribution Multimedia Systems & Applications 20 Source Rooted vs Shared Trees A B A C B D Source Rooted Trees Often does not use optimal path from source to destination. C D Routers maintain state for each sender in a group. Multimedia Systems & Applications Shared Tree Traffic is heavily concentrated on some links while others get little utilization. 21 Distance Vector Multicast Routing (DVMRP [Deering88]) • Source rooted spanning trees Shortest path tree Minimal hops (latency) from source to receivers • Extends basic distance vector routing • Flood and prune algorithm Initial data sent to all nodes in network using RPF Prunes remove unwanted branches State in routers for all unwanted groups Periodic flooding since prune state times out (soft state) Multimedia Systems & Applications 22 DVMRP Problems • Problems of distance vector routing • State maintained for unwanted groups • Bandwidth intensive Periodic data flooding per group No explicit joins, and prune state times out Not suitable for heterogeneous networks • Poorly handles large number of senders Scaling = O(Senders, Groups) Multimedia Systems & Applications 23 Multicast Tunneling • Problem Not all routers are multicast capable Want to connect domains with non-multicast routers between them • Solution Encapsulate multicast packets in unicast packet Tunnel multicast traffic across non-multicast routers • Internet MBONE Multicast capable virtual subnet of Internet Native multicast regions connection with tunnels Multimedia Systems & Applications 24 Multicast Tunneling Example (1) Multicast Router 1 encapsulates multicast packets for groups that have receivers outside of network 1. It encapsulates them as unicast IP-in-IP packets. Encapsulated Data Packet UR1 Multicast Router 1 Sender 1 Multicast Router 2 Multicast Router 2 decapsulates IP-in-IP packets. It then forwards them using Reverse Path Multicast. UR2 Unicast Routers Receiver Network 2 Network 1 Multimedia Systems & Applications 25 Multicast Tunneling Example (2) Virtual Network Topology MR1 MR2 Virtual Interfaces Multimedia Systems & Applications 26 Multicast Problems • Debugging is difficult • Immature protocols and applications • Interoperability Flood and prune/explicit join • Routing instability Multimedia Systems & Applications 27 Operational Problems • Debugging is difficult • Misconfigured routers inject unicast routing tables into multicast routing tables • Black holes Cisco to Cisco tunneling using DVMRP doesn’t work Routes exchanged, but no data flows RPF checks on different routers think multicast traffic should be coming from the other router • Backchannel tunnels Improper tunnels cause non-optimal routing behavior Multimedia Systems & Applications 28 Multicast Address Allocation • Problem Multicast addresses are a limited resource Current multicast address allocation scheme does not scale and makes multicast routing more difficult • Solution Use dynamically allocated addresses Location of address allocation determines root of shared tree Hierarchical address allocation scales better and helps multicast routing Multimedia Systems & Applications 29 Multicast Address Allocation Architecture • Multicast Address Set Claim (MASC) Protocol to allocate multicast address sets to domains Algorithm: Listen and claim with collision detection Makes hierarchy available to routing infrastructure • Address Allocation Protocol (AAP) Protocol for allocating multicast addresses within domains Used by Multicast Address Allocation Servers (MAAS) • MDCHP (Multicast DHCP) Protocol for end hosts to request multicast address Extension to DHCP (Dynamic Host Configuration Protocol) Multimedia Systems & Applications 30 Multicast Address Allocation Example MASC TCP MASC Exchanges Allocation Domain MASC MASC Multicast AAP MAAS MDHCP MAAS MDHCP Multimedia Systems & Applications MAAS MAAS MDHCP 31 Scoping Multicast Traffic • TTL based Based on Time to Live (TTL) field in IP header Only packets with a TTL > threshold cross boundary • Administrative scoping Set of addresses is not forwarded past domain More flexible than TTL based. • Scoped addresses 224.0.0.* never leaves subnet Multimedia Systems & Applications 32 TTL Scoping Example Receiver 1 Receiver 2 Network 2 Network 1 TTL=2 R1 TTL=1 R2 Network 3 Sender Multimedia Systems & Applications TTL=33 TTL=4 TTL=3 R3 TTL=4 Network 4 R4 R4 blocks traffic with TTL < 32 Receiver 3 33 Administrative Scoping Example CAIRN High Speed Network UC Berkeley Network To Rest of World To Rest of World R1 R2 R3 R4 Host • Administrative scoping allows traffic to be limited to a region based on its multicast group address, resulting in more flexible network configurations. • The Host can send traffic that is limited to only the CAIRN High Speed Network, to only the UC Berkeley Network, to both, or to the rest of the world. • • • • 239.2.0.0 - 239.2.255.255: Traffic scoped to only the CAIRN High Speed Network 239.3.0.0 - 239.3.255.255: Traffic scoped to only the UC Berkeley Network 239.4.0.0 - 239.4.255.255: Traffic scoped to both the CAIRN and UC Berkeley Networks 224.0.1.0 - 238.255.255.255: Traffic scoped to the rest of the world Multimedia Systems & Applications 34 ISP Concerns • Multicast causes high network utilization One source can produce high total network load Experimental multicast applications are relatively high bandwidth: audio and video Flow control non-existent in many multicast apps • Multicast breaks TELCO/ISP pricing model Currently, both sender and receiver pay for bandwidth Multicast allows sender to buy less bandwidth while reaching same number of receivers Load on ISP network not proportional to source data rate Multimedia Systems & Applications 35 Economics of Multicast • One packet sent to multiple receivers • Sender + Benefits by reducing network load compared to unicast + Lower cost of network connectivity • Network service provider - One packet sent can cause load greater than unicast packet load + Reduces overall traffic that flows over network • Receiver = Same number of packets received as unicast Multimedia Systems & Applications 36 Campus Network Operator Concerns • Needs to control traffic distribution Campus has some networks with and without capacity to carry multicast traffic Applications produce multiple streams – different bit rates Want to control where high bit rate streams are transmitted • Needs stable protocol that works with different vendor equipment Reduce the number of phone calls to netops Multimedia Systems & Applications 37 Multicast Problems • Multicast is immature Tools are poor, difficult to use Routing protocols leave many issues unresolved PIM support limited and does not interoperate • Multicast development has focused on academic problems, not business concerns • Routing did not address policy PIM, DVMRP, CBT do not address ISP policy concerns BGMP addresses some ISP concerns, but it is still under development Multimedia Systems & Applications 38 Current ISP Multicast Solution • Restrict senders of multicast data • ISP’s beginning to support multicast Customers are demanding service Long-term solution to traffic growth problem • Multicast interchanges (MIX) being established Similar to unicast exchange centers Multimedia Systems & Applications 39 What’s the Alternative • Broadcast distribution networks (e.g., broadcast.com, real, etc.) Build private network with traffic splitters in remote sites Client connects to nearest traffic splitter Build cache at remote sites • <put your great idea here!> Multimedia Systems & Applications 40 Splitter Network S S Streaming Server S S Multimedia Systems & Applications 41 Future Directions • Improving applications and networks for distributed multimedia Make applications more adaptive Make protocols more resilient to loss Make algorithms more resilient to loss Make networks more responsive and flexible • Develop new models/protocols for multicast services • Fix routing problems Multimedia Systems & Applications 42