什么是光模块的写码加密?

电子说

1.3w人已加入

描述

大家应该都经常听到光模块加密或者写码的说法,特别是一些大厂的网络设备,都要求用自己原装模块,否则就会怎样怎样的,那么到底什么是写码加密?各个第三方模块厂商,又是如何应对设备厂商写码加密的?是否可以破解?破解不了会怎么样?

如果光模块在设备中工作,因为对标准实现有差异,导致一起工作的时候不匹配,不是故意为之。但是写码加密导致的模块在设备上无法工作,那是故意为之。根据光模块的行业标准规范里面的定义,光模块里面有 2个区域各128字节的写码区,这两个写码区里面存放了厂商、型号、序列号,以及DDM信息(允许的电压、电流、温度、收发光功率范围以及实际采集到的这些数值)和兼容码等很多信息。

收发器通过2线制串行接口(SCL, SDA),提供有关当前操作条件的串行ID存储器内容和诊断信息,内存映射特定的数据字段,定义如下:

AOC

很多设备商,在交换机等网络设备里面,做了限定,光模块插进去之后,会通过交换机的IIC总线去读取光模块里面写码区的信息,通过这些信息,该设备可以判断出该模块是否是自己原厂的模块,如果它发现不是原厂的,就可以采取一些动作。这里不同厂商会有不同的做法,主要有这么几类。

1.不做任何兼容控制,也即是设备不去读取模块里面的兼容码来做判断,任何模块插上去都能用,基本上所有的白牌交换机厂商都会这么做,比如盛科网络,部分品牌厂商也都会这么做,有的大厂商的低端产品,也都不做写码控制。

2.会去检查模块里面的兼容码,从而判断是否兼容。但是由于兼容码是明文,任何第三方模块厂商都可以轻易获取到这个兼容码,这样这些第三方模块厂商出厂的时候,只要在自己的模块里面写上要兼容厂商的兼容码,就可以兼容。所以这种做法,相当于还是不设防。很多网卡厂商的部分或者全部产品,都是这种做法。

3.模块里面的兼容码是动态兼容码,是根据模块里面的一些信息,比如序列号,甚至是芯片里面的一些唯一ID ,然后通过特定的算法,计算出来后写进去的,这种情况下,第三方要破解的难度是比较大的但是只要能知道算法和所有的参与算法的字段以及存放位置,那也是可以的。一些大厂的部分产品,都是这种做法。对于上面2 和 3中要检查兼容性的厂商,一旦他们发现不兼容,又会有一些不同措施,有的是直接不 UP(相当于是说你不用我原厂模块,我就不让你工作) ,有的是会告警和/或让你看不到DDM信息(相当于是说你不用我原厂模块,我让你用得不爽)。当前厂商一般都用后者,属于比较温和的做法。这都不是技术问题,而是市场策略问题。

易飞扬拥有17年的第三方光模块制造经验,对目前市面上各品牌的交换机、服务器、板卡都有积极的去做兼容性测试,通过客户端测试、设备购回厂内分析等手段,完成兼容性验证。

写码器

光模块里面的写码区是有行业标准的(不同种类的光模块标准不同),设备(交换机、路由器、网卡等)跟光模块直接的接口也是标准的(IIC标准),所以理论上做个写码器出来是很容易的,写码器是模块厂商的必备品。而其实很多人不知道的是,交换机厂商也完全可以把交换机当做写码器来用,而且可以做到批量写码,因为交换机跟光模块之间也是标准的 IIC 接口,只是看交换机厂商是否愿意去做了,盛科网络的交换机就开放了这种能力。理论上写码器可以把 A 厂商的光模块写成 B 厂商的码,模块厂商为了防止有别人乱写自己的模块,都设置了密码保护,你不知道密码,写了之后,一旦设备重启或者模块重新插拔,写的码就丢失了。

易飞扬为满足客户在购买批量模块后,会应用在不同设备上的需求,推出SFP/XFP/QSFP/QSFP DD等不同接口和速率的云编码器,实现云端下载各兼容码的功能,让客户随时随地对手上的光模块做写码操作。

来源:阿光聊光

审核编辑:汤梓红

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分