EN
返回档案库

案例库 · 软件与 IT · 技术决策 · 1984–1990

一项ASN.1为电信提供了统一的消息表示法,如今支撑X.509、GSM和5G

CCITT的ASN.1在1984年将消息结构与编码分离,因此一种表示法现在承载X.509证书和大多数蜂窝协议。

CCITT(ITU-T) · ISO

解法

在20世纪80年代初,每个电信协议团队都设计了自己的消息格式,使得每个系统彼此不兼容。经过大约四年的努力,CCITT于1984年发布了X.409,即ASN.1的第一个版本,后来与ISO联合发布为X.208(1988年)/ISO 8824(1990年)。

ASN.1的设计关键是将消息的抽象结构与编码分开描述。一个ASN.1类型定义可以使用不同的编码规则(BER、PER、XER)进行序列化,并且不依赖于编程语言、硬件或操作系统——Java系统和C系统可以交换相同的消息。

这种分离使得标准得以传播而无需替换任何东西:协议可以采用ASN.1来描述自己的消息,同时保持自己的编码。OSS项目列出了GSM、UMTS、LTE和5G协议,这些协议大量使用ASN.1,此外还有用于网络证书的X.509系列。

生效的原因

  • 一种表示法取代了数百种临时性的协议格式
  • 结构/编码分离使每种协议都能保持自己的字节格式
  • 语言和硬件无关性使得任何供应商都可以放心采用
  • 标准制定组织(CCITT/ISO)提供中立、长期的治理
取得的成效描述一次结构;让编码变化多样利落

可借鉴之处

将“消息的含义”与“编码方式”分离,可以让一个标准服务于多种传输和语言——兼容性来自于在结构上达成一致,而不是比特级一致。

后续进展

由于广泛适用性,ASN.1在1988年成为独立的X.208标准,在1990年代通过X.680/X.690进行了修订,并且仍然是X.509证书、LDAP以及从GSM到5G的大部分蜂窝协议栈所使用的表示法。

资料来源

发现哪里写错了?告诉我们。

相关案例