ASN

ASN.1是一種 ISO/ITU-T 標準,描述了一種對數據進行表示、編碼、傳輸和解碼的數據格式。它提供了一整套正規的格式用於描述對象的結構,而不管語言上如何執行及這些數據的具體指代,也不用去管到底是什麼樣的應用程式。

基本介紹

  • 中文名:ASN
  • 作用:抽象語法標記
  • 協定:ISO 
  • 規則:二進制編碼
ASN.1:抽象語法標記,ASN:預先發貨清單,ASN:自治系統號,

ASN.1:抽象語法標記

ASN.1即抽象語法標記(Abstract Syntax Notation One)
在任何需要以數字方式傳送信息的地方,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 格式的,或一種非常緊湊的壓縮編碼格式的描述。
· 命名規則:1、內部類型名和保留字全部大寫;2、用戶定義的類型名或者模組名第一個字母大寫;3、其他標示符(值得名稱和欄位名稱)第一個字母要小寫。
· 基本數據類型
BOOLEAN, INTEGER, BITSTRING, OCTETSTRING, REAL,ENUMERATED
ANY, OBJECT IDENTIFIER
· 字元串類型,都是OCTETSTRING的子類型
NumericString,PrintableString,TeletexString,VideotexString, IA5String, GraphicString, VisibleString,GeneralString
· 基本構造類型
SEQUENCE一個或多個組成元素的有序列表
SEQUENCE {
stateResultStateResult DEFAULT success,
actionResultActionResult Default success,
attributes SelectAttributes,
SharedASEinform SharedASEinform OPTIONAL,
diagnostic Diagnostic OPTIONAL
}
SEQUENCE OF :SEQUENCE的特例,它的組成元素必須是同一個ASN.1類型,類似數組
SET :類似於SEQUENCE,區別在於它的組成元素是無序排列的
SET OF:和SET的區別類似於SEQUENCE和SEQUENCE OF的區別
CHOICE :包含一個可供選擇類型的列表。類似於Union
CHOICE {
roiv-apdu ROIVapdu,
rors-apdu RORSapdu
}
· 模組定義、類型分配與值分配
DEFINITIONS TagDefault ::=
BEGIN
EXPORTS
IMPORTS
AssignmentList
END
::= 為賦值號,AssignmengList包含類型分配(Type assignment)、值分配(Value Assignment)、和宏定義
類型分配語句的格式為:<類型名> ::= <類型定義>
ModuleExample DEFINITIONS ::=
BEGIN
TypeA ::= INTEGER
TYPE ::= BOOLEAN
valueA TypeA ::= 10
valueB TypeB ::= TRUE
END
· 標籤--為了保證傳輸數據的無二義性,需要加入一些選項。例如SEQUENCE類型中,因為某些元素是可選的,所以需要有一種方式來正確區分。有4類標籤:1、通用類(UNIVERSAL);2、套用類(APPLICATION);3、上下文;4、專用類
· 特殊類型:ANY,類似於通配符

ASN:預先發貨清單

ASN即預先發貨清單(Advanced Shipping Note)
預先發貨清單是生產廠家或者批發商在發貨時利用電子通信網路提前向零售商傳送貨物的明細清單。這樣零售商事前可以做好貨物進貨準備工作,同時可以省去貨物數據的輸入作業,使商品檢驗作業效率化。購買商也可以憑藉此清單核對訂單交貨數量、剩餘數量等,及時更正數量上的錯誤。

ASN:自治系統號

ASN 即自治系統號(Autonomous System Number)
自治系統:autonomous system。在網際網路中,一個自治系統(AS)是一個有權自主地決定在本系統中應採用何種路由協定的小型單位。這個網路單位可以是一個簡單的網路也可以是一個由一個或多個普通的網路管理員來控制的網路群體,它是一個單獨的可管理的網路單元(例如一所大學,一個企業或者一個公司個體)。一個自治系統有時也被稱為是一個路由選擇域(routing domain)。一個自治系統將會分配一個全局的唯一的號碼,有時我們把這個號碼叫做自治系統號(ASN)。

相關詞條

熱門詞條

聯絡我們