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