Friday, September 06, 2013

理解网络元素

这里谈的网络,是以互联网为代表的计算机网络。
现实的网络要远比人们想象的复杂,无论是从拓扑结构还是底层设备上。
理想的网络模型,交换设备(各层的交换机、路由器、网关)连通主机,而在实际中,还存在大量的其他类型的盒子,比如负载均衡、防火墙、IDS,等等等等。
在云计算数据中心网络中,各类带有复杂功能的盒子更多,更杂乱。
那么,如何理清各种盒子(网络元素)对于正确理解网络本身就十分重要。

从网络的主要功能角度出发来看,网络的存在是为了信息的交互,因此,其最根本的功能是转发。无论一个盒子是几层设备,它的功能都是某种意义上的转发。而且这个转发,对终端用户来说应该是透明的,即用户不应该也不需要知道中间的信息。源主机只需要知道目的主机的信息,然后把流量扔出去,怎么转发到目的主机是网络的事情。同样的,目的主机收到的流量,只知道是源主机发过来的,也不需要知道具体是怎么发过来的。

基于“网络的存在是为了转发”这一原则,可以把现在的网络元素分为三大类。
第一类是基础转发盒子(basic forward network element),代表设备为传统意义上的安全middlebox,一头进流量,处理完了,从另外一头扔出来。这类盒子的特征是转发的方式是固定的,跟流量无关的。
第二类是根据流量转发的盒子(traffic aware network element),代表设备为各种交换设备。这些设备往往有多个接口,各个接口之间如何转发并非固定,而是需要根据traffic 的内容(典型的是包头中的目标值)来进行“动态”决策。
第三类是高级智能盒子(advanced smart network element),代表设备为负载均衡系统等。这类设备不光需要检查traffic的内容,还需要考虑其它相关的因素,比如服务器负载情况,各种QoS情况等。

这三类盒子,越往上,功能越复杂,同时支持的网络协议层数往往也越多。现在middlebox在网络中很热门,因为使用middlebox往往可以实现十分复杂的处理功能,这些middlebox也大多都是第三类元素。随着技术的进步,可以预见,第三类盒子的存在将越来越多。特别配合SDN技术,对这些盒子的管理将更加容易和多样化。

当然,现在有很多盒子同时把多种功能做到了一起,但万变不离其宗,仍然可以从这三个层次去理解它。