跳至內容

ASN.一

出自Taiwan Tongues 台語維基
於 2025年8月23日 (六) 12:29 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

佇咧電信佮計算機網路領域,ASN . 一Abstract Syntax Notation One) 是一套標準,是咧講數據的表示、編碼、傳輸、解碼的靈活的記法。伊提供一套正式的、無歧義佮精確的規則以描述獨立佇特定計算機硬體的對象結構。

標準簡介

ASN . 一是 ISO 和 ITU-T 的聯合標準,頭仔是一九八四年的 CCITT X . 四百空九 : 一千九百八十四的一部份。因為其廣泛應用,一九八八年 ASN . 一移到獨立標準X . 兩百空八,一九九五年進行全面修訂了後變講X . 六百八十系列標準。

ASN . 一本身干焦定義矣表示批評的抽象句法,但是無限定講其編碼的方法。各種 ASN . 一編碼規則提供了由 ASN . 一描述其抽象句法的數據的值的傳送語法(具體表達)。 標準的 ASN . 一編碼規則有基本編碼規則(BER,Basic Encoding Rules)、 規範編碼規則(CER,Canonical Encoding Rules)、 唯一編碼規則(DER,Distinguished Encoding Rules)、 壓縮編碼規則(PER,Packed Encoding Rules)和 XML 編碼規則(XER,XML Encoding Rules)。 為著使 ASN . 一寡會當來講一寡原先無一寡使用 ASN . 一定義,所以無適用上述任一編碼規則的數據傳輸佮表示的應用佮協議,另外做定矣 ECN 來擴展 ASN . 一的編碼形式。ECN 會當提供非常的靈活的表明方法,但猶無得著普遍的應用。

ASN . 一佮特定的 ASN . 做伙通過使用獨立佇計算機架構佮程式語言的方法來描述資料結構,為結構化數據的交互提供手段,特別是佇網路環境遮的應用程式。

應用層協議如 X . 四百(email)、 X . 五百和 LDAP(kha-tá-lok-guh 服務)、 H . 三百二十三(VoIP)和 SNMP 使用 ASN . 一描述𪜶交互的協議數據單元。佇咧 UMTS 的接入佮非接入層嘛有廣泛的應用。 ASN . 一的其他應用領域參見此處 [一]。

遮 [二] 列舉足濟的 ASN . 一的自由或者商業的工具。

範例

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

` ` ` FooProtocol DEFINITIONS  : :=BEGIN

FooQuestion  : :=SEQUENCE { trackingNumber INTEGER , question IA 五 String }

FooAnswer  : :=SEQUENCE { questionNumber INTEGER , answer BOOLEAN }

END ` ` `

ASN . 一無定義的講話流動。這是協議的文本咧講。

假使消息,符合佮 foo 的協議將予人發送去接收方。這款特定的消息(PDU):

` ` ` myQuestion FooQuestion  : :={ trackingNumber 五 , question " Anybody there ? " } ` ` `

愛通過網路發送上述的消息,需要編碼做位元字串(string of bits)。 ASN . 一定義無仝的算法來完成這項任務,予人號做編碼規則。有足濟,上簡單的一个是 DER .

Foo 協議規範應明確名稱一套編碼規則的使用,Foo 的協議,使用者知影𪜶應該使用佗一个。

DER 的編碼範例

下跤顯示 DER 編碼格式(攏十六進位)的數據結構 :

` ` ` 三十--一个標籤說明 SEQUENCE 十三--octets 長度二--一个標籤說明 INTEGER 一--octets 長度五--value

十六--一个標籤說明 IA 五 String 零 e--octets 長度四十一六 e 七十九六十二六 f 六十四七十九二十七十四六十八六十五七十二六十五三 f--value ( " Anybody there ? " in ASCII ) ` ` `

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

𪜶實際上得著的是二十一个 octets :

` ` ` 三十十三二一五十六零 e 四十一六 e 七十九六十二六 f 六十四七十九二十七十四六十八六十五七十二六十五三 f ` ` `

ASN . 一的範圍佮 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 . 一) 來得著閣較濟人類可讀性 " over the wire " . 會當產生下列的一百空八 octets :

` ` ` < FooQuestion > < trackingNumber > 五 < / trackingNumber > < question > Anybody there ? < / question > < / FooQuestion > ` ` `

PER 範例(未有齊)

另外咧,採用壓縮編碼規則(Packed Encoding Rules), 會產生下列百二二 bits ( 小於十六 octets ) :

` ` ` 一五零 e 八十三 bb ce 二 d f 九三 c a 零 e 九 a 三二 f 二 c af c 零 ` ` `

標準下載

( 對 ITU-T 網站免費下載)

是咧講 ASN . 一記法的標準:

  • ITU-T Rec . X . 六百八十 | ISO / IEC 八千八百二十四孵一
  • ITU-T Rec . X . 六百八十一 | ISO / IEC 八千八百二十四孵二
  • ITU-T Rec . X . 六百八十二 | ISO / IEC 八千八百二十四配三
  • ITU-T Rec . X . 六百八十三 | ISO / IEC 八千八百二十四抹四描述 ASN . 一編碼規則的標準
  • ITU-T Rec . X . 六百九十 | ISO / IEC 八千八百二十五孵一 ( BER , CER and DER )
  • ITU-T Rec . X . 六百九十一 | ISO / IEC 八千八百二十五孵二 ( PER )
  • ITU-T Rec . X . 六百九十二 | ISO / IEC 八千八百二十五孵三 ( ECN )
  • ITU-T Rec . X . 六百九十三 | ISO / IEC 八千八百二十五孵四 ( XER )

ASN . 一標準列表

參見

  • TTCN
  • ECN
  • Federal Standard 一千空三十七 C
  • MIL-STD 被一百八十八。

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

  • The ASN . 一 Consortium
  • ASN . 一 C , C + + , Java Tools
  • _ Online ASN . 一 decoder _ Free online tool .
  • ASN . 一 IDE , Editor , Compilers
  • ASN . 一相關站點
  • 參考資料
  • 其他
  • ASN . 一教程
  • 微軟智識庫《XGEN : A 簡短簡介 BER 和 ASN 一》

參考

外部連結

  • ASN . 一 Made Simple
  • ASN . 一
  • A Layman's Guide to a Subset of ASN . 一 , BER , and DER