SR架构下的软件定义信息中心网络概率路由策略*
2021-02-25吴宇彤周金和
吴宇彤,周金和
(北京信息科技大学 信息与通信工程学院,北京100101)
0 引 言
传统的TCP/IP网络以IP地址为寻址依据,其体系架构和服务质量已无法满足当今用户的需求,人们开始设计新型网络架构,因此以内容为中心的信息中心网络(Information-Centric Network,ICN)作为一个新型网络范式逐渐兴起。ICN具有缓存功能,可以为数据命名,同时其以内容为中心,实现了数据内容和IP地址的分离。ICN的挑战是寻找最优的路由策略,使用户更高效快捷地获取所需内容。
随着通信网络的发展,路由业务与日俱增,传统的网络架构设计已不能满足行业和客户需求,可实现网络虚拟化的软件定义网络(Software Defined Network,SDN)开始被广泛应用。由于SDN的最大特点是数据面控制面解耦,控制器效率提高,故基于SDN的路由策略可以最大程度地降低损耗,提高实用性。分段路由(Segment Routing,SR)是一种新型的MPLS(Multi-Protocol Label Switching)技术,它集中了控制器下发的内容,将路径信息都放在标签栈中统一下发给源节点。SR也可与ICN结合运用,使路由转发更加高效。
信息中心网络打破了互联网基于IP进行操作的传统,未来互联网的体系架构将逐渐向集中式发展。SDN作为近年来出现的一种新的网络范式,解耦分离控制平面和数据平面,集中控制使网络更高效[1]。 但基于SDN控制器的集中管理不能有效减轻控制器下发内容的负担。
文献[2-4]分别体现出了ICN、SDN和SR各自的优势,但三者之间的有机融合程度较低,不能很好地满足当前用户对于内容和效率的需求。基于以上研究,本文提出一种SR架构下的软件定义信息中心网络概率路由算法,将ICN作为网络背景,架构选用结合SDN与SR各自优势的混合控制器架构,统一下发标签到源节点可以有效减轻控制器下发流表的负担,同时不必再担心节点可能失效的问题。为计算出数据包转发的最佳路径,在这一架构上采用一种具有迭代环节的自适应概率路由算法,该策略将节点发送数据包的概率进行迭代一定次数后,使网络趋于稳定。同时,该路由策略能够有效增加网络容量,减少发送数据包时的平均路径长度。
1 ICN中的SDN和SR
ICN以内容为中心,有数据命名的特点。目前已有许多ICN和SDN相结合的工作,两者结合的核心思想是:网内有一个集中控制节点,控制器可以和域内节点交互来获取信息。控制平面进行路由路径的规划,数据平面根据控制器指令转发ICN数据并找到请求的用户。执行传统的MPLS协议需要大量信令协议,并且不支持与SDN的结合,SR控制器与传统MPLS数据平面结合后,控制器与各节点的交互可以省去,改为和源节点交互,一次下发路径的所有标签,减轻控制器负载,同时避免节点突然失效导致的转发失败。
传统的网络设备各自集成,软件定义网络方法将控制面与数据面分离,进行集中控制与交互,使得网络具有更高灵活性。由控制器下发一个带有全路径分段标签的列表到源节点就可以进行数据包的转发,同时也支持与SDN的结合使用。在ICN中把SDN和SR结合,可以最大限度发挥各自优势,减轻控制器负担,使内容转发更快捷。
为将SDN的控制面数据面分离特性以及SR的路径集中下发和标签转发等优点最大化,本文提出一个软件定义信息中心网络的架构,该架构可以应用在ICN中,是一个控制面和数据面分离后分别集成的架构,可以有效降低控制器负担,提高网络的稳定性。
2 架构模型
本文所提架构运用于ICN中,首先讨论一个ICN中的SDN。SDN控制平面通过南向接口协议获取目标网络信息,根据用户请求计算出数据包发送的最佳路径,后将转发规则和路径信息下发至该流路径要经过的每一个节点。这一操作意味着最佳路径中的每一个节点都需要与控制器进行交互,若有节点突然失去通信,那么控制器无法将既定信息发送到该节点,那本次内容转发则以失败告终。但若是在SDN中结合SR技术,控制器无需与路径中的每个节点进行交互,而只需与该流路径的源节点进行交互,对路径进行编码后一次下发含有所有分段标签信息的标签栈,再通过SR的标签操作进行最佳路径接下来每步的数据包转发。
SR可以通过控制器向源节点发送段标识符(Segment Identifier,SID)信息,无需对中间节点下发转发规则,节省了控制器建立流和转发路径所需的时间,减轻了控制器的负担;同时,SR可根据网络参数的约束条件进行流量调度优化计算,即使控制器失效,也同样具备转发能力,各节点均可作为源节点自主控制某条流[5]。
本文提出的软件定义的SR架构如图1所示。该网络架构包括具有内容缓存功能的ICN节点和SDN+SR控制器两部分。其中,控制器属于控制平面,ICN节点属于数据平面。
图1 SDN-SR网络架构图
控制平面包含以下几个单元:
(1)请求处理程序,通过北向接口与应用层相连接,用于接收数据包的请求。
(2)缓存决策管理器,用于选择合适的缓存决策来缓存ICN节点上的内容。
(3)拓扑管理器,用于获取目标网络的拓扑信息,会使用一些搜索算法(如深度优先算法、广度优先算法等)来探明节点和链接之间的关系。
(4)内容路由单元,该单元内含选择的路由算法,用于计算转发最佳路径标签的路由算法。
(5)SR引擎,用于在所选路径上实现SR算法,更改了以往openflow下发流表的方式。
数据平面包含以下几个单元:
(1)基本拓扑信息,所选网络对象的拓扑信息,包括节点基本信息表和链路属性表。
(2)兴趣包转发,根据控制平面下发的标签栈,沿最佳转发路径寻找内容提供者。
该SR网络架构的工作原理如下:
(1)控制平面的请求处理程序与应用层连接,当收到应用程序对于内容的请求之后,会触发控制器去获取网络拓扑信息表。
(2)将目标网络的拓扑信息表作为结果返回控制面,同时缓存决策管理器会缓存节点内容。
(3)拓扑管理器会探明目标网络中的拓扑结构,进一步整合网络信息,并将其保存和管理,为接下来寻找兴趣包的最佳转发路径做准备。
(4)内容路由单元会根据网络的拓扑结构,使用自适应的概率路由算法计算出最佳转发路径。
(5)路径计算单元的结果被送入SR引擎,引擎会先给数据平面每个节点下发一个分段标签,节点得到标签后与路径匹配生成标签栈,栈中含有最佳路径转发所需的分段标签。
(6)标签栈下发至数据平面的源节点后,会根据标签指示依次经过最佳路径中的节点,直到找到内容提供节点。最后请求内容会根据路由PIT表返回到用户手中,至此完成请求内容在整个网络中的传输。
3 路由算法
在本文所述的架构中,寻找目标网络中从内容所在节点到请求节点的最佳转发路径,是完成内容传输的重要工作。只有当控制器找出了最佳路径之后,才能下发分段标签栈到路径源节点,进行后续的工作。因此,需要选择一个合适高效的路由算法来计算最佳转发路径。
基于复杂网络的概率路由策略就是一种原理清晰、效用明显的路由策略,它关注网络自身统计特性,如网络容量等。概率路由策略较简易,性能方面也有可优化改进的地方,因此本文将使用一种自适应的概率路由策略,用于SDN-SR架构中最佳转发路径的计算。
3.1 基本参数
研究表明,网络容量与网络中的最大介数成反比关系,故使用网络的最大介数结合概率来寻找最佳路由路径。在复杂网络中,介数分为点介数和边介数。点介数的一般定义为
(1)
式中:C(i,j)表示网络中连接节点i和节点j之间总的最短路径条数,Cm(i,j)表示节点i和节点j的所有最短路径中经过节点m的所有最短路径条数。
在网络结构固定时,网络容量C取决于网络G中节点介数的最大值Bmax,即
(2)
式中:N是网络的总节点数,且有
(3)
若要使得网络容量增大,就需要尽可能小的Bmax值。
介数的计算复杂程度取决于网络的大小。当目标网络节点数N大于500时,计算过程复杂冗长,因此在本文将对介数计算进行简化,用通过节点u的路由路径条数Bu代替介数Bm,Bmax的含义就是Bu的最大值,故有
(4)
(5)
在概率路由策略中,数据包沿路径P(i→j)从节点i顺利到达节点j的概率为
(6)
这里的P(i→j)表示从源节点i到目的节点j的一条路径,u∈P(i→j)表示节点u在路径P(i→j)上,其中数据包顺利通过节点u的概率可表示为[6]
(7)
式中:ku表示节点u的度,α是影响网络容量的重要参数。通过对BA网络中临界值ηc和参数α的关系进行仿真,结果表明,一开始临界值ηc随着α的增加而增加,随后下降,当α≈1时ηc取到最大值,故在计算时令α=1,即
(8)
可将R(P(i→j))达到最大值的路径称为概率路由路径,并指定由该路径发送数据包,即
(9)
在式(8)中,首先当k≥2时,pu是关于k严格单调递减的函数,概率路由路径可以降低一个信息包通过度大节点的概率;其次,因为pu<1,所以一个信息包从节点i到节点j的过程中会尽可能通过更少的节点,即概率路由策略下的平均路径长度L会更短。平均路径长度L的定义为[7]
(10)
在一般概率路由下,介数的取值范围较大,因此本文采用一种自适应的概率路由策略,降低网络的Bmax值,获取更大的网络容量。
3.2 路由模型
为方便讨论,对本文中的路由模型规定如下:
(1)网络中所有节点都可以发送数据包和接收数据包,且各个节点收发数据包的能力完全相同。
(2)每一个节点以速率η产生数据包,η即为数据包的生成速率,η与累积速率μ的关系如下:
(11)
当μ→0时,η→ηmax。
(3)每个节点在单位时间内只能传输一个数据包,当数据包被传输到目的地后就会被移出该网络。
需要注意的是,随着η的增加,会有越来越多的数据包聚集在同一节点上,传输的等待时间不断增加,最终导致网络完全拥塞。在这个过程中,存在一个临界值ηc。当η<ηc时,网络运行平稳,交通流稳定,而如果η>ηc,则会发生从自由流到拥挤交通的相变。因此,拥塞临界值ηc可用作网络容量的度量。
故网络容量可通过下式简化计算:
(12)
3.3 算法流程
本文所使用算法的目标是减小Bmax以增大网络容量,下面给出算法步骤[8]:
Step1 由式(8)计算出信息包在每个节点处顺畅通过的初始概率pu。
Step2 由式(9)计算出任意两个节点之间的概率路由路径,即R*(P(i→j))。
Step3 由式(12)计算ηc,若Δηc=∣ηc(t+1)-ηc(t)∣≤ε,其中ε是一个大于0的极小的数,则此时ηc趋于稳定,网络容量基本不再变化,终止流程,否则进行下一步。
Step4 由式(4)计算出每个节点的介数。
Step5 将介数从大到小排列,取前m个节点,减少信息包在这些节点顺畅通过的概率,pu=pu-Δu,Δu为节点u处信息包顺畅通过的概率的改变量。
Step6 返回Step 3和Step 4,直至ηc趋于平稳,或直接进行Step 7。
Step7 设定迭代次数,达到次数后停止,输出结果。
4 仿真与分析
现实生活中的网络流量模型常表现出很强的无标度特性,即新增加的节点都趋于连接网络中度比较大的节点,这就是网络的无标度特性。由于ICN属于未来的网络体系架构,因此本文选择利用BA无标度网络建模,对本文架构中的算法进行仿真。
本文使用的是自适应的概率路由(Probability Path,PP)算法,选择的对比算法是基于网络全局信息的最短路径(Shortest Path,SP)算法和效率路由(Efficient Path,EP)算法,对三种算法在网络容量和平均路径长度方面进行仿真和性能比较[9]。
首先给定一个平均度
图2 三种路由算法中ηc与N的变化关系
由图2可知,随着网络节点数N的增加,三种算法ηc都逐渐减小,但PP的ηc值是SP的30倍以上,且整体比EP高20%;随着N的增加,PP的ηc值始终高于SP和EP,说明在同一情况下PP传输的数据包数量更多,拥塞率更低。
其次考虑一个网络节点数N=2 000的无标度网络,得出三种路由算法下ηc与平均度
图3 三种路由算法中ηc与平均度
由图3可知,随着网络平均度
以上仿真结果表明,当给定一个平均度
接下来将分别设定平均度
图4 三种路由算法的L与N的变化关系
图5 三种路由算法中L与
由仿真可知,随着网络节点数N和平均度
对于算法的选择需要考虑多方面的性能表现。综合网络容量和平均路径长度两方面的考虑,概率路由是三者中最适宜数据包发送和接收的路由算法。
5 结 论
本文提出一种基于软件定义信息中心网络的SR架构,是一种新型未来网络架构下数控分离的架构技术,分离了控制平面和数据平面,由控制器统一下发分段标签给源节点,节省了标签下发时间,减轻了控制器负载,基于SR的分段标签操作也使数据包的传输更加高效快捷。在SR架构的路径计算单元中选择一种自适应的概率路由算法,通过迭代改变数据包通过ICN节点的概率,用于计算内容转发的最佳路由路径。
仿真结果表明,概率路由算法的网络容量和平均路径长度两个性能综合优于本文对比的其他算法。在本文中,结合概率路由算法的SDN SR架构使路由转发更快速,拥塞临界值ηc的提高也使网络传输的数据包数量增加,最终路由性能得到了提升。