summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc3170.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc3170.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc3170.txt')
-rw-r--r--doc/rfc/rfc3170.txt1571
1 files changed, 1571 insertions, 0 deletions
diff --git a/doc/rfc/rfc3170.txt b/doc/rfc/rfc3170.txt
new file mode 100644
index 0000000..dfdaf59
--- /dev/null
+++ b/doc/rfc/rfc3170.txt
@@ -0,0 +1,1571 @@
+
+
+
+
+
+
+Network Working Group B. Quinn
+Request for Comments: 3170 Celox Networks
+Category: Informational K. Almeroth
+ UC-Santa Barbara
+ September 2001
+
+
+ IP Multicast Applications:
+ Challenges and Solutions
+
+Status of this Memo
+
+ This memo provides information for the Internet community. It does
+ not specify an Internet standard of any kind. Distribution of this
+ memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2001). All Rights Reserved.
+
+Abstract
+
+ This document describes the challenges involved with designing and
+ implementing multicast applications. It is an introductory guide for
+ application developers that highlights the unique considerations of
+ multicast applications as compared to unicast applications.
+
+ To this end, the document presents a taxonomy of multicast
+ application I/O models and examples of the services they can support.
+ It then describes the service requirements of these multicast
+ applications, and the recent and ongoing efforts to build protocol
+ solutions to support these services.
+
+Table of Contents
+
+ 1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . 2
+ 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 2
+ 1.2 Focus and Scope. . . . . . . . . . . . . . . . . . . . . . . 3
+ 2. IP Multicast-enabled Network. . . . . . . . . . . . . . . . . . 3
+ 2.1 Essential Protocol Components. . . . . . . . . . . . . . . . 4
+ 2.1.1 Expedient Joins and Leaves . . . . . . . . . . . . . . . 5
+ 2.1.2 Send without a Join. . . . . . . . . . . . . . . . . . . 5
+ 3. IP Multicast Application Taxonomy . . . . . . . . . . . . . . . 6
+ 3.1 One-to-Many Applications . . . . . . . . . . . . . . . . . . 8
+ 3.2 Many-to-Many Applications. . . . . . . . . . . . . . . . . . 9
+ 3.3 Many-to-One Applications . . . . . . . . . . . . . . . . . .10
+ 4. Common Multicast Service Requirements . . . . . . . . . . . . .13
+ 4.1 Bandwidth Requirements . . . . . . . . . . . . . . . . . . .13
+
+
+
+Quinn, et al. Informational [Page 1]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ 4.2 Delay Requirements . . . . . . . . . . . . . . . . . . . . .13
+ 5. Unique Multicast Service Requirements . . . . . . . . . . . . .14
+ 5.1 Address Management . . . . . . . . . . . . . . . . . . . . .16
+ 5.2 Session Management . . . . . . . . . . . . . . . . . . . . .16
+ 5.3 Heterogeneous Receiver Support . . . . . . . . . . . . . . .18
+ 5.4 Reliable Data Delivery . . . . . . . . . . . . . . . . . . .20
+ 5.5 Security . . . . . . . . . . . . . . . . . . . . . . . . . .21
+ 5.6 Synchronized Play-Out. . . . . . . . . . . . . . . . . . . .23
+ 6. Service APIs. . . . . . . . . . . . . . . . . . . . . . . . . .23
+ 7. Security Considerations . . . . . . . . . . . . . . . . . . . .24
+ 8. Acknowledgements. . . . . . . . . . . . . . . . . . . . . . . .24
+ 9. References. . . . . . . . . . . . . . . . . . . . . . . . . . .24
+ 10. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . .27
+ 11. Full Copyright Statement . . . . . . . . . . . . . . . . . . .28
+
+1. Introduction
+
+ IP Multicast will play a prominent role on the Internet in the coming
+ years. It is a requirement, not an option, if the Internet is going
+ to scale. Multicast allows application developers to add more
+ functionality without significantly impacting the network.
+
+ Developing multicast-enabled applications is ostensibly simple.
+ Having datagram access allows any application to send to a multicast
+ address. A multicast application need only increase the Internet
+ Protocol (IP) time-to-live (TTL) value to more than 1 (the default
+ value) to allow outgoing datagrams to traverse routers. To receive a
+ multicast datagram, applications join the multicast group, which
+ transparently generates an [IGMPv2, IGMPv3] group membership report.
+
+ This apparent simplicity is deceptive, however. Enabling multicast
+ support in applications and protocols that can scale well on a
+ heterogeneous network is a significant challenge. Specifically,
+ sending constant bit rate datastreams, reliable data delivery,
+ security, and managing many-to-many communications all require
+ special consideration. Some solutions are available, but many of
+ these services are still active research areas.
+
+1.1 Motivation
+
+ The purpose of this document is to provide a framework for
+ understanding the challenges of designing and implementing multicast
+ applications. In order to use multicast communications correctly,
+ application developers must first understand the various I/O models
+ and the network services (in addition to basic multicast
+ communication) that are required. Secondly, application developers
+
+
+
+
+
+Quinn, et al. Informational [Page 2]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ need to be aware of efforts underway to provide these services. Such
+ efforts range in maturity from deployed commercial products to basic
+ research efforts to evaluate feasibility.
+
+ Multicast-based applications and services will play an important role
+ in the future of the Internet as continued multicast deployment
+ encourages their use and development. It is important that
+ developers be aware of the issues and solutions available--and
+ especially of their limitations--in order to avoid protocols that
+ negatively impact networks (thereby counter-acting the benefits of
+ multicast) or wasting their efforts "re-inventing the wheel".
+
+ The hope is that by raising developers' awareness, we can adjust
+ their expectations of finding solutions and lead them to successful,
+ scalable, and "network-friendly" development efforts.
+
+1.2 Focus and Scope
+
+ Our initial premise is that the multicast infrastructure is
+ transparent to applications, so it is not directly relevant to this
+ discussion. Our focus here is on multicast application protocol
+ services, so this document explicitly avoids any discussion of
+ multicast routing issues. We identify and describe the multicast-
+ specific issues involved with developing applications.
+
+ We assume the reader has a general understanding of the mechanics of
+ multicast, and in this respect we intend to compliment other
+ introductory documents [BeauW, Maufer, Miller]. Since this is an
+ introductory survey rather than a comprehensive examination, we refer
+ readers to other multicast application requirements descriptions [RM,
+ LSMA, Miller] for more detail.
+
+ In the remainder of this document we first define the term "IP
+ multicast enabled network", the multicast infrastructure and
+ essential multicast services. Next we describe the types of new
+ functionality that multicast applications can enable and their
+ requirements. We then examine the services that satisfy these
+ requirements, the challenges they present, and provide a brief survey
+ of the solutions available or under development. We wrap up with a
+ discussion of application programming interfaces (APIs) for multicast
+ services.
+
+2. IP Multicast Enabled Network
+
+ An "IP multicast-enabled network" provides end-to-end services in the
+ IP network infrastructure to allow any IP host to send datagrams to
+ an IP multicast address that any number of other IP hosts widely
+ dispersed can receive.
+
+
+
+Quinn, et al. Informational [Page 3]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ There are two kinds of multicast-enabled networks available. The
+ first is based on the original multicast service model as defined in
+ RFC 1112 [Deering]. In this model, a receiver simply joins the group
+ and does not need to know the identity of the source(s). This model
+ is known by a number of names including Internet Standard Multicast
+ (ISM), Internet Traditional Multicast (ITM), Deering multicast, etc.
+ The second kind of multicast modifies the original service model such
+ that in addition to knowing the group address, a receiver must know
+ the set of relevant sources. This type of multicast is called Source
+ Specific Multicast (SSM) [SSM]. It becomes the application's
+ responsibility to know what kind of multicast capability the network
+ provides. Currently, the only way for an application to know the
+ type of multicast is based on the group address. If the group is in
+ the 232/8 range, the application should assume SSM is the service
+ model. Otherwise, the application should assume source-generic
+ multicast is the service model.
+
+ At the time of this writing, end-to-end "global" multicast service is
+ not yet available, but the size of the "multicast-enabled" Internet
+ is growing. Recent development and deployment of interdomain
+ multicast routing protocols and multicast-friendly Internet exchanges
+ have enabled peering between major ISPs. This, along with the
+ increasing availability of compelling content, is spurring deployment
+ and availability of the IP Multicast Enabled Network.
+
+ In the remainder of this document we assume that the multicast-
+ enabled network is already ubiquitous. Since such a large and
+ growing portion of the global Internet is IP multicast-enabled now,
+ and many enterprise networks (intranets) are also, this perspective
+ is relevant today.
+
+2.1 Essential Protocol Components
+
+ An IP multicast enabled network requires two essential protocol
+ components:
+
+ 1) An IP host-based protocol to allow a receiver application to
+ notify a local router(s) that it has joined the group, and
+ initiate the data flow from all sender(s) within the scope
+
+ 2) An IP router-based protocol to allow any routers with multicast
+ group members (receivers) on their local networks to communicate
+ with other routers to ensure that all datagrams sent to the
+ group address are forwarded to all receivers within the intended
+ scope
+
+
+
+
+
+
+Quinn, et al. Informational [Page 4]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ Ideally, these protocol components are transparent to multicast
+ applications. However, there are two aspects of their functionality
+ requirements that are worth mentioning specifically, since they
+ affect application performance and design. These are the multicast
+ application requirements for:
+
+ - Expedient Joins and Leaves
+ - Sends without a Join
+
+2.1.1 Expedient Joins and Leaves
+
+ Some applications require expedient group joins and leaves, as their
+ usability or functionality are sensitive to the latency involved with
+ joining and leaving a group.
+
+ Join Latency: The time it takes for data to begin flowing after an
+ application issues a command to join a multicast group
+
+ Leave Latency: The time it takes for data to stop flowing after an
+ application issues a command to leave a multicast group
+ [IGMPv2,IGMPv3]
+
+ For example, using distributed a/v as a multicast-based "television"
+ must allow users to "channel surf"--changing channels frequently.
+ Each channel change generates a group leave and group join, so delays
+ in either will affect usability. In a sense, this is more of a user
+ requirement than an application requirement.
+
+ The functionality of distributed interactive simulations [DIS] is
+ often sensitive to join/leave latency. This is particularly true
+ when trying to exchange information to represent fast moving objects
+ that quickly enter and exit the scope of a simulated environment
+ (e.g., low-flying, fast-moving aircraft). If the join latency is too
+ long, the information provided may be old by the time it is received.
+
+ A fast leave phase is highly desirable both for effective congestion
+ control mechanisms, to stop undesirable flows quickly, and for the
+ network in general, to better filter unwanted traffic [Rizzo].
+ Applications cannot affect control over either join or leave latency,
+ but are dependent on the multicast infrastructure to enable expedient
+ operations. This is a basic multicast service requirement.
+
+2.1.2 Sends without a Join
+
+ Applications that send to a multicast address should be able to start
+ sending immediately, without having to join the destination group
+ first. This is important for embedded devices and bursty-source
+ applications with low-delay delivery requirements.
+
+
+
+Quinn, et al. Informational [Page 5]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ The current IGMP-based multicast host model and all current
+ implementations allow senders to send to a group without joining it
+ as a standard feature.
+
+3. IP Multicast Application Taxonomy
+
+ With an IP multicast-enabled network available, some unique and
+ powerful applications and application services are possible.
+ "Multicast enables coordination - it is well suited to loosely
+ coupled distributed systems (of people, servers, databases,
+ processes, devices...)" [Estrin].
+
+ A "multicast application" is simply defined as any application that
+ sends to and/or receives from an IP multicast address. These may or
+ may not also reference IP unicast addresses, as we describe later.
+
+ What differentiates IP multicast applications from one-to-one unicast
+ applications are the other sender and receiver relationships
+ multicast enables. There are three general categories of multicast
+ applications:
+
+ One-to-Many (1toM): A single host sending to two or more (n)
+ receivers
+
+ Many-to-Many (MtoM): Any number of hosts sending to the same
+ multicast group address, as well as receiving from it
+
+ Many-to-One (Mto1): Any number of receivers sending data back to a
+ (source) sender via unicast or multicast
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Quinn, et al. Informational [Page 6]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ +-----------------------------------+
+ | Host 2->n ("many") |
+ +-------------+---------------------+
+ | One-Way | Two-Way |
+ +-------------+---------------------|
+ | A B | C D E |
+ +-----------+-------------+---------------------+
+ | I/O | | S(m)/ S(u)/ S(m)/|
+ | Operations| S(m) R(m) | R(m) R(m) R(u) |
+ +-------+---+-----------+-------------+---------------------|
+ | | 1 | S(m) | 1toM | MtoM |
+ | Host | 2 | R(m) | Mto1 | MtoM |
+ | +---+-----------+-------------+ |
+ | 1 | 3 | S(m)/R(m) | Mto1 1toM MtoM |
+ | | 4 | S(m)/R(u) | Mto1 |
+ |("one")| 5 | S(u)/R(m) | Mto1 |
+ +-------+---+-----------+-----------------------------------+
+
+ Legend: S: "Send" (u): "unicast"
+ ------ R: "Receive" (m): "multicast"
+
+ Table 1: Application types characterized by I/O relationships
+ and destination address types (multicast or unicast)
+
+ Table 1 defines these application types in terms of the I/O
+ relationships they represent. These categories are defined in terms
+ of the combination of communication mechanisms they use. At the IP
+ level, all multicast I/O is only 1toM or MtoM and unicast is always
+ one-to-one (1to1). The Mto1 category, for example, refers to several
+ possible combinations of IP-level relationships, including unicast.
+ We created the Mto1 category to help differentiate between the many
+ applications and services that use multicast.
+
+ 1toM: MtoM: Mto1:
+ R1 S1/R1 S1
+ / / | \ \
+ S-R2 S2/R2-+-S3/R3 S2-R
+ \... \ | / .../
+ Rn Sn/Rn Sn
+
+ Legend: S: "Sender"
+ ------ R: "Receiver"
+
+ Figure 1: Generalization of the three application categories
+
+ Figure 1 illustrates the general model for each of the three
+ multicast application categories. Again it is worth emphasizing that
+ Mto1 is an artificial category defined by the application-level
+
+
+
+Quinn, et al. Informational [Page 7]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ relationship between sender(s) and receiver. At the IP-level,
+ multicast does not provide an Mto1 I/O mechanism, since it does not
+ allow senders to limit receivers, nor even know who they are.
+ Receiver information and limitations are enabled at the application
+ level, as required by the multicast application.
+
+ We describe each of these general application types in more detail
+ and provide application examples of each in the sub-sections below.
+ The list of examples is not comprehensive, but attempts to define the
+ prominent multicast application and service types in each of the
+ three general categories. We reference the items in these lists in
+ the remainder of this document as we describe their specific service
+ requirements, define the challenges they present, and reference
+ solutions available or under development.
+
+3.1 One-to-Many Applications
+
+ One-to-Many (1toM) applications have a single sender, and multiple
+ simultaneous receivers. Entry B1 in Table 1 represents the classic
+ 1toM relationship. Entry B3 differs only slightly, as the sender
+ also acts as receiver (i.e., it has loopback enabled).
+
+ When people think of multicast, they most often think of broadcast-
+ based multimedia applications: television (video) and radio (audio).
+ This is a reasonable analogy and indeed these are significant
+ multicast applications, but these are far from the extent of
+ applications that multicast can enable. Audio/Video distribution
+ represents a fraction of the multicast application possibilities, and
+ most do not have analogs in today's consumer broadcast industry.
+
+ a) Scheduled audio/video (a/v) distribution: Lectures,
+ presentations, meetings, or any other type of scheduled event
+ whose multimedia coverage could benefit an audience (i.e.
+ television and radio "broadcasts"). One or more constant-bit-
+ rate (CBR) datastreams and relatively high-bandwidth demands
+ characterize these applications. When more than one datastream
+ is present--as with an audio/video combination--the two are
+ synchronized and one typically has a higher priority than the
+ other(s). For example, in an a/v combination it is more
+ important to ensure an intelligible audio stream, than perfect
+ video.
+
+ b) Push media: News headlines, weather updates, sports scores, or
+ other types of non-essential dynamic information. "Drip-feed",
+ relatively low-bandwidth data characterize these applications.
+
+
+
+
+
+
+Quinn, et al. Informational [Page 8]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ c) File Distribution and Caching: Web site content, executable
+ binaries, and other file-based updates sent to distributed
+ end-user or replication/caching sites
+
+ d) Announcements: Network time, multicast session schedules,
+ random numbers, keys, configuration updates, (scoped) network
+ locality beacons, or other types of information that are
+ commonly useful. Their bandwidth demands can vary, but
+ generally they are very low bandwidth.
+
+ e) Monitoring: Stock prices, Sensor equipment (seismic activity,
+ telemetry, meteorological or oceanic readings), security
+ systems, manufacturing or other types of real-time information.
+ Bandwidth demands vary with sample frequency and resolution,
+ and may be either constant-bit-rate or bursty (if event-
+ driven).
+
+3.2 Many-to-Many Applications
+
+ In many-to-Many (MtoM) applications two or more of the receivers also
+ act as senders. In other words, MtoM applications are characterized
+ by two-way multicast communications.
+
+ The many-to-many capabilities of IP multicast enable the most unique
+ and powerful applications. Each host running an MtoM application may
+ receive data from multiple senders while it also sends data to all of
+ them. As a result, many-to-many applications often present complex
+ coordination and management challenges.
+
+ f) Multimedia Conferencing: Audio/Video and whiteboard comprise
+ the classic conference application. Having multiple
+ datastreams with different priorities characterizes this type
+ of application. Co-ordination issues--such as determining who
+ gets to talk when--complicate their development and usability.
+ There are common heuristics and "rules of play", but no
+ standards exist for managing conference group dynamics.
+
+ g) Synchronized Resources: Shared distributed databases of any
+ type (schedules, directories, as well as traditional
+ Information System databases).
+
+ h) Concurrent Processing: Distributed parallel processing.
+
+ i) Collaboration: Shared document editing.
+
+ j) Distance Learning: This is a one-to-many a/v distribution
+ application with "upstream" capability that allows receivers to
+ question the speaker(s).
+
+
+
+Quinn, et al. Informational [Page 9]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ k) Chat Groups: These are like text-based conferences, but may
+ also provide simulated representations ("avatars") for each
+ "speaker" in simulated environments.
+
+ l) Distributed Interactive Simulations [DIS]: Each object in a
+ simulation multicasts descriptive information (e.g., telemetry)
+ so all other objects can render the object, and interact as
+ necessary. The bandwidth demands for these can be tremendous,
+ as the number of objects and the resolution of descriptive
+ information increases.
+
+ m) Multi-player Games: Many multi-player games are simply
+ distributed interactive simulations, and may include chat group
+ capabilities. Bandwidth usage can vary widely, although
+ today's first-generation multi-player games attempt to minimize
+ bandwidth usage to increase the target audience (many of whom
+ still use dial-up modems).
+
+ n) Jam Sessions: Shared encoded audio (e.g., music). The
+ bandwidth demands vary based on the encoding technique, sample
+ rate, sample resolution, number of channels, etc.
+
+3.3 Many-to-One Applications
+
+ Unlike the one-to-many and many-to-many application categories, the
+ many-to-one (Mto1) category does not represent a communications
+ mechanism at the IP layer. Mto1 applications have multiple senders
+ and one (or a few) receiver(s), as defined by the application layer.
+ Table 1 shows that Mto1 applications can be one-way or use a two-way
+ request/response type protocol, where either senders or receiver(s)
+ may generate the request. Figure 2 characterizes the I/O
+ relationship possibilities in Mto1 applications:
+
+ Mto1 applications have many scaling issues. Too many simultaneous
+ senders can potentially overwhelm receiver(s), a condition
+ characterized as an "implosion problem". Another considerable
+ scaling problem is the large amount of state in the network that
+ having many multicast senders generates. This is largely transparent
+ to applications and the effect may be diminished in the future with
+ the use of bi-directional trees in multicast routing protocols, but
+ nonetheless it should be considered by application designers.
+
+
+
+
+
+
+
+
+
+
+Quinn, et al. Informational [Page 10]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ 1) S1 2) S1 3) S1 4) S1
+ \ \ \ \
+ S2-R S2-R S2-R S2-R
+ .../ .../ .../ .../
+ Sn Sn Sn Sn
+
+ Data(m) Request(m) Request(m) Request(u)
+ ------> ----------> <---------- ---------->
+ Response(u) Response(u) Response(m)
+ <----------- -----------> <----------
+
+ Figure 2: Characterization of Mto1 I/O possibilities
+
+ No standards yet exist for alternate and equivalent Mto1 application
+ designs, but there are a number of possibilities to consider [HNRS].
+ Since the main advantage of using multicast in a Mto1 application is
+ that senders need not know the receiver(s) unicast address(es), one
+ alternative is for each receiver to advertise its unicast address via
+ multicast. However, since this strategy still leaves the potential
+ for implosion on each receiver, additional strategies may be needed
+ to distribute the load. For example, it may be possible to increase
+ the number of receivers (in a "flat" receiver topology) or establish
+ localized receivers (in a "hierarchical" topology) as used in "local
+ recovery" (section 5.3). Such methods have coordination issues, and
+ since standard solutions have not yet been identified, Mto1
+ application developers should consider their alternatives carefully.
+
+ o) Resource Discovery: Service Location, for example, leverages IP
+ Multicast to enable something like a "host anycasting service"
+ capability [AnyCast]: A multicast receiver to send a query to a
+ group address, to elicit responses from the closest host so
+ they can satisfy the request. The responses might also contain
+ information that allows the receiver to determine the most
+ appropriate (e.g., closest) service provider to use.
+
+ In Table 1, this application is entry D4. It is also
+ illustrated in Figure 2 by possibility number 3.
+ Alternately, the response could be to a multicast rather
+ than unicast address, although technically that would make
+ it an MtoM application type (this is how the Service
+ Location Protocol [SLP] operates, when a user agent attempts
+ to locate a directory agent).
+
+ p) Data Collection: This is the converse of a one-to-many
+ "monitoring" application described earlier. In this case there
+ may be any number of distributed "sensors" that send data to a
+ data collection host. The sensors might send updates in
+ response to a request from the data collector, or send
+
+
+
+Quinn, et al. Informational [Page 11]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ continuously at regular intervals, or send spontaneously when a
+ pre-defined event occurs. Bandwidth demands can vary based on
+ sample frequency and resolution.
+
+ This is illustrated in Table 1 by entries A1 and A3, the only
+ difference being that A3 has a loopback interface. In Figure
+ 2, this is possibility number 1. Since the number of receivers
+ can easily be more than one, this is really an MtoM
+ application.
+
+ q) Auctions: The "auctioneer" starts the bidding by describing
+ whatever it is for sale (product or service or whatever), and
+ receivers send their bids privately or publicly (i.e., to a
+ unicast or multicast address).
+
+ This is possibility number 2 in Figure 2, and D5 in Table 1.
+ The response could be sent to a multicast address, although
+ technically that would make it an MtoM application.
+
+ r) Polling: The "pollster" sends out a question, and the "pollees"
+ respond with answers. This is possibility number 2 in Figure
+ 2, and could also be characterized as an MtoM application if
+ the response is to a multicast address.
+
+ s) Jukebox: Allows near-on-demand a/v playback. Receivers use an
+ "out-of-band" protocol mechanism (via web, email, unicast or
+ multicast requests, etc.) to send their playback request into a
+ scheduling queue [IMJ].
+
+ This is characterized by possibility number 4 in Figure 2, and
+ entry D4 in Table 1. The initial unicast request is the only
+ difference between this type of application and a typical 1toM.
+ If that initial request were sent to a multicast address, this
+ would effectively be an MtoM application.
+
+ t) Accounting: This is basically data collection but is worth
+ separating since it is such an important application. In some
+ multicast applications it is imperative to know information
+ about each receiver, possibly in real-time. But such
+ information can be overwhelming [MRM]. Current mechanisms,
+ like RTCP (which is actually MtoM since it is multicast but
+ could be made Mto1), use scaling techniques but trade-off
+ information granularity. As a group grows the total amount of
+ feedback is constant but each receiver sends less.
+
+
+
+
+
+
+
+Quinn, et al. Informational [Page 12]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+4. Common Multicast Service Requirements
+
+ Some multicast application service requirements are common to unicast
+ network applications as well. We characterize two of them here--
+ bandwidth and delay requirements.
+
+4.1 Bandwidth Requirements
+
+ Figure 3 shows multicast applications approximate bandwidth
+ requirements.
+
+ Unicast and multicast applications both need to design applications
+ to adapt to the variability of network conditions. But as we
+ describe in section 5.3, it is the need to accommodate multiple
+ heterogeneous multicast receivers--with their diversity of bandwidth
+ capacity and delivery delays--that presents the unique challenge for
+ multicast applications to satisfy these requirements.
+
+ |
+ 1toM | b, d c, e a
+ |
+ MtoM | k g, i f, h, j, l, m, n
+ |
+ Mto1 | o, q, r p, t s
+ |
+ +-----------------------------------------------
+ Low Bandwidth High Bandwidth
+
+ Figure 3: Bandwidth Requirements of applications
+
+4.2 Delay Requirements
+
+ Aside from those with time-sensitive data (e.g., stock prices, and
+ real-time monitoring information), most one-to-many applications have
+ a high tolerance for delay and delay variance (jitter). Constant
+ bit-rate (CBR) data--such as streaming media (audio/video)--are
+ sensitive to jitter, but applications commonly counteract the effects
+ by buffering data and delaying playback.
+
+ Most many-to-one and many-to-many multicast applications are
+ intolerant of delays because they are bidirectional, interactive and
+ request/response dependent. As a result, delays should be minimized,
+ since they can adversely affect the application's usability.
+
+ This need to minimize delays is most evident in (two-way) conference
+ applications, where users cannot converse effectively if the audio or
+ video is delayed more than 500 milliseconds. For this and other
+
+
+
+
+Quinn, et al. Informational [Page 13]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ examples see Figure 4, which plots multicast applications on a
+ (coarse) scale of sensitivity to delivery delays.
+
+ |
+ 1toM | b, c a, d e
+ |
+ MtoM | g, i, j, k f, h, l, m, n
+ |
+ Mto1 | r o, p, s, t q
+ |
+ +-----------------------------------------------
+ Delay Tolerant Delay Intolerant
+
+ Figure 4: Delay tolerance of application types
+
+ For delay-intolerant multicast (or unicast) applications, quality of
+ service (QoS) is the only option. IP networks currently provide only
+ "best effort" delivery, so data are subject to variable router
+ queuing delays and loss due to network congestion (router queue
+ overflows). IP QoS standards do exist now [RSVP] and efforts to
+ enable end-to-end QoS support in the Internet are underway [E2EQOS].
+
+ However, QoS support is an IP network infrastructure consideration.
+ Although there are multicast-specific challenges for implementing QoS
+ in the network for multicast flows, they are beyond the control of
+ applications, so further discussion of the QoS protocols and services
+ is beyond the scope of this document.
+
+5. Unique Multicast Service Requirements
+
+ The three application categories described earlier are very general
+ in nature. Within each category and even among each of the
+ application types, specific application instances have a variety of
+ application requirements. One-to-many application types are
+ relatively simple to develop, but as we pointed out there are
+ challenges involved with developing many-to-one and many-to-many
+ applications. Some of these have requirements bandwidth and delay
+ requirements, similar to unicast applications.
+
+ Multicast applications can be further differentiated from unicast
+ applications and from each other by the services they require. In
+ this section we provide a survey of the various services that have
+ unique requirements for multicast applications.
+
+
+
+
+
+
+
+
+Quinn, et al. Informational [Page 14]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ +--------------------------------------------------------------+
+ | Multicast Application |
+ +--------------------------------------+ +-------------------+
+ +-------------------------------------+| |+--------++--------+
+ | Multicast Security || || || |
+ +----------------------+ +----------+| || System || |
+ +----------++---------+| |+---------+| || Time || Codecs |
+ | Reliable || Address || || Session || || || |
+ | Delivery || Mgt || || Mgt || || || |
+ +----------++---------++---++---------++---++--------++--------+
+ +----------------------------------------++--------------------+
+ | Basic IP Multicast Service || IP Unicast |
+ | (e.g., UDP and IGMPv2/v3) || Service |
+ +----------------------------------------++--------------------+
+
+ Figure 5: Multicast service requirements summary
+
+ Here's the list of multicast application service requirements:
+
+ Address Management - Selection and coordinated of address
+ allocation. The need is to provide assurances against "address
+ collision" and to provide address ownership.
+
+ Session Management - Perform application-layer services on top of
+ multicast transport. These services depend heavily on the
+ application but include functions like session advertisement,
+ billing, group member monitoring, key distribution, etc.
+
+ Heterogeneous Receiver Support - Sending to receivers with a wide
+ variety of bandwidth capacities, latency characteristics, and
+ network congestion requires feedback to monitor receiver
+ performance.
+
+ Reliable Data Delivery - Ensuring that all data sent is received
+ by all receivers.
+
+ Security - Ensuring content privacy among dynamic multicast group
+ memberships, and limiting senders.
+
+ Synchronized Play-Out - Allow multiple receivers to "replay" data
+ received in synchronized fashion.
+
+ In the remainder of this section, we describe each of these
+ application services in more detail, the challenges they present, and
+ the status of standardized solutions.
+
+
+
+
+
+
+Quinn, et al. Informational [Page 15]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+5.1 Address Management
+
+ One of the first questions facing a multicast application developer
+ is what multicast address to use. Multicast addresses are not
+ assigned to individual hosts, assignments can change dynamically, and
+ addresses sometimes have semantics of their own (e.g., Admin
+ Scoping). Multicast applications require an address management
+ service that provides address allocation or assignment queries.
+ There are a number of ways for applications to learn about multicast
+ addresses:
+
+ Hard-Coded: Software configuration, encoded in a binary
+ executable, or burned into ROM in embedded devices. These
+ applications typically reference IANA statically allocated
+ multicast addresses (including relative addresses).
+
+ Advertised: Session announcements (as described in the next
+ section), or via another "out-of-band" query or discovery protocol
+ mechanism.
+
+ Algorithmically Derived: Using a programmatic algorithm to
+ allocate a statistically random (unused) address.
+
+ |
+ 1toM | c, e a, b d
+ |
+ MtoM | f, j, k, n g, h, i, l, m
+ |
+ Mto1 | r o, p, s q, t
+ |
+ +-----------------------------------------------
+ Hard-Coded Advertised Algorithmic
+
+ Figure 6: Multicast address usage for application types
+
+ In almost all cases, application designers should assume that
+ multicast addresses are to be dynamic. Very little of the multicast
+ address space is available for static assignment by IANA [MADDR].
+ Also, given the host-specific addressing available with SSM,
+ Internet-wide, static address assignment is expected to be very rare.
+
+5.2 Session Management
+
+ Session management is one of the most misunderstood services with
+ respect to multicast. Most application developers assume that
+ multicast will provide services like security, encryption,
+ reliability, session advertisement, monitoring, billing, etc. In
+ fact, multicast is simply a transport mechanism that provides end-
+
+
+
+Quinn, et al. Informational [Page 16]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ to-end delivery. All of the other services are application-layer
+ services that must be provided by each particular application.
+ Furthermore, in most cases there are not defined standards for how
+ these functions should be provided. The particular functions are
+ dependent on the particular needs of the application, and no single
+ method (or standard) can be made to be sufficient for all cases.
+
+ While there are no generic solutions which provide all session
+ management functions, there are some protocols and common techniques
+ that provide support for some of the functions. Techniques for
+ congestion control and heterogeneous receiver support are discussed
+ in Section 5.3. Protocols for reliability are discussed in Section
+ 5.4. Security considerations are discussed in Section 5.5.
+
+ With respect to session advertisement, there are a number of
+ mechanisms for advertising sessions. One commonly used technique is
+ to advertise sessions via the WWW. Users can join a group by
+ clicking on URLs, and then having a response returned to the user
+ that includes the group address and maybe information about group
+ source(s). Another mechanism is the session description protocol
+ [SDP]. It provides a format for representing information about
+ sessions, but it does not provide the transport for dissemination of
+ these session descriptions, nor does it provide address allocation
+ and management. SDP only provides the syntax for describing session
+ attributes.
+
+ SDP session descriptions may be conveyed publicly or privately by
+ means of any number of transports including web (HTTP) and MIME
+ encoded email. The session announcement protocol [SAP] is the de
+ facto standard transport and many multicast-enabled applications
+ currently use it. SAP limits distribution via multicast scoping, but
+ the current protocol definition has scaling issues that need to be
+ addressed. Specifically, the initialization latency for a session
+ directory can be quite long, and it increases in proportion to the
+ number of session announcements. This is to an extent a multicast
+ infrastructure issue, however, as this level of protocol detail
+ should be transparent to applications.
+
+ The session management service needs to:
+
+ - Advertise scheduled sessions
+ - Provide a query mechanism for retrieving
+ information about session schedules
+
+
+
+
+
+
+
+
+Quinn, et al. Informational [Page 17]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+5.3 Heterogeneous Receiver Support
+
+ The Internet is a network of networks. IP's strength is its ability
+ to enable seamless interoperability between hosts on disparate
+ network media, the heterogeneous network.
+
+ When two hosts communicate via unicast--one-to-one--across an IP
+ network, it is relatively easy for senders to adapt to varying
+ network conditions. The Transmission Control Protocol (TCP) provides
+ reliable data transport, and is the model of "network friendly"
+ adaptability.
+
+ TCP receivers send acknowledgements back to the sender for data
+ delivered. A TCP sender detects data loss from the data sent that is
+ not acknowledged. When it detects data loss, TCP infers that there
+ is network congestion or a low-bandwidth link, and adapts by
+ throttling down its send rate [SlowStart].
+
+ User Datagram Protocol (UDP) does not enable a receiver feedback loop
+ the way TCP does, since UDP does not provide reliable data delivery
+ service. As a result, it also does not have a loss detection and
+ adaptive congestion control mechanism as TCP does. However, it is
+ possible for a unicast UDP application to enable similar adaptive
+ algorithms to achieve the same result, or even improve on it.
+
+ A unicast UDP application that uses a feedback mechanism to detect
+ data loss and adapt the send rate, can do so better than TCP. TCP
+ automatically reduces the "congestion window" when data loss is
+ detected, although the updated send rate may be slower than a CBR
+ audio/video stream requires. When a UDP application detects loss, it
+ can adapt the data itself to accommodate the lower send rate. For
+ example, a UDP application can:
+
+ - Reduce the data resolution (e.g., send lower fidelity
+ audio/video by reducing sample frequency or frame rate) to
+ reduce data rate.
+
+ - Modify the data encoding to add redundant data (e.g., forward
+ error correction) offset in time to avoid fate sharing. This
+ could also be "layered", so a percentage of data loss will
+ simply reduce fidelity rather than corrupt the data.
+
+ - Reduce the send rate of one datastream in order to favor another
+ of higher priority (e.g., sacrifice video in order to ensure
+ audio delivery).
+
+
+
+
+
+
+Quinn, et al. Informational [Page 18]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ - Send data at a lower rate (i.e., with a different encoding) on a
+ separate multicast address and/or port number for high-loss
+ receivers.
+
+ However, with multicast applications--one-to-many or many-to-many--
+ which have multiple receivers, the feedback loop design needs
+ modification. If all receivers return data loss reports
+ simultaneously, the sender is easily overwhelmed in the storm of
+ replies. This is known as the "implosion problem".
+
+ Another problem is that heterogeneous receiver capabilities can vary
+ widely due to the wide range of (static) network media bandwidth
+ capabilities and dynamically due to transient traffic conditions. If
+ a sender adapts its send rate and data resolution based on the loss
+ rate of its worst receiver(s), then it can only service the lowest
+ common denominator. Hence, a single "crying baby" can spoil it for
+ all other receivers.
+
+ Strategies exist for dealing with these heterogeneous receiver
+ problems. Here are two examples:
+
+ Shared Learning - When loss is detected (i.e., a sequenced packet
+ isn't received), a receiver starts a random timer. If it
+ receives a data loss report sent by another receiver as it waits
+ for the timer to expire, it stops the timer and does not send a
+ report. Otherwise, it sends a report when the timer expires.
+ The Real-Time Protocol and its feedback-loop counterpart Real-
+ Time Control Protocol [RTP/RTCP] employ a strategy similar to
+ this to keep feedback traffic to 5 percent or less than the
+ overall session traffic. This technique was originally utilized
+ in IGMP.
+
+ Local Recovery - Some receivers may be designated as local
+ distribution points or "transcoders" that either re-send data
+ locally (possibly via unicast) when loss is reported or they re-
+ encode the data for lower bandwidth receivers before re-sending.
+ No standards exist for these strategies, although "local
+ recovery" is used by several reliable multicast protocols.
+
+ Adaptive multicast application design for heterogeneous receivers is
+ still an active area of research. The fundamental requirements are
+ to maximize application usability, while accommodating network
+ conditions in a "network friendly" manner. In other words,
+ congestion detection and avoidance are (at least) as important in
+ protocol design as the user experience. The adaptive mechanisms must
+ also be stable, so they do not adapt too quickly--changing encoding
+ and rates based on too little information about what may be a
+ transient condition--to avoid oscillation.
+
+
+
+Quinn, et al. Informational [Page 19]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ This "feedback loop" service necessary for support of heterogeneous
+ receivers is not illustrated in the services summary in Figure 4,
+ although it could be added alongside "Reliable Transport" and the
+ others. This service could be implemented within an application or
+ accessed externally, as provided by the operating system or a third
+ party. See [HNRS] for a taxonomy of strategies for providing
+ feedback for multicast, with the ultimate goal of developing a common
+ multicast feedback protocol.
+
+5.4 Reliable Data Delivery
+
+ Many of the multicast application examples in our list--like
+ audio/video distribution--have loss-tolerant data content. In other
+ words, the data content itself can remain useful even if some of it
+ is lost. For example, audio might have a short gap or lower fidelity
+ but will remain intelligible despite some data loss.
+
+ Other application examples--like caching and synchronized resources-
+ -require reliable data delivery. They deliver content that must be
+ complete, unchanged, in sequence, and without duplicates. The "Loss
+ Intolerant" column in Figure 7 shows a list of applications with this
+ requirement, while the others can tolerate varying levels of data
+ loss. The tolerance levels are typically determined by the nature of
+ the data and the encoding in use.
+
+ |
+ 1toM | b a, d c, e
+ |
+ MtoM | f, j, k, l, m, n g, h, i
+ |
+ Mto1 | o, p, r, s, t q
+ |
+ +------------------------------------------------
+ Loss Tolerant Loss Intolerant
+
+ Figure 7: Reliability Requirements of Application types
+
+ Some of the challenges involved with enabling reliable multicast
+ transport are the same as those of sending to heterogeneous
+ receivers, and some solutions are similar also. For example, many
+ reliable multicast transport protocols avoid the implosion problem by
+ using negative acknowledgements (NAKs) from receivers to indicate
+ what was lost. They also use "shared learning" whereby receivers
+ listen to others' NAKs and then listen for the resulting
+ retransmission of data, rather than requesting retransmission by
+ sending a NAK themselves.
+
+
+
+
+
+Quinn, et al. Informational [Page 20]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ Although reliable delivery cannot change the data sent--except,
+ perhaps, to use a loss-less data compression algorithm--they can use
+ other adaptive techniques like sending redundant data, or adjusting
+ the send rate.
+
+ Although many reliable multicast protocol implementations exist
+ [Obraczka], and a few are already available in commercial products,
+ none of them are standardized. Work is ongoing in the "Reliable
+ Multicast" research group of the Internet Research Task Force [IRTF]
+ to provide a better definition of the problem, the multicast
+ transport requirements, and protocol mechanisms.
+
+ Scalability is the paramount concern, and it implies the general need
+ for "network friendly" protocols that detect and avoid congestion as
+ they provide reliable delivery. Other considerations are protocol
+ robustness, support for "late joins", group management and security
+ (which we discuss next).
+
+ The current consensus is that due to the wide variety of multicast
+ application requirements--some of which are at odds--no single
+ multicast transport will likely be appropriate for all applications.
+ As a result, most believe that we will eventually standardize a
+ number of reliable multicast protocols, rather than a single one
+ [BULK, RMT].
+
+5.5 Security
+
+ For any IP network application--unicast or multicast--security is
+ necessary because networks comprise users with different levels of
+ trust.
+
+ Network application security is challenging, even for unicast. And
+ as the need for security increases--gauged by the risks of being
+ without it--the challenges increase also. Security system complexity
+ and overhead is commensurate with the protection it provides. "No
+ one can guarantee 100% security. But we can work toward 100% risk
+ acceptance...Strong cryptography can withstand targeted attacks up to
+ a point--the point at which it becomes easier to get the information
+ some other way...A good design starts with a threat model: what the
+ system is designed to protect, from whom, and for how long."
+ [Schneier]
+
+ Multicast applications are no different than unicast applications
+ with respect to their need for security, and they require the same
+ basic security services: user authentication, data integrity, data
+ privacy and user privacy (anonymity). However, enabling security for
+
+
+
+
+
+Quinn, et al. Informational [Page 21]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ multicast applications is even more of a challenge than for unicast.
+ Having multiple receivers makes a difference, as does their
+ heterogeneity and the dynamic nature of multicast group memberships.
+
+ Multicast security requirements can include any combination of the
+ following services:
+
+ Limiting Senders - Controlling who can send to group addresses
+
+ Limiting Receivers - Controlling who can receive
+
+ Limiting Access - Controlling who can "read" multicast content
+ either by encrypting content or limiting receivers (which isn't
+ possible yet)
+
+ Verifying Content - Ensuring that data originated from an
+ authenticated sender and was not altered en route
+
+ Protecting Receiver Privacy - Controlling whether sender(s) or
+ other receivers know receiver identity
+
+ Firewall Traversal - Proxying outgoing "join" requests through
+ firewalls, allowing incoming or outgoing traffic through, and
+ (possibly) authenticating receivers for filtering purposes and
+ security [Finlayson].
+
+ This list is not comprehensive, but includes the most commonly needed
+ security services. Different multicast applications and different
+ application contexts can have very different needs with respect to
+ these services, and others. Two main issues emerge, where the
+ performance of current solutions leaves much to be desired [MSec].
+
+ Individual authentication - how is sender identity verified for
+ each multicast datagram received?
+
+ Membership revocation - how is further group access disabled for
+ group members that leave the group (e.g., encryption keys in their
+ possession disabled)?
+
+ Performance is largely a factor when a user joins or leaves a group.
+ For example, methods used to authenticate potential group members
+ during joins or re-keying current members after a member leaves can
+ involve significant processing and protocol overhead and result in
+ significant delays that affect usability.
+
+
+
+
+
+
+
+Quinn, et al. Informational [Page 22]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ Like reliable multicast, secure multicast is also under investigation
+ in the Internet Research Task Force [IRTF]. Protocol mechanisms for
+ many of the most important of these services--such as limiting
+ senders--have not yet been defined, let alone developed and deployed.
+
+ As is true for reliable multicast, the current consensus is that no
+ single security protocol will satisfy the wide diversity of
+ sometimes-contradictory requirements among multicast applications.
+ Hence, multicast security will also likely require a number of
+ different protocols.
+
+5.6 Synchronized Play-Out
+
+ This refers to having all receivers simultaneously play-out the
+ multicast data they received. This may be necessary for fairness--
+ playing-out prices for auctions, or stock-prices--or to ensure
+ synchronization with other receivers, such as when playing music.
+
+ Here is an analogy to illustrate: Imagine a multi-speaker stereo
+ system that is wired throughout a home (via analog). With the stereo
+ playing on all speaker sets, you will hear continuous music as you
+ walk from room-to-room.
+
+ Now imagine a house full of multi-media and network enabled computer
+ systems. Although they will all receive the same music datastream
+ simultaneously via multicast, they will provide discontinuous music
+ playback as you walk room-to-room.
+
+ To provide synchronized playback that would enable continuous music
+ from room-to-room would require three things:
+
+ 1) system clocks on all systems should be synchronized
+ 2) datastreams must be framed with timestamps
+ 3) you must know the playback latency of the multimedia hardware
+
+ The third of these is the most difficult to achieve at this time.
+ Hardware and drivers don't provide any mechanism for retrieving this
+ information, although different audio and video devices have a wide-
+ range of performance.
+
+6. Service APIs
+
+ In some cases, the protocol services mentioned in this document can
+ be enabled transparently by passive configuration mechanisms and
+ "middleware". For example, it is conceivable that a UDP
+ implementation could implicitly enable a reliable multicast protocol
+ without the explicit interaction of the application.
+
+
+
+
+Quinn, et al. Informational [Page 23]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ Sometimes, however, applications need explicit access to these
+ services for flexibility and control. For example, an adaptive
+ application sending to a heterogeneous group of receivers using RTP
+ may need to process RTCP reports from receivers in order to adapt
+ accordingly (by throttling send rate or changing data encoders, for
+ example) [RTP API]. Hence, there is often a need for service APIs
+ that allow an application to qualify and initiate service requests,
+ and receive event notifications. In Figure 5, the top edge of the
+ box for each service effectively represents its API.
+
+ Network APIs generally reflect the protocols they support. Their
+ functionality and argument values are a (varying) subset of protocol
+ message types, header fields and values. Although some protocol
+ details and actions may not be exposed in APIs--since many protocol
+ mechanics need not be exposed--others are crucial to efficient and
+ flexible application operation.
+
+ A more complete examination of the application services described in
+ this document might also identify the protocol features that could be
+ mapped to define a (generic) API definition for that service. APIs
+ are often controversial, however. Not only are there many language
+ differences, but it is also possible to create different APIs by
+ exposing different levels of detail in trade-offs between flexibility
+ and simplicity.
+
+7. Security Considerations
+
+ See section 5.4
+
+8. Acknowledgements
+
+ The authors would like to acknowledge and thank the following
+ individuals for their helpful feedback: Ran Canetti, Brian Haberman,
+ Eric A. Hall, Kenneth C. Miller, and Dave Thaler.
+
+9. References
+
+ [AnyCast] Partridge, C., Mendez, T. and W. Milliken, "Host
+ Anycasting Service", RFC 1546, November 1993.
+
+ [BeauW] B. Williamson, "Developing IP Multicast Networks, Volume
+ I", (c) 2000 Cisco Press, Indianapolis IN, ISBN 1-57870-
+ 077-9.
+
+ [BULK] Whetten, B., Vicisano, L., Kermode, R., Handley, M.,
+ Floyd, S. and M. Luby, "Reliable Multicast Transport
+ Building Blocks for One-to-Many Bulk-Data Transfer", RFC
+ 3048, January 2001.
+
+
+
+Quinn, et al. Informational [Page 24]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ [Deering] Deering, S., "Host Extensions for IP Multicasting", STD
+ 5, RFC 1112, August 1989.
+
+ [DIS] Pullen, J., Mytak, M. and C. Bouwens, "Limitations of
+ Internet Protocol Suite for Distributed Simulation in the
+ Large Multicast Environment", RFC 2502, February 1999.
+
+ [E2EQOS] Bernet, Y., Yavatkar, R., Ford, P., Baker, F., Zhang, L.,
+ Speer, M., Braden, R. and B. Davie, "Integrated Services
+ Operation over Diffserv Networks", RFC 2998, November
+ 2000.
+
+ [Estrin] D. Estrin, "Multicast: Enabler and Challenge", Caltech
+ Earthlink Seminar Series, April 22, 1998.
+
+ [Finlayson] Finlayson, R., "IP Multicast and Firewalls", RFC 2588,
+ May 1999.
+
+ [HNRS] Hofman, Nonnenmacher, Rosenberg, Schulzrinne, "A Taxonomy
+ of Feedback for Multicast", June 1999, Work in Progress.
+
+ [IGMPv2] Fenner, B., "Internet Group Management Protocol, Version
+ 2", RFC 2236, November 1997.
+
+ [IGMPv3] Cain, B., Deering, S., Kouvelas, I. and A. Thyagarajan,
+ "Internet Group Management Protocol, Version 3", Work in
+ Progress.
+
+ [IMJ] K. Almeroth and M. Ammar, "The Interactive Multimedia
+ Jukebox (IMJ): A New Paradigm for the On-Demand Delivery
+ of Audio/Video", Proceedings of the Seventh International
+ World Wide Web Conference, Brisbane, AUSTRALIA, April
+ 1998.
+
+ [IRTF] Weinrib, A. and J. Postel, "The IRTF Guidelines and
+ Procedures", BCP 8, RFC 2014, January 1996.
+
+ [Kermode] Kermode, R., "MADCAP Multicast Scope Nesting State
+ Option", RFC 2907, September 2000.
+
+ [LSMA] Bagnall, P., Briscoe, R. and A. Poppitt, "Taxonomy of
+ Communication Requirements for Large-scale Multicast
+ Applications", RFC 2729, December 1999.
+
+ [MADDR] Albanna, Z., Almeroth, K., Meyer, D. and M. Schipper,
+ "IANA Guidelines for IPv4 Multicast Address Assignments",
+ BCP 51, RFC 3171, August 2001.
+
+
+
+
+Quinn, et al. Informational [Page 25]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ [MASC] Estrin, D., Govindan, R., Handley, M., Kumar, S.,
+ Radoslavov, P. and D. Thaler, "The Multicast Address-Set
+ Claim (MASC) Protocol", RFC 2909, September 2000.
+
+ [Maufer] T. Maufer, "Deploying IP Multicast in the Enterprise",
+ (c) 1998 Prentice Hall, Upper Saddle River NJ ISBN 0-13-
+ 897687-2.
+
+ [Miller] C. K. Miller, "Multicast Networking and Applications",
+ (c) 1999 Addison Wesley Longman, Reading MA ISBN 0-201-
+ 30979-3.
+
+ [MADCAP] Hanna, S., Patel, B. and M. Shah, "Multicast Address
+ Dynamic Client Allocation Protocol (MADCAP)", RFC 2730,
+ December 1999.
+
+ [MRM] K. Sarac, K. Almeroth, "Supporting Multicast Deployment
+ Efforts: A Survey of Tools for Multicast Monitoring",
+ Journal of High Speed Networking--Special Issue on
+ Management of Multimedia Networking, March 2001
+
+ [MSec] Multicast Security (msec) IETF Working Group charter
+
+ [MZAP] Handley, M., Thaler, D. and R. Kermode, "Multicast-Scope
+ Zone Announcement Protocol (MZAP)", RFC 2776, February
+ 2000.
+
+ [Obraczka] K. Obraczka "Multicast Transport Mechanisms: A Survey and
+ Taxonomy", IEEE Communications Magazine, Vol. 36 No. 1,
+ January 1998.
+
+ [Rizzo] L. Rizzo, "Fast Group management in IGMP", HIPPARC 98
+ workshop, June 1998, UCL London
+ http://www.iet.unipi.it/~luigi/hipparc98.ps.gz
+
+ [RM] Mankin, A., Romanow, A., Bradner, S. and V. Paxson,
+ "IETF Criteria for Evaluating Reliable Multicast
+ Transport and Application Protocols", RFC 2357, June
+ 1998.
+
+ [RSVP] Wroclawski, J., "The Use of RSVP with IETF Integrated
+ Services", RFC 2210, September 1997.
+
+ [RTP API] H. Schulzrinne, et al, "RTP Library API Specification,"
+ http://www.cs.columbia.edu/IRT/software/rtplib/rtplib-
+ 1.0a1/rtp_api.html
+
+
+
+
+
+Quinn, et al. Informational [Page 26]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+ [RTP/RTCP] Schulzrinne, H., Casner, S., Frederick, R. and V.
+ Jacobson, "RTP: A Transport Protocol for Real-Time
+ Applications", RFC 1889, January 1996.
+
+ [SAP] Handley, M., Perkins, C. and E. Whelan, "Session
+ Announcement Protocol", RFC 2974, October 2000.
+
+ [SDP] Handley, M., and V. Jacobson, "SDP: Session Description
+ Protocol", RFC 2327, April 1998.
+
+ [Schneier] B. Schneier, "Why Cryptography Is Harder Than It Looks",
+ December 1996, http://www.counterpane.com/whycrypto.html
+
+ [SlowStart] Stevens, W., "TCP Slow Start, Congestion Avoidance, Fast
+ Retransmit, and Fast Recovery Algorithms", RFC 2001,
+ January 1997.
+
+ [SLP] Veizades, J., Guttman, E., Perkins, C. and S. Kaplan,
+ "Service Location Protocol", RFC 2165, June 1997.
+
+ [SSM] Holbrook, H. and B. Cain, "Specific Multicast for IP",
+ Work in Progress.
+
+10. Authors' Addresses
+
+ Bob Quinn
+ Celox Networks
+ 2 Park Central Drive
+ Southborough, MA 01772
+
+ Phone: +1 508 305 7000
+ EMail: bquinn@celoxnetworks.com
+
+
+ Kevin Almeroth
+ Department of Computer Science
+ University of California
+ Santa Barbara, CA 93106-5110
+
+ Phone: +1 805 893 2777
+ EMail: almeroth@cs.ucsb.edu
+
+
+
+
+
+
+
+
+
+
+Quinn, et al. Informational [Page 27]
+
+RFC 3170 IP Multicast Applications September 2001
+
+
+11. Full Copyright Statement
+
+ Copyright (C) The Internet Society (2001). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Quinn, et al. Informational [Page 28]
+