云网络架构
在传统的数据中心中,每个网口对应唯一一个物理机;有了云,一台物理网卡可能会承载多个虚拟网卡。物理网卡与虚拟网卡之间的关系无外乎就是下列三种情况:
一对一,一个物理网卡对应对一个虚拟网卡,是下面一对多情况的一种特例。
一对多,一个物理网卡对应多个虚拟网卡。
多对一,多个物理网对应一个虚拟网卡,即我们常说的 Bonding,用作负载均衡,冗余。
上图 2 显示了虚拟网络的主要内容:
目前,对网络的虚拟化主要集中在第 2 层和第 3 层
- 在 Linux 中,第 2 层通常使用 TAP 设备来实现虚拟网卡,使用 Linux Bridge 来实现虚拟交换机
- 在 Linux 中,第 3 层通常是基于 Iptable 的 NAT,路由及转发
- 对于网络隔离,可以采用传统的基于 802.1Q 协议的 VLAN 技术,但这受限于 VLAN ID大小范围的限制,并且需要手动地在各物理交换机上配置 VLAN;
- 采用虚拟交换机软件,如 Openvswitch(openstack中Neutron 使用),nsx(vsphere组件)可以自动创建 GRE、vxlan 隧道来避免手动去为物理交换机配置 VLAN, 构建分布式虚拟交换机。
云中构建的主要网络:
公共网络:用于云向外部租户提供 API 调用或者访问,一般也称为外部网络,可以接入互联网。
管理网络:用于云中各物理机之间的通信,在openstack中确实这样称呼,即openstack管理各物理节点使用的网络。在vsphere体系中称为工作网络,管理网络应该是管理员来远程操作物理主机的网络,当然在vsphere体系中这两个网络也可以合一。
存储网络:用于 iSCSI 服务端与客户端之间的流量。如果要做高可用,这是非常重要的网络。vsphere中vsan建立存储池用到这个网络。openstack中主要是cinder节点与物理设备建立连接的网络。
服务网络:虚机机之间使用的网络,纯虚拟网络且需要使用隧道技术在物理主机之间构建。
openstack和vsphere都在实现这样的云架构,由此向SDN概念进发。