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

📄 rfc3242.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 4 页
字号:
   The fields present in the ROHC RTP headers for U/O-mode PT0 are the
   packet type identifier, the sequence number and the CRC.  The
   subsequent sections elaborate more on how the functionality of these
   fields is replaced for NHP.

3.1.  Providing Packet Type Identification

   All ROHC headers carry a packet type identifier, indicating to the
   decompressor how the header should be interpreted.  This is a
   function that must be provided by some means in 0-byte header
   compression.  ROHC RTP packets with compressed headers will be
   possible to distinguish thanks to the packet type identifier, but a
   mechanism is needed to separate packets with a header from packets
   without a header.  This function MUST therefore be provided by the
   assisting layer in one way or another.

3.2.  Replacing the Sequence Number

   From the sending application, the RTP sequence number is increased by
   one for each packet sent.  The purpose of the sequence number is to
   cope with packet reordering and packet loss.  If reordering or loss
   has occurred before the transmission point, if needed the compressing
   side can easily avoid problems by not allowing the use of a header-
   free packet.

   However, at the transmission point, loss or reordering that may occur
   over the link can not be anticipated and covered for.  Therefore, for
   NHP the assisting layer MUST guarantee in-order delivery over the
   link (already assumed by [ROHC]) and at the receiving side it MUST
   provide an indication for each packet loss over the link.  This is
   basically the same principle as the VJ header compression [VJHC]
   relies on.

   Note that guaranteeing in-order delivery and packet loss indication
   over the link not only makes it possible to infer the sequence number
   information, but also supersedes the main function of the CRC, which
   normally takes care of errors due to long link losses and bit errors
   in the compressed sequence number.




Jonsson, et. al             Standards Track                     [Page 6]

RFC 3242             A Link-Layer Assisted ROHC RTP           April 2002


3.3.  CRC Replacement

   All context updating RRP packets carry a CRC calculated over the
   uncompressed header.  The CRC is used by the decompressor to verify
   that the updated context is correct.  This verification serves three
   purposes in U/O-mode:

      1) Detection of longer losses than can be covered by the sequence
         number LSBs
      2) Protection against failures caused by residual bit errors in
         compressed headers
      3) Protection against faulty implementations and other causes of
         error

   Since this profile defines an NHP packet without this CRC, care must
   be taken to fulfill these purposes by other means, when an NHP is
   used as a replacement for a context updating packet.  Detection of
   long losses (1) is already covered since the assisting layer MUST
   provide indication of all packet losses.  Furthermore, the NHP packet
   has one important advantage over RHP packets in that residual bit
   errors (2) cannot damage a header that is not even sent.

   It is thus reasonable to assume that compression and decompression
   transparency can be assured with high confidence even without a CRC
   in header-free packets.  However, to provide additional protection
   against damage propagation due to undetected residual bit errors in
   context updating packets (2) or other unexpected errors (3), periodic
   context verifications SHOULD be performed (see section 4.6).

3.4.  Applicability of This Profile

   The LLA profile can be used with any link technology capable of
   providing the required functionality described in previous sections.
   Whether LLA or ROHC RTP should be implemented thus depends on the
   characteristics of the link itself.  For most RTP packet streams, LLA
   will work exactly as ROHC RTP, while it will be more efficient for
   packet streams with certain characteristics.  LLA will never be less
   efficient than ROHC RTP.

   Note as well that LLA, like all other ROHC profiles, is fully
   transparent to any packet stream reaching the compressor.  LLA does
   not make any assumptions about the packet stream but will perform
   optimally for packet streams with certain characteristics, e.g.,
   synchronized streams exactly timed with the assisting link over which
   the LLA profile is implemented.






Jonsson, et. al             Standards Track                     [Page 7]

RFC 3242             A Link-Layer Assisted ROHC RTP           April 2002


   The LLA profile is obviously not applicable if the UDP checksum (2
   bytes) is enabled, which is always the case for IPv6/UDP.  For
   IPv4/UDP, the sender may choose to disable the UDP checksum.

4.  Additions and Exceptions Compared to ROHC RTP

4.1.  Additional Packet Types

   The LLA profile defines three new packet types to be used in addition
   to the RRP packet types defined by [ROHC].  The following sections
   describe these packet types and their purpose in detail.

4.1.1.  No-Header Packet (NHP)

   A No-Header Packet (NHP), i.e., a packet consisting only of a
   payload, is defined and MAY be used when only sequencing must be
   conveyed, i.e., when all header fields are either unchanged or follow
   the currently established change pattern.  In addition, there are
   some considerations for the use of the NHP (see 4.3, 4.5 and 4.6).
   An LLA compressor is not allowed to deliver NHP packets when
   operating in R-mode.

   The assisting layer MAY send the NHP for RTP SN = X only if an NHP
   was delivered by the LLA compressor AND the assisting layer can
   guarantee that the decompressor will infer the proper sequencing for
   this NHP.  This guarantee is based on the confidence that the
   decompressor

   a) has the means to infer proper sequencing for the packet
      corresponding to SN = X-1, AND
   b) has either received a loss indication or the packet itself for the
      packet corresponding to SN = X-1.

   Updating properties: NHP packets update context (RTP Sequence
   Number).

4.1.2.  Context Synchronization Packet (CSP)

   The case where the packet stream overruns the channel bandwidth may
   lead to data being discarded, which may result in decompressor
   context invalidation.  It might therefore be beneficial to send a
   packet with only the header information and discard the payload.
   This would be helpful to maintain synchronization of the decompressor
   context, while efficiently using the available bandwidth.







Jonsson, et. al             Standards Track                     [Page 8]

RFC 3242             A Link-Layer Assisted ROHC RTP           April 2002


   This case can be handled with the Context Synchronization Packet
   (CSP), which has the following format:

     0   1   2   3   4   5   6   7
   +---+---+---+---+---+---+---+---+
   | 1   1   1   1   1   0   1   0 | Packet type identifier
   +===+===+===+===+===+===+===+===+
   :  ROHC header without padding  :
   :    see [ROHC, section 5.7]    :
   +---+---+---+---+---+---+---+---+

   Updating properties: CSP maintains the updating properties of the
   ROHC header it carries.

   The CSP is defined by one of the unused packet type identifiers from
   ROHC RTP, carried in the one-octet base header.  As for any ROHC
   packet, except the NHP, the packet may begin with ROHC padding and/or
   feedback.  It may also carry context identification after the packet
   type identifier.  It is possible to have two CID fields present, one
   after the packet type ID and one within the encapsulated ROHC header.
   If a decompressor receives a CSP with two non-equal CID values
   included, the packet MUST be discarded.  ROHC segmentation may also
   be applied to the CSP.

   Note that when the decompressor has received and processed a CSP, the
   packet (including any possible data following the CSP encapsulated
   compressed header) MUST be discarded.

4.1.3.  Context Check Packet (CCP)

   A Context Check Packet (CCP), which does not carry any payload but
   only an optional CRC value in addition to the packet type identifier,
   is defined.

   The purpose of the CCP is to provide a useful packet that MAY be sent
   by a synchronized physical link layer in the case where data must be
   sent at fixed intervals, even if no compressed packet is available.
   Whether the CCP is sent over the link and delivered to the
   decompressor is decided by the assisting layer.  The CCP has the
   following format:











Jonsson, et. al             Standards Track                     [Page 9]

RFC 3242             A Link-Layer Assisted ROHC RTP           April 2002


     0   1   2   3   4   5   6   7
   +---+---+---+---+---+---+---+---+
   | 1   1   1   1   1   0   1   1 | Packet type identifier
   +===+===+===+===+===+===+===+===+
   | C |          CRC              |
   +---+---+---+---+---+---+---+---+

     C: C = 0 indicates that the CRC field is not used;
        C = 1 indicates that a valid CRC is present.

   Updating properties: CCP packets do not update context.

   The CCP is defined by one of the unused packet type identifiers from
   ROHC RTP, carried in the first octet of the base header.  The first
   bit of the second octet, the C bit, indicates whether the CRC field
   is used or not.  If C=1, the CRC field MUST be set to the 7-bits CRC
   calculated over the original uncompressed header defined in [ROHC
   section 5.9.2].  As for any ROHC packet, except NHP, the packet MAY
   begin with ROHC padding and/or carry context identification.

   The use of the CRC field to perform decompressor context verification
   is optional and is therefore a compressor implementation issue.
   However, a CCP MUST always be made available to the assisting layer.

   If the assisting layer receives CCPs with the C-bit set (C=1) from
   the compressor, it MUST use the last CCP received if a CCP is to be
   sent, i.e., the CCP corresponding to the last non-CCP packet sent
   (NHP, RRP or CSP).  An assisting layer MAY use the CCP for other
   purposes, such as signaling a packet loss before the link.

   The decompressor is REQUIRED to handle a CCP received with the C bit
   set (C=1), indicating a valid CRC field, and perform context
   verification.  The received CRC MUST then be applied to the last
   decompressed packet, unless a packet loss indication was previously
   received.  Upon CRC failure, actions MUST be taken as specified in
   [ROHC, section 5.3.2.2.3].  A CCP received with C=0 MUST be ignored
   by the decompressor.  The decompressor is not allowed to make any
   further interpretation of the CCP.

   The use of CCP by an assisting layer is optional and depends on the
   characteristics of the actual link.  Whether it is used or not MUST
   therefore be specified in link layer implementation specifications
   for this profile.








Jonsson, et. al             Standards Track                    [Page 10]

RFC 3242             A Link-Layer Assisted ROHC RTP           April 2002


4.2.  Interfaces Towards the Assisting Layer

   This profile relies on the lower layers to provide the necessary
   functionality to allow NHP packets to be sent.  This interaction
   between LLA and the assisting layer is defined as interfaces between
   the LLA compressor/decompressor and the LLA applicable link
   technology.

                |                              |
                +                              +
   +-------------------------+    +-------------------------+
   |       ROHC RTP HC       |    |       ROHC RTP HD       |
   +-------------------------+    +-------------------------+
   |       LLA profile       |    |       LLA profile       |
   +=========================+    +=========================+
   |       Interface         |    |        Interface        |
   | ROHC to assisting layer |    | Assisting layer to ROHC |
   +=========================+    +=========================+
   |       Applicable        |    |       Applicable        |
   |     link technology     |    |     link technology     |
   +=========================+    +=========================+
                |                              |
                +------>---- CHANNEL ---->-----+

⌨️ 快捷键说明

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