希望到年,中国的网络研究者,CERNET的工作者,也能取得世界领先的成果,自豪地说出这句“我们做到了”!
——李星
李星CERNET网络中心副主任、清华大学教授
互联网技术进化:IPv6将成为新热点
谁更伟大?科学家还是工程师?
对很多领域来说,科学家发现了自然界的规律,而工程师在理解它之后,再依据规律去实现各种工程。这样看来,科学家的角色更重要。
但也有一个例外,那就是互联网。因为TCP/IP网络协议是工程师设计的,相当于创造了一个新的定律。实际上,无论是牛顿还是爱因斯坦,科学家们把物理空间中存在的某种规律发现出来,但真正规律的缔造者其实是自然界。而与物理世界相对应,网络则全然不同。在网络的世界中,工程师充当了“自然界”的角色。
但比起自然界,工程师创造互联网似乎更难,因为工程师是人,而人对问题的理解力总是有限的。
互联网是没有“设计蓝图”的,从诞生之日起,就在一步一步演进,拥有“设计原则”和“技术组件”这两个属性。
设计原则
互联网的本质是无中心的分布式系统,可以说,这是互联网“以不变应万变”的设计原则。
年,美国的保罗·巴兰(PaulBaran)提出分组交换概念,其核心就是分布式无中心的拓扑结构。
年,法国的路易·普赞(LouisPouzin)提出Cyclades网络结构。他认为,用户终端不应该相信网络是可靠的,因此网络可以不完美(也不可能做到完美),由此产生了互联网的主要设计原理:尽力而为,端到端。
年,温顿·瑟夫(VintCerf)等互联网先驱将原始的互联网传输控制协议(TCP)的功能分为两个协议:TCP和IP,最终形成了著名的TCP/IP的沙漏模型。
图1TCP/IP沙漏模型
具体来看,互联网设计原则可以总结如下(详见RFC):
1.网络协议必须适应异种机之间的互联;
2.依靠标准选择某一个方法;
3.具有很好的扩展性;
4.找到性能、成本和所能实现的功能的平衡点;
5.保持简单性;
6.模块化;
7.不要等待找到完美的解决方案;
8.尽量避免选项和参数;
9.在发送时应严格,在接收时应宽容;
10.小心处理自己没有请求而收到的分组;
11.避免循环依赖性;
12.对象应该能够自我描述,必须使用由IANA授权所使用的编码;
13.任何协议都应使用统一术语、注释、比特和字节顺序;
14.只有当实现了几个能够运行的程序后,Internet的协议才能成为标准。
技术组件
互联网的“组成模块”是指具体的技术。由于有了不变的设计原则,互联网的组成模块一步一步演进。如果以十年为一个周期,在互联网的不同发展阶段,有着不同的代表性技术热点。
年代,最重要的技术是NCP;
年代,最重要的技术是TCP/IP;
年代,是DNS、BGP;
年代,WWW出现,最重要的技术则是HTTP;
年代,因受斯诺登事件影响,加密的HTTPS广受