记得去年面试一家人工智能的独角兽公司,面试官问我,你博士期间学到是网络,你觉得网络这么科学的精彩之处有哪些? 当时我记得我一脸懵逼,网络是一门科学么? 网络如果是科学,那他的理论基础是什么? 物理层的信息论,网络层的图论亦或是传输层的控制论么? 这些理论真的辩证统一了么? 博士期间,我虽然研究的是SDN和NFV,但发现其实这只是一个范式,具体还得深入传统网络的各个领域,比如安全攻防,比如流表优化,比如QoS, 但是每一个topic其实都博大精深,SDN真的能包治百病么。 正如那个面试官说,网络有那么多美丽的算法,怎么能说不是科学。
我其实当时并不是想否认网络的科学与否,而是觉得网络这门学科,学术界或者更明确的是国内的大学教育似乎与产业界脱节严重,学术界的自娱自乐和产业界的节点问题似乎远没有现在的AI那么紧密,正如去学习AI,你会去读 PRML 或者deep learning那本圣经一样,网络其实也有自己的巨著。我们很熟悉的比如 Andrew Tanbaum的计算机网络或者国内一些教材,这次我打算去读一读一些更有层次的书,比如这个 An Engineering Approach to Computer Networking, 比如 network algorithm, 比如 TCP/IP 详解的第二卷等等,这会是一个系列,如果我毕业还会继续网络相关的研究,它应该会继续下去,否则那也许就是另一个专栏的故事了。
这本书的1-5章,以作者 S Keshav的观点是通俗读物,我也是偷个了个懒,直接看了作者的2-4章ppt。第一章开篇名义,网络的本质就是信息数字化以后,如何去操作和移动这些bit。 然后作者以其丰富的经验,综述了电话网络,传统网络,ATM网络,再现了当年IP网络从电话网络的采样到存储转发是如何天才的设计。ATM是当时的网络架构设计者针对传统网络缺乏端到端的QoS保障而设计的。 它但基本特点:虚电路,固定大小的小数据包,统计复用以及集成服务。
以作者当时写书的年限,正是ATM网络还比较热的时候,可是一切规划完美,对于QOS支持非常好的ATM还是输给了尽力而为的IP网络,除了IP自己对于QoS,安全的一些自身补丁之外,他的简单,也就是传统网络架构设计的E2E原则,我认为也是一个关键。回顾这段网络架构的历史,再反思我们现在这个大数据的时代,无论是物联网还是云计算,我们对于网络设计的需求是否变了,是增加了新的需求,还是根本推倒重来。SDN和NFV能包治百病么,我们现在网络的关键问题在哪里。 我一直读网络的paper,总觉的SDN的研究热点从一开始炒几个应用到现在专注于数据平面和测量,而数据中心网络又在不停的改进TCP,至于QoS好像一直我也没有看到特别靠谱的文章去做这个,我虽然也有这方面的工作,但个人认为无论深度还是有效性都还差的很远。 我总觉得,SDN 既然让网络有了一个集中控制的智能,那么E2E的设计范式就肯定要修改, 但怎么去改,特别是传统的端到端和现在即使的可以控制路径,队列和调度 算法,设置可以去预测一些配置,这需要更多的思考。我希望自己后面能从传统网络的当时的设计挑战中走出来,得到更多的收获。
这个第一篇,算是开篇明义吧。