百科解釋
目錄·簡介·定義·預(yù)定義數(shù)據(jù)類型·數(shù)據(jù)結(jié)構(gòu)類型 簡介 ASN.1抽象語法標(biāo)記(Abstract Syntax Notation One) ASN.1是一種 ISO/ITU-T 標(biāo)準(zhǔn),描述了一種對數(shù)據(jù)進(jìn)行表示、編碼、傳輸和解碼的數(shù)據(jù)格式。它提供了一整套正規(guī)的格式用于描述對象的結(jié)構(gòu),而不管語言上如何執(zhí)行及這些數(shù)據(jù)的具體指代,也不用去管到底是什么樣的應(yīng)用程序。 在任何需要以數(shù)字方式發(fā)送信息的地方,ASN.1 都可以發(fā)送各種形式的信息(聲頻、視頻、數(shù)據(jù)等等)。ASN.1 和特定的 ASN.1 編碼規(guī)則推進(jìn)了結(jié)構(gòu)化數(shù)據(jù)的傳輸,尤其是網(wǎng)絡(luò)中應(yīng)用程序之間的結(jié)構(gòu)化數(shù)據(jù)傳輸,它以一種獨立于計算機(jī)架構(gòu)和語言的方式來描述數(shù)據(jù)結(jié)構(gòu)。 ISO 協(xié)議套中的應(yīng)用層協(xié)議使用了 ASN.1 來描述它們所傳輸?shù)?PDU,這些協(xié)議包括:用于傳輸電子郵件的 X.400、用于目錄服務(wù)的 X.500、用于 VoIP 的 H.323 和 SNMP。它的應(yīng)用還可以擴(kuò)展到通用移動通信系統(tǒng)(UMTS)中的接入和非接入層。 ASN.1 取得成功的一個主要原因是它與幾個標(biāo)準(zhǔn)化編碼規(guī)則相關(guān),如基本編碼規(guī)則(BER) -X.209 、規(guī)范編碼規(guī)則(CER)、識別名編碼規(guī)則(DER)、壓縮編碼規(guī)則(PER)和 XER 編碼規(guī)則(XER)。這些編碼規(guī)則描述了如何對 ASN.1 中定義的數(shù)值進(jìn)行編碼,以便用于傳輸,而不管計算機(jī)、編程語言或它在應(yīng)用程序中如何表示等因素。ASN.1 的編碼方法比許多與之相競爭的標(biāo)記系統(tǒng)更先進(jìn),它支持可擴(kuò)展信息快速可靠的傳輸 — 在無線寬帶中,這是一種優(yōu)勢。1984年,ASN.1 就已經(jīng)成為了一種國際標(biāo)準(zhǔn),它的編碼規(guī)則已經(jīng)成熟并在可靠性和兼容性方面擁有更豐富的歷程。 簡潔的二進(jìn)制編碼規(guī)則(BER、CER、DER、PER,但不包括 XER)可當(dāng)作更現(xiàn)代 XML 的替代。然而,ASN.1 支持對數(shù)據(jù)的語義進(jìn)行描述,所以它是比 XML 更為高級的語言。 ASN.1 的描述可以容易地映被射成 C 或 C++ 或 Java 的數(shù)據(jù)結(jié)構(gòu),并可以被應(yīng)用程序代碼使用,并得到運行時程序庫的支持,進(jìn)而能夠?qū)幋a和解碼 XML 或 TLV 格式的,或一種非常緊湊的壓縮編碼格式的描述。 同時,ASN.1是一種用于描述結(jié)構(gòu)化客體的結(jié)構(gòu)和內(nèi)容的語言。定義 抽象語法定義: ASN.1是描述在網(wǎng)絡(luò)上傳輸信息格式的標(biāo)準(zhǔn)方法。它有兩部分:一部分描述信息內(nèi)數(shù)據(jù),數(shù)據(jù)類型及序列格式;另一部分描述如何將各部分組成消息。它原來是作為X.409的一部分而開發(fā)的,后來才自己獨立成為一個標(biāo)準(zhǔn)。ASN.1在OSI的ISO 8824/ITU X.208(說明語法)和ISO 8825/ITU X.209(說明基本編碼規(guī)則)規(guī)范。 例如: Report ::= SEQUENCE { author OCTET STRING, title OCTET STRING, body OCTET STRING, biblio Bibliography } 在這個例子中,"Report"是由名字類型的信息組成的,而SEQUENCE表示消息是許多數(shù)據(jù)單元構(gòu)成的,前三個數(shù)據(jù)單元的類型是OCTET STRING,而最后一個數(shù)據(jù)類型則下面的ASN.1語法表示它的意義: Bibliography ::= SEQUENCE { author OCTET STRING title OCTET STRING publisher OCTET STRING year OCTET STRING }預(yù)定義數(shù)據(jù)類型 ASN.1 提供了一些基本的預(yù)定義數(shù)據(jù)類型: UNIVERSAL 0 保留給編碼規(guī)則使用 UNIVERSAL 1 布爾類型 UNIVERSAL 2 整型 UNIVERSAL 6 對象標(biāo)識符類型 UNIVERSAL 7 對象描述符類型 UNIVERSAL 8 外部類型和類型實例 UNIVERSAL 9 實數(shù)類型 UNIVERSAL 10 枚舉類型 UNIVERSAL 11 嵌入的 pdv 類型 UNIVERSAL 12 UTF8 字符串類型 UNIVERSAL 13 相關(guān)對象標(biāo)識符 類型 UNIVERSAL 14-15 保留給本建議的以后版本和國際標(biāo)準(zhǔn)使用 UNIVERSAL 16 序列和類型序列 UNIVERSAL 17 集合和類型的集合 UNIVERSAL 18-22, 25-30 字符串 類型 UNIVERSAL 23-24 時間 類型 UNIVERSAL 31-... 保留給本建議以外的類型和國際標(biāo)準(zhǔn)使用數(shù)據(jù)結(jié)構(gòu)類型 ASN.1 還能夠定義如下的數(shù)據(jù)結(jié)構(gòu)類型: 結(jié)構(gòu) ( SEQUENCE ) 列表 ( SEQUENCE OF ) 類型選擇 ( CHOICE )
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助