CN115002036A - Ndn网络拥塞控制方法、电子设备及存储介质 - Google Patents

Ndn网络拥塞控制方法、电子设备及存储介质 Download PDF

Info

Publication number
CN115002036A
CN115002036A CN202210589253.1A CN202210589253A CN115002036A CN 115002036 A CN115002036 A CN 115002036A CN 202210589253 A CN202210589253 A CN 202210589253A CN 115002036 A CN115002036 A CN 115002036A
Authority
CN
China
Prior art keywords
node
cache
ndn
network
congestion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210589253.1A
Other languages
English (en)
Other versions
CN115002036B (zh
Inventor
姬艳鹏
赵建利
罗蓬
李卓
赵百捷
董娜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Consensus Network Communication Technology Shanxi Co ltd
State Grid Corp of China SGCC
Electric Power Research Institute of State Grid Hebei Electric Power Co Ltd
State Grid Hebei Energy Technology Service Co Ltd
Original Assignee
Consensus Network Communication Technology Shanxi Co ltd
State Grid Corp of China SGCC
Electric Power Research Institute of State Grid Hebei Electric Power Co Ltd
State Grid Hebei Energy Technology Service Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Consensus Network Communication Technology Shanxi Co ltd, State Grid Corp of China SGCC, Electric Power Research Institute of State Grid Hebei Electric Power Co Ltd, State Grid Hebei Energy Technology Service Co Ltd filed Critical Consensus Network Communication Technology Shanxi Co ltd
Priority to CN202210589253.1A priority Critical patent/CN115002036B/zh
Publication of CN115002036A publication Critical patent/CN115002036A/zh
Application granted granted Critical
Publication of CN115002036B publication Critical patent/CN115002036B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/33Flow control; Congestion control using forward notification
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种NDN网络拥塞控制方法、电子设备及存储介质。NDN网络包括多个NDN路由节点,多个NDN路由节点与SDN控制器连接,该方法应用于SDN控制器,包括:在接收到拥塞节点上传的拥塞信号时,从拥塞节点的下游节点中选取至少一个NDN路由节点作为拥塞节点的分流节点;拥塞节点为多个NDN路由节点中发生拥塞的NDN路由节点;向拥塞节点的至少一个分流节点发送拥塞节点的缓存信息中全部或部分的缓存内容的网络缓存前缀,以使至少一个分流节点存储全部或部分的缓存内容。本发明能够提高NDN网络的网络资源利用率。

Description

NDN网络拥塞控制方法、电子设备及存储介质
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种NDN网络拥塞控制方法、电子设备及存储介质。
背景技术
随着互联网技术不断发展,网络的应用主体已经由最初简单的端到端资源共享逐渐转变为更为复杂的内容分发与获取。在此过程中,传统TCP/IP网络存在的一些固有问题和局限日渐显露,特别是在网络的可扩展性、灵活性、移动性等方面显现出较低的适应性。在这种情况下,命名数据网(Named Data Networking,NDN)作为一种面向数据内容、支持多源多路径内容检索的新型网络体系架构,采用一一对应的兴趣包和数据包,由请求端从网络中“拉”取所请求的数据内容。这种传输模式使得NDN具有请求端驱动和流量自平衡的特点。拥塞控制作为保证网络高效、稳定运行的关键因素,是NDN的重要研究问题之一。由于用户突发大量的请求以及网络资源的有效性,即使实现流量自平衡的NDN也不能避免拥塞发生。
尽管在传统TCP/IP中拥塞控制机制已经较为完善。但是基于传统TCP/IP的拥塞控制机制主要依赖于请求终端通过端到端的往返时间(Round-Trip Time,RTT)来调整发送窗口实现的。而多源多路径检索的NDN拥有不同的延迟,请求端将无法区分信息来源以启动正确的超时重传机制(Retransmission Time Out,RTO)。因此,通过估计RTT的拥塞控制机制不适用于NDN。
综上,现有亟需一种新的控制方法,以解决NDN网络的拥塞导致网络资源浪费的问题。
发明内容
本发明提供了一种NDN网络拥塞控制方法、电子设备及存储介质,以解决NDN网络的拥塞导致网络资源浪费的问题。
第一方面,本发明提供了一种NDN网络拥塞控制方法,NDN网络包括多个NDN路由节点,多个NDN路由节点与SDN(Software Defined Network,软件定义网络)控制器连接;该方法应用于SDN控制器,包括:
在接收到拥塞节点上传的拥塞信号时,从拥塞节点的下游节点中选取至少一个NDN路由节点作为拥塞节点的分流节点;拥塞节点为多个NDN路由节点中发生拥塞的NDN路由节点;
向拥塞节点的至少一个分流节点发送拥塞节点的缓存信息中全部或部分的缓存内容的网络缓存前缀,以使至少一个分流节点存储全部或部分的缓存内容。
在一种可能的实现方式中,多个NDN路由节点中包括第一数量的边缘路由节点;方法还包括:
接收第一数量的边缘路由节点上传的兴趣包转发信息;
基于兴趣包转发信息,计算缓存信息中各个缓存内容对应的网络缓存前缀的全局流行度;
基于缓存信息中各个缓存内容对应的网络缓存前缀的全局流行度,确定拥塞节点中待操作的网络缓存前缀;
在一种可能的实现方式中,向拥塞节点的至少一个分流节点发送拥塞节点的缓存信息中全部或部分的缓存内容的网络缓存前缀,包括:
向拥塞节点的至少一个分流节点发送待操作的网络缓存前缀。
在一种可能的实现方式中,基于缓存信息中各个缓存内容对应的网络缓存前缀的全局流行度,确定拥塞节点中待操作的网络缓存前缀,包括:
对于拥塞节点中的每一个网络缓存前缀,若该网络缓存前缀的全局流行度低于预设全局流行度阈值,或者分流节点中未存在该网络缓存前缀,则将该网络缓存前缀确定为待操作的网络缓存前缀。
在一种可能的实现方式中,兴趣包转发信息包括对各个缓存内容的请求数;基于兴趣包转发信息,计算缓存信息中各个缓存内容对应的网络缓存前缀的全局流行度,包括:
对于每一个缓存内容对应的网络缓存前缀,根据对该缓存内容的请求数,计算该缓存内容对应的网络缓存前缀的流行趋势,并根据该缓存内容对应的网络缓存前缀的流行趋势,计算该缓存内容对应的网络缓存前缀的全局流行度。
在一种可能的实现方式中,计算缓存内容对应的网络缓存前缀的流行趋势的公式为:
Figure BDA0003664391740000031
其中,βA表示缓存内容A对应的网络缓存前缀的流行趋势,
Figure BDA0003664391740000032
表示当前周期对缓存内容A的请求数,
Figure BDA0003664391740000033
表示上一周期对缓存内容A的请求数,βA∈[0,2],0表示缓存内容A对应的网络缓存前缀的流行趋势为负趋势,1表示缓存内容A对应的网络缓存前缀的流行趋势为稳定趋势,2表示缓存内容A对应的网络缓存前缀的流行趋势为正趋势。
在一种可能的实现方式中,计算缓存内容的全局流行度的公式为:
Figure BDA0003664391740000034
其中,
Figure BDA0003664391740000035
表示当前周期对缓存内容A对应的网络缓存前缀的全局流行度,βA表示缓存内容A对应的网络缓存前缀的流行趋势,
Figure BDA0003664391740000036
表示当前周期对缓存内容A的请求数,M表示当前周期对所有缓存内容的请求数。
在一种可能的实现方式中,在接收到拥塞节点上传的拥塞信号之前,方法还包括:接收多个NDN路由节点上传的缓存信息和链路信息,以及第一数量的边缘路由节点上传的兴趣包转发信息;缓存信息包括各个NDN路由节点存储的缓存内容和该缓存内容对应的网络缓存前缀。
在一种可能的实现方式中,在接收到拥塞节点上传的拥塞信号时,从拥塞节点的下游节点中选取至少一个NDN路由节点作为拥塞节点的分流节点,包括:
在接收到拥塞节点上传的拥塞信号时,基于链路信息,遍历拥塞节点的所有下游节点,选取所有下游节点中第一数量的多端口NDN路由节点作为拥塞节点的分流节点。
在一种可能的实现方式中,在从拥塞节点的下游节点中选取至少一个NDN路由节点作为拥塞节点的分流节点之后,方法还包括:
基于链路信息,计算分流节点的各端口成本;
向分流节点下发分流节点的各端口成本。
在一种可能的实现方式中,计算分流节点的各端口成本的公式为:
metricaK=(1-α)×HopaKa×maxμaK×10
其中,metricaK表示分流节点的端口a到NDN路由节点K的端口成本,μaK表示分流节点的端口a到NDN路由节点K的链路利用率,HopaK表示分流节点的端口a到NDN路由节点K的路径长度,αa表示分流节点的端口a的影响因素。
第二方面,本发明提供了另一种NDN网络拥塞控制方法,NDN网络包括多个NDN路由节点,多个NDN路由节点与SDN控制器连接;该方法应用于NDN路由节点,该方法包括:
根据NDN路由节点的链路信息判断NDN路由节点是否发生拥塞,并在发生拥塞时,标记NDN路由节点为拥塞节点;
拥塞节点向SDN控制器上传拥塞信号,拥塞信号用于指示SDN控制器从拥塞节点的下游节点中选取至少一个NDN路由节点作为拥塞节点的分流节点,以及指示SDN控制器向拥塞节点的至少一个分流节点发送拥塞节点的缓存信息中全部或部分的缓存内容的网络缓存前缀,以使至少一个分流节点存储全部或部分的缓存内容。
在一种可能的实现方式中,根据NDN路由节点的链路信息判断NDN路由节点是否发生拥塞,包括:
基于NDN路由节点的链路信息计算NDN路由节点的链路利用率,并在NDN路由节点的链路利用率大于预设利用率阈值时,判定NDN路由节点发生拥塞。
在一种可能的实现方式中,计算NDN路由节点的链路利用率的公式为:
Figure BDA0003664391740000051
μIJ表示NDN路由节点I到NDN路由节点J之间的链路利用率,
Figure BDA0003664391740000052
表示NDN路由节点I到NDN路由节点J之间链路中缓存内容P在单位时间内的传输速率,n表示该链路中传输的缓存内容的总数,CIJ表示NDN路由节点I到NDN路由节点J之间链路容量。
第三方面,本发明提供了一种NDN网络拥塞控制装置,NDN网络包括多个NDN路由节点,多个NDN路由节点与SDN控制器连接;该装置应用于SDN控制器,包括:
第一控制模块,用于在接收到拥塞节点上传的拥塞信号时,从拥塞节点的下游节点中选取至少一个NDN路由节点作为拥塞节点的分流节点;拥塞节点为多个NDN路由节点中发生拥塞的NDN路由节点;
第二控制模块,用于向拥塞节点的至少一个分流节点发送拥塞节点的缓存信息中全部或部分的缓存内容的网络缓存前缀,以使至少一个分流节点存储全部或部分的缓存内容。
第四方面,本发明提供了另一种NDN网络拥塞控制装置,NDN网络包括多个NDN路由节点,多个NDN路由节点与SDN控制器连接;该装置应用于NDN路由节点,包括:
第三控制模块,用于根据NDN路由节点的链路信息判断NDN路由节点是否发生拥塞,并在发生拥塞时,标记NDN路由节点为拥塞节点;
第四控制模块,用于拥塞节点向SDN控制器上传拥塞信号,拥塞信号用于指示SDN控制器从拥塞节点的下游节点中选取至少一个NDN路由节点作为拥塞节点的分流节点,以及指示SDN控制器向拥塞节点的至少一个分流节点发送拥塞节点的缓存信息中全部或部分的缓存内容的网络缓存前缀,以使至少一个分流节点存储全部或部分的缓存内容。
第五方面,本发明提供了一种电子设备,包括存储器和处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上第一方面或第一方面的任一种可能的实现方式NDN网络拥塞控制方法的步骤。
第六方面,本发明提供了另一种电子设备,包括存储器和处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上第二方面或第二方面的任一种可能的实现方式NDN网络拥塞控制方法的步骤。
第七方面,本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上第一方面或第一方面的任一种可能的实现方式NDN网络拥塞控制方法的步骤。
第八方面,本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上第二方面或第二方面的任一种可能的实现方式NDN网络拥塞控制方法的步骤。
本发明提供一种NDN网络拥塞控制方法、电子设备及存储介质,对于SDN控制器,在接收到NDN网络中拥塞节点的拥塞信号时,从拥塞节点的下游节点中选取至少一个NDN路由节点作为拥塞节点的分流节点。随后向拥塞节点的至少一个分流节点发送拥塞节点的缓存信息中全部或部分的缓存内容的网络缓存前缀,以使至少一个分流节点存储全部或部分的缓存内容。通过SDN控制器与NDN网络进行信息交互,借助SDN控制器将拥塞节点的网络缓存前缀转移至分流节点,降低拥塞节点的数据处理量,同时保证NDN网络的全局数据处理效率,达到提高NDN网络资源的利用率的目的。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的应用场景示意图;
图2是本发明实施例提供的一种NDN网络拥塞控制方法的实现流程图;
图3是本发明实施例提供的另一种NDN网络拥塞控制方法的实现流程图;
图4是本发明实施例提供的NDN网络和SDN控制器的信令交互图;
图5是本发明实施例提供的NDN路由节点检测网络拥塞过程的流程图;
图6是本发明实施例提供的SDN控制器计算端口成本过程流程图;
图7是本发明实施例提供的图1所示的网络拓扑的SDN控制器中的功能模块图;
图8是本发明实施例提供的一种NDN网络拥塞控制装置的结构示意图;
图9是本发明实施例提供的另一种NDN网络拥塞控制装置的结构示意图;
图10是本发明实施例提供的一种电子设备的示意图;
图11是本发明实施例提供的另一种电子设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图通过具体实施例来进行说明。
通过估计RTT的拥塞控制机制不适用于NDN网络。因此,需要专门为NDN网络设计新的、有效的拥塞控制机制。
基于NDN网络中缓存内容的多源属性,通过路由协议填充的FIB(ForwardInformation Base,转发信息库)表为每个内容前缀维护一个排序接口列表。转发方案基于FIB条目选择合适的接口将兴趣包发送到可用的位置。因此,转发策略对链路拥塞状态有非常重大的影响。
然而,由于NDN网络中各个NDN路由节点的独立性,无法预测网络的流量分布,使得节点控制难以实现长期的路径选择效益,同时还可能在其他链路中引入拥塞。除此之外,NDN网络内的缓存对于网络流量传输也有很大的影响。而目前大多数拥塞控制机制没有考虑缓存。
为解决如上问题,本发明实施例通过引入SDN控制器,提出一种NDN网络拥塞控制方法,优化NDN网络的拥塞情况,进而提高NDN网络的资源利用率。
可选的,NDN网络包括多个NDN路由节点,NDN网络与SDN控制器连接,每个NDN路由节点均与SDN控制器连接。靠近用户端或者直接与用户端连接的NDN路由节点为边缘路由节点。
NDN路由节点中包括该节点本身的缓存信息和链路信息,缓存信息中包括多个缓存内容和缓存内容对应的网络缓存前缀,链路信息中包括该NDN路由节点与其他NDN路由节点的连接信息,如传输速率、传输总数和链路容量。边缘路由节点还包括用于表征用户端的兴趣包转发信息,兴趣包转发信息中包括用户在各个周期内对缓存内容的请求数。
具体的,NDN路由节点中主要包括三种数据结构,分别为FIB、CS(Content,Store,内容存储库)和PIT(Pending Interest Table,未决请求表)。FIB保存了NDN路由节点到达其他节点的下一跳接口,CS保存NDN路由节点的缓存信息,缓存信息中包括多个缓存内容和缓存内容对应的网络缓存前缀,PIT记录未得到相应的Interest报文的名字信息及其到达face,face指代一个接口。
示例性的,参见图1,其示出了本发明实施例提供的一种应用场景示意图。如图1所示,NDN网络包括三个NDN路由节点R1、R2、R3,三个路由节点均与SDN控制器连接。R1还直接与用户Consumer连接,为边缘路由节点。例如,R3中包括端口信息、队列信息、FIB、CS、PIT等,通过数据包和兴趣包进行数据交互。
参见图2,其示出了本发明实施例提供的一种NDN网络拥塞控制方法的实现流程图;如图2所示,一种NDN网络拥塞控制方法,应用于SDN控制器,可以包括:
S101,在接收到拥塞节点上传的拥塞信号时,从拥塞节点的下游节点中选取至少一个NDN路由节点作为拥塞节点的分流节点;拥塞节点为多个NDN路由节点中发生拥塞的NDN路由节点。
可选的,NDN网络中每一个NDN路由节点可以根据自身的链路信息判断自身是否发生拥塞,在发生拥塞时,会生成拥塞信号,并将拥塞信号上传至SDN控制器。NDN网络中可以包括一个或者多个拥塞节点。
SDN控制器在接收到拥塞节点上传的拥塞信号时,可以从拥塞节点的所有下游节点中选取至少一个节点作为分流节点,即分流节点的数据量可以是一个或者多个,具体的数量选取可以根据拥塞节点的拥塞情况确定。例如,可以根据拥塞节点的链路信息选取分流节点,或者根据下游节点的处理能力选取合适的分流节点。
S102,向拥塞节点的至少一个分流节点发送拥塞节点的缓存信息中全部或部分的缓存内容的网络缓存前缀,以使至少一个分流节点存储全部或部分的缓存内容。
可选的,缓存信息包括缓存内容和缓存网络前缀。NDN路由节点通过缓存内容的网络缓前缀对缓存内容进行处理或存储,例如,可以通过网络缓存前缀对缓存内容进行转发。对于拥塞节点而言,在拥塞时,该节点的处理量会加大,超出该节点的处理能力,会导致处理缓存信息的效率变低。因此,通过将拥塞节点的缓存信息中全部或部分的缓存内容的网络缓存前缀发送至少一个分流节点,可以大大降低拥塞节点的处理量,同时结合分流节点对拥塞节点的缓存信息进行处理,可以提高NDN网络的数据处理效率,降低网络资源消耗。
可选的,可以将拥塞节点的全部缓存网络前缀发送至分流节点,从而保证分离节点和拥塞节点均可以处理相同的缓存信息,保证对用户请求的及时响应。也可以将拥塞节点的部分缓存网络前缀发送至分流节点,降低拥塞节点处理缓存信息的压力,可以保证NDN网络对用户请求的及时响应。
可选的,可以将拥塞节点中用户请求数低的缓存内容对应的网络缓存前缀发送至分流节点,或者,将拥塞节点中用户请求数高的缓存内容对应的网络缓存前缀发送至分流节点,具体可以根据实际情况进行选择。
本发明实施例通过SDN控制器,在接收到拥塞节点的拥塞信号时,将拥塞节点中的全部或者部分网络缓存前缀发送给分流节点,从而降低拥塞节点的数据处理压力,进而保证NDN网络整体的数据处理效率,降低网络资源的消耗。
在本发明的一些实施例中,多个NDN路由节点中包括第一数量的边缘路由节点;方法还包括:
S103,接收第一数量的边缘路由节点上传的兴趣包转发信息;
可选的,SDN控制器可以定位并标记边缘路路由节点,边缘路由节点可以周期的上传兴趣包转发信息。兴趣包转发信息中包括用户对于所有NDN路由节点的缓存信息中缓存内容的请求数。
S104,基于兴趣包转发信息,计算缓存信息中各个缓存内容对应的网络缓存前缀的全局流行度。
可选的,全局流行度用于表征用户对于网络缓存前缀对应的缓存内容在一定周期内的请求量的大小。例如,若在一定周期内,网络缓存前缀的全局流行度的数值大,则表明用户对该网络缓存前缀对应的缓存内容请求数大;若在一定周期内,网络缓存前缀的全局流行度的数值小,则表明用户对该网络缓存前缀对应的缓存内容请求数小。
可选的,可以将兴趣包转发信息中的当前周期的请求数作为网络缓存前缀全局流行度,或者将兴趣包转发信息中的一定周期的请求数的平均值作为网络缓存前缀全局流行度,或者根据兴趣包转发信息中的请求数计算得到网络缓存前缀的全局流行度,具体可以根据实际情况进行选择。
示例性的,本发明实施例提供的一种计算全局流行度的方法如下:
对于每一个缓存内容对应的网络缓存前缀,根据对该缓存内容的请求数,计算该缓存内容对应的网络缓存前缀的流行趋势,并根据该缓存内容对应的网络缓存前缀的流行趋势,计算该缓存内容对应的网络缓存前缀的全局流行度。
具体的,计算缓存内容对应的网络缓存前缀的流行趋势的公式为:
Figure BDA0003664391740000111
其中,βA表示缓存内容A对应的网络缓存前缀的流行趋势,
Figure BDA0003664391740000112
表示当前周期对缓存内容A的请求数,
Figure BDA0003664391740000113
表示上一周期对缓存内容A的请求数,βA∈[0,2],0表示缓存内容A对应的网络缓存前缀的流行趋势为负趋势,1表示缓存内容A对应的网络缓存前缀的流行趋势为稳定趋势,2表示缓存内容A对应的网络缓存前缀的流行趋势为正趋势。
具体的,计算缓存内容的全局流行度的公式为:
Figure BDA0003664391740000114
其中,
Figure BDA0003664391740000115
表示当前周期对缓存内容A对应的网络缓存前缀的全局流行度,βA表示缓存内容A对应的网络缓存前缀的流行趋势,
Figure BDA0003664391740000116
表示当前周期对缓存内容A的请求数,M表示当前周期对所有缓存内容的请求数。
可选的,在计算得到各个网络缓存前缀的流行趋势后,可以根据流行趋势的大小对网络缓存前缀进行排序,得到大概的缓存信息表。在计算得到各个网络缓存前缀的全局流行度后,对该缓存信息表进行维护更新排序,以得到精确的缓存信息表,以方便根据缓存信息表对拥塞节点的网络换存前缀进行筛选。其中,缓存信息表用于表示所有NDN路由节点中的网络缓存前缀排名。
S105,基于缓存信息中各个缓存内容对应的网络缓存前缀的全局流行度,确定拥塞节点中待操作的网络缓存前缀。
可选的,可以将各个网络缓存的全局流行度和预设流行度阈值进行比较,确定拥塞节点中待操作的网络缓存前缀。可以选取不低于预设流行度阈值的网络缓存前缀作为待操作网络缓存前缀;或者,选取低于预设流行度阈值或者分流节点中不存在的网络缓存前缀作为待操作网络缓存前缀。通过上述方式达到降低拥塞节点数据处理压力的目的,从而保证NDN网络整体的数据处理效率。
可选的,SDN控制器可以查询拥塞节点的FIB表,确定拥塞节点的网络缓存前缀。SDN控制器将分流节点中的FIB条目与拥塞节点中的网络缓存前缀进行比较,选定未缓存或流行趋势较低的内容网络缓存前缀作为待操作的网络缓存前缀。
示例性的,遍历拥塞节点中的每一个网络缓存前缀,若该网络缓存前缀的全局流行度低于预设全局流行度阈值,或者分流节点中未存在该网络缓存前缀,则将该网络缓存前缀确定为待操作的网络缓存前缀。或者,遍历拥塞节点中的每一个网络缓存前缀,若该网络缓存前缀的全局流行度不低于预设全局流行度阈值,则将该网络缓存前缀确定为待操作的网络缓存前缀。
相应的,上述S102中的“向拥塞节点的至少一个分流节点发送拥塞节点的缓存信息中全部或部分的缓存内容的网络缓存前缀”,可以包括:向拥塞节点的至少一个分流节点发送待操作的网络缓存前缀。
在本发明的一些实施例中,在接收到拥塞节点上传的拥塞信号之前,方法还包括:
接收多个NDN路由节点上传的缓存信息和链路信息,以及第一数量的边缘路由节点上传的兴趣包转发信息;缓存信息包括各个NDN路由节点存储的缓存内容和该缓存内容对应的网络缓存前缀。
可选的,各个NDN路由节点可以周期性的上传缓存信息和链路信息,第一数量的边缘路由节点可以周期性的上传兴趣包转发信息。以上的上传周期可以相同,也可以不同,例如均可以为周期T=0.5s,具体根据实际情况进行选择。
相应的,上述S101中的“在接收到拥塞节点上传的拥塞信号时,从拥塞节点的下游节点中选取至少一个NDN路由节点作为拥塞节点的分流节点”,可以包括:
在接收到拥塞节点上传的拥塞信号时,基于链路信息,遍历拥塞节点的所有下游节点,选取所有下游节点中第一数量的多端口NDN路由节点作为拥塞节点的分流节点。
可选的,可以选取所有距离值小于预设距离值的多端口NDN路由节点作为拥塞节点的分流节点。或者,选取距离拥塞节点最近的第一个多端口NDN路由节点作为拥塞节点的分流节点。
在本发明的一些实施例中,在从拥塞节点的下游节点中选取至少一个NDN路由节点作为拥塞节点的分流节点之后,方法还包括:
基于链路信息,计算分流节点的各端口成本;
向分流节点下发分流节点的各端口成本。
可选的,分流节点的各端口成本用于指示分流节点更新自身的FIB表,进而保证新转入的网络缓存前缀可以可靠转发。
具体的,计算分流节点的各端口成本的公式为:
metricaK=(1-α)×HopaKa×maxμaK×10
其中,metricaK表示分流节点的端口a到NDN路由节点K的端口成本,μaK表示分流节点的端口a到NDN路由节点K的链路利用率,HopaK表示分流节点的端口a到NDN路由节点K的路径长度,αa表示分流节点的端口a的影响因素。
可选的,影响因素用于表征端口的链路和路径数之间的比重,每一个端口对应一个。路径长度指从分流节点到可以获取缓存内容节点之间的链路数。一般情况下,α>0.5
示例性的,参见图1,对于R1-R2-R3,存在路径数为2,链路指R1-R2。对于,R1而言,其在R1-R2-R3种的影响因素为1/2。
参见图3,其示出了本发明实施例提供的另一种NDN网络拥塞控制方法的实现流程图。如图3所示,该NDN网络拥塞控制方法应用于NDN路由节点,可以包括:
S201,根据NDN路由节点的链路信息判断NDN路由节点是否发生拥塞,并在发生拥塞时,标记NDN路由节点为拥塞节点。
可选的,对于每一个NDN路由节点,基于该NDN路由节点的链路信息计算该NDN路由节点的链路利用率,并根据NDN路由节点的链路利用率判断该路由节点是否发生拥塞。NDN网络中每一个NDN路由节点均可以为拥塞节点或者分流节点。图3所示的方法适用于NDN网络中的每一个NDN路由节点。
示例性的,基于NDN路由节点的链路信息计算NDN路由节点的链路利用率,并在NDN路由节点的链路利用率大于预设利用率阈值时,判定NDN路由节点发生拥塞。
具体的,计算NDN路由节点的链路利用率的公式为:
Figure BDA0003664391740000141
μIJ表示NDN路由节点I到NDN路由节点J之间的链路利用率,
Figure BDA0003664391740000142
表示NDN路由节点I到NDN路由节点J之间链路中缓存内容P在单位时间内的传输速率,n表示该链路中传输的缓存内容的总数,CIJ表示NDN路由节点I到NDN路由节点J之间链路容量。
S202,拥塞节点向SDN控制器上传拥塞信号,拥塞信号用于指示SDN控制器从拥塞节点的下游节点中选取至少一个NDN路由节点作为拥塞节点的分流节点,以及指示SDN控制器向拥塞节点的至少一个分流节点发送拥塞节点的缓存信息中全部或部分的缓存内容的网络缓存前缀,以使至少一个分流节点存储全部或部分的缓存内容。
可选的,拥塞节点向SDN控制器上传拥塞信号,拥塞信号用于指示SDN控制器从拥塞节点的下游节点中选取至少一个NDN路由节点作为拥塞节点的分流节点。拥塞节点的分流节点接收拥塞节点的缓存信息中全部或部分的缓存内容的网络缓存前缀。
可选的,对于判定发生拥塞的NDN路由节点,由该NDN路由节点自身将拥塞信号上传至SDN控制器。SDN控制器用于为每一个拥塞节点确定分流节点。
可选的,对于每一个拥塞节点的分流节点,SDN控制器用于将该分流节点对应的拥塞节点中的全部或部分的缓存内容的网络缓存前缀发送给该分流节点。
示例性的,参见图4,其示出了本发明实施例提供的NDN网络和SDN控制器的信令交互图。如图4所示,本发明实施例的工作过程如下:
预先将NDN网络和SDN控制器进行关联,由SDN控制器定位并标记用户接入该NDN网络的边缘路由节点。
SS01,各个NDN路由节点实时监测自身的链路信息;同时,各个NDN路由节点将其自身的缓存信息及链路信息周期性上传至SDN控制器;边缘路由节点将兴趣包转发信息周期性上传至SDN控制器。
SS02,各个NDN路由节点根据链路信息判断网络拥塞情况。
SS021,NDN路由节点计算链路利用率;
SS022,将链路信息周期性上传SDN控制器,其周期频率T=0.5s;
SS023,设定链路利用率阈值为th1,若该路由节点的链路利用率低于th1,则该NDN路由节点向SDN控制器发送网络拥塞信号。
SS03,SDN控制器基于NDN路由节点的缓存信息,获取网络缓存信息前缀。
具体的,参见图5,其示出了本发明实施例提供的NDN路由节点检测网络拥塞过程的流程图,由图5可知,NDN路由节点可以根据链路利用率判断路由该NDN路由节点是否发生拥塞。
SS04,SDN控制器基于接收到的边缘路由节点兴趣包转发信息计算缓存信息前缀对应的流行趋势。
SS05,SDN控制器基于SS04中计算的缓存信息流行趋势及接收到的边缘路由节点兴趣包转发信息计算缓存信息全局流行度.
SS06,SDN控制器结合接收到的NDN路由节点的缓存信息及基于SS04中的缓存信息的流行趋势和SS05中缓存信息的全局流行度,维护根据流行趋势大小排序的缓存信息表。
SS07,当网络发生拥塞时,拥塞节点向SDN控制器上传拥塞信号。
SS08,接收到拥塞信号的SDN控制器根据接收到的拥塞节点对应的分流节点的链路信息及维护的缓存信息,计算分流节点端口成本并告知该分流节点。
SS081,SDN控制器接收到拥塞信号,定位拥塞节点;
SS082,SDN控制器查询拥塞节点FIB表,并记录拥塞节点的网络缓存前缀;
SS083,基于链路信息,SDN控制器定位拥塞节点的下游路径中具有多个可用端口的路由节点,标记该路由节点为分流节点;
SS084,SDN控制器将分流节点中的FIB条目与拥塞节点的网络缓存前缀进行比较,选定未缓存或流行趋势较低的拥塞节点的网络缓存前缀作为待操作的网路缓存前缀;
SS085,SDN控制器计算分流节点的各端口成本;
SS086,SDN控制器将端口成本下发至的分流节点,分流节点根据待操作的网路缓存前缀的更新自身的FIB表条目。
具体的,参见图6,其示出了本发明实施例提供的SDN控制器计算端口成本过程流程图,由图6可知,SDN控制器可以计算分流节点的端口成本并将该端口成本下发至分流节点。
示例性的,R3为拥塞节点,R1为分流节点:
当网络发生拥塞时,SDN控制器接收到拥塞R3的拥塞信号;
SDN控制器根据接收到的R3的链路信息及维护的缓存信息,确定分流节点R1,并计算R1端口成本并告知R1。
具体的,SDN控制器接收到拥塞信号,定位拥塞节点R3;
所SDN控制器查询拥塞节点R3的FIB表,并记录R3的网络缓存前缀;
基于R3的链路信息,SDN控制器定位R3的拥塞链路下游路径中具有多个可用端口的路由节点,标记该路由节点为分流节点R1;
SDN控制器将R3中的FIB条目与R3的网络缓存前缀进行比较,选定未缓存或流行趋势较低的R3的网络缓存前缀为待操作的网络缓存前缀;
SDN控制器将端口成本下发至R1,R1更新待操作内容的FIB表条目。
示例性的,参见图7,其示出了本发明实施例提供的图1所示的网络拓扑的SDN控制器中的功能模块图。如图7所示,可以包括三个NDN路由节点R1,R2和R3,NDN路由节点保留原有的数据结构,SDN控制器功能模块包括全局信息缓存模块、缓存管理模块、拓扑管理模块以及多路径选择模块。
本发明实施例将原本NDN网络与SDN控制器相融合,即引入逻辑集中的SDN控制器。将拥塞控制集中于SDN控制器中,充分提高NDN节点的处理数据能力。同时,具有全局视野的SDN控制器在拥塞控制过程中极大提高了网络的灵活性,保证网络的传输性能,实现智能化管理多路径容量的目的。
本发明实施例利用SDN控制器维护缓存信息,实现网络感知缓存内容,使得节点根据信息合理选择待操作内容名称。考虑缓存信息对网络流量的影响,提高了命名数据网传输性能,减少传输时间。
本发明实施例利用SDN控制器记录链路利用率信息,使得节点根据这些全局信息进行多路径选择拥塞控制,避免引入新的拥塞同时,有效提高网络整体资源利用率。同时,SDN控制器进行端口成本计算,降低节点工作负荷,提高节点的转发能力。
本发明实施例利用控制器与节点的信息交互,在SDN控制器中维护网络缓存信息表实现网络内容缓存感知功能。利用SDN控制器维护的全局信息计算端口成本,协同中间节点实现智能化的多路径容量管理,同时考虑到网络内容缓存特性,进一步提高网络资源利用率。本发明实施例将SDN技术与NDN有效结合,在拥塞避免的前提下,保证较高的吞吐量,提升了网络整体的传输性能。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
以下为本发明的装置实施例,对于其中未详尽描述的细节,可以参考上述对应的方法实施例。
图8示出了本发明实施例提供的一种NDN网络拥塞控制装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
如图8所示,NDN网络包括多个NDN路由节点,多个NDN路由节点与SDN控制器连接;NDN网络拥塞控制装置30用于SDN控制器,可以包括:
第一控制模块301,用于在接收到拥塞节点上传的拥塞信号时,从拥塞节点的下游节点中选取至少一个NDN路由节点作为拥塞节点的分流节点;拥塞节点为多个NDN路由节点中发生拥塞的NDN路由节点;
第二控制模块302,用于向拥塞节点的至少一个分流节点发送拥塞节点的缓存信息中全部或部分的缓存内容的网络缓存前缀,以使至少一个分流节点存储全部或部分的缓存内容。
在本发明的一些实施例中,多个NDN路由节点中包括第一数量的边缘路由节点;该装置30还可以包括:兴趣包收模块,用于接收第一数量的边缘路由节点上传的兴趣包转发信息;流行度计算模块,用于基于兴趣包转发信息,计算缓存信息中各个缓存内容对应的网络缓存前缀的全局流行度;前缀计算模块,用于基于缓存信息中各个缓存内容对应的网络缓存前缀的全局流行度,确定拥塞节点中待操作的网络缓存前缀;相应的,第二控制模块302,还用于向拥塞节点的至少一个分流节点发送待操作的网络缓存前缀。
在本发明的一些实施例中,流行度计算模块,可以包括:
计算单元,用于对于拥塞节点中的每一个网络缓存前缀,若该网络缓存前缀的全局流行度低于预设全局流行度阈值,或者分流节点中未存在该网络缓存前缀,则将该网络缓存前缀确定为待操作的网络缓存前缀。
在本发明的一些实施例中,兴趣包转发信息包括对各个缓存内容的请求数;计算单元还用于对于每一个缓存内容对应的网络缓存前缀,根据对该缓存内容的请求数,计算该缓存内容对应的网络缓存前缀的流行趋势,并根据该缓存内容对应的网络缓存前缀的流行趋势,计算该缓存内容对应的网络缓存前缀的全局流行度。
在本发明的一些实施例中,计算缓存内容对应的网络缓存前缀的流行趋势的公式为:
Figure BDA0003664391740000191
其中,βA表示缓存内容A对应的网络缓存前缀的流行趋势,
Figure BDA0003664391740000192
表示当前周期对缓存内容A的请求数,
Figure BDA0003664391740000193
表示上一周期对缓存内容A的请求数,βA∈[0,2],0表示缓存内容A对应的网络缓存前缀的流行趋势为负趋势,1表示缓存内容A对应的网络缓存前缀的流行趋势为稳定趋势,2表示缓存内容A对应的网络缓存前缀的流行趋势为正趋势;
计算缓存内容的全局流行度的公式为:
Figure BDA0003664391740000194
其中,
Figure BDA0003664391740000195
表示当前周期对缓存内容A对应的网络缓存前缀的全局流行度,βA表示缓存内容A对应的网络缓存前缀的流行趋势,
Figure BDA0003664391740000196
表示当前周期对缓存内容A的请求数,M表示当前周期对所有缓存内容的请求数。
在本发明的一些实施例中,该装置30还可以包括:
信息接收模块,用于在接收到拥塞节点上传的拥塞信号之前,接收多个NDN路由节点上传的缓存信息和链路信息,以及第一数量的边缘路由节点上传的兴趣包转发信息;缓存信息包括各个NDN路由节点存储的缓存内容和该缓存内容对应的网络缓存前缀;
相应的,第一控制模块301还用于在接收到拥塞节点上传的拥塞信号时,基于链路信息,遍历拥塞节点的所有下游节点,选取所有下游节点中第一数量的多端口NDN路由节点作为拥塞节点的分流节点;
该装置30还可以包括:
成本计算模块,用于在从拥塞节点的下游节点中选取至少一个NDN路由节点作为拥塞节点的分流节点之后,基于链路信息,计算分流节点的各端口成本;向分流节点下发分流节点的各端口成本;其中,计算分流节点的各端口成本的公式为:metricaK=(1-α)×HopaKa×maxμaK×10
其中,metricaK表示分流节点的端口a到NDN路由节点K的端口成本,μaK表示分流节点的端口a到NDN路由节点K的链路利用率,HopaK表示分流节点的端口a到NDN路由节点K的路径长度,αa表示分流节点的端口a的影响因素。
图9示出了本发明实施例提供的另一种NDN网络拥塞控制装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
如图9所示,NDN网络包括多个NDN路由节点,多个NDN路由节点与SDN控制器连接;NDN网络拥塞控制装置40用于NDN路由节点,可以包括:第三控制模块401,用于根据NDN路由节点的链路信息判断NDN路由节点是否发生拥塞,并在发生拥塞时,标记NDN路由节点为拥塞节点;
第四控制模块402,拥塞节点向SDN控制器上传拥塞信号,拥塞信号用于指示SDN控制器从拥塞节点的下游节点中选取至少一个NDN路由节点作为拥塞节点的分流节点,以及指示SDN控制器向拥塞节点的至少一个分流节点发送拥塞节点的缓存信息中全部或部分的缓存内容的网络缓存前缀,以使至少一个分流节点存储全部或部分的缓存内容。
在本发明的一些实施例中,第三控制模块401,还用于基于NDN路由节点的链路信息计算NDN路由节点的链路利用率,并在NDN路由节点的链路利用率大于预设利用率阈值时,判定NDN路由节点发生拥塞;
其中,计算NDN路由节点的链路利用率的公式为:
Figure BDA0003664391740000211
μIJ表示NDN路由节点I到NDN路由节点J之间的链路利用率,
Figure BDA0003664391740000212
表示NDN路由节点I到NDN路由节点J之间链路中缓存内容P在单位时间内的传输速率,n表示该链路中传输的缓存内容的总数,CIJ表示NDN路由节点I到NDN路由节点J之间链路容量。
图10是本发明实施例提供的一种电子设备的示意图。如图10所示,该实施例的电子设备50包括:处理器500和存储器501,存储器501中存储有可在处理器500上运行的计算机程序502。处理器500执行计算机程序502时实现上述各个NDN网络拥塞控制方法实施例中的步骤,例如图2所示的S101至S102。或者,处理器500执行计算机程序502时实现上述各装置实施例中各模块/单元的功能,例如图8所示模块/单元301至302的功能。
图11是本发明实施例提供的另一种电子设备的示意图。如图11所示,该实施例的电子设备60包括:处理器600和存储器601,存储器601中存储有可在处理器600上运行的计算机程序602。处理器600执行计算机程序602时实现上述各个NDN网络拥塞控制方法实施例中的步骤,例如图3所示的S201至S202。或者,处理器600执行计算机程序602时实现上述各装置实施例中各模块/单元的功能,例如图9所示模块/单元401至402的功能。
示例性的,计算机程序502或者计算机程序602可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器501或者存储器601中,并由处理器500或者处理器600执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序502在电子设备50中的执行过程,或者描述计算机程序602在电子设备60中的执行过程。
电子设备50或者电子设备60可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。电子设备50或者电子设备60可包括,但不仅限于,处理器500或者处理器600、存储器501或者存储器601。本领域技术人员可以理解,图10仅仅是电子设备50的示例,并不构成对电子设备50的限定,以及图11仅仅是电子设备60的示例,并不构成对电子设备60的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器500或者处理器600可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器501可以是电子设备50的内部存储单元,例如电子设备50的硬盘或内存。存储器501也可以是电子设备50的外部存储设备,例如电子设备50上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器501还可以既包括电子设备50的内部存储单元也包括外部存储设备。存储器501用于存储计算机程序以及电子设备所需的其他程序和数据。存储器501还可以用于暂时地存储已经输出或者将要输出的数据。
存储器601可以是电子设备60的内部存储单元,例如电子设备60的硬盘或内存。存储器601也可以是电子设备60的外部存储设备,例如电子设备60上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器601还可以既包括电子设备60的内部存储单元也包括外部存储设备。存储器601用于存储计算机程序以及电子设备所需的其他程序和数据。存储器601还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个NDN网络拥塞控制方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质等。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种NDN网络拥塞控制方法,其特征在于,所述NDN网络包括多个NDN路由节点,所述多个NDN路由节点与SDN控制器连接;所述方法应用于所述SDN控制器,所述方法包括:
在接收到拥塞节点上传的拥塞信号时,从所述拥塞节点的下游节点中选取至少一个NDN路由节点作为所述拥塞节点的分流节点;所述拥塞节点为所述多个NDN路由节点中发生拥塞的NDN路由节点;
向所述拥塞节点的所述至少一个分流节点发送所述拥塞节点的缓存信息中全部或部分的缓存内容的网络缓存前缀,以使所述至少一个分流节点存储所述全部或部分的缓存内容。
2.根据权利要求1所述的NDN网络拥塞控制方法,其特征在于,所述多个NDN路由节点中包括第一数量的边缘路由节点;所述方法还包括:
接收第一数量的边缘路由节点上传的兴趣包转发信息;
基于所述兴趣包转发信息,计算所述缓存信息中各个缓存内容对应的网络缓存前缀的全局流行度;
基于所述缓存信息中各个缓存内容对应的网络缓存前缀的全局流行度,确定所述拥塞节点中待操作的网络缓存前缀;
相应的,所述向所述拥塞节点的所述至少一个分流节点发送所述拥塞节点的缓存信息中全部或部分的缓存内容的网络缓存前缀,包括:
向所述拥塞节点的所述至少一个分流节点发送所述待操作的网络缓存前缀。
3.根据权利要求2所述的NDN网络拥塞控制方法,其特征在于,所述基于所述缓存信息中各个缓存内容对应的网络缓存前缀的全局流行度,确定所述拥塞节点中待操作的网络缓存前缀,包括:
对于所述拥塞节点中的每一个网络缓存前缀,若该网络缓存前缀的全局流行度低于预设全局流行度阈值,或者所述分流节点中未存在该网络缓存前缀,则将该网络缓存前缀确定为待操作的网络缓存前缀。
4.根据权利要求3所述的NDN网络拥塞控制方法,其特征在于,所述兴趣包转发信息包括对各个缓存内容的请求数;所述基于所述兴趣包转发信息,计算所述缓存信息中各个缓存内容对应的网络缓存前缀的全局流行度,包括:
对于每一个缓存内容对应的网络缓存前缀,根据对该缓存内容的请求数,计算该缓存内容对应的网络缓存前缀的流行趋势,并根据该缓存内容对应的网络缓存前缀的流行趋势,计算该缓存内容对应的网络缓存前缀的全局流行度。
5.根据权利要求4所述的NDN网络拥塞控制方法,其特征在于,计算缓存内容对应的网络缓存前缀的流行趋势的公式为:
Figure FDA0003664391730000021
其中,βA表示缓存内容A对应的网络缓存前缀的流行趋势,
Figure FDA0003664391730000022
表示当前周期对缓存内容A的请求数,
Figure FDA0003664391730000023
表示上一周期对缓存内容A的请求数,βA∈[0,2],0表示缓存内容A对应的网络缓存前缀的流行趋势为负趋势,1表示缓存内容A对应的网络缓存前缀的流行趋势为稳定趋势,2表示缓存内容A对应的网络缓存前缀的流行趋势为正趋势;
计算缓存内容的全局流行度的公式为:
Figure FDA0003664391730000024
其中,
Figure FDA0003664391730000025
表示当前周期对缓存内容A对应的网络缓存前缀的全局流行度,βA表示缓存内容A对应的网络缓存前缀的流行趋势,
Figure FDA0003664391730000026
表示当前周期对缓存内容A的请求数,M表示当前周期对所有缓存内容的请求数。
6.根据权利要求1至5任一项所述的NDN网络拥塞控制方法,其特征在于,在接收到拥塞节点上传的拥塞信号之前,所述方法还包括:
接收所述多个NDN路由节点上传的缓存信息和链路信息,以及所述第一数量的边缘路由节点上传的兴趣包转发信息;所述缓存信息包括各个NDN路由节点存储的缓存内容和该缓存内容对应的网络缓存前缀;
相应的,所述在接收到拥塞节点上传的拥塞信号时,从所述拥塞节点的下游节点中选取至少一个NDN路由节点作为所述拥塞节点的分流节点,包括:
在接收到拥塞节点上传的拥塞信号时,基于所述链路信息,遍历所述拥塞节点的所有下游节点,选取所有下游节点中第一数量的多端口NDN路由节点作为所述拥塞节点的分流节点;
在从所述拥塞节点的下游节点中选取至少一个NDN路由节点作为所述拥塞节点的分流节点之后,所述方法还包括:
基于所述链路信息,计算所述分流节点的各端口成本;
向所述分流节点下发所述分流节点的各端口成本;
其中,计算所述分流节点的各端口成本的公式为:
metricaK=(1-α)×HopaKa×maxμaK×10
其中,metricaK表示所述分流节点的端口a到NDN路由节点K的端口成本,μaK表示所述分流节点的端口a到NDN路由节点K的链路利用率,HopaK表示所述分流节点的端口a到NDN路由节点K的路径长度,αa表示所述分流节点的端口a的影响因素。
7.一种NDN网络拥塞控制方法,其特征在于,所述NDN网络包括多个NDN路由节点,所述多个NDN路由节点与SDN控制器连接;所述方法应用于所述NDN路由节点,所述方法包括:
根据所述NDN路由节点的链路信息判断所述NDN路由节点是否发生拥塞,并在发生拥塞时,标记所述NDN路由节点为拥塞节点;
所述拥塞节点向所述SDN控制器上传拥塞信号,所述拥塞信号用于指示所述SDN控制器从所述拥塞节点的下游节点中选取至少一个NDN路由节点作为所述拥塞节点的分流节点,以及指示所述SDN控制器向所述拥塞节点的所述至少一个分流节点发送所述拥塞节点的缓存信息中全部或部分的缓存内容的网络缓存前缀,以使所述至少一个分流节点存储所述全部或部分的缓存内容。
8.根据权利要求7所述的NDN网络拥塞控制方法,其特征在于,其特征在于,所述根据所述NDN路由节点的链路信息判断所述NDN路由节点是否发生拥塞,包括:
基于所述NDN路由节点的链路信息计算所述NDN路由节点的链路利用率,并在所述NDN路由节点的链路利用率大于预设利用率阈值时,判定所述NDN路由节点发生拥塞;
其中,计算NDN路由节点的链路利用率的公式为:
Figure FDA0003664391730000041
μIJ表示NDN路由节点I到NDN路由节点J之间的链路利用率,
Figure FDA0003664391730000042
表示NDN路由节点I到NDN路由节点J之间链路中缓存内容P在单位时间内的传输速率,n表示该链路中传输的缓存内容的总数,CIJ表示NDN路由节点I到NDN路由节点J之间链路容量。
9.一种电子设备,包括存储器和处理器,存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上的权利要求1至6中任一项所述NDN网络拥塞控制方法的步骤或者实现如上的权利要求7或8所述NDN网络拥塞控制方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上的权利要求1至6中任一项所述NDN网络拥塞控制方法的步骤或者实现如上的权利要求7或8所述NDN网络拥塞控制方法的步骤。
CN202210589253.1A 2022-05-26 2022-05-26 Ndn网络拥塞控制方法、电子设备及存储介质 Active CN115002036B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210589253.1A CN115002036B (zh) 2022-05-26 2022-05-26 Ndn网络拥塞控制方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210589253.1A CN115002036B (zh) 2022-05-26 2022-05-26 Ndn网络拥塞控制方法、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN115002036A true CN115002036A (zh) 2022-09-02
CN115002036B CN115002036B (zh) 2023-07-25

Family

ID=83029214

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210589253.1A Active CN115002036B (zh) 2022-05-26 2022-05-26 Ndn网络拥塞控制方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115002036B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130039249A1 (en) * 2011-08-12 2013-02-14 Futurewei Technologies, Inc. Seamless Mobility Schemes in Named-Data Networking Using Multi-Path Routing and Content Caching
WO2013098317A1 (en) * 2011-12-29 2013-07-04 Koninklijke Kpn N.V. Network-initiated content streaming control
US20160043963A1 (en) * 2014-08-11 2016-02-11 Cisco Technology, Inc. Maintaining Named Data Networking (NDN) Flow Balance with Highly Variable Data Object Sizes
US9270598B1 (en) * 2013-12-13 2016-02-23 Cisco Technology, Inc. Congestion control using congestion prefix information in a named data networking environment
CN106851727A (zh) * 2017-01-23 2017-06-13 西安电子科技大学 基于多路径路由协议实现自组网拥塞控制的方法
US20180316614A1 (en) * 2017-05-01 2018-11-01 Fujitsu Limited Network traffic congestion control
CN110062045A (zh) * 2017-06-29 2019-07-26 北京邮电大学 一种内容路由器的缓存方法及装置
CN110572320A (zh) * 2019-08-30 2019-12-13 湖南科技大学 基于ndn的命名数据单源多路径路由方法、系统及介质
CN110995592A (zh) * 2019-12-16 2020-04-10 北京信息科技大学 一种新型待定兴趣表的自维护方法及路由转发方法
CN112804125A (zh) * 2021-02-09 2021-05-14 河南科技大学 一种基于模糊综合评判算法的命名数据网络拥塞控制方法
CN113098783A (zh) * 2021-03-26 2021-07-09 辽宁大学 基于链路带宽和时延的命名数据网络拥塞控制方法
CN113746748A (zh) * 2021-09-10 2021-12-03 中南民族大学 一种命名数据网络中显式拥塞控制方法
CN114422423A (zh) * 2021-12-24 2022-04-29 大连大学 一种基于sdn与ndn的卫星网络多约束路由方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130039249A1 (en) * 2011-08-12 2013-02-14 Futurewei Technologies, Inc. Seamless Mobility Schemes in Named-Data Networking Using Multi-Path Routing and Content Caching
WO2013098317A1 (en) * 2011-12-29 2013-07-04 Koninklijke Kpn N.V. Network-initiated content streaming control
US9270598B1 (en) * 2013-12-13 2016-02-23 Cisco Technology, Inc. Congestion control using congestion prefix information in a named data networking environment
US20160043963A1 (en) * 2014-08-11 2016-02-11 Cisco Technology, Inc. Maintaining Named Data Networking (NDN) Flow Balance with Highly Variable Data Object Sizes
CN106851727A (zh) * 2017-01-23 2017-06-13 西安电子科技大学 基于多路径路由协议实现自组网拥塞控制的方法
US20180316614A1 (en) * 2017-05-01 2018-11-01 Fujitsu Limited Network traffic congestion control
CN110062045A (zh) * 2017-06-29 2019-07-26 北京邮电大学 一种内容路由器的缓存方法及装置
CN110572320A (zh) * 2019-08-30 2019-12-13 湖南科技大学 基于ndn的命名数据单源多路径路由方法、系统及介质
CN110995592A (zh) * 2019-12-16 2020-04-10 北京信息科技大学 一种新型待定兴趣表的自维护方法及路由转发方法
CN112804125A (zh) * 2021-02-09 2021-05-14 河南科技大学 一种基于模糊综合评判算法的命名数据网络拥塞控制方法
CN113098783A (zh) * 2021-03-26 2021-07-09 辽宁大学 基于链路带宽和时延的命名数据网络拥塞控制方法
CN113746748A (zh) * 2021-09-10 2021-12-03 中南民族大学 一种命名数据网络中显式拥塞控制方法
CN114422423A (zh) * 2021-12-24 2022-04-29 大连大学 一种基于sdn与ndn的卫星网络多约束路由方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"基于神经网络的命名数据网学习型FIB研究", 《天津大学学报(自然科学与工程技术版)》 *
沈越欣;王兴伟;李洁;曾荣飞;: "基于多源的NDN端节点拥塞控制算法", 网络空间安全, no. 08 *
黄涛,高文哲: "基于SDN集中控制的NDN网络路由策略研究", 《数字技术与应用》 *

Also Published As

Publication number Publication date
CN115002036B (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
US10063488B2 (en) Tracking queuing delay and performing related congestion control in information centric networking
US11824764B1 (en) Auto load balancing
US9992299B2 (en) Technologies for network packet cache management
US20080101233A1 (en) Method and apparatus for load balancing internet traffic
WO2014068426A1 (en) A method for dynamic load balancing of network flows on lag interfaces
CN102714628A (zh) 通信系统、控制装置、处理规则设置方法、分组传输方法和程序
CN111935031B (zh) 一种基于ndn架构的流量优化方法及系统
Yan et al. A survey of low-latency transmission strategies in software defined networking
US11502956B2 (en) Method for content caching in information-centric network virtualization
CN111224888A (zh) 发送报文的方法及报文转发设备
CN108234320A (zh) 报文传输方法及交换机
Ye et al. PTP: Path-specified transport protocol for concurrent multipath transmission in named data networks
CN112565102A (zh) 一种负载均衡方法、装置、设备及介质
Taher et al. A review on cache replacement strategies in named data network
CN115002036B (zh) Ndn网络拥塞控制方法、电子设备及存储介质
Buragohain et al. Quality of Service provisioning in Named Data Networking via PIT entry reservation and PIT replacement policy
CN107135271B (zh) 一种能量有效的内容中心网络缓存方法
CN111901237A (zh) 源路由选路方法及系统、相关设备及计算机可读存储介质
CN110661731B (zh) 一种报文处理方法及其装置
Matsuzono et al. Content request handling for application-oriented transport control
CN109361928B (zh) 一种信息中心网络系统及视频传输方法
US20130346601A1 (en) Network device, method of controlling the network device, and network system
Silva et al. Name popularity algorithm: a cache replacement strategy for NDN networks
US20240163219A1 (en) System and method for data transfer and request handling among a plurality of resources
CN109842557B (zh) 管理流规则表的方法和交换器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant