罗定福 龙望晨 孔繁华
摘 要:针对传统数据中心网络架构存在的问题进行深入分析,以思科软件定义网络(SDN)技术APIC(Application Policy Infrastructure Controller)架构为例,剖析SDN技术在业务流量的明确划分、网络无限定的横向扩展、虚拟资源无限制的变更、控制平面和转发平面解耦合、集中化的网络控制上的优势。得出SDN技术能够有效降低设备负载,协助网络运营商更好地控制基础设施,降低整体运营成本上的巨大作用。
关键词:软件定义网络;业务流量;控制平面;转发平面;集中化
中图分类号:TP311 文献标志码:A 文章编号:2095-2945(2020)14-0066-03
Abstract: In view of the problems existing in the traditional data center network architecture, this paper takes the application policy infrastructure controller (APIC) architecture of Cisco SDN technology as an example to analyze the advantages of SDN technology in the clear division of traffic flow, unlimited horizontal expansion of network, unlimited change of virtual resources, decoupling of control plane and forwarding plane, and centralized network control. It is concluded that SDN technology can effectively reduce the equipment load, help the Internet Service Provider (ISP) to control the infrastructureeven better, and reduce overall operating cost.
Keywords: software defined network; traffic flow; control plane; forwarding plane; centralization
引言
传统网络运维方式痛点,网络设备手工维护,依靠传统网络管理软件[1]等方式辅助人工进行维护,运维效率低下,容易出现由于个人能力的差异以及响应等原因,影响运维的效率,增加运维的成本。传统网络业务割接或者新业务上线周期偏长,往往大的业务割接切换,涉及非常复杂的操作。软件定义网络(SDN)[2]的主要特点是集群化、采用虚拟的软件定义网络数据流,通过图形化的方式简易的呈现,方便业务的上线以及后期的维护扩容。SDN自动化运维方式,与云平台进行对接,实现网络服务的自动化。
1 传统数据中心网络架构逐渐落伍
1.1 传统的大型数据中心结构
在传统的大型数据中心,网络通常是三层结构[3]。架构模型包含了以下三层:(1)Access Layer(接入层):接入层位于网络的最底层,负责所有终端设备的接入工作,并确保各终端设备可以通过网络进行数据包的传递。(2)Aggregation Layer(汇聚层):汇聚层位于接入层和核心层之间。该层可以通过实现ACL等其他过滤器来提供区域的定义。(3)Core Layer(核心层):又被称为网络的骨干。该层的网络设备为所有的数据包提供高速转发,通过L3路由网络将各个区域进行连接,保证各区域内部终端设备的路由可达。
一般情况下,传统网络还存在着一些优点:
(1)精确的过滤器/策略创建和应用:由于区域、终端地址网段明确,可以精细控制网络策略,保证流量的安全。(2)稳定的网络:区域的明确划分,网络设备的稳定架构,使网络更具有稳定性。(3)广播域的有效控制:由于三层架构中间采用L3模式设计,有效控制广播域的大小。
传统网络架构虽然稳定,但随着技术的不断发展,应用不断的多元化以及对业务的高冗余化的需求,暴露出了一些传统网络的弊端。
1.2 传统网络架构存在问题
随着企业规模的发展,传统网络架构渐渐开始无法跟上步伐,逐渐出现了以下问题:
(1)业务流量模型不清晰。随着网络的发展、各种新技术的产生,数据中心内部、服务器之间协同处理、计算,导致由东向西的流量逐渐增大,超过了由南向北的流量。而传统三层架构服务器间交换,都要过三层核心,多层转发,增大了网络的延迟,还浪费了核心宝贵的资源。与此同时,我们将业务拆分成多个模块,并部署在不同的区域中,由于应用的不断发展,模块的数量越来越多,模块之间的调用越来越频繁,可能一次完整的应用流程需要经历数十个模块,模块之间的频繁调用大大消耗了网络设备的资源。
(2)横向扩展能力不足。传统数据中心使用STP技術,虽然上联多根链路,但都是主备关系,仅有一根链路能跑流量,无法承载数据中心日益增长的业务。尽管后续使用了相关的Ethernet Channel、堆叠、VSS等技术,来达到链路冗余的需求,但是堆叠、Ethernet Channel不可能无限地进行扩展。
(3)广播域过于庞大。随着业务的发展,计算资源被池化。为了使得计算资源可以任意分配,需要一个巨大的二层网络架构。整个数据中心网络都是多个L2广播域,这样,服务器可以在规定的区域地点创建、迁移,而不需要对IP地址或者默认网关做修改。不断地业务扩展,造就了一个巨大的二层广播域,一旦出现一点问题就造成巨大的网络问题,导致业务中断,业务的高可用性就无法保证。
(4)计算资源无法快速上线。随着业务的不断发展,计算资源的虚拟化。当需要进行虚拟资源部署时,严格安全防护的要求下,需要进行安全设备的策略开通。从部署到正式上线使用之间的耗时会长达一小时之久。无法满足在突发情况下,快速增加计算资源。
由于安全设备以及设备上联位置的限制,无法在任意的计算资源池中随意的创建、迁移;无法合理分配资源池的各种硬件资源,造成资源的分配不均衡。一旦某资源池已达阈值,就无法继续计算资源的横向扩展。
(5)网络延时过大。在使用传统网络架构时,每个业务模块都是一个烟囱结构,业务模块互相调用需要经过多个三层设备(平均需要经过6次物理设备),其中还可能包括防火墙等安全设备。受限于设备的性能,网络架构的主备方案。数据流量每经过一次设备都会增加一点延迟。虽然每一次延时都是微乎其微,但是累计次数多了,对于业务来说这个延时可能就导致用户体检较差。
2 SDN网络特征
2.1 思科APIC(Application Policy Infrastructure Controller)架构
上述传统网络存在着一些问题,为了不断提升网络的承载能力,我们可以进行各种技术可行性测试。例如:传统网络的优化、当前网络的SDN化等。文章以思科SDN技术为例进行探讨。思科APIC(Application Policy Infrastructure Controller)是以应用为中心的基础架构(ACI)结构的自动化和管理的统一集中点,提供对所有节点信息的集中访问控制,优化应用的规模和性能,并支持在物理和虚拟资源之间进行灵活的应用配置。管理员可通过APIC提供各种丰富的API接口对设备进行配置、管理、策略下发等操作行为;控制器则通过OpFlex协议[4]将策略推送给ACI环境中的各个节点Leaf[5]。虽然APIC会将策略推送到各节点Leaf上,但控制器并不参与任何流量的转发,所以即使发生有5台控制存在问题的极端情况下,网络层面的流量转发功能还是可以正常稳定地运行。网络SDN化之后,可以解决前述传统网络中存在的一些问题,同时也提供了更人性化的管理方式。网络架构内部示意图如图1所示。
2.2 SDN网络优势
(1)业务流量的明确划分。将原有业务划分从一个应用一个区域的划分方式,在使用SDN后,变更为一个服务体系作为一个区域进行划分(例如:APP区域、数据库区域、中间件区域等)。在每个区域中划分多个Endpoint Group[6](以下简称EPG)来准确区分业务模块,更清晰地了解业务之间的访问关系。
(2)无限定的横向扩展。在现有的SDN网络中,通过使用Anycast Gateway的方式将网关部署在各个Leaf节点上。即使有新设备加入网络,无论处于任何区域,都可以准确的进入相对应逻辑位置。
(3)虚拟资源无限制的变更。ACI,通过VM Networking与VCenter[7]互相联动,并下发vNIC供虚拟机使用,虚拟机只需要选择对应虚拟网卡就可以进行业务上线。同时各个虚拟机对应的EPG通过合约的形式开通策略。在SDN中所有相同业务都部署在同一个EPG中,所有策略的开通并不是基于IP地址来开通,只需要在不通的EPG之间开通策略即可,所以无需像传统网络进行IP对应的策略开放方式进行SDN网络策略开通。虚拟化资源可以在任意宿主机上进行创建、迁移,没有任何的物理位置的限制。
(4)控制平面和转发平面解耦合[8]。SDN网络区别传统网络的一个方面在于:传统网络的控制平面和转发平面是紧密耦合的,集中到独立的设备盒子中管理,控制平面分散到网络的各个节点上,难以对全网情况进行全局把控。SDN网络将网络设备中的控制平面从物理硬件中抽离出来,交由加载在物理网络上的虚拟化网络层处理,屏蔽了底层物理转发设备的差异,重构整个虚拟空间网络。因此,就好比服务器虚拟化技术中把服务器资源转化为计算能力池一样,物理网络资源被整合成了网络资源池,满足业务对网络资源的按需交付需求,可以更加灵活地调用网络资源。
(5)集中化的网络控制。将控制平面进行集中控制,中央控制器可以获取网络资源的全局信息并根据业务需要进行资源的全局调配和优化,如QOS、负载均衡功能等。同时集中控制后,全网的网络设备都由中央控制器去管理,使得网络节点的部署以及维护更加敏捷。由于集中化控制,ACI提供一个可视化的管理界面,通过界面中的评分以及错误,可以更有效的提供给运维工程师查找到问题的所在之处,提供一个快速定位的有效依据。
3 SDN架构的后期展望
3.1 跨厂商自动化联动
思科提供了其他厂商的管理工具包供ACI使用,通过服务链(Service Chain)功能进行其他设备的配置推送。未来整个网络的配置都可以通过ACI进行远程控制,无需通过繁琐的命令行进行配置。即使对设备命令不熟悉的工程师也可以进行配置。
3.2 自动化配置平台
ACI提供丰富的API接口供第三方软件调用,建立一个自动化运维平台通过API接口进行ACI配置的推送、查看设备的运行状态实时体现。可以完全掌握整个SDN的运行状况,准确及时地判断。在问题将要发生时,得到及时的处理和解决,避免了最终解决问题已出,维护人员还未得到告警的窘相。
3.3 全面的网络监控
在网路设备中进行流量抓取取样,通过报头分析网络中数据包的走向。通过流量排序可以清晰的知道各个模块调用的次数,结合研发部门进行探讨,为优化网络、优化应用做一个准确的依据。
4 潜在问题
思科Smart Install[9]的远程代码执行漏洞:
Smart Install功能是交换机在部署时配置和镜像管理功能,它可以自动换成初始化,新的交换机可以通过TFTP等协议自动加载操作系统镜像。这就意味着在无配置管理员的情况下启动交换机,当设备配置发生变化等情况,还可以提供配置备份的功能。
Smart Install Client默认开启TCP 4786端口,用来进行Smart Install功能。当服务处理一段特殊的恶意信息,会发生交换机的缓冲区堆栈溢出,从而造成设备故障。
由于思科ACI通过控制器管理,无需额外的设备进行自动化配置等行为,故没有该漏洞。
5 结束语
在运维过程中引入SDN技术,只需通过图形化的界面,统一调度、维护网络中的业务数据,即可实现环路检测、路径探测、切换业务流等操作,运维方便快捷。智能化、可视化、自动化,是后期 SDN 网络运行维护的主要方式,降低传统网络维护中的成本以及提升网络运维的效率。
参考文献:
[1]https://baike.baidu.com/item/网元/11040242?fr=aladdin[EB/OL].
[2]朱金奇,孙华志,黄永鑫,等.软件定义网络中延迟满足的路由选择与实时调度更新[J].软件学报,2019,30(11):3440-3456.
[3]罗定福,李艳.三层交换机与路由器连接的技术研究[J].佛山科学技术学院学报(自然科学版),2013,31(2):52-54.
[4]程思遠.SDN实践之ACI互联设计[J].电信快报,2019(8):44-46.
[5]新华三技术有限公司.一种IPv6地址分配方法和Leaf节点设备:CN201710770578.9[P].2018-10-09.
[6]Cisco Technology, Inc..Isolation of endpoints within an endpoint group:US201715422773[P].2019-01-01.
[7]王春海.部署vCenter Server经验[J].网络安全和信息化,2016 (006):62-65.
[8]王勇.NFV与SDN协同部署技术探讨[J].中国新通信,2018,20(22):23-24.
[9]黄建.漏洞全生命周期管理服务探索与实践[J].中国金融电脑,2019(7):67-71.