CN109617821B - 一种组播报文的传输方法、主控板及设备 - Google Patents

一种组播报文的传输方法、主控板及设备 Download PDF

Info

Publication number
CN109617821B
CN109617821B CN201910026828.7A CN201910026828A CN109617821B CN 109617821 B CN109617821 B CN 109617821B CN 201910026828 A CN201910026828 A CN 201910026828A CN 109617821 B CN109617821 B CN 109617821B
Authority
CN
China
Prior art keywords
multicast group
data item
linked list
multicast
group identifier
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
Application number
CN201910026828.7A
Other languages
English (en)
Other versions
CN109617821A (zh
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.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201910026828.7A priority Critical patent/CN109617821B/zh
Publication of CN109617821A publication Critical patent/CN109617821A/zh
Application granted granted Critical
Publication of CN109617821B publication Critical patent/CN109617821B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种组播报文的传输方法、主控板及设备,该方法包括:获取组播组标识、所述组播组标识对应的出接口;确定所述出接口所在的交换芯片的位置信息;向网板发送所述组播组标识与所述位置信息的映射关系,以使所述网板通过组播报文对应的组播组标识查询所述映射关系,得到与所述组播组标识对应的位置信息,并将所述组播报文发送给所述位置信息对应的交换芯片。通过本申请的技术方案,可以避免网板与交换芯片之间带宽资源的浪费,能够实现组播报文的精确转发,节约板间带宽资源。

Description

一种组播报文的传输方法、主控板及设备
技术领域
本申请涉及通信技术领域,尤其是涉及一种组播报文的传输方法、主控板及设备。
背景技术
网络设备(如路由器、交换机等)通常是分布式设备,即网络设备可以包括主控板、网板和多个接口板,每个接口板包括多个交换芯片。其中,主控板用于生成组播转发表,并将组播转发表下发给交换芯片,交换芯片用于根据组播转发表转发报文。网板用于连接所有交换芯片,并中转交换芯片之间的报文。
交换芯片收到组播报文后,将组播报文发送给网板。网板接收到组播报文后,采用广播方式将组播报文发送给所有交换芯片。每个交换芯片接收到组播报文后,通过组播报文对应的组播组标识查询组播转发表,得到与组播组标识对应的出接口;若本交换芯片存在与组播组标识对应的出接口,通过出接口发送组播报文;若本交换芯片不存在与组播组标识对应的出接口,丢弃组播报文。
显然,若交换芯片不存在与组播组标识对应的出接口,则网板发送给该交换芯片的组播报文就是无效报文,造成网板与交换芯片之间带宽资源的浪费。
发明内容
本申请提供一种组播报文的传输方法,所述方法应用于网络设备中的主控板,所述网络设备还包括网板和多个交换芯片,所述方法包括:
获取组播组标识、所述组播组标识对应的出接口;
确定所述出接口所在的交换芯片的位置信息;
向所述网板发送所述组播组标识与所述位置信息的映射关系,以使所述网板通过组播报文对应的组播组标识查询所述映射关系,得到与所述组播组标识对应的位置信息,并将所述组播报文发送给所述位置信息对应的交换芯片。
本申请提供一种主控板,所述主控板包括:
获取模块,用于获取组播组标识、所述组播组标识对应的出接口;
确定模块,用于确定所述出接口所在的交换芯片的位置信息;
发送模块,用于向网板发送所述组播组标识与所述位置信息的映射关系,以使网板通过组播报文对应的组播组标识查询所述映射关系,得到与所述组播组标识对应的位置信息,将所述组播报文发送给所述位置信息对应的交换芯片。
本申请提供一种网络设备,包括主控板、网板和多个交换芯片;
所述主控板,用于获取组播组标识、所述组播组标识对应的出接口;确定所述出接口所在的交换芯片的位置信息;向所述网板发送所述组播组标识与所述位置信息的映射关系;
所述网板,用于通过组播报文对应的组播组标识查询所述映射关系,得到与所述组播组标识对应的位置信息,并将所述组播报文发送给所述位置信息对应的交换芯片;
所述交换芯片,用于在接收到所述组播报文后,转发所述组播报文。
基于上述技术方案,本申请实施例中,网板可以将组播报文发送给存在有效出接口的交换芯片,而不用将组播报文发送给不存在有效出接口的交换芯片,交换芯片在接收到组播报文时,本交换芯片存在与该组播报文对应的组播组标识对应的出接口,并通过出接口发送组播报文,也就是说,交换芯片不会接收到无效的组播报文,避免网板与交换芯片之间带宽资源的浪费,能够实现组播报文的精确转发,节约板间带宽资源,有效的提高板间组播报文的传输效率。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是本申请一种实施方式中的应用场景示意图;
图2是本申请一种实施方式中的组播报文的传输方法的流程图;
图3是本申请另一种实施方式中的组播报文的传输方法的流程图;
图4是本申请一种实施方式中的主控板的结构示意图;
图5是本申请一种实施方式中的网络设备的硬件结构图。
具体实施方式
在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例提出一种组播报文的传输方法,可以应用于网络设备(如路由器、交换机等),该网络设备可以是分布式设备。例如,网络设备包括主控板、网板(也可以称为交换网板)和多个接口板,每个接口板包括多个交换芯片(也可以称为FAP(Fabric AccessProcessors,网片访问处理器)芯片)。
参见图1所示,为本申请实施例的应用场景示意图,网络设备包括主控板 11、网板12、接口板13和接口板14,图1中以2个接口板为例,接口板的数量可以更多,对此不做限制。接口板13包括交换芯片131、交换芯片132和交换芯片133,接口板14包括交换芯片141、交换芯片142和交换芯片143,图1 中以接口板包括3个交换芯片为例,交换芯片的数量可以更多,对此不做限制。
在一个例子中,网板12接收到组播报文后,可以将组播报文发送给交换芯片131、交换芯片132、交换芯片133、交换芯片141、交换芯片142和交换芯片143。交换芯片131接收到组播报文后,通过组播报文对应的组播组标识查询组播转发表,得到与组播组标识对应的出接口;若交换芯片131不存在与组播组标识对应的出接口,则丢弃组播报文;若交换芯片131存在与组播组标识对应的出接口,则通过该出接口转发组播报文。显然,若交换芯片131不存在与组播组标识对应的出接口,则网板12发送给交换芯片131的组播报文是无效报文,造成带宽资源的浪费。其它交换芯片的处理过程类似,在此不再赘述。
针对上述发现,本申请实施例中,网板12只向存在有效出接口的交换芯片发送组播报文,从而避免带宽资源的浪费。例如,若交换芯片132和交换芯片 142存在与组播组标识对应的出接口,则网板12可以将组播报文发送给交换芯片132和交换芯片142,而不再发送给交换芯片131、交换芯片133、交换芯片 141和交换芯片143。这样,交换芯片132和交换芯片142在接收到组播报文后,可以通过出接口转发组播报文。显然,上述方式不会造成带宽资源的浪费。
以下结合具体实施例,对组播报文的传输方法进行说明,参见图2所示,为组播报文的传输方法的流程示意图,该方法可以包括以下步骤:
步骤201,主控板获取组播组标识、与该组播组标识对应的出接口。
步骤202,主控板确定该出接口所在的交换芯片的位置信息。
在一个例子中,主控板11可以维护组播转发表,该组播转发表的每个组播表项可以包括:组播组标识、出接口、VLAN(Virtual Local Area Network,虚拟局域网)等内容,对此组播表项的内容不做限制。基于此,当组播转发表中的组播表项发生变化(如组播转发表中增加新的组播表项,或者,组播转发表中已有的组播表项变化)时,主控板11可以从该组播表项中获取组播组标识、与该组播组标识对应的出接口(即组播出接口,出接口的数量可以为多个)。
例如,若组播转发表中增加新的组播表项A(如基于组播协议学习到组播表项A,并将组播表项A添加到主控板的组播转发表中,对此不做限制)时,主控板可以从组播表项A中获取组播组标识、与该组播组标识对应的出接口。
又例如,若对组播转发表中的组播表项B的出接口进行修改(如基于组播协议对组播表项B的出接口进行修改,对此不做限制),主控板可以从组播表项B中获取组播组标识、与该组播组标识对应的出接口(即修改后的出接口)。
为了方便描述,本申请实施例中,以主控板11从组播表项中获取组播组标识A、与组播组标识A对应的出接口A和出接口B为例进行说明,基于此,主控板11可以确定出接口A所在的交换芯片的位置信息、出接口B所在的交换芯片的位置信息。假设出接口A位于交换芯片131、出接口B位于交换芯片141,则位置信息可以包括交换芯片131的位置信息、交换芯片141的位置信息。
其中,上述位置信息可以包括:交换芯片的槽位标识;和/或,交换芯片的芯片标识,对此不做限制,只要通过位置信息可以唯一确定交换芯片即可。
例如,若网络设备的每个交换芯片均具有唯一的芯片标识,即不同交换芯片的芯片标识不同,则位置信息可以为交换芯片的芯片标识,也就是说,可以基于交换芯片的芯片标识,确定与该芯片标识对应的交换芯片。
又例如,若网络设备的每个接口板***到机柜的一个槽位,且每个接口板只部署一个交换芯片,则每个交换芯片均对应唯一的槽位标识,即该交换芯片所在的接口板的槽位标识,基于此,位置信息可以为交换芯片的槽位标识,也就是说,可以基于交换芯片的槽位标识,确定与该槽位标识对应的交换芯片。
又例如,若网络设备的每个接口板***到机柜的一个槽位,且每个接口板可以部署多个交换芯片,则位置信息可以为交换芯片的槽位标识和芯片标识,也就是说,可以基于交换芯片的槽位标识和芯片标识,确定唯一的交换芯片。
以位置信息为交换芯片的槽位标识和芯片标识为例,对上述过程进行说明。
假设接口板13***到机柜的第一个槽位,则部署在接口板13的交换芯片 131、交换芯片132、交换芯片133,这些交换芯片的槽位标识均是槽位1。假设接口板14***到机柜的第二个槽位,则部署在接口板14的交换芯片141、交换芯片142、交换芯片143,这些交换芯片的槽位标识均是槽位2。
交换芯片131的芯片标识是芯片1,表示部署在槽位1的第一个交换芯片;交换芯片132的芯片标识是芯片2,表示部署在槽位1的第二个交换芯片;交换芯片133的芯片标识是芯片3,表示部署在槽位1的第三个交换芯片;交换芯片 141的芯片标识是芯片1,表示部署在槽位2的第一个交换芯片,以此类推。
综上所述,主控板11可以获取到组播组标识A、交换芯片131的位置信息 (即槽位1+芯片1)、交换芯片141的位置信息(即槽位2+芯片1)。
步骤203,主控板向网板发送该组播组标识与该位置信息的映射关系,以使网板通过组播报文对应的组播组标识查询所述映射关系,得到与该组播组标识对应的位置信息,并将组播报文发送给该位置信息对应的交换芯片。
具体的,主控板向网板发送该组播组标识与该位置信息的映射关系后,网板可以接收该映射关系,并存储该映射关系。网板接收到组播报文后,通过组播报文对应的组播组标识查询该映射关系(即本地存储的映射关系),得到与该组播组标识对应的位置信息,将组播报文发送给该位置信息对应的交换芯片。
例如,主控板11将组播组标识A、位置信息(槽位1+芯片1)、位置信息 (槽位2+芯片1)的映射关系发送给网板12,网板12存储组播组标识A、位置信息(槽位1+芯片1)、位置信息(槽位2+芯片1)的映射关系,如表1所示。
表1
Figure BDA0001942793970000061
网板12在接收到组播报文后,假设组播报文对应的组播组标识是组播组标识A,则可以通过组播组标识A查询表1所示的映射关系,得到位置信息(槽位1+芯片1)和位置信息(槽位2+芯片1)。然后,网板12可以将该组播报文发送给(槽位1+芯片1)对应的交换芯片,即部署在槽位1的第一个交换芯片,如交换芯片131。此外,网板12还可以将该组播报文发送给(槽位2+芯片1) 对应的交换芯片,即部署在槽位2的第一个交换芯片,如交换芯片141。
交换芯片131在接收到组播报文后,通过组播报文对应的组播组标识查询组播转发表,得到与该组播组标识对应的出接口。由于交换芯片131存在与该组播组标识对应的出接口,因此,交换芯片131通过该出接口转发组播报文。
交换芯片141在接收到组播报文后,通过组播报文对应的组播组标识查询组播转发表,得到与该组播组标识对应的出接口。由于交换芯片141存在与该组播组标识对应的出接口,因此,交换芯片141通过该出接口转发组播报文。
在一个例子中,组播报文通常可以携带组播IP地址,基于此,网板12通过该组播报文对应的组播组标识查询所述映射关系,得到与该组播组标识对应的位置信息,可以包括:网板12可以将该组播报文携带的组播IP地址转换为组播组标识,对此转换过程不做限制,然后,网板12可以通过转换后的组播组标识查询所述映射关系,得到与该组播组标识对应的位置信息。
基于上述技术方案,本申请实施例中,网板可以将组播报文发送给存在有效出接口的交换芯片,而不用将组播报文发送给不存在有效出接口的交换芯片,交换芯片接收到组播报文时,本交换芯片存在与该组播报文对应的组播组标识对应的出接口,并通过出接口发送组播报文,即,交换芯片不会接收到无效的组播报文,避免网板与交换芯片之间带宽资源的浪费,能够实现组播报文的精确转发,节约板间带宽资源,有效的提高板间组播报文的传输效率。
在一个例子中,针对组播转发表中的每个组播表项,该组播表项可以包括多个出接口,当有出接口加入或者离开时,就可能导致映射关系(如组播组标识与位置信息的映射关系)发生变化。若映射关系每次发生变化时,均将变化后的映射关系发送给网板,则映射关系的发送效率较低,例如,当组播表项的出接口频繁变化时,主控板需要频繁的将变化后的映射关系发送给网板。
针对上述发现,本实施例中,主控板可以忽略中间的映射关系,并将靠后的映射关系发送给网板,从而减少不必要的板间信息同步,实现映射关系的合并,减少信息同步次数,提高发送效率。例如,主控板获取到组播组标识A与位置信息1的映射关系1后,未将映射关系1发送给网板,在后续过程中,假设主控板获取到组播组标识A与位置信息2的映射关系2,则将映射关系2发送给网板,这样,可以不再将映射关系1发送给网板,从而减少信息同步次数。
为了实现上述发送方式,则本申请实施例中,可以采用如下方式:
主控板可以维护组播组数组和组播组链表,参见表2所示,为组播组数组的示例,该组播组数组用于记录组播组标识与位置信息的映射关系。参见表3 所示,为组播组链表的示例,该组播组链表用于记录需要同步的组播组标识。
其中,初始状态的组播组数组为空,假设当前状态的组播组数组如表2所示;初始状态的组播组链表为空,假设当前状态的组播组链表如表3所示。
表2
Figure BDA0001942793970000081
表3
前趋指针:固定地址1;后趋指针:组播组标识B;当前指针:组播组标识A
前趋指针:组播组标识A;后趋指针:组播组标识C;当前指针:组播组标识B
前趋指针:组播组标识B;后趋指针:固定地址2;当前指针:组播组标识C
进一步的,基于上述组播组数组和组播组链表,则本申请实施例中提出的组播报文的传输方法,其流程图可以参见图3所示,该方法可以包括:
步骤301,主控板获取组播组标识、与该组播组标识对应的出接口。
步骤302,主控板确定该出接口所在的交换芯片的位置信息。
其中,步骤301和步骤302可以参见步骤201和步骤202,在此不再赘述。
步骤303,主控板在组播组数组中记录组播组标识与位置信息的映射关系。
具体的,在获取到组播组标识和位置信息之后,若组播组数组中已经存在该组播组标识,则主控板可以使用该组播组标识对应的位置信息替换组播组数组中的位置信息。或者,若组播组数组中不存在该组播组标识,则主控板可以在组播组数组中添加该组播组标识与该位置信息的映射关系。
例如,若得到组播组标识A、位置信息(槽位1+芯片1)、位置信息(槽位2+芯片1)的映射关系,由于表2所示的组播组数组中已经存在组播组标识A,因此,主控板11使用位置信息(槽位1+芯片1)和位置信息(槽位2+芯片1) 替换组播组数组中的位置信息,参见表4所示,为替换后的组播组数组。
表4
Figure BDA0001942793970000091
步骤304,主控板将该组播组标识对应的数据项添加到组播组链表。
具体的,主控板判断组播组链表是否存在该组播组标识对应的数据项;如果是,则将该组播组标识对应的数据项移动到组播组链表的尾部;如果否,则创建该组播组标识对应的数据项,并将创建的数据项添加到该组播组链表的尾部。其中,该数据项可以包括但不限于当前数据项的组播组标识、该数据项对应的前一个数据项的组播组标识、该数据项对应的后一个数据项的组播组标识。
例如,若组播组标识是组播组标识A,由于表3所示的组播组链表中存在组播组标识A对应的数据项,因此,主控板11将组播组标识A对应的数据项移动到组播组链表的尾部,并适应性修改其它数据项,参见表5所示。或者,若组播组标识是组播组标识D,由于表3所示的组播组链表中不存在组播组标识D对应的数据项,因此,主控板11创建组播组标识D对应的数据项,并将该数据项添加到组播组链表的尾部,并适应性修改其它数据项,参见表6所示。
表5
前趋指针:固定地址1;后趋指针:组播组标识C;当前指针:组播组标识B
前趋指针:组播组标识B;后趋指针:组播组标识A;当前指针:组播组标识C
前趋指针:组播组标识C;后趋指针:固定地址2;当前指针:组播组标识A
表6
前趋指针:固定地址1;后趋指针:组播组标识B;当前指针:组播组标识A
前趋指针:组播组标识A;后趋指针:组播组标识C;当前指针:组播组标识B
前趋指针:组播组标识B;后趋指针:组播组标识D;当前指针:组播组标识C
前趋指针:组播组标识C;后趋指针:固定地址2;当前指针:组播组标识D
参见表5所示,针对第一个数据项,当前指针指向组播组标识B,表示当前数据项的组播组标识是组播组标识B;前趋指针指向固定地址1,而固定地址1 是组播组链表的首地址(即表头),表示当前数据项是组播组链表的第一个数据项;后趋指针指向组播组标识C,表示当前数据项的后一个数据项的组播组标识是组播组标识C。针对第二个数据项,当前指针指向组播组标识C,表示当前数据项的组播组标识是组播组标识C;前趋指针指向组播组标识B,表示当前数据项的前一个数据项的组播组标识是组播组标识B;后趋指针指向组播组标识 A,表示当前数据项的后一个数据项的组播组标识是组播组标识A。针对第三个数据项,当前指针指向组播组标识A,表示当前数据项的组播组标识是组播组标识A;前趋指针指向组播组标识C,表示当前数据项的前一个数据项的组播组标识是组播组标识C;后趋指针指向固定地址2,而固定地址2是组播组链表的尾地址(即表尾),表示当前数据项是组播组链表的最后一个数据项。
此外,表6中各数据项的含义与表5中各数据项的类似,在此不再赘述。
在上述实施例中,固定地址1是组播组链表的首地址,固定地址2是组播组链表的尾地址,而固定地址1和固定地址2可以是两个地址。在另一个例子中,为了形成一个环,则固定地址1和固定地址2可以是同一个地址。
步骤305,主控板依次遍历组播组链表中的每个数据项;针对当前遍历的数据项,通过该数据项包括的组播组标识查询组播组数组,得到与该组播组标识对应的位置信息,并将该组播组标识与该位置信息的映射关系发送给网板。
其中,主控板依次遍历组播组链表中的每个数据项,可以包括但不限于:主控板从组播组链表的头部开始,依次遍历组播组链表中的每个数据项。
其中,主控板依次遍历组播组链表中的每个数据项之后,还可以包括:针对当前遍历的数据项,主控板还可以从组播组链表中删除该数据项。
例如,参见表5所示,主控板11从组播组链表的头部开始,遍历组播组链表的第一个数据项,即当前指针指向组播组标识B的数据项,通过该数据项包括的组播组标识B查询表4所示的组播组数组,得到位置信息(槽位1+芯片1) 和位置信息(槽位2+芯片2),并将组播组标识B与位置信息(槽位1+芯片1) 和位置信息(槽位2+芯片2)的映射关系发送给网板12。然后,主控板11从组播组链表中删除第一个数据项,并修改其它数据项的内容,参见表7所示。
表7
前趋指针:固定地址1;后趋指针:组播组标识A;当前指针:组播组标识C
前趋指针:组播组标识C;后趋指针:固定地址2;当前指针:组播组标识A
进一步的,在下一个处理周期,主控板11仍然可以从组播组链表的头部开始,遍历组播组链表的第一个数据项,即当前指针指向组播组标识C的数据项,其处理流程与组播组标识B的数据项的处理流程类似,在此不再重复赘述。
其中,当组播转发表发生变化(如组播表项的出接口发生变化,或者,增加组播表项等)时,则可以执行步骤301-步骤304,这样,主控板可以将最新的映射关系记录到组播组数组,并将该映射关系的组播组标识同步到组播组链表。
其中,在满足预设条件时,可以执行步骤305。例如,每隔一段时间,则可以启动一个任务R,并通过任务R执行步骤305;或者,当主控板空闲时,则可以启动任务R,并通过任务R执行步骤305;或者,主控板将组播组标识对应的数据项添加到组播组链表后,则可以启动任务R,并通过任务R执行步骤305。当然,上述只是预设条件的几个示例,对此预设条件不做限制。
其中,在启动任务R后,这个任务R用于处理组播组链表的N个数据项,也就是说,任务R采用步骤305的方式,从组播组链表的表头开始,处理组播组链表的前N个数据项。进一步的,N的取值可以根据经验配置,如5个等,也就是说,任务R处理组播组链表的5个数据项后,停止任务R。N的取值也可以与实际业务有关,例如,在启动任务R后,通过任务R处理组播组链表的数据项,一旦组播转发表发生变化,则停止任务R,执行上述步骤301-步骤304,在下次满足预设条件时,才重新启动任务R,继续处理组播组链表的数据项。
综上所述,当组播组标识A对应的位置信息发生变化时,可以将组播组标识A与变化后的位置信息记录到组播组数组,并将组播组标识A的数据项添加到组播组链表的尾部,这样,若组播组标识A对应的位置信息频繁发生变化,则位置信息每次发生变化时,就将组播组标识A的数据项添加到组播组链表的尾部,但是并不同步组播组标识A的映射关系,即使组播组标识A在组播组数组中的位置信息被不断更新,也不会多次同步组播组标识A的映射关系,只有组播组标识A的数据项成为组播组链表的首个数据项时,才会同步组播组标识A的映射关系,从而实现映射关系的合并,减少信息同步次数,提高发送效率。
在一个例子中,主控板可以启动两个任务,这两个任务分别为任务S和任务R,主控板通过任务S执行步骤301-步骤304,主控板通过任务R执行步骤 305。当组播转发表发生变化时,主控板就可以启动任务S,并通过任务S执行步骤301-步骤304,在任务S启动后,任务R处于休眠状态,即任务R不工作。当任务S执行完成后,通过任务S唤醒任务R,且通过任务R执行步骤305。
在任务R的执行过程中,若组播转发表发生变化,则主控板重新启动任务S,通过任务S执行步骤301-步骤304,并将任务R置为休眠状态,以此类推。
步骤306,网板接收该映射关系,并存储该映射关系。
步骤307,网板在接收到组播报文后,通过该组播报文对应的组播组标识查询本地存储的映射关系,得到与该组播组标识对应的位置信息。
步骤308,网板将该组播报文发送给该位置信息对应的交换芯片。
在上述实施例中,是以表2所示的组播组数组为例,实际应用中,还可以采用表8所示的组播组数组。具体的,由于组播组标识的范围可以确定,如范围是0-8000,因此,可以为每个组播组标识维护一个映射关系,在得到该组播组标识对应的位置信息时,就将该位置信息更新到该映射关系。
表8
Figure BDA0001942793970000131
在上述实施例中,是以表3所示的组播组链表为例,实际应用中,还可以采用表9所示的组播组链表。具体的,由于组播组标识的范围可以确定,如范围是0-8000,因此,可以为每个组播组标识维护一个数据项,在得到该组播组标识对应的位置信息时,就可以将该组播组标识对应的数据项记录到组播组链表的尾部,并更新组播组链表中的其它数据项的内容。其中,参见表9所示的组播组链表,组播组链表中的每个数据项均包括数组索引和数组指针,数组索引用于记录组播组标识(即当前数据项的组播组标识),数组指针用于记录相邻数据项的信息(如相邻数据项的组播组标识),即当前数据项对应的前一个数据项的组播组标识、当前数据项对应的后一个数据项的组播组标识。
表9
Figure BDA0001942793970000132
Figure BDA0001942793970000141
从表9可以看出,各数据项从头部到尾部的顺序依次是:组播组标识55、组播组标识0、组播组标识188、组播组标识1、组播组标识8000、组播组标识 456,当然,上述只是示例,组播组标识55之前可能还有数据项,组播组标识 456之后可能还有数据项,只是表9并未视出。
其中,在采用表9所示的组播组链表后,为了将某个组播组标识对应的数据项记录到组播组链表的尾部,可以通过该组播组标识查询组播组链表的组播组标识(即第一列内容),从而快速查询到该组播组标识对应的数据项,继而将该组播组标识对应的数据项记录到组播组链表的尾部。显然,在上述方式中,不需要遍历组播组链表的数据项内容(即第二列内容),从而加快处理速度。
基于表8所示的组播组数组和表9所示的组播组链表,主控板也可以采用步骤301-步骤308,实现组播报文的传输流程,对此实现不做重复限制。
基于与上述方法同样的申请构思,本申请实施例中还提出一种主控板,如图4所示,为所述主控板的结构示意图,所述主控板可以包括:
获取模块41,用于获取组播组标识、所述组播组标识对应的出接口;
确定模块42,用于确定所述出接口所在的交换芯片的位置信息;
发送模块43,用于向网板发送所述组播组标识与所述位置信息的映射关系,以使网板通过组播报文对应的组播组标识查询所述映射关系,得到与所述组播组标识对应的位置信息,将所述组播报文发送给所述位置信息对应的交换芯片。
所述发送模块43向所述网板发送所述组播组标识与所述位置信息的映射关系时具体用于:在组播组数组中记录所述组播组标识与所述位置信息的映射关系,并将所述组播组标识对应的数据项添加到组播组链表;
依次遍历组播组链表中的每个数据项;针对遍历的数据项,通过该数据项包括的组播组标识查询所述组播组数组,得到与所述组播组标识对应的位置信息,并将所述组播组标识与所述位置信息的映射关系发送给所述网板;
其中,所述组播组链表中的每个数据项均包括数组索引和数组指针,所述数组索引用于记录组播组标识,所述数组指针用于记录相邻数据项的信息。
所述发送模块43将所述组播组标识对应的数据项添加到组播组链表时具体用于:判断组播组链表是否存在所述组播组标识对应的数据项;如果是,将所述组播组标识对应的数据项移动到所述组播组链表的尾部;如果否,创建所述组播组标识对应的数据项,将创建的数据项添加到所述组播组链表的尾部;
其中,所述数据项包括当前数据项的组播组标识、所述数据项对应的前一个数据项的组播组标识、所述数据项对应的后一个数据项的组播组标识。
所述发送模块43依次遍历组播组链表中的每个数据项之后还用于:
针对当前遍历的数据项,从所述组播组链表中删除该数据项。
本申请实施例中还提出一种网络设备,如图5所示,为所述网络设备的结构图,所述网络设备包括:主控板51、网板52和多个交换芯片53;
所述主控板51,用于获取组播组标识、所述组播组标识对应的出接口;确定所述出接口所在的交换芯片的位置信息;向所述网板发送所述组播组标识与所述位置信息的映射关系;
所述网板52,用于通过组播报文对应的组播组标识查询所述映射关系,得到与所述组播组标识对应的位置信息,并将所述组播报文发送给所述位置信息对应的交换芯片;
所述交换芯片53,用于在接收到所述组播报文后,转发所述组播报文。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和 /或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种组播报文的传输方法,其特征在于,所述方法应用于网络设备中的主控板,所述网络设备还包括网板和多个交换芯片,所述方法包括:
获取组播组标识、所述组播组标识对应的出接口;
确定所述出接口所在的交换芯片的位置信息;
向所述网板发送所述组播组标识与所述位置信息的映射关系,以使所述网板通过组播报文对应的组播组标识查询所述映射关系,得到与所述组播组标识对应的位置信息,并将所述组播报文发送给所述位置信息对应的交换芯片;
所述向所述网板发送所述组播组标识与所述位置信息的映射关系,包括:
在组播组数组中记录所述组播组标识与所述位置信息的映射关系,并将所述组播组标识对应的数据项添加到组播组链表;
依次遍历组播组链表中的每个数据项;针对遍历的数据项,通过该数据项包括的组播组标识查询所述组播组数组,得到与所述组播组标识对应的位置信息,并将所述组播组标识与所述位置信息的映射关系发送给所述网板;
其中,所述依次遍历组播组链表中的每个数据项,包括:从组播组链表的头部开始,遍历组播组链表的第一个数据项,并从组播组链表中删除第一个数据项;在下一个处理周期,返回执行从组播组链表的头部开始,遍历组播组链表的第一个数据项,并从组播组链表中删除第一个数据项。
2.根据权利要求1所述的方法,其特征在于,
所述组播组链表中的每个数据项均包括数组索引和数组指针,所述数组索引用于记录组播组标识,所述数组指针用于记录相邻数据项的信息。
3.根据权利要求2所述的方法,其特征在于,
所述将所述组播组标识对应的数据项添加到组播组链表,包括:
判断组播组链表是否存在所述组播组标识对应的数据项;如果是,将所述组播组标识对应的数据项移动到所述组播组链表的尾部;如果否,创建所述组播组标识对应的数据项,将创建的数据项添加到所述组播组链表的尾部;
其中,所述数据项包括当前数据项的组播组标识、所述数据项对应的前一个数据项的组播组标识、所述数据项对应的后一个数据项的组播组标识。
4.根据权利要求2所述的方法,其特征在于,
所述依次遍历组播组链表中的每个数据项之后,所述方法还包括:
针对当前遍历的数据项,从所述组播组链表中删除该数据项。
5.根据权利要求1-4任一所述的方法,其特征在于,所述位置信息包括:
所述交换芯片的槽位标识;和/或,所述交换芯片的芯片标识。
6.一种主控板,其特征在于,所述主控板包括:
获取模块,用于获取组播组标识、所述组播组标识对应的出接口;
确定模块,用于确定所述出接口所在的交换芯片的位置信息;
发送模块,用于向网板发送所述组播组标识与所述位置信息的映射关系,以使网板通过组播报文对应的组播组标识查询所述映射关系,得到与所述组播组标识对应的位置信息,将所述组播报文发送给所述位置信息对应的交换芯片;
所述发送模块向所述网板发送所述组播组标识与所述位置信息的映射关系时具体用于:在组播组数组中记录所述组播组标识与所述位置信息的映射关系,并将所述组播组标识对应的数据项添加到组播组链表;
依次遍历组播组链表中的每个数据项;针对遍历的数据项,通过该数据项包括的组播组标识查询所述组播组数组,得到与所述组播组标识对应的位置信息,并将所述组播组标识与所述位置信息的映射关系发送给所述网板;
其中,所述发送模块依次遍历组播组链表中的每个数据项时具体用于:从组播组链表的头部开始,遍历组播组链表的第一个数据项,并从组播组链表中删除第一个数据项;在下一个处理周期,返回执行从组播组链表的头部开始,遍历组播组链表的第一个数据项,并从组播组链表中删除第一个数据项。
7.根据权利要求6所述的主控板,其特征在于,
所述组播组链表中的每个数据项均包括数组索引和数组指针,所述数组索引用于记录组播组标识,所述数组指针用于记录相邻数据项的信息。
8.根据权利要求7所述的主控板,其特征在于,所述发送模块将所述组播组标识对应的数据项添加到组播组链表时具体用于:
判断组播组链表是否存在所述组播组标识对应的数据项;如果是,将所述组播组标识对应的数据项移动到所述组播组链表的尾部;如果否,创建所述组播组标识对应的数据项,将创建的数据项添加到所述组播组链表的尾部;
其中,所述数据项包括当前数据项的组播组标识、所述数据项对应的前一个数据项的组播组标识、所述数据项对应的后一个数据项的组播组标识。
9.根据权利要求7所述的主控板,其特征在于,
所述发送模块依次遍历组播组链表中的每个数据项之后还用于:
针对当前遍历的数据项,从所述组播组链表中删除该数据项。
10.一种网络设备,其特征在于,包括主控板、网板和多个交换芯片;
所述主控板,用于获取组播组标识、所述组播组标识对应的出接口;确定所述出接口所在的交换芯片的位置信息;向所述网板发送所述组播组标识与所述位置信息的映射关系;所述主控板向所述网板发送所述组播组标识与所述位置信息的映射关系时具体用于:在组播组数组中记录所述组播组标识与所述位置信息的映射关系,并将所述组播组标识对应的数据项添加到组播组链表;依次遍历组播组链表中的每个数据项;针对遍历的数据项,通过该数据项包括的组播组标识查询所述组播组数组,得到与所述组播组标识对应的位置信息,并将所述组播组标识与所述位置信息的映射关系发送给所述网板;所述主控板依次遍历组播组链表中的每个数据项时具体用于:从组播组链表的头部开始,遍历组播组链表的第一个数据项,并从组播组链表中删除第一个数据项;在下一个处理周期,返回执行从组播组链表的头部开始,遍历组播组链表的第一个数据项,并从组播组链表中删除第一个数据项;
所述网板,用于通过组播报文对应的组播组标识查询所述映射关系,得到与所述组播组标识对应的位置信息,并将所述组播报文发送给所述位置信息对应的交换芯片;
所述交换芯片,用于在接收到所述组播报文后,转发所述组播报文。
CN201910026828.7A 2019-01-11 2019-01-11 一种组播报文的传输方法、主控板及设备 Active CN109617821B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910026828.7A CN109617821B (zh) 2019-01-11 2019-01-11 一种组播报文的传输方法、主控板及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910026828.7A CN109617821B (zh) 2019-01-11 2019-01-11 一种组播报文的传输方法、主控板及设备

Publications (2)

Publication Number Publication Date
CN109617821A CN109617821A (zh) 2019-04-12
CN109617821B true CN109617821B (zh) 2021-04-27

Family

ID=66018421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910026828.7A Active CN109617821B (zh) 2019-01-11 2019-01-11 一种组播报文的传输方法、主控板及设备

Country Status (1)

Country Link
CN (1) CN109617821B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110768917B (zh) * 2019-10-31 2021-09-21 杭州迪普科技股份有限公司 一种报文传输方法及装置
CN111786890B (zh) * 2020-06-29 2022-05-27 新华三信息安全技术有限公司 一种组播报文发送方法、相关装置和网络设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986601A (zh) * 2010-11-23 2011-03-16 杭州华三通信技术有限公司 一种组播数据的传输方法和设备
CN102819496A (zh) * 2012-08-16 2012-12-12 无锡紫芯集成电路***有限公司 闪存ftl的地址转换方法
CN103338152A (zh) * 2013-05-24 2013-10-02 杭州华三通信技术有限公司 一种组播报文转发方法和主控板
CN104113483A (zh) * 2013-04-19 2014-10-22 华为技术有限公司 一种组播通信方法和汇聚交换机
US8948171B1 (en) * 2012-07-20 2015-02-03 Time Warner Cable Inc. System and method for IP multicast
CN106209648A (zh) * 2015-05-04 2016-12-07 杭州华三通信技术有限公司 跨虚拟可扩展局域网的组播数据报文转发方法和设备
CN106470171A (zh) * 2016-09-18 2017-03-01 杭州迪普科技股份有限公司 组播转发表项的下发方法及装置
CN107947950A (zh) * 2017-11-22 2018-04-20 新华三技术有限公司 一种硬件组播出接口表项的下发方法和np线卡板
CN108259365A (zh) * 2017-01-24 2018-07-06 新华三技术有限公司 组播报文转发方法和装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986601A (zh) * 2010-11-23 2011-03-16 杭州华三通信技术有限公司 一种组播数据的传输方法和设备
US8948171B1 (en) * 2012-07-20 2015-02-03 Time Warner Cable Inc. System and method for IP multicast
CN102819496A (zh) * 2012-08-16 2012-12-12 无锡紫芯集成电路***有限公司 闪存ftl的地址转换方法
CN104113483A (zh) * 2013-04-19 2014-10-22 华为技术有限公司 一种组播通信方法和汇聚交换机
CN103338152A (zh) * 2013-05-24 2013-10-02 杭州华三通信技术有限公司 一种组播报文转发方法和主控板
CN106209648A (zh) * 2015-05-04 2016-12-07 杭州华三通信技术有限公司 跨虚拟可扩展局域网的组播数据报文转发方法和设备
CN106470171A (zh) * 2016-09-18 2017-03-01 杭州迪普科技股份有限公司 组播转发表项的下发方法及装置
CN108259365A (zh) * 2017-01-24 2018-07-06 新华三技术有限公司 组播报文转发方法和装置
CN107947950A (zh) * 2017-11-22 2018-04-20 新华三技术有限公司 一种硬件组播出接口表项的下发方法和np线卡板

Also Published As

Publication number Publication date
CN109617821A (zh) 2019-04-12

Similar Documents

Publication Publication Date Title
CN101668031B (zh) 一种消息处理方法及***
CN111934990B (zh) 消息传输方法及装置
CN108848034B (zh) 一种网络设备及表项学习方法
CN102857414A (zh) 一种转发表写入、报文转发方法及装置
CN107786450B (zh) 一种数据报文传输方法、装置及机器可读存储介质
CN110995598B (zh) 一种变长报文数据处理方法和调度装置
CN110635987A (zh) 一种报文传输方法、装置、设备及机器可读存储介质
CN109617821B (zh) 一种组播报文的传输方法、主控板及设备
CN101753362A (zh) 分布式网络设备中堆叠虚拟局域网的配置方法及装置
CN102263701A (zh) 队列调整方法及装置
CN107077429B (zh) 数据读取方法、设备和***
CN112965839B (zh) 消息传输方法、装置、设备及存储介质
CN108259348B (zh) 一种报文传输方法和装置
CN107547400B (zh) 一种虚拟机迁移方法和装置
CN107070797B (zh) 一种报文转发的方法及***
CN110620811B (zh) 一种vOLT集群架构下ONU管理方法及***
CN109413225B (zh) 一种mac表项处理方法和设备
CN105122776B (zh) 地址获取方法及网络虚拟化边缘设备
CN114785662A (zh) 一种存储管理方法、装置、设备及机器可读存储介质
CN113626221A (zh) 一种消息入队方法及装置
CN101711064B (zh) 修改信息的管理方法及终端
CN111064622A (zh) 网络设备、同步装置及信息传输方法
CN112187578B (zh) 表项生成方法、装置及设备
CN115550439B (zh) 事件管理***及方法
CN111224876B (zh) 报文的处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant