rfc3170.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,463 行 · 第 1/5 页

TXT
1,463
字号






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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?