[AG-TECH] Multicast service model
Lucy E. Lynch
llynch at darkwing.uoregon.edu
Tue Jan 22 18:34:21 CST 2002
Bill,
You've been reading my mind again - I did a quick cross check on
membership on ag-tech & mboned and found only the following points of
intersection:
almeroth at cs.ucsb.edu
esj at cs.fiu.edu
llynch at darkwing.uoregon.edu
nickless at mcs.anl.gov
tony at ncsa.uiuc.edu
ag-tech w/305 members & mboned w/425 members
Since the access grid community are currently some of the most active
users of Any Source Multicast service it might be useful for
1] more folks to follow the mboned discussions
http://www.ietf.cnri.reston.va.us/html.charters/mboned-charter.html
2] those of us in two places at once to cross post (judiciously)
when issues of interest arise
thanks for getting this rolling -
Lucy E. Lynch Academic User Services
Computing Center University of Oregon
llynch at darkwing.uoregon.edu (541) 346-1774/Cell: 912-7998
On Tue, 22 Jan 2002, Bill Nickless wrote:
> With the current discussion about multicast bridges, I think it might be
> about the right time to show people this Internet Draft on the IP multicast
> service model.
>
> The closest thing we have in the Internet for a multicast service model
> is RFC 1112 by Steve Deering (1989). It defines three things simultaneously:
>
> - The multicast service model
>
> - The system call extensions needed on hosts to support those apps
> that want to take advantage of the multicast service model
>
> - (In Appendix A) the wire protocol to control multicast on
> the local subnet: IGMP
>
> For the Access Grid, the service model is the most valuable of the
> above. The system call extension expectations are buried in the vic and
> rat applications, so some programming effort would be required to move
> beyond that. The Access Grid applications have no particular need for an
> IGMP-based local wire protocol; in fact, the existing MSB doesn't use IGMP
> at all.
>
> Caveats: the reference for the multicast service model on page 1 should
> be RFC 1112.
>
> David Helder suggested that we also look at the UDP Multicast
> Tunneling Protocol (UMTP) and Castgate.
>
> Comments and criticism welcome.
>
>
> Internet Draft B. Nickless
> Document: draft-nickless-mcast-svc-model-00.txt Argonne National
> Laboratory
> Expires: July 2002 January 2002
>
>
> Towards a Multicast Service Model
>
>
> Status of this Memo
>
> This document is an Internet-Draft and is in full conformance
> with all provisions of Section 10 of RFC2026.
>
> Internet-Drafts are working documents of the Internet Engineering
> Task Force (IETF), its areas, and its working groups. Note that
> other groups may also distribute working documents as Internet-
> Drafts.
>
> Internet-Drafts are draft documents valid for a maximum of six
> months and may be updated, replaced, or obsoleted by other documents
> at any time. It is inappropriate to use Internet-Drafts as
> reference material or to cite them other than as "work in progress."
>
> The list of current Internet-Drafts can be accessed at
> http://www.ietf.org/ietf/1id-abstracts.txt
>
> The list of Internet-Draft Shadow Directories can be accessed at
> http://www.ietf.org/shadow.html.
>
>
> Abstract
>
> This document outlines a framework for IP Multicast applications.
> It intends to describe the services that an application host and
> associated networks should provide, and provide a framework for
> evaluating ways to implement those services for applications.
>
>
> Table of Contents
>
> Status of this Memo................................................1
> Abstract...........................................................1
> Conventions used in this document..................................2
> Introduction and Motivation........................................2
> Core Application Operations........................................3
> Desirable Application Operations...................................4
> Evaluation Framework...............................................4
> Native Multicast (IGMP) Implementation of Core Operations..........4
> SSM With Group Leader Implementation of Core Operations............5
> PIM-speaking Host Implementation of Core Operations................6
> Hypothetical TCP-based Tunnel Implementation of Core Operations....6
>
> Nickless Informational - Expires July 2002 1
> Towards A Multicast Service Model January 2002
>
> Emcast Multicast Library...........................................7
> Security Considerations............................................8
> Acknowledgements...................................................8
> References.........................................................8
> Author's Address...................................................8
>
>
> Overview
>
> The traditional IP Multicast service model is conceptually simple: a
> source application sends datagrams to the network, which delivers
> those datagrams to interested receiver applications. Some
> applications could benefit from extensions to this conceptual model,
> such as providing the source application with knowledge of the
> existence of receivers. There remain networks where IP Multicast
> deployment is not complete, requiring applications to work around
> the problem. An application may wish to control which sources and
> receivers are permitted to participate. The traditionally
> unreliable nature of IP Multicast datagram delivery requires
> applications to implement their own reliable delivery schemes.
>
> This Draft intends to describe an application framework that
> provides a unified multicast application service model. Such a
> model could lead to a common Application Programming Interface for
> multicast applications. It could also provide a framework for
> evaluating protocols and implementations.
>
> Criteria for evaluating implementations to support the application
> framework are supplied, along with a brief survey of some existing
> possible implementations.
>
>
> Conventions used in this document
>
> The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
> "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
> document are to be interpreted as described in RFC-2119 [RFC2119].
>
>
> Introduction and Motivation
>
> IP Multicast [MCAST] is an internetwork service that allows IP
> datagrams sent from a source to be delivered to one or more
> interested receiver(s). That is, a host system sends a packet to
> the internetwork with a multicast group destination address. The
> internetwork transports this packet to all receivers (replicated
> where necessary) that have registered interest in receiving these
> packets.
>
> This multicast service model (XXX needs reference) was derived
> from how an operating system interacts with an Ethernet network
> interface. To send, the operating system builds Ethernet frames in
>
> Nickless Informational - Expires July 2002 2
> Towards A Multicast Service Model January 2002
>
> a buffer and hands that buffer off to the Ethernet interface for
> transmission. To receive, an operating system programs the Ethernet
> interface to accept frames that match a certain Media Access Control
> (MAC) address.
>
> Several classes of multicast applications have evolved. The first
> and perhaps best-known application is the multiparty multimedia
> conference. Following close behind is the use of IP multicast for
> service discovery, such as how the Open Shortest Path First (OSPF)
> routing protocol discovers adjacent routers. Distributing media
> content (for example, Internet Radio) is a natural fit for IP
> multicast. Time-sensitive distribution of financial market
> information can also be done through IP multicast. Parallel
> computations often require collective operations (barriers,
> broadcasts, multicasts) that could be implemented using IP multicast
> technology. The distribution of files across clusters of computers
> is a natural use of reliable multicast protocols.
>
> Core Application Operations
>
> Application developers and users have come to expect certain
> facilities to be available from an IP Multicast-enabled network.
> Often, when a local host or network does not support native IP
> Multicast, the application developer and/or end-user will implement
> these facilities independent of the network.
>
> Host Interface Discovery (INTERFACE DISCOVERY): The application
> queries the host to discover which, if any, of the host interfaces
> support IP Multicast services, and the IP address assigned to each
> interface.
>
> Multicast Packet Transmission (TRANSMIT): An application constructs
> an IP datagram including the IP Source Address determined through
> the INTERFACE DISCOVERY step and the IP Destination Address
> determined through the GROUP SELECT step. A pointer to this
> datagram is conveyed to the host, which is then responsible for
> transmitting this datagram to the network for transport to
> interested receivers.
>
> Join Multicast Group (JOIN): An application notifies the host that
> it wishes to receive IP datagrams addressed to a given IP
> Destination/Group address. Optionally, in the case of Source
> Specific Multicast, the application also notifies the host that it
> wishes to receive IP datagrams originated by a certain set of hosts
> identified by IP Source Addresses. The host notifies the network to
> deliver such packets, and returns an opaque identifier to the
> application for later use.
>
> Multicast Packet Receipt (RECEIVE): An application provides a memory
> pointer to the host, along with an opaque identifier provided by the
> host in the JOIN operation. The host waits until a datagram is
> received from the network that has an appropriate IP Destination
> Group address (and optionally an appropriate IP Source Address).
>
> Nickless Informational - Expires July 2002 3
> Towards A Multicast Service Model January 2002
>
> When received, the data is copied into memory associated with the
> pointer.
>
> Leave Multicast Group (LEAVE): An application notifies the host that
> it no longer wishes to receive IP datagrams addressed to a given IP
> Destination and/or Group address. The host in turn notifies the
> network to stop delivering such packets.
>
> Desirable Application Operations
>
> In addition to the Core Application Operations listed above,
> application developers and users are requesting certain additional
> services. At present these are not widely available or in use.
>
> Measure Group Size (GROUP SIZE): An application queries the host to
> determine whether there are any interested Receivers to which
> multicast datagrams might be delivered. If the returned estimate is
> zero, the application might choose not to construct IP datagrams for
> transmission.
>
> Authenticated Join Multicast Group (SECURE JOIN): An application
> must provide an authentication token as part of the JOIN operation.
>
> Authenticated Transmit To Multicast Group (SECURE TRANSMIT): An
> application must be "approved" in some way in order for its data to
> be received by cooperating receivers.
>
> Evaluation Framework
>
> As shown in the rest of this Draft, there are several possible ways
> of providing the multicast service to applications. Criteria for
> evaluating each approach should include:
>
> - How expensive is the deployment of the approach? Does it require
> the cooperation of the local network administrator to operate?
> - Is it compatible with the Best Current Practices of routing IP
> multicast in the Internet core?
> - Does it ensure that only one copy of a multicast packet need
> traverse a network link?
> - Does it allow for both multicast transmission and reception?
>
> Each of the following approaches is evaluated by these criteria.
>
>
> Native Multicast (IGMP) Implementation of Core Operations
>
> The traditional IGMPv2 service model implements the core application
> services in the following way:
>
> INTERFACE DISCOVERY is done by putting reachability information in
> the host reachability table, generally with a static route to the
> 224.0.0.0/4 logical internet subnet. The application looks up this
> reachability information and uses the IP address associated with the
> appropriate host interface.
>
> Nickless Informational - Expires July 2002 4
> Towards A Multicast Service Model January 2002
>
>
> TRANSMIT is done by the host executing the equivalent of a UNIX
> sendto() call, with the source address set by the INTERFACE
> DISCOVERY step above, and the destination address set to the
> intended Group address.
>
> JOIN is done through the operation of the IGMP protocol. The
> application instructs the host to create IGMP Group Membership
> reports, which the network uses to create appropriate forwarding
> trees to the local subnetwork.
>
> RECEIVE is done by the host executing the equivalent of a UNIX
> recvfrom() call, with the from address set to the Group address.
>
> LEAVE is done through the operation of the IGMP protocol. The
> application instructs the host to stop issuing IGMP Group Membership
> reports indicating interest in that Group.
>
> An extension of IGMP might support the SECURE JOIN Operation.
>
> Implementation of this approach requires that the host, and the host
> network, be made IGMP-aware. If properly configured by the network
> administrator, it is compatible with IPv4 routing Best Current
> Practices. Only one copy of a multicast packet is sent or received
> by the local Designated Router. Multicast transmission and
> reception is supported.
>
>
> SSM With Group Leader Implementation of Core Operations
>
> Single Source Multicast is generally implemented by a combination of
> IGMPv3 between the host and the network, and source-specific-tree-
> only PIM operations. Group addresses are in the 232.0.0.0/8 range,
> and any transmission within that range is source-specific.
>
> Within that context, INTERFACE DISCOVERY, TRANSMIT, JOIN, RECEIVE,
> and LEAVE operate the same way as described in the Native Multicast
> section.
>
> Some applications may wish to use SSM to provide many-to-many
> communications. It is possible to bootstrap many-to-many by
> designating an application group leader that redistributes the (S,G)
> information about active sources down a multicast distribution tree.
> Each interested receiver then executes a source-specific JOIN
> towards the newly discovered source.
>
> SECURE TRANSMIT can be implemented by controlling what (S,G)
> information is propagated down the source-information multicast
> distribution tree.
>
> SECURE JOIN can be implemented by encrypting the information
> propagated down the source-information multicast distribution tree.
>
>
> Nickless Informational - Expires July 2002 5
> Towards A Multicast Service Model January 2002
>
> Implementation of this approach requires that the host, and the host
> network, be made IGMPv3-aware. If properly configured by the
> network administrator, it is compatible with IPv4 routing Best
> Current Practice. Only one copy of a multicast packet is sent or
> received by the local Designated Router. Multicast transmission and
> reception is supported.
>
> PIM-speaking Host Implementation of Core Operations
>
> The design and implementations of IGMP predate the PIM routing
> protocol. However, one could imagine a host that ignores IGMP and
> speaks PIM directly with routers on the local subnetwork.
>
> INTERFACE DISCOVERY would have to be hard-coded or otherwise
> discovered by the implementation. The application or host would
> implement the PIM protocol instead of the IGMP protocol. This might
> mean the host would have to discover or be configured with the
> appropriate upstream PIM speaker (PIM Designated Router) for the
> local subnetwork.
>
> TRANSMIT would be accomplished by encapsulating the application data
> into a PIM Register message and transmitting that encapsulated data
> via unicast to the PIM Rendezvous Point. This would happen
> relatively infrequently; most of the data would be discarded until a
> PIM Join was received. Given a PIM Join, the application would
> transmit directly onto the local subnetwork.
>
> JOIN would be accomplished by sending a PIM Join towards the local
> PIM Designated Router, refreshed appropriately.
>
> RECEIVE is done by the host executing the equivalent of a UNIX
> recvfrom() call, with the from address set to the Group address.
>
> A variant of GROUP SIZE is accomplished as a side effect. Until the
> PIM Join arrives, the application can assume that no receiver has
> expressed an interest in the data at full rate, so the application
> need not even generate the data for transmission, much less transmit
> it on the local subnetwork.
>
> Implementation of this approach requires that the host and at least
> one router on the local network speak the PIM protocol. It is
> consistent with IPv4 routing Best Current Practice. Only one copy
> of a multicast packet is sent or received by the local Designated
> Router. Multicast transmission and reception is supported.
> Hypothetical TCP-based Tunnel Implementation of Core Operations
>
> Consider a hypothetical tunneling protocol that bypasses the local
> subnetwork of a host with an interested application. Multicast
> packets are transmitted from a tunnel host participating in the
> native IP multicast core of the internetwork, over a TCP channel, to
> the application on a host.
>
> INTERFACE DISCOVERY requires configuration on both the tunnel host
> and the application host. (This configuration might be automated.)
>
> Nickless Informational - Expires July 2002 6
> Towards A Multicast Service Model January 2002
>
> The application host needs to know what IP address to use to source
> packets, so that the internetwork core knows to get those packets
> from the tunnel host.
>
> TRANSMIT would be accomplished by encapsulating the application data
> into the TCP channel and transmitting it to the tunnel host. If the
> TCP transmit buffer is full, the application data would be
> discarded.
>
> JOIN and LEAVE would be accomplished by a special message through
> the TCP channel, where the application host notifies the tunnel host
> of its interest (or disinterest) in data from various groups (and
> possibly specific sources.)
>
> RECEIVE would be accomplished by the tunnel host encapsulating data
> into the TCP channel towards the application host. If the TCP
> transmit buffer is full, the application data would be discarded.
> The application host would decapsulate the data from the TCP stream
> and deliver it to the application in datagram form.
>
> TCP is preferred in this scenario because of its ability to sense
> congestion and back off appropriately.
>
> Implementation of this approach requires that the application host
> implement the TCP-Based Tunnel protocol, and that the application
> host be associated with at least one tunnel host. It does not
> require that the application host subnetwork be configured for
> multicast in any way. Given proper configuration of the tunnel
> host, it is consistent with IPv4 routing Best Current Practice. If
> there are multiple application hosts on a given subnetwork, multiple
> copies of a multicast packet may be carried to that subnetwork from
> the tunnel host (one each per TCP tunnel). Multicast transmission
> and reception is supported.
>
> Emcast Multicast Library
>
> Emcast [EMCAST] is a user-level implementation of several of the
> Core Operations. It implements the TRANSMIT, JOIN, LEAVE, and
> RECEIVE operations with library calls, and has hooks for handlers of
> various types. Currently supported handlers include the traditional
> Internet Multicast, Banana Tree Protocol, and Internet Relay Chat.
>
> Use of Emcast requires that the application support the Emcast
> library and at least one handler. If using the Banana Tree Protocol
> or Internet Relay Chat handlers, it does not require that the local
> subnetwork be configured for multicast in any way.
>
> If Emcast was extended to support the INTERFACE DISCOVERY operation,
> specifically giving the application an internetwork-unique
> multicast-enabled IP source address, then the non-traditional user-
> level multicast forwarding schemes (e.g. Banana Tree Protocol and
> Internet Relay Chat) could be made consistent with IPv4 routing Best
> Current Practice. This would of course require some gateway
>
> Nickless Informational - Expires July 2002 7
> Towards A Multicast Service Model January 2002
>
> function between a Banana Tree Protocol or Internet Relay Chat
> domain and the IPv4 multicast core.
>
> Multicast transmission and reception is supported.
>
> Security Considerations
>
> Multicast technology is subject to various denial-of-service
> attacks.
>
> Certain host-based implementation of IP multicast forwarding are
> subject to security vulnerabilities; especially when insecure
> services are delivered IP multicast packets without first executing
> a JOIN operation.
>
> Acknowledgements
>
> This work was supported by the Mathematical, Information, and
> Computational Sciences Division subprogram of the Office of Advanced
> Scientific Computing Research, U.S. Department of Energy, under
> Contract W-31-109-Eng-38.
>
>
> References
>
> [RFC2119] RFC 2119: Key Words for use in RFCs to Indicate
> Requirement Levels. S. Bradner. March 1997.
>
> [MCAST] RFC 1112: Host extensions for IP multicasting. S.E. Deering.
> Aug-01-1989.
>
> [EMCAST] http://www.junglemonkey.net/emcast by David A. Helder
>
>
> Author's Address
>
> Bill Nickless
> Argonne National Laboratory
> 9700 South Cass Avenue #221 Phone: +1 630 252 7390
> Argonne, IL 60439 Email: nickless at mcs.anl.gov
>
> Nickless Informational - Expires July 2002 8
>
> ===
> Bill Nickless http://www.mcs.anl.gov/people/nickless +1 630 252 7390
> PGP:0E 0F 16 80 C5 B1 69 52 E1 44 1A A5 0E 1B 74 F7 nickless at mcs.anl.gov
>
More information about the ag-tech
mailing list