解决方案\需求
数字化转型正在成为社会发展的新常态,智能AI技术、大数据和5G网络新技术将推动社会各行各业迈入数字新基建的新时代,构建一套完美的解决方案方能扬帆领航。
了解更多了解更多

SDN/OpenFlow测试技术探讨

作者:容域科技 发布时间:2021-04-12 17:03

1  SDN/OpenFlow简介

现有网络基础架构的设备投资和运维成本、复杂性和可管理性一直是电信运营商,互联网企业和政府机构共同面临的问题。高昂的建设成本抑制了用户对新的网络和数据中心的投资,复杂性延长了新服务和应用程序推向市场的时间,可管理性进一步提高了运营成本并减缓了应对变化的快速响应能力。由于大多数现有的网络都在运行专用系统,如何部署和管理混合多个设备厂商的复杂网络已经成为一项难度很高的工作。
SDN(软件定义网络)是一个全新的网络规范,它的核心目标是将网络的控制层和转发层分离和开放出来,从而使得第三方增值应用能够更智能地控制网络业务,也就是实现网络的可编程性。SDN提供了一个高性价比、高可扩展和非常灵活、自由的架构,可以满足移动通信、数据中心以及大型电信网络的需求。作为SDN主要实现方式的OpenFlow协议,最早源于2008年4月斯坦福大学的Nick McKeown教授在ACM Communications Review上发表的一篇题为《OpenFlow: enabling innovation in campus networks》的论文。OpenFlow协议主要用来简化和统一路由和交换网络,它在网络发展层面主要解决了下列问题:
  •  当前的网络设备非常昂贵,而且运维成本很高。SDN/OpenFlow通过开放的标准将网络市场PC化,将能够大大降低TCO,同时通过减少私有软件也可以大大降低系统的复杂性和脆弱性。
  •  当前封闭的网络将导致应用的开发周期过长,以及对设备厂商的严重依赖。然而,通过将控制面和转发面进行分离以实现智能的集中化,可以帮助运营商和互联网企业快速实现对多种网络增值业务的创新。另外,各种各样的第三方应用软件可以通过编程访问网络的控制层面来实现灵活的业务需求,从而更好地优化网络架构。

在技术层面上,OpenFlow通过对路由和交换设备“控制层面”的抽象来实现这一目标。通过将控制层面抽象到OpenFlow控制器组件,OpenFlow便可以将智能集中化,并为基于OpenFlow交换机上运行的数据层面组件提供一个通用接口。一个OpenFlow网络由两类主要组件组成:OpenFlow控制器和OpenFlow交换机。网络中的每个交换机都与控制器建立连接(见图2)。应用编程接口(API)允许控制器分发交换机的流表,这张流表决定了交换机如何匹配传入数据包以及对数据包采取什么操作,详情参见图3。多种智能应用程序可以通过集成方式或通过应用编程接口(API)在控制器上运行,这些“应用程序”用于建立软件定义网络(SDN),提供不必要与特定硬件关联的网络数据流量的视图。
 
OpenFlow已经在学术领域活跃数年,为努力推动OpenFlow被大众接受并实现商业化,开放网络基金会(ONF)于2011年3月成立,并且拥有OpenFlow的知识产权。ONF是一个非营利性会员制组织,截至目前共有约80多家成员公司,其中包括了所有顶尖设备制造商、互联网企业和电信运营商:从交换芯片的Broadcom到网络设备的提供者,如Cisco、Juniper、Dell/Force10、Ericsson、NEC,数据中心解决方案提供者IBM、HP、VMWare、Citrix到运营商DT、FT、Verizon、NTT,再到微软、谷歌、雅虎、Facebook等。国内也有包括中国移动、华为、中兴、盛科、腾讯等在内的各类知名企业加入。目前ONF发布了OpenFlow标准的最新版本V1.3.1,有关详情,可访问 www.opennetworking.org。
 
ONF通过多个工作组的成员协同工作,共同开发OpenFlow技术,目前主要有5个工作组,包括: (1)扩展性工作组,由HP和Nicira Networks领导。该工作组维护OpenFlow交换机规范的核心。这部分协议主要包括OpenFlow控制器编程控制OpenFlow交换机转发状态。扩展性工作组的目标是使规范更灵活,开发更丰富的功能集和更广泛的实施集,并为OpenFlow规范在未来的发展排除障碍。扩展性工作组对模块化、扩展性、互通性和一致性尤其感兴趣。规范的最新版本是1.3.1,但是大多数商业实施仍然是1.0和1.1版。
(2)配置和管理工作组,由Microsoft领导。该工作组为支持OpenFlow的网络设备定义了配置机制,以实现软件定义网络的愿景。该工作组一直在开发OpenFlow配置协议,最初集中在少数场景,第一个OpenFlow配置和管理协议OF-Config1.0于2012年1月12日被工作组批准。
测试和互通性工作组,由Ixia和Big Switch Networks领导。该工作组关注以下3个领域:认证、互通性和基准测试。认证测试套件OF-1.0已在2012年完成,并将用作与将要授权认证产品的商业测试实验室建立正式伙伴关系的基础。第一次互通性活动的结果后面会讨论。基准方法正在开发,用以测量能力和性能,例如:
  • OpenFlow交换机的流表容量。
  • OpenFlow系统的学习速率。
  • 控制器和交换机之间支持的最大消息速率。
  • 转发性能基准测试,包括吞吐量、丢包和延迟。
(3)混合工作组,由Cisco和Big Switch Networks领导。该工作组探索并记录混合可编程转发平面(HPFP)的要求。尤其是,混合工作组调查混合式交换机和混合式网络的使用实例和要求,并提供避免、检测和解决由于多种转发状态引起的状态不一致和错误的建议。
(4)未来规划工作组,由Brocade领导。该工作组正在定义一个包括转发平面模型的未来框架。它的任务是描述和确定初始ONF拥有模型的形态以及控制器和交换机如何协商模型和参数。
(5)市场推广工作组,由Big Switch Networks、IP Infusion和IBM领导。该工作组阐述OpenFlow和SDN技术的开放式网络的好处。这将提高对SDN技术的整体理解,并在使用实例中共享客户最佳实践,以进一步鼓励他们采用。
虽然现在有一些厂家如IBM/NEC已经开始提供支持OpenFlow的控制器和交换机,但要更多的厂家提供仅支持OpenFlow的交换机还需要一段时间。与此同时,大多数厂家将提供在运行传统路由、交换协议的同时也支持OpenFlow协议的混合式交换机。OpenFlow混合式设备允许无缝迁移到支持OpenFlow的应用程序,从而保护现有网络基础架构的投资。

OpenFlow最引人注目的特点之一是,它通过建立一个可以开发应用程序和服务的通用平台来解决当前和未来的问题。
  • 网络基础架构虚拟化。第二层和第三层VPN不再需要完全取决于MAC和IP地址,而是可以基于任何协议头字段。
  •  均衡网络负载。OpenFlow维护统计数据作为其实施的组成部分,这允许动态、快速地平衡网络流量。一个例子是架顶式(ToR)交换机在将数据中心服务器从一个机架通过列端式(EoR)交换机连接到其他机架时,通常是需要通过冗余链路和设备来实现,OpenFlow交换机可以动态地监视流量并根据需要平衡和指导负载。
  •  第二层或第三层链路配置,其中包括在网络端点之间建立主要和备用路径的能力,这对传输流量的类型和链路地理布置有着重要的意义。
  •  第二层或第三层学习网络。这些网络了解主机的位置并动态建立成本最低的路径。
  •  带宽日历。允许针对特殊、短期的网络活动安排带宽并自动重新分配。
  •  分布式防火墙。防火墙经常被视为边界设备,隔离内部网络与外部网络。虚拟化网络需要在多个地点应用防火墙和其他安全技术,OpenFlow可以提供适合创建高效、分布式防火墙的协议,经由OpenFlow交换机的未知流,要求发送第一个数据包到OpenFlow控制器。由控制器做出集中式防火墙决策,然后分别在OpenFlow交换机上执行。
  •  使用支持OpenFlow的虚拟交换机配置通向VM的路径。虚拟化主机核心位置的虚拟交换机(vSwitches)同样可以支持OpenFlow,还将允许在虚拟化应用程序的组件之间动态建立起移动链路,这在现代化的数据中心中为虚拟化应用程序建立网络连接是必要工作之一。
以上只是一些简单的举例,更多的应用场景还在不断涌现。
OpenFlow在多厂商环境中的互通性是其成功的关键。通过互通性演示,使客户能够基于价格、性能和功能选择适合自己需求的最佳解决方案,而不必锁定单一供应商。
互通性测试比认证测试更关键,认证测试只涉及适当的正面和负面功能。互通性测试需要模拟真实网络环境下验证多个厂商设备互连互通协同工作的能力。而最关键的互通性接口是OpenFlow控制器与交换机之间的连接,同时,这对于了解不同的交换机如何运行并与OpenFlow的各种应用协同工作也是至关重要的。
ONF首次互通活动于2012年3月5日至9日在Ixia位于美国加利福尼亚州圣塔克拉拉的iSimCity实验室举行。13个ONF成员公司和两个研究机构参加了会议。该活动重点关注于使用OpenFlow应用程序的多厂商互通性。本次活动成功地使用4种不同的控制器测试了各种应用程序,并结合使用了FlowVisor(允许将网络和连接分割并同时传入多个控制器)。测试发现不同供应商实现中的多个问题,使他们能够诊断并纠正这些问题。www.opennetworking.org上提供包含结果的白皮书。参加本次活动的ONF会员如下:
  •  OpenFlow控制器:Big Switch Networks、NEC、NTT Data和Indiana University。
  •  OpenFlow交换机或组件:Big Switch Networks、Broadcom、Brocade、HP、IBM、Intel/Wind River、Juniper Networks和NEC。
  •  测试设备:Ixia和SPIRENT。
  •  研究机构:Indiana University和Open Networking Lab。
执行的互通性测试包括:
  •  使用链路层发现协议(LLDP)的网络发现。
  •  2层链路配置。
  • 3层地址学习与动态配置和故障恢复。
  •  负载平衡。
  •  2层地址学习。
  • 使用FlowVisor将网络切片。
虽然互通性大体上实现了,但得到了一些有趣的经验:
  •  使用LLDP进行网络发现实施上的差异导致在整个测试期间都存在问题。
  •  有些交换机无法按照预期的默认方式工作。其中包括一些交换机不遵循默认规则发送未知数据包到控制器和混合式交换机。当未连接到控制器时,这些混合交换机默认为进行第二层转发/泛洪。
  •  混合式交换机有时不能隔离流量。
  •  厂家对规范理解不同。
  •  一些需要的功能在某些交换机上没有实现。

2  测试、再测试、还是测试

测试任何新的网络技术都要需遵循一定的步骤,这些步骤大致反映在测试和互通性工作组的章程里,具体如下:
  •  功能测试。
  •  一致性测试。
  •  互通性测试。
  •  性能、可扩展性和稳定性测试。
一种新协议测试技术的复杂性通常比较高,尤其是这个协议还在发展中。它将定义完善的规范开放并提供诠释,从而成为厂商实施需求和选项最容易的方式,并且还让厂商可以选择实施部分特性并提前使用下一代规范中的功能。

3  功能测试

功能测试是用来回答“是否工作”这样的基本问题。目前来说功能测试又分为回归测试和新功能测试。回归测试确保设备以前的功能未被新的开发破坏,这一类测试通常采用自动化方式,并包括过去发现问题的测试用例。应经常运行回归测试,以确保新功能开发未破坏产品的稳定性。
开发过程中不仅需要执行新功能测试,而且要谨慎地进行。例如,可以通过在控制器插入单一规则,并在入口打入单一流量,然后在控制器或者出端口查找期望结果的方法,来测试新的OpenFlow流表条目类型。随着功能数量的增加,更高标准测试的需求也在增加,即要求测试环境能以更通用的方式模拟组件和控制流量。
常用的测试拓扑中,OpenFlow交换机做为DUT,3个Ixia测试端口模拟包围测试的环境:
  •  OpenFlow控制器(上)。
  •  OpenFlow和发送流量到交换机的其他交换机(左)。
  •  OpenFlow和从交换机接收流量的其他交换机(右)。
根据测试设备的灵活性和复杂性,此环境可以用来执行广泛的功能测试。

4  一致性测试


一致性测试更为正式,通常在开发周期内的功能测试之后进行,并通过自动化测试来确保协议规范的每个部分皆得以遵循。根据实际情况,所有选项和组合都要遍历以确保DUT正确实施规范。
单个特性的一致性测试包含正向和反向测试。正向测试可确保规范中的功能和选项都得以遵循。而负面测试确定DUT在输入不正确的情况下如何运行。规范要求许多负面测试,可以应用专门的随机化测试技术如模糊测试来实现。认证涉及方方面面,从而确保互通性——如果多个厂商都通过了相同的认证测试,那么他们可能会进行交互操作。
一致性测试最常见的是由测试仪表厂商和独立测试实验室来开发。这些测试用作实现DUT认证的基础。ONF的认证计划为其成员提供这样一个计划。Ixia提供的ONF一致性测试套件是基于Ixia公司长期开发并得到用户广泛认可的一致性测试套件IxAnvl(见图6),其中包含了180多个测试项,完全符合OpenFlow1.0规范。通过图形化的界面,用户可以方便地观察和解决测试中碰到的问题,同时也能够生成全面的测试报告。

5  互通性测试

为了成功部署OpenFlow产品,ONF赞助的互通性活动将成为推动技术的关键一步。在推出官方认证之前,这些活动是厂商验证能否对接到多个其他厂商设备的唯一手段。活动同样为厂商提供了一个论坛,讨论他们对规范的“解释”。
OpenFlow有两个特殊的、独特的问题如下:
  •  OpenFlow不是一个完整的网络环境,它在很长一段时间需要依靠类似网络发现等其它“标准”网络协议。例如,刚刚举行的活动使用LLDP(链路层发现协议)提供路径信息进行测试。此信息的接口并不是没有问题。
  •  OpenFlow交换机类似于计算机,包含由OpenFlow架构中定义的基本指令集。很明显尽管该指令集的某些用途最有用,但是几乎所有的网络流量和操作将成为可能。随着“软件定义网络”的复杂性增加,许多OpenFlow交换机供应商将询问:“你想用这个交换机做什么”?

6  性能、可扩展性和稳定性测试

如果要成为传统交换机的成功替代设备或增补设备,OpenFlow控制器和交换机的性能极其重要。传统交换机已经过开发和调整多年,并采用旨在实施既定交换协议的专用逻辑来运行。在OpenFlow协议中,许多决策都由控制器来完成。
为使OpenFlow具备商业可行性,针对每台OpenFlow设备执行性能测试、可扩展性测试和稳定性测试将必不可少。具体来说:
(1)性能涉及速率和降级的测量,包括:
  • 单端口和整机设备的吞吐量(以Mbps为单位测量)。
  • 不同帧长下数据包的延迟(以纳秒为单位测量)。
  • 连接速率(以每秒连接数为单位衡量)。这一点对于OpenFlow交换机和控制器尤为重要,因为许多新的连接通过控制器重定向。
(2)可扩展性涉及容量测试,包括:
  •  流表条目的最大数量。这最终限制了交换机交换以及可以维持的其他协议数目。
  •  连接和逻辑模块的最大数量。这限制了相关的使用率,例如OpenFlow的一个前景被看好的使用是建立虚拟机(VM)至虚拟机连接。此类连接的数量将限制设备的效用。
  •  最大端口数。
(3)稳定性涉及测量设备在真实环境下的运作能力,包括:
  •  从一个路径至另一个路径的切换时间。
  •  至备用控制器的切换时间。
Ixia的IxNetwork测试软件可以在模拟OpenFlow Controller的同时作为流量发生器来验证OpenFlow交换机的功能和性能,包括控制面的通道建立和信息交互,以及转发面的流表建立和流量处理等。
由于近期OpenFlow主要会作为混合式设备的一部分来实施,这将是一个非常复杂的问题。它不仅需要在仅有OpenFlow的环境中完成这些测量,而且当交换机用于“传统”交换功能时,还需要在混合环境中测量。在这种情况下,OpenFlow混合交换机隔离流量和带宽的能力将是一个重要的考虑因素,可以参考前图所示的网络拓扑完成一系列的标准测试,如RFC 2544/2889/3918等等。通过这些测试可以验证OpenFlow交换机的流表容量,2/3层地址学习速率,网络收敛时延等关键指标。
随着OpenFlow网络的规模扩大,对OpenFlow控制器的性能测试的需求也开始出现。Ixia公司的IxNetwork软件可以仿真多个OpenFlow交换设备来测试OpenFlow控制器的容量、处理能力以及切换机制的实现等。

7  结束语

SDN/OpenFlow技术是网络未来发展的方向之一,它将从根本上改变未来网络的架构,给网络提供更高的智能,大大丰富网络的应用,我们可以通过采用先进的测试工具来更好地理解这一技术,为即将到来的SDN实际应用大潮做好准备。
  • 流表条目的最大数量。这最终限制了交换机交换以及可以维持的其他协议数目。
  • 连接和逻辑模块的最大数量。这限制了相关的使用率,例如OpenFlow的一个前景被看好的使用是建立虚拟机(VM)至虚拟机连接。此类连接的数量将限制设备的效用。
  • 最大端口数。
 

全部方案

数字新基建
等保云灾备