CN1996931B - 网络组播方法 - Google Patents
网络组播方法 Download PDFInfo
- Publication number
- CN1996931B CN1996931B CN2005100224906A CN200510022490A CN1996931B CN 1996931 B CN1996931 B CN 1996931B CN 2005100224906 A CN2005100224906 A CN 2005100224906A CN 200510022490 A CN200510022490 A CN 200510022490A CN 1996931 B CN1996931 B CN 1996931B
- Authority
- CN
- China
- Prior art keywords
- node
- topology
- bandwidth
- multicast
- tunnel
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
网络组播方法,涉及网络通信技术领域,尤其涉及因特网中点对多点的组播业务技术。本发明包括以下步骤:1a、生成树形拓扑结构,各节点获得该树形拓扑结构;1b、根据树形拓扑结构,根节点向下级节点分发数据。本发明的有益效果是,通过本发明,组播源节点发送业务报文时,只需要发送给特定的下一跳节点,由其他节点分担带宽压力,减小了各节点开展组播业务对带宽的要求。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及因特网中点对多点的组播业务技术。
背景技术
随着网络互连技术的日益普及,IP组播技术因其高效地实现点到多点通信,最大限度地节省网络资源,越来越受到人们的青睐。目前典型的组播应用有:IPTV、视频会议、信息分发(证卷、天气信息等)、多媒体远程教育等。因为目前还无法支持Internet范围的组播,所以跨Internet的组播域(Internet中支持组播路由协议的局部网络我们称之为组播域)之间只能通过单播隧道相连。目前跨internet开展组播业务时,源节点需要将业务流通过隧道发送给其他节点,无法体现组播减少报文复制的优点。假设一条视频流的带宽为B,如果有N个组播域,仅考虑域间点对多点的输出,也需要(N-1)*B的带宽,目前认为一般质量的视频流需要700K的带宽,当互联节点较多时,对源节点带宽要求较高,一般企业的接入带宽难以满足高质量组播业务需求,如视频会议。
发明内容
本发明所要解决的技术问题是,提供一种网络组播方法,特别是广域网组播,通过特定的策略,克服以上现有技术的缺点,在跨internet的组播域间建立拓扑,拓扑中的各组播域分担发送点的发送任务,降低组播业务对带宽的要求。
本发明解决前述技术问题采用的方案是,网络组播方法,其特征在于,包括以下步骤:1a、生成树形拓扑结构,各节点获得该树形拓扑结构;1b、根据树形拓扑结构,根节点向下级节点分发数据。
各节点可通过手工配置获得拓扑,也可由主控节点传送获得。
进一步的,所述步骤1a中,树形拓扑结构为计算生成,计算方法包括下述步骤:2a、根据带宽大小,对所有节点排序;2b、以最低带宽为基数,以带宽/基数的比值计算各节点最大下游节点数;2c、根据节点排序和各节点的最大下游节点数,依次逐级放入下游节点。
所述步骤1a中,树形拓扑结构为指定的拓扑结构。所述步骤1b中的根节点为指定的根节点。或者,所述步骤1b中的根节点为同级的第一个节点。
更进一步的,所述步骤1a中,各节点独立获得拓扑结构。或者,所述步骤1a之前,还有步骤1A:非主控节点和其他节点间建立隧道,并在各节点上指定主控节点,主控节点通过隧道发送拓扑结构;此处主控节点可以通过隧道直接发送(1跳),也可以通过其他节点转发。
或者,各节点两两建立隧道,并在各节点上指定主控节点,主控节点通过隧道发送拓扑结构。
更进一步的,各节点进行组播报文转发时,根据主控节点发布的拓扑,修正组播报文的转发出口。或者,当某节点状态发生变化时,主控节点立即重新计算拓扑并向各非主控节点发布,非主控节点根据主控节点发布的拓扑,修正组播报文的转发出口。所述修正包括以下步骤:3a、从出口列表中清除所有BPMT接口;3b、判断RPF接口是否为BPMT接口,如果不是,认为自己是BPMT拓扑中的源,以自己为根节点,查找相应拓扑,加入BPMT拓扑指定的下游出口;如果RPF接口是BPMT接口,则以RPF邻居为根节点查找拓扑,加入BPMT拓扑维护的下游出口。
本发明的有益效果是,通过本发明,组播源节点发送业务报文时,只需要发送给特定的下一跳节点,由其他节点分担带宽压力,减小了各节点开展组播业务对带宽的要求。
以下结合附图和具体实施方式对本发明作进一步的说明。
附图说明
图1为本发明的一种隧道建立方式的示意图。
图2-4为实施例1的示意图。
图5-6为实施例2的示意图。
具体实施方式
本文所述的RPF(逆向传输路径转发)是路由器的一个输入功能,该功能用来检查路由器接口所接收的数据包。
在本发明中,所有组播域节点的因特网接入设备应支持组播路由协议和本发明的带宽优先组播隧道(BandWidth PreferenceMulticast Tunnel)机制。本文将支持本发明的接入设备称为带宽优先组播隧道节点(BPMT节点)。在业务域内,用户首先要在各两两节点间配置隧道(如图1),并指定唯一一个节点作为Master节点(或称主控节点),然后在其它各BPMT节点上通过配置指定Master节点,以及该BPMT节点的因特网接入带宽。各节点周期性的向Master进行节点信息通告,主要包括本节点带宽信息,以及通告时间间隔、节点存活时间等。
如果只是部分两两相连,例如,只是在非主控节点与主控节点见建立隧道,BPMT也可以发挥作用。MASTER节点必须和所有节点相连。
Master通过通告信息获取所有节点的信息,根据各节点的接入带宽按照以下步骤,计算所有节点间的转发拓扑(BPMT拓扑)并分发给所有节点:
a、按节点带宽对节点进行排序;
b、以最低带宽为基数,带宽/基数获得各节点最大下游节点数;
c、为各节点计算转发拓扑,以指定节点为根,按带宽顺序将其余节点依次逐级放入下游节点。各节点的子节点数目为第2步计算出的下游节点数。以此递规,将所有节点放入转发树中,为每个节点形成以该节点为根的转发树;
d、Master计算好拓扑后,将拓扑分发到所有节点,作为各节点报文转发的依据。
当Master收到离开通告或节点老化时,需要重新计算转发拓扑并立即分发。
实施例1:
以6个节点为例,其转发带宽分别为1M、1M、2M、2M、4M、4M;
首先按带宽对节点排序,以最低带宽为基数,带宽/基数获得各节点最大下游节点数,得到如下数列:
112244
然后为各节点计算拓扑,为1M节点计算拓扑时,以其为根,该节点只能有1个下游节点,按带宽顺序放入带宽最大的4M节点,然后确定4M节点的下游节点,4M节点可以有4个下游节点,依次放入剩下的4M、2M、2M、1M节点,得到如图2的拓扑。
为2M节点确定拓扑时,以2M节点为根,依次放入2个下游节点,皆为4M,然后为第一个4M节点放入下游节点,4M节点最多有4个下游节点,依次放入2M、1M、1M节点即可,第二个4M节点虽然有能力安排4个下游节点,但节点已经安排完毕,所以无需安排任何下游节点。得到如图3的拓扑。
同样的处理方式,可以得到4M节点的拓扑,如图4。
当Master收到离开通告或节点老化时,需要重新计算转发拓扑并立即分发。
各BPMT节点从Master的拓扑通告中可获取业务域内所有BPMT节点信息,与节点相连的接口称之为带宽优先隧道组播接口(BPMT接口)。BPMT节点进行组播报文转发时,根据Master发布的BPMT拓扑,修正组播报文的转发出口,首先从出口列表中清除所有BPMT接口,然后判断RPF接口是否为BPMT接口,如果不是,认为自己是BPMT拓扑中的源,以自己为根节点,查找相应拓扑,加入BPMT拓扑指定的下游出口。如果RPF接口是BPMT接口,则以RPF邻居为根节点查找拓扑,加入BPMT拓扑维护的下游出口,同时可能根据BPMT拓扑修正转发表的RPF接口为BPMT拓扑中指定的BPMT接口。源节点只需要将业务报文发送给BPMT拓扑指定的下一跳节点,而非业务域内的所有其他节点,通过下一跳节点扩散到整个业务域。降低了对源节点的带宽要求。
例如:(实施例2)
参见图5。各BPMT设备为所在网络的Internet接入设备(本图忽略该设备后的网络),各BPMT设备之间通过隧道互联,互联的隧道接口称为BPMT接口,各设备互为BPMT邻居。图中所有设备均运行组播路由协议(如PIM-SM、PIM-DM等),假设源(S)在BPMT设备1所在网络,其他BPMT设备后的网络有接收者(G),根据组播路由协议选路,BPMT设备1上的3个BPMT接口都将是组播业务(S,G)的出口,这是BPMT修正前的情况,假设以BPMT设备1为根节点的BPMT转发拓扑如图6。
BPMT设备1形成转发表时,将根据BPMT拓扑进行转发接口的修正,首先清除所有接口,然后判断自己的RPF邻居是否为BPMT邻居,本例中不是,以自己为根节点查询BPMT转发拓扑,即图6,将与BPMT设备2相连的BPMT接口加入组播转发表,组播报文就只会被转发到BPMT设备2。
BPMT设备2在形成转发表时,根据组播路由选路,将存在非BPMT接口的出口,根据BPMT拓扑修正时,RPF接口为BPMT接口,则以RPF邻居(BPMT设备1)为根结点查找相应的BPMT拓扑,同样为如上拓扑图,据此拓扑图,将与BPMT设备3和BPMT设备4相连的BPMT接口加入转发接口列表,组播报文就会在转发到自己所在网络的同时,转发给BPMT设备3和4。
BPMT设备3和4在形成转发表时,查询同样的BPMT拓扑图(BPMT设备3和4的RPF邻居同样为BPMT设备1),更新转发表的RPF接口为与BPMT设备2相连的BPMT接口,拓扑图中无下游邻居,出口列表无需修正。
经过这些处理后,组播业务报文就将从BPMT设备1转发到设备2,再由设备2转发给设备3、4,而不是直接由BPMT设备1转发给设备2、3、4。
为了简化应用,通过手工配置指定Master,收集所有节点的信息,以计算合适的转发拓扑并进行分发。就应用而言,Master应该部署在组播业务服务器(如视频服务器、视频会议服务器等)所在的节点,应该是一台稳定、高接入带宽的设备。当节点不再参与组播业务时(一般只会出现在网络维护的情况下),可选择离开,此时将会向Master发送离开通告,离开通告可以触发Master及时的更新转发拓扑并重新分发。
为了防止非法的节点加入,影响拓扑计算甚至业务开展,可以在Master通过配置ACL控制节点的加入。
Claims (8)
1.网络组播方法,其特征在于,包括以下步骤:
a、生成树形拓扑结构,各节点获得该树形拓扑结构;
b、根据树形拓扑结构,根节点向下级节点分发数据;
步骤a所述树形拓扑结构为计算生成,计算方法包括下述步骤:
a1、根据带宽大小,对所有节点排序;
a2、以最低带宽为基数,以带宽/基数的比值计算各节点最大下游节点数;
a3、以指定节点为根节点,根据节点排序和各节点的最大下游节点数,将所有非根节点依次逐级放入下游节点。
2.如权利要求1所述的网络组播方法,其特征在于,所述步骤a3中的根节点为同级的第一个节点。
3.如权利要求1所述的网络组播方法,其特征在于,所述步骤a中,各节点独立获得拓扑结构。
4.如权利要求1所述的网络组播方法,其特征在于,所述步骤a之前,还有步骤1A:
非主控节点和其他节点间建立隧道,并在各节点上指定主控节点,主控节点通过隧道发送拓扑结构。
5.如权利要求1所述的网络组播方法,其特征在于,所述步骤a之前,还有步骤1A:
各节点两两建立隧道,并在各节点上指定主控节点,主控节点通过隧道发送拓扑结构。
6.如权利要求1所述的网络组播方法,其特征在于,所有节点进行组播报文转发时,根据主控节点发布的拓扑,修正组播报文的转发出口。
7.如权利要求1所述的网络组播方法,其特征在于,主控节点根据各节点状态的变化,更新拓扑并向各非主控节点发布,非主控节点根据主控节点发布的拓扑,修正组播报文的转发出口。
8.如权利要求6或7所述的网络组播方法,其特征在于,所述修正包括以下步骤:
3a、从出口列表中清除所有带宽优先组播隧道接口;
3b、判断RPF接口是否为带宽优先组播隧道接口,如果不是,认为自己是带宽优先组播隧道拓扑中的源,以自己为根节点,查找相应拓扑,加入带宽优先组播隧道拓扑指定的下游出口;如果RPF接口是带宽优先组播隧道接口,则以RPF邻居为根节点查找拓扑,加入带宽优先组播隧道拓扑维护的下游出口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2005100224906A CN1996931B (zh) | 2005-12-31 | 2005-12-31 | 网络组播方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2005100224906A CN1996931B (zh) | 2005-12-31 | 2005-12-31 | 网络组播方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1996931A CN1996931A (zh) | 2007-07-11 |
CN1996931B true CN1996931B (zh) | 2010-09-22 |
Family
ID=38251875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005100224906A Expired - Fee Related CN1996931B (zh) | 2005-12-31 | 2005-12-31 | 网络组播方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1996931B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227310B (zh) * | 2008-01-29 | 2011-04-20 | 华为技术有限公司 | 获取组播拓扑信息的方法、装置和系统 |
WO2015089710A1 (zh) * | 2013-12-16 | 2015-06-25 | 华为技术有限公司 | 一种序列号排序的方法以及终端设备 |
CN104104544B (zh) * | 2014-07-17 | 2017-10-10 | 广州银禾网络通信有限公司 | 一种电力光传输网业务域划分方法及系统 |
CN105162704B (zh) * | 2015-09-28 | 2019-01-25 | 杭州数梦工场科技有限公司 | Overlay网络中组播复制的方法及装置 |
CN108989442A (zh) * | 2018-07-27 | 2018-12-11 | 中国联合网络通信集团有限公司 | 数据分发方法、系统及控制节点 |
CN110278158B (zh) * | 2019-08-09 | 2024-01-30 | 京信网络系统股份有限公司 | 组播数据包发送方法、计算机设备和存储介质 |
CN113163417A (zh) * | 2021-01-26 | 2021-07-23 | 国网上海市电力公司 | 一种基于5g的配电网保护与控制系统拓扑文件自分发方法 |
CN113765882B (zh) * | 2021-07-27 | 2023-08-25 | 子长科技(北京)有限公司 | 逻辑隔离的跨域信息传输系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1668023A (zh) * | 2004-03-10 | 2005-09-14 | 浙江大学 | 适合数字媒体发布业务的网络结构与传输方法 |
-
2005
- 2005-12-31 CN CN2005100224906A patent/CN1996931B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1668023A (zh) * | 2004-03-10 | 2005-09-14 | 浙江大学 | 适合数字媒体发布业务的网络结构与传输方法 |
Non-Patent Citations (2)
Title |
---|
申奥 等.应用层多播协议研究.计算机工程与科学27 5.2005,27(5),22-24. |
申奥等.应用层多播协议研究.计算机工程与科学27 5.2005,27(5),22-24. * |
Also Published As
Publication number | Publication date |
---|---|
CN1996931A (zh) | 2007-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Oliveira et al. | A survey of combinatorial optimization problems in multicast routing | |
US8009671B2 (en) | Multicast method and multicast routing method | |
US8279766B2 (en) | Interior-node-disjoint multi-tree topology formation | |
Roca et al. | A host-based multicast (HBM) solution for group communications | |
CN101385275B (zh) | 响应于检测到即将发生的网络破坏而重新路由多播流量 | |
CN102893555B (zh) | 用于分组网中的时钟分布的速率可变型组播传输 | |
CN101267450B (zh) | 基于网络编码的分布式网络应用层组播路由方法 | |
Lin et al. | Scalable multicasting with multiple shared trees in software defined networking | |
US20070177593A1 (en) | Forming multicast distribution structures using exchanged multicast optimization data | |
CN102142970A (zh) | 二层以太网络的组播树构建方法和网络节点设备 | |
CN100454893C (zh) | 一种快速组播的实现方法 | |
CN102067514A (zh) | 用于多跳中继通信系统中的多播树管理的方法和装置 | |
CN101013948B (zh) | 构建等耗多径多播分发结构 | |
CN100337457C (zh) | 以太网交换机跨虚拟局域网的二层组播数据传输方法 | |
Karaman et al. | Core-selection algorithms in multicast routing-comparative and complexity analysis | |
CN1996931B (zh) | 网络组播方法 | |
CN101986601B (zh) | 一种组播数据的传输方法和设备 | |
CN106059861B (zh) | 一种分布式构建物联网最小动态汇聚树的系统及方法 | |
CN102025517B (zh) | 一种组播数据的传输方法及装置 | |
Silawarawet et al. | Locality-aware clustering application level multicast for live streaming services on the Internet. | |
CN1819556A (zh) | 基于最小生成树和贪婪算法的动态时延约束的多播路由的方法 | |
Oikonomou et al. | Probabilistic flooding for efficient information dissemination in random graph topologies | |
Li et al. | A progressive flow auction approach for low-cost on-demand p2p media streaming | |
CN1937610B (zh) | 具有pim功能的解码器,采用该解码器的实时监控系统及方法 | |
Jia et al. | A distributed multicast routing protocol for real-time multicast applications |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100922 Termination date: 20151231 |
|
EXPY | Termination of patent right or utility model |