⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2689.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 3 页
字号:
   technology need only be deployed at bottleneck links; high-speed
   links can transfer the real-time streams without routers or switches
   expending CPU cycles to perform header compression.

4.  Principles of Real-Time Encapsulation for Low-Bitrate Links

   The main design goal for a real-time encapsulation is to minimize the
   delay incurred by real-time packets that become available for sending
   while a long data packet is being sent.  To achieve this, the
   encapsulation must be able to either abort or suspend the transfer of
   the long data packet.  As an additional goal is to minimize the
   overhead required for the transmission of packets from periodic
   flows, this strongly argues for being able to suspend a packet, i.e.
   segment it into parts between which the real-time packets can be
   transferred.



Bormann                      Informational                      [Page 5]

RFC 2689       Integrated Services over Low-bitrate Links September 1999


4.1.  Using existing IP fragmentation

   Transmitting only part of a packet, to allow higher-priority traffic
   to intervene and then resuming its transmission later on, is a kind
   of fragmentation.  Fragmentation is an existing functionality of the
   IP layer: An IPv4 header already contains fields that allow a large
   IP datagram to be fragmented into small parts.  A sender's "real-time
   PPP" implementation might simply indicate a small MTU to its IP stack
   and thus cause all larger datagrams to be fragmented down to a size
   that allows the access delay goals to be met (this assumes that the
   IP stack is able to priority-tag fragments, or that the PPP
   implementation is able to correlate the fragments to the initial one
   that carries the information relevant for prioritizing, or that only
   initial fragments can be high-priority).  (Also, a PPP implementation
   can negotiate down the MTU of its peer, causing the peer to fragment
   to a small size, which might be considered a crude form of
   negotiating an access delay goal with the peer system -- if that
   system supports priority queueing at the fragment level.)

   Unfortunately, a full, 20 byte IP header is needed for each fragment
   (larger when IP options are used).  This limits the minimum size of
   fragments that can be used without too much overhead.  (Also, the
   size of non-final fragments must be a multiple of 8 bytes, further
   limiting the choice.)  With path MTU discovery, IP level
   fragmentation causes TCP implementations to use small MSSs -- this
   further increases the per-packet overhead to 40 bytes per fragment.

   In any case, fragmentation at the IP level persists on the path
   further down to the datagram receiver, increasing the transmission
   overheads and router load throughout the network.  With its high
   overhead and the adverse effect on the Internet, IP level
   fragmentation can only be a stop-gap mechanism when no other
   fragmentation protocol is available in the peer implementation.

4.2.  Link-Layer Mechanisms

   Cell-oriented multiplexing techniques such as ATM that introduce
   regular points where cells from a different packet can be
   interpolated are too inefficient for low-bitrate links; also, they
   are not supported by chips used to support the link layer in low-
   bitrate routers and host interfaces.










Bormann                      Informational                      [Page 6]

RFC 2689       Integrated Services over Low-bitrate Links September 1999


   Instead, the real-time encapsulation should as far as possible make
   use of the capabilities of the chips that have been deployed.  On
   synchronous lines, these chips support HDLC framing; on asynchronous
   lines, an asynchronous variant of HDLC that usually is implemented in
   software is being used.  Both variants of HDLC provide a delimiting
   mechanism to indicate the end of a frame over the link.  The obvious
   solution to the segmentation problem is to combine this mechanism
   with an indication of whether the delimiter terminates or suspends
   the current packet.

   This indication could be in an octet appended to each frame
   information field; however, seven out of eight bits of the octet
   would be wasted.  Instead, the bit could be carried at the start of
   the next frame in conjunction with multiplexing information (PPP
   protocol identifier etc.) that will be required here anyway.  Since
   the real-time flows will in general be periodic, this multiplexing
   information could convey (part of) the compressed form of the header
   for the packet.  If packets from the real-time flow generally are of
   constant length (or have a defined maximum length that is often
   used), the continuation of the suspended packet could be immediately
   attached to it, without expending a further frame delimiter, i.e.,
   the interpolation of the real-time packet would then have zero
   overhead.  Since packets from low-delay real-time flows generally
   will not require the ability to be further suspended, the
   continuation bit could be reserved for the non-real-time packet
   stream.

   One real-time encapsulation format with these (and other) functions
   is described in ITU-T H.223 [13], the multiplex used by the H.324
   modem-based videophone standard [14].  It was investigated whether
   compatibility could be achieved with this specification, which will
   be used in future videophone-enabled (H.324 capable) modems.
   However, since the multiplexing capabilities of H.223 are limited to
   15 schedules (definitions of sequences of packet types that can be
   identified in a multiplex header), for general Internet usage a
   superset or a more general encapsulation would have been required.
   Also, a PPP-style negotiation protocol was needed instead of using
   (and necessarily extending) ITU-T H.245 [15] for setting the
   parameters of the multiplex.  In the PPP context, the interactions
   with the encapsulations for data compression and link layer
   encryption needed to be defined (including operation in the presence
   of padding).  But most important, H.223 requires synchronous HDLC
   chips that can be configured to send frames without an attached CRC,
   which is not possible with all chips deployed in commercially
   available routers; so complete compatibility was unachievable.






Bormann                      Informational                      [Page 7]

RFC 2689       Integrated Services over Low-bitrate Links September 1999


   Instead of adopting H.223, it was decided to pursue an approach that
   is oriented towards compatibility both with existing hardware and
   existing software (in particular PPP) implementations.  The next
   subsection groups these implementations according to their
   capabilities.

4.3.  Implementation models

   This section introduces a number of terms for types of
   implementations that are likely to emerge.  It is important to have
   these different implementation models in mind as there is no single
   approach that fits all models best.

4.3.1.  Sender types

   There are two fundamental approaches to real-time transmission on
   low-bitrate links:

   Sender type 1
      The PPP real-time framing implementation is able to control the
      transmission of each byte being transmitted with some known,
      bounded delay (e.g., due to FIFOs).  For example, this is
      generally true of PC host implementations, which directly access
      serial interface chips byte by byte or by filling a very small
      FIFO.  For type 1 senders, a suspend/resume type approach will be
      typically used: When a long frame is to be sent, the attempt is to
      send it undivided; only if higher priority packets come up during
      the transmission will the lower-priority long frame be suspended
      and later resumed.  This approach allows the minimum variation in
      access delay for high-priority packets; also, fragmentation
      overhead is only incurred when actually needed.

   Sender type 2
      With type 2 senders, the interface between the PPP real-time
      framing implementation and the transmission hardware is not in
      terms of streams of bytes, but in terms of frames, e.g., in the
      form of multiple (prioritized) send queues directly supported by
      hardware.  This is often true of router systems for synchronous
      links, in particular those that have to support a large number of
      low-bitrate links.  As type 2 senders have no way to suspend a
      frame once it has been handed down for transmission, they
      typically will use a queues-of-fragments approach, where long
      packets are always split into units that are small enough to
      maintain the access delay goals for higher-priority traffic.
      There is a trade-off between the variation in access delay
      resulting from a large fragment size and the overhead that is
      incurred for every long packet by choosing a small fragment size.




Bormann                      Informational                      [Page 8]

RFC 2689       Integrated Services over Low-bitrate Links September 1999


4.3.2.  Receiver types

   Although the actual work of formulating transmission streams for
   real-time applications is performed at the sender, the ability of the
   receiver to immediately make use of the information received depends
   on its characteristics:

   Receiver type 1
      Type 1 receivers have full control over the stream of bytes
      received within PPP frames, i.e., bytes received are available
      immediately to the PPP real-time framing implementation (with some
      known, bounded delay e.g. due to FIFOs etc.).

   Receiver type 2
      With type 2 receivers, the PPP real-time framing implementation
      only gets hold of a frame when it has been received completely,
      i.e., the final flag has been processed (typically by some HDLC
      chip that directly fills a memory buffer).

4.4.  Conclusion

   As a result of the diversity in capabilities of current
   implementations, there are now two specifications for real-time
   encapsulation: One, the multi-class extension to the PPP multi-link
   protocol, is providing the solution for the queues-of-fragments
   approach by extending the single-stream PPP multi-link protocol by
   multiple classes [8].  The other encapsulation, PPP in a real-time
   oriented HDLC-like framing, builds on this specification end extends
   it by a way to dynamically delimit multiple fragments within one HDLC
   frame [9], providing the solution for the suspend/resume type
   approach.

5.  Principles of Header Compression for Real-Time Flows

   A good baseline for a discussion about header compression is in the
   new IP header compression specification that was designed in
   conjunction with the development of IPv6 [2].  The techniques used
   there can reduce the 28 bytes of IPv4/UDP header to about 6 bytes
   (depending on the number of concurrent streams); with the remaining 4
   bytes of HDLC/PPP overhead and 12 bytes for RTP the total header
   overhead can be about halved but still exceeds the size of a G.723.1
   ACELP frame.  Note that, in contrast to IP header compression, the
   environment discussed here assumes the existence of a full-duplex PPP
   link and thus can rely on negotiation where IP header compression
   requires repeated transmission of the same information.  (The use of
   the architecture of the present document with link layer multicasting
   has not yet been examined.)




Bormann                      Informational                      [Page 9]

RFC 2689       Integrated Services over Low-bitrate Links September 1999


   Additional design effort was required for RTP header compression.
   Applying the concepts of IP header compression, of the (at least) 12
   bytes in an RTP header, 7 bytes (timestamp, sequence, and marker bit)
   would qualify as RANDOM; DELTA encoding cannot generally be used
   without further information since the lower layer header does not
   unambiguously identify the semantics and there is no TCP checksum
   that can be relied on to detect incorrect decompression.  Only a more
   semantics-oriented approach can provide better compression (just as
   RFC 1144 can provide very good compression of TCP headers by making
   use of semantic knowledge of TCP and its checksumming method).

   For RTP packets, differential encoding of the sequence number and
   timestamps is an efficient approach for certain cases of payload data
   formats.  E.g., speech flows generally have sequence numbers and
   timestamp fields that increase by 1 and by the frame size in
   timestamp units, resp.; the CRTP (compressed RTP) specification makes

⌨️ 快捷键说明

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