软件定义网络应用的新探索
2018-03-21智勇博科通讯有限公司上海
智勇 博科通讯有限公司,上海
1 SDN的概念和优势
1.1 SDN的概念和架构
SDN技术源自于斯坦福大学的Clean State项目,其目标是打破传统网络的封闭格局,开创更加开放和灵活的网络新架构。近几年来,SDN越多越来越的得到了网络厂商、解决方案提供商和最终用户的普遍关注和重视。软件定义网络,顾名思义就是将软件系统与网络硬件平台通过开放式的API接口相结合,通过软件的可编程、可定制和自动化特性,实现在网络硬件平台上的集中化管理、自动化运维、快速的功能开发和灵活的业务部署。
传统的网络设备可以看做是一套封闭的软硬件结合的系统,各厂商在其专用的硬件平台甚至专用芯片之上,配合各自独有的网络操作系统,提供不同风格的管理界面。在传统的网络中,一方面需要用户在设备上进行配置和设定,另外设备之间也通过标准的网络协议进行交互,从而实现转发表项的生成和数据报文的转发。 而在SDN网络中,则采用了层次化的架构和开放式的模型(图1):整个网络划分为SDN应用层、网络控制器层和硬件转发层。通过网络控制器与上层应用平台之间的北向接口(Northbound Interface)以及控制器与硬件设备之间的南向接口(Southbound Interface),实现控制信令的下发、流量信息的采集、设备状态的监测以及数据报文的转发。
图1 SDN网络的详细架构
1.2 SDN相对于传统网络的优势
基于SDN的网络架构改变了传统网络平台的运行模式,将设备的控制层从各个厂商专有的操作系统平台中抽取出来,通过灵活的可编程软件系统与设备之间标准的API接口,实现控制信令的收发和数据报文的转发。这种方式具备了很多方面的优势:
1.2.1 避免厂商锁定。传统网络设备采用了封闭的软硬件一体化架构,提供了各自独特的操作系统界面、接口甚至私有协议。而SDN通过层次化的架构和标准的接口,构建了全新的开放式系统,使得用户能够避免被特定厂商设备的界面、接口和协议锁定,拥有更多的选择权;
1.2.2 确保互联互通。不同厂商的设备在互联时,即便都是采用了标准的通信协议,但各自的实现方式各有不同,因此常常会出现互通的问题。SDN在能够有效避免设备之间复杂的协议交互,提升设备之间的互联互通的兼容性;
1.2.3 提高开发效率。在传统的网络设备上开发新的功能和特性,需要综合考虑到底层的硬件架构、操作系统的支持、与其他功能的兼容性,同时还受限于各厂商各自的计划和进度(一般以月或者季度来计算)。而SDN模型通过将上层控制系统与底层硬件平台解耦,特性的开发将更多的侧重在外部独立的应用软件平面,开发周期能缩短到以周甚至天来计算,因此用户能够更加有效的把控并推进新业务的部署。
1.2.4 简化管理维护。SDN模式下,管理员主要是面向网络应用系统来进行配置和维护,软件系统能够提供更加友好的使用界面,大大简化管理维护难度。同时,SDN减少甚至消除了在网络节点之间大量的网络协议交互,因而能够降低了整个网络的复杂程度。
1.2.5 提高利用效率。在传统网络架构下,每台设备都是一个独立的个体,有各自的路由策略和转发规则,很难做到全网资源的统一调度。SDN能够通过集中的应用系统,面向整个网络平台,综合考虑设备负载、链路负载、转发延时、线路费用等因素,进行全网的资源状态收集和全局的资源调度,实现最优化的数据转发,提升整网的利用效率。
1.2.6 推进自动化运维。SDN能够充分发挥软件灵活和自动化的特性,将传统的需要人工完成的重复性、机械性、触发性的工作转化为软件的自动化执行,进一步与网络的故障、配置、计量、性能和安全管理相结合,推进网络管理和运维的自动化。
2 SDN混合部署模式
2.1 SDN混合部署模式及转发逻辑
所谓的混合模式的SDN,如图2所示,就是在硬件设备的控制层面保留传统路由交换协议的同时,开启SDN相关协议,接受来自外部集中控制层面下发的指令,并且允许在同一物理端口同一VLAN上同时使能这些协议。设备在进行转发时,能够支持基于SDN控制层面所下发的转发表项,如Openflow流表进行转发,也能够通过传统路由交换协议所产生的转发表进行转发。
图2 SDN混合模式的架构
当设备处于SDN混合模式时,为了避免路由交换协议与SDN协议之间产生冲突,针对不同情况下采用何种转发方式,这在混合模式设计之初就需要有明确的设定,以Openflow为例硬件设备的具体转发逻辑如下:
(1)当设备端口设置为混合模式时,该端口一方面继续正常参与传统的路由交换协议的交互和转发表项的生成,同时也接受来自SDN应用和控制器下发的Openflow流表作为转发表项;
(2)来自该端口的流量首先会与Openflow流表进行匹配,当流量能够匹配时,将按照流表的定义进行转发或执行其他动作;
(3)在上述情况中,如果匹配流表的动作为normal,则意味着匹配到的流量将通过传统的路由交换协议产生的转发表进行转发;
(4)当来自该端口的流量未能匹配到流表时,这些流量也将由交换机通过传统的路由交换协议产生的转发表进行转发。
2.2 采用混合模式部署方案的优势
(1)不需要提前区分哪些流量采用路由交换转发,哪些通过SDN转发,所有流量都通过混合模式的端口进行转发。这样就不需要改变现有的网络架构,保持当前的传统路由交换协议不变,只需要叠加SDN协议就能够在现有网络上实现平滑的SDN部署。
(2)只需要通过流表对特定的流量(如异常或攻击流量)进行相应的控制即可,剩余的绝大部分流量仍可以通过传统的路由或交换实现转发,这大大减少了所消耗的流表条目数和流表管理的工作量,使SDN真正能够得到规模化的部署。
(3)当基于流表进行转发的机制出现异常时,还能回落到基于传统路由交换进行报文转发的模式,网络的健壮性和可靠性能够得到有效的保障。
3 SDN混合部署模式的应用探索——以在园区网中部署基于Openflow的用户管理功能为例
通过混合模式,在传统网络中部署SDN将变得简单和灵活。以在园区网中部署基于Openflow的用户管理为例,通过SDN的方式为园区网提供用户接入、身份认证、权限控制以及基于访问时长和流量计费的功能。
3.1 应用的实际效果
(1)当用户接入网络,能够正常访问园区内部的资源,内部用户之间也可以实现相互的访问;
(2)当用户访问园区外部资源时,用户的HTTP访问请求将被重定向到WEB Portal服务器上,用户需要在Portal页面上输入自己的用户名和密码进行身份验证;
(3)身份验证通过的用户将获得访问外部资源的权限,并控制访问外部资源的下载速率;
(4)根据用户的访问时长或上下行流量,对用户进行计费。
图3是针对该应用需求搭建的模拟环境,使用了一台SDN设备作为测试平台,提供基于Openflow混合模式的SDN功能。为了模拟实际的应用场景,还部署了园区出口防火墙、WEB重定向服务器、Web Portal服务器、AAA认证授权计费服务器以及相应的SDN应用软件和控制器。
图3 SDN混合模式实现用户管理的模拟环境架构
3.2 具体流程
在SDN设备上,采用了Openflow 混合端口模式,同一物流端口同一VLAN下的流量,可以同时支持基于路由交换转发表的转发和基于Openflow流表的转发。当报文抵达开启混合模式的端口后,首先会执行流表的查询,如果匹配,则按照流表的定义执行相应的动作;而如果没有匹配,或者匹配流表的action为Normal,则按照传统路由交换来进行转发。具体的流程如下:
(1)来自图中1/20端口的终端报文抵达SDN设备后,首先匹配到基础流表:当报文的目的地址为园区内网络地址段时,执行动作为Normal,即允许用户相互之间互访,并能够访问内网资源、内部DNS和DHCP服务器等。
(2)没有匹配到上述基础流表的流量,将匹配到一条重定向流表。需要注意的是,由于流表的匹配是按照优先级排定顺序的,因此重定向流表的优先级要低于上述基础流表。匹配到重定向流表的流量将被发送到WEB重定向服务器所在的端口1/10,流表的动作同时包含了修改报文的VLAN ID为重定向服务器所在的VLAN、目的MAC为重定向服务器的MAC。这样重定向服务器收到修改后的报文后才能够正常进行重定向处理。
(3)重定向服务器会返回HTTP 302重定向信息,由于Openflow的流表是有方向性的,此时同样需要定义一条流表匹配重定向服务器返回给终端的流量,流表的action为normal,使得HTTP 302信息能够通过正常的路由/交换转发到客户端。
(4)客户端的HTTP请求被重定向到内网的Web Portal服务器,此时客户端与WEB Portal之间交互的流量也是通过基础流表来匹配和转发的。
(5)客户端在Web Portal上输入用户名、密码信息,Web Portal将账号信息发送到SDN应用APP,该APP将作为Radius Client到AAA服务器上进行认证。用户身份认证成功后,一方面需要在Portal页面上显示认证成功信息,同时也要通过SDN控制器下发允许这个用户访问外网的流表,这条流表同样通过action normal实现。
(6)如果园区网有多个出口,用户还可以通过Web Portal页面自主选择不同的出口,这是目前热门的园区网多运营商的需求,只需在流表中设定发往不同的output端口,就能很灵活的实现。
(7)如果需要对该用户下行流量进行速率限制,可以设定用户下行方向的流表,并通过流表中的meter动作来实现速率的限制。
3.3 优势
通过上面的这个模拟环境可以看出,采用了SDN混合模式来实现用户管理功能,相比于传统价格昂贵的专用设备而言,具有部署简单、使用灵活、性价比高的优势:
(1)除了预设有限数量的基础流表外,每个用户最少只需要消耗上行1条流表或者和上下行2条流表(如果需要下行方向限速),而且只是在用户需要访问外网时才消耗这2条流表。相对于纯Openflow模式,能够大大节省流表资源的占用,提供更多的用户接入能力;
(2)SDN设备中的流表是无状态的,完全依赖于上层应用的流表管理和下发,因此SDN设备出现故障重启或更换后,只需要重新下发流表即可,不需要用户重新认证;
(3)可选的设备类型丰富,从接入层到核心层,只需要支持Openflow混合模式即可,可以满足不同场景不同用户数量的接入需求;
(4)IPv6的流程与IPv4完全相同,因此能够平滑支持IPv4/IPv6双栈;
(5)如有精细化管理的需要,可以为每个用户的不同业务使用不同的流表进行控制,而每条流表都有独立的meter和counter,因此流量的控制和统计更加灵活;
(7)当园区网多运营商共同运营时,可以非常灵活的实现用户自主选择运营商出口。
4 结束语
数据通信网络从1969年ARPAnet开始至今,已经有接近半个世纪的发展,TCP/IP协议也经历了30多年的广泛应用,成为了如今互联网的基础协议。而SDN的概念从提出至今也不过才短短几年时间,SDN的集中管理的模型、控制和转发层面的分离、操作系统的开放接口和硬件的可编程化,可以看做是对现有网络模型的优化和完善,而非要将传统的网络协议整体推倒重来。
特别是在目前阶段,在人才储备、网络应用和硬件支持等方面都尚未完善的情况下,SDN更应该作为现有网络架构和应用的有益补充,采用如混合模式的部署方案,在传统网络上更加简单灵活高效的实现特定的功能。因此目前的SDN不应该是全面的颠覆、而更应该是相互的融合。
[1]黄韬、刘江、魏亮、张娇、杨帆等著软件定义网络核心原理与应用实践[M]北京:中国工信出版集团,人民邮电出版社,2016:19-21页
[2]张卫峰.深度解析SDN 利益、战略、技术、实践[M].北京:电子工业出版社,2015:67-75页
[3]Thomas Nadeau D, Ken Gary 著,毕军、单业、张绍宇 等 译软件定义网络 SDN与OpenFlow解析[M]北京:人民邮电出版社,2014:127-132页