一种转发报文的方法和装置与流程

文档序号:19589246发布日期:2020-01-03 10:02阅读:156来源:国知局
一种转发报文的方法和装置与流程
本发明涉及通信
技术领域
,特别涉及一种转发报文的方法和装置。
背景技术
:框式交换机,即大型企业级交换机,包括一个主控板和多个业务板,主控板主要负责对业务板的管理及配置下发等操作,业务板和主控板之间通过端口进行通信。目前由于业务板之间不能直接通信,发送报文的业务板(后续将其称为发送业务板)需要将报文发送给主控板,然后主控板将报文发送到需要接收该报文的业务板(后续将其称为接收业务板)。现有技术中,当发送业务板需要向多个接收业务板发送相同报文时,则发送业务板会为每个接收业务板发送一份独立的报文,这些报文到达主控板后,主控板分别将这些报文发送给对应的接收业务板。但是,当有大量的报文需要发送时,发送业务板会频繁地发送大量的报文,主控板也会频繁地接收、解析大量的报文,因此会造成发送业务板和主控板的cpu(centralprocessingunit,中央处理器)消耗过大。技术实现要素:本发明提供一种转发报文的方法和装置,以解决现有技术中当有大量报文需要同步发送时,发送业务板频繁地发送报文和主控板频繁地接收、解析大量报文,造成发送业务板、主控板的cpu消耗过大的问题。第一方面,本发明提供了一种转发报文的方法,该方法应用于单板上,包括:获取待发送的报文,所述报文携带组播mac地址;通过所述组播mac地址查询组播转发表,获取所述组播mac地址对应的出端口;通过获取的每个出端口发送一份所述报文。第二方面,本发明提供了一种转发报文的装置,该装置应用于单板上,包括:第一获取模块,用于获取待发送的报文,所述报文携带组播mac地址;第二获取模块,用于通过所述组播mac地址查询组播转发表,获取所述组播mac地址对应的出端口;发送模块,用于通过获取的每个出端口发送一份所述报文。根据本发明的实施例可见,单板获取待发送的报文,然后根据报文的组播mac地址查询组播转发表,获取该mac地址对应的出端口,然后通过每个出端口发送一份该报文。当有大量报文需要发送时,由于发送业务板只需发送一份该报文到主控板,然后主控板会对该报文进行复制,然后向每一个接收业务板发送该报文,再由接收业务板发送到cpu。因此避免了发送业务板频繁地发送大量的报文到主控板,发送业务板cpu消耗过大的问题,同时也避免了主控板频繁地接收、解析大量报文,造成主控板的cpu消耗过大的问题。附图说明图1是应用本发明实施例一种转发报文的方法和装置的一个应用场景示意图;图2是应用本发明实施例一种转发报文的方法和装置的另一个应用场景示意图;图3是本发明一种转发报文的方法的一个实施例流程图;图4是本发明一种转发报文的装置所在设备的一种硬件结构图;图5是本发明一种转发报文的装置的一个实施例框图;图6是本发明一种转发报文的装置的另一个实施例框图;图7是本发明一种转发报文的装置的另一个实施例框图。具体实施方式为了使本
技术领域
的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。参见图1,为应用本发明实施例一种转发报文的方法和装置的一个应用场景示意图,应用于框式设备的单板上,其中单板包括:主控板、业务板(发送业务板、接收业务板)。其中,主控板是业务板之间通信的桥梁,业务板之间不能相互发送报文,发送业务板发送到接收业务板的报文,需要先发送到主控板,再由主控板发送到接收业务板,实现报文的转发。在图1所示的基础上,图2为应用本发明实施例一种转发报文的方法和装置的另一个应用场景示意图,其中单板位于不同的框式设备上,如图中所示框式设备1、框式设备2,包括:框式设备1的主控板1、业务板和框式设备2的主控板2、业务板。参见图3,为本发明一种转发报文的方法的一个实施例流程图,该实施例应用于框式设备的单板,详细描述了单板接收报文,查询组播转发表获得出端口,然后复制报文并根据出端口转发报文的过程。该实施例包括以下步骤:步骤301:获取待发送的报文,该报文携带组播mac(mediaaccesscontrol,媒体访问控制)地址。步骤302:通过上述组播mac地址查询组播转发表,获取该组播mac地址对应的出端口。在一个例子中,通过上述组播mac地址查询组播转发表之前,还可以获取单板所属组播组的组播mac地址和出端口,并创建包含组播mac地址和出端口的组播转发表;其中,当单板为发送业务板时,则出端口为指向主控板的端口;当单板为主控板时,则出端口为指向接收业务板的端口和/或指向其它主控板的端口;当单板为接收业务板时,则出端口为指向中央处理器cpu的端口。其中,获取单板所属组播组的组播mac地址之前,还包括:接收组播配置命令,将需要互相发送、接收报文的业务板和主控板划分为一个组播组,该组播配置命令中携带组播组的业务板(发送业务板、接收业务板)、主控板的槽号。其中,针对组播组的组播mac地址与针对其它组播组的组播mac地址不同。在一个例子中,针对获取单板所属组播组的出端口的过程,具体包括:当单板为发送业务板时,接收主控板发送的第一告知报文,并从第一告知报文中解析出主控板的槽号,记录主控板的槽号与接收到第一告知报文的出端口的第一对应关系;在接收到组播配置命令后,从组播配置命令后中解析出主控板的槽号,并通过主控板的槽号查询第一对应关系,获取单板所属组播组的的出端口;当单板为主控板时,接收接收业务板和/或其它主控板发送的第二告知报文,并从第二告知报文中解析出接收业务板和/或其它主控板的槽号,记录接收业务板和/或其它主控板的槽号与接收到第二告知报文的出端口的第二对应关系;在接收到组播配置命令后,从组播配置命令中解析出接收业务板和/或其它主控板的槽号,并通过接收业务板和/或其它主控板的槽号查询第二对应关系,获取单板所属组播组的出端口;当单板为接收业务板时,在接收到组播配置命令后,获取单板指向cpu的端口。步骤303:通过获取的每个出端口发送一份上述报文。其中,单板根据获取的出端口的数量,复制(出端口数-1)份的报文,得到出端口数份的上述报文,然后向每一个出端口发送一份该报文。在另一个例子中,组播转发表中还包括一个vlan标识,针对组播组的vlan标识与针对其它组播组的vlan标识不同;获取待发送的报文之后,单板查询组播转发表中是否存在该vlan标识;若不存在,则丢弃报文;若存在,则执行通过组播mac地址查询组播转发表的过程。由上述实施例可见,单板获取待发送的报文,然后根据报文的组播mac地址查询组播转发表,获取该mac地址对应的出端口,然后通过每个出端口发送一份该报文。当单板有大量报文需要发送时,由于发送业务板只需发送一份该报文到主控板,主控板会对该报文进行复制,再向每一个接收业务板发送该报文,再由接收业务板发送到cpu。因此避免了发送业务板频繁地发送大量的报文到主控板,发送业务板cpu消耗过大的问题,同时也避免了主控板频繁地接收、解析大量报文,造成主控板的cpu消耗过大的问题。下面通过一个具体的例子对上述实施例进行说明,该例子中的单板包括业务板(发送业务板、接收业务板)、主控板,详细描述了业务板、主控板创建组播转发表,以及通过组播转发表,发送业务板发送报文到主控板,再由主控板发送到接收业务板的过程。一、槽号与出端口的对应关系的维护过程。以图1所示的应用场景为例,包括:主控板1、业务板1、业务板2、业务板3。主控板1分别向业务板1、业务板2、业务板3发送一个告知报文,该告知报文中携带主控板1的槽号0。业务板1从告知报文中解析出主控板1的槽号0,记录主控板1的槽号0与接收到告知报文的出端口e1的对应关系,如表1所示。表1槽号出端口0e1按照与业务板1同样的处理方式,业务板2记录主控板1的槽号0与出端口e2的对应关系,如表2所示。业务板3记录主控板1的槽号0与出端口e3的对应关系,如表3所示。表2槽号出端口0e2表3此外,业务板1还可以向主控板1发送告知报文,该告知报文中携带业务板1的槽号1。主控板1接收业务板1发送的告知报文,并从该告知报文中解析出业务板1的槽号1,并记录业务板1的槽号1与接收该告知报文的出端口e4的对应关系;同理,主控板1接收业务板2发送的告知报文,并从该告知报文中解析出业务板2的槽号2,并记录业务板2的槽号2与接收该告知报文的出端口e5的对应关系;主控板1接收业务板3发送的告知报文,并从告知报文中解析出业务板3的槽号3,并记录业务板3的槽号3与接收该告知报文的出端口的e6的对应关系,经过上述处理后,主控板1可以维护表4所示的对应关系。表4槽号出端口1e42e53e6二、组播转发表的维护过程。在需要创建组播转发表项时,管理员可以通过输入配置命令或通过web页面等方式,向框式设备下发组播配置命令,由框式设备的cpu接收该组播配置命令,该组播配置命令中携带主控板1、业务板1、业务板2、业务板3的槽号0、1、2、3。框式设备的cpu在接收到该组播配置命令后,将各槽号对应的主控板1、业务板1、业务板2、业务板3划分为一个组播组,并该组播组分配组播mac地址。针对为该组播组分配组播mac地址的过程,框式设备的cpu在接收到该组播配置命令之后,为该组播组分配一个组播mac地址(如mac1),其中针对该组播组的组播mac地址与针对其它组播组的组播mac地址不同。为了与传统组播mac地址进行区分,考虑到传统组播mac地址均是公有的组播mac地址,因此,本发明实施例中,为组播组分配的这些组播mac地址都是网络中不使用的私有组播mac地址,后续以分配的组播mac地址为mac1为例。在为组播组分配组播mac地址后,框式设备的cpu将该组播配置命令和该组播mac地址分别发送到主控板1、业务板1、业务板2、业务板3。业务板1接收组播配置命令和组播mac地址(如mac1)后,从组播配置命令中解析出槽号0、1、2、3,通过槽号0、1、2、3查询表1所示的对应关系,由于只存在槽号0与出端口e1的对应关系,因此可以从表1中获取到出端口e1,并维护mac1与出端口e1的对应关系,得到表5所示的组播转发表。表5组播mac地址出端口mac1e1同理,业务板2、3按照同样的处理方式维护各自的组播转发表,如表6、7所示。表6组播mac地址出端口mac1e2表7组播mac地址出端口mac1e3另外,业务板1、2、3在接收到组播配置命令和组播mac地址(如mac1)后,根据mac1和指向cpu的端口创建各自的组播转发表,如表8、9、10所示:表8组播mac地址出端口mac1指向业务板1的cpu表9表10组播mac地址出端口mac1指向业务板3的cpu主控板1接收组播配置命令和组播mac地址(如mac1)后,从组播配置命令中解析出槽号0、1、2、3,通过槽号0、1、2、3查询表4所示的对应关系,由于在槽号1、2、3与出端口e4、e5、e6的对应关系,因此可以从表4中获取到出端口e4、e5、e6,并维护mac1与出端口e4、e5、e6的对应关系,得到表11所示的组播转发表。表11三、报文的传输过程。业务板1获取待发送的报文,并将该报文修改为组播报文,该组播报文的组播mac地址为mac1。业务板1通过mac1查询表5所示的组播转发表,获取mac1对应的出端口e1,通过出端口e1发送该报文到主控板1。主控板1通过mac1地址查询表11所示的组播转发表,获取mac1对应的出端口e5、e6,然后复制一份上述报文,并根据出端口e5、e6向业务板2、3分别发送一份上述报文。业务板2在接收到来自主控板的组播报文后,获知自身为接收业务板,因此通过mac1查询表9所示的组播转发表,而不是查询表6所示的组播转发表,通过表9所示的组播转发表,获取到mac1对应的指向cpu的端口,根据该端口发送报文到业务板2的cpu,由cpu对该报文进行处理,具体处理过程不再赘述。业务板3对报文的处理方式与业务板2一致,这里不再赘述。在另一种实现方式中,当业务板不在同一个框式设备时,需要启用虚拟交换矩阵vsm技术;vsm通过级联板之间的连接构成了vsm通道,vsm通道用于将不同的主控板建立连接。如图2所示,通过启用vsm,通过级联板1和级联板2的连接,构建起一条vsm通道,将框式设备1的主控板1和框式设备2的主控板2建立连接。为了使主控板1能够将报文发送给框式设备2的主控板2,由框式设备2的主控板2将报文转发给框式设备2的业务板。主控板2会预先向主控板1发送告知报文,且该告知报文中携带主控板2的槽号(如该槽号为7),主控板1会记录槽号7和接收该告知报文的出端口e7的对应关系。此外,管理员在上述的组播配置命令中,还可以携带主控板2的槽号7,主控板1在接收到组播配置命令时,还可以从组播配置命令中解析出主控板2的槽号7,并使用槽号7,查询槽号7和出端口e7的对应关系,得到出端口e7,并在表11中记录出端口e7。基于上述过程,在接收到报文后,在通过出端口e5、e6发送报文的基础上,还需要通过出端口e7发送报文,这样,就可以将报文发送到主控板2,主控板2收到报文后,可以将报文发送给框式设备2的业务板。针对主控板2将报文发送给框式设备2的业务板的过程,与主控板1将报文发送给框式设备1的业务板的过程类似,在此不再重复赘述。由上述实施例可见,发送业务板获取待发送的报文,然后根据报文的组播mac地址查询自身的组播转发表,获取该mac地址对应的出端口,然后发送报文到主控板;主控板根据报文的组播mac地址查询自身的组播转发表,获取该mac地址对应的出端口,然后对报文进行复制得到出端口数的报文,通过每个出端口发送一份报文到接收业务板;接收业务板根据报文的组播mac地址查询自身的组播转发表,获取该mac地址对应的出端口,然后发送该报文到cpu。当有大量报文需要发送时,由于发送业务板只需发送一份该报文到主控板,然后主控板会对该报文进行复制,再向每一个接收业务板发送该报文,再由接收业务板发送到cpu,因此避免了发送业务板频繁地发送大量的报文到主控板,发送业务板cpu消耗过大的问题,同时也避免了主控板频繁地接收、解析发送业务板发送的大量报文,造成主控板的cpu消耗过大的问题。与前述一种转发报文的方法的实施例相对应,本发明还提供了一种转发报文的装置的实施例。本发明一种转发报文的装置的实施例可以应用在框式设备的单板上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本发明一种转发报文的装置所在设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。参见图5,为本发明一种转发报文的装置的一个实施例框图,所述装置可以应用在框式设备的单板上,所述装置包括:第一获取模块510、第二获取模块520和发送模块530。其中,第一获取模块510,用于获取待发送的报文,所述报文携带组播媒体访问控制mac地址;第二获取模块520,用于通过所述组播mac地址查询组播转发表,获取所述组播mac地址对应的出端口;发送模块530,用于通过获取的每个出端口发送一份所述报文。参见图6,为本发明一种转发报文的装置的另一个实施例框图,该实施例在前述图5所示实施例的基础上,所述装置还可以包括:创建模块540。其中,创建模块540,用于在所述第二获取模块通过所述组播mac地址查询组播转发表之前,获取所述单板所属组播组的组播mac地址和出端口,并创建包含所述组播mac地址和出端口的组播转发表;其中,当所述单板为发送业务板时,则所述出端口为指向主控板的端口;当所述单板为主控板时,则所述出端口为指向接收业务板的端口和/或指向其它主控板的端口;当所述单板为接收业务板时,则所述出端口为指向中央处理器cpu的端口。在一个例子中,所述创建模块获取的所述单板所属组播组的组播mac地址,与针对其它组播组的组播mac地址不同。在另一个例子中,所述创建模块540,具体用于在获取所述单板所属组播组的出端口的过程中,当所述单板为发送业务板时,接收主控板发送的第一告知报文,并从所述告知报文中解析出主控板的槽号,记录所述主控板的槽号与接收到所述第一告知报文的出端口的第一对应关系;在接收到组播配置命令后,从所述组播配置命令后中解析出主控板的槽号,并通过主控板的槽号查询所述第一对应关系,获取所述单板所属组播组的的出端口;当所述单板为主控板时,接收接收业务板和/或其它主控板发送的第二告知报文,并从所述第二告知报文中解析出接收业务板和/或其它主控板的槽号,记录所述接收业务板和/或其它主控板的槽号与接收到所述第二告知报文的出端口的第二对应关系;在接收到组播配置命令后,从所述组播配置命令中解析出接收业务板和/或其它主控板的槽号,并通过接收业务板和/或其它主控板的槽号查询所述第二对应关系,获取所述单板所属组播组的出端口;当所述单板为接收业务板时,在接收到组播配置命令后,获取所述单板指向cpu的端口。参见图7,为本发明一种转发报文的装置的另一个实施例框图,该实施例在前述图5所示实施例的基础上,所述组播转发表中还包括一个vlan标识,针对所述组播组的vlan标识与针对其它组播组的vlan标识不同,所述装置还包括:查询模块550、丢弃模块560。其中,查询模块550,用于所述第一获取模块获取待发送的报文之后,查询组播转发表中是否存在所述vlan标识;丢弃模块560,用于当查询模块查询组播转发表中不存在所述vlan标识时,丢弃所述报文;所述第二获取模块520,具体用于当查询模块查询组播转发表中存在所述vlan标识时,通过所述组播mac地址查询组播转发表,获取所述组播mac地址对应的出端口。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。由上述实施例可见,发送业务板获取待发送的报文,然后根据报文的组播mac地址查询自身的组播转发表,获取该mac地址对应的出端口,然后发送报文到主控板;主控板根据报文的组播mac地址查询自身的组播转发表,获取该mac地址对应的出端口,然后对报文进行复制得到出端口数的报文,通过每个出端口发送一份报文到接收业务板;接收业务板根据报文的组播mac地址查询自身的组播转发表,获取该mac地址对应的出端口,然后发送该报文到cpu。当有大量报文需要发送时,由于发送业务板只需发送一份该报文到主控板,然后主控板会对该报文进行复制,再向每一个接收业务板发送该报文,再由接收业务板发送到cpu,因此避免了发送业务板频繁地发送大量的报文到主控板,发送业务板cpu消耗过大的问题,同时也避免了主控板频繁地接收、解析发送业务板发送的大量报文,造成主控板的cpu消耗过大的问题。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1