在数据中心概念没有火之前,传统的网络都是二三层的网络结构。网络层级包括:接入层,汇聚层和核心层三大部分,接入层主要用于入连接各种终端设备和用户,汇聚层是一个大二层的汇合,核心层则主要是三层转发,不像现在数据中心简化成只有二层结构,接入和核心,并且核心也主张部署二层网络,在这样的网络中二层转发是最基本,也是最实用的技术。不过二层接入设备众多,封装VLAN可能会存在重合,因此就需要进行业务的区分,在城域网中,还需要对公网业务和私网业务进行区分,这样就需要一种封装的技术,对业务进行有效区分,因此就涌现出了不少二层封装技术。本文就是按照网络演变的过程,详细介绍一下这方面的主流技术。
QINQ技术
QINQ技术是一种VLAN封装技术,是诞生最早,也是目前在实际网络中应用最广泛的二层技术。QINQ技术非常简单,就是在原始报文的基础上,再增加一层VLAN TAG。我们可以在网络设备的入口使能这样的功能,然后通过下发一定的匹配规则,一般是匹配内层VLAN,也有的高级设备支持匹配IP头的内容,如果匹配上就在原始报文的基础上再增加一层VLAN TAG。这样报文带这双层TAG被送到了上游设备,一般路由器或者BAS设备都可以识别双层报文,对双VLAN TAG报文进行处理,回程流量同样,要将外层TAG剥离,将原始报文再送回到接入设备上去。由于QINQ技术出现的较早,最开始很多设备受芯片能力所限,仅能支持对一个端口所有报文打固定的外层VLAN TAG,后来又出现了灵活QINQ,对匹配了一定规则的报文打不同的VLAN TAG。灵活QINQ在二层网络中,尤其是运营商的城域网中得到了广泛的应用,就算在今天,城域网中也到处可见灵活QINQ的业务配置。后来灵活QINQ的技术也发展得越来越成熟,支持环路检测(在灵活QINQ网络中出现环路是比较令人头痛的网络故障),支持在QINQ上跑组播,支持在一个端口上既有灵活QINQ业务,又有普通VLAN业务,互不影响。QINQ技术的进步给城域网带来了极大的发展,使得城域网的规模快速扩张。虽然QINQ技术在企业网以及数据中心里应用得不多,但是不失为一种好处的技术,因为早期的数据中心规模都不大,不像城区网规模庞大,所以一般都不需要部署QINQ。
VLAN-MAPPING技术
有了QINQ技术,当然不能就高枕无忧了。其实QINQ技术在实际应用中也遇到了不少的问题,有些需求无法靠QINQ技术来解决。比如:有的客户需要对进入网络设备的报文VLAN TAG进行修改,而不是增加一层,将改变了VLAN TAG的报文再转发出去,回程流量还要改回去;有的客户需要对进入设备的不带TAG的报文直接打上两层VLAN TAG;还有的客户需要对进来的报文VLAN TAG打优先级,等等。这些需求QINQ都无法满足,这样VLAN-MAPPING技术出现了,能有这样的技术首先要感谢那些网络芯片厂商,是他们通过研发让芯片支持了这些功能。有了VLAN-MAPPING,那么使得二层封装技术应用更为灵活,可以解决一些特定场合,QINQ技术搞不定的问题。在如今的网络中,VLAN-MAPPING几乎可以和QINQ平分秋色,也得到了广泛部署使用。VLAN-MAPPING不再局限于新增VLAN TAG,还支持增多层VLAN TAG,改VLAN TAG,改VLAN TAG优先级等多种功能,极大丰富了二层网络的应用类型,以便可以满足不同用户的业务部署需求。
VXLAN技术
VXLAN技术这两年很火,成为各种技术论坛的宠儿。不过在实际的网络中,VXLAN既然处于初级阶段,虽然已经在一些大型的数据中心里,网络中得到部署,但是依然还没有达到广泛普及的地步。VXLAN也是一种二层封装技术,不过VXLAN是将MAC头封装在UDP报文中,其中有一个24BIT的VNI,可以用于区分不同的业务,24BIT要比12BIT的VLAN ID范围大得多。VXLAN的出现主要解决的还有跨数据中心二层互通的问题,通过部署VXLAN就可以解决,而QINQ和VLAN-MAPPING都无能为力。就算原来的QINQ/VLAN-MAPPING网络中,也可以用VXLAN实现业务隔离的目的,因为VXLAN的VNI范围就可以达到1600万。在如今的数据中心二层网络中,运营商和企业网中都已经开始考虑部署VXLAN,VXLAN不仅可以替代原始的QINQ和VLAN-MAPPING功能,还可以解决跨数据中心的二层互通问题,是未来二层网络隔离技术的主要发展方向。不过VXLAN技术目前仍属于实验,推广阶段,很多的网络芯片都不支持,而且VXLAN的兼容性不足。和QINQ/VLAN-MAPPING相比,VXLAN相当于新增了一个报文头,天价头部的多次封装又导致了传输效率的降低,同时技术的复杂性变大。跨数据中心的VXLAN要通过ISIS协议进行隧道的互访,说白了VXLAN已经是一种隧道技术,而QINQ/VLAN-MAPPING只不过在原始报文上稍加东西,两者技术实现已经出现了较大差别。VXLAN要考虑MTU的问题,而QINQ/VLAN-MAPPING一般只增加4字节的VLAN TAG,也不用考虑MTU问题。类似VXLAN的技术还有微软的NVGER和STT等,由于VXLAN是由VMware、思科、Arista、Broadcom、Citrix和红帽共同提出的IETF草案,这些都是各个技术领域的巨头企业,由这些企业共同提出显然非常具有说服力,因此VXLAN技术得到了最为广泛的认可,成为如此发展最为成熟的新二层数据中心技术,虽然一时间还无法完全替代QINQ和VLAN-MAPPING,但是已经开始有不少的用户接受VXLAN技术,并愿意去尝试用VXLAN技术。
任何一种技术都是有缺陷的,不可能做到尽善尽美。二层网络技术在演进,只不过是解决一些眼前遇到的问题,新的技术也不可避免的要引入一些新的问题。不管怎样,二层技术的进步,几乎代表了整个网络时代的变迁,是网络技术发展史上最为浓重的一笔。二层封装技术的出现,给整个网络应用业务部署带来了活力。随着二层网络的进化,一些技术逐渐淡出历史舞台,新的技术涌现出现,为网络增彩。
作者:何妍
来源:51CTO