CN102970237A - 一种新型的适用于小型ip网络的组播/广播实现方法 - Google Patents
一种新型的适用于小型ip网络的组播/广播实现方法 Download PDFInfo
- Publication number
- CN102970237A CN102970237A CN2012105358786A CN201210535878A CN102970237A CN 102970237 A CN102970237 A CN 102970237A CN 2012105358786 A CN2012105358786 A CN 2012105358786A CN 201210535878 A CN201210535878 A CN 201210535878A CN 102970237 A CN102970237 A CN 102970237A
- Authority
- CN
- China
- Prior art keywords
- relaying
- multicast
- broadcast
- item
- address
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于小型IP网络的组播/广播的实现方法。该方法可以在无任何协议开销的情况下,利用IP报文的选项扩展能力,能够在小型的IP网络中使用组播/广播业务。本发明的有益效果是:可以在小型IP通信系统内部署组播和广播业务而无需额外的协议开销,且组播、广播报文的转发能力完全和组播路由器的单播转发能力相当。
Description
技术领域
本发明涉及一种IP数据通信领域的组播/广播实现方法。
背景技术
标准的IP 组播涉及到的协议主要有组播组管理协议和组播路由协议。
组播组管理协议采用IGMP(Internet Group Membership Protocol,因特网组管理协议),它运行在主机和组播路由器之间,定义了主机与组播路由器之间组播成员关系的建立和维护机制。
组播路由协议运行在组播路由器之间,用于建立和维护组播路由,并正确、高效地转发组播数据包。组播路由建立了一个从数据源端到多个接收端的无环数据传输路径。组播路由协议的任务就是构建分发树结构。组播路由器能采用多种方法来建立数据传输的路径,即分发树。在众多的组播路由协议中,PIM(Protocol Independent Multicast,协议无关组播协议)是目前应用最多的协议,可以和任何单播路由协议协同工作。
PIM包括PIM-DM(Protocol Independent Multicast Dense Mode)协议无关组播-密集模式和PIM-SM(Protocol Independent Multicast Sparse Mode)协议无关组播-稀疏模式。
不管是使用PIM-DM还是PIM-SM都会伴随大量的协议数据交互。如果在宽带网络内这些协议开销可以忽略,但是在窄带无线网络内这些协议开销是网络不可承受的。
发明内容
基于背景技术中述及的实际问题,本发明提出了一种IP数据通信领域的一种组播/广播实现方法。该方法是在无任何协议开销的情况下,利用IP选项携带的关键信息来实现组播、广播数据无环的转发功能。
此方法包括:
网络编址时,网内的每个组播路由器有一个全网唯一的ID,且由该组播路由器IP地址的特定字节显式的表示。
组播路由器从IP终端接收的组播/广播报文能够从配置文件获取实际需要到达的目的单播IP地址组。
组播路由器对每个IP单播地址进行查找路由表的操作,并按照出接口进行分类,如果出接口是广播接口,先根据目的地是一跳可达还是中继可达分类,对中继可达还需要根据网关IP地址细分子类。
对每个分类形成单独的IP报文,且报文的IP选项插入“中继项”组合,如果出接口是点对点接口“中继项”只有一项,如果出接口是广播接口,根据细分子类的个数形成 “中继项”的个数。
每个“中继项”由“中继标志”、“中继节点”、“剩余节点”组成。
“中继标志”:如果是广播接口,表示本“中继项”中的“剩余节点”是一跳可达(0)还是中继可达(1)。
“中继节点”:如果是广播接口,表示本“中继项”的网关组播路由器的ID。
“剩余节点”:表示该条线路上剩余的组播路由器ID的组合。
每个组播路由器从中继接口接收组播/广播报文,如果是广播接口,因为可能有多个中继项,所以需要根据 “中继节点”来判断自己需要处理的“中继项”,如果是点对点接口,有且只有一个“中继项”需要处理。
组播路由器判断“剩余节点”是否有本组播路由器的ID,如果存在此ID,需要将报文去掉IP选项后发送给IP终端接口;然后在“剩余节点”中对剩余的组播路由器的ID分别查找路由表并分类、形成“中继项”并发送出去,最后直到“剩余节点”为0结束传播过程,此时网络内所有需要接收此组播/广播报文的IP终端都已经接收到此报文。
本发明的有益效果是:可以在小型IP通信系统内部署组播和广播业务而无需额外的协议开销,且组播、广播报文的转发能力完全和组播路由器的单播转发能力相当。
附图说明
图1组播/广播IP地址配置文件格式图。
图2 IP选项的报文格式。
图3给定拓扑和I、J、K值的广播报文转发流程图解。
图中:I=1、J=7、K=8。
具体实施方式
具体实施方式从4个方面来描述:
1. 网络编址方式。
网络内所有IP地址的编址必须有一个字节显式的表示出该IP地址属于哪个组播路由器或者该组播路由器所连接的IP终端。
定义方式可以为:N.0.0.M/8,也可以为X.N.0.M/16,也可以为X.Y.N.M/24。
其中X、Y都是任意值。N是关键值,可以显式的表示组播路由器的编号。M是主机位。
N值会用于报文格式的“中继节点”和“剩余节点”,详情见报文格式和报文收发处理。每个组播路由器IP地址的N值全网应唯一。
2. 组播/广播成员IP地址识别。
因为无组播组管理协议和组播路由协议的支持,每个组播路由器必须能够显式的识别每个组播组和广播地址所对应的实际的目的IP地址组。
本发明依靠配置文件识别组播/广播成员的IP地址。
组播路由器读取组播/广播配置文件识别每个组播IP地址和广播IP地址具体对应的成员的IP地址。
假定每个组播路由器的以太网接口地址为:X.Y.N.1/24;每个终端的IP地址为:X.Y.N.M,那么配置文件的格式可以参照图1。
3. 报文格式。
报文格式见图2。
各个字段的定义如下。
类型:8比特,取0xFE这个特定值,避免和公用的IP选项类型字段冲突。
本类型长度:8比特,表示从“类型”字段到最后一个“剩余节点”的字节长度。
中继标志:I比特,如果是点对点接口,“中继标志”为0;如果是广播接口,表示本“中继项”中的“剩余节点”是一跳可达(0)还是中继可达(1)。
中继节点:J比特,表示下一跳组播路由器IP地址的N值。如果是点对点接口,“中继节点”为0;如果是广播接口且“中继标志”为1时,“中继节点”为下一跳组播路由器IP地址的N值。
剩余节点:K比特,为了字节对齐,需要K是8的整倍数。“剩余节点”使用比特的方式来表示剩余的组播组成员的IP地址的N值(即ID),例如0x1代表X.Y.1.M;0x11代表X.Y.1.M和X.Y.5.M两个地址。
为了字节对齐,I值和J值的和必须等于8。
J值和K值决定了组播路由器的最大数量,J和K的关系可以用下面的公式来表示:
K ≤ 2 J 。
K值与最大能支持的中继项个数(W)成反比关系。
每个中继项的字节长度 U = 1 + K / 8 + ( 7 + K % 8 ) / 8 。
最大能支持的中继项个数 W = 38 / U 。
所以J、K值的选取需要综合考虑网络内组播路由器的数量和网络的拓扑形态(中继的个数)。
4. 报文收发处理。
报文的收发处理包括4个部分的内容:从终端接收报文的处理;从点对点中继接口接收报文的处理;从广播中继接口接收报文的处理;发送报文给终端的处理。在特定拓扑下可参见图3“给定拓扑的广播报文转发流程图解”来帮助理解。
1) 从终端接收报文的处理。
a) 组播路由器从IP终端接收组播、广播报文,根据IP目的地址(组播/广播地址)查找目的单播IP地址,方法见“组播/广播成员IP地址识别”。
b) 查找得到的各个单播IP地址可能包括本组播路由器直接连接的IP终端,需要从查找结果中去掉这些IP地址。
c) 对每个单播IP地址分别查找路由,根据出接口进行分类;如果出接口是广播接口再根据网关地址的不同细分子类(需要形成不同的中继项),且需要区分目的IP是一跳可达还是中继可达,一跳可达和中继可达的是不同的中继项。
d) 根据C形成的分类(按接口的分类)个数,进行原始接收报文的复制,一个分类对应一个报文。
e) 向每个复制后的报文插入IP选项。
f) 如果该分类的出接口是点对点接口,那么中继项有且只有一项并且“中继标志”和“中继节点”都为0,“剩余节点”为每个目标IP地址的N值的比特排列。
g) 如果该分类的出接口是广播接口,那么中继项可能有多项,按照细分子类的个数来决定中继项的个数,如果是一跳可达,那么“中继标志”和“中继节点”为0,“剩余节点”为每个目标IP地址的N值的比特排列;如果是中继可达,那么“中继标志”为1,“中继节点”为网关组播路由器IP地址的N值,“剩余节点”为每个目标IP地址的N值的比特排列。
h) 计算新插入的IP选项的长度并重新设置IP报文头部中的“头长度”字段,“TTL”递减后重新计算IP头部的“校验和”,然后从该分类的出接口发送出去。
2) 从点对点中继接口接收报文的处理。
a) 从“剩余节点”中寻找本组播路由器IP地址的N值,如果存在该比特表示本地的IP终端需要接收此组播/广播报文,首先将本组播路由器IP地址的N值从“剩余节点”的相应比特置为0,然后进入4)发送数据报文给终端的处理。
b) 如果“剩余节点”中还有其它比特为1,表示本组播路由器还需要继续转发此报文,此时从“剩余节点”中还原出目的IP地址组,然后进入1)->C开始的流程。
3) 从广播中继接口接收报文的处理。
a) 此时IP选项内的中继项可能有多项,首先根据本组播路由器IP地址的N值遍历每个中继项的“中继节点”,查找到有本组播路由器IP地址的N值的那一项。
b) 判断本组播路由器IP地址的N值是否在该中继项的“剩余节点”内,如果不在此内说明本组播路由器是纯中继节点,此时从“剩余节点”中还原出目的IP地址组,然后进入1)->C开始的流程。
c) 如果本组播路由器IP地址的N值在该中继项的“剩余节点”内,将本组播路由器IP地址的N值从“剩余节点”的相应比特置为0,然后进入4)发送数据报文给终端的处理,同时从“剩余节点”中还原出目的IP地址组,然后进入1)->C开始的流程。
d) 如果未找到,再根据本组播路由器IP地址的N值查找一跳可达中继项(“中继标志”和“中继节点”都为0)的“剩余节点”,如果未找到就不处理此报文,如果找到就将本组播路由器IP地址的N值从“剩余节点”的相应比特置为0,然后进入4)发送数据报文给终端的处理。
4) 发送报文给终端的处理。
剔除报文的IP选项,重新设置IP报文头部中的“头长度”字段,“TTL”递减后重新计算IP头部的“校验和”,然后从IP终端接口发送。
Claims (5)
1.一种适用于小型IP网络的组播、广播实现方法,其特征在于:组播路由器利用IP选项携带关键信息来实现组播、广播数据无环的转发功能。
2.根据权利要求1所述的IP选项的特征在于:由一个或多个中继项来确定报文的中继网关和剩余的需要到达的组播路由器。
3.根据权利要求2所述的“中继项”的特征在于:由“中继标志”、“中继节点”、“剩余节点”3个字段组成,其中“中继标志”表示该“中继项”在广播接口上是一跳可达还是中继可达,其比特数由I表示;“中继节点”表示该“中继项”在广播接口上网关路由器的ID,其比特数由J表示;“剩余节点”表示剩余的组播路由器ID的集合,其比特数由K表示,这3个值之间的关系满足下面的公式:
I + J = 8 ;
K ≤ 2 J 。
4.根据权利要求2所述的中继项的特征还在于:最大能支持的中继项的个数由下面的公式来表示:
最大能支持的中继项个数 W = 38 / ( 1 + K / 8 + ( 7 + K % 8 ) / 8 )。
5.根据权利要求3所述的“剩余节点”的特征在于:K值是8的整倍数,使用比特的方式来表示剩余的组播组成员的ID。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105358786A CN102970237A (zh) | 2012-12-13 | 2012-12-13 | 一种新型的适用于小型ip网络的组播/广播实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105358786A CN102970237A (zh) | 2012-12-13 | 2012-12-13 | 一种新型的适用于小型ip网络的组播/广播实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102970237A true CN102970237A (zh) | 2013-03-13 |
Family
ID=47800124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012105358786A Pending CN102970237A (zh) | 2012-12-13 | 2012-12-13 | 一种新型的适用于小型ip网络的组播/广播实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102970237A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112272202A (zh) * | 2020-09-18 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 一种管理软件服务端与系统内部组件的通信方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1324532A2 (en) * | 2001-12-21 | 2003-07-02 | Itt Manufacturing Enterprises, Inc. | Method and apparatus for on demand multicast and unicast |
US20040008663A1 (en) * | 2000-12-29 | 2004-01-15 | Devabhaktuni Srikrishna | Selection of routing paths based upon path quality of a wireless mesh network |
US20040071137A1 (en) * | 2002-08-06 | 2004-04-15 | Qiang He | Method for forwarding multicast message in network communication |
CN1953409A (zh) * | 2006-11-10 | 2007-04-25 | 上海龙林通信技术有限公司 | 一种半网状网的组网方法及其系统 |
CN101044728A (zh) * | 2004-12-10 | 2007-09-26 | 思科技术公司 | Rfc 2574网络边缘处的快速重路由(frr)保护 |
CN101534210A (zh) * | 2009-04-22 | 2009-09-16 | 杭州华三通信技术有限公司 | 一种设置组播ip报文优先级的方法和设备 |
CN101741678A (zh) * | 2008-11-26 | 2010-06-16 | 华为技术有限公司 | 一种建立虚拟局域网连接的方法、设备与系统 |
-
2012
- 2012-12-13 CN CN2012105358786A patent/CN102970237A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040008663A1 (en) * | 2000-12-29 | 2004-01-15 | Devabhaktuni Srikrishna | Selection of routing paths based upon path quality of a wireless mesh network |
EP1324532A2 (en) * | 2001-12-21 | 2003-07-02 | Itt Manufacturing Enterprises, Inc. | Method and apparatus for on demand multicast and unicast |
US20040071137A1 (en) * | 2002-08-06 | 2004-04-15 | Qiang He | Method for forwarding multicast message in network communication |
CN101044728A (zh) * | 2004-12-10 | 2007-09-26 | 思科技术公司 | Rfc 2574网络边缘处的快速重路由(frr)保护 |
CN1953409A (zh) * | 2006-11-10 | 2007-04-25 | 上海龙林通信技术有限公司 | 一种半网状网的组网方法及其系统 |
CN101741678A (zh) * | 2008-11-26 | 2010-06-16 | 华为技术有限公司 | 一种建立虚拟局域网连接的方法、设备与系统 |
CN101534210A (zh) * | 2009-04-22 | 2009-09-16 | 杭州华三通信技术有限公司 | 一种设置组播ip报文优先级的方法和设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112272202A (zh) * | 2020-09-18 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 一种管理软件服务端与系统内部组件的通信方法及系统 |
CN112272202B (zh) * | 2020-09-18 | 2022-11-15 | 苏州浪潮智能科技有限公司 | 一种管理软件服务端与系统内部组件的通信方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100379226C (zh) | 一种虚拟路由器方式的虚拟专用网络的组播方法 | |
CN106603407B (zh) | 组播地址的传输方法和装置 | |
CN103703455B (zh) | 用于逆向路径转发检查的方法和设备 | |
CN111034159B (zh) | 云中使用专用金属部署的情况下的复制 | |
CN102075438B (zh) | 单播数据帧传输方法及装置 | |
US9237025B2 (en) | Source routing in multicast transmissions | |
EP1256207B1 (en) | Multi-portal bridge for providing network connectivity | |
JP5862769B2 (ja) | 通信システム、制御装置、通信方法及びプログラム | |
CN100444565C (zh) | 控制以太城域网中多点传送传输的方法和装置 | |
JP5448211B2 (ja) | 無線通信装置、無線ネットワークシステム、データ転送方法、及び、プログラム | |
CN102970227A (zh) | 在asic中实现vxlan报文转发的方法和装置 | |
US8009683B2 (en) | IP network system | |
CN103346968A (zh) | 用于路由组播数据的方法和装置 | |
CN109714274B (zh) | 一种获取对应关系的方法和路由设备 | |
CN100484080C (zh) | 一种虚拟私有网的路由引入方法、系统和运营商边缘设备 | |
CN102957589A (zh) | 业务数据传输的方法、网络节点及系统 | |
CN101252529A (zh) | 一种组播报文的转发方法和设备 | |
CN104539545B (zh) | Trill网络中的组播报文转发方法和设备 | |
CN109981308A (zh) | 报文传输方法及装置 | |
CN103841013B (zh) | Trill网络中的报文转发方法及设备 | |
CN107294859B (zh) | 一种信息传递方法、装置及系统 | |
CN101296179B (zh) | IPv6使用逆向路径转发矢量IPv4/6的方法 | |
CN102970237A (zh) | 一种新型的适用于小型ip网络的组播/广播实现方法 | |
CN113992564B (zh) | 报文处理方法及装置 | |
WO2014199924A1 (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130313 |