home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_j_p / draft-ietf-mmusic-confarch-00.txt < prev    next >
Text File  |  1997-09-18  |  43KB  |  988 lines

  1.  
  2.  
  3.  
  4. INTERNET-DRAFT                 M. Handley/J. Crowcroft/C. Bormann/J. Ott
  5. Expires: January 1998    ISI/UCL/Universitaet Bremen/Universitaet Bremen
  6.                                                                July 1997
  7.  
  8.  
  9.            The Internet Multimedia Conferencing Architecture
  10.                    draft-ietf-mmusic-confarch-00.txt
  11.  
  12.  
  13. Status of this memo
  14.  
  15.    This document is an Internet-Draft.  Internet-Drafts are working
  16.    documents of the Internet Engineering Task Force (IETF), its areas,
  17.    and its working groups.  Note that other groups may also distribute
  18.    working documents as Internet-Drafts.
  19.  
  20.    Internet-Drafts are draft documents valid for a maximum of six months
  21.    and may be updated, replaced, or obsoleted by other documents at any
  22.    time.  It is inappropriate to use Internet-Drafts as reference
  23.    material or to cite them other than as ``work in progress.''
  24.  
  25.    To learn the current status of any Internet-Draft, please check the
  26.    ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
  27.    Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
  28.    munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
  29.    ftp.isi.edu (US West Coast).
  30.  
  31.    Distribution of this document is unlimited.
  32.  
  33. Abstract
  34.  
  35.    This document provides an overview of multimedia conferencing on the
  36.    Internet.  The protocols mentioned are specified elsewhere as RFCs,
  37.    Internet-Drafts, or ITU recommendations.  Each of these
  38.    specifications gives details of the protocol itself, how it works and
  39.    what it does.  This document attempts to provide the reader with an
  40.    overview of how the components fit together and of some of the
  41.    assumptions made, as well as some statement of direction for those
  42.    components still in a nascent stage.
  43.  
  44.    This document is a product of the Multiparty Multimedia Session
  45.    Control (MMUSIC) working group of the Internet Engineering Task
  46.    Force.  Comments are solicited and should be addressed to the working
  47.    group's mailing list at confctrl@isi.edu and/or the authors.
  48.  
  49.    (To do for final version: fix references.)
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Handley/Crowcroft/Bormann/Ott                                   [Page 1]
  59.  
  60. INTERNET-DRAThe Internet Multimedia Conferencing Architecture  July 1997
  61.  
  62. 1.  Introduction
  63.  
  64.  
  65.    In conjunction with computers, the term ``conferencing'' is often
  66.    used in two different ways: firstly, to refer to bulletin boards and
  67.    mail list style asynchronous exchanges of messages between multiple
  68.    users; secondly, to refer to synchronous or so-called ``real-time''
  69.    conferencing, including audio/video communication and shared tools
  70.    such as whiteboards and other applications.  This document is about
  71.    the architecture for this latter application, multimedia conferencing
  72.    in the Internet.
  73.  
  74.    There are other infrastructures for teleconferencing in the world:
  75.    POTS (Plain Old Telephone System) networks often provide voice
  76.    conferencing and phone-bridges, while with ISDN, H.320 [1] can be
  77.    used for small, strictly organised video-telephony conferencing.  The
  78.    architecture that has evolved in the Internet is far more general as
  79.    well as being scalable to very large groups, and permits the open
  80.    introduction of new media and new applications as they are devised.
  81.    As the simplest case, it also allows two persons to communicate via
  82.    audio only, so it encompasses IP telephony.
  83.  
  84.    The determining factors of a conferencing architecture are
  85.    communication in (possibly large) groups of humans and real-time
  86.    delivery of information.  In the Internet, this is supported at a
  87.    number of levels.  The remainder of this section provides an overview
  88.    of this support, and the rest of the document describes each aspect
  89.    in more detail.
  90.  
  91.    In a conference, information must be distributed to all the
  92.    conference participants.  Early conferencing systems used a fan-out
  93.    of data streams, e.g., one connection between each pair of
  94.    participants, which means that the same information must cross some
  95.    networks more than once.  The Internet architecture uses the more
  96.    efficient approach of multicasting the information to all
  97.    participants (section 2).
  98.  
  99.    Multimedia conferences require real-time delivery of at least the
  100.    audio and video information streams used in the conference.  In an
  101.    ISDN context, fixed rate circuits are allocated for this purpose --
  102.    whether their bandwidth is required at any particular instance or
  103.    not.  On the other hand, the traditional Internet service model
  104.    (``best effort'') cannot make the necessary quality of service
  105.    available in congested networks.  New service models are being
  106.    defined in the Internet together with protocols to reserve capacity
  107.    in a more flexible way than that available with circuit switching
  108.    (section 3).
  109.  
  110.    In a datagram network, multimedia information must be transmitted in
  111.    packets, some of which may be delayed more than others.  In order
  112.    that audio and video streams be played out at the recipient in the
  113.    correct timing, information must be transmitted that allows the
  114.    recipient to reconstitute the timing.  A transport protocol with the
  115.  
  116. Handley/Crowcroft/Bormann/Ott                                   [Page 2]
  117.  
  118. INTERNET-DRAThe Internet Multimedia Conferencing Architecture  July 1997
  119.  
  120.    specific functions needed for this has been defined (section 4).
  121.  
  122.    Conference tools such as virtual whiteboards or shared editors are
  123.    not concerned with real-time delivery of audio or video but maintain
  124.    and update shared state between the participants.  Work on support of
  125.    such applications in a multicst environment is in progress (section
  126.    5).
  127.  
  128.    The humans participating in a conference generally need to have a
  129.    specific idea of the context in which the conference is happening,
  130.    which can be formalized as a conference policy.  Some conferences are
  131.    essentially crowds gathered around an attraction, while others have
  132.    very formal guidelines on who may take part (listen in) and who may
  133.    speak at which point.  In any case, initially the participants must
  134.    find each other, i.e. establish communication relationships
  135.    (conference setup, section 6).  During the conference, some
  136.    conference control information is exchanged to implement a conference
  137.    policy or at least to inform the crowd of who is present (section 7).
  138.  
  139.    In addition, security measures may be required to actually enforce
  140.    the conference policy, e.g. to control who is listening and to
  141.    authenticate contributions as actually originating from a specific
  142.    person.  In the Internet, there is little tendency to rely on the
  143.    traditional ``security'' of distribution offered e.g. by the phone
  144.    system.  Instead, cryptographic methods are used for encryption and
  145.    authentication, which need to be supported by additional conference
  146.    setup and control mechanisms (section 8).
  147.  
  148.  
  149.         Figure 1: Internet Multimedia Conferencing protocol stacks
  150.    |<---       Conference Management       --->|<--- Media Agents   --->|
  151.    |                                           |                        |
  152.    |         Conference      |    Conference   | Audio/ |    Shared     |
  153.    |     Setup & Discovery   |  Course Control | Video  |  Applications |
  154.  
  155.    +-------------------------+------+--------+-+--------+------------+  +
  156.    |         S D P           |      | Distr. |  RTP /   |  Reliable  |  |
  157.    | SAP | SIP | HTTP | SMTP | RSVP | Ctrl(1)|  RTCP    |Multicast(2)|  |
  158.    +-----+--+--+------+------+   +--+--------+----------+------------+--+
  159.    |   UDP  |      T C P     |   |                U D P                 |
  160.    +--------+----------------+---+--------------------------------------+
  161.    |                        IP + IP Multicast                           |
  162.    +--------------------------------------------------------------------+
  163.    |                 Integrated Services Forwarding                     |
  164.    +--------------------------------------------------------------------+
  165.  
  166.  
  167.    Notes:
  168.  
  169.    (1)  The work on distributed control for tightly coupled conferences
  170.         is in progress (see section 6).
  171.  
  172.    (2)  See section 5.
  173.  
  174. Handley/Crowcroft/Bormann/Ott                                   [Page 3]
  175.  
  176. INTERNET-DRAThe Internet Multimedia Conferencing Architecture  July 1997
  177.  
  178.    The protocol stacks for Internet Multimedia Conferencing are shown in
  179.    Figure 1.  Most of the protocols are not deeply layered unlike many
  180.    protocol stacks, but rather are used alongside each other to produce
  181.    a complete conference.
  182.  
  183. 2.  Multicast Traffic Distribution
  184.  
  185.  
  186.    IP multicast enables efficient many-to-many datagram distribution.
  187.    It is one of the basic building blocks of the Internet Multimedia
  188.    Conferencing architecture.  For most conferencing purposes, unicast
  189.    is viewed as being a special case of multicast traffic.
  190.  
  191.  
  192. 2.1.  Multicast Service Model
  193.  
  194.  
  195.    The IP multicast service model is as follows:
  196.  
  197.    -    Senders send datagrams to the address of a multicast group.
  198.  
  199.    -    Receivers express an interest in (join) certain multicast
  200.         groups.
  201.  
  202.    -    Multicast routers conspire to deliver multicast group addressed
  203.         datagrams from the senders to the receivers.
  204.  
  205.    The important factor here is that senders do not have to know who the
  206.    receivers are in order to be able to send to them.  In fact, in most
  207.    situations, no single point in the network needs to know who all the
  208.    receivers are, and it is this that makes IP multicast scalable to
  209.    very large groups.  In addition, receivers do not need to know who
  210.    the senders are in order to be able to receive traffic from them, and
  211.    this solves many conference setup and resource location problems
  212.    without needing explicit machinery.
  213.  
  214.    There are many multicast routing protocols [2-5] but all of them
  215.    satisfy the above service model.  They differ in their mechanisms and
  216.    in how they scale with the number of senders and groups.
  217.  
  218.    Within a single LAN, group membership is expressed by IGMP [6, 7].
  219.    IGMP version 3 allows receivers to express an interest in only
  220.    receiving some of the senders to a particular multicast group.
  221.    Earlier versions of IGMP only allow a receiver to request to receive
  222.    all the sources sending to a multicast group.
  223.  
  224.  
  225. 2.2.  Address Allocation
  226.  
  227.  
  228.    How does an application choose a multicast address to use?
  229.  
  230.    In the absence of any other information, we can bootstrap a multicast
  231.  
  232. Handley/Crowcroft/Bormann/Ott                                   [Page 4]
  233.  
  234. INTERNET-DRAThe Internet Multimedia Conferencing Architecture  July 1997
  235.  
  236.    application by using well-known multicast addresses.  Routing
  237.    (unicast and multicast) and the group membership protocol IGMP can do
  238.    just that.  However, this is not the best way of managing
  239.    applications of which there is more than one instance at any one
  240.    time.
  241.  
  242.    For these, we need a mechanism for allocating group addresses
  243.    dynamically, and a directory service which can hold these allocations
  244.    together with some key (session information for example -- see
  245.    later), so that users can look up the address associated with the
  246.    application.  The address allocation and directory functions should
  247.    be distributed to scale well.
  248.  
  249.    Address allocation schemes should avoid clashes, hence some kind of
  250.    hash function suggests itself for forming initial ``random'' values
  251.    for the address.  Furthermore, both the address allocation system and
  252.    the directory service can take advantage of the baseline multicast
  253.    mechanism by advertising conferences through multicast messages on a
  254.    well-known address, and using this to inform other directory servers
  255.    to remove clashes and inform applications of the allocation; see also
  256.    section 7.
  257.  
  258.    Such advertisements, as well as the multicast traffic itself, can be
  259.    restricted to a defined region in the network (such as a corporate
  260.    network) by using multicast addresses out of a range reserved for
  261.    administrative scoping [***REF***].  In the future, address
  262.    allocation may further be influenced by the desire to allocate
  263.    addresses such that the corresponding landmarks used in emerging
  264.    inter-domain multicast routing protocols are close to a significant
  265.    subset of the participants [***REF***].
  266.  
  267. 3.  Internet Service Models
  268.  
  269.  
  270.    Traditionally the Internet has provided best-effort delivery of
  271.    datagram traffic from senders to receivers.  No guarantees are made
  272.    regarding when or if a datagram will be delivered to a receiver,
  273.    however datagrams are normally only dropped when a router exceeds a
  274.    queue size limit due to congestion.  The best-effort Internet service
  275.    model does not assume FIFO queuing, although many routers have
  276.    implemented this.
  277.  
  278.    With best-effort service, if a link is not congested, queues will not
  279.    build at routers, datagrams will not be discarded in routers, and
  280.    delays will consist of serialisation delays at each hop plus
  281.    propagation delays.  With sufficiently fast link speeds,
  282.    serialisation delays are insignificant compared to propagation
  283.    delays[1].
  284.  
  285. _________________________
  286.   [1] For  slow  links,  a set of mechanisms has been defined that
  287. helps minimize serialisation and link access delays [8].
  288.  
  289.  
  290. Handley/Crowcroft/Bormann/Ott                                   [Page 5]
  291.  
  292. INTERNET-DRAThe Internet Multimedia Conferencing Architecture  July 1997
  293.  
  294.    If a link is congested, with best-effort service queuing delays will
  295.    start to influence end-to-end delays, and packets will start to be
  296.    lost as queue size limits are exceeded.
  297.  
  298.  
  299. 3.1.  Non-best effort service
  300.  
  301.  
  302.    Real-time Internet traffic is defined as datagrams that are delay
  303.    sensitive.  It could be argued that all datagrams are delay sensitive
  304.    to some extent, but for these purposes we refer only to datagrams
  305.    where exceeding an end-to-end delay bound of a few hundred
  306.    milliseconds renders the datagrams useless for the purpose they were
  307.    intended.  For the purposes of this definition, TCP traffic is
  308.    normally not considered to be real-time traffic, although there may
  309.    be exceptions to this rule.
  310.  
  311.    On congested links, best-effort service queuing delays will adversely
  312.    affect real-time traffic.  This does not mean that best-effort
  313.    service cannot support real-time traffic -- merely that congested
  314.    best-effort links seriously degrade the service provided.  For such
  315.    congested links, a better-than-best-effort service is desirable.
  316.  
  317.    To achieve this, the service model of the routers can be modified.
  318.    At a minimum, FIFO queuing can be replaced by packet forwarding
  319.    strategies that discriminate different ``flows'' of traffic.  The
  320.    idea of a flow is very general.  A flow might consist of ``all
  321.    marketing site web traffic'', or ``all fileserver traffic to and from
  322.    teller machines'' or ``all traffic from the CEOs laptop wherever it
  323.    is''.  On the other hand, a flow might consist of a particular
  324.    sequence of packets from an application in a particular machine to a
  325.    peer application in another particular machine between specific times
  326.    of a specific day.
  327.  
  328.    Flows are typically identifiable in the Internet by the tuple:
  329.    {source machine, destination machine, source port, destination port,
  330.    protocol} any of which could be ``ANY'' (wildcarded).
  331.  
  332.    In the multicast case, the destination is the group, and can be used
  333.    to provide efficient aggregation.
  334.  
  335.    Flow identification is called classification and a class (which can
  336.    contain one or more flows) has an associated service model applied.
  337.    This can default to best effort.
  338.  
  339.    Through network management, we can imagine establishing classes of
  340.    long lived flows -- enterprise networks (``Intranets'') often enforce
  341.    traffic policies that distinguish priorities which can be used to
  342.    discriminate in favor of more important traffic in the event of
  343.    overload (though in an underloaded network, the effect of such
  344.    policies will be invisible, and may incur no load/work in routers).
  345.  
  346.    The router service model to provide such classes with different
  347.  
  348. Handley/Crowcroft/Bormann/Ott                                   [Page 6]
  349.  
  350. INTERNET-DRAThe Internet Multimedia Conferencing Architecture  July 1997
  351.  
  352.    treatment can be as simple as a priority queuing system, or it can be
  353.    more elaborate.
  354.  
  355.    Although best-effort services can support real-time traffic,
  356.    classifying real-time traffic separately from non-real-time traffic
  357.    and giving real-time traffic priority treatment ensures that real-
  358.    time traffic sees minimum delays.  Non-real-time TCP traffic tends to
  359.    be elastic in its bandwidth requirements, and will then tend to fill
  360.    any remaining bandwidth.
  361.  
  362.    We could imagine a future Internet with sufficient capacity to carry
  363.    all of the world's telephony traffic.  Since this is a relatively
  364.    modest capacity requirement, it might be simpler to establish
  365.    ``POTS'' as a static class which is given some fraction of the
  366.    capacity overall, and then within the backbone of the network no
  367.    individual call need be given an allocation (i.e. we would no longer
  368.    need the call setup/tear down that was needed in the legacy POTS
  369.    which was only present due to under-provisioning of trunks, and to
  370.    allow the trunk exchanges the option of call blocking).  The vision
  371.    is of a network that is engineered with capacity for all of the
  372.    average load sources to send all the time.
  373.  
  374.  
  375. 3.2.  Reservations
  376.  
  377.  
  378.    For flows that may take a significant fraction of the network (i.e.
  379.    are ``special'' and can't just be lumped under a static class), we
  380.    need a more dynamic way of establishing these classifications.  In
  381.    the short term, this applies to any multimedia calls since the
  382.    Internet is largely under-provisioned at the time of writing.
  383.  
  384.    RSVP is being standardised for just this purpose.  It provides flow
  385.    identification and classification.  Hosts and applications are
  386.    modified to speak RSVP client language, and routers speak RSVP.
  387.  
  388.    Since most traffic requiring reservations is delivered to groups
  389.    (e.g. TV), it is natural for the receiver to make the request for a
  390.    reservation for a flow.  This has the added advantage that different
  391.    receivers can make heterogeneous requests for capacity from the same
  392.    source.  Thus RSVP can accommodate monochrome, color and HDTV
  393.    receivers from a single source.
  394.  
  395.    Again the routers conspire to deliver the right flows to the right
  396.    locations.
  397.  
  398.    RSVP accommodates the wildcarding noted above.
  399.  
  400.  
  401. 3.3.  Admission Control
  402.  
  403.  
  404.    If a network is provisioned such that it has excess capacity for all
  405.  
  406. Handley/Crowcroft/Bormann/Ott                                   [Page 7]
  407.  
  408. INTERNET-DRAThe Internet Multimedia Conferencing Architecture  July 1997
  409.  
  410.    the real-time flows using it, a simple priority classification
  411.    ensures that real-time traffic is minimally delayed.  However, if a
  412.    network is insufficiently provisioned for the traffic in a real-time
  413.    traffic class, then real-time traffic will be queued, and delays and
  414.    packet loss will result.  Thus in an under-provisioned network,
  415.    either all real-time flows will suffer, or some of them must be given
  416.    priority.
  417.  
  418.    RSVP provides a mechanism by which an admission control request can
  419.    be made, and if sufficient capacity remains in the requested traffic
  420.    class, then a reservation for that capacity can be put in place.
  421.  
  422.    If insufficient capacity remains, the admission request will be
  423.    refused, but the traffic will still be forwarded with the default
  424.    service for that traffic's traffic class.  In many cases even an
  425.    admission request that failed at one or more routers can still supply
  426.    acceptable quality as it may have succeeded in installing a
  427.    reservation in all the routers that were suffering congestion.  This
  428.    is because other reservations may not be fully utilising their
  429.    reserved capacity in those routers where the reservation failed.
  430.  
  431.  
  432. 3.4.  Billing
  433.  
  434.  
  435.    If a reservation involves setting aside resources for a flow, this
  436.    will tie up resources so that other reservations may not succeed, and
  437.    depending on whether the flow fills the reservation, other traffic is
  438.    prevented from using the network.  Clearly some negative feedback is
  439.    required in order to prevent pointless reservations from denying
  440.    service to other users.  This feedback is typically in the form of
  441.    billing.  For real-time non-best effort multicast traffic that is not
  442.    reserved, this negative feedback is provided in the form of loss due
  443.    to congestion of a traffic class, and it is not clear that usage
  444.    based billing is required.
  445.  
  446.    Billing requires that the user making the reservation is properly
  447.    authenticated so that the correct user can be charged.  Billing for
  448.    reservations introduces a level of complexity to the Internet that
  449.    has not typically been experienced with non-reserved traffic, and
  450.    requires network providers to have reciprocal usage-based billing
  451.    arrangements for traffic carried between them.  It also suggests the
  452.    use of mechanisms whereby some fraction of the bill for a link
  453.    reservation can be charged to each of the downstream multicast
  454.    receivers.
  455.  
  456.  
  457. 4.  Audio/Video Transport Protocols
  458.  
  459.  
  460.    So-called real-time delivery of traffic requires little in the way of
  461.    transport protocol.  In particular, real-time traffic that is sent
  462.    over more than trivial distances is not retransmittable.
  463.  
  464. Handley/Crowcroft/Bormann/Ott                                   [Page 8]
  465.  
  466. INTERNET-DRAThe Internet Multimedia Conferencing Architecture  July 1997
  467.  
  468. 4.1.  Separate Flows for each Media Stream
  469.  
  470.  
  471.    With packet multimedia data there is no need for the different media
  472.    comprising a conference to be carried in the same packets.  In fact
  473.    it simplifies receivers if different media streams are carried in
  474.    separate flows (i.e., separate transport ports and/or separate
  475.    multicast groups).  This also allows the different media to be given
  476.    different quality of service.  For example, under congestion, a
  477.    router might preferentially drop video packets over audio packets.
  478.    In addition, some sites may not wish to receive all the media flows.
  479.    For example, a site with a slow access link may be able to
  480.    participate in a conference using only audio and a whiteboard whereas
  481.    other sites in the same conference may also send and receive video.
  482.  
  483.  
  484. 4.2.  Receiver Adaptation
  485.  
  486.  
  487.    Best-effort traffic is delayed by queues in routers between the
  488.    sender and the receivers.  Even reserved priority traffic may see
  489.    small transient queues in routers, and so packets comprising a flow
  490.    will be delayed for different times.  Such delay variance is known as
  491.    jitter.
  492.  
  493.    Real-time applications such as audio and video need to be able to
  494.    buffer real-time data at the receiver for sufficient time to remove
  495.    the jitter added by the network and recover the original timing
  496.    relationships between the media data.  In order to know how long to
  497.    buffer for, each packet must carry a timestamp which gives the time
  498.    at the sender when the data was captured.  Note that for audio and
  499.    video data timing recovery, it is not necessary to know the absolute
  500.    time that the data was captured at the sender, only the time relative
  501.    to the other data packets.
  502.  
  503.  
  504. 4.3.  Synchronisation
  505.  
  506.  
  507.    As audio and video flows will receive differing jitter and possibly
  508.    differing quality of service, audio and video that were grabbed at
  509.    the same time at the sender may not arrive at the receiver at the
  510.    same time.  At the receiver, each flow will need a playout buffer to
  511.    remove network jitter.  Inter-flow synchronisation can be performed
  512.    by adapting these playout buffers so that samples/frames that
  513.    originated at the same time are played out at the same time.  This
  514.    requires that the time base of different flows from the same sender
  515.    can be related at the receivers, e.g. by making available the
  516.    absolute times at which each of them was captured.
  517.  
  518.  
  519.  
  520.  
  521.  
  522. Handley/Crowcroft/Bormann/Ott                                   [Page 9]
  523.  
  524. INTERNET-DRAThe Internet Multimedia Conferencing Architecture  July 1997
  525.  
  526. 4.4.  RTP
  527.  
  528.  
  529.    The transport protocol for real-time flows is RTP [9].  This provides
  530.    a standard format packet header which gives media specific timestamp
  531.    data, as well as payload format information and sequence numbering
  532.    amongst other things.  RTP is normally carried using UDP.  It does
  533.    not provide or require any connection setup, nor does it provide any
  534.    enhanced reliability over UDP.  For RTP to provide a useful media
  535.    flow, there must be sufficient capacity in the relevant traffic class
  536.    to accommodate the traffic.  How this capacity is ensured is
  537.    independent of RTP.
  538.  
  539.    Every original RTP source is identified by a source identifier, and
  540.    this source id is carried in every packet.  RTP allows flows from
  541.    several sources to be mixed in gateways to provide a single resulting
  542.    flow.  When this happens, each mixed packet contains the source ids
  543.    of all the contributing sources.
  544.  
  545.    RTP media timestamp units are flow specific -- they are in units that
  546.    are appropriate to the media flow.  For example, 8kHz sampled PCM
  547.    encoded audio has a timestamp clock rate of 8kHz.  This means that
  548.    inter-flow synchronisation is not possible from the RTP timestamps
  549.    alone.
  550.  
  551.    Each RTP flow is supplemented by Real-Time Control Protocol (RTCP)
  552.    packets.  There are a number of different RTCP packet types.  RTCP
  553.    packets provide the relationship between the real-time clock at a
  554.    sender and the RTP media timestamps, and provide textual information
  555.    to identify a sender in a conference from the source id.
  556.  
  557.  
  558. 4.5.  Conference Membership and Reception Feedback
  559.  
  560.  
  561.    IP multicast allows sources to send to a multicast group without
  562.    being a receiver of that group.  However, for many conferencing
  563.    purposes it is useful to know who is listening to the conference, and
  564.    whether the media flows are reaching receivers properly.  Accurately
  565.    performing both these tasks restricts the scaling of the conference.
  566.    IP multicast means that no-one knows the precise membership of a
  567.    multicast group at a specific time, and this information cannot be
  568.    discovered, as to try to do so would cause an implosion of messages,
  569.    many of which would be lost[2].  Instead, RTCP provides approximate
  570.    membership information through periodic multicast of session messages
  571.    which, in addition to information about the recipient, also give
  572.    information about the reception quality at that receiver.  RTCP
  573.    session messages are restricted in rate, so that as a conference
  574. _________________________
  575.   [2] Note that a conference policy that restricts conference mem-
  576. bership can be implemented using encryption and restricted distri-
  577. bution of encryption keys, of which more later.
  578.  
  579.  
  580. Handley/Crowcroft/Bormann/Ott                                  [Page 10]
  581.  
  582. INTERNET-DRAThe Internet Multimedia Conferencing Architecture  July 1997
  583.  
  584.    grows, the rate of session messages remains constant, and each
  585.    receiver reports less often.  A member of the conference can never
  586.    know exactly who is present at a particular time from RTCP reports,
  587.    but does have a good approximation to the conference membership.
  588.  
  589.    Reception quality information is primarily intended for debugging
  590.    purposes, as debugging of IP multicast problems is a difficult task.
  591.    However, it is possible to use reception quality information for rate
  592.    adaptive senders, although it is not clear whether this information
  593.    is sufficiently timely to be able to adapt fast enough to transient
  594.    congestion.  However, it is certainly sufficient for Van Jacobson
  595.    congestion control [10] style adaption to a ``share'' of the current
  596.    capacity.
  597.  
  598.  
  599. 4.6.  Control of Stream Playback and Recording
  600.  
  601.    A control protocol for initiating and controlling playing and
  602.    recording audio, video, and other RTP-based information is the Real-
  603.    Time Stream control Protocol (RTSP) [11].  While primarily intended
  604.    for web-based media-on-demand services, RTSP may also be used in the
  605.    context of teleconferences to make recorded audio/video information
  606.    available to the participants, or to control recording the course of
  607.    the conference.
  608.  
  609. 5.  Protocols for Non-A/V Applications
  610.  
  611.  
  612.    Applications other than audio and video have evolved in Internet
  613.    conferencing, e.g. Imm, Wb [12], Nt.  Such applications can be used
  614.    to substitute for meeting aids in physical conferences (whiteboards,
  615.    projectors) or replace visual and auditory cues that are lost in
  616.    teleconferences (e.g., a speaker list application); they also can
  617.    enable new styles of joint work.
  618.  
  619.    Most non-A/V applications have in common that the application
  620.    protocol is about establishing and updating a shared state.  Loss of
  621.    information is often not acceptable, so some form of multicast
  622.    reliability is required.  The applications' requirements differ: Some
  623.    applications make per-participant additions to the shared state that
  624.    are orthogonal to each other (e.g., whiteboards), some evolve a more
  625.    closely interrelated common state (e.g., additions to a speaker list
  626.    must be properly sequenced).  Some applications can make use of added
  627.    bandwidth/react to congestion in an elastic way, others transport
  628.    data that, although not strictly real-time, is time-critical.
  629.  
  630.    In the IRTF research group on Reliable Multicast, work is in progress
  631.    on common protocol elements that can be used in such applications.
  632.    At the time of writing, some aspects of reliable multicast are not
  633.    well-understood, such as the proper way to provide congestion control
  634.    in a multicast environment.  As congestion control is considered an
  635.    essential element, standards track protocols are not expected before
  636.    this can be solved.  Refer to http://www.irtf.org/rm for further
  637.  
  638. Handley/Crowcroft/Bormann/Ott                                  [Page 11]
  639.  
  640. INTERNET-DRAThe Internet Multimedia Conferencing Architecture  July 1997
  641.  
  642.    information.
  643.  
  644. 6.  Conference Control
  645.  
  646.  
  647.    Conferences come in many shapes and sizes, but there are only really
  648.    two models for conference control: light-weight sessions and tightly
  649.    coupled conferencing.  For both models, rendezvous mechanisms are
  650.    needed.  Note that the conference control model is orthogonal to
  651.    issues of quality of service and network resource reservation.  Note
  652.    also that the issue of conference control is orthogonal to the
  653.    mechanism for discovering the conference.
  654.  
  655.  
  656. 6.1.  Light-weight Sessions
  657.  
  658.  
  659.    Light-weight sessions are multicast based multimedia conferences that
  660.    lack explicit session membership and explicit conference control
  661.    mechanisms.  Typically a lightweight session consists of a number of
  662.    many-to-many media streams supported using RTP and RTCP using IP
  663.    multicast[3].  The only conference control information available
  664.    during the course of light-weight sessions is that distributed in the
  665.    RTCP session information, i.e. an approximate membership list with
  666.    some attributes per member.
  667.  
  668.  
  669. 6.2.  Tightly coupled Conferences
  670.  
  671.  
  672.    Tightly coupled conferences may also be multicast based and use RTP
  673.    and RTCP, but in addition they have an explicit conference membership
  674.    mechanism and may have an explicit conference control mechanism that
  675.    provides facilities such as floor control.
  676.  
  677.    At the time of writing, no standard mechanism for performing tightly
  678.    coupled conference control currently exists in the Internet
  679.    community.  Another standards body, the ITU, has defined two
  680.    standards that can be used in the Internet:
  681.  
  682.    -    The T.120 series of recommendations includes a centralized
  683.         conference control protocol currently used for data application
  684.         only, T.124 [13].
  685.  
  686.    -    Recommendation H.323 for Multi-Media Conferences for Packet-
  687. _________________________
  688.   [3] There  is some confusion on the term session, which is some-
  689. times used for a conference and sometimes for a related set of me-
  690. dia  streams transported by RTP and perceived as a unit, e.g., the
  691. audio channel in a conference.  In this document, we prefer to use
  692. the less ambiguous term conference except where existing protocols
  693. use the term session.
  694.  
  695.  
  696. Handley/Crowcroft/Bormann/Ott                                  [Page 12]
  697.  
  698. INTERNET-DRAThe Internet Multimedia Conferencing Architecture  July 1997
  699.  
  700.         based Network Environments  [14] specifies a point-to-point
  701.         channel setup protocol [15] that also covers a few multipoint
  702.         conferencing aspects.
  703.  
  704.    As T.124 is not accepted by the industry as a basis for audiovisual
  705.    conference control on one hand and H.245 does not provide distributed
  706.    control for tightly coupled conferences on the other hand, there is
  707.    no obvious choice.  The Simple Conference Control Protocol (SCCP)
  708.    [16] is being developed as a prototype towards providing this kind of
  709.    control (being a shared state application, SCCP could also benefit
  710.    from developments in the area of reliable multicast).  A future
  711.    distributed conference control protocol could be used as the
  712.    distributed control mode envisioned by H.323 (which has not yet been
  713.    addressed by the ITU).
  714.  
  715.  
  716. 7.  Conference Discovery
  717.  
  718.  
  719.    There are two basic forms of conference discovery mechanism.  These
  720.    are session advertisement and session invitation.  Session
  721.    advertisements are provided using a session directory, and inviting a
  722.    user to join a session is provided using a session invitation
  723.    protocol.
  724.  
  725.  
  726. 7.1.  Session Directories
  727.  
  728.  
  729.    The rendezvous mechanism for light-weight sessions is a multicast
  730.    based session directory.  This distributes session descriptions [17]
  731.    to all the potential session participants.  These session
  732.    descriptions provide an advertisement that the session will exist,
  733.    and also provide sufficient information including multicast
  734.    addresses, ports, media formats and session times so that a receiver
  735.    of the session description can join the session.  The protocol SDP
  736.    (session description protocol) describes contents and format of the
  737.    session descriptions.
  738.  
  739.    As dynamic multicast address allocation can be optimised by knowing
  740.    which addresses are in use at which times, the session directory is
  741.    an appropriate agent to perform multicast address allocation.  SAP
  742.    (session announcement protocol) is the protocol used by the session
  743.    directory agents [18].
  744.  
  745.    This mechanism can also be applied to advertised tightly coupled
  746.    sessions, and only requires that additional information about the
  747.    mechanism to use to join the session is given.
  748.  
  749.  
  750. 7.2.  Session Invitation
  751.  
  752.  
  753.  
  754. Handley/Crowcroft/Bormann/Ott                                  [Page 13]
  755.  
  756. INTERNET-DRAThe Internet Multimedia Conferencing Architecture  July 1997
  757.  
  758.    Not all sessions are advertised, and even those that are advertised
  759.    may require a mechanism to explicitly invite a user to join a
  760.    session.  Such a mechanism is required regardless of whether the
  761.    session is a lightweight session or a more tightly coupled session,
  762.    although the invitation system must specify the mechanism to be used
  763.    to join the session.
  764.  
  765.    As users are mobile, it is important that such a mechanism is capable
  766.    of locating and inviting a user in a location independent manner.
  767.    This requires an extra level of indirection (addressing).  The
  768.    invitation mechanism should also provide for alternative responses,
  769.    such as leaving a message or being referred to another user, should
  770.    the invited user be unavailable.
  771.  
  772.    Based on a protocol with many of the properties required [19], a
  773.    session initiation protocol (SIP) is being developed [20].
  774.  
  775. 8.  Security
  776.  
  777.  
  778.    There is a temptation to believe that multicast is inherently less
  779.    private than unicast communication since the traffic visits so many
  780.    more places in the network.  In fact, this is not the case except
  781.    with broadcast and prune type multicast routing protocols.  However,
  782.    IP multicast does make it simple for a host to anonymously join a
  783.    multicast group and receive traffic destined to that group without
  784.    the other senders' and receivers' knowledge.  If the application
  785.    requirement (conference policy) is to communicate between some
  786.    defined set of users, then strict privacy can only be enforced in any
  787.    case through adequate end-to-end encryption.
  788.  
  789.    RTP specifies a standard way to encrypt RTP and RTCP packets using
  790.    private key encryption schemes such as DES [21].  It also specifies a
  791.    standard mechanism to manipulate plain text keys using MD5 [22] so
  792.    that the resulting bit string can be used as a DES key.  This allows
  793.    simple out-of-band mechanisms such as privacy-enhanced mail to be
  794.    used for encryption key exchange.
  795.  
  796.  
  797. 8.1.  Authentication and Key Distribution
  798.  
  799.  
  800.    Key distribution is closely tied to authentication.  Conference or
  801.    session directory keys can be securely distributed using public-key
  802.    cryptography on a one-to-one basis (by email, a directory service, or
  803.    by an explicit conference setup mechanism), but this is only as good
  804.    as the certification mechanism used to certify that a key given by a
  805.    user is the correct public key for that user.  Such certification
  806.    mechanisms [23] are not specific to conferencing, and no standard
  807.    mechanisms are currently in use for conferencing purposes other than
  808.    PEM [24].
  809.  
  810.    At the time of writing, no standard mechanisms for key distribution
  811.  
  812. Handley/Crowcroft/Bormann/Ott                                  [Page 14]
  813.  
  814. INTERNET-DRAThe Internet Multimedia Conferencing Architecture  July 1997
  815.  
  816.    are defined for the conference setup and control protocols in use.
  817.  
  818.    Even without privacy requirements in the conference policy, strong
  819.    authentication of a user is required if making a network reservation
  820.    results in usage based billing.
  821.  
  822.  
  823. 8.2.  Encrypted Session Announcements
  824.  
  825.  
  826.    Session Directories can make encrypted session announcements using
  827.    private key encryption, and carry the encryption keys to be used for
  828.    each of the conference media streams in the session.  Whilst this
  829.    does not solve the key distribution problem, it does allow a single
  830.    conference to be announced more than once to more than one key-group,
  831.    where each group holds a different session directory key, so that the
  832.    two groups can be brought together into a single conference without
  833.    having to know each other's keys.
  834.  
  835.  
  836. 9.  Summary
  837.  
  838.  
  839.    This document is an attempt to gather together in one place the set
  840.    of assumptions behind the design of the Internet Multimedia
  841.    Conferencing architecture, and the services that are provided to
  842.    support it.
  843.  
  844. 10.  Acknowledgments and Authors' Addresses
  845.  
  846.  
  847.    Acknowledgments are due to the End-to-End Research Group, the Int-
  848.    serv, RSVP, MMUSIC and AVT working groups of the IETF, and discussion
  849.    with colleagues at UCL.  The earliest clear exposition of the ideas
  850.    here can be found at http://www-mice.cs.ucl.ac.uk/mice-old/van/ and
  851.    was presented at ACM SIGCOMM 1994 in London by Van Jacobson.
  852.  
  853.  
  854.            Mark Handley
  855.            (fix me)
  856.            Email: mjh@isi.edu
  857.  
  858.  
  859.  
  860.            Jon Crowcroft
  861.            Department of Computer Science
  862.            University College London
  863.            Gower Street,
  864.            London WC1E 6BT
  865.            UK
  866.            fax +44 171 387 1397
  867.            Email: m.handley@cs.ucl.ac.uk, j.crowcroft@cs.ucl.ac.uk
  868.            Web: http://www.cs.ucl.ac.uk/index.html
  869.  
  870. Handley/Crowcroft/Bormann/Ott                                  [Page 15]
  871.  
  872. INTERNET-DRAThe Internet Multimedia Conferencing Architecture  July 1997
  873.  
  874.  
  875.            Carsten Bormann
  876.            Universitaet Bremen
  877.            Postfach 330440
  878.            D-28334 Bremen
  879.            GERMANY
  880.            fax +49 421 218-7000
  881.            Email: cabo@tzi.org
  882.            Web: http://www-rn.informatik.uni-bremen.de
  883.  
  884.  
  885.  
  886.                                 References
  887.  
  888.  
  889.    1.  ITU, Recommendation H.320.
  890.  
  891.    2.  S. Deering, D. Estrin, D. Farinacci, V. Jacobson, C.-G. Liu, and
  892.        L. Wei, An Architecture for Wide Area Multicast Routing, 24, pp.
  893.        126-135, ACM SIGCOMM, October 1994.
  894.  
  895.    3.  S. Deering, C. Partridge, and D. Waitzman, "Distance Vector
  896.        Multicast Routing Protocol," RFC 1075, November 1988.
  897.  
  898.    4.  A. Ballardie, P. Francis, and J. Crowcroft, An Architecture for
  899.        Scalable Inter-Domain Multicast Routing, pp. 85-95, ACM SIGCOMM,
  900.        1993.
  901.  
  902.    5.  J. Moy, "Multicast Extensions to OSPF," RFC 1584, March 1994.
  903.  
  904.    6.  S. Deering, Multicast Routing in Internetworks and Extended LANs,
  905.        pp. 55-64, ACM SIGCOMM, August 1988.
  906.  
  907.    7.  S. Deering, "Host Extensions for IP Multicasting," RFC 1112,
  908.        August 1989.
  909.  
  910.    8.  C. Bormann, "Providing integrated services over low-bitrate
  911.        links," Internet-Draft draft-ietf-issll-isslow-02.txt, Work in
  912.        Progress, May 1997.
  913.  
  914.    9.  H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson, "RTP: A
  915.        Transport Protocol for Real-Time Applications," RFC 1889.
  916.  
  917.    10. V. Jacobson, Congestion Avoidance and Control, ACM SIGCOMM,
  918.        August 1988.
  919.  
  920.    11. H. Schulzrinne, A. Rao, and R. Lanphier, "Real-Time Stream
  921.        Control Protocol (RTSP)," Internet-Draft draft-ietf-mmusic-
  922.        rtsp-0x.txt, Work in Progress, (fix me).
  923.  
  924.    12. S. Floyd, V. Jacobson, S. McCanne, C.-G. Liu, and L. Zhang, A
  925.        Reliable Multicast Framework for Light-weight Sessions and
  926.        Application Level Framing, pp. 342-356, ACM SIGCOMM, 1995.
  927.  
  928. Handley/Crowcroft/Bormann/Ott                                  [Page 16]
  929.  
  930. INTERNET-DRAThe Internet Multimedia Conferencing Architecture  July 1997
  931.  
  932.    13. ITU-T, Recommendation T.124 -- Generic Conference Control.
  933.  
  934.    14. ITU-T, Recommendation H.323 -- Multi-Media Conferences for
  935.        Packet-based Network Environments.
  936.  
  937.    15. ITU-T, Recommendation H.245.
  938.  
  939.    16. C. Bormann, J. Ott, and C. Reichert, "Simple Conference Control
  940.        Protocol," Internet-Draft draft-ietf-mmusic-sccp-0x.txt, Work in
  941.        Progress, (fix me).
  942.  
  943.    17. M. Handley and V. Jacobson, "SDP: Session Description Protocol,"
  944.        Internet-Draft draft-ietf-mmusic-sdp-0x.txt, Work in Progress,
  945.        (fix me)..
  946.  
  947.    18. M. Handley and V. Jacobson, "SAP: Session Announcement Protocol,"
  948.        Internet-Draft draft-ietf-mmusic-sap-0x.txt, Work in Progress,
  949.        (fix me)..
  950.  
  951.    19. H. Schulzrinne, "Personal Mobility for Multimedia Services in the
  952.        Internet," IMDS'96, March 1996..
  953.  
  954.    20. M. Handley, H. Schulzrinne, and E. Schooler, "SIP: Session
  955.        Initiation Protocol," Internet-Draft draft-ietf-mmusic-
  956.        sip-0x.txt, Work in Progress, (fix me)..
  957.  
  958.    21. National Institute of Standards and Technology (NIST), FIPS
  959.        Publication 46-1: Data Encryption Standard, January 1988.
  960.  
  961.    22. R. Rivest, "The MD5 Message-Digest Algorithm," RFC 1321, April
  962.        1992.
  963.  
  964.    23. CCITT, Recommendation X.509: The Directory -- Authentication
  965.        Framework, 1988..
  966.  
  967.    24. J. Linn, "Privacy Enhancement for Internet Electronic Mail: Part
  968.        I: Message Encryption and Authentication Procedures," RFC 1421,
  969.        Feb 1993.
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986. Handley/Crowcroft/Bormann/Ott                                  [Page 17]
  987.  
  988.