”
“这就是测试。”
此话一出,周围的几个研究生顿时发出了低微的议论声。
不是说这人是走后门的吗?怎么还出个无解的难题,难道说这个女孩的后台还不够硬?
这是一个在当时看来几乎无解的工程灾难。不同的硬件架构,不同的操作系统,臃肿的协议层,加上那根细得可怜的电话线带宽。要在这种条件下实现流畅的数据交换,简直是让大象去跳芭蕾。
有人开始在草稿纸上推导排队论公式,试图证明当前带宽下的拥堵是不可避免的物理现象。
艾米没有动。
她站在那里,看着那团乱麻一样的线缆,看着屏幕上不断跳出的“request tid out”。
在那一瞬间,她仿佛不再身处东大这座冰冷的神殿,而是回到了加州那个充斥着披萨味和猫毛的车库,回到了那个莱恩·博萨克为了省钱而用极其粗暴的方式魔改路由器的午后。
“只要能跑起来”
她喃喃自语。
艾米走向那台工作站,拉开椅子坐下。
她没有去拿旁边的参考书,也没有去管那些所谓的“标准协议”。
双手悬在键盘上方,停顿了一秒。
然后,落下。
“噼里啪啦——”
清脆的敲击声骤然响起,频率快得惊人,像是一场急促的阵雨。
她调出了底层的网络配置,开始疯狂地删减代码。
砍掉冗余的校验位。
忽略掉那些为了“严谨”而设置的握手确认。
修改tcp窗口大小,让数据包像洪水一样强行灌入,不给网络喘息的机会。
丢包?那就丢吧。
乱序?到了终点再重组。
这是一种粗暴、野蛮、充满了“美国西海岸匪帮气息”的逻辑。它不优雅,甚至可以说是肮脏,但它只有一个目的——连接。
不管你是日立还是富士通,在数据流面前,众生平等。
时间被切割成了一行行幽绿色的c语言代码,在黑色的crt屏幕上飞速上涌。
机房里除了大型机沉闷的嗡鸣,只剩下艾米敲击键盘时那近乎暴躁的“噼啪”声。
她没有去碰那些厚重的参考书,而是直接调出了unix系统的内核源代码。光标在vi编辑器中飞速跳动,删除了标准协议栈中那些冗余的校验逻辑。
她正在做一件让在场所有学院派博士生都会心脏骤停的事——她绕过了标准的tcp拥塞控制算法,直接修改了底层的滑动窗口大小(dow size)。
为了适应那根细弱的电话线,她甚至写了一个原始套接字(raw socket)脚本,强行抓取调制解调器那微弱的载波信号,把数据包像子弹一样压进缓冲区,根本不给网络“喘息”和“握手”的机会。
sun工作站的散热风扇开始狂转,发出不堪重负的啸叫,机箱温度急剧升高。
屏幕上,编译器的进度条在缓慢爬升,跳出一连串刺眼的黄色“warng”。
艾米看都没看一眼。在硅谷的车库哲学里,只要没有“error”,警告就是废话。
一个小时后。
回车。
艾米重重地按下了那个键。
屏幕瞬间黑了一下,然后,一行行绿色的数据流开始疯狂地滚动,速度越来越快,最终连成了一片绿色的瀑布。
原本阻塞的传输曲线,瞬间拉升成一条昂首向上的直线。
pg值:200s100s50s。
通了。
不仅通了,而且快得不可思议。
站在艾米身后的几个研究生张大了嘴巴,像是看到了鬼。
村井纯不知何时已经站在了艾米的身后。他抱着手臂,盯着屏幕上那些虽然丑陋但极其高效的代码,镜片反射着幽幽的绿光。