一种组播报文转发方法和装置的制造方法
【技术领域】
[0001] 本发明涉及通信技术,尤其涉及一种组播报文转发方法和装置。
【背景技术】
[0002] 随着视频通信技术的发展,视频监控、在线直播、网络电视、远程教育、远程医疗、 网络电台、实时视频会议等信息服务逐渐深入人们的生活。而网络带宽资源有限,如何在不 占用大量带宽的情况下保证数据的快速传输,变得尤为重要。由于上述信息服务的基本模 式都是单点发送、多点接收,而依靠传统的单播和广播通信方式传输数据,不仅浪费带宽资 源还会给源主机增加负载。因此,组播技术应运而生,来解决传统的单播和广播通信方式不 能有效地解决单点发送、多点接收的问题。
[0003] 组播是指在IPQnternetProtocol,网络之间互连的协议)网络中将数据W尽力 传送的形式发送到某个确定的节点集合(即组播组),其基本思想是;源主机(即组播源) 只发送一份数据,其目的地址为组播组地址;组播组中的所有接收者都可收到同样的拷贝 数据,并且只有组播组内的主机可W接收该数据,而其它主机则不能收到。因此可W实现了 IP网络中点到多点的高效数据传送,能够大量节约网络带宽、降低网络负载。
[0004] 现有技术中,诸如防火墙、安全审计等常见网络设备都不具备路由器的功能,而 是靠CPlKCentralProcessing化it,中央处理器)来转发组播数据。通常上述网络设备 的CPU结构如图1所不。在RMI(RemoteMethodInvocation,远程方法调用)多核CPU 中(虚线框中的CPUl和CPU2)每个CPU核分为多个硬件线程,每个硬件线程又被称为虚 拟CPU(VCPU)D根据处理逻辑划分,送8个VCPU可W分为控制核和数据核。其中,前两个 VCPU(VCPU0、VCPU1)用于控制核(图中点左侧划线框所示),主要负责运行用户态进程W及 控制平面的相关处理流程(例如,处理协议报文、创建路由表项、下发路由表项W及处理组 播报文等);剩余的6个¥〔口1](¥〔口肥、¥〔口1]3、¥〔口1]4、¥〔口呪、¥〔口1]6、¥〔口1]7)用于数据核(图 中点右侧划线框所示),主要负责运行单播报文转发的相关流程。
[0005]目前,由于组播报文都要依靠控制核进行转发,而控制核(VCPU0、VCPU1)不仅要 处理各种协议报文,还要处理大量的组播报文,送样导致控制核负荷极大,因此组播报文在 控制核上的转发速率很低,一般每砂只能转发50M流量,送样的转发效率远远无法满足用 户每砂转发几百兆的使用要求。
【发明内容】
[0006] 本发明提供一种组播数据报文转发方法和装置来解决控制核的负荷过重,转发效 率过低的问题。
[0007] -种组播数据报文转发方法,所述方法包括:
[0008]当接收到组播数据报文时,调用数据核查找与该组播数据报文匹配的组播路由表 项;
[0009] 数据核根据查找到的组播路由表项对该组播数据报文进行转发。
[0010] 进一步的,所述方法还包括:
[0011] 当数据核未查找到与该组播数据报文匹配的组播路由表项时,调用控制核查找与 所述组播数据报文匹配的组播路由表项;
[0012] 控制核根据查找到的组播路由表项对该组播数据报文进行转发。
[0013] 进一步的,所述方法还包括:
[0014] 当控制核未查找到与该组播数据报文匹配的组播路由表项时,控制核根据组播协 议为所述组播数据报文创建新的组播路由表项;
[0015] 控制核根据所述新的组播路由表项对该组播数据报文进行转发。
[0016] 进一步的,所述方法还包括:
[0017] 当接收到组播数据报文时,将该组播数据报文进行流分类;
[0018] 所述调用数据核查找与该组播数据报文匹配的组播路由表项包括:
[0019] 根据流分类结果调用数据核中的指定硬件线程查找与该组播数据报文匹配的组 播路由表项。
[0020] 进一步的,所述方法还包括:
[0021] 当接收到组播数据报文时,所述调用数据核查找与该组播数据报文匹配的组播路 由表项包括:
[0022] 根据负载均衡策略调用数据核中的指定硬件线程查找与该组播数据报文匹配的 组播路由表项。
[0023] 基于相同的构思,本发明还提供一种组播数据报文转发装置,该装置应用于网络 设备,该网络设备包括数据核和控制核,所述装置包括调用模块和第一转发模块,其中所述 第一转发模块位于数据核;
[0024] 所述调用模块,用于接收到组播数据报文时,调用数据核查找与该组播数据报文 匹配的组播路由表项;
[00巧]所述第一转发模块,用于根据查找到的组播路由表项对该组播数据报文进行转 发。
[0026] 进一步的,所述调用模块还用于:
[0027] 当未查找到与该组播数据报文匹配的组播路由表项时,调用控制核查找与所述组 播数据报文匹配的组播路由表项;
[0028]所述控制核包括第二转发模块;
[0029] 所述第二转发模块,用于根据查找到的组播路由表项对该组播数据报文进行转 发。
[0030] 进一步的,所述控制核还包括:
[0031] 表项创建模块,用于当未查找到与该组播数据报文匹配的组播路由表项时,根据 组播协议创建新的组播路由表项;
[0032] 所述第二转发模块,还用于根据所述新的组播路由表项对该组播数据报文进行转 发。
[0033] 进一步的,所述装置还包括:
[0034] 流分类模块,用于当接收到组播数据报文时,将该组播数据报文进行流分类;
[0035] 所述调用模块还用于:
[0036] 根据流分类结果调用数据核中的指定硬件线程查找与该组播数据报文匹配的组 播路由表项。
[0037] 进一步的,所述调用模块还用于:
[0038] 根据负载均衡策略调用数据核中的指定硬件线程查找与该组播数据报文匹配的 组播路由表项。
[0039] 由此可见,本发明可W通过调用数据核来查找组播数据报文的组播路由表项,并 对组播数据报文进行转发。使数据核可W分担控制核的运行负担,从而提高了组播报文的 转发效率。
【附图说明】
[0040] 图1是现有技术的一种多核CPU的逻辑结构示意图;
[0041] 图2是本发明实施例中一种组播数据报文转发方法的处理流程图;
[0042] 图3是本发明实施例中一种组播数据报文转发装置的结构示意图;
[0043] 图4是本发明实施例中另一种组播数据报文转发装置的结构示意图。
【具体实施方式】
[0044] 为解决上述问题,本发明提供了一种组播数据报文转发方法和装置,通过调用数 据核来查找组播数据报文的组播路由表项,并对组播数据报文进行转发,使数据核可W分 担控制核的运行负担,从而达到提高组播报文转发效率的目的。
[0045] 下面W软件实现为例,详细描述本发明具体实现。本发明提供的组播数据报文转 发装置应用在网络设备上。作为本发明装置的运行载体,所述网络设备通常至少包括处理 器、内存、内部总线、网络接口W及非易失性存储器,当然,当然还可能包括有转发芯片W及 l/0(input/output,输入输出端口)接口等硬件。还要说明的是,该网络设备不同于现有技 术中提到的防火墙、安全审计等网络设备,本实施例中的网络设备除了可W进行网络应用 处理外,还支持一些基础的路由协议,如OSPF的pen化ortestPathFirst,开放式最短路 径优先)协议和BGP度orderGatewayProtocol,边界网关协议)等,W便该网络设备具有 路由转发功能。一般在该网络设备上处理的组播报文在逻辑上可W分为组播数据报文和组 播控制报文,所谓组播数据报文是承载着一些组播数据信息,比如视频流量;组播控制报文 则是承载着一些协议交互信息和控制指令之类的报文。由【背景技术】可知,现有技术中组播 数据报文和组播控制报文均由控制核转发,因此导致转发效率很低。而本发明提供的解决 方案,可W使数据核代替控制核处理组播数据报文,从而减轻控制核的处理负担,提高转发 效率。
[0046] 请参考图2、图3W及图4,所述组播数据报文转发装置100包括有:调用模块101 和第一转发模块102。其中所述第一转发模块102位于所述数据核中。在一个示例性的实 施方案中,该装置在运行过程中执行如下步骤:
[0047] S1、当接收到组播数据报文时,调用模块查找与该组播数据报文匹配的组播路由 表项;
[0048] 本发明的实施例中,在上述网络设备收到组播报文时,可W先通过该组播报文的 特征字段来区分该组播报文是组播数据报文还是组播控制报文。其区分方法有很多种,例 如通过该组播报文的目的IP地址中的协议号是否为IGMP(InternetGroupManagement Protocol,Internet组管理协议)来区分报文类型,即当协议号是IGMP时,则说明该组播 报文是组播控制报文;反之则说明该组播报文是组播数据报文。组播控制报文依旧由控制 核来处理,而对于组播数据报文,本发明的转发装置中的所述调用模块101则可W通过该 组播数据报文的源IP地址(SIP)、目的IP地址值I巧等信息,在本设备内存中已存的组播 路由表中查找与该组播数据报文所匹配的组播路由表项。
[0049]S2、第一转发模块根据查找到的组播路由表项对该组播数据报文进行转发。
[0050] 由于上述DIP是组播组的公网IP地址,该组播组中通常记录着每个组播成员的私 网IP地址,W及每个私网IP地址对应的出接口,因此所述查找到的组播路由表项中通常包 括SIP、DIP(其中包括了每个组播成员的私网IP地址和对应的出接口)。所述第一转发模 块102可W根据查找到的组播路由表项将该组播数据报文复制并转发给该DIP对应的组播 组中的每个组播成员。
[0051] 由此可见,本发明可W使数据核通过查找组播路由表项来转发组播数据报文,从 而分担控制核的运行负担。W图1中的CPU为例,假设控制核中的VCPUO负责转发组播数 据报文,其转发速率是50M/S,而本发明的转发装置可W使数据核代替控制核转发组播数据 报文,由于数