在很多80、90后的记忆中,一张小小的SIM卡,有着难以割舍的情怀——和女友羞涩的情话短信,第一份工资的到账通知,和爸妈的一次次同话记录,给BAT缴纳的“智商税”,一次次刷新快递详情的等待……甚至不敢想象,没有了它,生活会变成怎样。
不过,用了那么久的SIM卡,你真的懂它吗?今天咱们就来说说SIM卡的那点事儿。
什么是SIM卡?
简单来说,SIM卡就是一个遵循gsm 11.11协议的、加密存储固定数据、业务数据和用户数据,具备运算能力,可输出结果的芯片。当用户把SIM卡插入移动设备后,设备根据SIM卡的信息上报数据,运营商对信息进行鉴权,从而提供相应服务。
那么,SIM卡内部是什么样子的呢?咱们来一探究竟。
(用打火机灼烧一下,去掉塑料卡片)
(扣掉保护层)
(SIM卡的真身,第一次展露在世人面前)
如图所示,SIM卡内部有5个模块:CPU(8位,负责运算)、ROM(6~16k bit程序存储)、RAM(6~16k bit内存)、EEPROM(16~256k bit,数据存储)、通信单元。每一个模块各司其职,为设备的可靠通信提供保障。
那么,SIM卡都储存了什么数据呢?一起来了解一下:
数据类型 | 名称 | 位数 | 用途 | 唯一性 | 加密 | 存储上限 | 可读取 | 可更改 |
IMSI | 移动用户识别码 | 15 | 区别用户的标志 | √ | √ | – | √ | × |
ICCID | 集成电路卡识别码 | 20 | 区别SIM卡的标志 | √ | √ | – | √ | × |
KI | 加密数据传递的密钥 | 128 | 加密传输数据 | √ | √ | – | × | × |
MSISDN | 移动台国际用户识别码,即“手机号” |
11 / 13 |
在公共电话网交换网络编号计划中,唯一能识别移动用户的号码 (国内通常为空值) |
√ | – | – | – | – |
PIN | 个人识别密码 | 4 | 用户锁定/解锁SIM卡 | × | √ | – | × | √ |
PUK | PIN解锁码 | 8 | 多次输入PIN错误,SIM锁定后使用该码解锁 | √ | √ | – | × | × |
通讯录 | 存储用户的通讯录 | × | × | 视SIM卡容量而定 | √ | √ | ||
短信 | 存储用户短信 | × | × | 视SIM卡容量而定 | √ | √ | ||
其他数据 | 存储其他用户数据 | × | √ | 视SIM卡容量而定 | √ | √ |
读表之后,可能有的童鞋还是不太理解IMSI和ICCID的区别,我来举个栗子:
“IMEI”是你的身份证号,“IMSI”是你的学号,“ICCID”是你的门禁卡卡号,“MISDN”是你的代号(9527是你的终生代号~)。
入学时,教务系统会给你分配一个唯一的代号(MSISDN)、学号(IMSI),门禁卡卡号(ICCID),三者互相绑定。
你在任何地方的刷卡行为,教务系统都能根据卡号(ICCID)反查找到你;其他不熟悉的你老师也可以根据你校服上的代号(MSISDN)快速找到你(所以不要没事儿去撩秋香哦)。
如果某天你的门禁卡丢失了,去教务处补卡。你的学号(IMSI)不变,但是门禁卡卡号(ICCID)会变(因为更换了新卡,而每个卡的ID都是不同的)。教务系统中,重新绑定你的学号(IMSI)和门禁卡卡号(ICCID),新的门禁卡生效,旧卡失效。
毕业后,你的学号(IMSI)、学号短号(MSISDN)、门禁卡卡号(ICCID)作废。此过程中,你的身份证号(IMEI)都是始终不变的,伴随终生。
通过这个例子,相信大家对IMSI和ICCID等的关系有了一个较为清晰的了解。不过实际通信的场景,要比例子复杂得多。
通常情况下,只有用户在开卡时,才会使用到ICCID,其他场景不再使用该数据;通信时,设备使用KI加密后主动并上报IMSI等数据进行身份鉴权,鉴权成功后,ISP提供对应服务;补卡的时候,IMSI也会产生变化——不然会出现冲突,把另一个相同IMSI的设备踢下线。
Q:我要进行设备身份鉴定,使用IMEI/ICCID/IMSI哪个比较适合呢?
A:IMEI是设备固有的属性,不会因为SIM卡的变化而变化。可用作设备身份鉴定等使用;IMSI、ICCID是和SIM卡固有的属性,如果更换卡片,则对设备而言该数据会改变,不适合作为设备身份鉴定使用。
Q:为什么我买的物联卡没有MSISDN?
A:因为MSISDN不是通信的必须的数据。
Q:有的手机可以自动获取“本机号码”,我能用这样的手机去取得物联卡的MSISDN吗?
A:部分智能机可以自动获取“本机号码”,不是什么高科技——它只是在后台发了个短信,或者打了个电话,手机操作系统的服务器再把SIM卡MSISDN返回给手机。流量卡没有语音和短信功能,所以这个方法也无法获取“本机号码”。
(除非是某些智能机——如iPhone主动上报ICCID,否则不能提供ICCID反查IMEI、IMSI这样的服务)
Q:是不是所有的MSISDN都是固定位数?
A:不是所有的MSISDN都是固定的11位,物联网卡就是13位哦;
Q:既然没有MSISDN,那么怎么进行充值/充流量呢?
A:直接联系淘宝客服或尝试联系ISP电话客服寻求帮助。
Q:如果破解了KI,是不是能实现一号多机?
A:过去的“小灵通”由于资费低(语音包月制),便携性强,从而衍生了灰色产业链——破解KI实现一号多机;当然,也就会产生串号的情况了。
现在的部分SIM卡也能使用MagicSIM破解;
Q:为什么没有SIM卡也能拨打112?
A:如果设备没有SIM卡,则设备会搜索附近所有基站(所以信号不为0),尝试并拨号,如果号码在白名单中(如112, 911, 118, 119, 000, 110, 999等),基站会提供语音服务。
参考资料:https://www.quora.com/How-do-Emergency-call-works-without-any-sim-card
为什么SIM卡有那么规格?
N年前,iPhone4首次使用MicroSIM,惊艳四座,大家才发现原来SIM卡可以变得那么小。为了能用上iPhone4,很多人还练就了一手剪卡绝技。
而两代后的iPhone5,使用了“更激进”的NanoSIM,更是让大家“惊叹不已”。然而,由于卡片太小,剪卡已经行不通了。还好恰逢4G时代,运营商免费给用户换卡,所以就都直接去营业厅换成NanoSIM啦。不久的未来,iPhone Xs可能采用eSIM,连实体卡都没有了呢。
为什么看似普普通通的SIM卡还有那么多规格?剪卡到底是怎么回事?且听我慢慢说来。
通常情况下,大家以为的“普通SIM卡”,实际上是mini-SIM。真正的标准全尺寸SIM卡是酱紫滴:
有的童鞋可能会问,这种卡怎么用啊啊啊啊啊……90年代的大学生,也许会对宿舍的插卡电话还有比较深刻的印象:
没错,就是这种电话用的卡。很不可思议吧……
随着移动设备产品更新换代的需求,这种大体积的卡明显不能满足,所以才出现了体型更小的,更更小的,更更更小的SIM卡:
各种规格的SIM卡三围如下:
高 | 宽 | 厚 | |
Full-size | 85.6mm | 54mm | 0.8mm |
Mini-SIM | 25mm | 15mm | 0.8mm |
Micro-SIM | 15mm | 12mm | 0.8mm |
Nano-SIM | 12.3mm | 8.8mm | 0.8mm |
数据来源:https://socialcompare.com/en/comparison/sim-card-format-and-size-comparison
因为Mini-SIM的“留白”比较多,可以手工剪卡,使之成为Micro-SIM。但是Nano-SIM的体积很小,极容易误伤,导致设备不识别SIM卡。故此,不建议剪卡。
那么,什么是e-SIM呢?实际上就是把卡体的塑料部分去掉,直接把SIM卡的芯片焊到PCB板子上,从而实现通信的一种方式。因为e-SIM焊在板子上了,所以需要到运营商处“写号”(写入IMSI、KI等数据)才能使用。
华为watch, Apple Watch II、ticWatch等产品内置了e-SIM,所以可以实现自主通信,或者使用中国移动提供的服务,自助实现一号多机。
参考资料:《中国移动
“一号双终端”业务启动 SIM卡会消失吗?》https://www.cnbeta.com/articles/tech/732481.htm
为什么3G升4G要换卡?日后4G升5G是不是也要换卡?
为什么网络升级了,反而还需要用户换卡呢?毕竟换卡也是挺麻烦的一件事。实际上,这是LTE的鉴权方式变更造成的。
不过呢,各个运营商的网络制式不同,OTA卡、USIM卡的发卡情况也不同,所以有的运营商需要更换4G卡,有的不需要。不过为了KPI,所以基本上所有的运营商都让用户换卡了。
运营商 | 2G→3G需换卡 | 3G→4G需换卡 | 4G→5G需换卡 |
移动 | × | √ | × |
联通 | √ | × | × |
电信 | × | √ | × |
移动是2G GMS到3G TD-SCDMA,3G兼容2G的鉴权方式,不需要换卡;但是LTE不在兼容GSM的鉴权方式,所以必须换卡;
联通早在2012年就停止发OTA卡。因为3G WCDMA使用了新的鉴权流程,所以2G到3G必须换卡;3G WCDMA到4G LTE,乃至4G LTE到5G NR是不需要换卡的;
电信情况较为特殊,因为高通放弃了CDMA的4G演进,本质上CDMA只有3G EVDO。所以4G时代也只能选择LTE,故此需要换卡。5G基本上也和其他运营商一样,LTE演进到NR,这样就都没什么区别了。
为什么我的物联网开发板插了卡却不检卡 / 无法联网呢?
很多开发者在开发过程中,可能会遇到各种各样的问题。但是不论任何问题,都可以通过远程升级的方式解决。不过,如果是SIM卡问题造成的设备离线,远程升级也没有了用武之地。鉴于开发者经常会遇到因为SIM卡导致的各类问题,接下来咱们就详细说一说造成这些异常状况的原因和解决方法。
插卡不检卡
“明明已经把SIM卡插到板子上,怎么就没办法检测到卡呢?卡放到手机里都是好好的啊……”——对于这种情况,开发者应该认真阅读开发板的使用手册,根据开发板的说明正确用卡。通常,无法检测到卡大概率是因为把卡插反了;小概率是使用了物联网模块不支持的卡(如电信卡)造成的。
如果是偶发性的无法检测到卡,很有可能是接触不良导致的;此时应该认真检查卡体是否有形变,金属触点是否有锈痕,是否使用了不合适的卡托等。
为了方便大家排除故障,特列表格如下,方便大家有针对性地解决此类问题:
卡类型 | 病因 | 解决方案 |
实体卡 | 等待时间过短 | 上电开机后要等待一段时间才能检卡 |
实体卡 | 电压不匹配 | SIM_VDD输出电压不匹配,应重新设计电路 |
实体卡 | 间歇性不检卡 | 供电问题,或者接触不良 |
实体卡 | 卡插反 | 根据硬件使用手册的相关说明,正确插卡 |
实体卡 | 不支持的卡片 |
根据硬件使用手册的相关说明,使用支持的SIM卡 (如只支持移动/联通,插入电信卡是不能工作的) |
实体卡 | 卡面污损 | 使用橡皮擦除污痕 |
实体卡 | 卡生锈 |
使用细砂纸打磨后,再用橡皮擦除污痕。如果无效应换新卡 (如工作环境恶劣,应使用防水胶) |
实体卡 | 卡变形 | 卡背贴几层胶带,使之可以和弹针接触 |
实体卡 | 不合适的卡托 | 更换匹配的卡托 |
实体卡 | 卡已损坏 | 卡芯片异常等原因导致卡片损坏,应换新卡 |
实体卡 | 剪卡失误 | 剪卡失误造成卡片不被识别,应换新卡 |
eSIM | 贴反 | 根据硬件设计手册重新贴片 |
eSIM | 电压不匹配 | 重新设计 |
检测到卡,附着失败
“可以检测到卡,但是附着失败是怎么回事呢?”——对于这种情况,请从以下这几个方面排除:
病因 | 解决方案 |
卡欠费 | 充值 |
流量用光 | 充值,或等次月恢复额度 |
卡片不含流量 | 开通流量服务 |
信号差 | 信号差导致附着失败,应调整天线,改善信号强度 |
基站故障 | 报修 |
不支持的网络 |
如联通已经停止2G服务,应更换为移动卡 (某些国家的ISP也停止了2G支持,所以将出现此类问题) |
供电问题 | 供电较差导致电压跌落,模块自动重启 |
不在服务区 | 应更换测试地点 |
错误的APN | 填写错误的APN将无法正常通信 |
精确的流量统计
对于物联网应用而言,流量是相当“金贵”的。哪怕是一个设备每天多几百k的流量,几万个设备的小型应用,一个月也要多付出很多流量成本。那么开发者应该如何精确统计流量使用情况,将流量成本压缩到最低呢?
很多人都会,计算流量谁不会啊,用公式就行了:
单次流量 * 间隔时间 * 天 = 月流量
这个公式看起来很正确。但是,正是看起来的正确,才让很多人都陷入了误区——你无法精确计算每次握手的流量值,更无法预判在实际场景的流量消耗。设备的联网情况也是各异的,无法简单的套用公式求得精确解。
举例:某粒子第一纳秒以亚光速运动,其后收到碰撞静止,直到半衰期。那么此时不能说它半衰期前的平均速度是c/2,而是应该用宏观角度的“位移/时间”这种方式计算平均速度。
同理,计算流量,应该在多种场景计算平均值,而不是单纯的计算单次用量(计算用电量也是如此,而且还要考虑温度等多种因素)。譬如统计各种情况下的日、周流量,再扩大对应倍数,算得月流量(估)。
举个例子说明一下:
场景 | 日流量(M) | 周流量(M) |
信号强 | 0.95 | 6.73 |
信号弱 | 1.21 | 8.56 |
信号强–服务器间歇性停机 | 1.03 | 7.14 |
信号弱–服务器间歇性停机 | 1.52 | 10.24 |
平均值:1.178 | 平均值:8.168 | |
月(估):35.34 | 月(估):35.005 |
(示例中仅考虑了信号强弱和服务器停机情况对流量造成的影响。实际场景中还要考虑更多因素,譬如自动售卖机的日均客流变化、远程升级、新消息推送等)
的流量,才能维持稳定通信。35 * 1.05 = 36.8M从这个示例中可以看出,以不同情况下的日均值、周均值推算月流量近似。也就是说在这个情况下,每个月至少要保证单台设备有
有的童鞋可能会问,怎样才能减少流量消耗呢?改善信号(最大限度避免重连)、优化流程(减少不必要的通信)、动态调整心跳包间隔(根据实际场景代码自动调整心跳包间隔,而不是固定间隔心跳包)、压缩通信数据(删除不必要的通信信息,压缩数据),可以有效地减少流量消耗。
妈妈说,最重要的要放在最后压轴——v-SIM 虚拟SIM卡
上文说了那么多因为SIM卡问题导致不检卡、无法附着的情况。那么有没有办法一劳永逸的解决这些问题呢?
接下来,让我们以热烈的掌声,请出主角~~~
Duang~duang~duang~
v-SIM闪!亮!登!场!
掌声欢迎~
v-SIM,即virtual-SIM,虚拟SIM卡技术。特指没有实体SIM卡,完全靠通信模块自身软硬件实现通信的方式。
拥有v-SIM功能的通信模块,配合为v-SIM特殊定制的底层软件,实现了内置加密存储数据(IMSI、KI等)。在登陆网络、鉴权、通信时,自动处理相应的逻辑,从而实现不需要实体SIM卡也能提供稳定的2G通信体验。
因为v-SIM是使用了软件方式代替实体SIM卡,所以资费上,v-SIM和实体SIM卡是完全相同的。随着提速降费的推进,我们有理由相信,未来的流量费会更低。
因为不存在实体SIM卡,所以硬件上,也省去了卡座、卡托等成本,更方便布局,对于量产化是极大的优势。使用v-SIM,开发者可以更专注于程序的编写。再也不用分心处理用户把SIM卡插反,接触不良等原因导致的通信异常问题啦。
可能很多小伙伴对v-SIM并不了解,所以还是不太放心——毕竟SIM卡责任重大,如果v-SIM出现问题导致设备频繁断联,甚至离线,这个锅可是背不起的。那么,v-SIM体验是否和实体SIM卡一致?上层代码是否需要修改等等?在此小编可以负责任的告诉大家,各位童鞋的请放心,v-SIM的信号、通信体验和实体卡完全一样,甚至会更好;上层代码也不需要进行任何修改,既可体验v-SIM。
也就是说,实体SIM卡能给你的体验,v-SIM都有;而v-SIM能带给你的便利,实体SIM卡永远做不到。
既然v-SIM那么给力,哪里能体验到呢?上海合宙通信科技有限公司的Air2xx和Air8xx系列模块。这些模块都已经实现了v-SIM的支持(登录http://www.openluat.com/Product产品中心查看详情),亦可登陆openluat.taobao.com购买体验。还在犹豫什么,赶快行动吧!
更多关于vSIM的教程,请看这里:https://mp.weixin.qq.com/s/KWJsHft5kLD91k2gIX3Z9A