home *** CD-ROM | disk | FTP | other *** search
/ Internet Core Protocols / Oreilly-InternetCoreProtocols.iso / RFCs / rfc2689.txt < prev    next >
Encoding:
Text File  |  1999-10-14  |  34.3 KB  |  788 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         C. Bormann
  8. Request for Comments: 2689                       Universitaet Bremen TZI
  9. Category: Informational                                   September 1999
  10.  
  11.  
  12.           Providing Integrated Services over Low-bitrate Links
  13.  
  14. Status of this Memo
  15.  
  16.    This memo provides information for the Internet community.  It does
  17.    not specify an Internet standard of any kind.  Distribution of this
  18.    memo is unlimited.
  19.  
  20. Copyright Notice
  21.  
  22.    Copyright (C) The Internet Society (1999).  All Rights Reserved.
  23.  
  24. Abstract
  25.  
  26.    This document describes an architecture for providing integrated
  27.    services over low-bitrate links, such as modem lines, ISDN B-
  28.    channels, and sub-T1 links.  It covers only the lower parts of the
  29.    Internet Multimedia Conferencing Architecture [1]; additional
  30.    components required for application services such as Internet
  31.    Telephony (e.g., a session initiation protocol) are outside the scope
  32.    of this document.  The main components of the architecture are: a
  33.    real-time encapsulation format for asynchronous and synchronous low-
  34.    bitrate links, a header compression architecture optimized for real-
  35.    time flows, elements of negotiation protocols used between routers
  36.    (or between hosts and routers), and announcement protocols used by
  37.    applications to allow this negotiation to take place.
  38.  
  39. 1.  Introduction
  40.  
  41.    As an extension to the "best-effort" services the Internet is well-
  42.    known for, additional types of services ("integrated services") that
  43.    support the transport of real-time multimedia information are being
  44.    developed for, and deployed in the Internet.  Important elements of
  45.    this development are:
  46.  
  47.    -  parameters for forwarding mechanisms that are appropriate for
  48.       real-time information [11, 12],
  49.  
  50.    -  a setup protocol that allows establishing special forwarding
  51.       treatment for real-time information flows (RSVP [4]),
  52.  
  53.    -  a transport protocol for real-time information (RTP/RTCP [6]).
  54.  
  55.  
  56.  
  57.  
  58. Bormann                      Informational                      [Page 1]
  59.  
  60. RFC 2689       Integrated Services over Low-bitrate Links September 1999
  61.  
  62.  
  63.    In addition to these elements at the network and transport levels of
  64.    the Internet Multimedia Conferencing Architecture [1], further
  65.    components are required to define application services such as
  66.    Internet Telephony, e.g., protocols for session initiation and
  67.    control.  These components are outside the scope of this document.
  68.  
  69.    Up to now, the newly developed services could not (or only very
  70.    inefficiently) be used over forwarding paths that include low-bitrate
  71.    links such as 14.4, 33.6, and 56 kbit/s modems, 56 and 64 kbit/s ISDN
  72.    B-channels, or even sub-T1 links.  The encapsulation formats used on
  73.    these links are not appropriate for the simultaneous transport of
  74.    arbitrary data and real-time information that has to meet stringent
  75.    delay requirements.  Transmission of a 1500 byte packet on a 28.8
  76.    kbit/s modem link makes this link unavailable for the transmission of
  77.    real-time information for about 400 ms.  This adds a worst-case delay
  78.    that causes real-time applications to operate with round-trip delays
  79.    on the order of at least a second -- unacceptable for real-time
  80.    conversation.  In addition, the header overhead associated with the
  81.    protocol stacks used is prohibitive on low-bitrate links, where
  82.    compression down to a few dozen bytes per real-time information
  83.    packet is often desirable.  E.g., the overhead of at least 44
  84.    (4+20+8+12) bytes for HDLC/PPP, IP, UDP, and RTP completely
  85.    overshadows typical audio payloads such as the 19.75 bytes needed for
  86.    a G.723.1 ACELP audio frame -- a 14.4 kbit/s link is completely
  87.    consumed by this header overhead alone at 40 real-time frames per
  88.    second total (i.e., at 25 ms packetization delay for one stream or 50
  89.    ms for two streams, with no space left for data, yet).  While the
  90.    header overhead can be reduced by combining several real-time
  91.    information frames into one packet, this increases the delay incurred
  92.    while filling that packet and further detracts from the goal of
  93.    real-time transfer of multi-media information over the Internet.
  94.  
  95.    This document describes an approach for addressing these problems.
  96.    The main components of the architecture are:
  97.  
  98.    -  a real-time encapsulation format for asynchronous and synchronous
  99.       low-bitrate links,
  100.  
  101.    -  a header compression architecture optimized for real-time flows,
  102.  
  103.    -  elements of negotiation protocols used between routers (or between
  104.       hosts and routers), and
  105.  
  106.    -  announcement protocols used by applications to allow this
  107.       negotiation to take place.
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Bormann                      Informational                      [Page 2]
  115.  
  116. RFC 2689       Integrated Services over Low-bitrate Links September 1999
  117.  
  118.  
  119. 2.  Design Considerations
  120.  
  121.    The main design goal for an architecture that addresses real-time
  122.    multimedia flows over low-bitrate links is that of minimizing the
  123.    end-to-end delay.  More specifically, the worst case delay (after
  124.    removing possible outliers, which are equivalent to packet losses
  125.    from an application point of view) is what determines the playout
  126.    points selected by the applications and thus the delay actually
  127.    perceived by the user.
  128.  
  129.    In addition, any such architecture should obviously undertake every
  130.    attempt to maximize the bandwidth actually available to media data;
  131.    overheads must be minimized.
  132.  
  133.    An important component of the integrated services architecture is the
  134.    provision of reservations for real-time flows.  One of the problems
  135.    that systems on low-bitrate links (routers or hosts) face when
  136.    performing admission control for such reservations is that they must
  137.    translate the bandwidth requested in the reservation to the one
  138.    actually consumed on the link.  Methods such as data compression
  139.    and/or header compression can reduce the requirements on the link,
  140.    but admission control can only make use of the reduced requirements
  141.    in its calculations if it has enough information about the data
  142.    stream to know how effective the compression will be.  One goal of
  143.    the architecture therefore is to provide the integrated services
  144.    admission control with this information.  A beneficial side effect
  145.    may be to allow the systems to perform better compression than would
  146.    be possible without this information.  This may make it worthwhile to
  147.    provide this information even when it is not intended to make a
  148.    reservation for a real-time flow.
  149.  
  150. 3.  The Need for a Concerted Approach
  151.  
  152.    Many technical approaches come to mind for addressing these problems,
  153.    in particular a new form of low-delay encapsulation to address delay
  154.    and header compression methods to address overhead.  This section
  155.    shows that these techniques should be combined to solve the problem.
  156.  
  157. 3.1.  Real-Time Encapsulation
  158.  
  159.    The purpose of defining a real-time link-layer encapsulation protocol
  160.    is to be able to introduce newly arrived real-time packets into the
  161.    link-layer data stream without having to wait for the currently
  162.    transmitted (possibly large) packet to end.  Obviously, a real-time
  163.    encapsulation must be part of any complete solution as the problem of
  164.    delays induced by large frames on the link can only be solved on this
  165.    layer.
  166.  
  167.  
  168.  
  169.  
  170. Bormann                      Informational                      [Page 3]
  171.  
  172. RFC 2689       Integrated Services over Low-bitrate Links September 1999
  173.  
  174.  
  175.    To be able to switch to a real-time packet quickly in an interface
  176.    driver, it is first necessary to identify packets that belong to
  177.    real-time flows.  This can be done using a heuristic approach (e.g.,
  178.    favor the transmission of highly periodic flows of small packets
  179.    transported in IP/UDP, or use the IP precedence fields in a specific
  180.    way defined within an organization).  Preferably, one also could make
  181.    use of a protocol defined for identifying flows that require special
  182.    treatment, i.e. RSVP.  Of the two service types defined for use with
  183.    RSVP now, the guaranteed service will only be available in certain
  184.    environments; for this and various other reasons, the service type
  185.    chosen for many adaptive audio/video applications will most likely be
  186.    the controlled-load service.  Controlled-load does not provide
  187.    control parameters for target delay; thus it does not unambiguously
  188.    identify those packet streams that would benefit most from being
  189.    transported in a real-time encapsulation format.  This calls for a
  190.    way to provide additional parameters in integrated services flow
  191.    setup protocols to control the real-time encapsulation.
  192.  
  193.    Real-time encapsulation is not sufficient on its own, however: Even
  194.    if the relevant flows can be appropriately identified for real-time
  195.    treatment, most applications simply cannot operate properly on low-
  196.    bitrate links with the header overhead implied by the combination of
  197.    HDLC/PPP, IP, UDP, and RTP, i.e. they absolutely require header
  198.    compression.
  199.  
  200. 3.2.  Header Compression
  201.  
  202.    Header compression can be performed in a variety of elements and at a
  203.    variety of levels in the protocol architecture.  As many vendors of
  204.    Internet Telephony products for PCs ship applications, the approach
  205.    that is most obvious to them is to reduce overhead by performing
  206.    header compression at the application level, i.e. above transport
  207.    protocols such as UDP (or actually by using a non-standard,
  208.    efficiently coded header in the first place).
  209.  
  210.    Generally, header compression operates by installing state at both
  211.    ends of a path that allows the receiving end to reconstruct
  212.    information omitted at the sending end.  Many good techniques for
  213.    header compression (RFC 1144, [2]) operate on the assumption that the
  214.    path will not reorder the frames generated.  This assumption does not
  215.    hold for end-to-end compression; therefore additional overhead is
  216.    required for resequencing state changes and for compressed packets
  217.    making use of these state changes.
  218.  
  219.    Assume that a very good application level header compression solution
  220.    for RTP flows could be able to save 11 out of the 12 bytes of an RTP
  221.    header [3].  Even this perfect solution only reduces the total header
  222.    overhead by 1/4.  It would have to be deployed in all applications,
  223.  
  224.  
  225.  
  226. Bormann                      Informational                      [Page 4]
  227.  
  228. RFC 2689       Integrated Services over Low-bitrate Links September 1999
  229.  
  230.  
  231.    even those that operate on systems that are attached to higher-
  232.    bitrate links.
  233.  
  234.    Because of this limited effectiveness, the AVT group that is
  235.    responsible for RTP within the IETF has decided to not further pursue
  236.    application level header compression.
  237.  
  238.    For router and IP stack vendors, the obvious approach is to define
  239.    header compression that can be negotiated between peer routers.
  240.  
  241.    Advanced header compression techniques now being defined in the IETF
  242.    [2] certainly can relieve the link from significant parts of the
  243.    IP/UDP overhead (i.e., most of 28 of the 44 bytes mentioned above).
  244.  
  245.    One of the design principles of the new IP header compression
  246.    developed in conjunction with IPv6 is that it stops at layers the
  247.    semantics of which cannot be inferred from information in lower layer
  248.    (outer) headers.  Therefore, this header compression technique alone
  249.    cannot compress the data that is contained within UDP packets.
  250.  
  251.    Any additional header compression technique runs into a problem: If
  252.    it assumes specific application semantics (i.e., those of RTP and a
  253.    payload data format) based on heuristics, it runs the risk of being
  254.    triggered falsely and (e.g. in case of packet loss) reconstructing
  255.    packets that are catastrophically incorrect for the application
  256.    actually being used.  A header compression technique that can be
  257.    operated based on heuristics but does not cause incorrect
  258.    decompression even if the heuristics failed is described in [7]; a
  259.    companion document describes the mapping of this technique to PPP
  260.    [10].
  261.  
  262.    With all of these techniques, the total IP/UDP/RTP header overhead
  263.    for an audio stream can be reduced to two bytes per packet.  This
  264.    technology need only be deployed at bottleneck links; high-speed
  265.    links can transfer the real-time streams without routers or switches
  266.    expending CPU cycles to perform header compression.
  267.  
  268. 4.  Principles of Real-Time Encapsulation for Low-Bitrate Links
  269.  
  270.    The main design goal for a real-time encapsulation is to minimize the
  271.    delay incurred by real-time packets that become available for sending
  272.    while a long data packet is being sent.  To achieve this, the
  273.    encapsulation must be able to either abort or suspend the transfer of
  274.    the long data packet.  As an additional goal is to minimize the
  275.    overhead required for the transmission of packets from periodic
  276.    flows, this strongly argues for being able to suspend a packet, i.e.
  277.    segment it into parts between which the real-time packets can be
  278.    transferred.
  279.  
  280.  
  281.  
  282. Bormann                      Informational                      [Page 5]
  283.  
  284. RFC 2689       Integrated Services over Low-bitrate Links September 1999
  285.  
  286.  
  287. 4.1.  Using existing IP fragmentation
  288.  
  289.    Transmitting only part of a packet, to allow higher-priority traffic
  290.    to intervene and then resuming its transmission later on, is a kind
  291.    of fragmentation.  Fragmentation is an existing functionality of the
  292.    IP layer: An IPv4 header already contains fields that allow a large
  293.    IP datagram to be fragmented into small parts.  A sender's "real-time
  294.    PPP" implementation might simply indicate a small MTU to its IP stack
  295.    and thus cause all larger datagrams to be fragmented down to a size
  296.    that allows the access delay goals to be met (this assumes that the
  297.    IP stack is able to priority-tag fragments, or that the PPP
  298.    implementation is able to correlate the fragments to the initial one
  299.    that carries the information relevant for prioritizing, or that only
  300.    initial fragments can be high-priority).  (Also, a PPP implementation
  301.    can negotiate down the MTU of its peer, causing the peer to fragment
  302.    to a small size, which might be considered a crude form of
  303.    negotiating an access delay goal with the peer system -- if that
  304.    system supports priority queueing at the fragment level.)
  305.  
  306.    Unfortunately, a full, 20 byte IP header is needed for each fragment
  307.    (larger when IP options are used).  This limits the minimum size of
  308.    fragments that can be used without too much overhead.  (Also, the
  309.    size of non-final fragments must be a multiple of 8 bytes, further
  310.    limiting the choice.)  With path MTU discovery, IP level
  311.    fragmentation causes TCP implementations to use small MSSs -- this
  312.    further increases the per-packet overhead to 40 bytes per fragment.
  313.  
  314.    In any case, fragmentation at the IP level persists on the path
  315.    further down to the datagram receiver, increasing the transmission
  316.    overheads and router load throughout the network.  With its high
  317.    overhead and the adverse effect on the Internet, IP level
  318.    fragmentation can only be a stop-gap mechanism when no other
  319.    fragmentation protocol is available in the peer implementation.
  320.  
  321. 4.2.  Link-Layer Mechanisms
  322.  
  323.    Cell-oriented multiplexing techniques such as ATM that introduce
  324.    regular points where cells from a different packet can be
  325.    interpolated are too inefficient for low-bitrate links; also, they
  326.    are not supported by chips used to support the link layer in low-
  327.    bitrate routers and host interfaces.
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Bormann                      Informational                      [Page 6]
  339.  
  340. RFC 2689       Integrated Services over Low-bitrate Links September 1999
  341.  
  342.  
  343.    Instead, the real-time encapsulation should as far as possible make
  344.    use of the capabilities of the chips that have been deployed.  On
  345.    synchronous lines, these chips support HDLC framing; on asynchronous
  346.    lines, an asynchronous variant of HDLC that usually is implemented in
  347.    software is being used.  Both variants of HDLC provide a delimiting
  348.    mechanism to indicate the end of a frame over the link.  The obvious
  349.    solution to the segmentation problem is to combine this mechanism
  350.    with an indication of whether the delimiter terminates or suspends
  351.    the current packet.
  352.  
  353.    This indication could be in an octet appended to each frame
  354.    information field; however, seven out of eight bits of the octet
  355.    would be wasted.  Instead, the bit could be carried at the start of
  356.    the next frame in conjunction with multiplexing information (PPP
  357.    protocol identifier etc.) that will be required here anyway.  Since
  358.    the real-time flows will in general be periodic, this multiplexing
  359.    information could convey (part of) the compressed form of the header
  360.    for the packet.  If packets from the real-time flow generally are of
  361.    constant length (or have a defined maximum length that is often
  362.    used), the continuation of the suspended packet could be immediately
  363.    attached to it, without expending a further frame delimiter, i.e.,
  364.    the interpolation of the real-time packet would then have zero
  365.    overhead.  Since packets from low-delay real-time flows generally
  366.    will not require the ability to be further suspended, the
  367.    continuation bit could be reserved for the non-real-time packet
  368.    stream.
  369.  
  370.    One real-time encapsulation format with these (and other) functions
  371.    is described in ITU-T H.223 [13], the multiplex used by the H.324
  372.    modem-based videophone standard [14].  It was investigated whether
  373.    compatibility could be achieved with this specification, which will
  374.    be used in future videophone-enabled (H.324 capable) modems.
  375.    However, since the multiplexing capabilities of H.223 are limited to
  376.    15 schedules (definitions of sequences of packet types that can be
  377.    identified in a multiplex header), for general Internet usage a
  378.    superset or a more general encapsulation would have been required.
  379.    Also, a PPP-style negotiation protocol was needed instead of using
  380.    (and necessarily extending) ITU-T H.245 [15] for setting the
  381.    parameters of the multiplex.  In the PPP context, the interactions
  382.    with the encapsulations for data compression and link layer
  383.    encryption needed to be defined (including operation in the presence
  384.    of padding).  But most important, H.223 requires synchronous HDLC
  385.    chips that can be configured to send frames without an attached CRC,
  386.    which is not possible with all chips deployed in commercially
  387.    available routers; so complete compatibility was unachievable.
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Bormann                      Informational                      [Page 7]
  395.  
  396. RFC 2689       Integrated Services over Low-bitrate Links September 1999
  397.  
  398.  
  399.    Instead of adopting H.223, it was decided to pursue an approach that
  400.    is oriented towards compatibility both with existing hardware and
  401.    existing software (in particular PPP) implementations.  The next
  402.    subsection groups these implementations according to their
  403.    capabilities.
  404.  
  405. 4.3.  Implementation models
  406.  
  407.    This section introduces a number of terms for types of
  408.    implementations that are likely to emerge.  It is important to have
  409.    these different implementation models in mind as there is no single
  410.    approach that fits all models best.
  411.  
  412. 4.3.1.  Sender types
  413.  
  414.    There are two fundamental approaches to real-time transmission on
  415.    low-bitrate links:
  416.  
  417.    Sender type 1
  418.       The PPP real-time framing implementation is able to control the
  419.       transmission of each byte being transmitted with some known,
  420.       bounded delay (e.g., due to FIFOs).  For example, this is
  421.       generally true of PC host implementations, which directly access
  422.       serial interface chips byte by byte or by filling a very small
  423.       FIFO.  For type 1 senders, a suspend/resume type approach will be
  424.       typically used: When a long frame is to be sent, the attempt is to
  425.       send it undivided; only if higher priority packets come up during
  426.       the transmission will the lower-priority long frame be suspended
  427.       and later resumed.  This approach allows the minimum variation in
  428.       access delay for high-priority packets; also, fragmentation
  429.       overhead is only incurred when actually needed.
  430.  
  431.    Sender type 2
  432.       With type 2 senders, the interface between the PPP real-time
  433.       framing implementation and the transmission hardware is not in
  434.       terms of streams of bytes, but in terms of frames, e.g., in the
  435.       form of multiple (prioritized) send queues directly supported by
  436.       hardware.  This is often true of router systems for synchronous
  437.       links, in particular those that have to support a large number of
  438.       low-bitrate links.  As type 2 senders have no way to suspend a
  439.       frame once it has been handed down for transmission, they
  440.       typically will use a queues-of-fragments approach, where long
  441.       packets are always split into units that are small enough to
  442.       maintain the access delay goals for higher-priority traffic.
  443.       There is a trade-off between the variation in access delay
  444.       resulting from a large fragment size and the overhead that is
  445.       incurred for every long packet by choosing a small fragment size.
  446.  
  447.  
  448.  
  449.  
  450. Bormann                      Informational                      [Page 8]
  451.  
  452. RFC 2689       Integrated Services over Low-bitrate Links September 1999
  453.  
  454.  
  455. 4.3.2.  Receiver types
  456.  
  457.    Although the actual work of formulating transmission streams for
  458.    real-time applications is performed at the sender, the ability of the
  459.    receiver to immediately make use of the information received depends
  460.    on its characteristics:
  461.  
  462.    Receiver type 1
  463.       Type 1 receivers have full control over the stream of bytes
  464.       received within PPP frames, i.e., bytes received are available
  465.       immediately to the PPP real-time framing implementation (with some
  466.       known, bounded delay e.g. due to FIFOs etc.).
  467.  
  468.    Receiver type 2
  469.       With type 2 receivers, the PPP real-time framing implementation
  470.       only gets hold of a frame when it has been received completely,
  471.       i.e., the final flag has been processed (typically by some HDLC
  472.       chip that directly fills a memory buffer).
  473.  
  474. 4.4.  Conclusion
  475.  
  476.    As a result of the diversity in capabilities of current
  477.    implementations, there are now two specifications for real-time
  478.    encapsulation: One, the multi-class extension to the PPP multi-link
  479.    protocol, is providing the solution for the queues-of-fragments
  480.    approach by extending the single-stream PPP multi-link protocol by
  481.    multiple classes [8].  The other encapsulation, PPP in a real-time
  482.    oriented HDLC-like framing, builds on this specification end extends
  483.    it by a way to dynamically delimit multiple fragments within one HDLC
  484.    frame [9], providing the solution for the suspend/resume type
  485.    approach.
  486.  
  487. 5.  Principles of Header Compression for Real-Time Flows
  488.  
  489.    A good baseline for a discussion about header compression is in the
  490.    new IP header compression specification that was designed in
  491.    conjunction with the development of IPv6 [2].  The techniques used
  492.    there can reduce the 28 bytes of IPv4/UDP header to about 6 bytes
  493.    (depending on the number of concurrent streams); with the remaining 4
  494.    bytes of HDLC/PPP overhead and 12 bytes for RTP the total header
  495.    overhead can be about halved but still exceeds the size of a G.723.1
  496.    ACELP frame.  Note that, in contrast to IP header compression, the
  497.    environment discussed here assumes the existence of a full-duplex PPP
  498.    link and thus can rely on negotiation where IP header compression
  499.    requires repeated transmission of the same information.  (The use of
  500.    the architecture of the present document with link layer multicasting
  501.    has not yet been examined.)
  502.  
  503.  
  504.  
  505.  
  506. Bormann                      Informational                      [Page 9]
  507.  
  508. RFC 2689       Integrated Services over Low-bitrate Links September 1999
  509.  
  510.  
  511.    Additional design effort was required for RTP header compression.
  512.    Applying the concepts of IP header compression, of the (at least) 12
  513.    bytes in an RTP header, 7 bytes (timestamp, sequence, and marker bit)
  514.    would qualify as RANDOM; DELTA encoding cannot generally be used
  515.    without further information since the lower layer header does not
  516.    unambiguously identify the semantics and there is no TCP checksum
  517.    that can be relied on to detect incorrect decompression.  Only a more
  518.    semantics-oriented approach can provide better compression (just as
  519.    RFC 1144 can provide very good compression of TCP headers by making
  520.    use of semantic knowledge of TCP and its checksumming method).
  521.  
  522.    For RTP packets, differential encoding of the sequence number and
  523.    timestamps is an efficient approach for certain cases of payload data
  524.    formats.  E.g., speech flows generally have sequence numbers and
  525.    timestamp fields that increase by 1 and by the frame size in
  526.    timestamp units, resp.; the CRTP (compressed RTP) specification makes
  527.    use of this relationship by encoding these fields only when the
  528.    second order difference is non-zero [7].
  529.  
  530. 6.  Announcement Protocols Used by Applications
  531.  
  532.    As argued, the compressor can operate best if it can make use of
  533.    information that clearly identifies real-time streams and provides
  534.    information about the payload data format in use.
  535.  
  536.    If these systems are routers, this consent must be installed as
  537.    router state; if these systems are hosts, it must be known to their
  538.    networking kernels.  Sources of real-time information flows are
  539.    already describing characteristics of these flows to their kernels
  540.    and to the routers in the form of TSpecs in RSVP PATH messages [4].
  541.    Since these messages make use of the router alert option, they are
  542.    seen by all routers on the path; path state about the packet stream
  543.    is normally installed at each of these routers that implement RSVP.
  544.    Additional RSVP objects could be defined that are included in PATH
  545.    messages by those applications that desire good performance over low-
  546.    bitrate links; these objects would be coded to be ignored by routers
  547.    that are not interested in them (class number 11bbbbbb as defined in
  548.    [4], section 3.10).
  549.  
  550.    Note that the path state is available in the routers even when no
  551.    reservation is made; this allows informed compression of best-effort
  552.    traffic.  It is not quite clear, though, how path state could be torn
  553.    down quickly when a source ceases to transmit.
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562. Bormann                      Informational                     [Page 10]
  563.  
  564. RFC 2689       Integrated Services over Low-bitrate Links September 1999
  565.  
  566.  
  567. 7.  Elements of Hop-By-Hop Negotiation Protocols
  568.  
  569.    The IP header compression specification attempts to account for
  570.    simplex and multicast links by providing information about the
  571.    compressed streams only in the forward direction.  E.g., a full
  572.    IP/UDP header must be sent after F_MAX_TIME (currently 3 seconds),
  573.    which is a negligible total overhead (e.g. one full header every 150
  574.    G.723.1 packets), but must be considered carefully in scheduling the
  575.    real-time transmissions.  Both simplex and multicast links are not
  576.    prevailing in the low-bitrate environment (although multicast
  577.    functionality may become more important with wireless systems); in
  578.    this document, we therefore assume full-duplex capability.
  579.  
  580.    As compression techniques will improve, a negotiation between the two
  581.    peers on the link would provide the best flexibility in
  582.    implementation complexity and potential for extensibility.  The peer
  583.    routers/hosts can decide which real-time packet streams are to be
  584.    compressed, which header fields are not to be sent at all, which
  585.    multiplexing information should be used on the link, and how the
  586.    remaining header fields should be encoded.  PPP, a well-tried suite
  587.    of negotiation protocols, is already used on most of the low-bitrate
  588.    links and seems to provide the obvious approach.  Cooperation from
  589.    PPP is also needed to negotiate the use of real-time encapsulations
  590.    between systems that are not configured to automatically do so.
  591.    Therefore, PPP options that can be negotiated at the link setup (LCP)
  592.    phase are included in [8], [9], and [10].
  593.  
  594. 8.  Security Considerations
  595.  
  596.    Header compression protocols that make use of assumptions about
  597.    application protocols need to be carefully analyzed whether it is
  598.    possible to subvert other applications by maliciously or
  599.    inadvertently enabling their use.
  600.  
  601.    It is generally not possible to do significant hop-by-hop header
  602.    compression on encrypted streams.  With certain security policies, it
  603.    may be possible to run an encrypted tunnel to a network access server
  604.    that does header compression on the decapsulated packets and sends
  605.    them over an encrypted link encapsulation; see also the short mention
  606.    of interactions between real-time encapsulation and encryption in
  607.    section 4 above.  If the security requirements permit, a special RTP
  608.    payload data format that encrypts only the data may preferably be
  609.    used.
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Bormann                      Informational                     [Page 11]
  619.  
  620. RFC 2689       Integrated Services over Low-bitrate Links September 1999
  621.  
  622.  
  623. 9.  References
  624.  
  625.  
  626.     [1]  Handley, M., Crowcroft, J., Bormann, C. and J. Ott, "The
  627.          Internet Multimedia Conferencing Architecture", Work in
  628.          Progress.
  629.  
  630.     [2]  Degermark, M., Nordgren, B. and S. Pink, "IP Header
  631.          Compression", RFC 2507, February 1999.
  632.  
  633.     [3]  Scott Petrack, Ed Ellesson, "Framework for C/RTP: Compressed
  634.          RTP Using Adaptive Differential Header Compression",
  635.          contribution to the mailing list rem-conf@es.net, February
  636.          1996.
  637.  
  638.     [4]  Braden, R., Zhang, L., Berson, S., Herzog, S. and S. Jamin,
  639.          "Resource ReSerVation Protocol (RSVP) -- Version 1 Functional
  640.          Specification", RFC 2205, September 1997.
  641.  
  642.     [5]  Sklower, K., Lloyd, B., McGregor, G., Carr, D. and T.
  643.          Coradetti, "The PPP Multilink Protocol (MP)", RFC 1990, August
  644.          1996.
  645.  
  646.     [6]  Schulzrinne, H., Casner, S., Frederick, R. and V. Jacobson,
  647.          "RTP: A Transport Protocol for Real-Time Applications", RFC
  648.          1889, January 1996.
  649.  
  650.     [7]  Casner, S. and V. Jacobson, "Compressing IP/UDP/RTP Headers for
  651.          Low-Speed Serial Links", RFC 2508, February 1999.
  652.  
  653.     [8]  Bormann, C., "The Multi-Class Extension to Multi-Link PPP", RFC
  654.          2686, September 1999.
  655.  
  656.     [9]  Bormann, C., "PPP in a Real-time Oriented HDLC-like Framing",
  657.          RFC 2687, September 1999.
  658.  
  659.    [10]  Engan, M., Casner, S. and C. Bormann, "IP Header Compression
  660.          over PPP", RFC 2509, February 1999.
  661.  
  662.    [11]  Wroclawski, J.,   "Specification of the Controlled-Load Network
  663.          Element Service", RFC 2211, September 1997.
  664.  
  665.    [12]  Shenker, S., Partridge, C. and R. Guerin.  "Specification of
  666.          Guaranteed Quality of Service", RFC 2212, September 1997.
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674. Bormann                      Informational                     [Page 12]
  675.  
  676. RFC 2689       Integrated Services over Low-bitrate Links September 1999
  677.  
  678.  
  679.    [13]  ITU-T Recommendation H.223, "Multiplexing protocol for low bit
  680.          rate multimedia communication", International Telecommunication
  681.          Union, Telecommunication Standardization Sector (ITU-T), March
  682.          1996.
  683.  
  684.    [14]  ITU-T Recommendation H.324, "Terminal for low bit rate
  685.          multimedia communication", International Telecommunication
  686.          Union, Telecommunication Standardization Sector (ITU-T), March
  687.          1996.
  688.  
  689.    [15]  ITU-T Recommendation H.245, "Control protocol for multimedia
  690.          communication", International Telecommunication Union,
  691.          Telecommunication Standardization Sector (ITU-T), March 1996.
  692.  
  693. 10.  Author's Address
  694.  
  695.    Carsten Bormann
  696.    Universitaet Bremen FB3 TZI
  697.    Postfach 330440
  698.    D-28334 Bremen, GERMANY
  699.  
  700.    Phone: +49.421.218-7024
  701.    Fax:   +49.421.218-7000
  702.    EMail: cabo@tzi.org
  703.  
  704. Acknowledgements
  705.  
  706.    Much of the early discussion that led to this document was done with
  707.    Scott Petrack and Cary Fitzgerald.  Steve Casner, Mikael Degermark,
  708.    Steve Jackowski, Dave Oran, the other members of the ISSLL subgroup
  709.    on low bitrate links (ISSLOW), and in particular the ISSLL WG co-
  710.    chairs Eric Crawley and John Wroclawski have helped in making this
  711.    architecture a reality.
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. Bormann                      Informational                     [Page 13]
  731.  
  732. RFC 2689       Integrated Services over Low-bitrate Links September 1999
  733.  
  734.  
  735. Full Copyright Statement
  736.  
  737.    Copyright (C) The Internet Society (1999).  All Rights Reserved.
  738.  
  739.    This document and translations of it may be copied and furnished to
  740.    others, and derivative works that comment on or otherwise explain it
  741.    or assist in its implementation may be prepared, copied, published
  742.    and distributed, in whole or in part, without restriction of any
  743.    kind, provided that the above copyright notice and this paragraph are
  744.    included on all such copies and derivative works.  However, this
  745.    document itself may not be modified in any way, such as by removing
  746.    the copyright notice or references to the Internet Society or other
  747.    Internet organizations, except as needed for the purpose of
  748.    developing Internet standards in which case the procedures for
  749.    copyrights defined in the Internet Standards process must be
  750.    followed, or as required to translate it into languages other than
  751.    English.
  752.  
  753.    The limited permissions granted above are perpetual and will not be
  754.    revoked by the Internet Society or its successors or assigns.
  755.  
  756.    This document and the information contained herein is provided on an
  757.    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
  758.    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
  759.    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
  760.    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
  761.    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  762.  
  763. Acknowledgement
  764.  
  765.    Funding for the RFC Editor function is currently provided by the
  766.    Internet Society.
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786. Bormann                      Informational                     [Page 14]
  787.  
  788.