技術 > 抽象語法標記
目錄
No. 1
  抽象語法標記
  (asn.1:abstract syntax notation one)
  抽象語法標記(asn.1)是一種 iso/itu-t 標準,描述了一種對數據進行表示、編碼、傳輸和解碼的數據格式。它提供了一整套正規的格式用於描述對象的結構,而不管語言上如何執行及這些數據的具體指代,也不用去管到底是什麽樣的應用程序 — 不論是非常復雜的,還是非常簡單的。
  在任何需要以數字方式發送信息的地方,asn.1 都可以發送各種形式的信息(聲頻、視頻、數據等等)。asn.1 和特定的 asn.1 編碼規則推進了結構化數據的傳輸,尤其是網絡中應用程序之間的結構化數據傳輸,它以一種獨立於計算機架構和語言的方式來描述數據結構。
  iso 協議套中的應用層協議使用了 asn.1 來描述它們所傳輸的 pdu,這些協議包括:用於傳輸電子郵件的 x.400、用於目錄服務的 x.500、用於 voip 的 h.323 和 snmp。它的應用還可以擴展到通用移動通信係統(umts)中的接入和非接入層。
  asn.1 取得成功的一個主要原因是它與幾個標準化編碼規則相關,如基本編碼規則(ber) -x.209 、規範編碼規則(cer)、識別名編碼規則(der)、壓縮編碼規則(per)和 xer 編碼規則(xer)。這些編碼規則描述了如何對 asn.1 中定義的數值進行編碼,以便用於傳輸,而不管計算機、編程語言或它在應用程序中如何表示等因素。asn.1 的編碼方法比許多與之相競爭的標記係統更先進,它支持可擴展信息快速可靠的傳輸 — 在無綫寬帶中,這是一種優勢。1984年,asn.1 就已經成為了一種國際標準,它的編碼規則已經成熟並在可靠性和兼容性方面擁有更豐富的歷程。
  簡潔的二進製編碼規則(ber、cer、der、per,但不包括 xer)可當作更現代 xml 的替代。然而,asn.1 支持對數據的語義進行描述,所以它是比 xml 更為高級的語言。
  asn.1 的描述可以容易地映被射成 c 或 c++ 或 java 的數據結構,並可以被應用程序代碼使用,並得到運行時程序庫的支持,進而能夠對編碼和解碼 xml 或 tlv 格式的,或一種非常緊湊的壓縮編碼格式的描述。
  協議結構
  asn.1 提供了一些基本的預定義數據類型:
  universal 0 保留給編碼規則使用
  universal 1 布爾類型
  universal 2 整型
  universal 3 二進製字符串類型
  universal 4 八進製字符串類型
  universal 5 空類型
  universal 6 對象標識符類型
  universal 7 對象描述符類型
  universal 8 外部類型和類型實例
  universal 9 實數類型
  universal 10 枚舉類型
  universal 11 嵌入的 pdv 類型
  universal 12 utf8 字符串類型
  universal 13 相關對象標識符 類型
  universal 14-15 保留給本建議的以後版本和國際標準使用
  universal 16 序列和類型序列
  universal 17 集合和類型的集合
  universal 18-22, 25-30 字符串 類型
  universal 23-24 時間 類型
  universal 31-... 保留給本建議以外的類型和國際標準使用
  asn.1 還能夠定義如下的數據結構類型:
  結構 ( sequence ),
  列表 ( sequence of ),
  類型選擇 ( choice ),
No. 2
  抽象語法標記
  (ASN.1:Abstract Syntax Notation One)
  抽象語法標記(ASN.1)是一種 ISO/ITU-T 標準,描述了一種對數據進行表示、編碼、傳輸和解碼的數據格式。它提供了一整套正規的格式用於描述對象的結構,而不管語言上如何執行及這些數據的具體指代,也不用去管到底是什麽樣的應用程序 — 不論是非常復雜的,還是非常簡單的。
  在任何需要以數字方式發送信息的地方,ASN.1 都可以發送各種形式的信息(聲頻、視頻、數據等等)。ASN.1 和特定的 ASN.1 編碼規則推進了結構化數據的傳輸,尤其是網絡中應用程序之間的結構化數據傳輸,它以一種獨立於計算機架構和語言的方式來描述數據結構。
  ISO 協議套中的應用層協議使用了 ASN.1 來描述它們所傳輸的 PDU,這些協議包括:用於傳輸電子郵件的 X.400、用於目錄服務的 X.500、用於 VoIP 的 H.323 和 SNMP。它的應用還可以擴展到通用移動通信係統(UMTS)中的接入和非接入層。
  ASN.1 取得成功的一個主要原因是它與幾個標準化編碼規則相關,如基本編碼規則(BER) -X.209 、規範編碼規則(CER)、識別名編碼規則(DER)、壓縮編碼規則(PER)和 XER 編碼規則(XER)。這些編碼規則描述了如何對 ASN.1 中定義的數值進行編碼,以便用於傳輸,而不管計算機、編程語言或它在應用程序中如何表示等因素。ASN.1 的編碼方法比許多與之相競爭的標記係統更先進,它支持可擴展信息快速可靠的傳輸 — 在無綫寬帶中,這是一種優勢。1984年,ASN.1 就已經成為了一種國際標準,它的編碼規則已經成熟並在可靠性和兼容性方面擁有更豐富的歷程。
  簡潔的二進製編碼規則(BER、CER、DER、PER,但不包括 XER)可當作更現代 XML 的替代。然而,ASN.1 支持對數據的語義進行描述,所以它是比 XML 更為高級的語言。
  ASN.1 的描述可以容易地映被射成 C 或 C++ 或 Java 的數據結構,並可以被應用程序代碼使用,並得到運行時程序庫的支持,進而能夠對編碼和解碼 XML 或 TLV 格式的,或一種非常緊湊的壓縮編碼格式的描述。
  協議結構
  ASN.1 提供了一些基本的預定義數據類型:
  UNIVERSAL 0 保留給編碼規則使用
  UNIVERSAL 1 布爾類型
  UNIVERSAL 2 整型
  UNIVERSAL 3 二進製字符串類型
  UNIVERSAL 4 八進製字符串類型
  UNIVERSAL 5 空類型
  UNIVERSAL 6 對象標識符類型
  UNIVERSAL 7 對象描述符類型
  UNIVERSAL 8 外部類型和類型實例
  UNIVERSAL 9 實數類型
  UNIVERSAL 10 枚舉類型
  UNIVERSAL 11 嵌入的 pdv 類型
  UNIVERSAL 12 UTF8 字符串類型
  UNIVERSAL 13 相關對象標識符 類型
  UNIVERSAL 14-15 保留給本建議的以後版本和國際標準使用
  UNIVERSAL 16 序列和類型序列
  UNIVERSAL 17 集合和類型的集合
  UNIVERSAL 18-22, 25-30 字符串 類型
  UNIVERSAL 23-24 時間 類型
  UNIVERSAL 31-... 保留給本建議以外的類型和國際標準使用
  ASN.1 還能夠定義如下的數據結構類型:
  結構 ( SEQUENCE ),
  列表 ( SEQUENCE OF ),
  類型選擇 ( CHOICE ),