在前一篇文章 《从计算虚拟化到网络虚拟化》中提到,将虚拟私有云(VPC)中,各个网络节点互联的是通过虚拟网元实现的。那么,在现实中,谁扮演虚拟网元的角色呢?
让我们将时间轴拉回到21世纪的第一个五年。在VMWare WorkStation中,创立一个虚拟机的时候,自定义网卡硬件,有这样的选项:
如果我们创建多个虚拟机,并且均使用Bridged模式,那么,这些虚拟机将可以实现二层互通,也就是可以在同一个网段中互联互通,逻辑上等同于若干台物理服务器连接在一个二层交换机下。
在Linux下,这个机制叫Linux Bridge(网络术语中,Bridge等同于二层交换机)。由于Linux Bridge在功能和性能上的不足,在实践中,越来越多的用户使用OVS(Open Virtual Switch)代替Linux Bridge。而,无论是Linux Bridge还是OVS,都需要运行在服务器上,占用服务器的CPU资源。
类似地,vRouter,vFW和vLB都是可以以软件形式,运行在服务器上的。
在上图中,我们可以看到,数据中心中每个宿主机均运行了一个OVS,有些虚拟机上还运行了vFW和vLB。它们共同构成下面的OpenStack逻辑网络:
大家有没有发现以下几个问题:
1. vRouter物理上在什么地方?
2. 为什么vFW和vLB的逻辑位置和物理位置相差如此之大?
当我们为大家逐一揭开这些问题答案的时候,大家也就掌握数据中心SDN网络的奥秘了。