• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

SDN服务链方案介绍

 

1      SDN服务链方案的产生背景

1.1    传统网络中的安全业务功能

数据报文在传统网络中传递时,需要经过各种各样的业务节点,这样才能保证网络能够按照设计要求,提供给用户安全、快速、稳定的网络服务。

我们把网络流量按照业务逻辑所要求的既定的顺序,经过这些业务点(主要指安全设备如防火墙、负载均衡、第三方安全设备等)的形式称之为服务链(Service Chain)。服务链可以理解为一种业务形式。

传统网络的服务链在变更、扩容时,都需要改动网络拓扑,重新进行网络设备的配置。服务链和网络拓扑紧密耦合、部署复杂。

1.2    SDN服务链的产生

随着Overlay网络的发展,虚拟网络和物理网络得以分离,虚拟网络承载于物理网络之上,更加抽象;而SDN技术以及NFVNetwork Functions Virtualization,网络功能虚拟化)的不断发展,也让数据中心的网络控制变得更加灵活,更具有扩展性。

SDN Overlay数据中心环境中,借由SDNNFV技术的优势,服务链得以长足发展。NFV技术提供安全业务点,SDN技术通过Overlay网络将数据报文引流至各个安全业务点。通过多跳服务链这样的形式,给数据中心网络提供必要的安全业务处理能力。

2      SDN服务链技术介绍

2.1    Overlay报文中服务链特征的封装格式

SDN网络中,数据报文在各个节点之间都是通过Overlay封装后传输。如何在Overlay网络中标识服务链报文成为SDN服务链技术首先需要解决的问题。

2.1.1  扩展VXLAN头中保留字段的方式

目前Overlay技术应用最为广泛的协议为VXLAN协议。标识服务链报文的一种通用实现正是通过扩展VXLAN头来完成的。

1 VXLAN头格式

如图1VXLAN头的第2-4字节原本为保留字段,将其填充做为Service Path ID,记录服务链编号,用于唯一确定一条服务链。这种方式基于标准VXLAN协议实现,对硬件网络设备无依赖,仅需要更新支持VXLAN设备的软件即可。

当服务链接入点收到VXLAN报文后,将对VXLAN报文进行解封装,并根据VXLAN报文头中的Service Path ID字段在本地查找匹配的服务链。

2.1.2  NSH方式

NSHNetwork Service Header,网络服务头)是专门为服务链设计的封装格式,并且在OpenDayLightSFC项目中采用。其封装格式如下图所示:

2 NSH封装格式

从图2可以看出,NSHVXLAN报文进行了扩展,可以携带更多的业务信息,完成更复杂的业务处理;且扩展性更强,可以支持携带多个业务上下文信息;并且其带有Protocol Type字段,因此可以承载二层报文和三层报文,较为灵活。

NSH可以承载于VXLANGRE等多种Overlay封装中。但是,由于NSH对标准VXLAN封装做了进一步的扩展,这要求硬件网络设备的芯片升级支持。而新型芯片的推出和扩展并非易事,需要推动芯片相关的整个产业链的认同和需求,才有可能大规模生产。短期来看支持NSH的芯片尚无法大规模应用部署。

2.2    SDN服务链

2.2.1  概念介绍

SDN服务链基于网络的核心控制部件SDN控制器来进行部署。SDN控制器根据租户需求来定义、创建服务链,并部署服务链上每个节点的业务逻辑。SDN控制器将需要进入服务链处理的用户报文特征下发到接入软件/硬件 VTEP设备,由VTEP设备根据相应报文特征将数据引入服务链。

SDN服务链一般具有如下角色:

Ÿ   流分类节点:原始数据报文的接入节点。按照定义的流分类规则匹配数据报文,对报文做服务链的Overlay封装,并将其转发到服务链中进行处理。

Ÿ   服务节点:服务节点做为资源被分配使用,它的物理位置可以是任意的、分散的,通过SDN控制器对服务链的定义和引流串联,完成预定义工作。服务节点可以是防火墙(Firewall)、负载均衡器(LoadBalance)、入侵检测(Intrusion Prevention System)等资源或资源池。

Ÿ   代理节点:对于不支持服务链封装的服务节点,需要通过代理节点剥离服务链封装,再转交给服务节点处理。

Ÿ   控制平面:负责管理服务链域内的设备以及创建服务链,并将服务节点的配置定义下发到相关节点上。在SDN网络中,一般通过SDN控制器来实现。

2.2.2  转发流程

目前SDN服务链多采用扩展VXLAN头保留字段的方式来实现服务链功能。

如图3,为扩展VXLAN头实现方式下SDN服务链的转发流程:

3 扩展VXLAN头方式的服务链转发流程

在图3中,仍旧有服务链的几种典型角色:

Ÿ   SDN控制器:做为网络资源池的唯一控制点,它控制了虚拟化网络,并且通过对虚拟网络进行抽象和编排,实现服务链特征定义。VTEP(流分类节点)和服务节点上的转发策略都由SDN控制器下发。

Ÿ   服务链流分类节点(VTEP1):原始报文通过VTEP1接入SDN网络,并由VTEP1进行流分类,以判断报文是否需要进入服务链。如果需要进入服务链,则为报文进行VXLAN封装和服务链ID填充,并根据转发策略转发到服务链首节点进行处理。

Ÿ   服务链首节点(SF1):服务链中对报文进行处理的首个服务节点。首节点对数据报文进行服务处理后,将数据报文继续做服务链封装并转发给服务链的下一个服务节点。

Ÿ   服务链尾节点(SF2):服务链中对报文进行处理的最后一个服务节点。尾节点对数据报文进行服务处理后,解除其服务链封装,并将报文做普通的VXLAN封装后,转发给目的VTEP。如果尾节点不具备用户报文寻址能力(即无法查找到用户报文需要转发到哪一台VTEP设备上),则需要将用户报文送到网关(VTEP3),由网关查找目的VTEP后再进行转发。

报文转发流程如下:

Ÿ   ①⑥Native以太报文,IP(SRC)àIP(DST)

Ÿ   VXLAN+服务链报文,外层IP头为IPVTEP1à IP(SF1)

Ÿ   VXLAN+服务链报文,外层IP头为IPSF1à IP(SF2)

Ÿ   VXLAN报文,外层IP头为IPSF2à IP(VTEP3)

Ÿ   VXLAN报文,外层IP头为IPVTEP3à IP(VTEP4)

实际转发时,并非如此简单。首先,VM首包上送SDN控制器处理时,在控制器上解析Packet-in报文,根据报文目的地址确定是Overlay网络内的东西向流量还是通往传统网络的南北向流量。如果是南北向流量则将报文转发至网关,再由网关处理后续转发。如果是东西向流量,则需要从Packet-in报文中提取源IP等信息,并根据源IP确认源subnetnetworkrouter等信息;同时根据报文目的IP确认目的subnetnetworkrouter信息。

对于东西向流量,根据上一步提取确认的信息进行服务链匹配,如果能匹配控制器上已配置完成的某条服务链,则控制器会给流分类节点下发导流流表。如果未能匹配服务链,则下发东西向流量卸载流表项(即非服务链流量直接在VTEP之间转发)。

对于已查找到服务链的业务报文而言,控制器会确认服务链所在VTEPVTEP IP,并向VTEP流分类节点和服务节点下发流表项,流表项的格式一般如下:

Ø  Match:匹配port & vlan & 五元组的普通报文进入服务链或匹配tunnel & vni & 五元组的VXLAN报文进入服务链

Ø  Actionvni & service chain id & order counter & tunnel,指向服务链首节点所在服务节点,其order counter = 1

当匹配到多条服务链时,按照最精确匹配的原则确认实际使用的服务链位置。匹配项的精度优先级从低到高依次为:routersnetworkssubnetsports

2.2.3  流分类节点类型

SDN服务链目前应用较为广泛的流分类节点主要有以下两类:

Ÿ   支持服务链特性的vSwitchvSwitch收到虚拟机报文后,直接做流分类,在vSwitch上进行服务链Overlay封装。

Ÿ   硬件接入交换机:原始报文发送到硬件接入交换机后,由硬件交换机进行流分类,并进行服务链Overlay封装。

2.2.4  服务节点类型

目前SDN服务链中,主要有三类设备可以作为服务节点,如下

Ÿ   NFV设备做服务节点:支持VXLAN和服务链功能的NFV设备可以直接进行服务链Overlay报文的封装和解封装,担当服务节点提供安全业务处理能力。

Ÿ   硬件安全设备做服务节点:支持VXLAN和服务链功能的硬件安全设备也可以直接处理服务链Overlay报文,提供安全服务。

Ÿ   传统硬件安全设备做服务节点:不支持服务链等特性。通过外挂在服务链代理节点(能处理服务链Overlay报文的节点)做中转,实现服务链功能。

3      SDN 服务链部署模式

当使用支持Overlay服务链功能的设备做流分类节点和服务节点时,通过SDN控制器的集中控制和业务编排,可以较好地实现东西向和南北向服务链功能。服务链能够支持以虚拟端口、虚拟子网、虚拟网络、虚拟路由器以及IP地址等作为流量特征对用户报文进行流分类。服务链经过服务节点时先经过vFW再经过vLB

3.1.1  灵活服务链模型

灵活服务链模型可以直接在SDN控制器上部署。这种模型下,vFWvLB单独作为资源池服务节点部署。其典型组网如下:

4 灵活服务链模型

 

 

3.1.2   OpenStack服务链模型

OpenStack服务链模型下,网络管理员在OpenStack或基于OpenStack的云平台上配置安全服务,由SDN控制器配合实现安全服务功能。典型组网如下图:

5 OpenStack服务链模型

 

3.2    第三方安全设备服务链代理应用

传统的安全设备不支持VXLAN和服务链功能,SDN控制器可以通过服务链代理设备,将传统的甚至是各类厂商的安全设备引入服务链,从而共享SDN服务链技术,为用户提供多样化选择。

如图6所示,在服务链代理节点下挂了传统安全设备(Third Security1Third Security 2),通过服务链代理节点封装和解封装Overlay服务链报文,使得在服务链功能正常实现的前提下,传统安全设备也能被用于服务链场景。

6 第三方安全设备服务链代理模型

 

4      SDN 服务链的特点

SDN服务链方案基于Overlay网络实现,能够做到控制平面与转发平面分离,物理网络与逻辑网络分离。同时,基于SDN控制器的配置,SDN网络可以动态地添加或者删除服务链上的服务节点,解耦了网络设备之间的关联,打破了物理拓扑的限制。基于租户的SDN部署模型,使得租户业务可以灵活编排和修改,而不会影响物理拓扑以及其他租户。同时,SDN服务链支持多种类型的流分类节点和服务节点,为用户提供了多样化选择。服务节点更是能够提供统一的资源池化管理,实现了安全能力的无缝扩容和多业务共享。

感谢您对本刊物的关注,如果您在阅读时有何感想,请点击反馈。
新华三官网
联系我们