CN103312614B - 一种组播报文处理方法、线卡及通信设备 - Google Patents
一种组播报文处理方法、线卡及通信设备 Download PDFInfo
- Publication number
- CN103312614B CN103312614B CN201310274312.7A CN201310274312A CN103312614B CN 103312614 B CN103312614 B CN 103312614B CN 201310274312 A CN201310274312 A CN 201310274312A CN 103312614 B CN103312614 B CN 103312614B
- Authority
- CN
- China
- Prior art keywords
- line card
- message
- address
- multicast message
- multicast
- 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.)
- Active
Links
Landscapes
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种组播报文处理方法、线卡及通信设备,该方法包括:源线卡将自身在第一设定时间段内接收到的各组播报文,按照接收时间的先后顺序依次存放到自身的各内存缓冲区中,确定每个组播报文的目的线卡;分别将每个确定出的目的线卡对应的组播报文所在的内存缓冲区的地址信息,打包为一条地址报文后发送给相应目的线卡。相应的,目的线卡接收源线卡发送的地址报文,对地址报文进行解包得到解包后的地址报文中的地址信息,向源线卡发送携带有地址信息的获取报文请求;接收源线卡返回的组播报文,将此组播报文进行转发。本发明在进行组播报文传输处理时,减轻了源线卡的CPU负担,提高了目的线卡的CPU利用率,进而提高了设备整机的性能。
Description
技术领域
本发明涉及通信技术领域中的PCIE(Peripheral Component InterconnectExpress,增强的外部组件互联标准)总线技术领域,尤其涉及一种组播报文处理方法、线卡及通信设备。
背景技术
PCIE总线是用于互连通信设备中各线卡的第三代I/O高性能总线,是基于PCI(Peripheral Component Interconnect,外部组件互联标准)总线而发展起来的,它采用点对点串行连接方式,每一个线卡都拥有自己独立的数据连接,各线卡之间并发的数据传输互不影响,从而保证了数据传输通道的专有性,避免其他线卡的干扰,提高了数据传输速率。
在采用PCIE交换技术的通信设备中,一般包括一个主控卡、若干个线卡和PCIE交换器,PCIE交换器也可集成于主控卡中,主控卡控制PCIE交换器实现对各线卡之间需要传输的报文的转发,每个线卡均包括用于与其他通信设备进行报文传输的通信接口,和与其他线卡进行报文传输的PCIE接口。
目前,按照内部线卡对报文处理方式的不同,通信设备主要分为集中式通信设备和分布式通信设备,前者的主控卡上设置有CPU,用于负责多个线卡的报文处理;后者除主控卡上设置有CPU外,每个线卡上均设置有CPU,即每个线卡中的CPU负责对各自接收到的报文进行处理。
然而,随着网络技术的快速发展,分布式通信设备已经在越来越多的网络环境中使用,分布式通信设备中各线卡之间的数据交换通道叫做背板交换网络,在目前分布式通信设备中,PCIE交换和以太交换是两种较为常见的背板交换技术。
以太网在MAC层支持组播地址,所以基于以太交换的分布式设备中,线卡间传输组播报文比较简单,只需要将报文的目的MAC地址修改为组播地址,然后发送到以太交换芯片,就可以由交换芯片将该组播报文同时转发给多个目的线卡。
然而,在PCIE交换方式中,主要采用根据组播报文的目的地址进行路由,不同的线卡拥有不同的PCIE地址,通过向不同的PCIE地址写数据即可完成报文转发。但是在这种方式中,不支持将一个报文一次发送给多个目的线卡,而是需要多次发送才能完成,所以PCIE交换本身不能实现类似于以太交换的组播报文跨线卡转发。
下面以图1所示的基于PCIE交换的分布式通信设备为例,对采用PCIE交换方式的设备内部报文传输流程进行介绍。
在图1中,分布式通信设备包括带有PCIE交换器的主控卡和多个设置有通信接口的线卡,每个线卡均拥有各自的CPU,且设置有数量不等或种类不同的通信接口,用于与其它通信设备进行报文传输,例如,线卡1上设置有接口1/0和接口1/1两个通信接口,且每个线卡均通过PCIE接口与主控卡中的PCIE交换器交互,实现线卡之间的报文传输。
下面对跨卡转发组播报文的处理流程进行说明:
假设线卡1通过自身的接口1/0接收的报文,需要分别通过线卡2的接口2/0、线卡3的接口3/0和线卡n的接口n/0进行转发,在这里,线卡1为源线卡,线卡2、线卡3和线卡n为目的线卡,如图2所示,具体包括下述步骤:
S201:线卡1通过接口1/0接收报文,并将该报文存放在线卡1的内存缓冲区buffer1中。
S202:线卡1解析该报文,根据该报文中携带的目的地址,确定该报文是组播报文,并查找该组播报文的目的接口为线卡2的2/0、线卡3的3/0和线卡n的n/0。
S203:线卡1将该buffer1中的报文通过PCIE接口分别发送给线卡2、线卡3和线卡n。
需要说明的是,在执行上述步骤S203时,实际上是由线卡1的CPU分别向线卡1的PCIE控制器发送控制指令,指示PCIE控制器将buffer1中的报文分别发送给线卡2、线卡3和线卡n。换言之,在一条组播报文的目的线卡为n个的情况下,线卡1的CPU需要向PCEI控制器发送n次控制指令。
S204:线卡2通过内部PCIE接口接收该报文,将该报文存放在线卡2的buffer2中,并对该报文进行必要的修改,然后通过接口2/0发送该报文,报文发送后释放线卡2的buffer2。
S205:线卡3通过内部PCIE接口接收该报文,将该报文存放在线卡3的buffer3中,并对该报文进行必要的修改,然后通过接口3/0发送该报文,报文发送后释放线卡3的buffer3。
S206:线卡n通过内部PCIE接口接收该报文,将该报文存放在线卡n内存的buffer n中,并对该报文进行必要的修改,然后通过接口n/0发送该报文,报文发送后释放线卡n的buffer n。
需要说明的是,在上述处理流程中,由于线卡2、线卡3和线卡n接收报文时间的不同,在上述步骤S203之后,可能先执行步骤S204,也可能先执行步骤S205,还可能先执行步骤S206。因此,上述步骤S204-步骤S206并没有执行顺序之分。
从上述跨卡转发组播报文的传输过程可以看出,如图3所示,组播报文在从接口1/0进入线卡1后,线卡1需要将该组播报文分别传输给该组播报文的其它目的线卡,如果其它目的线卡的数量为m,则需要通过PCIE接口进行m次报文的发送。这样,对于每一次报文的发送,均需要耗费源线卡的CPU的处理资源,在需要接收组播报文的目的线卡的数量较多的情况下,源线卡需要进行大量的报文发送处理,消耗大量的CPU处理资源,源线卡这一侧的负担较重,从而导致源线卡的性能下降。
对于目的线卡这一侧而言,仅需通过PCIE接口接收组播报文,并将该组播报文通过自身的通信接口转发即可,相较于源线卡来说,目的线卡的CPU的利用率较低;并且,由于源线卡在进行组播报文传输处理时的负担较重,将因其性能下降导致设备整机的整体性能下降。
发明内容
本发明实施例提供一种组播报文处理方法、线卡,用以解决现有分布式通信设备中的源线卡在进行组播报文传输处理时CPU负担较重的问题。
本发明实施例还提供一种组播报文处理方法、线卡,用以解决现有分布式通信设备中的目的线卡在进行组播报文传输处理时CPU利用率较低的问题。
本发明实施例还提供一种通信设备,用以解决现有分布式通信设备在进行组播报文传输处理时性能较低的问题。
本发明实施例提供一种组播报文处理方法,包括:
源线卡将自身在第一设定时间段内接收到的各组播报文,按照接收时间的先后顺序依次存放到自身的各内存缓冲区中,并确定每个组播报文的目的线卡;
分别将每个确定出的目的线卡对应的组播报文所在的内存缓冲区的地址信息,打包在一条地址报文中发送给确定出的对应目的线卡,每个地址报文用于指示确定出的对应目的线卡对所述地址报文进行解包,并根据解包后的地址报文中的地址信息依次向源线卡发送获取报文请求。
本发明实施例还提供一种组播报文处理方法,包括:
目的线卡接收源线卡发送的地址报文,对接收到的地址报文进行解包,得到解包后的地址报文中的地址信息,并依次向所述源线卡发送携带有所述地址信息的获取报文请求;
接收所述源线卡返回的组播报文,并将接收到的组播报文进行转发,所述组播报文为所述源线卡接收的且存放于与所述获取报文请求中的地址信息对应的内存缓冲区中的报文。
本发明实施例还提供一种线卡,包括:
存放单元,用于将在第一设定时间段内接收到的各组播报文,按照接收时间的先后顺序依次存放到自身的各内存缓冲区中;
确定单元,用于确定每个组播报文的目的线卡;
打包单元,用于分别将每个确定出的目的线卡对应的组播报文所在的内存缓冲区的地址信息,打包在一条地址报文中;
发送单元,用于将每个地址报文发送给确定出的对应目的线卡,所述地址报文用于指示确定出的对应目的线卡对所述地址报文进行解包,并根据解包后的地址报文中的地址信息依次向源线卡发送获取报文请求。
本发明实施例还提供一种线卡,包括:
接收单元,用于接收源线卡发送的地址报文;以及接收所述源线卡返回的组播报文,所述组播报文为所述源线卡接收的且存放于与所述获取报文请求中的地址信息对应的内存缓冲区中的报文;
解包单元,用于对所述地址报文进行解包,得到解包后的地址报文中的地址信息;
发送单元,用于在接收到所述地址信息后,依次向所述源线卡发送携带有所述地址信息的获取报文请求;以及将接收到的所述组播报文进行转发。
本发明实施例还提供一种通信设备,包括源线卡和目的线卡,源线卡为上述包括存放单元、确定单元、打包单元和发送单元的线卡;目的线卡为上述包括接收单元、解包单元和发送单元的线卡。
本发明有益效果包括:
本发明实施例提供的组播报文处理方法中,源线卡将自身在一定时间段内接收到的所有组播报文,按照接收时间的先后顺序依次存放到自身的各内存缓冲区中,并确定每个组播报文的目的线卡;然后,分别将每个确定出的目的线卡对应的组播报文所在的内存缓冲区的地址信息,打包在一条地址报文中发送给确定出的对应目的线卡,在这里,每个地址报文是用于指示确定出的对应目的线卡对此地址报文进行解包,并根据解包后的地址报文中的地址信息依次向源线卡发送获取报文请求。相比现有技术,源线卡只需将每个目的线卡对应的组播报文所在的内存缓冲区的地址信息打包在一条地址报文中,发送给相应目的线卡,这样就减轻了进行组播报文传输处理时CPU的负担。
本发明实施例提供的组播报文处理方法中,目的线卡接收源线卡发送的地址报文,对接收到的地址报文进行解包,得到解包后的地址报文中的地址信息,根据任一地址信息,向源线卡发送携带该地址信息的获取报文请求;然后,接收源线卡返回的组播报文,并将接收到的组播报文进行转发,在这里,此组播报文为源线卡接收的且存放于与获取报文请求中的地址信息对应的内存缓冲区中的报文。相比现有技术,目的线卡参与了解包流程及组播报文的获取流程,而不再是仅将接收的组播报文进行转发处理,因此,在进行组播报文传输处理时提高了CPU的利用率。
本发明实施例提供的通信设备中,相比现有技术,源线卡只需将所有目的线卡对应的组播报文所在的内存缓冲区的地址信息打包在一条地址报文中,发送给这些目的线卡即可,这就减轻了源线卡CPU的负担;相应的,目的线卡并不仅仅起到转发的作用,还参与了解包流程及获取组播报文的处理流程,即对地址报文进行解包,并根据解包后的报文中的地址信息,依次从源线卡获取组播报文,这就提高了目的线卡的CPU利用率,进而提高了设备整机的性能。
附图说明
图1为基于PCIE交换的分布式通信设备的结构示意图;
图2为现有技术中跨卡转发组播报文的处理流程图;
图3为现有技术中跨卡转发组播报文时组播报文在线卡之间的传输过程示意图;
图4为本发明实施例提供的源线卡的组播报文处理方法的流程图;
图5为本发明实施例提供的目的线卡的组播报文处理方法的流程图;
图6为本发明实施例提供的跨卡转发组播报文的处理流程图;
图7为本发明实施例提供的跨卡转发组播报文时组播报文在线卡之间的传输过程示意图;
图8为本发明实施例提供的线卡的结构示意图之一;
图9为本发明实施例提供的线卡的结构示意图之二;
图10为本发明实施例提供的通信设备的结构示意图。
具体实施方式
在现有PCIE交换方式的设备内部报文传输流程中,尤其是在跨卡转发组播报文的处理流程中,源线卡往往需要进行大量的组播报文发送处理,消耗大量的CPU处理资源,导致源线卡这一侧的负担较重;另外,目的线卡仅仅是将接收到的组播报文进行转发即可,这就导致目的线卡的CPU的利用率较低,从而影响整机性能。基于上述问题,本发明实施例提供了一种组播报文处理方法、线卡及通信设备,源线卡将每个目的线卡对应的组播报文所在的内存缓冲区的地址信息打包在一条地址报文中,发送给对应的目的线卡即可,从而减轻进行组播报文传输处理时CPU的负担;相应地,目的线卡参与了解包流程及获取组播报文的处理流程,提高了其CPU的利用率,进而提高了整机的性能。
下面结合说明书附图,对本发明实施例提供的一种信息处理方法及装置的具体实施方式进行说明。
本发明实施例提供一种组播报文处理方法,应用于分布式通信设备中的源线卡,如图4所示,具体包括以下步骤:
S401:源线卡将自身在第一设定时间段内接收到的各组播报文,按照接收时间的先后顺序依次存放到自身的各内存缓冲区中,并确定每个组播报文的目的线卡;
S402:分别将每个确定出的目的线卡对应的组播报文所在的内存缓冲区的地址信息,打包在一条地址报文中发送给确定出的对应目的线卡;
在这里,上述每个地址报文主要用于指示确定出的对应目的线卡对地址报文进行解包,并根据解包后的地址报文中的地址信息依次向源线卡发送获取报文请求。
较佳地,在上述步骤S401中,上述第一设定时间段可根据组播报文传输的实际情况来确定,例如第一设定时间段为100秒,当然还可以是其他数值。
在本发明实施例中,源线卡是包括有多个内存缓冲区的,且每一个内存缓冲区对应一个地址信息,例如地址信息为内存缓冲区的地址标识。在这里,为了方便后续目的线卡获取组播报文,一个内存缓冲区仅存放一个组播报文。
假设源线卡例如线卡1在100秒内按照接收时间的先后接收了组播报文1、组播报文2、组播报文3和组播报文4;假设源线卡包括有6个内存缓冲区,即内存缓冲区A、内存缓冲区B、内存缓冲区C、内存缓冲区D、内存缓冲区E和内存缓冲区F。那么,执行上述步骤S401后,组播报文1是存放于内存缓冲区A中;组播报文2是存放于内存缓冲区B中;组播报文3是存放于内存缓冲区C中;组播报文4是存放于内存缓冲区D中。
进一步地,在上述步骤S401中,源线卡在接收到这些组播报文后,对这些组播报文进行解析,即可得到每个组播报文的目的线卡。
仍以上述组播报文1、组播报文2、组播报文3和组播报文4为例,假设对这些组播报文进行解析之后,确定出这4个组播报文的目的线卡分别为:
组播报文1的目的线卡是线卡2和线卡3;
组播报文2的目的线卡是线卡2和线卡4;
组播报文3的目的线卡是线卡3和线卡4;
组播报文4的目的线卡是线卡2、线卡3和线卡4。
也就是说,在此时间段内需要进行组播报文转发的目的线卡共有3个,即线卡2、线卡3和线卡4。
那么,在上述这种情况下,在执行上述步骤S402时,实际上是执行下述操作:
将线卡2对应的组播报文1、组播报文2和组播报文4各自所在的内存缓冲区A、内存缓冲区B和内存缓冲区D的地址信息,打包在一条地址报文中;
将线卡3对应的组播报文1、组播报文3和组播报文4各自所在的内存缓冲区A、内存缓冲区C和内存缓冲区D的地址信息,打包在一条地址报文中;
将线卡4对应的组播报文2、组播报文3和组播报文4各自所在的内存缓冲区B、内存缓冲区C和内存缓冲区D的地址信息,打包在一条地址报文中。
在执行完上述打包操作之后,线卡1将这3个地址报文,分别发送给线卡2、线卡3和线卡4。
在本发明实施例中,为了减轻源线卡的CPU负担,源线卡的CPU执行下述流程:将每个目的线卡对应的组播报文所在的内存缓冲区的地址信息,打包在一条地址报文中,然后向PCIE控制器发送相应控制指令,指示PCIE控制器将各个地址报文通过PCIE接口发送给相应目的线卡,这样,后续由目的线卡执行相应操作来主动来获取。
基于此,本发明在将每个地址报文发送给确定出的对应目的线卡后,还可执行下述流程:
源线卡根据确定出的对应目的线卡发送的携带有地址信息的获取报文请求,确定获取报文请求中的地址信息对应的内存缓冲区中的组播报文的执行流程。
需要说明的是,确定出的对应目的线卡对收到的地址报文进行解包后,得到多条地址信息,由于受各自功能的限制,这些目的线卡是根据得到的地址信息,依次向源线卡发送获取报文请求的。换言之,对于一个目的线卡而言,假设它对收到的地址报文解包后,得到n条地址信息,那么,正常情况下,此目的线卡会向源线卡发送n次携带有不同地址信息的获取报文请求。
较佳地,本发明可通过下述方式实现上述流程:
第一种方式:源线卡判断自身是否在第二设定时间段内接收到获取报文请求;在判断为是的情况下,执行将获取报文请求中的地址信息对应的内存缓冲区中的组播报文,发送至确定出的对应目的线卡的操作;在判断为否的情况下,执行将获取报文请求中的地址信息对应的内存缓冲区中的组播报文删除的操作。这种方式可避免相应目的线卡长时间不执行主动获取流程,造成源线卡侧内存缓冲区的存放压力较大,不利于组播报文的传输的问题。
第二种方式:与第一种方式的实现流程类似,与第一种方式不同的是,源线卡在判断为否的情况下,执行将相应的地址报文重新发送给确定出的对应目的线卡,以提高组播报文的处理效率。
在上述实现方式中,上述第二设定时间段也可根据组播报文传输的实际情况来确定,例如第二设定时间段为60秒,当然,还可以是其他数值。另外,在源线卡将内存缓冲区中的组播报文成功发送至相应目的线卡之后,以及成功删除组播报文之后,均执行将此内存缓冲区释放的操作,以便存放后续接收到的组播报文。
进一步地,不管采用上述哪一种方式实现,在执行上述流程时,实际上是由源线卡上设置的PCIE控制器来完成的,即PCIE控制器拦截相应目的线卡发送的获取报文请求,在拦截到的情况下,PCIE控制器执行将对应的内存缓冲区中的组播报文通过PCEI接口发送至相应的目的线卡的操作;在未拦截到的情况下,PCIE控制器执行将对应的内存缓冲区中的组播报文删除的操作。前述这种实现方式,并不像现有技术中由源线卡的CPU参与组播报文的发送,不消耗源线卡的CPU的处理资源,这就进一步减轻了源线卡的CPU负担。
当然,本发明实施例并不仅限于上述两种实现方式,还可以采用其他方式确定获取报文请求中的地址信息对应的内存缓冲区中的组播报文的执行流程,在此不再一一列举。
相应的,本发明实施例还提供一种组播报文处理方法,应用于分布式通信设备中的目的线卡,如图5所示,具体包括以下步骤:
S501:目的线卡接收源线卡发送的地址报文,对接收到的地址报文进行解包,得到解包后的地址报文中的地址信息,并依次向源线卡发送携带有地址信息的获取报文请求;
S502:接收源线卡返回的组播报文,并将接收到的组播报文进行转发;
在这里,上述组播报文实际上指的是源线卡接收的且存放于与获取报文请求中的地址信息对应的内存缓冲区中的报文。
下面结合下述实施例对本发明提供的组播报文处理进行详细说明。
仍以图1所示结构的分布式通信设备为例,假设线卡1在一定时间段内通过接口1/0共接收到报文1、报文2和报文3,报文1需要分别通过线卡2的接口2/0和线卡3的接口3/0进行转发;报文2需要分别通过线卡2的接口2/0和线卡n的接口n/0进行转发;报文3需要分别通过线卡3的接口3/0和线卡n的接口n/0进行转发,在这里,线卡1为源线卡,线卡2、线卡3和线卡n为目的线卡,以转发报文1为例,对跨卡转发组播报文的处理流程进行说明,如图6所示,具体包括下述步骤:
S601:线卡1通过接口1/0接收报文1、报文2和报文3,并将其存放在线卡1的内存缓冲区buffer1、buffer2和buffer3中;
S602:线卡1分别对报文1、报文2和报文3进行解析处理,根据三者携带的目的地址,确定出三者是组播报文,并根据三者的目的地址,查找出三者的目的接口,进而确定需要接收这三者的目的线卡;
例如,报文1的目的接口为线卡2的2/0和线卡3的3/0;报文2的目的接口为线卡2的2/0和线卡n的n/0;报文3的目的接口为线卡3的3/0和线卡n的n/0,相应的,报文1的目的线卡是线卡2和线卡3;报文2和目的线卡是线卡2和线卡n;报文3的目的线卡是线卡3和线卡n;
S603、线卡1将buffer1和buffer2的地址信息打包在一条地址报文1中,将buffer1和buffer3的地址信息打包在一条地址报文2中,将buffer2和buffer3的地址信息打包在一条地址报文3中,并分别将地址报文1、地址报文2和地址报文3通过PCIE接口发送给线卡2、线卡3和线卡n;
S604、线卡2通过PCIE接口接收地址报文1,对地址报文1进行解包,得到buffer1的地址信息,并通过PCIE接口向线卡1发送携带有此地址信息的获取报文请求;
S605:线卡2将从线卡1获取到报文1,通过与此报文的目的地址对应的通信接口进行转发,即通过接口2/0进行转发;
S606:线卡3通过PCIE接口接收地址报文2,对地址报文2进行解包,得到buffer1的地址信息,并通过PCIE接口向线卡1发送携带有此地址信息的获取报文请求;
S607:线卡3将从线卡1获取到的报文1,通过与此报文的目的地址对应的通信接口进行转发,即通过接口3/0进行转发。
需要说明的是,在上述处理流程中,由于线卡2和线卡3接收地址报文的时间不同,在上述步骤S203之后,可能先执行步骤S604-S605,也可能先执行步骤S606-S607。因此,上述步骤S604-S605和步骤S606-S607之间并没有执行顺序之分。
在采用上述图6所示的组播报文的处理流程,处理跨卡组播报文传输时,如图7所示,组播报文在从接口1/0进入线卡1后,线卡1将其存在内存缓冲区中,对其进行相应处理后,将内存缓冲区的地址信息携带在线卡2、线卡3和线卡n对应的地址报文中,通过PCIE接口发送给这些目的线卡;再由线卡2、线卡3和线卡n对各自收到的地址报文进行解包处理后,根据解包后的地址报文中的此地址信息,分别通过PCIE接口从线卡1的内存缓冲区获取此组播报文,最后由线卡2、线卡3和线卡n实现组播报文的转发,从而实现了组播报文从源线卡到其它各目的线卡之间的跨卡组播报文的传输。
如果按照图3所示的现有组播报文处理方式,在一定的时间段内使用11张线卡处理组播报文,假设处理1000个组播报文,每个组播报文均对应10个目的线卡,在这种情况下,线卡1的CPU需要向PCIE控制器发送10000个控制指令,指示PCIE控制器发送10000个组播报文。而按照本发明图7所示的组播报文处理方式,线卡1的CPU只需向PCIE控制器发送10个控制指令,指示PCIE控制器将这10个地址报文发送给相应目的线卡,这样一来,线卡1的CPU利用率降低了99.9%。
由此可见,相比现有技术,源线卡只需将每个目的线卡对应的组播报文所在的内存缓冲区的地址信息打包在一条地址报文中,发送给相应目的线卡,从而减轻源线卡的CPU负担,且目的线卡参与了组播报文在通信设备内部的各目的线卡之间的传输处理,从而提高了目的线卡的CPU利用率,进而实现了在源线卡和目的线卡之间,对该组播报文的传输处理操作的均衡,进而避免了因源线卡的性能下降而导致设备整机的整体性能下降,即提高了在进行组播报文传输处理时设备整机的性能。
基于同一发明构思,本发明实施例还提供了一种线卡及通信设备,由于这些产品及设备所解决问题的原理与前述组播报文处理方法相似,因此这些产品及设备的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例提供了一种线卡,如图8所示,具体包括:
存放单元801,用于将在第一设定时间段内接收到的各组播报文,按照接收时间的先后顺序依次存放到自身的各内存缓冲区中;
确定单元802,用于确定每个组播报文的目的线卡;
打包单元803,用于分别将每个确定出的目的线卡对应的组播报文所在的内存缓冲区的地址信息,打包在一条地址报文中;
发送单元804,用于将每个地址报文发送给确定出的对应目的线卡;
在这里,上述地址报文用于指示确定出的对应目的线卡对地址报文进行解包,并根据解包后的地址报文中的地址信息依次向源线卡发送获取报文请求。
较佳地,上述确定单元802,还用于在将每个地址报文发送给确定出的对应目的线卡后,根据确定出的对应目的线卡发送的携带有地址信息的获取报文请求,确定获取报文请求中的地址信息对应的内存缓冲区中的组播报文的执行流程。
较佳地,上述确定单元802,具体用于判断线卡是否在第二设定时间段内接收到获取报文请求;在判断为是时,执行将获取报文请求中的地址信息对应的内存缓冲区中的组播报文,发送至确定出的对应目的线卡的操作;以及在判断为否时,执行将获取报文请求中的地址信息对应的内存缓冲区中的组播报文删除的操作。
本发明实施例提供了一种线卡,如图9所示,具体包括:
接收单元901,用于接收源线卡发送的地址报文;以及接收源线卡返回的组播报文;
在这里,上述组播报文为源线卡接收的且存放于与获取报文请求中的地址信息对应的内存缓冲区中的报文;
解包单元902,用于对地址报文进行解包,得到解包后的地址报文中的地址信息;
发送单元903,用于依次向源线卡发送携带有地址信息的获取报文请求;以及将接收到的组播报文进行转发。
本发明实施例提供了一种通信设备,如图10所示,具体包括源线卡1001和目的线卡1002,源线卡1001可以为上述图8所示的线卡,目的线卡1002可以为上述图9所示的线卡。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种组播报文处理方法,其特征在于,包括:
源线卡将自身在第一设定时间段内接收到的各组播报文,按照接收时间的先后顺序依次存放到自身的各内存缓冲区中,并确定每个组播报文的目的线卡;
分别将每个确定出的目的线卡对应的组播报文所在的内存缓冲区的地址信息,打包在一条地址报文中发送给确定出的对应目的线卡,每个地址报文用于指示确定出的对应目的线卡对该地址报文进行解包,并根据解包后的地址报文中的地址信息依次向源线卡发送获取报文请求;
源线卡在将每个地址报文发送给确定出的对应目的线卡后,还包括:
源线卡根据确定出的对应目的线卡发送的携带有地址信息的获取报文请求,确定所述获取报文请求中的地址信息对应的内存缓冲区中的组播报文的执行流程。
2.如权利要求1所述的方法,其特征在于,通过下述方式确定所述获取报文请求中的地址信息对应的内存缓冲区中的组播报文的执行流程:
源线卡判断自身是否在第二设定时间段内接收到所述获取报文请求;
若是,执行将所述获取报文请求中的地址信息对应的内存缓冲区中的组播报文,发送至确定出的对应目的线卡的操作;
否则,执行将所述获取报文请求中的地址信息对应的内存缓冲区中的组播报文删除的操作。
3.如权利要求2所述的方法,其特征在于,源线卡通过自身设置的增强的外部组件互联标准PCIE控制器判断是否在所述第二设定时间段内接收到所述获取报文请求,并在所述PCIE控制器判断为是时,执行将所述获取报文请求中的地址信息对应的内存缓冲区中的组播报文,发送至确定出的对应目的线卡的操作;在所述PCIE控制器判断为否时,执行将所述获取报文请求中的地址信息对应的内存缓冲区中的组播报文删除的操作。
4.一种组播报文处理方法,其特征在于,包括:
目的线卡接收源线卡发送的地址报文,对接收到的地址报文进行解包,得到解包后的地址报文中的地址信息,并依次向所述源线卡发送携带有所述地址信息的获取报文请求;
接收所述源线卡返回的组播报文,并将接收到的组播报文进行转发,所述组播报文为所述源线卡接收的且存放于与所述获取报文请求中的地址信息对应的内存缓冲区中的报文。
5.一种线卡,其特征在于,包括:
存放单元,用于将在第一设定时间段内接收到的各组播报文,按照接收时间的先后顺序依次存放到自身的各内存缓冲区中;
确定单元,用于确定每个组播报文的目的线卡;
打包单元,用于分别将每个确定出的目的线卡对应的组播报文所在的内存缓冲区的地址信息,打包在一条地址报文中;
发送单元,用于将每个地址报文发送给确定出的对应目的线卡,所述地址报文用于指示确定出的对应目的线卡对所述地址报文进行解包,并根据解包后的地址报文中的地址信息依次向源线卡发送获取报文请求;
所述确定单元,还用于在将每个地址报文发送给确定出的对应目的线卡后,根据确定出的对应目的线卡发送的携带有地址信息的获取报文请求,确定所述获取报文请求中的地址信息对应的内存缓冲区中的组播报文的执行流程。
6.如权利要求5所述的线卡,其特征在于,所述确定单元,具体用于判断所述线卡是否在第二设定时间段内接收到所述获取报文请求;在判断为是时,执行将所述获取报文请求中的地址信息对应的内存缓冲区中的组播报文,发送至确定出的对应目的线卡的操作;以及在判断为否时,执行将所述获取报文请求中的地址信息对应的内存缓冲区中的组播报文删除的操作。
7.一种线卡,其特征在于,包括:
接收单元,用于接收源线卡发送的地址报文;
解包单元,用于对所述地址报文进行解包,得到解包后的地址报文中的地址信息;
发送单元,用于依次向所述源线卡发送携带有所述地址信息的获取报文请求;
接收单元,还用于接收所述源线卡返回的组播报文,所述组播报文为所述源线卡接收的且存放于与所述获取报文请求中的地址信息对应的内存缓冲区中的报文;
所述发送单元,还用于将接收到的所述组播报文进行转发。
8.一种通信设备,其特征在于,包括:如权利要求5-6中任一所述的线卡和如权利要求7所述的线卡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310274312.7A CN103312614B (zh) | 2013-07-02 | 2013-07-02 | 一种组播报文处理方法、线卡及通信设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310274312.7A CN103312614B (zh) | 2013-07-02 | 2013-07-02 | 一种组播报文处理方法、线卡及通信设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103312614A CN103312614A (zh) | 2013-09-18 |
CN103312614B true CN103312614B (zh) | 2016-08-24 |
Family
ID=49137413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310274312.7A Active CN103312614B (zh) | 2013-07-02 | 2013-07-02 | 一种组播报文处理方法、线卡及通信设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103312614B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468398A (zh) * | 2014-11-11 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 路由信息快速写入交换芯片的方法 |
CN106302232A (zh) * | 2015-05-25 | 2017-01-04 | 深圳市中兴微电子技术有限公司 | 一种缓存管理方法及本端设备 |
CN108768866B (zh) * | 2018-09-06 | 2021-08-03 | 迈普通信技术股份有限公司 | 组播报文跨卡转发方法、装置、网络设备及可读存储介质 |
CN113271266B (zh) * | 2021-04-21 | 2024-03-22 | 锐捷网络股份有限公司 | 异构交换芯片的报文转发方法及设备 |
CN113645120A (zh) * | 2021-10-15 | 2021-11-12 | 中兴通讯股份有限公司 | 报文处理方法、线卡、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009692A (zh) * | 2006-01-25 | 2007-08-01 | 中兴通讯股份有限公司 | 硬件地址解析方法及通信处理设备及报文处理方法 |
CN102111320A (zh) * | 2010-12-29 | 2011-06-29 | 武汉烽火网络有限责任公司 | 分布式系统中控制平面数据交互的方法 |
CN102299857A (zh) * | 2011-09-15 | 2011-12-28 | 福建星网锐捷网络有限公司 | 一种组播报文处理方法、线卡及通信设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7145904B2 (en) * | 2002-01-03 | 2006-12-05 | Integrated Device Technology, Inc. | Switch queue predictive protocol (SQPP) based packet switching technique |
-
2013
- 2013-07-02 CN CN201310274312.7A patent/CN103312614B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009692A (zh) * | 2006-01-25 | 2007-08-01 | 中兴通讯股份有限公司 | 硬件地址解析方法及通信处理设备及报文处理方法 |
CN102111320A (zh) * | 2010-12-29 | 2011-06-29 | 武汉烽火网络有限责任公司 | 分布式系统中控制平面数据交互的方法 |
CN102299857A (zh) * | 2011-09-15 | 2011-12-28 | 福建星网锐捷网络有限公司 | 一种组播报文处理方法、线卡及通信设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103312614A (zh) | 2013-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103312614B (zh) | 一种组播报文处理方法、线卡及通信设备 | |
CN108400880B (zh) | 片上网络、数据传输方法和第一交换节点 | |
WO2006019512B1 (en) | Apparatus and method for supporting connection establishment in an offload of network protocol processing | |
CN103902486B (zh) | 一种远端直接内存访问实现方法、装置及系统 | |
CN108595353A (zh) | 一种基于PCIe总线的控制数据传输的方法及装置 | |
CN106980582B (zh) | 数据处理方法和装置 | |
CN101262501B (zh) | 一种多核系统中的核间通信方法和一种多核系统 | |
CN104796337A (zh) | 一种转发报文的方法及装置 | |
CN101616083A (zh) | 一种报文转发方法和装置 | |
CN103595627A (zh) | 基于多播维序路由算法的NoC路由器及其路由算法 | |
CN102035688B (zh) | 一种快速控制网络链路访问设计方法 | |
CN101488922A (zh) | 具备自适应路由能力的片上网络路由器及其实现方法 | |
CN103607360B (zh) | 一种报文处理方法、线卡及交换设备 | |
US10007625B2 (en) | Resource allocation by virtual channel management and bus multiplexing | |
CN103414801A (zh) | 一种堆叠系统中媒质访问控制地址同步的方法和设备 | |
CN107949014A (zh) | 数据传输方法、装置、系统及移动终端 | |
CN101252531A (zh) | 一种实现负载分担和主备倒换的方法、系统及设备 | |
CN102984035A (zh) | 网络数据丢包率的环回测试方法及系统 | |
JP7046983B2 (ja) | パケット伝送方法及び装置 | |
CN114647602A (zh) | 一种跨芯片访问控制的方法、装置、设备及介质 | |
CN105530157B (zh) | Afdx网络交换机多个虚拟链路共享信用的架构及方法 | |
CN106372013B (zh) | 远程内存访问方法、装置和系统 | |
CN100401718C (zh) | 一种数据帧组播复制的方法及系统 | |
CN102299857B (zh) | 一种组播报文处理方法、线卡及通信设备 | |
CN103763204A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee after: RUIJIE NETWORKS Co.,Ltd. Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee before: Beijing Star-Net Ruijie Networks Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |