CN101030943A - 一种发送报文的方法和路由器 - Google Patents

一种发送报文的方法和路由器 Download PDF

Info

Publication number
CN101030943A
CN101030943A CNA2007100873991A CN200710087399A CN101030943A CN 101030943 A CN101030943 A CN 101030943A CN A2007100873991 A CNA2007100873991 A CN A2007100873991A CN 200710087399 A CN200710087399 A CN 200710087399A CN 101030943 A CN101030943 A CN 101030943A
Authority
CN
China
Prior art keywords
buffer area
prune
packet
prune packet
router
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
Application number
CNA2007100873991A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNA2007100873991A priority Critical patent/CN101030943A/zh
Publication of CN101030943A publication Critical patent/CN101030943A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明提供了一种发送报文的方法和路由器,该方法为:接收至少两个第一加入/剪枝报文;将目的地址相同的多个所述第一加入/剪枝报文聚合成一个第二加入/剪枝报文;在满足预先设置的触发条件时,发送所述第二加入/剪枝报文。该方法和路由器通过将接收到的发往同一目的地址的小报文聚合成大报文,在满足触发条件后,将聚合形成的大报文一次发送出去,而不是单独发送,避免频繁发送小报文,提高系统的性能。

Description

一种发送报文的方法和路由器
技术领域
本发明涉及网络通信领域的组播技术,特别涉及一种发送加入/剪枝报文的方法和路由器。
背景技术
近年来,随着因特网(Internet)的迅速普及和爆炸性发展,由此应运而生的新的应用带来了宽带的急剧消耗和网络拥挤问题。为了缓解网络瓶颈提出了很多方案,其中一种就是网际协议(IP)组播技术。IP组播是指在IP网络中将数据包以尽力传送的形式发送到网络中的某个确定节点子集,这个子集为组播组。IP组播的基本思想是,源主机只发送一份数据,这份数据中的目的地址为组播组地址;组播组中的所有接收者都可接收到同样的数据,并且只有组播组内的主机可以接收到该数据,网路中其它主机不能收到。
IP组播技术有效地解决了单点发送多点接收的问题,实现了IP网络中点到多点的高效数据传送,能够大量节约网络带宽,降低网络负载。作为一种单播和广播并列的通信方式,组播的意义不仅在于此,更重要的是,可以利用网络的组播特性方便的开展一些新的增值业务,包括在线直播、网络电视、远程教育、远程医疗、网络电台、实时视频会议等互联网的信息服务领域。
稀疏模式协议无关组播(PIM-SM,Protocol Independent Multicast-Parse Mode)是一种常用的域内组播模式。PIM-SM通过建立组播分发树来进行组播数据包的转发,其中组播分发树分为两种:以组播组G对应的共享树汇聚点(RP,Rendezvous Point)为根的共享树(RPT,Rendezvous PointTree),和以组播源S为根的最短路径树。
PIM-SM通过显式的加入/剪枝机制来完成组播分发树的建立与维护。根据该模式,当PIM-SM各组播表项的期望加入值或者期望剪枝值发生变化时,会向上游触发发送该表项的加入报文或剪枝报文。例如:PIM-SM中的(*,G)表项、(S,G)表项、(S,G,RPT)表项等的期望加入值发生变化,就会向上游触发发送对应表项的加入或剪枝报文。
作为PIM-SM的一个变异体,双向协议无关组播(Bidir-PIM)协议中也同样存在以上触发发送的加入报文或剪枝报文;
而指定源协议无关组播(PIM-SSM)协议中虽然没有(*,*,RPT),(*,G)表项,但是对于(S,G),也会触发发送加入报文或剪枝报文。
这种情况下,路由器报文队列中会接收到从下游路由器发送来报文,在读取和处理后,触发加入/剪枝报文,并向上游发送加入/剪枝报文。
其中,(*,G)表项代表接收者为同一组播组G,而发出者为任意的组播源S;(S,G)表项代表接收者为组播组G,发出者为组播源S;(S,G,RPT)表项代表接收者为组播组G,发出者为组播源S,并功过共享树RPT接收并转发。
组播路由协议间交互规则是组播多路由协议在不同组播域之间有效交互的规则,根据该规则,当运行在路由器上的一个组件向某个组播表项增加第一个出接口时,会向该表项的入接口所在组件发送加入通知,如果入接口所在组件是PIM-SM,PIM-SM收到通知后也会触发发送加入报文。同样,当运行在路由器上的一个组件将某个组播表项的最后一个出接口删除时,会向该表项的入接口所在组件发送剪枝通知,如果入接口所在组件是PIM-SM,PIM-SM收到通知后,也会触发发送剪枝报文。这种情况下,路由器的报文队列中就会接收到(Internet组管理协议)IGMP报文,并在对IGMP报文进行读取和处理后,触发加入/剪枝报文。
在有大量组播表项的环境里,由于触发发送的剪枝报文极多,而每个加入/剪枝报文都只包含有一个组播表项,这时报文的长度只有几十个字节。大量发送这种小报文,将降低系统的性能。
发明内容
本发明实施例的主要目的在于提供一种发送报文的方法,避免频繁发送小报文,以便提高系统的性能。
本发明实施例的另一个目的在于提供一种路由器,避免频繁发送小报文,以便提高系统的性能。
为了能够实现上述的第一个目的,本发明实施例提供了一种发送报文的方法,该方法包括以下步骤:
接收至少两个第一加入/剪枝报文;
将目的地址相同的多个所述第一加入/剪枝报文聚合成一个第二加入/剪枝报文;
在满足预先设置的触发条件时,发送所述第二加入/剪枝报文。
为了能够实现上述的第二个目的,一种路由器,该路由器包括:
报文收发模块,接收至少两个第一加入/剪枝报文,并发送给聚合模块;接收到检查模块发送的触发通知后,将聚合模块聚合的第二加入/剪枝报文发送出去;
聚合模块,将所述第一加入/剪枝报文中目的地址相同的多个第一加入/剪枝报文聚合成一个第二加入/剪枝报文;
检查模块,检查聚合模块聚合的第二加入/剪枝报文是否满足触发条件,如果是,则向报文收发模块发送触发通知。
由以上技术方案可以看出,本发明所提供的技术方案,将发往同一目的地址的加入/剪枝报文聚合成一个大报文后,一次发送出去,而不是单独发送,避免了频繁发送小报文,提高了系统性能。
附图说明
图1为本发明实施例提供的发送加入/剪枝报文的路由器结构示意图;
图2为本发明实施例提供的路由器设置多个缓存区的示意图;
图3为本发明实施例提供的缓存区的第二加入/剪枝报文的信息结构示意图;
图4为本发明实施例提供的聚合发送加入/剪枝报文的方法流程图;
图5为本发明实施例提供的设置定时器时的方法流程图;
图6为本发明实施例提供的批量处理报文队列中的报文时发送加入/剪枝的方法流程图;
图7为本发明实施例提供的批量处理报文队列中IGMP报文时发送加入/剪枝报文的方法流程图。
具体实施方式
本发明通过将接收到的至少两个加入/剪枝报文聚合成一个大的加入/剪枝报文,在满足触发条件时,一次发送出去,避免频繁发送小报文。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步的详细描述。
图1为发送加入/剪枝报文的路由器结构示意图。如图1所示,该路由器主要包括:检查模块102、报文收发模块103、以及聚合模块104。
检查模块102,检查第二加入/剪枝报文是否满足触发条件,如果是,则向报文收发模块103发送触发通知。
报文收发模块103,接收至少两个第一加入/剪枝报文,并发送给聚合模块104;接收到检查模块102发送的触发通知后,将聚合模块104聚合的第二加入/剪枝报文发送出去。
聚合模块104,将报文收发模块103发送的第一加入/剪枝报文中目的地址相同的第一加入/剪枝报文聚合成一个第二加入/剪枝报文。
其中,所述第一加入/剪枝报文为路由器接收到的加入/剪枝报文;所述第二加入/剪枝报文为经路由器聚合后得到的大报文。
所述聚合模块104中可以包括:缓存区101,用于存放聚合而成的第二加入/剪枝报文;
所述报文收发模块103,将缓存区101中的第二加入/剪枝报文发送出去。
上述满足触发条件可以为:缓存区中要发送的第二加入/剪枝报文达到预设长度;或者缓存区的剩余空间不充足。
其中,所述预设长度可以为缓存区能够缓存的加入/剪枝报文的长度;例如,缓存区存放的加入/剪枝报文报文个数为n,n表示每个缓存区101中可以容纳的加入剪枝个数,n的大小由缓存区大小决定。当缓存区大小采用接口最大传输单元(MTU,Maximum Transmission Unit)时,可以避免报文分片。
更进一步地,当路由器有多个邻居路由器时,路由器可能将接收到的加入/剪枝报文发送到多个邻居路由器。那么,如图2所示,所述路由器可以包含多个缓存区:缓存区1、缓存区2......缓存区m。聚合模块将发往不同邻居路由器的加入/剪枝报文进行聚合后,存入对应的缓存区,每个缓存区用于存放发往同一邻居路由器的第二加入/剪枝报文。即:缓存区1中存放发送至邻居路由器1的第二加入/剪枝报文;缓存区2中存放发送至邻居路由器2的第二加入/剪枝报文;......缓存区m中存放发送至邻居路由器m的第二加入/剪枝报文。
为了方便将缓存区与出接口以及PIM邻居路由器的相对应,这些缓存区可以使用PIM邻居路由器以及出接口为索引。所述出接口为路由器的报文收发模块发送加入/剪枝报文的接口。
缓存区存放的第二加入/剪枝报文的信息结构如图3所示。其中主要记录以下信息:
缓存区对应的接口信息301、缓存区对应的邻居信息302、以及缓存的待发送报文信息303。
缓存的待发送报文信息303,其格式可以是PIM-SM加入/剪枝报文的编码格式。如表1所示。
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|PIM版本 | 类型  |    保留      |          校验和               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                上游邻居地址(单播编码格式)                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      保留    | 组播组个数    |           老化时间             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                  组播组1(组播编码格式)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               加入源个数      |        剪枝源个数             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                加入/剪枝源1(单播编码格式)                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                            表1
因为这是PIM-SM中已有的编码格式,所以在此不做详细的说明。
另外,缓存区存放的信息结构还可以包括:缓存区其它信息304,可以根据需要记录一些额外的信息,例如:记录添加下一个组播加入剪枝的起始位置,即当前处理到缓存区的位置;记录缓存中可用于报文存储的总长度。
更进一步地,该路由器还可以包括周期性定时器105,周期性定时器105用于设置一个定时时间,定时时间到时,向报文收发模块103发送到时通知。
报文收发模块103,接收到周期性定时器105发送的到时通知后,将缓存区101中的第二加入/剪枝报文发送出去。
这样能够防止需要缓存的信息不多而引起的缓存区报文长度不足,长时间不能将其发送出去。
更进一步地,检查模块102,还用于查看缓存区101中的剩余空间是否充足,如果否,向报文收发模块103发送触发通知。
以上是对本发明提供的PIM-SM中聚合发送加入/剪枝报文的系统所做的描述,下面对本发明所提供的PIM-SM中聚合发送加入/剪枝报文的方法做详细的描述。图4为聚合发送加入/剪枝报文的方法流程图,如图4所示,该流程包括以下步骤:
步骤401:接收至少两个第一加入/剪枝报文。
本步骤中所述的第一加入/剪枝报文是路由器接收到的要发送的加入/剪枝报文,或者由路由器产生的要发送的加入/剪枝报文。
步骤402:将目的地址相同的多个所述第一加入/剪枝报文聚合成一个第二加入/剪枝报文。
该步骤是将路由器触发向邻居路由器发送的加入/剪枝报文按照目的地址聚合成一个大报文,还可以设置缓存区,将聚合后的大报文缓存起来。
更优地,当路由器有多个邻居路由器时,即需要向多个邻居路由器发送加入/剪枝报文时,建立多个缓存区,每个缓存区对应一个邻居路由器,以存储发往不同邻居的报文。
当新接收到某个加入/剪枝信息时,进行聚合的过程为:在缓存区后面的缓存的待发送报文信息中添加信息,包括:对应的组播组地址信息、添加加入或者剪枝源个数、源信息。一般情况下,添加的加入或者剪枝个数为1,之后要将组播组的个数的值加1。即添加表1所示的组播组地址、加入源个数/剪枝源个数、以及加入/剪枝源地址,同时修改组播组个数。
在接收到新的加入/剪枝报文时,如果组播组地址相同,而组播源地址不同时,并不需要将这两个不同的组播组信息合并。也就是说,在接收到一个新加入/剪枝报文时,不会因为加入和剪枝属于同一个组播组而放到加入/剪枝报文的一个组播组信息内,而是分成多个独立的组播组信息。
下面举一个例子说明:需要发送(S1,G1)的剪枝报文,然后发送(S2,G1)的加入报文,缓存之后变成一个缓存区内同一个组播组的两个动作,并且是两个独立的部分,加入或者剪枝个数为1,其编码如表2所示:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                  组播组G1(组播编码格式)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      加入源个数=0            |        剪枝源个数=1          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   剪枝源S1(单播编码格式)                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                  组播组G1(组播编码格式)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        加入源个数=1          |        剪枝源个数=0          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   加入源S2(单播编码格式)                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                              表2
另外,也可以将这些报文进行聚合,通过查找将相同的组播组G对应的同类型的源S进行合并,但是这样的效率就会稍低一些。例如:将发送给G1的剪枝(S1,G1),(S3,G1)以及加入(S2,G1),(S4,G1)进行合并,其编码如表3所示:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   组播组G1(组播编码格式)                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         加入源个数=0         |         剪枝源个数=2         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   剪枝源S1(单播编码格式)                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   剪枝源S3(单播编码格式)                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        加入源个数=2          |        剪枝源个数=0          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   加入源S2(单播编码格式)                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   加入源S4(单播编码格式)                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                              表3
步骤403:当满足预先设置的触发条件时,发送第二加入/剪枝报文。
本步骤中,所述触发条件一般为缓存区中的第二加入/剪枝报文达到预设长度。
所述第二加入/剪枝报文达到的预设长度可以由缓存区的大小决定。例如,当缓存区中存放的第二加入/剪枝报文将缓存区放满时,发送缓存区中的第二加入/剪枝报文。
接收此第二加入/剪枝报文的邻居路由器处理报文的方式与原协议处理一致。
所述触发条件还可以为:缓存区中的剩余空间不充足。
在向缓存区添加某个新的加入/剪枝报文之后,检查剩余的空间是否充足,如果不足,则将缓存区中内容发送出去。
上述剩余空间是否充足是指:缓存区中的剩余空间是否有足够存放一个加入/剪枝报文的空间。
更优地,当向缓存区添加某个加入/剪枝报文前,检查剩余的空间是否充足,如果不足,则先将缓存区中内容发送出去后,再添加新的加入/剪枝报文。
所述触发条件还可以为:定时器到时。在需要缓存的加入/剪枝报文不多时,为了防止缓存区的第二加入/剪枝报文由于没有达到预设长度而长时间不能发送出去,预设一个周期性定时器,周期性定时器到时后,将缓存区中的加入/剪枝报文发送出去。图5为设置定时器后的方法流程图。如图5所示,其步骤包括:
步骤501:接收至少两个第一加入/剪枝报文,并将所述接收到的加入/剪枝报文中目的地址相同的加入/剪枝报文聚合成一个第二加入/剪枝报文,放入缓存区。
步骤502:判断定时器是否到时。如果是,执行步骤503;如果否,执行步骤504。
步骤503:将缓存区中的第二加入/剪枝报文发送出去。结束流程。
步骤504:缓存区中的第二加入/剪枝报文达到预设长度后,发送缓存区中的第二加入/剪枝报文。
较佳地,在路由器的报文队列中没有要处理的报文时,主动查看缓存区中是否有待发送的加入/剪枝报文,如果有就立即将缓存区中的加入/剪枝报文发送出去。
因为路由器接收到的报文首先要放入报文队列,在对报文队列中的报文进行读取和处理后,会触发加入/剪枝报文,然后将加入/剪枝报文添加至缓存区。所以在对报文队列中的报文进行批量地读取和处理时,所触发的最后几个加入/剪枝报文可能因为一直没有达到预设长度,所以长时间不能发送出去,为了能够尽快通知上游路由器这最后几个加入/剪枝报文,需要在对报文队列中的报文进行处理完成后直接通知系统主动查看缓存区中是否有待发送的加入/剪枝报文,如果有,就立即将缓存区中的加入/剪枝报文发送出去。其中,对报文队列中的报文进行处理完成也就是报文队列中没有要处理的报文。如图6所示。图6为批量处理报文队列中的报文时发送加入/剪枝报文的方法流程图。
步骤601:接收至少两个第一加入/剪枝报文,并将所述接收到的加入/剪枝报文中目的地址相同的加入/剪枝报文聚合成一个第二加入/剪枝报文,放入缓存区。
步骤602:判断缓存区中的加入/剪枝报文是否达到预设长度,如果是,执行步骤604;如果否,则执行步骤603。
步骤603:在报文队列中没有要处理的报文时,主动查看缓存区中是否有待发送的加入/剪枝报文。如果是,执行步骤604;如果否,结束流程。
步骤604:发送缓存区中的加入/剪枝报文。
上面所述的查看剩余空间和在报文队列中没有要处理的报文时主动查看缓存区常常是结合在一起进行的。在此以接收批量IGMP报文为例:在接收批量IGMP报文之后,对于批量的IGMP报文,原先IGMP收到每一个加入/剪枝报文时会调用PIM来创建对应的PIM表项,并向上游发送加入剪枝。在加入剪枝缓存机制配合下,其方法流程如图7所示,图7为批量处理报文队列中IGMP报文时发送加入/剪枝报文的方法流程图。其流程包括以下步骤:
步骤701:查看缓存区中的剩余空间是否充足,如果否,执行步骤702;如果是,则执行步骤703。
步骤702:发送缓存区中的加入/剪枝报文。
步骤703:将新的加入/剪枝报文添加至缓存区。
步骤704:判断缓存区中的加入剪枝报文是否达到预设长度,如果是,执行步骤706;如果否,则执行步骤705。
步骤705:在报文队列中没有要处理的报文时,通知系统主动查看缓存区中是否有待发送的加入/剪枝报文。如果是,执行步骤706;如果否,结束流程。
步骤706:发送缓存区中的加入/剪枝报文。
通过以上步骤能够尽快通知上游路由器最后几个加入/剪枝信息,提高系统的效率。
批量处理从下游接收的报文时,发送所触发的加入/剪枝报文的方法也是类似的。路由器收到大量下游路由器发送来的加入/剪枝报文,这时会调用PIM来创建PIM表项,并向上游发送加入/剪枝报文。当向缓存区添加加入/剪枝报文时,如果发现剩余的空间不足,则先将缓存区中的加入/剪枝报文发送出去,然后再添加新的加入/剪枝报文。但是最后的几个加入剪枝信息可能一直没有达到预设长度,为了能尽快通知上游路由器这最后几个加入剪枝信息,需要在报文队列中没有要处理的报文时,直接通知系统主动查看缓存区中是否有待发送的数据,如果有就立即将缓存区中的加入/剪枝报文发送出去。其流程与图7中所述流程步骤相同。
由上可见,本发明所提供的方法和路由器,将接收到的加入/剪枝报文缓存起来,设置触发条件,当满足触发条件时,将缓存区中的加入/剪枝报文发送出去避免频繁发送小报文,以便提高系统性能,触发条件一般是:缓存区中的加入/剪枝报文达到预设长度,或者缓冲区中的剩余空间不充足。更优地,所述触发条件还可以进一步包括:所设置的周期性定时器超时。更进一步地,在添加新的加入/剪枝报文之前,主动查看缓存区剩余空间,如果不充足,则将缓存区中的加入/剪枝报文发送出去;更优地,在报文队列中没有要处理的报文时,出动查看缓存区中是否有待发送的数据,更进一步提高系统性能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (17)

1、一种发送报文的方法,其特征在于,该方法包括以下步骤:
接收至少两个第一加入/剪枝报文;
将目的地址相同的多个所述第一加入/剪枝报文聚合成一个第二加入/剪枝报文;
在满足预先设置的触发条件时,发送所述第二加入/剪枝报文。
2、根据权利要求1所述的方法,其特征在于,将目的地址相同的多个所述第一加入/剪枝报文聚合成一个第二加入/剪枝报文包括:
根据所述第一加入/剪枝报文的接收顺序,添加缓存区中的待发送报文信息,从而形成一个第二加入/剪枝报文。
3、根据权利要求2所述的方法,其特征在于,所述添加缓存区中的待发送报文信息为:添加加入/剪枝报文编码中的组播组地址、加入源个数/剪枝源个数、加入/剪枝源地址,以及修改组播组个数。
4、根据权利要求1所述的方法,其特征在于,该方法还包括:设置缓存区,将所述聚合成的第二加入/剪枝报文放入缓存区。
5、根据权利要求4所述的方法,其特征在于,所述触发条件为:缓存区中的第二加入/剪枝报文达到预设长度。
6、根据权利要求4所述的方法,其特征在于所述触发条件为:缓存区中的剩余空间不充足。
7、根据权利要求1所述的方法,其特征在于,所述触发条件为:预设的周期性定时器超时。
8、根据权利要求1所述的方法,其特征在于,在报文队列中没有要处理的报文时,该方法进一步包括:查看缓存区是否有第二加入/剪枝报文,如果是,将缓存区中的第二加入/剪枝报文发送出去。
9、根据权利要求4所述的方法,其特征在于,所述目的地址为邻居路由器的地址;
所述设置缓存区为设置一个缓存区或设置多个缓存区;
将所述发往同一邻居路由器的第一加入/剪枝报文聚合而成的第二加入/剪枝报文放入同一缓存区。
10、一种路由器,其特征在于,该路由器包括:
报文收发模块,接收至少两个第一加入/剪枝报文,并发送给聚合模块;接收到检查模块发送的触发通知后,将聚合模块聚合的第二加入/剪枝报文发送出去;
聚合模块,将所述第一加入/剪枝报文中目的地址相同的多个第一加入/剪枝报文聚合成一个第二加入/剪枝报文;
检查模块,检查聚合模块聚合的第二加入/剪枝报文是否满足触发条件,如果是,则向报文收发模块发送触发通知。
11、根据权利要求10所述的路由器,其特征在于,所述聚合模块中包括缓存区,用于存放所述聚合而成第二加入/剪枝报文。
12、根据权利要求11所述的路由器,其特征在于,所述目的地址为邻居路由器的地址;
所述缓存区为一个或者多个;
每个缓存区用于缓存发往同一邻居路由器的第一加入/剪枝报文聚合而成的第二加入/剪枝报文。
13、根据权利要求11或12所述的路由器,其特征在于,所述缓存区是以邻居路由器和出接口为索引的。
14、根据权利要求11或12所述的路由器,其特征在于,所述缓存区中包括:缓存区中对应的接口信息、缓存区对应的邻居信息、以及缓存区的待发送报文信息。
15、根据权利要求14所述的路由器,其特征在于,所述缓存区的待发送报文信息的格式为稀疏模式协议无关组播PIM-SM中加入/剪枝报文的编码格式。
16、根据权利要求10所述的路由器,其特征在于,该路由器进一步包括:周期性定时器;
周期性定时器,用于设置一个定时时间,定时时间到时,向报文收发模块发送到时通知;
报文收发模块,接收到周期性定时器发送的到时通知后,将所述第二加入/剪枝报文发送出去。
17、根据权利要求11所述的路由器,其特征在于,所述检查模块,还用于查看缓存区中的剩余空间是否充足,如果否,向报文收发模块发送触发通知。
CNA2007100873991A 2007-04-03 2007-04-03 一种发送报文的方法和路由器 Pending CN101030943A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2007100873991A CN101030943A (zh) 2007-04-03 2007-04-03 一种发送报文的方法和路由器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2007100873991A CN101030943A (zh) 2007-04-03 2007-04-03 一种发送报文的方法和路由器

Publications (1)

Publication Number Publication Date
CN101030943A true CN101030943A (zh) 2007-09-05

Family

ID=38716027

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007100873991A Pending CN101030943A (zh) 2007-04-03 2007-04-03 一种发送报文的方法和路由器

Country Status (1)

Country Link
CN (1) CN101030943A (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009043238A1 (fr) * 2007-09-30 2009-04-09 Huawei Technologies Co., Ltd. Procédé, dispositif et système pour la gestion de services multimédia
CN102111279A (zh) * 2011-02-28 2011-06-29 杭州华三通信技术有限公司 一种组播数据的传输方法和设备
CN102185770A (zh) * 2011-05-05 2011-09-14 汉柏科技有限公司 基于多核架构的批量式报文收发方法
WO2011150767A1 (zh) * 2010-08-12 2011-12-08 华为技术有限公司 数据发送处理方法、装置和系统
CN102905311A (zh) * 2012-09-29 2013-01-30 北京傲天动联技术有限公司 数据报文聚合装置和数据报文聚合方法
CN103441826A (zh) * 2013-07-12 2013-12-11 中国人民解放军国防科学技术大学 一种减少无线通信丢包率的方法和设备
CN104253763A (zh) * 2013-06-30 2014-12-31 上海贝尔股份有限公司 一种在泛在网的网关设备中实现数据传输的方法及其网关设备
CN104952227A (zh) * 2014-03-31 2015-09-30 鸿富锦精密工业(深圳)有限公司 数据的传输装置及方法
WO2016029681A1 (zh) * 2014-08-25 2016-03-03 深圳市中兴微电子技术有限公司 交换接入模块、信元封装方法、交换网系统及计算机存储介质
WO2016095323A1 (zh) * 2014-12-16 2016-06-23 北京东土科技股份有限公司 一种基于串口服务器的数据传输方法及装置
CN106911546A (zh) * 2017-02-28 2017-06-30 北京经纬恒润科技有限公司 一种报文传输方法、装置、系统及诊断平台
CN108965141A (zh) * 2018-09-18 2018-12-07 深圳市风云实业有限公司 一种多路径路由树的计算方法及装置
CN109379287A (zh) * 2018-12-25 2019-02-22 广东浪潮大数据研究有限公司 一种数据包的输入缓冲方法及输入缓冲部件
WO2019100794A1 (zh) * 2017-11-22 2019-05-31 华为技术有限公司 报文处理方法及装置
CN110445658A (zh) * 2019-08-16 2019-11-12 中国银行股份有限公司 一种报文处理方法及系统
CN113542148A (zh) * 2021-07-15 2021-10-22 恒安嘉新(北京)科技股份公司 一种报文聚合方法、装置、网络网卡及可读存储介质
CN113612693A (zh) * 2021-07-22 2021-11-05 云尖信息技术有限公司 一种用于避免pim路由协议rpt-spt路径震荡的方法及路由系统

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009043238A1 (fr) * 2007-09-30 2009-04-09 Huawei Technologies Co., Ltd. Procédé, dispositif et système pour la gestion de services multimédia
WO2011150767A1 (zh) * 2010-08-12 2011-12-08 华为技术有限公司 数据发送处理方法、装置和系统
CN102377650A (zh) * 2010-08-12 2012-03-14 华为技术有限公司 数据发送处理方法、装置和系统
CN102377650B (zh) * 2010-08-12 2015-01-07 华为技术有限公司 数据发送处理方法、装置和系统
CN102111279A (zh) * 2011-02-28 2011-06-29 杭州华三通信技术有限公司 一种组播数据的传输方法和设备
CN102111279B (zh) * 2011-02-28 2013-10-23 杭州华三通信技术有限公司 一种组播数据的传输方法和设备
CN102185770A (zh) * 2011-05-05 2011-09-14 汉柏科技有限公司 基于多核架构的批量式报文收发方法
CN102905311A (zh) * 2012-09-29 2013-01-30 北京傲天动联技术有限公司 数据报文聚合装置和数据报文聚合方法
CN102905311B (zh) * 2012-09-29 2015-07-15 北京傲天动联技术股份有限公司 数据报文聚合装置和数据报文聚合方法
CN104253763A (zh) * 2013-06-30 2014-12-31 上海贝尔股份有限公司 一种在泛在网的网关设备中实现数据传输的方法及其网关设备
CN103441826A (zh) * 2013-07-12 2013-12-11 中国人民解放军国防科学技术大学 一种减少无线通信丢包率的方法和设备
CN104952227A (zh) * 2014-03-31 2015-09-30 鸿富锦精密工业(深圳)有限公司 数据的传输装置及方法
WO2016029681A1 (zh) * 2014-08-25 2016-03-03 深圳市中兴微电子技术有限公司 交换接入模块、信元封装方法、交换网系统及计算机存储介质
WO2016095323A1 (zh) * 2014-12-16 2016-06-23 北京东土科技股份有限公司 一种基于串口服务器的数据传输方法及装置
CN106911546A (zh) * 2017-02-28 2017-06-30 北京经纬恒润科技有限公司 一种报文传输方法、装置、系统及诊断平台
WO2019100794A1 (zh) * 2017-11-22 2019-05-31 华为技术有限公司 报文处理方法及装置
US11140245B2 (en) 2017-11-22 2021-10-05 Huawei Technologies Co., Ltd. Packet processing method and apparatus
CN108965141A (zh) * 2018-09-18 2018-12-07 深圳市风云实业有限公司 一种多路径路由树的计算方法及装置
CN109379287A (zh) * 2018-12-25 2019-02-22 广东浪潮大数据研究有限公司 一种数据包的输入缓冲方法及输入缓冲部件
CN109379287B (zh) * 2018-12-25 2022-03-11 广东浪潮大数据研究有限公司 一种数据包的输入缓冲方法及输入缓冲部件
CN110445658A (zh) * 2019-08-16 2019-11-12 中国银行股份有限公司 一种报文处理方法及系统
CN113542148A (zh) * 2021-07-15 2021-10-22 恒安嘉新(北京)科技股份公司 一种报文聚合方法、装置、网络网卡及可读存储介质
CN113612693A (zh) * 2021-07-22 2021-11-05 云尖信息技术有限公司 一种用于避免pim路由协议rpt-spt路径震荡的方法及路由系统
CN113612693B (zh) * 2021-07-22 2022-08-26 云尖信息技术有限公司 一种用于避免pim路由协议rpt-spt路径震荡的方法及路由系统

Similar Documents

Publication Publication Date Title
CN101030943A (zh) 一种发送报文的方法和路由器
CN1791054A (zh) 一种虚拟路由器方式的虚拟专用网络的组播方法
CN100346605C (zh) 一种组播源控制的方法和系统
CN1585366A (zh) 无线基站,网络系统,通信方法和基站控制程序
CN1747447A (zh) 区分服务网络域内支持不同服务质量的ip组播方法
CN1242593C (zh) 源地址选择系统、路由器装置、通信节点和源地址选择方法
CN101030873A (zh) 一种下载数据的方法及系统
CN1960521A (zh) 增大多媒体消息业务系统容量的方法及系统
CN1881931A (zh) 组播转发路由聚合方法
CN1725761A (zh) 网络设备实现链路聚合的方法
CN1921457A (zh) 一种网络设备和基于多核处理器的报文转发方法
CN1909509A (zh) 在媒体分发网络中实现视频直播的系统、方法和客户端
CN101048012A (zh) 一种在无线网状网络中确定路由的方法
CN1921477A (zh) 一种对分片报文进行复杂流分类的方法及系统
CN1716904A (zh) 一种基于多业务传输平台的组播实现方法
CN1744574A (zh) 组播报文穿越非组播网络的方法及其应用的网络系统
CN1929638A (zh) 一种无线局域网ip组播帧传输的组播成员管理方法
CN1929444A (zh) 运营商边界节点、虚拟专用局域网服务通信方法及系统
CN1801783A (zh) 一种基于ip/mpls/bgp的多域组播一体化数据分发结构及方法
CN101051920A (zh) 一种组播业务的实现方法和网络设备
CN1859122A (zh) 实现对业务提供商分类服务的方法及装置
CN101052004A (zh) Ip网络中基于虚拟分发网的多播传送方法
CN1809017A (zh) 移动主机开展组播业务的系统及其方法
CN101052006A (zh) 报文上送的方法及实现该方法的接口板及路由器
CN1946064A (zh) 报文转发方法及设备

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

Open date: 20070905