随着软件定义网络(Software-Defined Networking, SDN)体系结构的演化以及SDN网络管理标准的不断成熟,SDN将逐步朝向大规模的方向发展. 目前,开放网络基金会(Open Networking Foundation, ONF)正在不断推进SDN标准化,其发布的SDN体系结构第1版[1]将SDN的基本体系结构划分为基础设施层、控制层和应用层.
ONF发布的SDN体系结构第1版尽管系统地考虑SDN的管理功能,并指出信息模型是描述该体系结构的核心元素,然而并未提供SDN管理层及信息建模这一重要功能的具体实现细节. 而ONF于2016年发布的SDN体系结构1.1版本[2]也仍未对SDN管理层及信息建模的具体实现细节展开说明.
本文考虑从SDN体系结构演化的视角研究解决SDN管理信息的语义不匹配问题,尝试应用可拓论研究SDN管理信息的基元表示与可拓变换,从而为SDN体系结构演化及其网络管理大规模发展奠定一定的信息表示基础,最终旨在为SDN网络管理的实践发展提供理论支持和方法创新.
1 SDN管理信息的语义不匹配问题考虑到SDN管理层,文献[3]讨论了3种主要实现方式,并分析了各自的优缺点. SDN管理层的第一种实现方式仅将管理作为SDN控制器的一种功能实现,该方式实际上反映的是现有的通用假设,即SDN的管理功能可以通过SDN控制器来实现. 文献[4]则首先采用文献[3]所述的第2种方式,将SDN管理者(SDN Manager)引入到SDN体系结构中,并尝试文献[3]所述的第3种方式,为SDN网络管理功能的实现提供一个分布式执行环境.
值得注意的是,SDN基础设施层不仅包括现有的OpenFlow设备和NETCONF设备,随着SDN的不断发展成熟,未来还可能包括一些遵循SDN新标准的设备. 同时,SDN基础设施层中的各种设备还可能动态更新,包括添加和移除等. 更进一步,SDN与非SDN网络管理方法将在下一代互联网环境中共存[5-7]. 在SDN与非SDN的集成环境中,各种不同管理接口和协议的大量使用将导致SDN网络管理更为复杂. 相对于管理信息元模式而言,管理信息自身的动态性更为显著.
上述这些原因将可能导致SDN管理层信息模型的描述域与SDN基础设施层信息模型的描述域之间出现SDN管理信息的语义不匹配问题. 当SDN基础设施层存在更新时,新设备的添加或现有设备的升级都可能为SDN基础设施层的信息模型导入新的管理信息库(Management Information Base, MIB),而SDN管理层的信息模型由于维护的是基础设施层信息模型的影子MIB(Shadow MIB),若未及时更新SDN管理层对应的描述域,就会出现SDN基础设施层的一些被管对象(Managed Object, MO)在SDN管理层信息模型中无法获取对应的语义信息,即SDN管理信息的语义不匹配问题.
2 SDN管理信息的基元表示 2.1 基元的引入在研究解决如上所述的SDN管理信息语义不匹配问题时,尝试利用形式化方法实现SDN管理层适应基础设施层管理信息描述域的动态性,而可拓学正是用形式化模型探讨事物拓展与变换的可能性以及开拓创新的规律与方法,并用于解决矛盾问题的新学科[8]. 可拓学经历了一个从理论到应用的发展阶段[9-12],参与研究和应用可拓学的国内外科技工作者也越来越多.
可拓学的基本理论是可拓论,其3大支柱是基元理论、可拓集合理论与可拓逻辑[13-15]. 可拓论建立了形式化和规范化描述信息与知识的一种新模型,为研究解决SDN网络管理中管理层与基础设施层之间可能存在的管理信息语义不匹配问题提供了一种可行性方案. 作为可拓学的逻辑细胞,基元包括物元、事元和关系元,它们的复合形式统称为复合元. 可拓模型正是以基元为逻辑细胞解决矛盾问题的形式化工具.
式(1)给出了基元的一个通用定义,其中O表示一个对象,
$B = \left[ \begin{aligned}O,\;\;\;\;\;&{c_1},&{v_1}\\{\rm{ }}&{c_2},&{v_2}\\{\rm{ }}& \cdots \cdots \\{\rm{ }}&{c_n},&{v_n}\end{aligned} \right].$ | (1) |
更进一步,类基元可以用式(2)定义,其中{O}表示一类对象,
$\left\{ B \right\} = \left[ \begin{aligned}\left\{ O \right\},\;\;\;\;\;&{c_1},&{V_1}\\{\rm{ }}&{c_2},&{V_2}\\& \cdots \cdots \\{\rm{ }}&{c_n},&{V_n}\end{aligned} \right].$ | (2) |
当SDN管理信息的研究主要依赖于主观性因素时,SDN网络管理在信息建模问题上的规范化需求将难以得到满足.因此,考虑应用可拓模型,用于规范SDN管理信息表示.
目前,面向SDN网络管理的OpenFlow管理与配置协议OF-Config 1.2版本[16]提供的管理信息模型是与YANG语言兼容的,依据式(1),通过参考YANG语法[17],分别得到SDN管理信息的MIB模块、MO类型定义、标量对象以及对象数组等的基元表示.
1)SDN管理信息的MIB模块.
SDN设备MIB由多个模块组成,在YANG语法中,由module statement来定义,并且还可以通过belongs-to从属关系由submodule statement来定义子模块.SDN管理信息MIB模块的基元表示可以采用如式(3)所示的物元实现.
${M_{{\rm{mib}}}}{\rm{ = }}\left[ {\begin{array}{*{20}{l}} {{\rm{SDN\_MIB,}}}&{{\rm{模块名}},}&{{v_{{\rm{mib - name}}}}}\\ {}&{{\rm{YANG版本}},}&{{v_{{\rm{version}}}}}\\ {}&{{\rm{命名空间}},}&{{v_{{\rm{namespace}}}}}\\ {}&{{\rm{前缀}},}&{{v_{{\rm{prefix}}}}}\\ {}&{{\rm{所属关系}},}&{{v_{{\rm{belongs - to}}}}}\\ {}&{{\rm{导入连接}},}&{{v_{{\rm{import}}}}}\\ {}&{{\rm{包含连接}},}&{{v_{{\rm{include}}}}}\\ {}&{{\rm{组织信息}},}&{{v_{{\rm{organization}}}}}\\ {}&{{\rm{联系信息}},}&{{v_{{\rm{contact}}}}}\\ {}&{{\rm{描述信息}},}&{{v_{{\rm{description}}}}}\\ {}&{{\rm{参考信息}},}&{{v_{{\rm{reference}}}}}\\ {}&{{\rm{修改记录}},}&{{v_{{\rm{revision}}}}}\\ {}&{{\rm{模块定义}},}&{{v_{{\rm{definition}}}}} \end{array}} \right].$ | (3) |
2)SDN管理信息的MO类型定义.
对于SDN管理信息所包含的各种MO,需要规范相关的类型,在YANG语法中,由typedef statement来定义.SDN管理信息中MO类型定义的基元表示可以采用如式(4)所示的物元实现.
${M_{{\rm{typedef}}}} = \left[ \begin{array}{*{20}{l}}{\rm{SDN\_Type}},&\text{类型名},&{v_{{\rm{type - name}}}}\\&\text{类型说明},&{v_{{\rm{type}}}}\\&\text{描述单位},&{v_{{\rm{units}}}}\\&\text{默认值},&{v_{{\rm{default}}}}\\&\text{描述信息},&{v_{{\rm{description}}}}\\&\text{参考信息},&{v_{{\rm{reference}}}}\\&\text{状态信息},&{v_{{\rm{status}}}}\end{array} \right].$ | (4) |
3)SDN管理信息的标量对象.
SDN管理信息所包含的一类基本MO是标量对象,在YANG语法中,由leaf statement来定义.SDN管理信息中标量对象的基元表示可以采用如式(5)所示的物元实现.
${M_{{\rm{leaf}}}} = \left[ \begin{array}{*{20}{l}}{\rm{SDN\_Leaf}},&\text{标量对象名},&{v_{{\rm{scalar - name}}}}\\&\text{配置信息标识符},&{v_{{\rm{config}}}}\\&\text{默认值},&{v_{{\rm{default}}}}\\&\text{描述信息},&{v_{{\rm{description}}}}\\&\text{条件特征},&{v_{{\rm{if - feature}}}}\\&\text{必选标识符},&{v_{{\rm{mandatory}}}}\\&\text{限制条件},&{v_{{\rm{must}}}}\\&\text{参考信息},&{v_{{\rm{reference}}}}\\&\text{状态信息},&{v_{{\rm{status}}}}\\&\text{类型说明},&{v_{{\rm{type}}}}\\&\text{描述单位},&{v_{{\rm{units}}}}\\&\text{必备条件},&{v_{{\rm{when}}}}\end{array} \right].$ | (5) |
4)SDN管理信息的对象数组.
在SDN管理信息中,对象数组表示标量对象的集合,由YANG语法中的leaf-list statement来定义.SDN管理信息对象数组的基元表示可以采用如式(6)所示的物元实现.
${M_{{\rm{leaf - list}}}} \!=\! \left[ \begin{array}{*{20}{l}}\!\!\!\!{\rm{SDN\_LeafList}},\!\!\!\!\!\!\!&\!\!\!\text{对象数组名},\!\!\!\!\!&\!\!\!\!{v_{{\rm{array - name}}}}\!\!\!\! \\\!\!\!\!\!\!\!\!&\!\!\!\text{配置信息标识符},\!\!\!\!\!\!&\!\!\!\!{v_{{\rm{config}}}}\!\!\!\! \\\!\!\!\!\!\!\!\!&\!\!\!\text{描述信息},\!\!\!\!\!\!&\!\!\!{v_{{\rm{description}}}}\!\!\!\! \\\!\!\!\!\!\!\!\!&\!\!\!\text{条件特征},\!\!\!\!\!\!&\!\!\!\!{v_{{\rm{if - feature}}}}\!\!\!\! \\\!\!\!\!\!\!&\!\!\!\text{最大个数},\!\!\!\!\!&\!\!\!\!{v_{{\rm{max - elements}}}}\!\!\!\!\!\!\! \\\!\!\!\!\!\!\!\!&\!\!\!\text{最小个数},\!\!\!\!\!\!&\!\!\!\!{v_{{\rm{min - elements}}}}\!\!\!\!\!\!\! \\\!\!\!\!\!\!&\!\!\!\text{限制条件},\!\!\!\!\!&\!\!\!\!{v_{{\rm{must}}}}\!\!\!\! \\\!\!\!\!\!\!&\!\!\!\text{排序标识符},\!\!\!\!\!&\!\!\!\!{v_{{\rm{ordered - by}}}}\!\!\!\! \\\!\!\!\!\!\!\!\!&\!\!\!\text{参考信息},\!\!\!\!\!\!&\!\!\!\!{v_{{\rm{reference}}}}\!\!\!\! \\\!\!\!\!\!\!\!\!&\!\!\!\text{状态信息},\!\!\!\!\!\!&\!\!\!\!{v_{{\rm{status}}}}\!\!\!\! \\\!\!\!\!\!\!\!\!&\!\!\!\text{类型说明},\!\!\!\!\!\!&\!\!\!\!{v_{{\rm{type}}}}\!\!\!\! \\\!\!\!\!\!\!\!\!&\!\!\!\text{描述单位},\!\!\!\!\!\!&\!\!\!\!{v_{{\rm{units}}}}\!\!\!\! \\\!\!\!\!\!\!\!\!&\!\!\!\text{必备条件},\!\!\!\!\!\!&\!\!\!\!{v_{{\rm{when}}}}\!\!\!\!\end{array} \right].$ | (6) |
为了实现SDN管理信息的基元表示,通过应用可拓模型,从基元表示的角度实现SDN管理信息的统一形式化描述.
3 可拓变换的应用 3.1 SDN管理信息的可拓变换考虑到SDN管理层与基础设施层之间可能存在的管理信息语义不匹配问题,当SDN基础设施层的管理信息基元表示发生变化时,SDN管理层的管理信息基元表示应保持一致性,因此,应用基元的可拓变换,从形式化的角度研究解决SDN管理信息的语义不匹配问题.
设SDN基础设施层的管理信息基元表示为BI,考虑以下场景:
(1)当需要添加SDN设备时,设其管理信息基元表示为Ba,则可以通过基元的增加变换Ta,使得
(2)当需要移除SDN设备时,设其管理信息基元表示为Bd,则可以通过基元的删减变换Td,使得
更进一步,设SDN管理层的管理信息基元表示为
为了通过实例分析说明应用可拓变换研究解决SDN管理层与基础设施层之间存在的管理信息语义不匹配问题,对已有的管理信息基元表示做一些简化处理。
首先,在式(5)的基础上,提取SDN被管对象MO的基本特征,得到一种简化的物元表示,如式(7)所示,其中,Object指SDN网络管理中的一个MO.
${M_{{\rm{MO}}}} = \left[ \begin{array}{*{20}{l}}{\rm{Object}},&\text{被管对象名},&{v_1}\\&\text{描述信息},&{v_2}\\&\text{状态信息},&{v_3}\\&\text{类型说明},&{v_4}\\&\text{对象标识符},&{v_5}\end{array} \right].$ | (7) |
需要说明的是,在式(7)中,描述信息包含该MO的语义信息,新增对象标识符这一属性作为MO的唯一标识符,具有相同语义的2个或以上MO应分配相同的属性值,且应表达为同一个基元.
依据式(2),针对如式(7)所示的SDN管理信息基元表示方法,其类基元可以用式(8)来定义,其中,{Object}表示SDN网络管理中的一类MO,实质是具有相同属性的MO集合.
$\left\{ {{M_{{\rm{MO}}}}} \right\} = \left[ \begin{array}{*{20}{l}}\left\{ {{\rm{Object}}} \right\},&\text{被管对象名},&{V_1}\\&\text{描述信息},&{V_2}\\&\text{状态信息},&{V_3}\\&\text{类型说明},&{V_4}\\&\text{对象标识符},&{V_5}\end{array} \right].$ | (8) |
接着,从式(3)中提取SDN管理信息MIB模块的基本特征,得到一种简化的物元表示,如式(9)所示,其中,MIB指SDN网络管理中的一个MIB模块,MMIB的模块定义属性值v2可以是MO物元表示实例的集合.
${M_{{\rm{MIB}}}} = \left[ \begin{array}{*{20}{l}}{\rm{MIB}},&\text{模块名},&{v_1}\\&\text{模块定义},&{v_2}\end{array} \right].$ | (9) |
在简化SDN管理信息基元表示的基础上,具体分析当SDN基础设施层存在更新时如何从形式化的视角研究解决SDN管理信息的语义不匹配问题.
假设SDN基础设施层原有一台OpenFlow设备,其信息模型仅包含如下管理对象MO1,可以表示为如下物元
${M_{{\rm{M}}{{\rm{O}}_1}}} \!=\! \left[ \begin{array}{*{20}{l}}\!\!\! {\rm{Objec}}{{\rm{t}}_1},&\text{被管对象名},&{\rm{M}}{{\rm{O}}_1}\\\!\!\! &\text{描述信息},&\text{"系统名称"} \!\!\!\! \\\!\!\! &\text{状态信息}, \!\!\!\! \\\!\!\! &\text{类型说明},&{\rm{String}} \!\!\!\!\! \\\!\!\! &\text{对象标识符},&\end{array} \right].$ |
依据式(9),其信息模型可简化为如下复合元
$\!\!{M_{{\rm{MI}}{{\rm{B}}_{{e}}}}} = \left[ \begin{array}{*{20}{l}}{\rm{MI}}{{\rm{B}}_{{e}}},\!\!\!\!&\text{模块名},&\!\!\!\!{\rm{example\;MIB\;for\;SDN}}\!\!\!\! \\&\!\!\text{模块定义},&\!\!\!\!\left\{ {{M_{{\rm{M}}{{\rm{O}}_{\rm{1}}}}}} \right\}\end{array} \right].$ |
当SDN基础设施层添加一台NETCONF设备,需要导入新的管理对象MO2和MO3.
管理对象MO2可以表示为如下物元
${M_{{\rm{M}}{{\rm{O}}_{\rm{2}}}}} = \left[ \begin{array}{*{20}{l}}{\rm{Objec}}{{\rm{t}}_{\rm{2}}},&\text{被管对象名},&{\rm{M}}{{\rm{O}}_{\rm{2}}}\\&\text{描述信息},&\text{"系统名称"}\\&\text{状态信息},&{\rm{mandatory}}\\&\text{类型说明},&{\rm{String}}\\&\text{对象标识符},&.1.3.6.1.2.1.1.5 \end{array} \right].$ |
管理对象MO3可以表示为如下物元
${M_{{\rm{M}}{{\rm{O}}_{\rm{3}}}}} = \left[ \begin{array}{*{20}{l}}{\rm{Objec}}{{\rm{t}}_{\rm{3}}},&\text{被管对象名},&{\rm{M}}{{\rm{O}}_{\rm{3}}}\\&\text{描述信息},&\text{"网络接口数"}\\&\text{状态信息},&{\rm{mandatory}}\\&\text{类型说明},&{\rm{Integer}}\\&\text{对象标识符},&.1.3.6.1.2.1.2.1\!\!\!\end{array} \right].$ |
对
$\begin{aligned}{T_a}{M_{{\rm{MI}}{{\rm{B}}_e}}} \!\!\!&=\! \left[ \begin{array}{*{20}{l}}\!\!\! {\rm{MI}}{{\rm{B}}_e},\!\!\!&\!\!\!\text{模块名},\!\!\!\!\!&\!\!\!{\rm{example\;MIB\;for\;SDN}}\\\!\!\! &\!\text{模块定义},\!\!\!\!\!&\!\!\!{M_{{\rm{M}}{{\rm{O}}_1}}} \oplus {M_{{\rm{M}}{{\rm{O}}_2}}} \oplus {M_{{\rm{M}}{{\rm{O}}_{\rm{3}}}}} \!\!\!\!\end{array}\!\!\! \right]\! =\\& \left[ \begin{array}{*{20}{l}}\!\!\! {\rm{MI}}{{\rm{B}}_e},\!\!\!\!\!&\!\!\!\text{模块名},\!\!\!&\!\!\!\!\!{\rm{example\;MIB\;for\;SDN}}\\\!\!\! &\!\text{模块定义},\!\!\!&\!\!\!{M_{{\rm{M}}{{\rm{O}}_{\rm{2}}}}} \oplus {M_{{\rm{M}}{{\rm{O}}_{\rm{3}}}}} \!\!\!\!\end{array} \right]=\\\!& \left[ \begin{array}{*{20}{l}}\!\!\! {\rm{MI}}{{\rm{B}}_e},\!\!\!&\!\!\!\text{模块名},\!\!\!&\!\!\!{\rm{example\;MIB\;for\;SDN}}\\\!\!\! &\!\text{模块定义},\!\!\!&\!\!\!\left\{ {{M_{{\rm{M}}{{\rm{O}}_{\rm{2}}}}},{M_{{\rm{M}}{{\rm{O}}_{\rm{3}}}}}} \right\}\!\!\! \!\end{array} \right].\end{aligned}$ |
值得注意的是,由于管理对象MO1和MO2的语义(描述信息属性值)相同,它们的对象标识符属性值应该分配为相同的值,且应表达为同一个基元,故有
假设SDN管理层的信息模型(即影子MIB)的基元表示为
实例分析结果表明,通过应用可拓论研究SDN管理信息的基元表示与可拓变换,可以从形式化的角度解决SDN管理层信息模型的描述域与SDN基础设施层信息模型的描述域之间可能存在的SDN管理信息的语义不匹配问题.
4 结论本文应用可拓论研究解决SDN管理层与基础设施层之间可能存在的管理信息语义不匹配问题,首先提出SDN管理信息的基元表示,然后对其进行可拓变换,从而为SDN体系结构演化及其网络管理大规模发展建立一定的信息表示基础.
[1] | Open Networking Foundation. SDN Architecture issue 1 [R]. [S.l.]: ONF TR-502, 2014. |
[2] | Open Networking Foundation. SDN Architecture issue 1.1 [R]. [S.l.]: ONF TR-521, 2016. |
[3] | KUKLINSKI S, CHEMOUIL P. Network management challenges in software-defined networks[J]. IEICE Transactions on Communications, 2014, E97-B(1): 2-9. DOI: 10.1587/transcom.E97.B.2. |
[4] | KUKLINSKI S. Programmable management framework for evolved SDN [C]//IEEE. Proceedings of 14th IFIP/IEEE Network Operations and Management Symposium. Piscataway: IEEE Press, 2014: 1-8. |
[5] | FARIAS F N N, SALVATTI J J, CERQUEIRA E C, et al. A proposal management of the legacy network environment using openflow control plane [C]//IEEE. Proceedings of 13th IFIP/IEEE Network Operations and Management Symposium. Piscataway: IEEE Press, 2012: 1143-1150. |
[6] | KOUTSOURIS N, TSAGKARIS K, DEMESTICHAS P, et al. Managing software-driven networks with a unified management framework [C]//IEEE. Proceedings of 13th IFIP/IEEE International Symposium on Integrated Network Management. Piscataway: IEEE Press, 2013: 1084-1085. |
[7] | KIM D, GIL J M, WANG G, et al. Integrated SDN and non-SDN network management approaches for future internet environment [C]//PARK J J, NG J K, JEONG H, et al. Multimedia and Ubiquitous Engineering. Berlin Heidelberg: Springer-Verlag, 2013: 529-536. |
[8] | 蔡文. 可拓集合和不相容问题[J]. 科学探索学报, 1983(1): 83-97. |
[9] | 蔡文. 可拓论及其应用[J]. 科学通报, 1999, 44(7): 673-682. |
[10] |
赵燕伟, 周建强, 洪欢欢, 等. 可拓设计理论方法综述与展望[J].
计算机集成制造系统, 2015, 21(5): 1157-1167.
ZHAO Y W, ZHOU J Q, HONG H H, et al. Overview and prospects of extension design methodology[J]. Computer Integrated Manufacturing Systems, 2015, 21(5): 1157-1167. |
[11] |
李卫华, 傅晓东. 可拓创新软件体系结构研究[J].
广东工业大学学报, 2016, 33(2): 1-4.
LI W H, FU X D. A research on extension innovation software architecture[J]. Journal of Guangdong University of Technology, 2016, 33(2): 1-4. |
[12] |
李宇洁, 李卫华. 基于第一创造法的可拓创新软件设计[J].
广东工业大学学报, 2017, 34(02): 6-11.
LI Y J, LI W H. An extension innovation software design based on the First Creative Method[J]. Journal of Guangdong University of Technology, 2017, 34(02): 6-11. |
[13] | 蔡文, 杨春燕, 何斌. 可拓逻辑初步[M]. 北京: 科学出版社, 2003. |
[14] | YANG C Y, CAI W. Extenics: theory, method and application [M]. Beijing: Science Press, 2013 & Columbus: The Educational Publisher, 2013. |
[15] | 杨春燕, 蔡文. 可拓学[M]. 北京: 科学出版社, 2014. |
[16] | Open Networking Foundation. Open Flow Management and Configuration Protocol Version 1.2: ONF TS-016 [S]. [S.l.]: Open Networking Foundation, 2014. |
[17] | BJORKLUND M. YANG-A Data Modeling Language for the Network Configuration Protocol (NETCONF): RFC6020 [S]. [S.l.]: Internet Engineering Task Force, 2010. |