ASN.1 目录 标准简介 範例 标准下载 参见 参考 外部链接 导航菜单从ITU-T网站免费下载ASN.1标准列表The ASN.1 ConsortiumASN.1 C, C++, Java ToolsOnline ASN.1 decoderASN.1 IDE, Editor, CompilersASN.1 相关站点参考资料其他ASN.1教程微軟知識庫 《XGEN: A 简短简介 BER 和 ASN 1》

AtomXMLYAMLJSON資源描述框架REBOLRSS网络本体语言


ITU-T标准数据序列化格式


电信计算机网络标准数据ISOITU-TCCITT X.409:1984抽象句法基本编码规则规范编码规则唯一编码规则压缩编码规则XML编码规则XMLECN应用层X.400emailX.500LDAP目录服务H.323VoIPSNMP协议数据单元UMTS[1][2]FooTCP从ITU-T网站免费下载ASN.1标准列表GFDL自由線上電腦詞典




在电信和计算机网络领域,ASN.1Abstract Syntax Notation One) 是一套标准,是描述数据的表示、编码、传输、解码的灵活的记法。它提供了一套正式、无歧义和精确的规则以描述独立于特定计算机硬件的对象结构。




目录





  • 1 标准简介


  • 2 範例

    • 2.1 DER的編碼範例


    • 2.2 XER編碼的範例


    • 2.3 PER 範例(未對齊)



  • 3 标准下载


  • 4 参见


  • 5 参考


  • 6 外部链接




标准简介


ASN.1是ISO和ITU-T的联合标准,最初是1984年的CCITT X.409:1984的一部分。由于其广泛应用,1988年ASN.1移到独立标准X.208,1995年进行全面修订后变成X.680系列标准。


ASN.1本身只定义了表示信息的抽象句法,但是没有限定其编码的方法。各种ASN.1编码规则提供了由ASN.1描述其抽象句法的数据的值的传送语法(具体表达)。标准的ASN.1编码规则有基本编码规则(BER,Basic Encoding Rules)、规范编码规则(CER,Canonical Encoding Rules)、唯一编码规则(DER,Distinguished Encoding Rules)、压缩编码规则(PER,Packed Encoding Rules)和XML编码规则(XER,XML Encoding Rules)。为了使ASN.1能够描述一些原先没有使用ASN.1定义,因此不适用上述任一编码规则的数据传输和表示的应用和协议,另外制订了ECN来扩展ASN.1的编码形式。ECN可以提供非常灵活的表明方法,但还没有得到普遍应用。


ASN.1与特定的ASN.1编码规则一起通过使用独立于计算机架构和编程语言的方法来描述数据结构,为结构化数据的交互提供了手段,特别是在网络环境的应用程序。


应用层协议如X.400(email)、X.500和LDAP(目录服务)、H.323(VoIP)和SNMP使用 ASN.1 描述它们交互的协议数据单元。在UMTS的接入和非接入层也有广泛的应用。
ASN.1的其他应用领域参见此处[1]。


这里[2]列举了很多ASN.1的自由或者商业的工具。



範例


FooProtocol 結構的定義係使用 ASN.1 表示法:


FooProtocol DEFINITIONS ::= BEGIN

FooQuestion ::= SEQUENCE
trackingNumber INTEGER,
question IA5String


FooAnswer ::= SEQUENCE
questionNumber INTEGER,
answer BOOLEAN


END

ASN.1沒有定義的談話流動。 這是協議的文本描述。


假設消息,符合與foo的協議將被發送到接收方。這種特定的消息(PDU):


myQuestion FooQuestion ::= 
trackingNumber 5,
question "Anybody there?"

要通過網絡發送上述消息,需要編碼成位元字串(string of bits)。ASN.1定義了不同的算法來完成這項任務,被稱為編碼規則。有很多,最簡單的一個是DER.


Foo協議規範應明確名稱一套編碼規則的使用,Foo的協議,使用者 知道他們應該使用哪一個。



DER的編碼範例


下面顯示DER編碼格式(皆16進位)的數據結構:


30 -- 標籤說明 SEQUENCE
13 -- octets長度

02 -- 標籤說明 INTEGER
01 -- octets長度
05 -- value

16 -- 標籤說明 IA5String
0e -- octets長度
41 6e 79 62 6f 64 79 20 74 68 65 72 65 3f -- value
("Anybody there?" in ASCII)

(Note: DER uses a pattern of type-length-value英语Type-length-value triplets)


人們實際上得到的是21個octets:


30 13 02 01 05 16 0e 41 6e 79 62 6f 64 79 20 74 68 65 72 65 3f

ASN.1 的範圍與 DER 結束於此. It is possible to transmit the encoded message to the party by any means (utilizing TCP or any other protocol). The party should be able to decode the octets back using DER.



XER編碼的範例


另外,它是可能的編碼用XER (ASN.1) 來獲取更多人類可讀性 "over the wire". 可以產生下列的 108 octets:


<FooQuestion>
<trackingNumber>5</trackingNumber>
<question>Anybody there?</question>
</FooQuestion>


PER 範例(未對齊)


另外,採用壓縮編碼規則(Packed Encoding Rules), 會產生下列 122 bits (小於16 octets):


01 05 0e 83 bb ce 2d f9 3c a0 e9 a3 2f 2c af c0


标准下载


(从ITU-T网站免费下载)


描述ASN.1记法的标准:


  • ITU-T Rec. X.680 | ISO/IEC 8824-1

  • ITU-T Rec. X.681 | ISO/IEC 8824-2

  • ITU-T Rec. X.682 | ISO/IEC 8824-3

  • ITU-T Rec. X.683 | ISO/IEC 8824-4

描述ASN.1编码规则的标准


  • ITU-T Rec. X.690 | ISO/IEC 8825-1 (BER, CER and DER)

  • ITU-T Rec. X.691 | ISO/IEC 8825-2 (PER)

  • ITU-T Rec. X.692 | ISO/IEC 8825-3 (ECN)

  • ITU-T Rec. X.693 | ISO/IEC 8825-4 (XER)

ASN.1标准列表



参见


  • TTCN

  • ECN


参考


  • Federal Standard 1037C


  • MIL-STD-188。

本條目部分或全部内容出自以GFDL授權發佈的《自由線上電腦詞典》(FOLDOC)。



外部链接


  • The ASN.1 Consortium

  • ASN.1 C, C++, Java Tools


  • Online ASN.1 decoder Free online tool.

  • ASN.1 IDE, Editor, Compilers

  • ASN.1 相关站点

  • 参考资料

  • 其他

  • ASN.1教程

  • 微軟知識庫 《XGEN: A 简短简介 BER 和 ASN 1》


Popular posts from this blog

名間水力發電廠 目录 沿革 設施 鄰近設施 註釋 外部連結 导航菜单23°50′10″N 120°42′41″E / 23.83611°N 120.71139°E / 23.83611; 120.7113923°50′10″N 120°42′41″E / 23.83611°N 120.71139°E / 23.83611; 120.71139計畫概要原始内容臺灣第一座BOT 模式開發的水力發電廠-名間水力電廠名間水力發電廠 水利署首件BOT案原始内容《小檔案》名間電廠 首座BOT水力發電廠原始内容名間電廠BOT - 經濟部水利署中區水資源局

Prove that NP is closed under karp reduction?Space(n) not closed under Karp reductions - what about NTime(n)?Class P is closed under rotation?Prove or disprove that $NL$ is closed under polynomial many-one reductions$mathbfNC_2$ is closed under log-space reductionOn Karp reductionwhen can I know if a class (complexity) is closed under reduction (cook/karp)Check if class $PSPACE$ is closed under polyonomially space reductionIs NPSPACE also closed under polynomial-time reduction and under log-space reduction?Prove PSPACE is closed under complement?Prove PSPACE is closed under union?

Is my guitar’s action too high? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)Strings too stiff on a recently purchased acoustic guitar | Cort AD880CEIs the action of my guitar really high?Μy little finger is too weak to play guitarWith guitar, how long should I give my fingers to strengthen / callous?When playing a fret the guitar sounds mutedPlaying (Barre) chords up the guitar neckI think my guitar strings are wound too tight and I can't play barre chordsF barre chord on an SG guitarHow to find to the right strings of a barre chord by feel?High action on higher fret on my steel acoustic guitar