Internet DRAFT - draft-zhangtao-aaa-compression

draft-zhangtao-aaa-compression



AAA Working Group                                             Zhangtao 
Internet Draft                                                Rajith R 
Document: draft-zhangtao-aaa-compression-00.txt    Huawei Technologies
Expires: February 2006                                     August 2005 
   
   
                          Diameter Compression 
                  draft-zhangtao-aaa-compression-00.txt 
   
   
Status of this Memo 
   
  By submitting this Internet-Draft, each author represents that any 
  applicable patent or other IPR claims of which he or she is aware 
  have been or will be disclosed, and any of which he or she becomes 
  aware will be disclosed, in accordance with Section 6 of BCP 79.  
   
  Internet-Drafts are working documents of the Internet Engineering 
  Task Force (IETF), its areas, and its working groups.  Note that      
  other groups may also distribute working documents as Internet-
  Drafts. 
   
  Internet-Drafts are draft documents valid for a maximum of six months 
  and may be updated, replaced, or obsoleted by other documents at any 
  time.  It is inappropriate to use Internet-Drafts as reference 
  material or to cite them other than as "work in progress." 
   
  The list of current Internet-Drafts can be accessed at 
       http://www.ietf.org/ietf/1id-abstracts.txt 
  The list of Internet-Draft Shadow Directories can be accessed at 
       http://www.ietf.org/shadow.html. 
   
  This document is an individual submission to the Authentication,   
  Authorization and Accounting (AAA) Working Group of the Internet   
  Engineering Task Force (IETF). Comments are welcome should be   
  submitted to the mailing list aaa-wg@merit.edu. 
   
   
   
Abstract 
   
  This document describes the negotiation of compression algorithm 
  between two Diameter peers and the indication of data compression 
  using a new AVP [Attribute Value Pair] flag. 
   
 
 
Zhangtao et al.        Expires - February 2006               [Page 1] 

Internet-Draft          Diameter Compression             August 2005 
 
 
  The compression negotiation commands and the compression-indication 
  AVP flag specified in this document are in addition to that specified 
  in the Diameter base. In this sense, this document extends the Base 
  Diameter protocol. 
   
   
Conventions used in this document 
   
  The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
  "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this 
  document are to be interpreted as described in RFC-2119 [ii]. 
   
Table of Contents 
   
  1. Introduction.................................................2 
  2. Compression Algorithm negotiation............................3 
     2.1 Compression-Negotiate-Request............................4 
     2.2 Compression-Negotiate-Answer.............................4 
     2.3 Compression-Info AVP.....................................5 
     2.4 Compressed-AVP-Info AVP..................................6 
     2.5 Compression-Arithmetic AVP...............................6 
     2.6 AVP-Info AVP.............................................7 
     2.7 Application Id...........................................7 
     2.8 Result Codes.............................................7 
     2.9 AVP occurrence table.....................................7 
  3. Compression Indication û The 'C' AVP Flag....................8 
  4. IANA Considerations..........................................9 
     4.1 Command Codes............................................9 
     4.2 AVP Codes................................................9 
     4.3 Result Code AVP values...................................9 
     4.4 Application Id...........................................9 
  5. Security Considerations......................................9 
  6. References..................................................10 
     6.1 Normative References....................................10 
  Acknowledgments................................................10 
  Author's Addresses.............................................10 
   
   
1.  Introduction 
   
  The application specific DIAMETER messages usually carry some AVPs 
  which are of very large length. Some examples are the User-Data AVP 
  (which contains the profile of a user in XML format) carried by some 
  3GPP Cx-Dx interface DIAMETER messages OR the SDP information carried 
  by the 3GPP Accounting interface messages. In these cases, it is 
  desirable to compress the AVPs so as to reduce the size of the 
  DIAMETER message. 
   

 
 
Zhangtao et al.        Expires - February 2006               [Page 2] 

Internet-Draft          Diameter Compression             August 2005 
 
 
  This specification describes the negotiation of compression algorithm 
  between DIAMETER peers using a new DIAMETER command û the 
  Compression-Negotiate-Request (CNR) and its associated response û the 
  Compression-Negotiate-Answer (CNA). The specification also describes 
  the indication of data compression using a new flag û the 'C' flag; 
  in the AVP header of the compressed AVP. 
   
   
2.  Compression Algorithm negotiation 
   
  The DIAMETER peers that wish to negotiate compression algorithms MUST 
  exchange the Compression-Negotiate messages. These messages allow the 
  discovery of the compression algorithms a peer support. 
   
  The DIAMETER peer that wishes to use some compression algorithm with 
  another peer MUST send a Compression-Negotiate-Request (CNR) with the 
  desired compression algorithm(s) indicated in the Compression-Info 
  AVP. 
   
  The DIAMETER peer that receives the Compression-Negotiate-Request 
  (CNR) and supporting one or many of the compression algorithms 
  specified in the request MUST return a Compression-Negotiate-Answer 
  (CNA) with the Result Code set to DIAMETER_SUCCESS and the supported 
  compression algorithms indicated in the Compression-Info AVP. 
   
  The DIAMETER peer that receives the CNR with the Compression-Info AVP 
  having one or more Compressed-AVP-Info AVPs and/or one or more 
  Compression-Arithmetic AVPs MUST return a CNA with DIAMETER_SUCCESS 
  if it supports at least one of the generic or AVP specific 
  compression arithmetic. The peer MUST add only one Compression-
  Arithmetic AVP to the Compression-Info AVP in the CNA indicating the 
  selected generic compression algorithm that the peer supports. The 
  peer MUST add only one Compression-Arithmetic AVP to the Compressed-
  AVP-Info AVP in the Compression-Info AVP indicating the selected AVP 
  specific compression algorithm that the peer supports. 
   
  If a DIAMETER peer receives a CNR with non-zero instances of 
  Compressed-AVP-Info AVP and non-zero instances of Compression-
  Arithmetic AVP in the Compression-Info AVP and 
   
  - if it supports only one or more of the listed generic compression 
  arithmetic and not any of the listed AVP specific compression 
  arithmetic, the peer MUST return a CNA with Result Code as 
  DIAMETER_SUCCESS and the Compression-Info AVP having one instance of 
  the Compression-Arithmetic AVP indicating the chosen generic 
  compression arithmetic and zero instances of Compressed-AVP-Info AVP. 
   
  - if it supports only one or more of the listed AVP specific 
  compression arithmetic and not any of the listed generic compression 
 
 
Zhangtao et al.        Expires - February 2006               [Page 3] 

Internet-Draft          Diameter Compression             August 2005 
 
 
  arithmetic, the peer MUST return a CNA with Result Code as 
  DIAMETER_SUCCESS and the Compression-Info AVP having one or many 
  instances of the Compressed-AVP-Info AVP indicating the chosen AVP 
  specific compression arithmetic and zero instances of the 
  Compression-Arithmetic AVP. However, each Compressed-AVP-Info AVP 
  MUST have only one instance of Compression-Arithmetic AVP. 
   
  The DIAMETER peer that receives the Compression-Negotiate-Request 
  (CNR) and supporting no compression algorithms specified in the 
  request MUST return a Compression-Negotiate-Answer (CNA) with the 
  Result Code set to DIAMETER_NO_COMMON_COMPRESSION. 
   
  The CNR and CNA messages MAY be proxied, redirected or relayed. 
   
2.1  Compression-Negotiate-Request 
   
  The Compression-Negotiate-Request (CNR), indicated by the command 
  code XXX (to be defined by IANA) and the æRÆ and æPÆ bits set in the 
  command flag, is sent to negotiate the compression algorithms. 
   
  Message Format 
   
    <CNR> ::= < Diameter Header: XXX, REQ, PXY > 
               { Origin-Host } 
               { Origin-Realm } 
               [ Destination-Host ] 
               { Destination-Realm }   
               { Auth-Application-Id } 
               { Compression-Info } 
               * [ Proxy-Info ] 
               * [ Route-Record ] 
                
   
2.2  Compression-Negotiate-Answer 
   
  The Compression-Negotiate-Answer (CNA), indicated by the command code 
  XXX (to be defined by IANA), the æRÆ bit cleared and the æPÆ bit set 
  in the command flag, is sent in response to a CNR message. 
   
  Message Format 
   
    <CNA> ::= < Diameter Header: XXX, PXY > 
               { Result-Code } 
               { Origin-Host } 
               { Origin-Realm } 
               { Auth-Application-Id } 
               [ Compression-Info ] 
               [ Error-Message ] 
               [ Error-Reporting-Host ] 
 
 
Zhangtao et al.        Expires - February 2006               [Page 4] 

Internet-Draft          Diameter Compression             August 2005 
 
 
               * [ Redirect-Host ] 
               [ Redirect-Host-Usage ] 
               [ Redirect-Max-Cache-Time ] 
               * [ Failed-AVP ] 
               * [ Proxy-Info ] 
   
2.3  Compression-Info AVP 
   
  The Compression-Info AVP (AVP code XXX to be assigned by IANA) is of 
  type Grouped and is used to advertise support of compression 
  algorithms. 
   
  The CNR message and the CNA message with Result Code as 
  DIAMETER_SUCCESS MUST contain exactly one instance of this AVP. 
   
  The CNA message with a non-successful Result Code MUST not contain 
  any instance of this AVP (except the case where this AVP is added to 
  the Failed-AVP AVP). 
   
  The Compression-Info AVP MUST have at least one instance of either 
  Compressed-AVP-Info AVP or Compression-Arithmetic AVP. 
   
  If a peer desires to use a specific compression algorithm for an AVP, 
  a Compressed-AVP-Info AVP corresponding to this AVP MUST be added to 
  the Compression-Info AVP in the CNR. For example, a Compressed-AVP-
  Info AVP corresponding to a User Profile (XML) containing AVP which 
  uses the WBXML compression algorithm and another Compressed-AVP-Info 
  AVP corresponding to an SDP information (SDP) containing AVP which 
  uses an SDP compression algorithm MAY be both present in a 
  Compression-Info AVP in the CNR. 
   
  The Compression-Arithmetic AVP(s) added to the Compression-Info AVP 
  indicate the generic compression algorithm(s) used to compress AVPs 
  which are not specified using the Compressed-AVP-Info AVP. 
   
  A CNR MAY list many generic Compression-Arithmetic AVPs in a 
  Compression-Info AVP. A CNR MUST list the generic Compression-
  Arithmetic AVPs in a Compression-Info AVP in the order of preference; 
  i.e. AVP indicating the most preferred arithmetic closest to the 
  Compression-Info AVP header. 
   
  A peer receiving a CNR with a list of generic Compression-Arithmetic 
  AVPs in the Compression-Info AVP and supporting one or more of the 
  compression arithmetic listed MUST choose only one generic 
  compression arithmetic. If the peer supports more than one of the 
  listed compression arithmetic, it MUST choose supported compression 
  arithmetic in the order or preference specified by the Compression-
  Info AVP in the CNR i.e. the Compression-Arithmetic AVP nearer to the 
  Compression-Info AVP header MUST be chosen. The peer MUST add only 
 
 
Zhangtao et al.        Expires - February 2006               [Page 5] 

Internet-Draft          Diameter Compression             August 2005 
 
 
  one generic Compression-Arithmetic AVP (containing the chosen generic 
  compression arithmetic) to the Compression-Info AVP in the CNA. 

   
  AVP Format 
   
  <Compression-Info> ::= < AVP Header: XXX > 
                         * [ Compressed-AVP-Info ] 
                         * [ Compression-Arithmetic ] 
   
2.4  Compressed-AVP-Info AVP 
   
  The Compressed-AVP-Info AVP (AVP code XXX to be assigned by IANA) is 
  of type Grouped and is used to advertise support of AVP specific 
  compression algorithms. The Vendor Id and the value of the AVP-Info 
  AVP identify the AVP which supports the specified compression 
  arithmetic(s). 
   
  A CNR MAY list many Compression-Arithmetic AVPs in a Compressed-AVP-
  Info AVP. A CNR MUST list the Compression-Arithmetic AVPs in a 
  Compressed-AVP-Info AVP in the order of preference; i.e. AVP 
  indicating the most preferred arithmetic closest to the Compressed-
  AVP-Info AVP header. 
   
  A peer receiving a CNR with a list of Compression-Arithmetic AVPs in 
  the Compressed-AVP-Info AVP added to the Compression-Info AVP and 
  supporting one or more of the compression arithmetic listed MUST 
  choose only one compression arithmetic. If the peer supports more 
  than one of the listed compression arithmetic, it MUST choose the 
  compression arithmetic in the order or preference specified by the 
  Compressed-AVP-Info AVP in the CNR i.e. the Compression-Arithmetic 
  AVP nearer to the Compressed-AVP-Info AVP header MUST be chosen. The 
  peer MUST add only one Compression-Arithmetic AVP (containing the 
  chosen compression arithmetic) to the Compressed-AVP-Info AVP added 
  to the Compression-Info AVP in the CNA. However a peer MAY add more 
  than one Compressed-AVP-Info AVP to the Compression-Info AVP in the 
  CNA. 
   
  AVP Format 
   
  <Compressed-AVP-Info> ::= < AVP Header: XXX > 
                         { AVP-Info } 
                         [Vendor-Id] 
                         * { Compression-Arithmetic } 
   
2.5  Compression-Arithmetic AVP 
   
  The Compression-Arithmetic AVP (AVP code XXX to be assigned by IANA) 
  is of type Enumerated and is used to indicate the compression 
  algorithm. 
 
 
Zhangtao et al.        Expires - February 2006               [Page 6] 

Internet-Draft          Diameter Compression             August 2005 
 
 
   
  Currently the following values are supported, but there is ample room 
  to support more values. 
   
  WBXML                0 
        WAP Binary XML format is used to compact the parsed physical 
  XML format. 
   
2.6  AVP-Info AVP 
   
  The AVP-Info AVP (AVP code XXX to be assigned by IANA) is of type 
  Unsigned32 and has the AVP code of the AVP which supports the 
  specified compression arithmetic(s). The AVP code MAY belong to the 
  IANA IETF namespace or the vendor specific namespace [BASE]. 
   
2.7  Application Id 
   
  Diameter nodes conforming to this specification MAY advertise support   
  by including the value of XXX (to be assigned by IANA) in the Auth-
  Application-Id of the Capabilities-Exchange-Request and Capabilities-
  Exchange-Answer command [BASE]. 
   
2.8  Result Codes 
   
  This section defines a new Result-Code [BASE] value that MUST be   
  supported by all Diameter implementations that conform to this   
  specification. 
   
  DIAMETER_NO_COMMON_COMPRESSION              5XXX (to be assigned by 
  IANA) 
    This error code is returned when the DIAMETER peer that received a 
  CNR supports no compression algorithm indicated in the request. 
   
2.9  AVP occurrence table 
   
  The table in this section presents the AVPs defined in this document,   
  and specifies in which Diameter messages they MAY, or MAY NOT be   
  present.  Note that AVPs that can only be present within a Grouped   
  AVP are not represented in this table. 
   
  The table uses the following symbols: 
        0      The AVP MUST NOT be present in the message. 

        0+     Zero or more instances of the AVP MAY be present in the            
  message. 
        0-1    Zero or one instance of the AVP MAY be present in the            
  message. 
        1     One instance of the AVP MUST be present in the message. 
        1+    At least one instance of the AVP MUST be present in the            
  message. 
 
 
Zhangtao et al.        Expires - February 2006               [Page 7] 

Internet-Draft          Diameter Compression             August 2005 
 
 
   
   
                                   +------------+ 
                                   |Command-Code| 
                                   |-----+-----+ 
     Attribute Name                | CNR | CNA |  
     ------------------------------|-----+-----+ 
     Auth-Application-Id           | 1   | 1   | 
     Compression-Info              | 1   | 0-1 | 
     Destination-Host              | 0-1 | 0   | 
     Destination-Realm             | 1   | 0   | 
     Error-Message                 | 0   | 0-1 | 
     Error-Reporting-Host          | 0   | 0-1 | 
     Failed-AVP                    | 0   | 0+  | 
     Origin-Host                   | 1   | 1   | 
     Origin-Realm                  | 1   | 1   | 
     Proxy-Info                    | 0+  | 0+  | 
     Redirect-Host                 | 0   | 0+  | 
     Redirect-Host-Usage           | 0   | 0-1 | 
     Redirect-Max-Cache-Time       | 0   | 0-1 | 
     Result-Code                   | 0   | 1   | 
     Route-Record                  | 0+  | 0   | 
     ------------------------------|-----+-----+ 
   
   
3.  Compression Indication û The 'C' AVP Flag 
   
  This specification introduces a new AVP flag, the 'C' bit indicating 
  compression. If the 'C' bit is set, it indicates that the AVP data is 
  compressed. 
   
  The new format of the AVP header with the introduction of the 'C' bit 
  is as follows: 
   
      0                   1                   2                   3 
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
     |                           AVP Code                            | 
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
     |V M P C r r r r|                  AVP Length                   | 
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
     |                        Vendor-ID (opt)                        | 
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
     |    Data ... 
     +-+-+-+-+-+-+-+-+ 
   
  A diameter peer receiving a DIAMETER request with an (/some) AVP(s) 
  with 'C' bit in the AVP header set MUST use the (de)compression 
  algorithm negotiated with the request originating peer. The peer will 
 
 
Zhangtao et al.        Expires - February 2006               [Page 8] 

Internet-Draft          Diameter Compression             August 2005 
 
 
  first check if any AVP specific compression algorithm was negotiated 
  and if so, MUST use the same. If not, the peer MUST use the generic 
  compression algorithm negotiated. 
   
  A DIAMETER peer receiving a DIAMETER request with an (/some) AVP(s) 
  having the 'C' bit set MUST send a response with Result Code as 
  DIAMETER_INVALID_AVP_BITS (3009) if it does not support compression 
  or if no compression algorithm has been successfully negotiated with 
  the request originating peer. 
   
   
4.  IANA Considerations 
   
4.1  Command Codes 
   
  IANA is to assign a new Command Code for the Compression-Negotiation 
  messages. 
   
4.2  AVP Codes 
   
  IANA is to assign new AVP codes for the following new AVPs specified 
  by this document: 
   
  - Compression-Info 
  - Compressed-AVP-Info 
  - Compression-Arithmetic 
  - AVP-Info 
   
4.3  Result Code AVP values 
   
  IANA is to assign a new result code [BASE] corresponding to the 
  permanent failure DIAMETER_NO_COMMON_COMPRESSION. 
   
4.4  Application Id 
   
  IANA is to assign a new application id for the Compression 
  Negotiation application. This application id will be used in the 
  command header and Auth-Application-Id AVP fields of the Compression-
  Negotiation messages. 
   
5.  Security Considerations 
   
  This document does not contain a security protocol; it describes an   
  addition to the existing Diameter protocol.  All security issues of 
  DIAMETER protocol must be considered in implementing this   
  specification.  This extension does not add any unique concerns. 
   
   

 
 
Zhangtao et al.        Expires - February 2006               [Page 9] 

Internet-Draft          Diameter Compression             August 2005 
 
 
 
6.  References 
   
6.1  Normative References 
   
  i  Bradner, S., "The Internet Standards Process -- Revision 3", BCP 
     9, RFC 2026, October 1996. 
   
  ii  Bradner, S., "Key words for use in RFCs to Indicate Requirement 
     Levels", BCP 14, RFC 2119, March 1997 
   
   
  [BASE] 
                P. Calhoun, et.al, "Diameter Base Protocol", RFC 3588, 
                Sept 2003. 
   
   
Acknowledgments 
   
  None 
   
   
Author's Addresses 
   
  Zhangtao 
  Huawei Technologies 
  Bangalore, India 
  Email: zhangtao_hw@huawei.com 
   
  Rajith R 
  Huawei Technologies 
  Bangalore, India 
  Email: rajithr@huawei.com 

   
    












 
 
Zhangtao et al.        Expires - February 2006              [Page 10] 

Internet-Draft          Diameter Compression             August 2005 
 
 
Intellectual Property Statement 
   
  The IETF takes no position regarding the validity or scope of any 
  Intellectual Property Rights or other rights that might be claimed to 
  pertain to the implementation or use of the technology described in 
  this document or the extent to which any license under such rights 
  might or might not be available; nor does it represent that it has 
  made any independent effort to identify any such rights.  Information 
  on the procedures with respect to rights in RFC documents can be 
  found in BCP 78 and BCP 79. 
   
  Copies of IPR disclosures made to the IETF Secretariat and any 
  assurances of licenses to be made available, or the result of an 
  attempt made to obtain a general license or permission for the use of 
  such proprietary rights by implementers or users of this 
  specification can be obtained from the IETF on-line IPR repository at 
  http://www.ietf.org/ipr. 
   
  The IETF invites any interested party to bring to its attention any 
  copyrights, patents or patent applications, or other proprietary 
  rights that may cover technology that may be required to implement 
  this standard.  Please address the information to the IETF at ietf-
  ipr@ietf.org. 
   
Disclaimer of Validity 
   
  This document and the information contained herein are provided on an 
  "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 
  OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 
  ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 
  INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 
  INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 
  WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 
   
Copyright Statement 
   
  Copyright (C) The Internet Society (2005).  This document is subject 
  to the rights, licenses and restrictions contained in BCP 78, and 
  except as set forth therein, the authors retain all their rights. 
   
   
Acknowledgment 
   
  Funding for the RFC Editor function is currently provided by the 
  Internet Society. 
   
   
   

 
 
Zhangtao et al.        Expires - February 2006              [Page 11]