本文欢迎转载,转载请注明出处和作者。
网络虚拟化
01-虚拟交换机
初期的网络虚拟化,是非常狭义的概念,主要指的是因为计算资源虚拟化,每台物理宿主机上安装了虚拟化软件,同时会部署了虚拟交换机,负责物理机上面承载的VM(虚拟机)之间与对外的通信。
这些虚拟机逻辑上都是接入到这台物理宿主机上面的虚拟交换机的,同一台物理宿主机上面同一网段的虚拟机之间间的通信,流量只会在这台虚拟交换机内部转发,流量根本不会通过物理宿主机的物理网卡网外发送到物理交换机上面。(不同网段的虚拟机之间的通信,流量会经过网关,而网关一般设置在物理交换机上,所以流量经过物理交换机)
虚拟交换机更多像一台傻瓜式的二层交换机,可以进行VLAN设置,将不同的虚拟机进行网段隔离。
VMware的虚拟交换机,分为标准交换机与分布式交换机。
01-1、标准交换机
标准交换机配置比较容易与简单,安装vSphere后默认就已经配置好,然后只需要在上面配置vmnetwork或者vmkernel,划分不同的vlan就可以试用了。缺点是每台ESXI宿主机的标准交换机都是独立的,配置是需要单独分开配置的。那么如果现在有100台物理机,就会有100台标准交换机。假设每台需要配置2个VLAN,那么就要手动配置2*100=2000次,效率非常低,非常麻烦。
01-2、分布式交换机
分布式交换机,就是用来解决上述需要手动单独配置的问题的,需要安装vCenter后才能进行分布式交换机的部署。分布式交换机,是会对同一个集群内的宿主机共享访问的,相当于所有ESXI宿主机,都接入到分布式交换机。那么所有的VLAN配置,只需要在分布式交换机上面配置一次,就可以了。然后把虚拟机的网卡选择对应的VLAN标签,就可以将虚拟机划入对应的子网。
02-大二层网络
随着云计算的发展,紧随虚拟交换机出现的网络虚拟化概念,是大二层网络,而不是SDN。
自从公有云的兴起,勇于尝鲜的企业,开始把部分不重要的生产业务往公有云上部署试水。在业务稳定运行一段时间后,企业对公有云能够提供高稳定性、高可靠性服务的信息逐步提升。
于是,越来越多的初创企业,直接选择把业务在公有云上部署,而不是自建机房/数据中心/在私有云上部署。而更多的企业,会选择把一部分不重要/数据不涉密的业务部署在公有云,对重要/数据涉密的业务,对外可访问/对外提供服务的服务器(例如WEB服务器)部署在公有云,而不对外提供服务的服务器(例如数据库服务器)部署在私有云。
此外,为了确保业务的连续性,大型企业一般会建多个数据中心(甚至两地三中心)进行业务多点部署/业务多活。
如何让公有云与私有云网络打通,以及如何让多个数据中心网络打通,准确点来说是如何让公有云与私有云/多个数据中心进行二层打通,成为了云计算时代的新问题。
02-01为什么是需要二层打通,而不是三层打通呢?
因为同一个业务应用里面的虚拟机,一般都会划分在一个子网里面(数据库服务器除外,一般会划入另外一个子网,然后与web等服务器的通信经过网关并且经过防火墙,来实现访问控制),虚拟机之间的流量直接进行二层交换,提升转发效率,整个子网设置统一的安全管理策略,对整个应用的允许/拒绝访问的IP及端口进行统一的设置。所以,子网的划分,为了方便通信与安全策略管理,一般是以业务为单位的,可以认为一个业务应用里面的机器,都在一个子网(二层)里面。
因此,如果需要将一个应用的部分虚拟机部署在公有云/A数据中心,部分虚拟机部署在私有云/B数据中心,为了整个应用里面的虚拟机能够正常通信与安全策略管理,需要将公有云与私有云/多数据中心进行二层打通。
02-02大二层打通的集中方式
1、裸纤直连
很多人可能认为,为啥搞那么复杂,平常两台交换机之间网线/光纤直连,不就是二层打通了吗?同样地,两个数据中心之间,交换机网线/光纤直连不就二层打通了吗?
确实,两个数据中心交换机光纤直连之后就二层打通了,但是存在如下的问题:
1)成本高。通常两个数据中心之间,都是相隔10~30KM的,所以自己拉光纤直连是不可能的(不可能自己到外面挖地敷设光缆),只能租用电信运营商的专线,而专线的费用一般较高,而且跨市的专线会更高。
2)不给拉/拉不了。除非你是体量非常大的企业/政府部门,否则你作为一个小客户,租用公有云,连公有云的数据中心到底真实地址在哪里人家都不会告诉你。更别谈你与运营商租了根专线,打算直接拉到公有云的数据中心机房里面。
3)广播包泛洪。传统的二层网络,是通过广播包泛洪的方式进行通信的。如果多个数据中心简单的通过二层直连的方式连通,由于机器太多,可能会导致二层广播风暴。
2、***
这种方式应该是使用最广泛的了。就是私有云与公有云建立***连接,然后实现公/私有云或多数据中心的某个业务应用/网段可以直接进行二层通信。
***方式最大的优势是便宜,几乎没有成本的增加。出口还是用原来的公网出口,而一般防火墙/交换机也带有了***的功能,可以直接利用。缺点是***的方式在封装与解封装数据包的过程,肯定会增加了开销导致了整体效率的下降,并且初始化配置与联调的时候,由于每家公有云使用的设备/技术可能会不一样,而导致了联调的过程比较麻烦。虽然理论上一旦打通了,就没有什么太大问题了。但是实际运营过程中发现,可能会经常出现断连、丢包等不稳定的问题,而一旦问题出现,要求公有云服务商配合一起排查是非常困难的。
3、跨站点二层打通技术
为了解决上面两种方式的不足,网络厂商们都推出了各家的私有技术,去解决跨站点二层打通的问题。
如CISCO在Nexus 7000交换机推出了OTV(Overlay Transport Virtualization)技术,两端的Nexus 7000交换机可以通过3层网络,使用OTV技术进行跨站点的二层打通。
同样,H3C也推出了类似的技术,叫EVI(Ethernet Virtualization Interconnect),实现跨站点(数据中心的二层打通)。
其原理主要是在交换机里面添加了功能,使得在3层数据包封装的时候,可以额外增加字段,然后将正常3层通信的时候,会丢弃的源二层信息(MAC地址、VLAN等)封装到新加的字段里面,相当于3层通信保留了源二层信息。当数据包正常路由到对端站点的交换机,由交换机强制将该新增字段里面的源二层信息拆出来塞回去数据帧里面作为源MAC地址,然后交给二层交换机们进行转发。
03-SDN
随着云计算的继续发展,SDN也出场了。
软件定义网络(Software Define Networking,SDN)是一种新的网络技术架构,其理念是分离网络的控制平面和转发平面,并实现可编程化的集中控制,以满足网络服务需求为目标,使应用/业务能够利用软件接口享有网络的能力,通过软件编程控制网络的行为。
03-01、Openflow
Openflow主张通过Controller,结合支持Oepnflow的交换机/路由器,实现控制平面与数据平面的分离。
Openflow设计了一个通用的flow table,支持各种场景的不同需求,同时这个flow table支持远程的访问和控制,从而达到控制流量的目的。
Openflow交换机将原来完全有交换机/路由器控制的报文转发过程转化为由Openflow switch和controller来共同完成,从而实现数据转发和路由控制的分离。
控制器可以通过事先规定好的接口操作来控制OpenFlow交换机中的流表,从而达到控制数据转发的目的。
03-02、IETF网络开放SDN
IETF的I2RS主张在现有的网络层协议基础上,增加插件(plug-in),并在网络与应用层之间增加SDN Orchestrator进行能力开放的封装,而不是直接采用OpenFlow进行能力开放,目的是尽量保留和重用现有的各种路由协议和IP网络技术。I2RS的路由系统需要发布网络拓扑和状态,通过网络元数据进行计算选路,并将相关结果传递给各设备的控制平面。路由器通过开放的API接口,给控制平面进行调用。但是设备仅仅是开放API接口,具体的控制功能等需要客户自行开发。
03-03、NFV网络功能虚拟化
通过统一的业务网关虚拟化与统一的硬件平台,将原来多种多样不同业务功能的设备,通过统一的平台来承载。
NFV主要是运营商主导的,其多样不同业务功能的设备,主要是指SGSN/GGSN、PE、BRAS等通信核心网与数据承载网的网元。以往不同的设备由于提供的功能不一样,需要单独购买不同种类、不同品牌的设备。而NFV标准出现后,可以通过通用的X86服务器、交换机、存储,搭配统一的业务网关虚拟化平台,实现将上述不同网元通过虚拟化的方式部署到通用硬件上,快读部署业务,统一管理。
03-04、Overlay
将网络服务与底层的物理网络设备解耦,从而创建灵活的虚拟网络。
即可以直接在虚拟化软件层面,部署虚拟化的网络设备,如前面所说的虚拟交换机(标准/分布式交换机),以及虚拟防火墙、负载均衡、路由器等。
这样的好处是:
1、如前面所说,由于同一台物理宿主机上同一个网段的虚拟机之间的通信流量,是不会出到物理交换机上面的,因此物理网络设备对于这样的通信流量(东西向流量)没有任何作用(包括防火墙、负载均衡等)。如果想要对东西向流量进行控制,就需要使用到虚拟化的网络设备。
随着云计算、多数据中心大二层互联,网络主要的流量从南北向流量向东西向流量转移。
以往不同机器的访问,或者跨网段的访问,都需要经过物理交换机/防火墙。现在通过虚拟交换机,可以直接将流量限制在了虚拟交换机内部,根本不需要经过物理设备。
而且overlay的SDN更厉害的是,网络策略是针对虚拟机设置的,而不是针对网络设备设置得,所以策略是可以跟随虚拟机迁移的。例如以往如果虚拟机在物理机A上,物理机接入的是级交换机C,上面可能又设置了关于该虚拟机所在网段的访问控制策略,而物理机B接入的是交换机D,而交换机D上没有设置该虚拟机所在网段的访问控制策略。那么一旦虚拟机从物理机A迁移到物理机B,就会完全没有访问控制策略限制,完全不受保护。
而在overlay的场景下,设置得访问控制策略,是直接跟随到虚拟机的,当虚拟机从物理机A迁移到物理机B,该访问控制策略都是会跟随虚拟机一同迁移的。
2、统一管理平台配置,避免不同设备之间配置出错。
其中VMware的NSX,CISCO的Nexus 1000V以及VSG等产品与解决方案,就是Overlay这一类。