而关于GlobalRNC-id又指向了25.413,即25.413才是最终定义RNC-id的标准。
在25.413中,Global RNC-ID的由两部分构成:
(1)PLMN-ID,其类型是OCTET STRING (SIZE(3)),即用3个Octet表示6个十进制数(digits),前三个数表示MCC,后3个表示 MNC。我们知道中国的PLMN-id通常形如 460-00的形式,是5个数字。实际上规范约定MNC可以是3个数字,也可以是两个数字,如果是两个数字,那前一个数字在存储是用1111填充。
那么460-00 对应的三个Octet应该是: 01001100 0000111100000000
(2)RNC-ID 是取值为(0..4095)的 INTEGER,占12个bits。制定这个规范的人在RNC-id的分配上假严谨、真扣门,导致这个RNC-id的定义有问题。其一,RNC-id是占12个bits而不是Octet的整数倍,不能做到字节对齐,规范中表面上是节省了空间,实际程序实现分配资源时还是得一个字节一个字节地分,所以省得没什么意义。其二,RNC-id只支持4096个RNC,而我们知道,象中国移动这样的大运营商BSC早就超过了1万个,3G网络要做全覆盖,RNC也不会少。还有,今后如果BSC在工作在GERANIu模式时,也得分RNC-id,RNC-id不够了。
于是,25.413又修订,增加了ExtendedRNC-ID,其取值范围是(4096..65535),还加了句话“当RNC-ID的值大于4095时就得用ExtendedRNC-ID。”直接将RNC-id的值改为(0..65535)不就成了?估计标准修订时,已经公司的产品开发出来了,不愿意改正,就出了这么一个主意。这种做法,导至了RNC-ID非定长,短的还叫RNC-ID,长的就叫ExtenededRNC-ID,引入的麻烦远大于可能收益。
这就是我们仰视的国际通信行业标准,呵呵!