0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

你能解释一下类型可扩展性在PER中是如何工作的吗

工程师邓生 来源:哲想软件 作者:哲想软件 2022-09-02 09:36 次阅读

16、在类型定义和信息对象集中使用扩展标记有什么区别?扩展标记是否不可见?

扩展标记就类型定义而言是不可见的,但就简单表约束和组件关系约束而言并非不可见。

类型本身是可扩展的,与限制它是可扩展的对象集之间是有区别的。在类型是可扩展的情况下,它天生可以采用可扩展约束允许的任何值。例如,

INTEGER(1..8, ...)

可以随时假设任何有效值。将此与使用简单表约束进行约束的 INTEGER类型进行对比,在这种类型中,此类类型只能假定在该类型被编码/解码时恰好包含在信息对象集中的那些值。随着程序的运行,这可能会随着时间的推移而变化,因为可扩展信息对象集中的对象集可能会在运行时发生变化。

在BER、DER和 CER的情况下,这种区别不太重要,其中类型的可扩展性在其编码方式中不发挥作用,但在PER 中起主要作用。在 PER 中,使用扩展标记“...”定义的类型的值使用1 位前缀进行编码,当设置为0 时,意味着后面的值在扩展根中,因此以优化的形式编码。(例如,上面示例中的值 1-8 将被编码为3 位)。但是,当设置为 1 时,意味着后面的值以更通用的形式编码。(例如,上例中不在 1-8 范围内的值占用16 位或更多位)。

17、你能解释一下类型可扩展性在PER 中是如何工作的吗?

考虑以下两个ASN.1 语法定义:

A::= SEQUENCE { --defined in v1

f1BOOLEAN,

f2BOOLEAN,

...,

}

A::= SEQUENCE { --defined in v2

f1BOOLEAN,

f2BOOLEAN,

...,

e1BOOLEAN OPTIONAL,

e2BOOLEAN

}

类型可扩展性背后的目的是允许不理解新字段的V1 应用程序接收具有它无法识别的字段的V2 消息,并将它们视为由V1 应用程序发送,同样,对于V2 应用程序来说接收缺少字段的 V1 消息。如果 V2 应用程序收到缺少强制扩展添加的消息,它可以安全地假定该消息是由V1 应用程序发起的。

只有在扩展附加位图中有一个位表示存在/不存在哪些扩展附加值时,才必须对扩展标记之后的强制字段进行编码。因此,在强制扩展附加 y 之后定义了扩展附加x,并且 x的值存在于编码中,那么y 的值必须存在。此外,如果强制扩展附加 y 是SEQUENCE 中的最后一个组件,并且在扩展附加位图中存在一个位,则该位必须设置为1,因为该位的存在表明消息的发起者知道这个扩展添加,因此它的存在是强制性的。只有当消息是从未定义强制扩展添加的早期版本的消息定义中继时,才可以省略它(在这种情况下,扩展添加位图中将没有位)。ITU-T 建议X.680(2008) 25.15 注2 中指出了这一点:

作为扩展添加但不包含在“ExtensionAdditionGroup”中的“ComponentType”如果未标记为OPTIONAL 或DEFAULT,则应始终对其进行编码,除非抽象值是从使用较早版本抽象语法的发送者中继的其中未定义“ComponentType”。

换句话说,PER将标记为 OPTIONAL的扩展添加与非 OPTIONAL的扩展添加完全相同。



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码
    +关注

    关注

    6

    文章

    835

    浏览量

    54484
  • CeR
    CeR
    +关注

    关注

    0

    文章

    4

    浏览量

    7251

原文标题:​OSS Nokalva:ASN.1问答时间(4)

文章出处:【微信号:哲想软件,微信公众号:哲想软件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    同步从fifo的例程,如何理解U2P和P2U的工作方式?

    我想问一下在同步从fifo的例程,如何理解U2P和P2U的工作方式,官方的文档解释有些抽象 如果FPGA通过FX3实现数据向PC的传输的话,通过GPIF II 接口将数据放进去
    发表于 02-28 06:47

    分布式大屏控制系统的可扩展性设计

    分布式大屏控制系统的可扩展性设计是确保系统能够适应不断增长的需求和未来发展的关键因素。以下是可扩展性设计的几个方面: 模块化设计:将系统划分为多个模块,每个模块具有独立的功能和接口。这种设计方式使得
    的头像 发表于 01-29 14:46 262次阅读

    AD7134的SPI控制时序,STATUS是什么意思?

    AD7134的SPI控制时序,这个 STATUS在手册没有介绍,只介绍数据接口的标头,如下图所示: 工程师能不能解释一下
    发表于 11-30 07:44

    506评估板上AD转换输入引脚之前都有个放大器电路,能解释一下具体作用吗?

    506评估板上AD转换输入引脚之前都有个放大器电路,能解释一下具体作用吗?R28有什么作用?
    发表于 11-24 07:06

    扩展性对物联网管理系统有哪些影响?

    扩展性对于物联网管理系统的设计和开发非常重要,它直接影响着系统的性能、可靠性和能耗等方面,是评估一个系统优劣的重要因素之一。可扩展性对物联网管理系统的影响主要体现在以下几个方面:
    的头像 发表于 10-11 15:15 258次阅读

    扩展性对物联网管理系统有哪些影响?

    扩展性对于物联网管理系统的设计和开发非常重要,它直接影响着系统的性能、可靠性和能耗等方面,是评估一个系统优劣的重要因素之一。可扩展性对物联网管理系统的影响主要体现在以下几个方面:    设备兼容性
    的头像 发表于 09-19 11:23 342次阅读

    Brocade SAN针对Fabric OS 9.x的可扩展性指导原则

    电子发烧友网站提供《Brocade SAN针对Fabric OS 9.x的可扩展性指导原则.pdf》资料免费下载
    发表于 09-01 11:28 0次下载
    Brocade SAN针对Fabric OS 9.x的可<b class='flag-5'>扩展性</b>指导原则

    IO扩展模块有哪些特点

    自动化领域中不可或缺的部分,具有多样化的功能应用、灵活的安装和配置、高度的扩展性、实时性和稳定性以及广泛的适用范围等特点。这些特点使得IO扩展模块
    发表于 08-31 18:14

    适用于Brocade Fabric OS 8.X的Brocade SAN可扩展性指导原则

    电子发烧友网站提供《适用于Brocade Fabric OS 8.X的Brocade SAN可扩展性指导原则.pdf》资料免费下载
    发表于 08-29 15:21 0次下载
    适用于Brocade Fabric OS 8.X的Brocade SAN可<b class='flag-5'>扩展性</b>指导原则

    SD-WAN组网的可扩展性怎么样?

    SD-WAN组网具有很好的可扩展性,能够轻松满足企业网络不断扩张和增长的需求,同时保持网络的高效和可管理性,这使得SD-WAN组网能够随着企业的快速发展而快速调整规模,变更拓扑,采取不同的接入方式
    的头像 发表于 08-18 11:29 338次阅读

    什么是云计算的可扩展性

    不断增长的数据池需要巨额投资和劳动密集型管理,但云托管的全球采用已经彻底改变了我们所知的数据行业。除了成本效益和灵活性之外,选择云而不是本地架构的主要好处之一是能够轻松快速地扩展。那么什么是云计算的可扩展性
    的头像 发表于 08-08 17:46 1620次阅读

    HadaFS可扩展性和性能的优势

    HadaFS 的新型 Burst Buffer 文件系统,实现了可扩展性和性能的优势与数据共享和部署成本的优势的良好结合。 相关文章: 收藏:多家Burst Buffer存储技术解析(附下载) Burst Buffer技术为何在HPC如此盛行 一、背景   高性能计算(HPC)正在经历计算规模和数据爆发式增
    的头像 发表于 06-14 10:11 399次阅读
    HadaFS可<b class='flag-5'>扩展性</b>和性能的优势

    为什么连接到Arduino时需要使用softwareSerial而不是Serial吗?

    有人能解释一下为什么连接到 Arduino 时需要使用 softwareSerial 而不是 Serial 吗?ESP8266上使用硬件串口有什么问题?
    发表于 06-06 13:22

    一款扩展性高的渗透测试框架渗透测试框架

    MYExploit 简介 一款扩展性高的渗透测试框架渗透测试框架(完善中) 只支持部分EXP 利用 使用声明 本工具仅用于安全测试目的 用于非法用途与开发者、本公众号无关 工具下载地址 【进入下方名片回复关键词:504】       审核编辑:彭静
    的头像 发表于 05-30 09:06 386次阅读
    一款<b class='flag-5'>扩展性</b>高的渗透测试框架渗透测试框架

    如何在MX 8QuadMax MEK上测试多个显示器?

    指南中的指示使用选项“-d md”执行刷机工具对其进行刷机。LDVS_CH0 正常工作,但 HDMI 不显示任何内容。 我们应该以某种方式添加/加载 HDMI 固件吗?如果是这样,能解释一下怎么做吗?
    发表于 05-29 06:04