CN104506331A - 一种组播报文传输方法及多核网络设备 - Google Patents
一种组播报文传输方法及多核网络设备 Download PDFInfo
- Publication number
- CN104506331A CN104506331A CN201410800374.1A CN201410800374A CN104506331A CN 104506331 A CN104506331 A CN 104506331A CN 201410800374 A CN201410800374 A CN 201410800374A CN 104506331 A CN104506331 A CN 104506331A
- Authority
- CN
- China
- Prior art keywords
- core
- multicast message
- outgoing interface
- multicast
- memory 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.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种组播报文传输方法及多核网络设备,涉及数据通信领域,能够在利用多个处理核处理组播报文时,避免组播报文乱序。入处理核获取至少一个组播流,确定每个组播流的转发路径的出接口和每个组播报文的内存地址,向出处理核发送组播流的出接口和内存地址,该组播流为与出处理核对应的出接口相同出接口的组播流,出处理核对应至少一个出接口,不同的出处理核对应不同的出接口;出处理核根据内存地址的顺序获取出处理核的每个出接口的内存地址对应的组播报文,复制内存地址对应的组播报文,通过出处理核对应的出接口转发复制后的内存地址对应的组播报文。组播报文传输方法及多核网络设备用于传输数据流。
Description
技术领域
本发明涉及数据通信领域,尤其涉及一种组播报文传输方法及多核网络设备。
背景技术
目前,多核网络设备广泛应用多核中央处理器(Central ProcessingUnit,CPU)实现控制功能和转发功能,提高整个通信系统的性能。当多核网络设备接收到组播流,多核中央处理器中任意一处理核对所述组播流选路和复制,再将该组播流发送至组播组,所述组播流包括多个组播报文。但是,多核中央处理器中每个处理核的处理能力有限,当所述任意一处理核处理较多组播报文时,其他处理核却处于空闲状态,从而未有效利用各个处理核的处理能力,反而降低了多核网络设备的转发性能。组播是一个发送端或多个发送端向组播组传输组播报文的方式,即多台主机同时接收同一个数据报文时,发送端可以以组播的方式传输组播报文组播组,该组播组包括所述多台需要接收该组播报文的主机,所述组播报文为组播的数据报文。
现有技术中,为了有效利用各个处理核的处理能力,多核网络设备可以将一条组播流中的组播报文分配到不同的处理核中复制和发送,提高多核网络设备的转发性能。但是,由于不能保证各处理核的处理能力完全一致,可能出现在后的组播报文先发送至接收端,导致组播报文乱序。因此,如何在利用多个处理核处理组播报文时,避免组播报文乱序是一个亟待解决的问题。
发明内容
本发明的实施例提供一种组播报文传输方法及多核网络设备,能够在利用多个处理核处理组播报文时,避免组播报文乱序。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种组播报文传输方法,应用于多核网络设备,所述多核网络设备包括入处理核和至少两个出处理核,所述方法包括:
所述入处理核获取至少一个组播流,所述组播流包括至少一个组播报文;
所述入处理核确定每个所述组播流的转发路径得到每个所述组播流的转发路径的至少一个出接口;
所述入处理核确定每个所述组播流中每个组播报文的内存地址,所述内存地址用于表示所述每个组播报文存储的地址以及顺序;
所述入处理核向至少一个所述出处理核发送组播流的出接口和所述组播流中每个组播报文的内存地址,所述组播流为与所述出处理核对应的出接口相同出接口的组播流,所述出处理核对应至少一个出接口,不同的出处理核对应不同的出接口;
所述至少一个出处理核根据所述内存地址的顺序获取所述出处理核的每个出接口的所述内存地址对应的组播报文;
所述至少一个出处理核复制所述内存地址对应的组播报文;
所述至少一个出处理核通过所述出处理核对应的出接口转发复制后的所述内存地址对应的组播报文。
第二方面,提供一种多核网络设备,所述多核网络设备包括入处理核和至少两个出处理核,
所述入处理核用于获取至少一个组播流,所述组播流包括至少一个组播报文;
所述入处理核还用于确定每个所述组播流的转发路径得到每个所述组播流的转发路径的至少一个出接口;
所述入处理核还用于确定每个所述组播流中每个组播报文的内存地址,所述内存地址用于表示所述每个组播报文存储的地址以及顺序;
所述入处理核还用于向至少一个所述出处理核发送组播流的出接口和所述组播流中每个组播报文的内存地址,所述组播流为与所述出处理核对应的出接口相同出接口的组播流,所述出处理核对应至少一个出接口,不同的出处理核对应不同的出接口;
所述至少一个出处理核用于根据所述内存地址的顺序获取所述出处理核的每个出接口的所述内存地址对应的组播报文;
所述至少一个出处理核还用于复制所述内存地址对应的组播报文;
所述至少一个出处理核还用于通过所述出处理核对应的出接口转发复制后的所述内存地址对应的组播报文。
本发明实施例提供一种组播报文传输方法及多核网络设备。相对于现有技术,首先,入处理核确定获取到的每个组播流的转发路径的至少一个出接口和每个所述组播流中每个组播报文的内存地址,该内存地址用于表示所述每个组播报文存储的地址以及顺序,入处理核向至少一个出处理核发送与所述出处理核对应的出接口相同出接口的组播流的出接口和所述组播流中每个组播报文的内存地址,其中,该出处理核对应至少一个出接口,不同的出处理核对应不同的出接口,然后,所述至少一个出处理核根据所述内存地址的顺序获取所述出处理核的每个出接口的所述内存地址对应的组播报文;复制所述内存地址对应的组播报文;通过所述出处理核对应的出接口转发复制后的所述内存地址对应的组播报文,从而能够在利用多个处理核处理至少一个组播流时,同一组播流的同一出接口的出处理核相同,且同一出处理核根据组播流中组播报文的内存地址处理同一出接口的组播报文,避免同一组播流的组播报文乱序。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供一种组播报文传输方法流程图;
图2为本发明实施例提供一种多核网络设备结构示意图;
图3为本发明实施例提供另一种组播报文传输方法流程图;
图4为本发明实施例提供另一种多核网络设备结构示意图;
图5为本发明实施例提供又一种多核网络设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种组播报文传输方法,应用于多核网络设备,所述多核网络设备包括入处理核和至少两个出处理核,如图1所示,包括:
步骤101、入处理核获取至少一个组播流,所述组播流包括至少一个组播报文。
步骤102、入处理核确定每个所述组播流的转发路径得到每个所述组播流的转发路径的至少一个出接口。
步骤103、入处理核确定每个所述组播流中每个组播报文的内存地址,所述内存地址用于表示所述每个组播报文存储的地址以及顺序。
步骤104、入处理核向至少一个所述出处理核发送组播流的出接口和所述组播流中每个组播报文的内存地址,所述组播流为与所述出处理核对应的出接口相同出接口的组播流,所述出处理核对应至少一个出接口,不同的出处理核对应不同的出接口。
步骤105、至少一个出处理核根据所述内存地址的顺序获取所述出处理核的每个出接口的所述内存地址对应的组播报文。
步骤106、至少一个出处理核复制所述内存地址对应的组播报文。
步骤107、至少一个出处理核通过所述出处理核对应的出接口转发复制后的所述内存地址对应的组播报文。
相对于现有技术,首先,入处理核确定获取到的每个组播流的转发路径的至少一个出接口和每个所述组播流中每个组播报文的内存地址,该内存地址用于表示所述每个组播报文存储的地址以及顺序,入处理核向至少一个出处理核发送与所述出处理核对应的出接口相同出接口的组播流的出接口和所述组播流中每个组播报文的内存地址,其中,该出处理核对应至少一个出接口,不同的出处理核对应不同的出接口,然后,所述至少一个出处理核根据所述内存地址的顺序获取所述出处理核的每个出接口的所述内存地址对应的组播报文;复制所述内存地址对应的组播报文;通过所述出处理核对应的出接口转发复制后的所述内存地址对应的组播报文,从而能够在利用多个处理核处理至少一个组播流时,同一组播流的同一出接口的出处理核相同,且同一出处理核根据组播流中组播报文的内存地址处理同一出接口的组播报文,避免同一组播流的组播报文乱序。
进一步的,在所述入处理核确定每个所述组播流的转发路径得到每个所述组播流的转发路径的至少一个出接口之后,所述入处理核根据组播报文的出接口的个数确定所述组播报文的引用计数,所述引用计数用于表示所述出处理核获取所述组播报文的次数。在所述至少一个出处理核根据所述内存地址的顺序获取所述出处理核对应的一个出接口的所述内存地址对应的组播报文后,所述入处理核将所述内存地址对应的组播报文的引用计数减1;当所述内存地址对应的组播报文的引用计数为0时,所述入处理核删除所述内存地址对应的组播报文。
特别的,所述入处理核从本地获取出处理核对应的出接口,向所述出处理核发送与所述出处理核对应的出接口相同出接口的组播流的出接口和所述组播流中每个组播报文的内存地址。可选的,所述多核网络设备还包括控制核,所述入处理核从所述控制核获取出处理核对应的出接口,向所述出处理核发送与所述出处理核对应的出接口相同出接口的组播流的出接口和所述组播流中每个组播报文的内存地址。
需要说明的是,入处理核和出处理核可以是多核网络设备中的任意一个处理核。如图2所示,本发明提供一种多核网络设备结构示意图2,包括第一处理核201、第二处理核202、第三处理核203、存储器204、控制核205、出接口A、出接口B和出接口C。其中,第一处理核201通过粗实线与出接口A、出接口B和出接口C连接;第二处理核202通过虚线与出接口A、出接口B和出接口C连接;第三处理核203通过细实线与出接口A、出接口B和出接口C连接;存储器204通过实线端与第一处理核201、第二处理核202、第三处理核203;控制核205通过虚线端与第一处理核201、第二处理核202、第三处理核203。
本发明实施例提供一种组播报文传输方法,应用于如图2所示的多核网络设备,假设入处理核为第一处理核,出处理核为第二处理核和第三处理核,第一组播流第一组播报文和第二组播报文,第二组播流包括第三组播报文和第四组播报文,如图3所示,所述方法包括:
步骤301、第一处理核获取第一组播流和第二组播流,该第一组播流包括第一组播报文和第二组播报文,该第二组播流包括第三组播报文和第四组播报文。
每个组播报文包括相同的源网际协议(Internet Protocol,IP)地址、相同的目的IP地址、相同的IP协议号和不同的数据内容。
步骤302、第一处理核确定每个组播流的转发路径得到每个所述组播报文的转发路径的至少一个出接口。
第一处理核确定第一组播流的转发路径得到第一组播流的转发路径为出接口A、出接口B和出接口C。从而第一组播报文的转发路径为出接口A、出接口B和出接口C,第二组播报文的转发路径为出接口A、出接口B和出接口C。
第一处理核确定第二组播流的转发路径得到第二组播流的转发路径为出接口A和出接口B。从而第三组播报文的转发路径为出接口A和出接口B,第四组播报文的转发路径为出接口A和出接口B。第一处理核确定第一组播流和第二组播流的转发路径的具体方法可以参考现有技术,本发明对此不再赘述。
步骤303、第一处理核根据组播报文的出接口的个数确定该组播报文的引用计数。
引用计数用于表示处理核获取组播报文的次数。第一处理核确定第一组播报文的引用计数为3,第一处理核确定第二组播报文的引用计数为3,第一处理核确定第三组播报文的引用计数为2,第一处理核确定第四组播报文的引用计数为2。
步骤304、第一处理核确定每个组播流中每个组播报文的内存地址。
第一处理核将第一组播报文、第二组播报文、第三组播报文和第四组播报文存储到存储器,确定每个组播报文的内存地址。所述内存地址可以是存储器中的物理地址。需要说明的是,内存地址表示组播报文存储的地址以及顺序,可以为组播报文的指针。第一组播报文的内存地址为第一组播报文的指针,第二组播报文的内存地址为第二组播报文的指针,第三组播报文的内存地址为第三组播报文的指针,第四组播报文的内存地址为第四组播报文的指针。指针用于指示一个内存地址的计算机语言的变量或CPU中寄存器(Register)。本发明中可以用于指示组播报文在存储器中的位置和组播报文的顺序。假设第一组播报文的内存地址到第四组播报文的内存地址在内存中从小到大按序排列。
步骤305、第一处理核获取第二处理核对应的出接口和第三处理核对应的出接口。
第一处理核可以根据算法计算从本地获取第二处理核对应的出接口和第三处理核对应的出接口。或者,第一处理核可以从控制核获取所述控制核根据算法计算得到的第二处理核对应的出接口和第三处理核对应的出接口。需要说明的是,第二处理核和第三处理核可以对应至少一个出接口,不同的处理核对应不同的出接口。
假设第二处理核的出接口为出接口A和出接口B,第三处理核的出接口为出接口C。
步骤306、第一处理核向处理核发送与处理核对应的出接口相同出接口的组播流的出接口和该组播流中每个组播报文的内存地址。执行步骤307和步骤309。
具体的,第一组播报文的出接口和第二组播报文的出接口与第二处理核对应的出接口相同,第一处理核向第二处理核发送第一组播报文的出接口和内存地址和第二组播报文的出接口和内存地址;同理,第一组播报文的出接口与第三处理核对应的出接口相同,第一处理核向第三处理核发送第一组播报文的出接口和内存地址;第三组播报文的出接口与第二处理核对应的出接口相同,第一处理核向第二处理核发送第三组播报文的出接口和内存地址;第四组播报文的出接口与第二处理核对应的出接口相同,第一处理核向第二处理核发送第四组播报文的出接口和内存地址。
步骤307、第二处理核根据组播报文的内存地址的顺序获取第二处理核的每个出接口的内存地址对应的组播报文。执行步骤308。
第二处理核的出接口A和出接口B需要处理第一组播报文、第二组播报文、第三组播报文和第四组播报文。第二处理核根据第一组播报文的内存地址从存储器存储的组播报文中获取第一组播报文。第二处理核根据第二组播报文的内存地址从存储器存储的组播报文中获取第二组播报文。第二处理核根据第三组播报文的内存地址从存储器存储的组播报文中获取第三组播报文。第二处理核根据第四组播报文的内存地址从存储器存储的组播报文中获取第四组播报文。
步骤308、第一处理核将内存地址对应的组播报文的引用计数减1。执行步骤3011。
在第二处理核根据第一组播报文的内存地址获取第二处理核的出接口A的第一组播报文后,所述入处理核将所述内存地址对应的第一组播报文的引用计数减1;在第二处理核根据第一组播报文的内存地址获取第二处理核的出接口B的第一组播报文后,所述入处理核将所述内存地址对应的第一组播报文的引用计数再减1。
在第二处理核根据第二组播报文的内存地址获取第二处理核的出接口A的第二组播报文后,所述入处理核将所述内存地址对应的第二组播报文的引用计数减1;在第二处理核根据第二组播报文的内存地址获取第二处理核的出接口B的第二组播报文后,所述入处理核将所述内存地址对应的第二组播报文的引用计数再减1。
在第二处理核根据第三组播报文的内存地址获取第二处理核的出接口A的第三组播报文后,所述入处理核将所述内存地址对应的第三组播报文的引用计数减1;在第二处理核根据第三组播报文的内存地址获取第二处理核的出接口B的第三组播报文后,所述入处理核将所述内存地址对应的第三组播报文的引用计数再减1。
在第二处理核根据第四组播报文的内存地址获取第二处理核的出接口A的第四组播报文后,所述入处理核将所述内存地址对应的第四组播报文的引用计数减1;在第二处理核根据第四组播报文的内存地址获取第二处理核的出接口B的第四组播报文后,所述入处理核将所述内存地址对应的第四组播报文的引用计数再减1。
步骤309、第三处理核根据组播报文的内存地址的顺序获取第三处理核的每个出接口的内存地址对应的第一组播报文。执行步骤3010。
第三处理核的出接口C需要处理第一组播报文和第二组播报文。第三处理核根据第一组播报文的内存地址从存储器存储的组播报文中获取第一组播报文。第三处理核根据第二组播报文的内存地址从存储器存储的组播报文中获取第二组播报文。
步骤3010、第一处理核将内存地址对应的组播报文的引用计数减1。执行步骤3012。
在第三处理核根据第一组播报文的内存地址获取第三处理核的出接口C的第一组播报文后,所述入处理核将所述内存地址对应的第一组播报文的引用计数再减1。在第三处理核根据第二组播报文的内存地址获取第三处理核的出接口C的第二组播报文后,所述入处理核将所述内存地址对应的第二组播报文的引用计数再减1。
步骤3011、第二处理核复制第一组播报文、第二组播报文、第三组播报文和第四组播报文。执行步骤3013。
步骤3012、第三处理核复制第一组播报文和第二组播报文。执行步骤3014。
需要说明的是,也可以由第一处理核复制第一组播报文、第二组播报文、第三组播报文和第四组播报文。第二处理核和第三处理核获取的就是复制后的组播报文。
步骤3013、第二处理核通过第二处理核对应的出接口转发复制后的组播报文。执行步骤3015。
第二处理核从出接口A向组播组转发复制后的第一组播报文、第二组播报文、第三组播报文和第四组播报文;第二处理核从出接口B向组播组转发复制后的第一组播报文、第二组播报文、第三组播报文和第四组播报文。
步骤3014、第三处理核通过第三处理核对应的出接口转发复制后的组播报文。执行步骤3015。
第三处理核从出接口C向组播组转发复制后的第一组播报文和第二组播报文。
步骤3015、第一处理核删除第一组播报文、第二组播报文、第三组播报文和第四组播报文。
相对于现有技术,首先,第一处理核对获取到的组播流中的组播报文确定内存地址,该内存地址用于表示所述组播报文存储的地址以及顺序,第一处理核向处理核发送与处理核对应的出接口相同出接口的组播流的内存地址和该组播流中每个组播报文的出接口,然后,第二处理核和第三处理核根据内存地址从存储器存储的组播报文中获取所述内存地址对应的组播报文;复制所述内存地址对应的组播报文;根据所述处理核对应的出接口向组播组发送复制后的所述内存地址对应的组播报文,从而能够在利用多个处理核处理至少一个组播流时,同一组播流的同一出接口的出处理核相同,且同一出处理核根据组播流中组播报文的内存地址处理同一出接口的组播报文,避免同一组播流的组播报文乱序。
本发明实施例提供一种多核网络设备40,所述多核网络设备40包括入处理核401和至少两个出处理核402,如图4所示,包括:
所述入处理核401用于获取至少一个组播流,所述组播流包括至少一个组播报文;
所述入处理核401还用于确定每个所述组播流的转发路径得到每个所述组播流的转发路径的至少一个出接口;
所述入处理核401还用于确定每个所述组播流中每个组播报文的内存地址,所述内存地址用于表示所述每个组播报文存储的地址以及顺序;
所述入处理核401还用于向至少一个所述出处理核发送组播流的出接口和所述组播流中每个组播报文的内存地址,所述组播流为与所述出处理核对应的出接口相同出接口的组播流,所述出处理核对应至少一个出接口,不同的出处理核对应不同的出接口;
所述至少一个出处理核402用于根据所述内存地址的顺序获取所述出处理核的每个出接口的所述内存地址对应的组播报文;
所述至少一个出处理核402还用于复制所述内存地址对应的组播报文;
所述至少一个出处理核402还用于通过所述出处理核对应的出接口转发复制后的所述内存地址对应的组播报文。
相对于现有技术,首先,入处理核确定获取到的每个组播流的转发路径的至少一个出接口和每个所述组播流中每个组播报文的内存地址,该内存地址用于表示所述每个组播报文存储的地址以及顺序,入处理核向至少一个出处理核发送与所述出处理核对应的出接口相同出接口的组播流的出接口和所述组播流中每个组播报文的内存地址,其中,该出处理核对应至少一个出接口,不同的出处理核对应不同的出接口,然后,所述至少一个出处理核根据所述内存地址的顺序获取所述出处理核的每个出接口的所述内存地址对应的组播报文;复制所述内存地址对应的组播报文;通过所述出处理核对应的出接口转发复制后的所述内存地址对应的组播报文,从而能够在利用多个处理核处理至少一个组播流时,同一组播流的同一出接口的出处理核相同,且同一出处理核根据组播流中组播报文的内存地址处理同一出接口的组播报文,避免同一组播流的组播报文乱序。
所述入处理核401还用于根据组播报文的出接口的个数确定所述组播报文的引用计数,所述引用计数用于表示所述出处理核获取所述组播报文的次数。
在所述至少一个出处理核根据所述内存地址的顺序获取所述出处理核对应的一个出接口的所述内存地址对应的组播报文后,所述入处理核401还用于将所述内存地址对应的组播报文的引用计数减1;当所述内存地址对应的组播报文的引用计数为0时,所述入处理核还用于删除所述内存地址对应的组播报文。
所述入处理核401具体用于:从本地获取出处理核对应的出接口,向所述出处理核发送与所述出处理核对应的出接口相同出接口的组播流的出接口和所述组播流中每个组播报文的内存地址。
如图5所示,所述多核网络设备还包括控制核403,所述入处理核401具体用于:从所述控制核获取出处理核对应的出接口,向所述出处理核发送与所述出处理核对应的出接口相同出接口的组播流的出接口和所述组播流中每个组播报文的内存地址。
需要说明的是,本发明所述的处理核中不同的处理核对应不同的出接口,处理核可以对应至少一个出接口。入处理核向出处理核发送的只是与出处理核的出接口相同的组播流,从而能够在利用多个处理核处理组播报文时,避免组播报文乱序。本发明所述的多核网络设备可以是路由器。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种组播报文传输方法,其特征在于,应用于多核网络设备,所述多核网络设备包括入处理核和至少两个出处理核,所述方法包括:
所述入处理核获取至少一个组播流,所述组播流包括至少一个组播报文;
所述入处理核确定每个所述组播流的转发路径得到每个所述组播流的转发路径的至少一个出接口;
所述入处理核确定每个所述组播流中每个组播报文的内存地址,所述内存地址用于表示所述每个组播报文存储的地址以及顺序;
所述入处理核向至少一个所述出处理核发送组播流的出接口和所述组播流中每个组播报文的内存地址,所述组播流为与所述出处理核对应的出接口相同出接口的组播流,所述出处理核对应至少一个出接口,不同的出处理核对应不同的出接口;
所述至少一个出处理核根据所述内存地址的顺序获取所述出处理核的每个出接口的所述内存地址对应的组播报文;
所述至少一个出处理核复制所述内存地址对应的组播报文;
所述至少一个出处理核通过所述出处理核对应的出接口转发复制后的所述内存地址对应的组播报文。
2.根据权利要求1所述的组播报文传输方法,其特征在于,在所述入处理核确定每个所述组播流的转发路径得到每个所述组播流的转发路径的至少一个出接口之后,所述方法还包括:
所述入处理核根据组播报文的出接口的个数确定所述组播报文的引用计数,所述引用计数用于表示所述出处理核获取所述组播报文的次数。
3.根据权利要求2所述的组播报文传输方法,其特征在于,在所述至少一个出处理核根据所述内存地址的顺序获取所述出处理核的每个出接口的所述内存地址对应的组播报文之后,所述方法还包括:
在所述至少一个出处理核根据所述内存地址的顺序获取所述出处理核对应的一个出接口的所述内存地址对应的组播报文后,所述入处理核将所述内存地址对应的组播报文的引用计数减1;
当所述内存地址对应的组播报文的引用计数为0时,所述入处理核删除所述内存地址对应的组播报文。
4.根据权利要求3所述的组播报文传输方法,其特征在于,所述入处理核向至少一个所述出处理核发送组播流的出接口和所述组播流中每个组播报文的内存地址包括:
所述入处理核从本地获取出处理核对应的出接口,向所述出处理核发送与所述出处理核对应的出接口相同出接口的组播流的出接口和所述组播流中每个组播报文的内存地址。
5.根据权利要求3所述的组播报文传输方法,其特征在于,所述多核网络设备还包括控制核,所述入处理核向至少一个所述出处理核发送组播流的出接口和所述组播流中每个组播报文的内存地址包括:
所述入处理核从所述控制核获取出处理核对应的出接口,向所述出处理核发送与所述出处理核对应的出接口相同出接口的组播流的出接口和所述组播流中每个组播报文的内存地址。
6.一种多核网络设备,其特征在于,所述多核网络设备包括入处理核和至少两个出处理核,
所述入处理核用于获取至少一个组播流,所述组播流包括至少一个组播报文;
所述入处理核还用于确定每个所述组播流的转发路径得到每个所述组播流的转发路径的至少一个出接口;
所述入处理核还用于确定每个所述组播流中每个组播报文的内存地址,所述内存地址用于表示所述每个组播报文存储的地址以及顺序;
所述入处理核还用于向至少一个所述出处理核发送组播流的出接口和所述组播流中每个组播报文的内存地址,所述组播流为与所述出处理核对应的出接口相同出接口的组播流,所述出处理核对应至少一个出接口,不同的出处理核对应不同的出接口;
所述至少一个出处理核用于根据所述内存地址的顺序获取所述出处理核的每个出接口的所述内存地址对应的组播报文;
所述至少一个出处理核还用于复制所述内存地址对应的组播报文;
所述至少一个出处理核还用于通过所述出处理核对应的出接口转发复制后的所述内存地址对应的组播报文。
7.根据权利要求6所述的多核网络设备,其特征在于,
所述入处理核还用于根据组播报文的出接口的个数确定所述组播报文的引用计数,所述引用计数用于表示所述出处理核获取所述组播报文的次数。
8.根据权利要求7所述的多核网络设备,其特征在于,在所述至少一个出处理核根据所述内存地址的顺序获取所述出处理核对应的一个出接口的所述内存地址对应的组播报文后,
所述入处理核还用于将所述内存地址对应的组播报文的引用计数减1;
当所述内存地址对应的组播报文的引用计数为0时,所述入处理核还用于删除所述内存地址对应的组播报文。
9.根据权利要求8所述的多核网络设备,其特征在于,所述入处理核具体用于:
从本地获取出处理核对应的出接口,向所述出处理核发送与所述出处理核对应的出接口相同出接口的组播流的出接口和所述组播流中每个组播报文的内存地址。
10.根据权利要求8所述的多核网络设备,其特征在于,所述多核网络设备还包括控制核,所述入处理核具体用于:
从所述控制核获取出处理核对应的出接口,向所述出处理核发送与所述出处理核对应的出接口相同出接口的组播流的出接口和所述组播流中每个组播报文的内存地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410800374.1A CN104506331B (zh) | 2014-12-22 | 2014-12-22 | 一种组播报文传输方法及多核网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410800374.1A CN104506331B (zh) | 2014-12-22 | 2014-12-22 | 一种组播报文传输方法及多核网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104506331A true CN104506331A (zh) | 2015-04-08 |
CN104506331B CN104506331B (zh) | 2017-09-29 |
Family
ID=52948046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410800374.1A Active CN104506331B (zh) | 2014-12-22 | 2014-12-22 | 一种组播报文传输方法及多核网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104506331B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106357446A (zh) * | 2016-09-20 | 2017-01-25 | 杭州迪普科技有限公司 | 一种流量转发路径的获取方法及装置 |
CN108055211A (zh) * | 2017-12-22 | 2018-05-18 | 盛科网络(苏州)有限公司 | 一种组播复制的方法、设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921457A (zh) * | 2006-09-18 | 2007-02-28 | 杭州华为三康技术有限公司 | 一种网络设备和基于多核处理器的报文转发方法 |
CN101304322A (zh) * | 2008-06-30 | 2008-11-12 | 杭州华三通信技术有限公司 | 一种网络设备和报文转发方法 |
CN101325551A (zh) * | 2008-07-28 | 2008-12-17 | 杭州华三通信技术有限公司 | 一种报文处理方法和报文处理装置 |
CN101894092A (zh) * | 2010-07-28 | 2010-11-24 | 杭州华三通信技术有限公司 | 多核cpu及其核间通信方法 |
US20110072239A1 (en) * | 2009-09-18 | 2011-03-24 | Board Of Regents, University Of Texas System | Data multicasting in a distributed processor system |
CN102789399A (zh) * | 2012-07-06 | 2012-11-21 | 苏州汉明科技有限公司 | 多核分布式系统中的进程间通信方法 |
-
2014
- 2014-12-22 CN CN201410800374.1A patent/CN104506331B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921457A (zh) * | 2006-09-18 | 2007-02-28 | 杭州华为三康技术有限公司 | 一种网络设备和基于多核处理器的报文转发方法 |
CN101304322A (zh) * | 2008-06-30 | 2008-11-12 | 杭州华三通信技术有限公司 | 一种网络设备和报文转发方法 |
CN101325551A (zh) * | 2008-07-28 | 2008-12-17 | 杭州华三通信技术有限公司 | 一种报文处理方法和报文处理装置 |
US20110072239A1 (en) * | 2009-09-18 | 2011-03-24 | Board Of Regents, University Of Texas System | Data multicasting in a distributed processor system |
CN101894092A (zh) * | 2010-07-28 | 2010-11-24 | 杭州华三通信技术有限公司 | 多核cpu及其核间通信方法 |
CN102789399A (zh) * | 2012-07-06 | 2012-11-21 | 苏州汉明科技有限公司 | 多核分布式系统中的进程间通信方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106357446A (zh) * | 2016-09-20 | 2017-01-25 | 杭州迪普科技有限公司 | 一种流量转发路径的获取方法及装置 |
CN106357446B (zh) * | 2016-09-20 | 2019-07-09 | 杭州迪普科技股份有限公司 | 一种流量转发路径的获取方法及装置 |
CN108055211A (zh) * | 2017-12-22 | 2018-05-18 | 盛科网络(苏州)有限公司 | 一种组播复制的方法、设备和存储介质 |
CN108055211B (zh) * | 2017-12-22 | 2020-10-30 | 盛科网络(苏州)有限公司 | 一种组播复制的方法、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104506331B (zh) | 2017-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107342952B (zh) | 业务链路选择控制方法以及设备 | |
CN103475682B (zh) | 文件迁移方法及设备 | |
US10754869B2 (en) | Managing data format of data received from devices in an internet of things network | |
CN107453922B (zh) | 基础服务配置方法、客户端及服务器 | |
CN111382115B (zh) | 一种用于片上网络的路径创建方法、装置及电子设备 | |
CN105704036A (zh) | 报文转发方法、装置和系统 | |
CN110912814A (zh) | 一种接口数据的分发方法及装置 | |
JP7046983B2 (ja) | パケット伝送方法及び装置 | |
US9961014B2 (en) | Network communication method based on software-defined networking and server using the method | |
CN103843285A (zh) | 一种网络设备版本升级的方法及网络设备 | |
CN113261249A (zh) | 一种数据传输方法、相关设备及计算机存储介质 | |
US20150295727A1 (en) | Method for operating a communication network and communication network | |
CN104836741A (zh) | 在网络报文分流设备中实现分片报文处理的方法及处理板 | |
CN104506331A (zh) | 一种组播报文传输方法及多核网络设备 | |
US10462101B2 (en) | Network communication method based on software-defined networking and server using the method | |
CN103973573A (zh) | 会话备份方法、报文转发方法及其装置 | |
CN109995548B (zh) | 设备管理方法、系统和数据传输方法、系统及终端设备 | |
CN107819594B (zh) | 网络故障定位方法及装置 | |
CN104572315A (zh) | 实现子系统间通信的方法、通信实体及分布式通信系统 | |
CN105335217A (zh) | 一种服务器静默方法与系统 | |
CN106559439B (zh) | 一种业务处理方法及设备 | |
CN105763456A (zh) | 一种路径选择方法、设备及系统 | |
CN103684888A (zh) | 一种批量配置网络设备的方法 | |
KR20130116407A (ko) | 이중화 통신선로의 중복 데이타 처리장치 및 방법 | |
US20150370729A1 (en) | Bridge decoder for a vehicle infotainment system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |