网络管理与维护(2.2.3)(ASH.1基本概念续续)(构造类型,标签类型,子类型,扩展通信)
构造类型
SEQUENCE会在以后使用,set仅作了解。
一个是序列,有序排列
一个是集合,是无序的
类似结构体,可以套娃
SEQUENCE OF 是一个单纯序列,类似与数组
例子1,第一行类型定义为integer
第二行值定义,seat可赋值为1,3,5
SEQUENCE OF 定义后只能放出整数类型
然后是集合类型set
他是无序的
SET OF类比sequence of.
三个关键词optional,default,components of
components of 的例子。
二者等价
其他类型
choice和any比较特殊,他们俩初始条件下没有值,标签。在被赋值后才会拥有类型与标签
所以不会叫一个类型:choice类型,any类型
choice就表示一个选择,例如选择了cash,prize就选择了cash的类型与标签。
其实这个choice可以类比C语言的共用体
【】表示一个上下文标签
any是一个范围,它可以被任何类型替换
这里any就被替换成IA5String和INTEGER
标签类型
由已知类型定义的新类型
上述过程就是原类型的别名而已
传输时,不会区分类型。
想要区分同一类型表示不同的信息时候,就需要为新类型分配新tag,这就是标签类型
可以省略上下文类型
标签环境因模块而定
第一种类似于换衣服,第二种类似与套个外套
在隐式中如果仅仅传输abc ABC::=19这个是对的
但是 要传输例子就不对,需要换成
显示就要同时写两个标签
所以隐式常用,传输中关键词传输量少
上下文类主要是消除歧义
为了区分身高和体重而添加的标签
显式隐式有区别,但是原则上是为了避免任何奇异。就都添加【】
只要可以区分,部分之前是可以使用相同编号
如果去掉绿色编号要想区分就只能0123这样子
修改,就是在类型前加标签
在你不想区分的时候也可以不需要增加标签
凡是加了标签的都是标签类型。第二个第三个就是标签类型
答案是【1】
T是显式所以新老标签都需要。
t即 【1】【APPLICATION 5】
子类型
单个值,注意是()。
包含子类型
用includes加载之前包含的类型值
值区间,有取到值…和取不到值<…<
可以表示最大最小值,默认无穷
加from就可以取单个值与区间
限制大小是个重点内容。分为限制长度与限制个数。
例子中,前者固定长度,后者固定区间
限制大小中是就近原则
红字的size,第一个就是限制了String的大小
第二个红字限制的是sequence的个数。
出现 of,就没有s
没有of就有s,这样记忆with component
with component限制的就是组件,即限制了visibleString.
底下的就是限制了SEQUENCE
约束了alpha只能用state1,beta限制大小
扩展
这段话的意思就是新老设备上你要进行通信,很可能出现少,多数据,加上…就不会因为扩充带来编码错误
记住是三个.