有想过吗?为什么科技发展到了人人自大的今天,依然也只是围绕着一块带喇叭的屏幕,iPad,iPhone,Google Glass,无一例外。
从小时候记事人们低头看报纸,听收音机,到如今人们戴着耳机低头看手机,都是一回事,随身带按摩器的却没有。可见,声和光传递的信息量相比别的,要大很多。
其实还可以更往前。
智人对声和光的感知让智人区别于动物。
几万年前石器时代的歌舞和壁画,诉诸于听觉和视觉,与如今的视听感受没有本质区别。
为什么不是触觉,味觉,以及嗅觉?
声和光的非接触特征使其具备了几近无损的长距离信息传输能力,嗅觉感知的是微小颗粒,本质上还是接触感知,更不必提触觉和味觉。
本质上,声音和图像传输的是编码,这与触觉,味觉,嗅觉不同。后面这些依靠与信息源的接触来获得感知,而视觉和听觉接触的只是媒介。
当你听一个声音或看一个物体,你可以自动调整接收比特率,当需要更多细节时,才需要侧耳倾听,瞪大眼睛,否则可能只是瞥过。
当你去会所按摩,你无法自己调整感受力度,你必须告诉技师重一点或者轻一点。
当你闻到一股味道时,你无法假装没有闻到。
…
由于声和光只是媒介,便可自行编码,这便是语言和文字,让智人成为智人。将信息属性和传输过程分离,这是信息可编码的前提。从此以后,人们听到的任何声音,看到的任何影像,均是编码。结果是,人脑自然进化出先进的编码解析和处理能力。
听觉,视觉可以用类似傅立叶变换的方式处理声与光的层次感,这种层次感是情感的源泉,比如音乐和绘画,怒吼与美颜。对于触觉,人很难感受同时不同部位的触感,触感本身即信息,对于混杂的嗅觉,味觉,能感知便只有五味杂陈了。
听觉和视觉可承受有损,靠的是大脑长期进化得到的FEC能力,换句话说,声和光传输的都是模式,通过匹配记忆中的模式,大脑可以自行恢复损失的部分(俗称脑补…),传输的只是一个字典索引,模式即字典本身。
…
上述这段文字几年前我就想写了,我曾经抱怨再高端的手机也无非是一个带喇叭的屏幕,通过设备我们很难模拟吃饱的感觉,也很难闻到王致和的香气。
我一直没有写,因为我觉得这是常识。今天在提前回家(为儿子过生日)的路上写下这段是为了抱怨另一个事情。
听觉和视觉从来不重传单独的帧,但是会请求以更高的比特率整体重新传输一次,为什么TCP不这样呢?如果说TCP已经是TCP,为什么没有一个类似听觉或视觉接收协议这样的传输协议呢?总体来讲,我抱怨的是网络传输协议太复杂了。
将信息特征和传输过程分离,不再要求传输中保序,这是“大脑”考虑的。协议载荷自带FEC,不再重传,如果FEC失败,则显式要求丢失的部分。让应用逻辑用自己的方式去感受编码,而不是去感受传输。
人们花了大量的精力去预测拥塞,去恢复丢失的数据包,恶之源是:
- 应用逻辑无法接触传输过程。
- 传输协议假设了编码的属性。
随着数据量的增加,传统传输行为早晚会压垮整个互联网。对互联网而言,我倾向于向我们自己学习。但对于数据中心网络,却存在另一个矛盾。
一方面,云原生,微服务让应用和数据分散在各处,另一方面,互联网的经验又倾向于将应用和数据集中cache在就近,本意是降低传播时延,却增加了数据通路,而传播时延在数据中心网络则可忽略,于是人们纷纷去研究“数据中心的拥塞控制”等本不该存在的课题,相当于用人之间的交互等同于大脑内部神经元之间的交互。我记得侯世达在《我是怪圈》这本书里谈过这个话题。
任何类型的分组交换网都是为尽力而为传输数据包而存在的,它们的职责也仅仅是尽力而为传输数据包。三类网络:
- 中间互联网,也就是广域网。
- 最后一跳,大部分是Wi-Fi网络。
- 第一跳,数据中心网络。
三者特征各不相同,没有传输策略让三者同时最优,极简处理方式就是取最大公约数。
就像耳朵和眼镜,仅仅感受基本的声光元素,解析编码的工作留给大脑,对于传输协议,应用逻辑就是大脑的角色。
socket没必要把部分指责交给附着的连接,这句话的意思是socket没有type,没有protocol family,本来可以用UDP组合成超猛超能的多路径传输协议,接收端可选重排序也可以不排序,可以NAK也可以ignore,但由于TCP的存在,这件事变得不易。
TCP/IP将传输载荷分为流和数据报,这件事本身就不对,本应该很简单的网络,变得越来越复杂,这就是恶果。
反过来也一样,本来也没什么对和错,没得选时,唯一的就是对的,静悄悄地,就有了传输层。我想表达什么?分层模型适合工程,却不适合进化。不多说了。
安德森先生的生日,下午提前回家,地铁一小时,作文一篇,第一次在路上写完一整篇。
浙江温州皮鞋湿,下午进水不会胖!