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

第3章 软件定义访问运作方法

3.1 网络控制平面

在软件定义访问网络交换矩阵中,控制平面节点跟踪所有连接到网络交换矩阵的终端并将其记录到自身内置的数据库中,并负责以下工作:

(1)注册连接到边缘节点的所有终端并跟踪它们在网络交换矩阵中的位置;

(2)响应网络元素关于网络交换矩阵中终端位置的查询;

(3)确保当终端从一个位置移动到另一个位置时,通信流量被重新定向到当前位置。

请参阅图3-1显示的控制平面操作。

图3-1 网络交换矩阵控制平面操作

(1)边缘节点1上的终端1将注册到网络交换矩阵的控制平面节点。注册包括终端1的IP地址、MAC地址和所在位置(在图3-1中是网络交换矩阵边缘节点1)。

(2)边缘节点2上的终端2也将注册到网络交换矩阵的控制平面节点。注册包括终端2的IP地址、MAC地址和所在位置(在图3-1中是网络交换矩阵边缘节点2)。

(3)当终端1要与终端2通信时,边缘节点1将查询网络交换矩阵控制平面节点,以定位终端2。

(4)获得答复后(终端2的位置位于边缘节点2),它将使用VXLAN封装来自终端1的通信,并将其发送到终端2(通过边缘节点2)。

(5)一旦流量到达边缘节点2,它将被解封装并转发到终端2。

(6)当终端2要与终端1通信时,同(3)。

软件定义访问控制平面协议完成端点的映射和解析时,使用了位置/ID分离协议(LISP)来完成该项任务。LISP协议的优势在于不仅提供了基于IP地址作为终端设备的端点标识(EID),还提供了一个附加的IP地址作为路由位置标识(RLOC),两者结合起来表示该终端设备所在的网络位置。EID和RLOC组合为通信转发提供了所有必要的信息,即使端点设备使用了固定的IP地址并出现在不同的网络位置也是如此。与传统网络中的IP子网与网络网关一一对应的耦合关系不同,网络交换矩阵控制平面将端点标识与其所在位置解耦,这使同一IP子网中的地址可以在多个三层网关之后使用。在图3-2所示的例子中,子网属于叠加网络的一部分,它们被拉伸并且跨越了网络物理上分离的三层设备。RLOC接口是在同一子网或不同子网的终端之间建立连接所需的唯一可路由地址。

图3-2 LISP

RFC 6830和其他相关RFC将LISP定义为网络架构和一组用于实施IP寻址和转发的新语义的协议。在传统IP网络中,使用IP地址将终端及其物理位置标识为路由器上分配的子网的一部分。在启用LISP的网络中,一个IP地址用作设备的终端标识符(EID),另一个IP地址用作路由定位器(RLOC),用于标识该设备的物理位置(通常是EID连接到的路由器的环回地址)。EID和RLOC相组合,可为流量转发提供必要的信息。RLOC地址是底层网络路由域的一部分,而且EID可以独立分配,不必与位置相关。

LISP体系架构需要一个映射系统来存储EID并将其解析为对应的RLOC。这类似于使用DNS来解析主机名的IP地址,也类似于前面提到的VXLAN数据平面中的VTEP映射。EID前缀(带有32位“主机”掩码的IPv4地址或MAC地址)连同其关联的RLOC一起注册到映射服务器中。当向EID发送流量时,将源RLOC查询发送到映射系统以确定流量封装的目的RLOC。与DNS一样,本地节点可能没有网络中所有终端的信息,此时需要询问映射系统的相关信息(采用拉取模型),然后将信息缓存以提高效率。

虽然在部署软件定义访问网络交换矩阵时不需要完全理解LISP和VXLAN,但了解这些技术如何支持部署目标是很有帮助的,包括LISP架构提供的优势。

(1)网络虚拟化,使用LISP实例ID保持独立的VRF拓扑。从数据平面的角度来看,LISP实例ID映射到VNI。

(2)子网扩展,可以将单个子网扩展到多个RLOC中。将EID与RLOC分离后可以跨不同的RLOC扩展子网。LISP架构中的RLOC相当于VXLAN中的VTEP功能,用于在三层网络中封装EID流量。因此,可以跨多个RLOC实现任播网关,即便当客户端跨扩展子网移动到不同的物理连接点时,EID客户端配置(IP地址、子网和网关)也可以保持不变。

(3)较小的路由表,只有RLOC需要在全局路由表中可达。本地EID缓存在本地节点上,而远程EID则通过会话学习获知。会话学习过程只在转发表中填充通过该节点通信的终端。借助此功能可以高效利用转发表。

在图3-3所示的例子中,两个子网属于重叠网络的一部分并且跨物理上独立的路由器扩展。RLOC接口是属于同一子网或不同子网的终端之间建立连接所需的唯一可路由地址。

图3-3 子网拉伸示例