1.24k likes | 1.25k Views
IP-Multicast (outline). Motivation and Background Multicast vs. unicast Multicast Applications Delivery of Multicast Local delivery and multicast addressing WAN delivery and its model Group Membership Protocol (IGMP) Multicast Algorithms and Concepts
E N D
IP-Multicast (outline) Motivation and Background Multicast vs. unicast Multicast Applications Delivery of Multicast Local delivery and multicast addressing WAN delivery and its model Group Membership Protocol (IGMP) Multicast Algorithms and Concepts Flooding, Spanning Tree, Reverse Path Broadcasting (RPB), Truncated RPB, Reverse Path Multicasting, Center-Based Trees Ahmed Helmy - UF
Multicast Routing Protocols Dense vs. Sparse Multicast DVMRP MOSPF PIM (PIM-DM, PIM-SM) Multicast and the Internet The MBONE Recent deployment Outline (Contd.) Ahmed Helmy - UF
Unicast vs. Multicast Multicast provides multipoint-to-multipoint communication Today majority of Internet applications rely on point-to-point transmission (e.g., TCP). IP-Multicast conserves bandwidth by replicating packets in the network only when necessary Ahmed Helmy - UF
Unicast vs. Multicast S S R1 R1 R2 R2 R3 R3 R4 R4 Multiple unicasts Multicast Ahmed Helmy - UF
Example Multicast Applications • One-to-Many • Scheduled audio/video distribution: lectures, presentations • Push media: news headlines, weather updates • Caching: web site content & other file-based updates sent to distributed replication/caching sites • Announcements: network time, configuration updates • Monitoring: stock prices, sensor equipment Ahmed Helmy - UF
IP Multicast Applications (contd.) • Many-to-One • Resource discovery • Data collection and sensing • Auctions • Polling Ahmed Helmy - UF
IP Multicast Applications (contd.) • Many-to-Many • Multimedia Teleconferencing (audio, video, shared whiteboard, text editor) • Collaboration • Multi-Player Games • Concurrent Processing • Chat Groups • Distributed Interactive Simulation Ahmed Helmy - UF
Currently: The Multicast Backbone (MBONE) carries audio and video multicasts of IETF meetings, NASA space shuttle missions,.. etc. Ahmed Helmy - UF
How do hosts know about new groups? • The Session Directory (SD) tool lists active multicast sessions on MBONE and allows to join a conference using MBONE tools: • vat (visual audio tool), rat (robust audio tool) • vic (video tool) • wb (shared white board) • nte (network text editor), .. etc. Ahmed Helmy - UF
More Applications ... • Resource Discovery • Multicast may be used (instead of broadcast) to transmit to group members on the same LAN. • Multicast may be used for resource discovery within a specific scope using the TTL field in the IP header. Ahmed Helmy - UF
Multicast Scope Control:TTL Expanding-Ring Search to reach or find a nearby subset of a group s 1 2 3 Ahmed Helmy - UF
Multicast Scope Control: Administrative TTL Boundaries to keep multicast traffic within an administrative domain, e.g., for privacy reasons the rest of the Internet TTL threshold set oninterfaces to these links,greater than the diameterof the admin. domain an administrative domain Ahmed Helmy - UF
Multicast Scope Control: Administratively-Scoped Addresses • RFC 1112 • uses address range 239.0.0.0 — 239.255.255.255 the rest of the Internet address boundary set oninterfaces to these links an administrative domain Ahmed Helmy - UF
Over the same (LAN): The source addresses the IP packet to the multicast group The network interface card maps the Class D address to the corresponding IEEE-802 multicast address Receivers notify their IP layer to receive datagrams addressed to the group. Key issue is ‘addressing’ & filtration Transmission and Delivery of Multicast Datagrams Ahmed Helmy - UF
Over different subnets: Routers implement a multicast routing protocol that constructs the multicast delivery trees and supports multicast data packet forwarding. Routers implement a group membership protocol to learn about the existence of group members on directly attached subnets. Hosts implement the group membership protocol that provides the ‘IP-multicast host model’ Ahmed Helmy - UF
Addressing Types of IP addresses: Unicast: used to transmit packets to one destination. Broadcast: used to send datagrams to entire subnet. Multicast: used to deliver datagrams to a set of hosts (members of a multicast group) in various scattered subnets. Ahmed Helmy - UF
IP-Multicast is a “best-effort” service. Reliable/ordered delivery are not guaranteed. Reliability may be provided by upper-layer protocols (e.g., reliable multicast protocols). IP-Multicast packets include a "group address" (Class D) in the Destination field of the IP header. Ahmed Helmy - UF
Multicast Addressing An IP multicast group is identified by a Class D address. Multicast group addresses range from (224.0.0.0) to (239.255.255.255). Ahmed Helmy - UF
The Internet Assigned Numbers Authority (IANA) registers IP multicast groups. The block of multicast addresses ranging from (224.0.0.1) to (224.0.0.255) is reserved for local LAN multicast: used by routing protocols and other low-level topology discovery or maintenance protocols E.g., "all-hosts" group (224.0.0.1), "all-routers” group (224.0.0.2), "all DVMRP routers", etc. The range (239.0.0.0) to (239.255.255.255) are used for site-local "administratively scoped" applications. Ahmed Helmy - UF
Mapping Class D to Ethernet Address • All multicast addresses in IANA's reserved block begin with 01-00-5E (hex) • Mapping between a Class D and an Ethernet multicast address is obtained by: • placing the low-order 23 bits of the Class D address into the low-order 23 bits of IANA's reserved address block. Ahmed Helmy - UF
How multicast group address 224.10.8.5 (E0-0A-08-05) is mapped into an Ethernet (IEEE-802) multicast address. The mapping may place up to 32 different IP groups into the same Ethernet address because the upper five bits of the IP multicast group ID are ignored. Ahmed Helmy - UF
Hosts can join or leave a group at any time A host may be a member of multiple groups Senders need not be members of the group Participants do not know about each other The two components of IP-multicast: the group membership protocol the multicast routing protocol The Multicast Host Model Ahmed Helmy - UF
Group Membership Protocol • Routers need to learn about the presence of group members on directly attached subnets • When a host joins a group: • it transmits a group membership message for the group(s) that it wishes to receive • sets its IP process and network interface card to receive packets sent to those groups. Ahmed Helmy - UF
This receiver-initiated join process scales well: as the group size increases, it becomes more likely for a new member to locate a nearby branch of the multicast distribution tree. Ahmed Helmy - UF
Multicast Routing Protocols Run on routers and establish the multicast distribution tree to forward packets from sender(s) to group members. Based on unicast routing concepts: DVMRP is a distance-vector routing protocol, MOSPF is an extension to the OSPF link-state unicast routing protocol. Center-based trees (e.g., CBT & PIM-SM) introduce the notion of the tree ‘core’. Ahmed Helmy - UF
Internet Group Management Protocol (IGMP) IGMP runs between hosts and their immediately neighboring multicast routers. The protocol allows a host to inform its ‘first-hop’ router that it wishes to receive packets destined to a specific group. Ahmed Helmy - UF
Router Operation in IGMP • Routers periodically query the LAN to determine if group members are still active. • One router per LAN is elected as "querier" to query for group members. • Through IGMP a router determines which multicast traffic needs to be forwarded to each of its "leaf" subnets. Ahmed Helmy - UF
IGMP Version 1 RFC-1112 To determine local group membership: Multicast routers periodically transmit ‘Host Membership Query’ messages Queries are ddressed to the all-hosts group (224.0.0.1) with TTL = 1 (i.e., not forwarded by any other multicast router). Ahmed Helmy - UF
Upon receiving a Query, a host responds with a ‘Host Membership Report’ for each group that it wishes to Join Observation: The router only needs to know of at least one group member on the leaf subnet Hosts Joining Groups Ahmed Helmy - UF
Report Suppression Mechanism • To avoid Report implosion: • Each host starts a random delay timer for its Reports. • If during the delay period another Report is heard for the same group, the host resets its timer • Otherwise, the host transmits a Report causing other group members to reset their timers • Thus, Reports are spread out over time and Report traffic is minimized Ahmed Helmy - UF
IGMP-Query Message Ahmed Helmy - UF
Updating Local Membership • The querier periodically transmits Queries to update local membership • If no Report is received for a group after a number of Queries, the router assumes that members are no longer present on that LAN • the group is removed from the membership list of that interface/subnet Ahmed Helmy - UF
Reducing Join Latency • When a host first joins a group, it immediately transmits a Report for the group rather than waiting for a router Query. Ahmed Helmy - UF
IGMP Version 2 (IGMP V2) • IGMP V2 was part of IP-mcast (V3.3-3.8) • spec <draft-ietf-idmr-igmp-v2-01.txt> • IGMP V2 enhances IGMP V1 • IGMP V2 elects one querier for each LAN, the router with the lowest IP address. • In V1, the querier election was done by the multicast routing protocol (different multicast routing protocol used different methods). Ahmed Helmy - UF
IGMP V2 defines a new Query message, the ‘Group-Specific Query’, to Query a specific group rather than all groups Ahmed Helmy - UF
Reducing Leave Latency • To reduce ‘leave latency’ V2 defines a ‘Leave Group’ message • When a host leaves a group, it sends a ‘Leave Group’ to the all-routers group (224.0.0.2) with the group field set to the group to be left. • Upon receiving a Leave from a LAN, the querier sends Group-Specific Query on that LAN. • If there are no Reports in response to the Group-Specific Query, the group is removed from the membership list of that subnet. Ahmed Helmy - UF
Observation: With IGMP V1 and V2, if a host wants to receive any sources from a group, the traffic from all sources for the group has to be forwarded onto the subnet. Ahmed Helmy - UF
IGMP Version 3 (IGMP v3) • Spec: <draft-ietf-idmr-igmp-v3-03.txt> • IGMP V3 supports Group-Source Reports: • A host can elect to receive traffic from specific sources of a multicast group. • An inclusion Group-Source Report specifies the sources a host wants to receive. • An exclusion Group-Source Report identifies the sources a host does not want to receive. Ahmed Helmy - UF
IGMP v3 enhances support for Leave Group messages to support ‘Group-Source’ Leave messages: A host can leave an entire group or specific (source, group) pair(s). Ahmed Helmy - UF
Multicast Forwarding Algorithms A multicast routing protocol is responsible for the establishment of the multicast distribution tree and for performing packet forwarding. Ahmed Helmy - UF
Several algorithms may be employed by multicast routing protocols: Flooding Spanning Trees Reverse Path Broadcasting (RPB) Truncated Reverse Path Broadcasting (TRPB) Reverse Path Multicasting (RPM) Core-Based Trees Ahmed Helmy - UF
These algorithms are implemented in the most prevalent multicast routing protocols in the Internet today. Distance Vector Multicast Routing Protocol (DVMRP) Multicast OSPF (MOSPF) Protocol-Independent Multicast (PIM) [PIM-DM and PIM-SM] Ahmed Helmy - UF
Flooding The simplest technique for multicast delivery. When a router receives a multicast packet it determines whether or not this is the first time it has seen this packet. On first reception, a packet is forwarded on all interfaces except the one on which it arrived. If the router has seen the packet before, it is discarded. Ahmed Helmy - UF
A router does not maintain a routing table, but needs to keep track of recently seen packets. Flooding does not scale for Internet-wide application: Generates a large number of duplicate packets and uses all available paths across the internetwork. Routers maintain a distinct table entry for each recently seen packet (consumes memory). Ahmed Helmy - UF
Spanning Tree More effective than flooding Defines a tree structure where one active path connects any two routers on the Internet. Spanning Tree rooted at R Ahmed Helmy - UF