这群人搞出了“流浪地球”都没敢想的网络技术
浅友们好~我是史中,我的日常生活是开撩五湖四海的科技大牛,我会尝试各种姿势,把他们的无边脑洞和温情故事讲给你听。如果你想和我做朋友,不妨加微信(shizhongmax)。
文 | 史中
(一)“流浪地球”里的 Bug
我觉得,《流浪地球2》里有个隐藏很深的 Bug。
它的高潮情节是酱的:人类要去炸月亮——把3000颗核弹像月饼摆盘一样放在环形山里之后,发现自动引爆装置没法用,必须改成手工操作。
于是,地球联军中50岁以上的老兵自告奋勇出列,手握引爆器慷慨赴死。
他们坐在自己负责的核弹旁边,靠手上的表来协调时间,同时引爆。
在电影院看到这一段的时候,左右的妹子都在抹泪,作为科技宅的我却忽然出戏:
“这群老兵。。。看样子岁数也不小了,就算没人因为紧张而看错表,但每个人的神经系统真的可以保证以同样的速度把脑神经的信号传递到手上,神同步按下按钮吗?”
核弹爆炸的速度,想来是挺快的——隔壁已经炸了,这边还没来得及触发,就瞎了呀。。。
脑洞收不住了,我开始魔改剧情:就算从地球上甩根网线来控制核爆,这个问题依然存在啊!你怎么保证信号跨越几十万公里,仍然确定一定以及肯定能分秒不差地到达各个核弹呢?
就像酱↓↓↓
直到片尾字幕走起,我还在纠结这个问题。
回到家,我立马开始网上冲浪,世界上到底有没有一种技术,可以保证信号“说曹操到曹操一定准点儿到”?
我去!还真的有,名字叫“确定性网络”。
更科幻的是:虽然这个技术理论上早已存在,但全世界只有一个国家把确定性网络给实际做出来了。
这个国家就是中国。
我立马不困了,刨根问底找到了搞出“确定性网络”的原班人马,他们来自新华三。
咱就说,现实中,需要炸月球的机会好像不是那么多吧。。。那新华三的老师傅为啥要费劲搞这个东西呢?
难道是为了赞助《流浪地球3》么?
我决定冲过去跟他们聊聊。
(二)网络,不能只说“我尽力了”
我面前的这位大咖,叫刘新民。他是新华三集团副总裁、技术战略部总裁,也是这次“确定性网络”研发的带头人。
跟他一聊我才发现,“总裁”之类的职称涵盖不了他的全部身份,我愿称他为:中国网络技术的老法师。
在他身后,其实是一部恢弘的中国技术创业史:
早在2003年,新华三的前身(华三)成立时,热血的刘新民就作为第一批奠基技术人加入,研发中国人自己的“交换机”。就这样一穷二白地死磕全球巨头,后来愣是把产品卖遍了半个中国。
这么说吧:但凡你聊过QQ、上过淘宝、搜过百度,你的数据就很可能被新华三的交换机转发过亿万次。
怎么样,这么一唠感觉和老法师亲近了不少吧?
刘新民
欸,差点跑题。
逮住这样一位大牛,是有正事儿请教的。我赶紧问:你们搞这个“确定性网络”,除了炸月球,到底还能干啥用?!
“你用过 VR 头盔吗?”刘新民笑着问我。
“你知道在什么情况下你会晕吗?”他接着说。
我还在一脸懵,刘新民已经开始科普:
从你主动转头,到眼前画面移动,中间延时只要大于20毫秒,你就会晕。
现在的 VR 的“画面计算工作”主要由头盔自身完成。将来到了“元宇宙”,画面变得更精细,肯定需要把画面放在云端计算。那时,网络传输就会成为瓶颈。
如果画面传到你的头盔,延迟一会儿大一会儿小,眼前的景色忽快忽慢,你能受得了么?
“哦我懂了。。。确定性网络是用在元宇宙里的肥宅快乐技术!”我说。
额。。。当然不止是这样!
就拿 工厂 来说,现在的工业设备大多是在厂区里本地控制,信号比较稳定。但是将来“工业互联网”继续发展,很可能需要对分布在全国各个城市的生产线 统一调度 。
信号在这么广阔国土上传输,“跑丢”或“迟到”的可能性就很大了,必须有一套确定性网络来保证它“使命必达”。
自动驾驶也是类似的道理,未来的 汽车 一定需要 “车路协同” ,就是把“车自己看到的情况”和“整条路上的情况” 联合计算 。
因为路况瞬息万变,每时每刻都得拿到最新的数据才能保证安全,这也是确定性网络典型的用武之地。
还有智能电网控制、远程手术、金融区块链。。。
老法师滔滔不绝。
你可以放大看一下,这张图显示了一个“鬼探头”场景:此时轿车由于视线遮挡看不到那个人即将横穿马路,如果对面监控探头里的数据能够通过“确定性网络”瞬间和汽车同步,就能避免车祸。
“欸不对,”我打断老法师,“既然你们新华三已经研究了N年网络技术,为啥现在普通人用的互联网‘确定性’还这么差呢?”
刘新民笑笑:“基础设施需要评估成本和收益。你想想看,咱们一般上网看网页、聊天、打游戏,信号快一点慢一点影响不大,所以没有必要增加成本来保证信号的确定性。
用我们的专业术语讲,这种流量叫做 ‘尽力而为流’ ,就是网络尽力给你搞快点,但如果中间网卡了,大家也得认。”
经过他解释,我才意识到,现在咱们用的互联网有点像“绿皮火车”,列车时刻表神马的就是个参考,什么晚点、临时停车,都是常有的事儿——只不过大家都习惯了。
看在网费挺便宜的份儿上,网页打不开就多等几秒,信息发不出去就多转几圈呗。
但是!!!一个国家要进步,哪能只靠“尽力而为”的绿皮车?得有“使命必达”的高铁啊!
确定性网络,就是这个高铁:一个信号发出,就像“和谐号”冲出车站,每一站都必须严格遵循时刻表,慢了就输了。
当年正是因为有了遍布全国的高铁基础设施,各行各业的旅客才敢严丝合缝地安排自己的行程,商务效率打着滚地提升;
同样的道理,有了“确定性网络”传输数据,我们的工业互联网、车路协同智驾、金融区块链才有机会挑翻天花板,做出让全世界惊掉下巴的创新嘛!
话是这么说,但现实很骨感。
把时间拉回到2021年,物理世界的高铁已经遍布中国,网络世界的高铁却还一片荒芜。。。
眼看时代的浪头正在翻涌,呼唤着勇者用一行行代码积沙填海——刘新民和新华三的同事们,就这样成为了第一批驾舟搏浪的人。
(三)天上掉下个大机会
“放心,只要给我们机会,我们肯定能拿出最好的技术方案!”
2021年春天的一次拜访,刘新民两眼放光。
他对面坐的,是南京未来网络集团的负责人。
有的浅友也许不熟悉,我多介绍一句:
未来网络是一家非常特别的企业,承担着许多国家重大科研任务。这些年它主要就在忙一件事儿——把最先进的网络技术从书本理论变成所有人触手可及的现实,然后把这个“国之重器”提供给支持国计民生的重要行业来用。
当时对方无意中透露,他们非常看好“确定性网络”技术,正准备建设一张试验网。工程很宏大,需要物色同样有情怀有技术的团队一起参与。
刘新民一听,天赐良机!
首先,他有自信,在中国搞网络技术,没人搞得过新华三这群老法师;
其次,新华三的“主航道”是做那种市场大、回报明确的产品——在当时很难靠一己之力投入建设一张短期看不到回报的“确定性网络”,找人合作最为稳妥。
这个机会,逮住就绝不能撒手啊!!
带着这个激动人心的使命回到北京,等着大家夸奖的刘新民。。。却被兜头浇了盆冷水。。。
反对的同事其实也有道理:
“眼看新华三的研发同事们忙得脚不沾地,这技术不是一般的难,天知道要投入多少兵力才能搞出来。况且你这个确定性网络虽然有用,但起码三五年后才用得到呀!咱们有必要现在就扑上去么?”
刘新民倒也不急,跟大伙儿唠:“你们忘了2008年的事儿了吗?”
大家当然不会忘记。
2008年,正是中国互联网的黄金时代,为了应对汹涌而至的亿万网民,各大巨头争先恐后地建设数据中心。
别看现在说起来数据中心,大家都觉得没啥,但当时这么大规模的数据中心,就跟“行星发动机”差不多,全人类都是只听过没见过——怎么让数据在盘根错节的内部网络里畅通无阻地传输,老法师也得摸着石头过河。
这是2008年人们在网吧里玩穿越火线,他们每时每刻都在向腾讯的数据中心发送消息。
当时的刘新民,正好带队为互联网公司服务,他们搞出了一个黑科技,叫“无阻塞架构”交换机——在极端复杂的传输场景下,仍然保证每个数据的传输时延不超过200毫秒。
但客户马上吐槽:“现在的数据传输量大是大,但哪有那么大?用国外品牌的普通交换机来弄,本来也不会超过200毫秒,人家牌子还大,我凭啥要买你这国产交换机?”
他一脸淡定:“别着急,我了解了一下你们端口的平均数据流量,估计再过半年,国外的交换机就会到极限。我们只不过把研发做在了前面,将来你们肯定会来找我!”
老法师的话,果然一语成谶。
几个月后,对方紧急找刘新民,点名要买华三的“无阻塞交换机”。
因为就在这小半年间,中国互联网又双叒发生了一次核爆式增长,世界第一的网络设备已经“臣妾扛不住”了。。。
正是因为老师傅的先见之明,华三高性能交换机势如破竹进入了各大互联网公司的核心机房,不仅把国际巨头的市场份额吃下大半,还把华三送上了中国网络硬件的第一梯队,慢慢壮大成了今天的新华三。
新华三的“数据中心交换机”长这样
大伙儿从甜蜜的回忆中回到现实,老法师提醒:“你看,历史的大潮有时候比我们想象中来得更快,既然相信未来,就应该提早做好准备啊!”
这么一番痛陈革命家史,虽然还有不少人半信半疑,但总归同意把“确定性网络”立了项。
说到这儿,有的浅友会撇嘴:别光吹牛啊,你新华三到底有啥底气,就这么肯定能把确定性网络给做出来呢?
他们手里还真有大杀器。
(四)最最亲民的“网络高铁”
郭道荣,是新华三技术研究开发部的一位技术专家,他同样是第一批加入新华三的技术人。
凭着“两耳不闻窗外事,一心只想搞研究”的必杀技,二十年间他下饺子似的钻研出了很多创新方案。
郭道荣
就在当时,他和技术战略部的程作品正在研究一种创新的“端到端”确定性网络技术。
啥是端到端嘞?
简单来说,就是在整张网络之上安一个“大脑”,从 起点到终点范围内,所有节点的细节状态 都由大脑统一掌握、统一调度,不就能保证信号传输的确定性了吗?
没错,就是这个技术,被刘新民看到了,踏破铁鞋无觅处,大杀器得来全不费工夫!
稳妥起见,他赶紧让郭道荣和程作品带着老师傅们搭环境搞了个实测,验证数据显示——延时抖动居然可以控制在20微秒之内。
抖动20微秒是啥概念?
假设一个信号应该在“T”这个时间到达终点,那么它实际到达终点的时间就在“T±10μs”之间——通俗来说,最慢比T多10微秒,最快比T早10微秒。
这很牛吗?
举个形象的例子,这大概相当于北京到上海的高铁,1300公里,总共要开5个小时,但抵达时刻的误差却只有±0.009秒。
就是这么牛。
“当时看到这个结果,我腰杆一下子硬了,虽然人家未来网络还没最终敲定和我们合作,但我们的数据绝对比别人有优势!”刘新民对我说。
看到这,你已经有点儿感觉了吧。别急,真正厉害的还在后面:
这个确定性网络方案,不是仅仅能跑“确定性流”,它还能用空闲的运力跑“尽力而为流”!
这是啥意思?
假设一趟高铁有5个座位,但这一趟发车的高铁旅客没那么多,只坐了2个旅客。
此时,可以把本来坐绿皮车的旅客临时“升舱”到剩余的3个空座里,带他们一起飞!
讲真,这可比真实世界的高铁“亲民”多了!
相当于我虽然只买了绿皮车票,但有机会“中奖”坐高铁走,简直不要太爽,建议现实世界的高铁学学。。。
不开玩笑,这个设计的意义其实非常重大:
如果高铁只能拉高铁旅客,那么它就是“专列”——在“确定性流”不够多的时候,运力就会闲置。
一个动不动就会闲置的东西,性价比肯定不好,又怎么能成为改变世界的神器呢??
理儿是这么个理儿。但是,为了把高铁旅客和绿皮车旅客捏在一起,老师傅却得付出极为凶悍的技术努力。
原因是酱的:
现有的“绿皮车铁路”,名叫以太网,以太网从设计之初就没考虑“使命必达”这个问题,毕竟信号慢了、丢了,重发就行。
而要实现用一套系统同时运输“绿皮车旅客”和“高铁旅客”,就必须基于以太网“魔改”出具有确定性的“高铁系统”。(而不能另搞一套新铁路。)
就像酱↓↓↓
大家都知道,“改装”一个玩意儿往往比“新买”一个都贵。
但刘新民觉得,这种贵是技术上的贵,是一旦突破就能一劳永逸的“短期的贵”,长远来看绝对是性价比更高的更亲民的方案。
做一个阳春白雪的艺术品从来不是他的目标,他要做的,是未来人人都能使用的皮实耐操的 基础设施 。
而这套 基于以太网 的确定性网络方案 性价比极高 ,恰恰能支撑新华三宏大的野心。
仔细盘点了这套独门功法,刘新民信心百倍,跟未来网络的同事大胆敲定:
就在2021年底,给你们看东西!
就这样,老师傅们上路了,他们身上只有三柄短剑:坚实的代码、老司机的经验,以及迎接未来的热忱。
(五)五个魔法
之前说过,确定性网络就像高铁,而高铁不只有“始发站”和“终点站”。 它还有“经停站”。
也就是说,信号会经过N个站台。
老师傅们要解决的第一个问题就是——这个站台,谁来当?
换句话说:整张网络中每一段的转发任务,交给哪种硬件设备来承担?
这里就不得不佩服一下新华三的“家底儿”了,在网络设备这个大海里游了二十多年,他们家各种重量级的选手都有:
从“不太聪明但力气大”的中低端交换机,到“既聪明力气又大”的高端路由器,全都化好淡妆排成一排任君挑选。
经过海选面试,老师傅挑中了一款高端路由器。
这款路由器长这样,是不是比你想象中大?
这个路由器最特别的地方是,它的“脑”非常给力——既有小脑,又有大脑。。。
所谓小脑,就是网络处理芯片(NP),它像火车司机,可以熟练地做出“发车”动作;
所谓大脑,就是可编程智能芯片(FPGA),它像检票员,可以判断出面前这个“旅客”到底是“高铁旅客”还是“绿皮车旅客”,还能根据旅客手里的“票”,决定让它上哪一班车。
说到这,你可能有点着急了——卖了半天关子,路由器内部到底发生了啥,才能让数据分秒不差地抵达嘞?
接下来,咱们就讲这个最硬核的部分。
程作品把这里的核心操作归为“五大关键技术”。我把它变成“五大魔法”讲给你,争取让你不用理解枯燥的技术,也能感受到其中妙处。
第一大魔法——“对表”。
在网络世界里,数据是以“报文”的形式传播的,咱们把每个报文都当成一位“旅客”吧。
网络传输的过程是这样:
假设一位旅客要从北京到上海,中间会经过5个路由器,每个路由器都相当于一个“站台”
旅客会在每一站都下车,然后重新登上这一站发出的列车;
就这样“击鼓传花”,最终抵达上海。
既然要保证旅客在规定时间到达上海,那首先就得保证各个站台的表是一样的啊!
所以在第一次“发车”之前,大家都会对表。
程作品提醒我,这里各个“站台”的表不需要调到绝对一致,只需要相对一致——所有的表在同一时刻跳秒——就够了。
为什么这样就够了呢?后面会解释。
接下来是第二大魔法——“选路”。
旅客要从北京到上海,但条条大路通上海,究竟选哪条路最快呢?
这个时候,需要派出一个先遣队,把所有路段都跑一次,然后把各个路段的延时、抖动等指标都回传到北京的“调度中心”,调度中心就能选择一条最合适这位旅客的通路。
注意,这里说的最合适包括两个要求:
一个是“路途短”,从北京到上海,当然不能绕乌鲁木齐一圈儿,要选择一条近路。
一个是“有空座”,春节抢过票的浅友肯定深有体会,路途近不一定能抢到票啊。为了春节能准时到家,有时候你还真得选一条稍微绕远但是有座的线路。
接下来就到了第三大魔法——“出票”。
在“尽力而为”的绿皮车世界里,旅客的票有点像地铁票,你只要持票进站,地铁是不管你上哪趟车的,高峰期这趟上不去,就等下趟。
但是在“确定性”的高铁世界里,旅客的票必须精确到车次和座位。让你这趟车走,就保证这趟车上有你的地方。
所以,进站之后,列车员会给旅客一张带有“时间戳”的车票。
检票员看到旅客(报文)的时间戳,就会让它上车。
注意,这个高铁可不会等人,时间到!发车!
列车开出去之后,就用到了神奇的第四大魔法——“换乘”。你可要看仔细喽!
注意,旅客手里这张“票”是负责北京到上海全程的,但中途要换车。而且一直用这同一张票。
如果我们站在北京到上海之间的某站,比如“郑州”,你会看到一个奇妙的场景:
由于火车以光速运行(信号传输用的是光纤),一趟一趟速度非常快,所以郑州的站台上经常会混合着几趟车下来的乘客。
但是别担心,这里不会发生混乱。因为检票员只要看一眼旅客们车票上的最初出发时间,就能按照先后顺序把他们排到新的列车上。
这里也解释了前面“调表”的问题:
各个站不需要把时间调成绝对一致,因为站台只需要知道不同旅客进站的相对时间差,就足够把旅客排排站了。
就这样,无数旅客虽然一个站一个站地换车,看上去一团乱麻,但每个站内部都是“秩序井然”的。
就像酱↓↓↓
最终的结果就是,最早从北京出发的旅客,也最早到达上海。
当然,这里还有些有趣的小细节。
比如,一个乘客到达北京站台,可上一趟车刚走,它就得原地等待一趟车的间隔;
还有,一个乘客有可能上车时排在车头,换乘后却被排在了车尾,导致上下车的时间又差出了一趟车的间隔。
所以,这位乘客最倒霉的情况就是:
出发时坐在第一趟车的车头,抵达终点时坐在了第二趟车的车尾——差出了两个间隔。
由于每趟车的间隔一般是10微秒,所以最终旅客抵达的误差就是10微秒的两倍—— 20微秒的抖动,也是这么算出来的。
看到这你可能会问:不是五大魔法么,怎么才用了四大魔法,已经把旅客送到了呀?
欸,你不要 忘了,这个高铁可是同时乘坐“高铁旅客”和“绿皮车旅客”的,刚才咱们说的都是高铁旅客,绿皮车旅客是啥时候上车的嘞?
很简单,因为每一班高铁到点就开车,就在关车门之前一段时间,如果高铁旅客还没坐满,就直接从绿皮车站台上随机“薅”过来一些旅客塞到高铁空座上。
所以,在每一趟列车出发的那一刻,已经装满了两种旅客。
这就是第五个魔法——“升舱”。
肿么样,是不是又快又稳又准又狠,票价便宜还亲民?
以上这些,就是确定性网络的技术实现。
不难理解吧?
但是,只有技术推演还不够,得有人把代码一行行给写出来呀!
这个节骨眼上,老师傅们遇到了一个尴尬的局面:
他们所在的部门只有将,没有兵——新华三的开发人员都集中在开发部,但是如前文所说,人家的开发任务确实已排得满满当当,老师傅们协调了好多次,愣是没办法“加塞”。。。
眼看时间分秒流逝,已经到了7月,距离年底验收只有小半年了,开发进度还在缓慢推进。这么搞下去,有可能收卷的时候题还没答完啊。。。
刘新民气得跟大伙儿拍桌子,有关前途命运的项目,怎么能这么涣散呢?!但转念又一想:屠龙须用宝刀,大事儿估计得上狠人!
他大手一挥,揪来了一位狠人。
(六)“狠人刷脸”vs“芯片雕花”
朱仕银突然被放在确定性网络项目负责人的岗位上,内心多少是有点蒙圈的。
他是技术战略部的技术总监,当时正在其他项目上忙得飞起,本来抽不开身。但刘新民可不管那么多,因为只有他最合适。
首先,朱仕银和刘新民历经各种团队并肩作战了好多年,是不折不扣的老伙计,一个字,靠谱;其次,朱仕银这么多年一直负责产品的开发流程和质量控制,产品从0到1过程中的沟沟坎坎他都门儿清;最重要的是,朱仕银和开发部的同事们很熟悉,他出马刷脸,想必效果拔群!
新华三的企业文化主打一个“革命战士是块砖,哪里需要哪里搬”。
于是朱仕银二话没说踩着风火轮杀进项目,跟大家讨论技术方案之后,发现自己至少得去两个地方刷脸:
首先,要去找路由器的硬件开发团队——在硬件上调整一下“微码”,相当于把路由器的“缰绳”交给调度系统来控制。
其次,要去找软件开发团队——他们要写出一整套控制“缰绳”的调度系统嘛。
“相信我,未来各行各业一定都需要确定性网络的功能。今天咱们集中力量开发完,将来全国客户肯定点名抢咱的路由器!”
“什么?再等等?别等啦,万一错过机会损失可就大啦!”
“什么?实在忙不过来?看在老同事的份儿上,就给安排安排呗!”
在各个团队负责人面前,朱仕银都是如此一通晓之以理动之以情,胡萝卜大棒全都上。
那段时间,脸都快刷秃噜皮了,确定性网络的研发进度终于有了确定性。。。
朱仕银
可朱仕银还是不放心,多年踩坑的经验告诉他,没有哪款产品的研发是一帆风顺的,尤其是这么一个大家都没有做过的技术,想要不踩坑,那比中彩票还难。。。
这不,正说着,坑就来了!
这第一个坑,就是“站台结构不合适”。
数据在各个芯片之间流动,讲究的是个秩序。
就像我们进火车站一样,要按规矩进行各种安检、排队验票,候车之类的。这套流程下来,顺利的话要花几百微秒,慢的话甚至能到1毫秒。
就像酱↓↓↓
你想想看,之前的路由器都是为“尽力而为流”设计的,多几百微秒,少几百微秒,本就无所谓;
但现在,如果高铁旅客抵达时间都要精确到几十微秒,还跟“普通旅客”一起挤在一套误差在几百毫秒的安检流程里,那肯定不行。
肿么办?
老师傅们商量了一下,决定修改车站布局,让拿着高铁票的旅客(确定性数据)一进站就走“VIP 通道”,省去繁琐的流程,直接检票上车!
就像酱↓↓↓
刚搞完“车站装修”,接下来一个更棘手的坑就来了,那就是“高铁乘客”和“绿皮车乘客”会抢座位。。。
你看,之前的调度设计是酱:
在高铁开车前,如果还有空座,就去揪几个“绿皮车乘客”上来填空,对吧?
但是,假如调度员刚把座位填满,就来了一个满头大汗的踩点儿到达的“高铁乘客”。
高铁乘客说我是VIP,你得把座位让给我,绿皮车乘客说,列车员刚让我坐在这的,我不让!!
这咋办?
你的初衷是想保证运力不闲置,结果最后把最该运送的旅客给拒之门外,这。。。不合适吧?
于是,老师傅们又是一顿研究,想出了一个折中方案:
每节车厢都预留几个空座,宁可空着也不给绿皮车乘客坐。一旦有压点儿到来的高铁乘客,得嘞,这座儿就是您的了!!
像这样的“补丁”还有很多,它们都化作一行行代码,依次打在系统之上,调度系统日趋完善。
为了赶在年底前交货,老师傅们马不停蹄地开始内部测试。可这一测,一个“难以启齿”的问题暴露了出来——高铁的“站台空间”不够大。
这是啥意思呢?
确定性报文的转发,是由大脑(FPGA 芯片)安排的。
但问题是,路由器上的 FPGA 芯片缓存有限。
本来旅客要根据自己票上的“时间戳”在站台上依次排队,但如果这一批旅客都比较胖(报文比较大),排着排着就会发现地方不够了。。。
就像酱↓↓↓
有浅友会说:这还不好办?加大一点儿缓存不就行了。
这正是难以启齿的地方:
因为加大缓存,要用到更贵的芯片,只是为了这点儿缓存空间而为每个路由器增加几十美元的成本,显然违反了“亲民”原则。
所以你看,技术实现只是万里长征的第一步。真正做一款产品,要受到很多现实情况的制约。。。
这可怎么办呢?老师傅们好几天都没有找到最优方案。
那天,大伙儿商量到天都黑了。老师傅们决定结伴去楼下做核酸。正在排队时,有人突然说,大冷天排队做核酸不科学啊,要是能给每人发个号就好了。。。
这句吐槽一下子点醒了梦中人。
老师傅们一合计:对啊,报文没必要在芯片里排大队!我们可以通过动态指针,给报文“发号”。
拿到号之后,报文就可以灵活地找自己的空间,轮到它出发的时候,只要检票员喊号就可以啦!
就像酱↓↓↓
当然,这里我只是用了一个不太精准的比喻,真正芯片里的调度原理比这个要复杂得多。
老师傅开发这段逻辑,要在方寸之间的芯片上辗转腾挪,难度堪比在芯片上做微雕。
总算把这段代码“雕”完,老师傅一抬头,时间已经到了11月底。眼看客户测试的日子迫近↓↓↓
(七)“登月”
朱仕银听到了一个惊悚的消息。
客户说的“年前测试”,不是阴历春节,而是提前到了阳历元旦。
届时,要在山东省的济南、青岛、临沂等几大城市实地布置路由器,然后真刀真枪地测试网络延迟抖动。
但朱仕银还算蛋定,因为经过秋天的攻坚,确定性网络的基础功能已经打磨完成,只是遗留了一些参数问题:
例如:“不同情况下列车上空座该预留多少”、“一段线路上客流达到满载的百分之多少就要让调度系统换路”、“旅客胖瘦(报文大小)不同时应该怎样优化调度规则”之类的。
参数没搞完,倒不是老师傅有拖延症,而是它们很难通过理论计算出来——必须在真实的确定性网络环境里跑一段时间才能拟合得更准。
“等到把网络布置在客户的实际环境里,再调试参数也不迟嘛!”朱仕银想。
然后他就听到了一个更惊悚的消息。
客户不是自己测试,而是找到了第三方测试机构—— 中国信息通信院—— 来测 试。
这有啥惊悚呢?
因为第三方测试机构,不会允许你在测试过程中把参数改来改去的,必须提前调好一把通过。。。这种考验,对于一个初生的系统来说,简直是地狱级啊。。。
朱仕银瞬间不那么蛋定了。
这场测试好比登月——虽说很难,谁都没干过,但你还只许成功不许失败。
要是一堆工程师满头大汗地调了半天参数,还没通过测试,那新华三“网络技术一哥”的光辉形象不就塌房了么??
危急时刻,朱仕银突然想起一个骚操作:
当年阿波罗13号执行登月任务的时候,登月仓突然出现问题,二氧化碳浓度飙升。
幸亏 NASA 有先见之明,在地面上提前复刻了一个1:1大小的登月仓,上百个科学家在地球上一起想办法,才帮天上的飞行员研究出了修复方案。
电影《阿波罗13》里,NASA 在地面上鼓捣和登月仓里一样的模组。
他决定向 NASA 学习,在北京机房里,复刻一个微缩版的确定性网络,如果山东现场遇到问题,北京工程师就一拥而上。。。
嗯,计划通!
就这样,他们把新鲜出炉的“调度系统”刷进路由器,测试队伍手提肩扛,坐着(现实世界的)高铁来到了山东。
济南架设完毕!青岛架设完毕!临沂架设完毕!测试开始!
屏幕上的数据如心电图般开始跳动。。。数据不能说和预期略有出入,简直是完全不同。。。
你没看错。当时信号跨城传输,就像没有经过调度一样,确定性非常差——精心布置的高铁系统,凭空消失了!!
朱仕银脑袋里嗡地一声。
他赶紧跟老师傅一起调出后台数据,一言不发地看了十分钟。然后,他转过身来。
“我们的设备,没有问题。”朱仕银斩钉截铁地说。
“啥?”对方有点懵。
“我们的设备,没有问题!一定是网络通路中的其他原因导致了数据传输受阻。”朱仕银说。
看到新华三的人这么笃定,客户赶紧联系基础网络服务商,让他们查查配置。
很快,调查数据传回来——基础网络服务商在济南到青岛出口关卡上没有开启“透明模式”,这导致新华三的调度指令在那里被“海关”截留了。。。
服务商把配置修改正确。本来风急浪高的网络,一瞬间平波万里。
在北京待命的团队本来都快背过气去了,山东网络调通的消息一传回来,老师傅们立刻发出比登月成功还响亮的欢呼。
但事儿还没完。别忘了老师傅是干啥来的:他们必须保证所有参数恰到好处,才能让抖动小于20微秒。
整个测试实际上分为几十个“测试用例”,前后持续一周。每个测试用例刚搭建好的时候,新华三的技术人有机会调试十几分钟。
就是利用这个宝贵的时间窗口,山东现场和北京后方的老师傅踩足了油门,根据现场产生的有限数据,把半辈子的经验灵魂附体,直接“盲猜”参数。
把参数改进去之后,立刻撒手,交给测试人员测试。
这个动作,像极了大师光速转魔方。。。
这样的战斗节奏重复了几十次,亿万趟“网络高铁”在广阔的齐鲁大地上奔跑,直到最后一班“高铁”准时靠站,最后一个测试用例收官。
“从测试完成到产出报告,中间需要一周。但是测试完成的时候我就知道,肯定通过了!”朱仕银笑。
如果回顾现场,就在老师傅的喧嚣奔忙里,人类在跨越千里的物理世界中首次搭建出了基于以太网的“确定性网络”。而恢弘的奇迹诞生时,当事人往往顾不上为自己喝彩赞叹。
不过,刘新民可不想沉浸在这种虚幻的“恢弘”之中。
他很清楚,如果“确定性网络”不能在未来几年尽快渗入真实的工业、金融、消费场景,哪怕建造得再雄伟,它也仍然只是个“旅游景点”。
把真正的“乘客”请进高铁,才是更艰巨的历史使命。
(八)一个执念
2022年,老师傅们上了一次新闻联播。
未来网络敲定了和新华三的合作之后,就马不停蹄地开始扩展确定性网络的应用场景。
那年夏天,他们做了一次更激进的探索,在南京和贵阳之间,用确定性网络传输“大数据”。
为啥传大数据就激进呢?
当然,对于确定性网络来说,无论传输的是“控制信号”还是“大数据”,在它看来都是旅客,没啥区别。
但是,如果说“控制信号”的传输像是步枪发射子弹,那么“大数据”的传输就像是加特林机枪——又多又密。这种操作,相当于对确定性网络来一次“极限挑战”。
不过,老师傅的系统经受住了挑战,这次实验作为“东数西算”领域重大的技术突破登上了新闻联播。
我截了一张图,你找到新华三的 Logo 了吗?
看到两年前还只存在于纸面的技术,如今登上了新闻联播,老师傅感觉有点梦幻,但又没那么激动。
因为他们心里还有个“大执念”。
“目前为止所有的尝试,都还是在一个专门搭建的封闭网络上实现的,这样能承载的用户终归有限,发挥不出来我们混合调度的最大优势。我们心里最理想的状态是:就在现有的中国开放广域网上直接实现确定性传输!”
刘新民解释。
“在广域网上实现确定性,难道不得把全中国的路由器都换成你们新华三的吗?!”我问。
“这样当然好,但不现实。”他说。
“可行的方法是形成一个统一的技术标准,大家一起去遵守。但标准制定也需要时间,在这之前,我们还可以采用一些折中方案,比如在首尾两端分别安装一台新华三的路由器,只靠这两个点做调度,也能大大提升数据的确定性。”
聊到这,我突然发现,他在陈述一个古老却经常被人忽略的真理:
搞出新技术固然难,但更难的是如何让新技术牢牢抓紧已有的地层,与旧地层血脉相通,并在上面继续生长出新的肌体。
程作品告诉我,一旦信号经过广域网上的各种设备传输,就像小船经过莫测的太平洋,不稳定的情况一定会发生,他们必须提前研发黑科技应对这个问题。
其中一个黑科技,就叫“多发选收”。
万一在确定性网络传输中,某个路段突然出现物理故障,即便第一时间探测到故障,马上换路重走,也会造成信号短暂的停滞,抖动会超过20微秒。
这种情况,就是“多发选收”的用武之地。
在发射端,选择2条或者3条不同的通路同时发出信号;
接收端同时接收到2-3份重复的信息,但只用一份就够,剩下丢弃。
这样的好处是,当某个信号通路断掉时,接收端仍然可以从剩下的备份通路里马上选择一个信号来用,从而保证 使命必达 。
我一听,好家伙,这。。。不就是《流浪地球》里著名的“饱和式救援”么?
原来无需他求,最科幻的事情正在身边发生啊。。。
眼看确定性网络的屠龙宝刀日臻光亮,刘新民这几天正在积极奔走,准备把山东200家企业作为“第一批旅客”接入进来。
只有当确定性网络首次承载真实的工业生产时,它才不再是“技术玩物”,而是成为肩负使命的无比真实的 “基础设施” 。
虽说“200家企业”相对于“开放网”的执念还有不小的距离,但他们却一如既往地信心满怀。
“变革来临往往是一夜之间,它不会和你提前打招呼。我们能做的,不就是时刻准备嘛?”他的语气很平静。
告别一众老师傅,正是北京的春天,天空碧洗,仿佛能看到九重天外。这让我又想起“流浪地球”。
毕竟,那个故事发生在35年后的2058年。有这样一群老师傅日夜努力,到时我们一定能有更加使命必达的确定性网络。炸月球,也许不需要那么多牺牲了吧。
我想起电影里那句台词:“我们的人,一定可以完成任务!”
我忽然发现,所谓“我们的人”,当然不只是拯救世界的中国敢死队,也不只是像新华三老师傅这样朴实的技术人,而是每一个忠于自己使命的人,甚至是每一行忠于自己任务的代码,每一个忠于自己使命的报文。
毕竟,当每一颗原子都忠于职守,世界不就使命必达了么?
注:在把用户请进高铁那张图里,我用到了一个 mfer 的表情包,感兴趣的盆友可以阅读《mfer 简史》。
我们的网络
一定可以完成任务
再自我介绍一下吧。我叫史中,是一个倾心故事的科技记者。我的日常是和各路大神聊天。如果想和我做朋友,可以搜索微信: shizhongmax 。
哦对了,如果喜欢文章,请别吝惜你的 “在看” 或 “分享” 。让有趣的灵魂有机会相遇,会是一件很美好的事情。
Thx w ith in Beijing
评论