思科软件定义访问:实现基于业务意图的园区网络
上QQ阅读APP看书,第一时间看更新

3.2 数据转发平面

软件定义访问通过使用虚拟可扩展局域网(VXLAN)技术构建叠加网络的数据平面。VXLAN封装和传输完整的二层数据帧并横跨底层网络,每个虚拟网络由VXLAN网络标识符(VNI)进行标识。VXLAN封装还使用SGT字段对网络进行微分段。

RFC 7348定义了使用虚拟可扩展局域网(VXLAN)作为在三层网络之上叠加二层网络的一种方法(见图3-4)。使用VXLAN,可以使用UDP/IP在三层网络上对原始二层数据帧进行标记并进行隧道传输。每个叠加网络都称为VXLAN网段,并使用24位VXLAN网络标识符进行标识,最多支持1600万个VXLAN网段。

图3-4 RFC 7348 VXLAN

软件定义访问网络交换矩阵使用VXLAN数据平面传输完整的原始二层数据帧。另外使用位置/标识分离协议作为控制平面来解析终端到其所在位置的映射关系。软件定义访问网络交换矩阵采用VXLAN报头中的16个保留位,以便传输多达64000个可扩展组标签,详细信息请参考VXLAN-GPO规范。

VNI实现了三层叠加网络到虚拟路由和转发实例的映射。而二层VNI实现了VLAN广播域的映射,二者均可为每个虚拟网络提供隔离数据和控制平面。可扩展组标签承载用户的组成员身份信息,并在虚拟网络内部提供数据平面微分段。

VXLAN需要一个底层的传输网络(底层网络)承载,在连接到网络交换矩阵的终端之间提供通信,使用底层网络数据平面转发。图3-5展示了VXLAN封装网络中的数据转发平面。

图3-5 网络交换矩阵数据转发平面操作

软件定义访问网络交换矩阵不会更改二层或三层转发的语义,并且允许网络交换矩阵的边缘节点执行叠加路由或桥接功能。因此,边缘节点提供了一组不同的网关功能,如下。

(1)二层虚拟网络接口(L2 VNI)。在这种模式下,来自L2 VNI的数据帧将被桥接到另一个L2接口。桥接将在桥接域的情境中完成。L2网关的实现将使用VLAN作为桥接域,并将L2 VNI作为VLAN的成员端口。边缘节点将在VLAN中的L2 VNI和目标L2端口之间桥接通信。

(2)三层虚拟网络接口(L3 VNI):在此模式下,来自L3 VNI的数据帧将被路由到另一个L3接口。路由将在路由实例的情境中完成。L3网关的实现将使用VRF作为路由实例,并将L3 VNI作为VRF的成员端口。边缘节点将在VRF中的L3 VNI和目标L3接口之间路由通信。

为了提供客户端移动性和子网的“拉伸”,软件定义访问利用了分布式任播默认网关(如图3-6所示)。这将在网络交换矩阵中的每个边缘节点上配置三层接口(默认网关)。例如,如果在网络交换矩阵中定义了10.10.10.0/24子网,并且为该子网定义的默认网关是10.10.10.1,则该虚拟IP地址(具有相应的虚拟MAC地址)将在每个边缘节点上进行相同的编排。

图3-6 分布式任播默认网关

这大大简化了终端部署,便于其在网络交换矩阵基础架构中漫游,因为默认网关在任何网络交换矩阵的边缘节点上都是相同的。这也优化了通信转发,因为从终端到其他目标子网的通信总是在第一跃点进行三层转发。而对于一些传统的(非网络交换矩阵)拉伸子网解决方案,需要将流量在远程位置进行三层转发。

此外,底层网络可用于向叠加网络中的二层广播域内的终端传送多目标通信。这包括网络交换矩阵中的广播和多播通信。软件定义访问网络交换矩阵中的广播通信被映射到底层网络的多播组并发送到该广播域中的所有边缘节点。下面将详细介绍这一点。