[发明专利]用于多播处理的报文复制方法和装置无效
申请号: | 200810007247.0 | 申请日: | 2008-02-19 |
公开(公告)号: | CN101227306A | 公开(公告)日: | 2008-07-23 |
发明(设计)人: | 王肖飞 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L12/16 | 分类号: | H04L12/16;H04L12/56;H04L12/58 |
代理公司: | 北京康信知识产权代理有限责任公司 | 代理人: | 尚志峰;吴孟秋 |
地址: | 518057广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 处理 报文 复制 方法 装置 | ||
技术领域
本发明涉及通信领域,具体涉及到一种用于多播(广播、组播)处理的报文复制方法和装置。
背景技术
广播是将报文发送给网络中的所有主机(通常是本地相连的网络),而组播是将报文发送到网络的特定主机组。广播和组播适用于需要将报文同时发送给多个接收者的应用。
IP多播(也称多址广播或组播)技术,是一种允许一台或多台主机(多播源)发送单一报文到多台主机(一次的,同时的)的TCP/IP网络技术。多播作为一点对多点的通信,可以有效地节省网络带宽。多播能使一个或多个多播源只把报文发送给特定的多播组,而只有加入该多播组的主机才能接收到报文。目前,IP多播技术被广泛应用在网络音频/视频广播、网络视频会议等方面。
目前最简单的多播转发做法就是将原始报文复制为多份报文,然后分别进行报文封装,分别发送。由于存在着大量的IO(输入输出)操作,因而报文复制性能低。
针对上述的缺陷,现有技术中提供了一种在Intel IXP 2400网络处理器上实现多播转发的方法,该方法包括:接收模块(RX)接收从外端口来的报文,通过处理模块处理完毕后送到封装模块(EM),封装模块(EM)根据多播索引(MID)查找多播邻接封装表(DMAT),多播邻接封装表是一个链表,每一项保存一个出口报文封装格式信息;然后新出队一个buffer,用于保存多播报文头buffer,把报文头内容保存到该buffer中,构造多播报文头META(报文描述符);把META链到报文SOP(Start Of Package,报文头)META前,形成一个报文链表;把报文送到队列管理模块(QM),发送调度模块(TXS)调度包给发送模块(TX),最终发送模块把报文发送出去。该方法通过只修改报文头,不复制报文体,以减少报文复制,提高报文复制性能。
buffer是处理器中用于保存报文内容的内存区。其中,每个buffer对应着两块内存:数据DATA(用于保存报文的实际内容)和报文描述符META(保存报文大小等信息)。buffer chain是多个buffer可以连接起来表示一个报文,以容纳较长报文。
然而,需要TX模块处理buffer chain,即一次发送过程中需要处理两个buffer,所以大幅度增加了发送模块(TX)的负担,影响了报文复制性能。
发明内容
本发明旨在提供一种用于多播处理的报文复制方法和装置,能够解决上述现有技术中TX负担过重的问题。
根据本发明的一个实施例,提供了一种用于多播处理的报文复制方法,包括以下步骤:获取要多播处理的报文的报文体地址;获取关于该报文的多播组信息和多播组信息所指向的链表中各成员的多播成员信息;以及使用各成员的多播成员信息和报文的报文体地址,构造其对应的报文头,添加到报文中,并发送给该成员。
根据本发明的另一实施例,提供了一种用于多播处理的报文复制装置,包括:第一获取模块,用于获取要多播处理的报文的报文体地址;第二获取模块,用于获取关于报文的多播组信息和多播组信息所指向的链表中各成员的多播成员信息;以及复制模块,用于使用各成员的多播成员信息和报文的报文体地址,构造其对应的报文头,添加到报文中,并发送给该成员。
在上述现有技术中,通过构造多个报文头buffer,然后将报文头buffer链接到报文载荷的buffer上,在n次复制过程中,需要n+1次buffer出队和n+1次buffer入队。而在本发明实施例的报文复制方法和装置中,只需直接修改报文头,避免了现有技术中的队列操作,所以减轻了TX模块的负担,在进行多播处理时,可以使网络处理器达到线速处理能力。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了根据本发明一个实施例的用于多播处理的报文复制方法的流程图;
图2示出了根据本发明一个实施例的META格式;
图3示出了根据本发明一个实施例的用于多播处理的报文复制装置的方框图。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
图1示出了根据本发明一个实施例的用于多播处理的报文复制方法的流程图,其包括以下步骤:
步骤S10,获取要多播处理的报文的报文体地址;
步骤S20,获取关于该报文的多播组信息和多播组信息所指向的链表中各成员的多播成员信息;以及
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810007247.0/2.html,转载请声明来源钻瓜专利网。