一种VDC场景下NAT与专网路由共存的实现方案

2020-10-26 06:36蒋天超沈世元
广东通信技术 2020年10期
关键词:网路插件网关

[蒋天超 沈世元]

1 前言

虚拟数据中心(Virtual Data Center,简称VDC)是将云计算概念运用于互联网数据中心(Internet Data Center,简称IDC)的一种新型的数据中心形态。它把传统IDC业务与云计算技术相结合,通过统一的云平台管理系统、应用虚拟化、自动化部署等技术,来构建具有弹性的虚拟化基础架构,其采用集中管理、分布服务模式,向用户提供全网服务的基础设施服务。VDC与传统IDC的主要区别在于通过虚拟化技术将物理资源抽象整合,实现资源的动态分配和调度,以提高资源利用率和服务的高可靠,通过自动化的服务达到一键开通能力,从而降低运维成本,并提供了更多的安全和可靠性机制,完全满足企业级应用的安全标准。

软件定义网络(Software Defined Network, SDN ),其核心技术——OpenFlow,通过将网络设备的控制面与数据面进行分离来实现网络流量的灵活控制。在运营商网络中,可以从网络相对封闭的数据中心等场景开始入手,构建新型的SDN来增强的VDC。通过在网络控制侧引入SDN控制器,对虚拟机交换机和OF协议增强的ToR硬件交换机等进行集中控制,把传统数据中心复杂的网络拓扑变为大二层网络架构,以应对数据中心内部和数据中心之间的东西向流占比增大的变化要求。

2 方案介绍

在虚拟数据中心中,由于涉及的网元众多,如OpenStack虚拟化平台、SDN网元、运维管理平台、VTEP网关设备等,虚拟机出公网的配置流程相对比较复杂,偶有失误会导致网络瘫痪,而且还不便于统一维护。我们可以通过统一Portal界面创建需要的公有网络和虚拟路由,并将需要联通的子网加入到虚拟路由中,后续用户新建虚拟机后如果需要上大网就可以通过绑定公网浮动IP达到目的。

我们可以通过在管理门户直接调用虚拟平台API接口去管理NAT和专网路由的配置,激活NAT插件下发配置至VTEP网关设备和SDN控制器下流表至各网元,不需要在VTEP网关设备上手动去配置SNAT、DNAT和路由策略,也不再需要SDN网管平台界面上手动配置去下相关流表至设备网关,从而实现统一管理和调度的功能,实现用户的NAT和专网路由在VDC场景下任意策略配置,大大简化VDC的运营管理维护。

要实现用户的NAT和专网路由在VDC场景下任意策略配置,用户通过统一管理Portal界面创建需要的公有网络和虚拟路由——vRouter,并将需要互联的子网加入到虚拟路由中,后续用户新建虚拟机后要绑定公网浮动IP时,运行在虚拟化平台的NAT插件通过RPC监听获取虚拟平台的任务消息,从而自动登录到VTEP网关设备进行SNAT和DNAT的策略下发,但是如果用户既要能实现NAT功能又要能实现各种专网路由,此时管理门户可以直接调用虚拟平台的update接口来配置专网路由,NAT插件通过和虚拟平台之间路由更新接口进行消息传递,自动登录到VTEP网关设备在此VRF(Virtual Routing Forwarding 虚拟路由转发)下增加专网路由策略,同时运行在虚拟化平台的SDN插件获取到地址或路由更新后,将这些通过流表下发到各个网元,所有策略和专网路由下发流程都不需要手动去维护和配置,自动化实现用户的NAT和专网路由在VDC场景下任意策略配置。

如图1所示。

图1 总体结构示意图

SDN子模块:SDN将网络设备上的控制权分离出来,由集中的控制器管理,不依赖底层网络实体设备如路由器、交换机、防火墙等,屏蔽了来自底层网络设备的差异。而控制权是完全开放的,用户可以自定义任何想实现的路由和传输规则策略,达到灵活和智能的目的。

VDC管理系统子模块:资源管理系统,主要提供集中的、弹性的、高可靠性的计算、存储、网络等资源,统一管理、按需分配、租赁服务。

VTEP网关设备:支持OF协议的设备网关必须能够处理来自接入层设备的所有通信,并提供到核心层的上行链路,主要是三层交换机,工作在网络层,它比第二层交换机更加高档,功能更加强,因为工作于OSI模型的网络层,具有路由功能,网关设备的北向接口要开放给SDN控制器,用于下发路由流表。

2.1 实施方法流程图

如图2所示,实施中的主要步骤可以是:

步骤1:VDC的运营管理界面通过调用虚拟平台的RESTful接口创建公网网络和虚拟路由,并将需要联通的子网加入到虚拟路由中,管理门户判断虚拟路由中的接口地址、网关等关键属性,不能重复。

步骤2:虚拟平台接受API请求创建网络,子网,路由器等,将这些数据结构放置相应的数据库里,同时将传递请求给配置好的插件,如NAT插件和SDN插件。

图2 NAT和专网路由共存流程示意图

步骤3:运行在虚拟化平台的NAT插件启动后,有若干个工作线程去消息队列中拿数据,然后将数据放进一个内部的缓存队列queue中,同时它还会启动一个循环线程去queue中取数据,当发现有路由相关的操作发生后,即调用函数去处理获取的数据。

步骤4:运营管理界面上对虚拟机进行公网浮动地址的绑定,绑定时运营管理界面也是通过调用RESTful接口来实现,虚拟平台首先执行数据库操作,然后调用远程通知消息去通知指定的Router执行相关动作,如create_floatingip,update_floatingip,delete_floatingip等,同时运行在虚拟化平台的NAT插件当发现有路由相关的操作发生后,即调用方法去消息队列中获取数据。

步骤5:NAT插件将获取来的数据自动登录到网关设备进行SNAT和DNAT的策略下发,NAT插件根据和网关设备之间约定的规则生成RD(Route-Distinguisher)用于标示网关设备上不同租户,其主要作用也就是实现租户之间地址复用,它与IP地址一起构成了12Byte的地址空间,同时NAT插件会在网关设备上创建另外一个重要属性RT(Route-Target),它决定不同租户路由的发送或接收,保证租户间路由的隔离,网关设备依靠RT属性区分不同租户的NAT策略。

步骤6:用户通过运营管理界面设置专网路由,运营管理界面通过调用API发送请求,虚拟平台接受管理界面发来的API请求后,将API消息体里包含过来的路由信息进行提取,NAT插件的监控线程当发现有路由相关的操作发生后,即调用更新接口去相关数据库表中获取专网路由信息,同时自动登录到网关设备在此VRF下增加专网路由策略。

步骤7:运行在虚拟平台上的SDN控制器插件从队列中获取相关网络数据后,从SDN控制器调用对应的接口,SDN控制器一旦收到请求,将使用任意的南向插件/协议,例如OpenFlow,OVSDB或者OF-Config,对网络节点执行必要的改变,即对网关设备下发相关的路由流表,后续虚拟机实现南北向功能时网关设备根据相应的流表来选择NAT策略或者专网路由出局,从而实现在网关设备上NAT和专网路由共存的场景,通过以上步骤从VDC的管理系统界面直接可以下发NAT和专网路由信息至网关设备,无需人工登录到网关设备上去配置,即简化VDC的管理维护系统,又对后续整个VDC的网络维护操作大大简化流程。

3 总结

通过自动化的策略配置,能在实际生产环境中根据网元的业务需求灵活配置,推动业务的快速上线和各种网络平面的管控要求。云计算已经逐步成为国家重点行业,业务云化成为一种趋势,这里介绍的方法给业务云化中各种复杂的网络配置提供一个参考解决方案,希望对相关行业应用人员或团队提供一些有价值的参考,共同促进国内云生态的完善和高效。

猜你喜欢
网路插件网关
无线自组织网路由算法研究
自编插件完善App Inventor与乐高机器人通信
基于桩网路堤简化分析方法的参数研究
信号系统网关设备的优化
基于jQUerY的自定义插件开发
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”
基于Revit MEP的插件制作探讨
一种实时高效的伺服控制网关设计
插件体系结构软件的原理和实现