论文部分内容阅读
摘要:SDN将数据层面和控制层面解耦合,简化了网络管理。该文从SDN的发展背景入手,结合目前数据中心逻辑网络和物理网络紧耦合的问题,提出了使用SDN的方式让网络出口变得更灵活、更具有弹性。
关键词:软件定义网络;网络出口解决方案;服务链
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)31-0022-03
1 概述
1.1 SDN简介
软件定义网络(software defined networking:SDN)[1]起源于2006年美国斯坦福大学Clean Slate的研究课题,SDN是将网络的数据层与控制层分离的一种新型网络架构,通过集中化控制和提供开放控制接口,简化网络管理,支持网络服务的动态应用程序控制。其中网络控制解耦于转发,且网络控制是直接可编程的。SDN实现了网络资源池化并作为服务提供,释放了网络的灵活性、开放性和创新性。
1.2 Service Chain简介
服务链(Service Chain)是报文在网络中传递时,按照业务逻辑要求的顺序经过各种各样的服务节点(服务节点主要包括防火墙、入侵检测、负载均衡等),保证网络能够按照设计要求提供给用户安全、快速、稳定的网络服务。
传统网络的服务链和网络拓扑有紧密的耦合,部署较复杂,在服务链变更、扩容时,都需要改动网络拓扑,重新修订网络设备的配置,无法满足目前数据中心的需求。
面对这个问题,在数据中心网络提出了利用服务器承载虚拟防火墙/负载均衡器等新型网络设备(其实就是NFV(网络功能虚拟化)的一种形态),并将这些虚拟防火墙/负载均衡器部署在逻辑网络的边缘,通过一些特殊的调度方式将对应的数据流引向这些网络设备进而实现按需部署防火墙以及按用户需求完成引流操作。还有就是通过部署物理防火墙,通过一些隧道的方式将用户数据流引导这些物理设备上,经过防火墙处理后再通过隧道方式引回来继续走原路径。
2 Service Chain方案技术原理
2.1 技术原理
在整体的解决方案中,除了一些必要的设备端配置外,基本整个服务链的创建、维护都是通过SDN控制器完成。
2.1.1 服务链创建
2.1.1.1控制器、设备的初始配置及设备发现
控制器:配置控制器的IP地址,完成高级组件Service chain的安裝。
交换设备:配置控制器的IP地址及管理通道IP地址,使得设备控制器之间管理通路可达。
Service Chain:节电设备物理连接在具体交换机的某些端口上。
在完成基础配置后,控制器和设备之间会建立Openflow连接握手过程。控制器和设备端建立TCP连接后,开始OpenFlow协议交互(OpenFlow协议基于TCP),首先双方完成Hello握手,交换双方的OpenFlow协议版本信息,然后通过控制器发送Feature request消息去获取设备端的设备类型、流表能力、端口形态/数量等信息,从而完成对这台设备的发现过程。
2.1.1.2创建Service Chain节点
在控制器上完成支撑Service Chain核心交换设备的发现过程,并且在控制器的WEB界面上可呈现对应设备以及端口。管理员可以指定交换设备哪些端口连接着Service Chain节点,并设定节点的工作模式——透明模式还是路由模式。
当管理员在控制器上完成这些配置后,控制器会将对应的端口配置转换成设备支持的CLI(CLI只是可能的一种形式)通过预先配置好的管理通道完成对设备端相关端口的配置。
完成这个步骤后就可以在控制器上看到对应的Service Chain节点,并知晓这些节点的工作模式和关联的交换端口。并且对应的交换设备也完成相关的配置处于待工作状态。
2.1.1.3服务链设置
在控制器上创建服务链需要完成以下几个步骤:
完成这个设置后控制器会生成相关流表并通过OpenFlow协议下发流表到交换设备上完成后续的引流操作,从而实现将指定流按需转发到各个Service Chain节点并最终形成Service Chain功能。
2.1.2 引流
本节简单介绍,在管理员创建了服务链之后,控制器如何下发相关的OpenFlow流表。
目前Service Chain节点通常支持路由模式和透明模式,可能同时支持,也可能支持其中一种,即使两种模式都支持,在工作时也只能处于其中一种模式,因此下文将具体分这两种模式进行介绍。
2.1.2.1路由模式
路由模式指的是Service Chain节点本身具备三层转发功能,其与交换设备之间互联通道需要配置ip地址,交换设备发送报文到这些节点是通过三层路由的方式到达,报文在这些节点返回交换设备时也是通过三层路由的方式到达。
以下图作为路由模式下的引流模型来进行阐述:
为案例覆盖方便,设定:
P1、P2属于SVI下的两个成员口;
P7属于路由口;
P3、P4、P5、P6属于路由口分别与对应的FW和WAF互联。
MGMT口与控制器互联,用于传递配置命令和OpenFlow流表。
2.1.2.2透明模式
透明模式指的是Service Chain节点本身具备透明传输功能,即原报文进原报文出,其与交换设备之间互联通道无需配置ip地址,双方以Bridge(Trunk口)方式互联。交换设备和这些节点之间的报文交互都和报文从源口输入时的内容一致。这点有别于路由模式,路由模式下交换和这些节点之间的交互报文与输入报文是不一致的,二层端口的源MAC/DMAC都已经发生变化。 以下图作为透明模式下的引流模型来进行阐述:
为案例覆盖方便,设定:
P1、P2属于SVI下的两个成员口;
P7属于路由口;
P3、P4、P5、P6属于Uplink口分别与对应的FW和WAF互联。
MGMT口与控制器互联,用于传递配置命令和OpenFlow流表。
2.2 部署
2.2.1 独立交换部署
这种方式是使用一台独立的交换设备来承担整个Service Chain功能,部署如下图所示:
这种部署方式的好处是无需改动现网的整体配置,仅需额外增加一台独立的交换设备和控制器就可实现出口“糖葫芦串”的整改。改动小同时能兼容现网的任意部署配置。
2.2.2 利用已有的核心交换部署
这种方式是使用现有的核心交换来承担整个Service Chain功能,部署如图5所示。
这种部署方式的好处是无需购买新设备保护就有投资,仅需额外增加一台控制器就可实现出口“糖葫芦串”的整改,同时通过适当的引流可以实现内网流量的按需安全防护,提供了Service Chain节点的利用率。由于核心交换同时承担整网的转发行为和Service Chain节点,在网络Service Chain的构建上会更加复杂一些。同时核心交互通常都使用VSU的方式进行部署,而需要改造的“糖葫芦串”通常一个出口都只有一套,因此就面临着使用哪台VSU主机来旁挂Service Chain节点的问题。挂在任意一台设备上的话一旦这台设备挂掉(核心本身有VSU防护,因此不影响整网转发),Service Chain就会失效。
2.2.3 部署比较
如表1所示。
3 结束语
随着数据中心的规模的增大,数据中心的网络问题日益突出,传统的网络架构已无法满足计算数据中心的需要,基于SDN理念的网络,通过解耦网络设备软硬件,释放了网络的灵活性、开放性及创新性,解决了数据中心在发展过程中遇到的瓶颈,实现了用户在数据中心的灵活调配和优化,提高业务服务质量的同时也提升了用户的服务体验。
表1 部署比较
[部署方式 优点 缺点 独立交换部署 1.整网改动量小,几乎可无缝切换。
2.设备独立,并且承担的功能很少因此相对来说非常稳定。即使故障不影响内网业务。 1.额外投资购买一台交换
2.无法针对内网流量进行安全防护 核心交换部署 1.保护投资,不需要额外购买交换设备。
2.流经核心的流量都可按需進行安全防护。 1.部署比较麻烦,需要更改核心配置并动态修改核心的流表,在Service Chain的建立上具有一定复杂度。
2.在核心是VSU部署的情况下,通常Service Chain节点只能部署在其中一台核心交换上,与VSU特性不吻合。 ]
参考文献:
[1] McKEOWN N,ANDERSON T,BALAKRISHNAN H,et al.OpenFlow: enabling innovation in campus networks[J]. ACM SIGCOMMComputer Communication Review,2008,38(2):69-7.
关键词:软件定义网络;网络出口解决方案;服务链
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)31-0022-03
1 概述
1.1 SDN简介
软件定义网络(software defined networking:SDN)[1]起源于2006年美国斯坦福大学Clean Slate的研究课题,SDN是将网络的数据层与控制层分离的一种新型网络架构,通过集中化控制和提供开放控制接口,简化网络管理,支持网络服务的动态应用程序控制。其中网络控制解耦于转发,且网络控制是直接可编程的。SDN实现了网络资源池化并作为服务提供,释放了网络的灵活性、开放性和创新性。
1.2 Service Chain简介
服务链(Service Chain)是报文在网络中传递时,按照业务逻辑要求的顺序经过各种各样的服务节点(服务节点主要包括防火墙、入侵检测、负载均衡等),保证网络能够按照设计要求提供给用户安全、快速、稳定的网络服务。
传统网络的服务链和网络拓扑有紧密的耦合,部署较复杂,在服务链变更、扩容时,都需要改动网络拓扑,重新修订网络设备的配置,无法满足目前数据中心的需求。
面对这个问题,在数据中心网络提出了利用服务器承载虚拟防火墙/负载均衡器等新型网络设备(其实就是NFV(网络功能虚拟化)的一种形态),并将这些虚拟防火墙/负载均衡器部署在逻辑网络的边缘,通过一些特殊的调度方式将对应的数据流引向这些网络设备进而实现按需部署防火墙以及按用户需求完成引流操作。还有就是通过部署物理防火墙,通过一些隧道的方式将用户数据流引导这些物理设备上,经过防火墙处理后再通过隧道方式引回来继续走原路径。
2 Service Chain方案技术原理
2.1 技术原理
在整体的解决方案中,除了一些必要的设备端配置外,基本整个服务链的创建、维护都是通过SDN控制器完成。
2.1.1 服务链创建
2.1.1.1控制器、设备的初始配置及设备发现
控制器:配置控制器的IP地址,完成高级组件Service chain的安裝。
交换设备:配置控制器的IP地址及管理通道IP地址,使得设备控制器之间管理通路可达。
Service Chain:节电设备物理连接在具体交换机的某些端口上。
在完成基础配置后,控制器和设备之间会建立Openflow连接握手过程。控制器和设备端建立TCP连接后,开始OpenFlow协议交互(OpenFlow协议基于TCP),首先双方完成Hello握手,交换双方的OpenFlow协议版本信息,然后通过控制器发送Feature request消息去获取设备端的设备类型、流表能力、端口形态/数量等信息,从而完成对这台设备的发现过程。
2.1.1.2创建Service Chain节点
在控制器上完成支撑Service Chain核心交换设备的发现过程,并且在控制器的WEB界面上可呈现对应设备以及端口。管理员可以指定交换设备哪些端口连接着Service Chain节点,并设定节点的工作模式——透明模式还是路由模式。
当管理员在控制器上完成这些配置后,控制器会将对应的端口配置转换成设备支持的CLI(CLI只是可能的一种形式)通过预先配置好的管理通道完成对设备端相关端口的配置。
完成这个步骤后就可以在控制器上看到对应的Service Chain节点,并知晓这些节点的工作模式和关联的交换端口。并且对应的交换设备也完成相关的配置处于待工作状态。
2.1.1.3服务链设置
在控制器上创建服务链需要完成以下几个步骤:
完成这个设置后控制器会生成相关流表并通过OpenFlow协议下发流表到交换设备上完成后续的引流操作,从而实现将指定流按需转发到各个Service Chain节点并最终形成Service Chain功能。
2.1.2 引流
本节简单介绍,在管理员创建了服务链之后,控制器如何下发相关的OpenFlow流表。
目前Service Chain节点通常支持路由模式和透明模式,可能同时支持,也可能支持其中一种,即使两种模式都支持,在工作时也只能处于其中一种模式,因此下文将具体分这两种模式进行介绍。
2.1.2.1路由模式
路由模式指的是Service Chain节点本身具备三层转发功能,其与交换设备之间互联通道需要配置ip地址,交换设备发送报文到这些节点是通过三层路由的方式到达,报文在这些节点返回交换设备时也是通过三层路由的方式到达。
以下图作为路由模式下的引流模型来进行阐述:
为案例覆盖方便,设定:
P1、P2属于SVI下的两个成员口;
P7属于路由口;
P3、P4、P5、P6属于路由口分别与对应的FW和WAF互联。
MGMT口与控制器互联,用于传递配置命令和OpenFlow流表。
2.1.2.2透明模式
透明模式指的是Service Chain节点本身具备透明传输功能,即原报文进原报文出,其与交换设备之间互联通道无需配置ip地址,双方以Bridge(Trunk口)方式互联。交换设备和这些节点之间的报文交互都和报文从源口输入时的内容一致。这点有别于路由模式,路由模式下交换和这些节点之间的交互报文与输入报文是不一致的,二层端口的源MAC/DMAC都已经发生变化。 以下图作为透明模式下的引流模型来进行阐述:
为案例覆盖方便,设定:
P1、P2属于SVI下的两个成员口;
P7属于路由口;
P3、P4、P5、P6属于Uplink口分别与对应的FW和WAF互联。
MGMT口与控制器互联,用于传递配置命令和OpenFlow流表。
2.2 部署
2.2.1 独立交换部署
这种方式是使用一台独立的交换设备来承担整个Service Chain功能,部署如下图所示:
这种部署方式的好处是无需改动现网的整体配置,仅需额外增加一台独立的交换设备和控制器就可实现出口“糖葫芦串”的整改。改动小同时能兼容现网的任意部署配置。
2.2.2 利用已有的核心交换部署
这种方式是使用现有的核心交换来承担整个Service Chain功能,部署如图5所示。
这种部署方式的好处是无需购买新设备保护就有投资,仅需额外增加一台控制器就可实现出口“糖葫芦串”的整改,同时通过适当的引流可以实现内网流量的按需安全防护,提供了Service Chain节点的利用率。由于核心交换同时承担整网的转发行为和Service Chain节点,在网络Service Chain的构建上会更加复杂一些。同时核心交互通常都使用VSU的方式进行部署,而需要改造的“糖葫芦串”通常一个出口都只有一套,因此就面临着使用哪台VSU主机来旁挂Service Chain节点的问题。挂在任意一台设备上的话一旦这台设备挂掉(核心本身有VSU防护,因此不影响整网转发),Service Chain就会失效。
2.2.3 部署比较
如表1所示。
3 结束语
随着数据中心的规模的增大,数据中心的网络问题日益突出,传统的网络架构已无法满足计算数据中心的需要,基于SDN理念的网络,通过解耦网络设备软硬件,释放了网络的灵活性、开放性及创新性,解决了数据中心在发展过程中遇到的瓶颈,实现了用户在数据中心的灵活调配和优化,提高业务服务质量的同时也提升了用户的服务体验。
表1 部署比较
[部署方式 优点 缺点 独立交换部署 1.整网改动量小,几乎可无缝切换。
2.设备独立,并且承担的功能很少因此相对来说非常稳定。即使故障不影响内网业务。 1.额外投资购买一台交换
2.无法针对内网流量进行安全防护 核心交换部署 1.保护投资,不需要额外购买交换设备。
2.流经核心的流量都可按需進行安全防护。 1.部署比较麻烦,需要更改核心配置并动态修改核心的流表,在Service Chain的建立上具有一定复杂度。
2.在核心是VSU部署的情况下,通常Service Chain节点只能部署在其中一台核心交换上,与VSU特性不吻合。 ]
参考文献:
[1] McKEOWN N,ANDERSON T,BALAKRISHNAN H,et al.OpenFlow: enabling innovation in campus networks[J]. ACM SIGCOMMComputer Communication Review,2008,38(2):69-7.