CN100373889C - 一种ip网络的组播传输方法 - Google Patents

一种ip网络的组播传输方法 Download PDF

Info

Publication number
CN100373889C
CN100373889C CNB2004100099545A CN200410009954A CN100373889C CN 100373889 C CN100373889 C CN 100373889C CN B2004100099545 A CNB2004100099545 A CN B2004100099545A CN 200410009954 A CN200410009954 A CN 200410009954A CN 100373889 C CN100373889 C CN 100373889C
Authority
CN
China
Prior art keywords
mesh
node
network
multilayer
distribution tree
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.)
Expired - Fee Related
Application number
CNB2004100099545A
Other languages
English (en)
Other versions
CN1738283A (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.)
Peking University
Beijing University of Technology
Original Assignee
Peking University
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 Peking University filed Critical Peking University
Priority to CNB2004100099545A priority Critical patent/CN100373889C/zh
Publication of CN1738283A publication Critical patent/CN1738283A/zh
Application granted granted Critical
Publication of CN100373889C publication Critical patent/CN100373889C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明设计一种一种IP网络的组播传输方法,具体包括以下步骤:(1)在IP网络的应用层建立一个多层mesh层叠网络结构,多层mesh的建立方法为:首先建立单层的mesh:设置mesh单个节点连接数的上下限;让外部节点加入mesh;在单层mesh基础上进行多层扩展:采用横向扩展方式和纵向扩展方式;(2)在层叠网络上建立数据分发树,多层mesh层叠网络上的数据分发树构建采用多层扩散法,具体为:多层mesh层叠网络上的数据分发树构建时,数据源向其所在的各个层次的mesh中的所有邻居发送始于源节点的路由消息,每个邻居再向其所在的各层mesh中的所有邻居转发这个消息。

Description

一种IP网络的组播传输方法
技术领域
本发明涉及计算机网络通信领域,尤其涉及一种网络上的组播数据传输方法,根据本发明的IP网络组播传输方法可用于支持各种组播应用的数据传输。
背景技术
IP网络是使用TCP/IP协议的网络,包括Internet、Extranet和Intranet。
数据传递分为单播、组播和广播。单播是将一个数据从单点发给单个目标点;组播是将一个数据从单点发给多个目标点;广播则是将一个数据从单点发给所有的目标点。
对于网络上的组播数据传递需求,传统的方法是对所有目标点逐一分别进行传输。这样做的缺点是浪费了网络的大量宝贵带宽资源。组播传输技术是利用数据分发树(数据在每个分发点进行复制)来减少组播数据传递对网络带宽的占用。
IP网络的组播传输技术分为两种:IP组播和应用层组播。IP组播是在网络层对IP单播路由协议进行扩展,应用层组播则是在应用层进行组播传输。应用层组播相对于IP组播具有优点:
(1)可以适用于远程网络范围的组播应用。
(2)组播组的数目可以不受限制(IP组播的组播组数目则受到IP组播地址空间的限制)。
(3)不需要路由器支持组播。
(4)可以提供保密性和访问控制等面向应用语义,即对于组播传输可以进行更好的安全控制。因此,应用层组播相对于IP组播具有更大的灵活性,应用前景更好。
应用层组播大多采用两阶段建立组播分发树,即首先建立一个层叠网络,然后再在这个层叠网络上建立组播分发树。所谓层叠网络是在现有IP网络之上(即传输层和应用层之间)叠加的一层网络。层叠网络可以提高组播的可靠性和效率。
格网(mesh)是一般采用的层叠网络拓扑,如End System应用层组播系统中就采用了mesh拓扑。mesh网络是对每个节点连接数的上下限进行限制的一种网络拓扑。mesh网络通过限制每个节点连接数的下限可以确保网络具有冗余的连通度,通过限制每个节点连接数的上限可以限制网络中的连接数量。
但是,由于mesh的规模直接影响mesh本身的效率,所以这些应用层组播系统对应用规模都有限制。这就使得它们难以适用于大规模的组播应用,例如现在的网上电视。
近些年,基于IP网络的视频和音频业务得到迅速发展,如网上电视,远程教育,网络会议,视频点播。同一般数据相比,视频和音频数据在IP网络上的传输需要占用大量的带宽。尽管这些年IP网络得到迅速发展,但现有网络带宽状况仍难以满足人们对数字内容传输的大量需求。而且,以后网络带宽的增长仍将落后于数字内容需求的增长。因此,研制能够降低视频和音频数据传输的带宽占用的方法和系统将产生重要的社会和经济价值。
发明内容
本发明的目的就是减轻IP网络上视频和音频业务对网络带宽的占用量,提供一种IP网络组播传输方法及系统,使在相同的网络环境下能够支持更大的业务规模。
IP网络组播传输方法及系统是在IP网络的应用层利用组播传输技术来降低数字内容传输对网络带宽的占用。其中,组播传输采用两阶段建立组播分发树的方案。第一阶段的层叠网络采用多层mesh的层次拓扑。
IP网络组播传输方法及系统在IP网络应用层上建立一个多层mesh的层叠网络结构。mesh网络具有健壮性。通过mesh的连接优化技术,即定时淘汰mesh网络中不好的连接,加入新的好的连接,能够实现对网络带宽的最佳利用,而且能够适应网络可用带宽状况的动态变化。多层mesh结构则可确保组播的节点规模不受限制。多层mesh拓扑和internet天然的层次结构一致,具有良好的组播传输性能。
IP网络组播传输方法及系统包含多层mesh层叠网络的建立和维护,以及层叠网络之上的数据分发树的建立和维护。IP网络多层mesh组播系统包含应用层组播节点(GPMI节点)传输模块,客户端接口模块,应用。客户端接口模块提供的调用包含:加入某个GPMI节点,创建一个应用多播组,加入某个已存在的应用多播组,接收数据,离开某个应用多播组,离开所加入的GPMI节点。
根据本发明的IP网络组播传输方法和系统,使多层mesh网络具有和单层mesh网络相近的传输性能和可靠性,多层mesh要具有灵活的建立方式。
根据本发明的IP网络组播传输方法包括以下步骤:
1.在IP网络的应用层建立一个多层mesh层叠网络结构,多层mesh的建立方法为:
(1)首先建立单层的mesh:设置mesh单个节点连接数的上下限;让外部节点加入mesh。
(2)在单层mesh基础上进行多层扩展:采用横向扩展方式和纵向扩展方式。
单层mesh进行多层扩展时,要保证子mesh和父mesh之间连接的可靠性。采用的方法:
(1)子mesh加入父mesh的必须是那些可靠性和带宽都能够满足要求的节点。
(2)在子mesh中选取多个这样的节点。
单层mesh进行多层扩展时,可以采取多种方法:
(1)单独采用向上扩展方式;
(2)单独向下扩展方式;
(3)两者同时使用。
其中,方法(1)适用于自底向上构建层叠网络;方法(2)适用于自顶向下构建层叠网络;方法(3)适用于更为灵活的层叠网络构建。
一个点获取自己要加入的mesh可以采用手工获取或通过全局服务器获取。手工获取是由管理员进行配置;通过全局服务器获取需要整个应用层多层mesh组播系统具有一个永久服务器,这台服务器存储当前所有mesh的信息。每个需要加入mesh的点提供自己的要求(如工作在mesh的哪个层次),从永久服务器中获得最适合自己加入的mesh。每个mesh创建时要向永久服务器进行注册。
多层mesh层叠网络的优化通过单个mesh的优化实现。每个mesh独立进行优化,最终达到总体的优化。
2.在层叠网络上建立数据分发树,多层mesh层叠网络上的数据分发树构建采用多层扩散法。数据源向其所在层次的mesh中的所有邻居发送始于数据源节点的路由消息,接收到路由信息的每个邻居再向其所在的各层mesh中的所有邻居转发这个消息,以此类推进行路由消息的扩散。所有点根据收到的路由消息就可知道数据源节点到自己的最佳路径。同时,每个点向自己的上级点发消息,让上级点知道自己是其下游节点。
附图说明
下面结合附图对本发明进一步详细地说明:
图1是本发明所述的多层mesh层叠网络。
图2是本发明所述的数据分发树的建立。
图3是本发明所述的多层mesh组播系统的组成。
图4是本发明所述的Nj节点更新路由信息示意图。
图5是本发明所述的mesh结构中节点离开对于分发树的影响。
图6是本发明所述的一个具体应用实例。
最佳实施例详细描述
下面参照本发明的附图,更详细地描述本发明的最佳实施例。
根据本发明的IP网络组播传输方法及系统,在IP网络应用层上建立一个多层mesh的层叠网络结构。mesh网络具有健壮性。通过mesh的连接优化技术,即定时淘汰mesh网络中不好的连接,加入新的好的连接,能够实现对网络带宽的最佳利用,而且能够适应网络可用带宽状况的动态变化。多层mesh结构则可确保组播的节点规模不受限制。单个mesh由于维护的复杂度,其规模典型不超过300个节点。多层mesh拓扑和internet天然的层次结构一致,具有良好的组播传输性能。
下面详细说明根据本发明的IP网络组播传输方法具体步骤,和根据本发明的IP网络组播传输系统的具体内容:
如图1所示,根据本发明的IP网络组播传输方法及系统包含多层mesh层叠网络的建立和维护,下面详细说明具体步骤:
一、多层mesh层叠网络的建立和维护
多层mesh层叠网络的建立过程如下:
(1)设置每个mesh的单个节点连接数的上下限。
(2)单个mesh的增长。外部节点可以指定一个mesh要求加入,从而成为这个mesh的成员节点。单个mesh中成员节点的数量不能超过某个设定值,以确保mesh网络的效率。
在单层mesh基础上进行多层扩展:采用横向扩展方式和纵向扩展方式。
单层mesh进行多层扩展时,要保证子mesh和父mesh之间连接的可靠性。采用的方法:
1)子mesh加入父mesh的必须是那些可靠性和带宽都能够满足要求的节点。
2)在子mesh中选取多个这样的节点。
单层mesh进行多层扩展时,可以采取多种方法:
1)单独采用向上扩展方式;
2)单独向下扩展方式;
3)两者同时使用。
其中,方法1)适用于自底向上构建层叠网络;方法2)适用于自顶向下构建层叠网络;方法3)适用于更为灵活的层叠网络构建。
(3)分层结构。一个mesh中的某个成员节点可以作为该mesh的代表加入其它mesh,而一个mesh中的成员节点可创建一个新的mesh。
1.下面详细说明建立一个mesh的具体结构:
Mesh中的每个节点都要维护两个数据表:mesh中节点基本信息列表(nodelist_),本节点与mesh中其他节点的mesh路径长度列表(mesh_)。
对于mesh中的一个节点A,mesh_表中每个元素为<node,vianode,distance>三元组,用来记录A到mesh中其他节点的mesh路径长度(即仅仅通过mesh中的路径能到达其他mesh节点的距离,而不是底层物理路经)和所经过的第一个mesh节点(vianode)。A最初的mesh_表中包含所有已知的mesh节点,vianode设定为A本身,距离设定为最大节点距离(DISTANCE_MAX)。
mesh的建立过程可以分为两个主要阶段:中心点(Rendezvous Point,简称RP)的定义和普通节点的加入。
(1)中心点的定义
每个mesh有一个或者多个RP点,中心点的主要用途是为其他节点加入mesh时可以从RP点获得mesh初始信息。由于指定了RP点,这意味着,当一个mesh建立起来之后,其他的普通节点就可以用RP点作为参数来指明要加入的mesh。
RP点是每个节点在加入mesh时首先要打交道的对象,它们从RP点获得mesh中已有节点的列表。RP点对于一个mesh而言是一个全局信息,将由系统管理员在配置GPMI网络的时候指定。而且,每个GPMI网络可以存在多个RP点,除了主RP点之外,其他的RP点作为备用RP点存在。当主RP点失败之后,其他的RP点会选举出新的主RP点。
RP点定时地向其他节点发送心跳(HEARTBEAT)消息,当一个节点收到HEARTBEAT消息之后,它将向邻居节点转发该消息。如果一个节点在一段时间内没有收到HEARTBEAT消息,则可以认为从RP点到该节点没有一条数据通路,需要考虑放弃现有的邻居节点并重新加入mesh。
(2)普通节点的加入
一个普通节点加入mesh需要经过两个过程:获得mesh中所有节点的信息;选择邻居。这两个过程在节点加入mesh之后将会定期被触发,并且在时间上是并行的。
首先,每个mesh节点中保存了该mesh中所有节点的基本信息列表nodelist_。假设对于任意一个mesh节点A,更新规则如下:
a)节点A初始化过程中,首先将自己加入到nodelist_中,完成nodelist_的初始化。
b)节点A请求加入mesh之前,将RP点加入到nodelist_中。
c)RP点收到节点A的加入请求时,它将节点A加入到自己的nodelist_中。
d)RP点在回应节点A的加入请求时,会将自己的nodelist_包含在包的结尾。节点A收到之后把这些节点全部加入到自己的nodelist_中。
e)节点A定时地随机选择nodelist_中的节点B,发送请求节点列表(DISCOVERY_ORIGIN)消息,获得B的返回节点列表(DISCOVERY_ACK)消息,其中包含B的一部分已知mesh节点。
f)每当节点A收到一个GPMI数据包时,如果这个包的数据源节点B并不在nodelist_中,就将B加入到nodelist_中。
g)对于新加入nodelist_中的节点,初始距离设定为DISTANCE_MAX。节点A定时选择nodelist_中的节点,并发送PING消息,测试与该节点的距离。
其次,描述mesh中邻居关系的建立过程。由于每个节点都受到度数<最小节点度数,最大节点度数>(<K1,K2>)的限制,所以它们只能包含有限个邻居,用neighbour来表示。确定邻居关系的过程为:当一个节点刚加入mesh时(或者当它的度数小于K1时),它随机地从nodelist_中选择一部分节点作为邻居,并向这些节点发送邻居关系请求(INSERT)消息。如果被请求节点的度数没有超过K2,则它接受该节点作为邻居,并送回确认消息INSERT_ACCEPT,否则送回拒绝消息INSERT_DENY。第一个节点收到确认消息后加入第二个节点作为邻居。此过程将反复进行,直到度数达到K1。
节点刚加入的时候,它的邻居关系是随机选择的,以后会逐步进行优化,具体优化方法在mesh的优化中描述。
2.节点离开的相关内容
普通节点A离开mesh时将广播自己的离开消息(QUITMESH),其他节点收到消息之后,需要更新相应的mesh信息,操作如下:
a)将A从nodelist_中删除
b)将A表项从mesh_中删除
c)对以A作为vianode的mesh_表项,vianode改变为本节点,距离改变为DISTANCE_MAX。
3.mesh的删除
mesh删除需要在RP点上进行,这个过程由系统管理员手工来完成,当RP节点收到删除请求之后,它通知所有当前的节点,发送mesh删除请求(MESH_DELETE_REQUEST)消息,收到mesh删除应答(MESH_DELETE_ACK)消息之后就将节点删除。如果在预定的时间内没有收到节点的应答,则强行删除该节点。
4.mesh的优化及方法
mesh优化的基本思想是重新选择邻居,使得节点到mesh中其他所有节点的总路径长度减少。
下面两种情况会更新mesh_表:
i)当一个节点B成为A的邻居,则在A的mesh_的B表项中,如果A到B的当前距离大于A到B的ping值,则将A到B的vianode设为B,距离设为A到B的ping值。
ii)B作为A的邻居,会定期向A发送B的mesh_表。如果A发现B到任一节点C的距离加上A到B的距离小于A到C的距离,并且A并不是B的mesh_表中C项的vianode,则更新A中mesh_的C表项,A到C的vianode为B,距离为A到B的长度加上B到C的长度。
具体优化过程如下:
i)A的邻居数量达到K1之后,就开始通过改变邻居关系来优化mesh。A随机选择一个mesh节点B(B不是A的邻居),向B发出请求mesh状态表消息(MESHSTATUSREQUEST),B收到请求后通过mesh状态表应答(MESHSTATUSREPLY)消息向A发送B的mesh表。A根据B的mesh_表计算utility(B),如果utility(B)大于系统定义的UTILITY_THRESHOLD,则A认为如果B作为A的邻居会提高mesh的效率。
ii)如果此时A的度数已经达到了K2,则A选择一个mesh_表中最少作为vianode的邻居节点C,向C发送接触邻居关系消息(DISCONNECT)解除与C的邻居关系。
iii)A向B发送建立邻居关系的请求。如果此时B的度数没有达到K2,则B接受A的请求,反之则拒绝。A收到B的接受消息后,将B加入为它的邻居,并更新mesh_表。
图2所示为层叠网络之上的数据分发树的建立和维护,下面详细说明数据分发树建立和维护的具体步骤和内容:
二、数据分发树的建立和维护:
1.数据分发树的建立过程:
数据源节点在自己所在mesh中利用扩散法建立组播分发树。对于该mesh中同时属于别的mesh的节点,将以自己作为数据源节点在相应的mesh中利用扩散法建立组播分发树。不断重复上述过程,直到数据源节点到每个节点都有一条分发路径。
mesh维护了邻居之间的数据传递路径,并且每个节点有一定的冗余路径,在此基础上我们采用扩散法来建立分发树。
对于每个mesh节点来说,它并不需要保存整个数据分发树的信息,而仅仅保存该节点到数据源的全路径,以及它所需要转发的邻居节点。我们利用一个路由表来保存分发树的信息,路由表中的每一个表项对应一个数据源的分发路径。
具体的步骤如下:
(1)初始化路由表
当每个节点加入mesh之后,它初始化自己的路由表,此时路由表中没有任何表项。
(2)指定数据源
mesh节点Ns通过外部指令的方式使自己成为数据源。每个数据源定期向整个mesh扩散自己的信息:Ns在自己的路由表中添加一条初始的路由信息<Ns,0,<Ns>,NULL>,并将这条路由信息发送给所有的mesh邻居。
(3)转发路由表
如附图4所示,Nj收到来自Ni的以Ns为数据源的路由信息,图中(a)表示检测到环路,(b)表示第一次扩散到Nj,(c)表示从Ni扩散过来的路径比其他路径短,按情况进行如下处理:
i)如果Nj已经在路由信息的innodelist中,将直接丢弃此路由信息。这样就很自然地避免了路由路径的环路问题。
ii)在Nj的路由表中,还没有以Ns为源的路由表项<Ns,...>,则在路由表中加入表项<Ns,distance(Ni,Nj)+totalcost,innodelist+Nj,NULL>,并向Ni发送路由表更新请求(RTUPDATEREQUEST),告诉Ni它将成为以Ns为源的路由路径的下游。Ni收到RTUPDATEREQUEST之后,将自己的路由表中对应表项的outnodelist中加上Nj。Nj更新完毕后将自己的这条路由信息发送给所有其他的邻居。
iii)Nj中已经有了以Ns为源的路由信息,而且totalcost大于等于新的路由信息中totalcost加上distance(Ni,Nj),也就是说获得了一条更短的路由路径(或者同样长度)。于是,Nj将删除原有的路由表项,并向原路径的直接上游节点Nk发送RTRELEASEREQUEST,告诉Nk不再成为它的转发下游。Nk收到RTRELEASEREQUEST后,将自己的路由表中对应表项的outnodelist中的Nj删除。Nj根据上一条规则加入新的路由表项,然后将自己的这条路由信息发送给所有下游邻居,以便进一步扩散出去,让下游节点也更新到更好的路径上。
从上面的路由表建立、更新规则可以看出,对于每个mesh节点Nj,它保存的到Ns的路由路径是惟一且最短的路径,也就是说在整个mesh中建立了一棵以数据源Ns为根的最短路径树。根据distance(Ni,Nj)的不同度量准则,这样的数据分发树是最优的。
由于每条路由信息仅需要向下游邻居转发,网络流量为O(1),即常数量级。每条路径中包含了至树根的上游节点和所转发的下游节点(至多为K2-1个),报文的长度为O(logN)量级。因此,即使当GPMI网络的规模比较大的时候,建立分发树的开销也是可以接受的。
如图3所示,IP网络多层mesh组播系统包含GPMI节点传输模块,客户端接口模块,应用。客户端接口模块提供的调用包含:加入某个GPMI节点,创建一个应用多播组,加入某个已存在的应用多播组(如某个网络会议),接收数据,离开某个应用多播组(如某个网络会议),离开所加入的GPMI节点。
2.维护过程
当有节点离开、加入时,调整数据分发树。定时自动更新数据分发树,使得数据分发树能够适应网络带宽的动态变化。
因为分发树是建立在mesh基础上的,因此,当mesh结构发生变化的时候,分发树也要作相应的调整,甚至重建分发树。下面按照mesh结构的各种变化情况来描述分发树的相应变化策略。
(1)mesh中节点加入
我们只讨论普通节点的加入,当一个节点加入进来的时候,接受加入的节点在返回确认消息之后,它也要把它的所有路由信息扩散到新加入的节点上。于是新加入的节点也成为分发树的一个叶子节点。
(2)mesh中节点离开
图5所示为本发明所述的mesh结构中节点离开对于分发树的影响,图中5a表示请求重新扩散;5b表示该节点离开;5c表示第一种情况:找到节点B,以A为根的子树挂到节点B上;5d表示第二种情况:撤销以A为根的子树,请求数据源节点S重新扩散。
如果mesh中有一个节点正常离开,那么它除了要向mesh广播自己的离开消息之外,还必须向它的路由表中的每一个表项的outnodelist中的节点发送自己离开并要求它们重新接入分布树的通知,同时向每一个表项的innodelist中的上游节点发送离开消息。Outnodelist中的节点接收到父节点离开mesh并要求重新接入分布树的消息之后,分两种情况来考虑:
1)如果该节点(称为节点A)在mesh中的邻居不全是它在分发树中的下游,那么它可以找到这样一个邻居节点(称为节点B),该邻居节点不在它的outnodelist中。于是节点A可以向节点B请求加入,作为它的下游树节点。节点B接收到A的请求之后,检查其路径中是否包含了A。如果没有包含,则接受;否则拒绝接受。节点A逐个尝试加入,直到加入成功,或者直到找不到不出现在outnodelist中的邻居节点为止,于是转入步骤(2)。
2)节点A的所有邻居都不能作为它在分发树中的父节点。于是,它采取两个动作:
a)向节点A的下游树节点发送请求撤销子树的消息。
b)向数据源节点发送请求,要求重新扩散,这样,以A为根的子
树中的节点有机会重新加入到分发树中。
(3)mesh中加入两个节点之间的连接
如果在两个节点之间加入了新的连接,则两个节点各向对方节点发送当前所有的路由扩散信息,以寻求更短的分发路径。接收到对方发送过来的扩散信息之后,每个节点或者抑制这些信息,或者继续扩散,以便其他的节点也可以找到更好的路径。这是利用了局部扩散原理。
(4)mesh中删除两个节点之间的连接
当一条链路要被删除的时候,假设发出请求的节点和接收请求的节点分别为A和B,那么,这两个节点需要对每个表项进行如下处理:
1)如果该表项的innodelist用到了A和B之间的链路,那么连接撤销之后,该节点将需要重新加入到树中,重新加入的步骤与上面的过程(如图5所示)类似:
a)如果该节点(不妨设为节点A)在mesh中的邻居不全是它在分发树中的下游,那么它可以找到这样一个邻居节点B,B不在表项的outnodelist中。于是节点A可以向B请求加入,作为它的下游树节点。节点B接收到A的请求之后,检查其路径中是否包含了A。如果没有包含,则接受;否则拒绝接受。节点A逐个尝试加入,直到加入成功,或者直到找不到不出现在outnodelist中的邻居节点为止,于是转入下面步骤b)。
b)节点A的所有邻居都不能作为它在分发树中的父节点。于是,它采取两个动作:
i)向节点A的下游树节点发送请求撤销子树的消息。
ii)向数据源节点发送请求,要求重新扩散,这样,以A为根的子树中的节点有机会重新加入到分发树中。
2)如果该表项的outnodelist用到了A和B之间的连接,那么连接撤销之后,它的下游树分支需要重新加入到分发树中,其过程与附图5所示的情形类似,不再重复。
以上讨论的几种情形对于维护树结构的有效性非常重要。一般性的原则是,当mesh结构稳定的时候,分布树的结构也会非常稳定有效。如果mesh结构发生了变化,那么,无论是节点的变化,还是连接的变化,若能够在一步距离之内找到新的分发路径,则直接嫁接过去,否则就通过数据源节点发送扩散信息,以便受影响的节点可以重新加入到分发树中。根据扩散方法的局部更新特性,分发树维护的开销并不大,至多在O(logN)的水平。
3.确保可靠性的方法
(1)mesh分裂的检测和措施
(2)相邻GPMI节点间传输可靠性
(3)节点失败
(4)数据重传
如图6所示是一个实际应用具体实例的流程,该应用可以是网上电视、远程教育、虚拟会议、网络游戏等,本例以远程教育具体应用说明实施例的详细内容和步骤:
局域网1:
主机11上的GPMI节点创建一个mesh,对每个节点的连接数满足设置的上下限,将自己作为主RP点;位于主机12,13上的GPMI节点加入mesh;
应用层多层mesh组播传输系统自动在GPMI节点11,12,13之间建立邻居连接;
主机1上的应用加入GPMI节点12;主机2上的应用加入GPMI节点13。
局域网2:
主机21上的GPMI节点创建一个mesh,对每个节点的连接数满足设置的上下限,将自己作为主RP点;位于主机22,23上的GPMI节点加入mesh;
应用层多层mesh组播传输系统自动在GPMI节点21,22,23之间建立邻居连接;
主机3,4上的应用加入GPMI节点23。
局域网3:
主机31上的GPMI节点创建一个mesh,对每个节点的连接数满足设置的上下限,将自己作为主RP点;位于主机32,33上的GPMI节点加入mesh;
应用层多层mesh组播传输系统自动在GPMI节点31,32,33之间建立邻居连接;
主机5上的应用加入GPMI节点33。
GPMI节点11创建上层mesh,将自己作为主RP点;GPMI节点21和GPMI节点31分别加入mesh。
主机1上的应用通过GPMI节点A创建一个组,该应用声明自己是该组的数据源;节点2-5的应用通过所加入的GPMI节点加入组。
应用层多层mesh传输系统自动建立一个以GPMI节点12为数据源的数据分发树;
节点1的应用发出数据,数据传给GPMI节点12,GPMI节点12向数据分发树的所有子GPMI节点发出同样数据,每个子GPMI节点再转发给它在数据分发树中的所有子GPMI节点;每个收到数据的GPMI节点向加入自己的应用发出数据;组内所有应用收到数据。
本发明的有益效果和特点:
采用本发明的方法和系统进行IP网络上的组播应用(网上电视,网络游戏等)数据传输,具有下面的有益效果和特点:
(1)大大降低IP网络上的视频音频传输业务对网络带宽的占用,同时可以克服服务端的瓶颈问题。由于采用组播传输技术,对于网上电视和网络会议等应用,传输视频音频数据所占用的网络带宽将大量减少。同时,也能够避免采用传统数据传输方法时,数据源要分别向每个目标点传输相同的数据而造成的服务端带宽瓶颈问题。
(2)充分利用网络带宽。本系统利用特殊的多层mesh层叠网络结构,以及mesh网络优化技术,能够自动适应网络的带宽变化,从而充分利用网络的带宽资源。
(3)能够应用在远程网络范围的多播传输。IP多播一般只能用于局部网络范围的多播,而本系统由于采用应用层多播技术,可以用于远程网络范围的多播传输。
(4)由于在应用层实施多播,所以不受多播IP地址空间的限制。
(5)不受组播规模的限制。如果按每个mesh包括300个节点计算,四层mesh结构就能够容纳81亿个节点。因此,不存在对组播规模的限制。
(6)能够作为基础设施支持上层的各种流媒体组播应用。本系统具有对SOCKET扩展的标准API接口,能够作为基础设施支持上层的各种流媒体组播应用,如网上电视,远程教育,虚拟会议等。
(7)配置方式灵活。本系统在IP网络的应用层建立组播传输网络,因此不需要路由器支持组播,而且配置方式灵活。
尽管为说明目的公开了本发明的最佳实施例和附图,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例和附图所公开的内容。

Claims (6)

1.一种IP网络的组播传输方法,具体包括以下步骤:
(1)在IP网络的应用层建立一个多层mesh层叠网络结构,多层mesh的建立方法为:
首先建立单层的mesh:设置mesh单个节点连接数的上下限;让外部节点加入mesh;
在单层mesh基础上进行多层扩展:采用横向扩展方式和纵向扩展方式;
(2)在层叠网络上建立数据分发树,多层mesh层叠网络上的数据分发树构建采用多层扩散法,具体为:
多层mesh层叠网络上的数据分发树构建时,数据源向其所在层次的mesh中的所有邻居发送始于数据源节点的路由消息,接收到路由信息的每个邻居再向其所在的各层mesh中的所有邻居转发这个消息。
2.根据权利要求1所述的IP网络的组播传输方法,其特征在于:单层mesh进行多层扩展时,具体采取方法为:单独向上扩展方式或者单独向下扩展方式或者同时向上、向下扩展方式。
3.根据权利要求1所述的IP网络的组播传输方法,其特征在于:mesh中的节点自己重新选择邻居对mesh进行实时优化。
4.根据权利要求1所述的IP网络的组播传输方法,其特征在于:每个mesh节点仅仅保存该节点到数据源的全路径,以及它所需要转发的邻居节点。
5.根据权利要求1所述的IP网络的组播传输方法,其特征在于:利用一个路由表来保存分发树的信息,路由表中的每一个表项对应一个数据源的分发路径。
6.根据权利要求1所述的IP网络的组播传输方法,其特征在于:当有节点离开、加入时,调整数据分发树,定时自动更新数据分发树。
CNB2004100099545A 2004-12-03 2004-12-03 一种ip网络的组播传输方法 Expired - Fee Related CN100373889C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100099545A CN100373889C (zh) 2004-12-03 2004-12-03 一种ip网络的组播传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100099545A CN100373889C (zh) 2004-12-03 2004-12-03 一种ip网络的组播传输方法

Publications (2)

Publication Number Publication Date
CN1738283A CN1738283A (zh) 2006-02-22
CN100373889C true CN100373889C (zh) 2008-03-05

Family

ID=36080946

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100099545A Expired - Fee Related CN100373889C (zh) 2004-12-03 2004-12-03 一种ip网络的组播传输方法

Country Status (1)

Country Link
CN (1) CN100373889C (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100396161C (zh) * 2006-03-10 2008-06-18 华为技术有限公司 一种在移动通信系统实现广播多播业务的方法
CN100433731C (zh) * 2006-10-13 2008-11-12 中国移动通信集团公司 一种实现vpn组播的方法
CN100596063C (zh) * 2007-02-01 2010-03-24 华为技术有限公司 组密钥控制报文的分发系统、方法和装置
EP2034782A1 (en) * 2007-09-06 2009-03-11 Siemens Aktiengesellschaft A method for misbehaviour detection in secure wireless mesh networks
JP5673268B2 (ja) * 2010-03-30 2015-02-18 ヤマハ株式会社 通信装置、およびプログラム
CN112654103B (zh) * 2021-01-12 2022-06-21 杭州雅观科技有限公司 一种增强可靠用于mesh智能家居自组网方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010034793A1 (en) * 2000-03-10 2001-10-25 The Regents Of The University Of California Core assisted mesh protocol for multicast routing in ad-hoc networks
WO2002021770A2 (en) * 2000-09-06 2002-03-14 Nokia Networks Multicast routing in ad-hoc networks
US6751219B1 (en) * 2000-04-20 2004-06-15 Aztech Partners, Inc. Multicast packet duplication at random node or at egress port with frame synchronization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010034793A1 (en) * 2000-03-10 2001-10-25 The Regents Of The University Of California Core assisted mesh protocol for multicast routing in ad-hoc networks
US6751219B1 (en) * 2000-04-20 2004-06-15 Aztech Partners, Inc. Multicast packet duplication at random node or at egress port with frame synchronization
WO2002021770A2 (en) * 2000-09-06 2002-03-14 Nokia Networks Multicast routing in ad-hoc networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种基于网格优先的应用层多播. 房至一,李志,程墨.吉林大学学报(理学版),第42卷第2期. 2004 *

Also Published As

Publication number Publication date
CN1738283A (zh) 2006-02-22

Similar Documents

Publication Publication Date Title
JP3187006B2 (ja) マルチキャスト情報を分配するソースノードから開始されるマルチキャスト接続に参加する方法
Li et al. Hostcast: A new overlay multicasting protocol
El-Sayed et al. A survey of proposals for an alternative group communication service
Ren et al. On reducing mesh delay for peer-to-peer live streaming
US8619775B2 (en) Scalable flow transport and delivery network and associated methods and systems
CN101355468B (zh) 一种p2p流媒体信息发布的方法
CN102195788B (zh) 应用层组播系统及流媒体数据处理方法
CN101567796B (zh) 一种内容分片的多媒体网络及其业务方法
US8498233B2 (en) Method and apparatus for multicast tree management in multi-hop relay communication system
CN101795234B (zh) 一种基于应用层组播算法的流媒体传输方案
CN101651708B (zh) P2p流媒体网络的拓扑构建方法
US20080222277A1 (en) Method and Apparatus for Configuring and Managing a Robust Overlay Multicast Tree
CN101123526B (zh) 一种大规模流媒体传输结构的实现方法
CN101232458B (zh) 一种基于maodv协议的多路径扩展方法
CN100373889C (zh) 一种ip网络的组播传输方法
CN101577628B (zh) 满足能力约束和QoS约束的应用层任意源多播方法
CN103178976A (zh) 组播树组建及故障恢复方法
CN100534042C (zh) 面向msvmt问题的两阶段分布式应用层组播方法
CN102111845B (zh) 基于网络按需距离矢量的多播路由方法及系统
Besharati et al. A topology-aware application layer multicast protocol
Ye et al. SHIM: a scalable hierarchical inter-domain multicast approach for disruption tolerant networks
CN106034106A (zh) 组网方法、组网管理方法以及装置和系统
Alwadani et al. Opportunistic native multicast under churn
JP2005244526A (ja) ネットワークノード装置およびサーバ装置ならびにマルチキャストツリー構築方法およびプログラム
JP2001257718A (ja) マルチキャスト方法及びその実施装置並びにその処理プログラムを記録した記録媒体

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080305

Termination date: 20111203