1、 I n t e r n a t i o n a l T e l e c o m m u n i c a t i o n U n i o n ITU-T X.691 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (08/2015) SERIES X: DATA NETWORKS, OPEN SYSTEM COMMUNICATIONS AND SECURITY OSI networking and system aspects Abstract Syntax Notation One (ASN.1) Information technology
2、ASN.1 encoding rules: Specification of Packed Encoding Rules (PER) Recommendation ITU-T X.691 ITU-T X-SERIES RECOMMENDATIONS DATA NETWORKS, OPEN SYSTEM COMMUNICATIONS AND SECURITY PUBLIC DATA NETWORKS Services and facilities X.1X.19 Interfaces X.20X.49 Transmission, signalling and switching X.50X.89
3、 Network aspects X.90X.149 Maintenance X.150X.179 Administrative arrangements X.180X.199 OPEN SYSTEMS INTERCONNECTION Model and notation X.200X.209 Service definitions X.210X.219 Connection-mode protocol specifications X.220X.229 Connectionless-mode protocol specifications X.230X.239 PICS proformas
4、X.240X.259 Protocol Identification X.260X.269 Security Protocols X.270X.279 Layer Managed Objects X.280X.289 Conformance testing X.290X.299 INTERWORKING BETWEEN NETWORKS General X.300X.349 Satellite data transmission systems X.350X.369 IP-based networks X.370X.379 MESSAGE HANDLING SYSTEMS X.400X.499
5、 DIRECTORY X.500X.599 OSI NETWORKING AND SYSTEM ASPECTS Networking X.600X.629 Efficiency X.630X.639 Quality of service X.640X.649 Naming, Addressing and Registration X.650X.679 Abstract Syntax Notation One (ASN.1) X.680X.699 OSI MANAGEMENT Systems management framework and architecture X.700X.709 Man
6、agement communication service and protocol X.710X.719 Structure of management information X.720X.729 Management functions and ODMA functions X.730X.799 SECURITY X.800X.849 OSI APPLICATIONS Commitment, concurrency and recovery X.850X.859 Transaction processing X.860X.879 Remote operations X.880X.889
7、Generic applications of ASN.1 X.890X.899 OPEN DISTRIBUTED PROCESSING X.900X.999 INFORMATION AND NETWORK SECURITY X.1000X.1099 SECURE APPLICATIONS AND SERVICES X.1100X.1199 CYBERSPACE SECURITY X.1200X.1299 SECURE APPLICATIONS AND SERVICES X.1300X.1399 CYBERSECURITY INFORMATION EXCHANGE X.1500X.1599 C
8、LOUD COMPUTING SECURITY X.1600X.1699 For further details, please refer to the list of ITU-T Recommendations. Rec. ITU-T X.691 (08/2015) i INTERNATIONAL STANDARD ISO/IEC 8825-2 RECOMMENDATION ITU-T X.691 Information technology ASN.1 encoding rules: Specification of Packed Encoding Rules (PER) Summary
9、 Recommendation ITU-T X.691 | ISO/IEC 8825-2 describes a set of encoding rules that can be applied to values of all ASN.1 types to achieve a much more compact representation than that achieved by the Basic Encoding Rules and its derivatives (described in Rec. ITU-T X.690 | ISO/IEC 8825-1). History E
10、dition Recommendation Approval Study Group Unique ID* 1.0 ITU-T X.691 1995-04-10 7 11.1002/1000/3047 1.1 ITU-T X.691 (1995) Technical Cor. 1 1997-12-12 7 11.1002/1000/4184 1.2 ITU-T X.691 (1995) Technical Cor. 2 1997-12-12 7 11.1002/1000/4185 2.0 ITU-T X.691 1997-12-12 7 11.1002/1000/4448 2.1 ITU-T
11、X.691 (1997) Technical Cor. 1 1999-06-18 7 11.1002/1000/4707 2.2 ITU-T X.691 (1997) Amd. 1 1999-06-18 7 11.1002/1000/4706 2.3 ITU-T X.691 (1997) Technical Cor. 2 2001-02-02 7 11.1002/1000/5337 2.4 ITU-T X.691 (1997) Technical Cor. 3 2001-03-15 7 11.1002/1000/5338 3.0 ITU-T X.691 2002-07-14 17 11.100
12、2/1000/6090 3.1 ITU-T X.691 (2002) Amd. 1 2003-10-29 17 11.1002/1000/7022 3.2 ITU-T X.691 (2002) Technical Cor. 1 2005-05-14 17 11.1002/1000/8513 3.3 ITU-T X.691 (2002) Technical Cor. 2 2005-11-29 17 11.1002/1000/8638 3.4 ITU-T X.691 (2002) Amd. 2 2006-06-13 17 11.1002/1000/8839 3.5 ITU-T X.691 (200
13、2) Amd. 3 2007-05-29 17 11.1002/1000/9109 4.0 ITU-T X.691 2008-11-13 17 11.1002/1000/9609 4.1 ITU-T X.691 (2008) Cor. 1 2011-10-14 17 11.1002/1000/11379 4.2 ITU-T X.691 (2008) Cor. 2 2012-04-13 17 11.1002/1000/11585 4.3 ITU-T X.691 (2008) Cor. 3 2014-11-13 17 11.1002/1000/12337 4.4 ITU-T X.691 (2008
14、) Cor. 4 2014-11-13 17 11.1002/1000/12339 5.0 ITU-T X.691 2015-08-13 17 11.1002/1000/12484 * To access the Recommendation, type the URL http:/handle.itu.int/ in the address field of your web browser, followed by the Recommendations unique ID. For example, http:/handle.itu.int/11.1002/1000/11830-en.
15、ii Rec. ITU-T X.691 (08/2015) FOREWORD The International Telecommunication Union (ITU) is the United Nations specialized agency in the field of telecommunications, information and communication technologies (ICTs). The ITU Telecommunication Standardization Sector (ITU-T) is a permanent organ of ITU.
16、 ITU-T is responsible for studying technical, operating and tariff questions and issuing Recommendations on them with a view to standardizing telecommunications on a worldwide basis. The World Telecommunication Standardization Assembly (WTSA), which meets every four years, establishes the topics for
17、 study by the ITU-T study groups which, in turn, produce Recommendations on these topics. The approval of ITU-T Recommendations is covered by the procedure laid down in WTSA Resolution 1. In some areas of information technology which fall within ITU-Ts purview, the necessary standards are prepared o
18、n a collaborative basis with ISO and IEC. NOTE In this Recommendation, the expression “Administration“ is used for conciseness to indicate both a telecommunication administration and a recognized operating agency. Compliance with this Recommendation is voluntary. However, the Recommendation may cont
19、ain certain mandatory provisions (to ensure, e.g., interoperability or applicability) and compliance with the Recommendation is achieved when all of these mandatory provisions are met. The words “shall“ or some other obligatory language such as “must“ and the negative equivalents are used to express
20、 requirements. The use of such words does not suggest that compliance with the Recommendation is required of any party. INTELLECTUAL PROPERTY RIGHTSITU draws attention to the possibility that the practice or implementation of this Recommendation may involve the use of a claimed Intellectual Property
21、 Right. ITU takes no position concerning the evidence, validity or applicability of claimed Intellectual Property Rights, whether asserted by ITU members or others outside of the Recommendation development process. As of the date of approval of this Recommendation, ITU had not received notice of int
22、ellectual property, protected by patents, which may be required to implement this Recommendation. However, implementers are cautioned that this may not represent the latest information and are therefore strongly urged to consult the TSB patent database at http:/www.itu.int/ITU-T/ipr/. ITU 2015 All r
23、ights reserved. No part of this publication may be reproduced, by any means whatsoever, without the prior written permission of ITU. Rec. ITU-T X.691 (08/2015) iii CONTENTS Page Introduction . vi 1 Scope 1 2 Normative references 1 2.1 Identical Recommendations | International Standards . 1 2.2 Addit
24、ional references 1 3 Definitions 2 3.1 Specification of Basic Notation . 2 3.2 Information Object Specification 2 3.3 Constraint Specification 2 3.4 Parameterization of ASN.1 Specification 2 3.5 Basic Encoding Rules 2 3.6 PER Encoding Instructions . 2 3.7 Additional definitions 2 4 Abbreviations . 5
25、 5 Notation 5 6 Convention . 5 7 Encoding rules defined in this Recommendation | International Standard 5 8 Conformance 6 9 PER encoding instructions 6 10 The approach to encoding used for PER 7 10.1 Use of the type notation. 7 10.2 Use of tags to provide a canonical order . 7 10.3 PER-visible const
26、raints . 7 10.4 Type and value model used for encoding 9 10.5 Structure of an encoding 9 10.6 Types to be encoded 10 11 Encoding procedures 10 11.1 Production of the complete encoding 10 11.2 Open type fields 11 11.3 Encoding as a non-negative-binary-integer . 11 11.4 Encoding as a 2s-complement-bin
27、ary-integer . 12 11.5 Encoding of a constrained whole number . 12 11.6 Encoding of a normally small non-negative whole number . 13 11.7 Encoding of a semi-constrained whole number . 13 11.8 Encoding of an unconstrained whole number 14 11.9 General rules for encoding a length determinant . 14 12 Enco
28、ding the boolean type . 16 13 Encoding the integer type . 16 14 Encoding the enumerated type 17 15 Encoding the real type 18 16 Encoding the bitstring type . 18 17 Encoding the octetstring type . 19 18 Encoding the null type 19 19 Encoding the sequence type 19 20 Encoding the sequence-of type . 20 i
29、v Rec. ITU-T X.691 (08/2015) 21 Encoding the set type 21 22 Encoding the set-of type . 21 23 Encoding the choice type 22 24 Encoding the object identifier type . 22 25 Encoding the relative object identifier type 23 26 Encoding the internationalized resource reference type . 23 27 Encoding the relat
30、ive internationalized resource reference type 23 28 Encoding the embedded-pdv type. 23 29 Encoding of a value of the external type 23 30 Encoding the restricted character string types 24 31 Encoding the unrestricted character string type 26 32 Encoding the time type, the useful time types, the defin
31、ed time types and the additional time types . 26 32.1 General 26 32.2 Encoding subtypes with the “Basic=Date“ property setting 31 32.3 Encoding subtypes with the “Basic=Time“ property setting . 33 32.4 Encoding subtypes with the “Basic=Date-Time“ property setting 36 32.5 Encoding subtypes with the “
32、Basic=Interval Interval-type=SE“ property setting 36 32.6 Encoding subtypes with the “Basic=Interval Interval-type=D“ property setting . 36 32.7 Encoding subtypes with the “Basic=Interval Interval-type=SD“ or “Basic=Interval Interval-type=DE“ property setting . 37 32.8 Encoding subtypes with the “Ba
33、sic=Rec-Interval Interval-type=SE“ property setting . 38 32.9 Encoding subtypes with the “Basic=Rec-Interval Interval-type=D“ property setting . 39 32.10 Encoding subtypes with the “Basic=Rec-Interval Interval-type=SD“ or “Basic=Rec-Interval Interval-type=DE“ property setting 39 32.11 Encoding subty
34、pes with mixed settings of the Basic property 40 33 Object identifiers for transfer syntaxes . 43 Annex A Example of encodings . 44 A.1 Record that does not use subtype constraints 44 A.1.1 ASN.1 description of the record structure . 44 A.1.2 ASN.1 description of a record value . 44 A.1.3 ALIGNED PE
35、R representation of this record value 44 A.1.4 UNALIGNED PER representation of this record value 45 A.2 Record that uses subtype constraints . 47 A.2.1 ASN.1 description of the record structure . 47 A.2.2 ASN.1 description of a record value . 47 A.2.3 ALIGNED PER representation of this record value
36、47 A.2.4 UNALIGNED PER representation of this record value 48 A.3 Record that uses extension markers . 49 A.3.1 ASN.1 description of the record structure . 49 A.3.2 ASN.1 description of a record value . 50 A.3.3 ALIGNED PER representation of this record value 50 A.3.4 UNALIGNED PER representation of
37、 this record value 51 A.4 Record that uses extension addition groups 53 A.4.1 ASN.1 description of the record structure . 53 A.4.2 ASN.1 description of a record value . 53 A.4.3 ALIGNED PER representation of this record value 53 A.4.4 UNALIGNED PER representation of this record value 54 Annex B Comb
38、ining PER-visible and non-PER-visible constraints . 55 B.1 General 55 B.2 Extensibility and visibility of constraints in PER 55 B.2.1 General 55 B.2.2 PER-visibility of constraints 56 B.2.3 Effective constraints 57 B.3 Examples . 58 Rec. ITU-T X.691 (08/2015) v Annex C Support for the PER algorithms
39、 . 60 Annex D Support for the ASN.1 rules of extensibility . 61 Annex E Tutorial annex on concatenation of PER encodings 62 Annex F Identification of Encoding Rules 63 vi Rec. ITU-T X.691 (08/2015) Introduction Specifications Rec. ITU-T X.680 | ISO/IEC 8824-1, Rec. ITU-T X.681 | ISO/IEC 8824-2, Rec.
40、 ITU-T X.682 | ISO/IEC 8824-3, Rec. ITU-T X.683 | ISO/IEC 8824-4 together describe Abstract Syntax Notation One (ASN.1), a notation for the definition of messages to be exchanged between peer applications. This Recommendation | International Standard defines encoding rules that may be applied to val
41、ues of types defined using the notation specified in Rec. ITU-T X.680 | ISO/IEC 8824-1. Application of these encoding rules produces a transfer syntax for such values. It is implicit in the specification of these encoding rules that they are also to be used for decoding. There are more than one set
42、of encoding rules that can be applied to values of ASN.1 types. This Recommendation | International Standard defines a set of Packed Encoding Rules (PER), so called because they achieve a much more compact representation than that achieved by the Basic Encoding Rules (BER) and its derivatives descri
43、bed in Rec. ITU-T X.690 | ISO/IEC 8825-1 which is referenced for some parts of the specification of these Packed Encoding Rules. ISO/IEC 8825-2: 2015 (E) Rec. ITU-T X.691 (08/2015) 1 INTERNATIONAL STANDARD ITU-T RECOMMENDATION Information technology ASN.1 encoding rules: Specification of Packed Enco
44、ding Rules (PER) 1 Scope This Recommendation | International Standard specifies a set of Packed Encoding Rules that may be used to derive a transfer syntax for values of types defined in Rec. ITU-T X.680 | ISO/IEC 8824-1. These Packed Encoding Rules are also to be applied for decoding such a transfe
45、r syntax in order to identify the data values being transferred. The encoding rules specified in this Recommendation | International Standard: are used at the time of communication; are intended for use in circumstances where minimizing the size of the representation of values is the major concern i
46、n the choice of encoding rules; allow the extension of an abstract syntax by addition of extra values, preserving the encodings of the existing values, for all forms of extension described in Rec. ITU-T X.680 | ISO/IEC 8824-1; can be modified in accordance with the provisions of Rec. ITU-T X.695 | I
47、SO/IEC 8825-6. 2 Normative references The following Recommendations and International Standards contain provisions which, through reference in this text, constitute provisions of this Recommendation | International Standard. At the time of publication, the editions indicated were valid. All Recommen
48、dations and Standards are subject to revision, and parties to agreements based on this Recommendation | International Standard are encouraged to investigate the possibility of applying the most recent edition of the Recommendations and Standards listed below. Members of IEC and ISO maintain register
49、s of currently valid International Standards. The Telecommunication Standardization Bureau of the ITU maintains a list of currently valid ITU-T Recommendations. NOTE This Recommendation | International Standard is based on ISO/IEC 10646:2003. It cannot be applied using later versions of this standard. 2.1 Identical Recommendations | International Standards Recommendation ITU-T X.680 (2015) | ISO/IEC 8824-1:2015, Information technology Abstract Syntax Notation One (ASN.