CN1731762A - 一种基于Steiner的QoS约束的多播路由的方法 - Google Patents
一种基于Steiner的QoS约束的多播路由的方法 Download PDFInfo
- Publication number
- CN1731762A CN1731762A CNA2005100192445A CN200510019244A CN1731762A CN 1731762 A CN1731762 A CN 1731762A CN A2005100192445 A CNA2005100192445 A CN A2005100192445A CN 200510019244 A CN200510019244 A CN 200510019244A CN 1731762 A CN1731762 A CN 1731762A
- Authority
- CN
- China
- Prior art keywords
- delay
- tree
- route
- path
- time delay
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于Steiner的QoS约束的多播路由方法,在NS2平台下实现,包括单播路由和多播路由,采用基于时延约束的方法构建共享多播树,具体如下:(1)根据(见右式1)求最小时延的路径树,若时延不符合约束条件,则与目的节点协商约束边界;(2)根据(见右式2)
Description
技术领域
本发明涉及一种基于Steiner的QoS约束的多播路由方法(SMRQoS),属于网络技术,通信技术,多媒体应用技术领域,特别是网络路由技术。
背景技术
随着各种网络多媒体应用的开展,如网络视频会议、网络多媒体教学、交互式仿真、网络游戏等,它们的共同特点都是一对多或者多对多的数据传输,并且传输的数据量普遍较大。此时,若采用传统的点到点单播通信方式,将严重降低网络传输效率,浪费网络资源,甚至造成网络的堵塞。多播正是针对该问题提出来的一种面向一对多,多对多的高效的数据传输方式。
对于多播路由而言,数据信息从单个或多个源点发向多个目的点,根据路由协议所选择的路径发送,因此,寻找简单、高效、健壮的多播路由算法是众多学者研究的热点。目前,进行多播通信最有效的一种方式是构造多播树,这种方式将参加一个多播组通信的节点按照生成树算法构造成一棵生成树,所以多播路由问题也可以看成如何建立生成多播树的问题。
网络的快速发展要求当前网络既能传送常规的“尽力传输(best-effort)”服务(如mail,ftp等),也能传送有一定服务质量(Quality of Service,QoS)要求的实时多媒体业务。简单地说,基于QoS约束的多播路由是通过发现具有某种相关性能约束的最佳多播树,来更好地利用网络资源以支持应用的QoS需求。在大多数QoS服务模型中,都把延迟、延迟抖动、丢包率和带宽作为重要的评价指标。
通常的QoS约束多播路由问题有以下几类:带宽约束多播路由、时延约束多播路由、时延一时延约束多播路由、节点度数约束的多播路由问题。它们的目标通常是要求多播树的费用最小,因此称它们为QoS约束的Steiner树问题,这样的问题通常也是NP完全问题,需要寻求可实用的启发式算法。目前典型的时延约束Steiner树启发式算法有:KPP算法、BSMA算法、CDKS算法。
发明内容
本发明的目的是设计一种将延时和代价综合加以考虑,对每次加入的最短路径要求延时约束的一种基于Steiner的QoS约束的多播路由方法(SMRQoS)。MPH(Minimum cost Paths Heruistic)算法是一种典型的无约束Steiner树启发式算法,它所求得的多播树的总费用较优。其基本思想是每次把离多播树代价最小的信宿节点加入到多播树中,最终得到准Steiner树MPH。
本发明的技术方案:本发明的基于Steiner的QoS约束的多播路由方法在NS2平台下实现,包括单播路由和多播路由,其特征在于:采用基于时延约束的方法构建共享多播树,具体如下:
(1)根据
求最小时延的路径树,若时延不符合约束条件,则与目的节点协商约束边界;
式中T(s,M)代表多播树,其中,M{V-{s},代表节点集,s是源节点;P(s,t)表示从源节点s到目的节点t的路径;函数delay(e)表示链路e上的时延,其中e∈E,E代表链路集;函数delay(n)代表节点的时延,n∈V代表任意节点;D代表时延约束值;
(2)根据
求费用最小路径树,将时延不符合要求的节点剪除,符合的加入到集合H中;
(3)对V属于H,求树T中所有节点的最小时延路径和最小费用路径集合M;
(4)从集合M中找出时延小于时延约束边界的费用最小路径P;
(5)去除环路;
(6)计算H=H-{v},T=T+{p},VT={路径p上所有节点};
(7)重复(3)计算,直到H=Φ,Φ为空。
本发明的优点:经仿真结果分析,从树费用来看,它性能优于CDKS算法,从端到端的最大时延和算法复杂度来看,比KPP与BSMA算法都占优势,可以得出结论,本发明的算法是一种时延约束的,具有较低时间复杂度且树费用适中,并且具有较好扩展性的一种Steiner树算法。
附图说明
图1是基于时延约束的共享多播树构建的流程图。
具体实施方式
算法数学模型描述如下:
一个网络可表示为一个加权图G(V,E)中,其中V表示节点集,E表示连接节点的通信链路集,|V|和|E|分别表示网络中连接节点的通信链路集。设P(s,t)表示从源节点s到目的节点t的路径,T(s,M)表示多播树,其中,M{V-{s}表示多播树的端节点或叶节点集,函数delay(e),cost(e)分别表示链路e上的时延和代价,其中e∈E,E代表链路集;。
假定多播树最大时延约束为D,对于给定的一个多播请求R,则基于时延约束的共享多播树算法就是在图G中寻找一棵多播树T,满足时延约束:
假定满足上述条件的多播树的集合T,则我们要寻找的多播树T的代价
函数delay(n)代表节点的时延,n∈V代表任意节点;D代表时延约束值;
算法思想:选择还没有加入多播树的节点,用Dijkstra算法求出每个节点的时延集合以及代价集合,选择离多播树时延值最小的链路,把它加入多播树,并除去可能存在的环路。
如图1,基于时延约束的共享多播树的具体构建方法如下:
(1)根据
求最小时延的路径树,若时延不符合约束条件,则不存在这样的树,需要与目的节点协商约束边界;
(2)根据
求费用最小路径树,将时延不符合要求的节点剪除,符合的加入到集合H中;
(3)对v属于H,求到树T中所有节点的最小时延路径和最小费用路径集合M;
(4)从集合M中找出时延小于时延约束边界的费用最小路径P;
(5)去除环路;
(6)计算H=H-{v},T=T+{p},VT={路径p上所有节点};
(7)重复计算(3),直到H=Φ,Φ为空。
使用网络仿真平台NS2进行算法的仿真。在NS2平台上实现一个仿真协议DelayAgent,该协议功能是让路由器获得QoS指标中的时间延迟参数。
协议仿真的实现有几个步骤,主要包括建立新协议类,然后再让NS识别新协议,最后编译,实现仿真。
(1)首先定义头文件hdr_delay,包括数据结构和决定新代理的继承结构,并建立DelayAgent的类定义。
(2)定义c++代码和OTcl代码之间的接口连接模块,包括DelayPacketClass和DelayClass。
(3)实现DelayAgent类的接收函数recv()和Tcl命令触发函数command()以及必须的时钟参量。
(4)改动NS2目录下packet.h文件的enum packets{}和class p)info{}相应部分;改动tcl/lib/ns-1ib.tcl文件。
(5)定义Tcl对象的缺省值;改动tcl/lib/ns-packet.tcl文件,在该文件中为新的分组增加一个入口。
(6)改动Malefile文件,将*.0文件加入到该文件NS2对象文件列表中。
(7)在NS2目录下运行Make Depend和Make,重新编译NS2。
(8)编号Otcl脚本,运行新协议。
算法执行过程的部分伪代码描述如下:
设path=(u=v1,v2,...,vi=v)
//检测回路并消除它
for w=v2 to vi do
{
If indegree(w)=1//存在回路
{
//得到w在路由树上的直接上游结点x
x=get_upnode(w)
//删除链路(x,w)
delete(x,w)
)//x是非成员的叶结点
WHILE(x∈V-M AND outdegree(x)=0)
{
//得到x在路由树上的直接上游结点z
z=get_upnode(x)
x=z
}
//得到w在树上的所有下游结点
y=get_downnode(w)
//修改所有w的下游结点的到源结点的时延
update_delay(y)
)
}
//将路径Path加入到多播树,并修改相应的变量
For k=2 to i do
{VT=VT U{Vk}
ET=ET U{(Vk-i,Vk)}
Indegree(Vk)=1
delay(Vk)=delay(Vk-1)+D(Vk-1,Vk)
outdegree(vk-1)=outdegree(vk-1)+1
}
最后进行了仿真模拟证明了其有效性。
Claims (1)
1.一种基于Steiner的QoS约束的多播路由方法,在NS2平台下实现,包括单播路由和多播路由,其特征在于:采用基于时延约束的方法构建共享多播树,具体方法如下:
(1)根据
求最小时延的路径树,若时延不符合约束条件,则与目的节点协商约束边界;
式中T(s,M)代表多播树,其中,M{V-{s},代表节点集,s是源节点;P(s,t)表示从源节点s到目的节点t的路径;函数delay(e)表示链路e上的时延,其中e∈E,E代表链路集;函数delay(n)代表节点的时延,n∈V代表任意节点;D代表时延约束值;
(2)根据
求费用最小路径树,将时延不符合要求的节点剪除,符合的加入到集合H中;
(3)对V属于H,求树T中所有节点的最小时延路径和最小费用路径集合M;
(4)从集合M中找出时延小于时延约束边界的费用最小路径P;
(5)去除环路;
(6)计算H=H-{v},T=T+{p},VT={路径p上所有节点};
(7)重复(3)计算,直到H=Φ,Φ为空。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2005100192445A CN1731762A (zh) | 2005-08-05 | 2005-08-05 | 一种基于Steiner的QoS约束的多播路由的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2005100192445A CN1731762A (zh) | 2005-08-05 | 2005-08-05 | 一种基于Steiner的QoS约束的多播路由的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1731762A true CN1731762A (zh) | 2006-02-08 |
Family
ID=35964066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005100192445A Pending CN1731762A (zh) | 2005-08-05 | 2005-08-05 | 一种基于Steiner的QoS约束的多播路由的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1731762A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101489276B (zh) * | 2009-01-06 | 2011-01-05 | 北京交通大学 | 一种移动Ad Hoc网络多播路由方法 |
CN102497495A (zh) * | 2011-12-21 | 2012-06-13 | 北京航空航天大学深圳研究院 | 一种用于多摄像机监控系统的目标关联方法 |
CN106998301A (zh) * | 2017-04-28 | 2017-08-01 | 梁海燕 | 一种不确定源条件下的可靠多播路由构建方法 |
CN112769696A (zh) * | 2019-11-06 | 2021-05-07 | 中兴通讯股份有限公司 | 路由选择方法、网络控制器、系统和存储介质 |
CN113328950A (zh) * | 2021-05-25 | 2021-08-31 | 桂林电子科技大学 | 一种基于树状结构的sdn路由系统构建方法 |
-
2005
- 2005-08-05 CN CNA2005100192445A patent/CN1731762A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101489276B (zh) * | 2009-01-06 | 2011-01-05 | 北京交通大学 | 一种移动Ad Hoc网络多播路由方法 |
CN102497495A (zh) * | 2011-12-21 | 2012-06-13 | 北京航空航天大学深圳研究院 | 一种用于多摄像机监控系统的目标关联方法 |
CN102497495B (zh) * | 2011-12-21 | 2013-10-09 | 北京航空航天大学深圳研究院 | 一种用于多摄像机监控系统的目标关联方法 |
CN106998301A (zh) * | 2017-04-28 | 2017-08-01 | 梁海燕 | 一种不确定源条件下的可靠多播路由构建方法 |
CN106998301B (zh) * | 2017-04-28 | 2020-03-10 | 郭得科 | 一种不确定源条件下的可靠多播路由构建方法 |
CN112769696A (zh) * | 2019-11-06 | 2021-05-07 | 中兴通讯股份有限公司 | 路由选择方法、网络控制器、系统和存储介质 |
CN112769696B (zh) * | 2019-11-06 | 2023-09-26 | 中兴通讯股份有限公司 | 路由选择方法、网络控制器、系统和存储介质 |
CN113328950A (zh) * | 2021-05-25 | 2021-08-31 | 桂林电子科技大学 | 一种基于树状结构的sdn路由系统构建方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7246172B2 (en) | Static dense multicast path and bandwidth management | |
CN1910881A (zh) | 分组通信网络和分组通信方法 | |
Shirmarz et al. | An adaptive greedy flow routing algorithm for performance improvement in software‐defined network | |
CN1731762A (zh) | 一种基于Steiner的QoS约束的多播路由的方法 | |
CN101035078A (zh) | 一种基于令牌的互联网流量控制方法 | |
CN1798068A (zh) | 在网络中提供有限中继保护通道的方法和设备 | |
CN1716904A (zh) | 一种基于多业务传输平台的组播实现方法 | |
EP2710766B1 (en) | Protocol independent multicast with quality of service support | |
CN1917511A (zh) | 一种流量工程的实现方法和装置 | |
Montana et al. | Adaptive reconfiguration of data networks using genetic algorithms | |
CN1819556A (zh) | 基于最小生成树和贪婪算法的动态时延约束的多播路由的方法 | |
Desmouceaux et al. | Reliable BIER with peer caching | |
CN1305279C (zh) | 核心网无状态的端到端多约束准入控制方法 | |
CN1710884A (zh) | 一种支持多QoS约束的多播路由方法 | |
JP4508007B2 (ja) | Vpnトンネル接続トポロジを決定する管理サーバ及びプログラム | |
Said | Accurate performance evaluation of internet multicast architectures: hierarchical and fully distributed vs. service-centric | |
CN1677938A (zh) | 标签交换路径网络测试的实现方法 | |
Chen et al. | An efficient transmission method for bulk data based on network coding in delay tolerant network | |
Lowu et al. | On efficient distribution of data in multicast networks: QoS in scalable networks | |
Imtiaz et al. | A layer-2 multicast forwarding policy for a generic real-time ethernet system | |
Cai et al. | The Langberg-Médard Multiple Unicast Conjecture for Networks with Collapsed Backbone | |
Zhang et al. | A recovery algorithm for reliable multicasting in reliable networks | |
Jaros et al. | Complexity of collective communications on NoCs | |
Chandra et al. | Improved-antnet: Aco routing algorithm in practice | |
Guler | Multicast Aware Virtual Network Embedding in Software Defined Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |