CN108924055B - 一种基于斯坦纳树的命名数据网络多播路由方法 - Google Patents
一种基于斯坦纳树的命名数据网络多播路由方法 Download PDFInfo
- Publication number
- CN108924055B CN108924055B CN201810964702.XA CN201810964702A CN108924055B CN 108924055 B CN108924055 B CN 108924055B CN 201810964702 A CN201810964702 A CN 201810964702A CN 108924055 B CN108924055 B CN 108924055B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- tree
- spanning tree
- distance
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于斯坦纳树的命名数据网络多播路由方法,属于通信与网络技术领域。本方法在计算多播路由时,先通过预处理删掉网络拓扑中不可能出现在可行解中的点与弧,缩小网络规模,降低计算路由的运算时间和存储开销,然后将多播路由问题解释为有向图的斯坦纳树问题,通过构建最小多播树来求解多播路由。本发明方法考虑了命名数据网络中节点缓存的作用,缩小了网络规模,降低了构建最小多播树的计算成本。
Description
技术领域
本发明涉及一种命名数据网络的计算多播路由方法,尤其涉及一种基于斯坦纳树的命名数据网络多播路由方法,属于通信与网络技术领域。
背景技术
近年来,为了应对传统互联网“以主机为中心”的思想所带来的问题,解决当前主流的寻址方式与急速增长的内容需求之间的矛盾,相关研究人员提出了命名数据网络(Named Data Networking,NDN)这一新型网络架构。在NDN中,用户直接利用命名前缀请求所需要的数据内容,而不是在每个数据包中都携带源节点与目的节点的IP地址。用户(数据的消费者)会发送一个包含用来标识请求内容的名字前缀的兴趣包,沿途的路由器会根据适当的路由算法和信息基于兴趣包中所包含的名字前缀来转发兴趣包。当兴趣包抵达源节点(数据的生产者)或者命中了某个中继节点的缓存时,就会有一个与名字前缀相匹配的数据包沿着与兴趣包传播的路径相反的方向传到用户(数据的消费者)处。因为网络中节点缓存与基于名字寻址这两个特点,所以NDN相较于传统的TCP/IP网络更容易实现数据分发与内容共享的通信任务。
NDN对于多播的支持,主要是添加“multicast”这一转发策略。其主要的实现方式为扩散方式:即信源把信息发送到所有的出链路上,每个网络节点都接收并转发信息,最终信息被发送到整个网络,但是只有多播组成员才能接受。这种方式虽然能够使得多播组成员都能接收到内容,但是非常浪费带宽资源,极易造成网络拥塞。除了扩散方式以外,还有以下几种方式来实现多播:(1)分别寻址方式:用点到点的通信来支持多点通信应用。信源分别向每个接受者发送信息。有多少个接收者,信源就要将相同的信息发送多少次。(2)多目的地寻址方式:信源使用可变长度的分组头来发送信息。分组的目的地址域内有多个目的地址(即接收者的地址)。(3)基于斯坦纳树的转发方式:构造一棵覆盖信源和接收者多播路由树,信源只需要发送一次数据,然后通过多播树来转发。数据在树的分叉处被复制,直至每个接收者。在以上的3种方式中,基于生成树的转发方式尽可能地共享链路,节省了网络资源。
但是,现有的基于斯坦纳树的多播路由方法都是针对传统通信网络设计的,并没有考虑节点缓存的作用,而且,当网络的规模变得很大时,此类方法的计算成本很高。
发明内容
本发明的目的是为了解决当网络规模很大时计算成本升高的问题,同时解决命名数据网络的多播路由问题,提出一种基于斯坦纳树的命名数据网络多播路由方法。
本方法在计算多播路由时,先通过预处理删掉网络拓扑中不可能出现在可行解中的点与弧,缩小网络规模,降低计算路由的运算时间和存储开销,然后将多播路由问题解释为有向图的斯坦纳树问题,通过构建最小多播树来求解多播路由。
本发明方法部署于命名数据网络中,用于多播与组播路由的计算。网络中每个节点都要定期的广播两种LSAs(Link State Advertisement)——邻居LSA和前缀LSA,邻居LSA包含本节点的邻居节点和相应链接信息,前缀LSA包含本节点能够生产的内容或者需要的内容。根据所有节点的邻居LSA,构建完整的网络拓扑;根据所有节点的前缀LSA,可以获知内容的数据生产者和对应的数据消费者,为要传输的内容构建相应的多播组。当全局的拓扑结构和多播的需求已经明确后,可以用本发明提出的多播算法计算相应的多播树。多播树中的‘枝条’实质上是命名数据网络中数据包的流动的方向,而命名数据网络中数据的获取是由消费者发送兴趣包驱动,生产者收到兴趣包后会返回匹配的数据包,数据包沿着与兴趣包传播的相反方向返至消费者处。因此,在完成多播树的构建后,可以将多播树中各枝条方向反转,作为兴趣包传播的路径。然后,按照反转后的多播树,向多播树中的节点的RIB表写入相应的条目,节点会根据RIB中的路由信息构建FIB中的条目。当节点接收到兴趣包后,会根据FIB中的信息,转发到相应的下游节点。当兴趣包到达数据的生产者节点后,匹配的数据包就会返回到数据消费者处,完成内容传输的通信任务。
有益效果
本发明方法考虑了命名数据网络中节点缓存的作用,所提出的多播算法在计算路由时,先采用了缩减技术进行预处理,删除了不可能出现在可行解中的点与弧,缩小了网络规模,降低了构建最小多播树的计算成本。
附图说明
图1为本发明所述的多播路由方法流程图;
图2为多播路由方法仿真结果图(平均时延vs业务规模);
图3为多播路由方法仿真结果图(时延误差vs业务规模)。
具体实施方式
下面结合附图和实施例对本发明方法做进一步详细说明。
一种基于斯坦纳树的命名数据网络多播路由方法,包括以下步骤:
首先,对相关节点进行定义:将命名数据网络中除数据生产节点和数据消费节点以外的节点称为非终端节点,将斯坦纳树中的非终端节点称为斯坦纳节点。
然后,对命名数据网络进行预处理。采用缩减技术,删除不可能出现在可行解中的点与弧。所述缩减技术如下:
对于没有入弧的非终端节点,删除该节点及与之相连的弧;
对于没有出弧的非终端节点,删除该节点及与之相连的弧;
对于只有一个相连节点的非终端节点,删除该节点及与之相连的弧;
对于数据的生产节点的所有入弧全部删除;
对于不可达的非终端节点,即从数据生产节点到该节点没有路径可通或者该节点至终端节点无路径可通,则该非终端节点可以被删除;
之后,构建斯坦纳树,计算命名数据网络多播路由。具体方法如下:
步骤1:初始化,以数据生产节点做为多播树的根,删除缓存空间不足的节点,记录后续步骤中所需最短路径与最短距离。
从数据生产节点S开始,k=1,令S做为T1,则Tk=T1,Vk=V1={S},Vk表示生成树内节点集合,T1表示只有数据源节点的生成树,V1表示生成树T1的节点集。令所要传输的内容的请求带宽为bw,Mk为数据消费节点集,计算Mk中所有数据消费节点到生成树Tk的最短距离,如果相应的最短路径中的中间节点的剩余缓存空间值小于bw,删除该中间节点,寻找次优路径。如果不小于bw,则不做多余处理。最后,记录各数据消费节点到生成树Tk的路径以及距离。
步骤2:向生成树中添加新的节点,最后的目标是生成树包含所有的数据消费节点。
从Mk中选出从生成树Tk到数据消费节点的最短路径的数据消费节点,将该点和Tk到该点最短路径上的所有中间节点加入生成树Tk中,然后从Mk中删除该数据消费节点。
步骤3:更新生成树Tk到Mk中数据消费节点的距离与相应的最短路径。
针对步骤2中新加入生成树的数据消费节点,重复下述过程:计算Mk中剩余的所有数据消费节点到新加入树中节点的最短距离,如果该距离小于其到生成树Tk的距离,将该距离作为生成树Tk到该数据消费节点的距离,并记录下生成树Tk到该数据消费节点的最短路径;如果该距离不小于其到生成树的距离,则不更新生成树Tk到该数据消费节点的距离。
步骤4:重复步骤2与步骤3,不断重复此过程,直到Mk为空,最后使得生成树包含所有的数据消费节点。
在构建最小多播树的过程中,计算最短距离时,如果相应方向上的链路可用带宽小于请求带宽,则删除该链路,寻找次优路径到达端节点;如果相应方向上的链路可用带宽不小于请求带宽,则不进行多余处理,寻找最短路径,并记录最短距离和路径。
最后,将多播树中各枝条方向反转,作为兴趣包传播的路径,按照反转后的多播树,向多播树中的节点的RIB表写入相应的条目,节点将根据RIB中的路由信息构建FIB中的条目;当节点接收到兴趣包后,会根据FIB中的信息,转发到相应的下游节点;当兴趣包到达数据的生产者节点后,匹配的数据包会返回到数据消费者处,完成内容传输的通信任务。
将本发明提出的算法与经典的STMPH算法,精确算法进行比对仿真。当网络的规模固定为100个节点,节点的度平均为6,仿真结果如图2与图3所示。结合图2、图3可以得出结论:当网络拓扑的规模一定时,业务的规模(多播组内数据的消费节点数目)越大,STMPH算法和MOH算法同最优解之间的差距越大。通过对这两种算法进行分析后,认为产生这种现象的原因应是:每次添加成员时多通过最短路径添加到树上,有可能把那些非最短路径,或与最短路径的费用相同而搜索次序在后的路径漏掉,而这些路径有可能实现更多的链路共享,从而减小整个多播组的总时延。而STMPH算法的误差大于MOH算法误差,则是因为在每次添加成员时,STMPH都是将新的多播组成员连接到已加入多播树中的成员节点或数据源节点上,只考虑树中的多播组成员节点与余下的多播组成员节点之间的最短路径,其搜索深度远小于MOH算法,漏掉的更有路径更多。不仅如此,由于STMPH添加新成员加入多播树的方式是将新成员与源节点或树中已存在的目的节点相连,所以极易导致多个多播组成员处于一条路径上的链状结构,会导致整体的传输时延增加。因此,本发明所述方法在传输时延性能上的表现要优于STMPH算法。
Claims (3)
1.一种基于斯坦纳树的命名数据网络多播路由方法,其特征在于,
在计算命名数据网络多播路由时,首先,通过预处理删掉网络拓扑中不可能出现在可行解中的点与弧,缩小网络规模,降低计算路由的运算时间和存储开销,具体方法如下:
对于没有入弧的非终端节点,删除该节点及与之相连的弧;对于没有出弧的非终端节点,删除该节点及与之相连的弧;对于只有一个相连节点的非终端节点,删除该节点及与之相连的弧;对于数据的生产节点的所有入弧全部删除;对于不可达的非终端节点,即从数据生产节点到该节点没有路径可通或者该节点至终端节点无路径可通,则删除该非终端节点;
然后,将多播路由问题解释为有向图的斯坦纳树问题,通过构建最小多播树来求解多播路由;
之后,将多播树中各枝条方向反转,作为兴趣包传播的路径,按照反转后的多播树,向多播树中的节点的RIB表写入相应的条目,节点将根据RIB中的路由信息构建FIB中的条目;当节点接收到兴趣包后,会根据FIB中的信息,转发到相应的下游节点;当兴趣包到达数据的生产者节点后,匹配的数据包会返回到数据消费者处,完成内容传输的通信任务。
2.如权利要求1所述的一种基于斯坦纳树的命名数据网络多播路由方法,其特征在于,所述构建最小多播树来求解多播路由的方法为:
将命名数据网络中除数据生产节点和数据消费节点以外的节点称为非终端节点,将斯坦纳树中的非终端节点称为斯坦纳节点;
步骤1:初始化,以数据生产节点做为多播树的根,删除缓存空间不足的节点,记录后续步骤中所需最短路径与最短距离;
从数据生产节点S开始,k=1,令S做为T1,则Tk=T1,Vk=V1={S},Vk表示生成树内节点集合,T1表示只有数据源节点的生成树,V1表示生成树T1的节点集;令所要传输的内容的请求带宽为bw,Mk为数据消费节点集,计算Mk中所有数据消费节点到生成树Tk的最短距离,如果相应的最短路径中的中间节点的剩余缓存空间值小于bw,删除该中间节点,寻找次优路径;如果不小于bw,则不做多余处理;最后,记录各数据消费节点到生成树Tk的路径以及距离;
步骤2:向生成树中添加新的节点,最后的目标是生成树包含所有的数据消费节点;
从Mk中选出从生成树Tk到数据消费节点的最短路径的数据消费节点,将该点和Tk到该点最短路径上的所有中间节点加入生成树Tk中,然后从Mk中删除该数据消费节点;
步骤3:更新生成树Tk到Mk中数据消费节点的距离与相应的最短路径;
针对步骤2中新加入生成树的数据消费节点,重复下述过程:计算Mk中剩余的所有数据消费节点到新加入树中节点的最短距离,如果该距离小于其到生成树Tk的距离,将该距离作为生成树Tk到该数据消费节点的距离,并记录下生成树Tk到该数据消费节点的最短路径;如果该距离不小于其到生成树的距离,则不更新生成树Tk到该数据消费节点的距离;
步骤4:重复步骤2与步骤3,不断重复此过程,直到Mk为空,最后使得生成树包含所有的数据消费节点。
3.如权利要求1所述的一种基于斯坦纳树的命名数据网络多播路由方法,其特征在于,在构建最小多播树的过程中,计算最短距离时,如果相应方向上的链路可用带宽小于请求带宽,则删除该链路,寻找次优路径到达终端节点;如果相应方向上的链路可用带宽不小于请求带宽,则不进行多余处理,寻找最短路径,并记录最短距离和路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810964702.XA CN108924055B (zh) | 2018-08-23 | 2018-08-23 | 一种基于斯坦纳树的命名数据网络多播路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810964702.XA CN108924055B (zh) | 2018-08-23 | 2018-08-23 | 一种基于斯坦纳树的命名数据网络多播路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108924055A CN108924055A (zh) | 2018-11-30 |
CN108924055B true CN108924055B (zh) | 2019-06-14 |
Family
ID=64405138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810964702.XA Active CN108924055B (zh) | 2018-08-23 | 2018-08-23 | 一种基于斯坦纳树的命名数据网络多播路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108924055B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112702267B (zh) * | 2021-01-21 | 2023-04-07 | 广东工业大学 | 分布式训练路由方法、系统、储存介质及计算机设备 |
CN114844757B (zh) * | 2022-02-24 | 2023-11-24 | 电子科技大学长三角研究院(湖州) | 一种面向分布式并行运算类算法的片上网络设计方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102647357B (zh) * | 2012-04-20 | 2016-04-13 | 中兴通讯股份有限公司 | 一种处理内容路由方法及装置 |
CN106101001A (zh) * | 2016-05-24 | 2016-11-09 | 中国人民解放军国防科学技术大学 | 一种不确定多播传输方法 |
CN106911574A (zh) * | 2017-02-26 | 2017-06-30 | 中南民族大学 | 基于粒子群的命名数据网络多约束路由算法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8634289B2 (en) * | 2009-12-31 | 2014-01-21 | Alcatel Lucent | Efficient protection scheme for MPLS multicast |
KR101715080B1 (ko) * | 2011-06-09 | 2017-03-13 | 삼성전자주식회사 | 네임 기반의 네트워크 시스템에서 펜딩 테이블의 오버플로우를 방지하는 노드 장치 및 방법 |
-
2018
- 2018-08-23 CN CN201810964702.XA patent/CN108924055B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102647357B (zh) * | 2012-04-20 | 2016-04-13 | 中兴通讯股份有限公司 | 一种处理内容路由方法及装置 |
CN106101001A (zh) * | 2016-05-24 | 2016-11-09 | 中国人民解放军国防科学技术大学 | 一种不确定多播传输方法 |
CN106911574A (zh) * | 2017-02-26 | 2017-06-30 | 中南民族大学 | 基于粒子群的命名数据网络多约束路由算法 |
Non-Patent Citations (1)
Title |
---|
基于遗传算法与模糊逻辑的多播路由的研究;卢嘉;《中国优秀硕士学位论文全文数据库(电子期刊)·信息科技辑》;20180531;全文 |
Also Published As
Publication number | Publication date |
---|---|
CN108924055A (zh) | 2018-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zdonik et al. | SpringerBriefs in Computer Science | |
Narra et al. | Destination-sequenced distance vector (DSDV) routing protocol implementation in ns-3. | |
Martins et al. | Ant-DYMO: A bio-inspired algorithm for MANETS | |
JP2008519489A (ja) | 大規模無線メッシュ・ネットワークにおいてマルチキャスト・ルーティングをサポートするためのシステム及び方法 | |
CN105656788B (zh) | 基于流行度统计的ccn内容缓存方法 | |
CN101489276A (zh) | 一种移动Ad Hoc网络多播路由方法 | |
CN109246624A (zh) | 一种组播转发方法及相关设备 | |
CN108924055B (zh) | 一种基于斯坦纳树的命名数据网络多播路由方法 | |
CN106059921A (zh) | 一种基于sdn技术和ccn框架的网络层的内容路由系统及其工作方式 | |
CN104580165A (zh) | 智慧协同网络中的一种协作缓存方法 | |
Cao et al. | uCast: Unified connectionless multicast for energy efficient content distribution in sensor networks | |
CN107181775A (zh) | 内容中心网络中的路由选择方法及路由选择装置 | |
CN104244423B (zh) | 基于无线传感器网络多路径传输的时隙调度算法 | |
Desai et al. | Enhanced confidence based Q-routing for an ad hoc network | |
CN115037669A (zh) | 一种基于联邦学习的跨域数据传输方法 | |
JP2010045680A (ja) | ノード、パケット転送方法およびそのプログラム | |
Sharma et al. | Study of Routing Protocols in MANET-A Review | |
CN101394298A (zh) | 建立组播传输路径、实现组播传输的方法及装置 | |
Lafta et al. | Efficient routing protocol in the mobile ad-hoc network (MANET) by using genetic algorithm (GA) | |
CN102035894B (zh) | 一种基于距离的状态同步方法 | |
Canourgues et al. | A scalable adaptation of the OLSR protocol for large clustered mobile ad hoc networks | |
Zhang et al. | Reverse-trace routing scheme in content centric networking | |
Cheng et al. | A heuristic multicast algorithm to support QoS group communications in heterogeneous network | |
CN104660504A (zh) | 计算机网络中进行封包多路径路由选择的装置及其方法 | |
Nishitha et al. | Bio-Inspired Routing In Ad Hoc Networks |
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 |