之所以说 Tesla 是一个移动终端,并不在于那块 17 寸的屏幕,而是因为它抛弃了 CAN 总线,取而代之的是用以太网作为「神经网络」。以太网不仅在 Model S 内部构成了一个「局域网」,同时可以对接到外部网络,成为互联网的一部分。这与之前封闭的 CAN 总线是有质的区别的。
在之前我曾多次提到过这一事实,本文就结合一位 Tesla 车主的发现来剖析下,一辆 Model S 的内部信息传输的结构究竟是怎样的?为什么说它是一个互联终端、一个移动的「局域网」?
故事是这样的:美国一位 Tesla 车主好奇心很重,他把一根以太网线接到了自家 Model S 的 4 针接口(作用类似于 OBD),经过反复试验后成功读取了这个「局域网」的一些基本信息,甚至在 17 寸屏幕上运行了火狐浏览器。其发现梳理如下:
Tesla 使用的是 100Mbps 带宽的以太网;传统的 CAN 总线的最高传输速率为 1Mbps;
Model S 车内的以太网络有 3 个硬件终端,一个是 12 英寸的仪表盘、一个是 17 英寸的中控屏,还有一个未知,我推测可能是电池组;
三个终端的信息传输协议是 UDP,使用的 IP 是 192.168.90.0 的子网地址,这是一种级别低于 http 或 ssh 的传输协议,现实中应用的例子有 QQ 等即时通讯软件;
Model S 上的通信设备与服务用到的应用层协议有:22(SSH),23(telnet),53(open domain),80(http),111(rpcbind),2049(NFS),6000(X11);
信息传输规则与 CAN 总线一致,即一个终端向整个网路发送信息,其余所有终端均可接收,但只有需要此信息的终端才会真正接收;
该局域网没有进行信息加密,可以读取到 Ascii 码头,还可以看到一些二进制代码;
17 寸大屏幕上搭载的操作系统是一个经过改良的 Ubuntu,使用的是 ext3 文件系统。
看了上述总结,想必各位也就理解为什么说 Tesla 是一个移动终端、一个移动局域网了。以太网(物理层)、操作系统(即 UI)、应用层协议以及传输层协议,这构成了一个移动设备的基本框架。从这个角度,能更好地理解「Tesla 是四轮电脑」这一定义。
至于为何要采取 100Mbps 的以太网线,我认为主要原因有两个:一是便于与外部网络对接,构成互联网的一部分;二是能够支撑巨大的信息量,要知道仅 Model S 的两块大屏幕就会消耗很多的带宽,从而也能理解为何 Tesla 要采用 Tegra 这样的擅长 GPU 运算的芯片。
有趣的是,这位车住把自家的车给「破解」之后,接到了 Tesla 工程师的电话。对方要求他停止这一可能涉及「商业间谍」性质的行为,称可能会影响到保修问题。
对此,我的看法是:如果手机越狱不犯法,那么越狱汽车也不应该定性为违法行为。如果这是一辆租赁的 Model S,那么强制破解一定会触犯法律,但如果这是一辆拥有所有权的车,那么想干什么这是车住自己的事情。
以下附上 Model S 车内 3 个数据终端的接口信息:
– Central console(中控台):
PORT STATE SERVICE
22/tcp open ssh
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
2049/tcp open nfs
6000/tcp open X11
MAC Address: FA:9E:70:EA:xx:xx (Unknown)
– Dashboard screen(仪表盘屏幕):
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
6000/tcp open X11
MAC Address: 36:C4:1F:2A:xx:xx (Unknown)
– Unknown device(未知设备,或许是电池组):
PORT STATE SERVICE
23/tcp open telnet
1050/tcp open java-or-OTGfileshare
MAC Address: 00:00:A7:01:xx:xx (Network Computing Devices)
有趣的是,这位车住把自家的车给「破解」之后 「车住」 是故意的么?
越狱手机顶多会造成手机内容泄密,越狱汽车可能会造成不可控的安全隐患,这两者应该还是要有一定区别,不能简单的等同对待的。
网线已准备好,就差台特斯拉了。
有点意思。。。
有点意思。。。