一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

报文处理方法及装置与流程

2022-02-22 02:45:56 来源:中国专利 TAG:
1.本技术涉及通信
技术领域
:,尤其涉及一种报文处理方法及装置。
背景技术
::2.ip组播,实现了ip网络中点到多点的实时、高效数据传送,可以节约大量网络带宽、降低网络负载。ip组播协议可分为运行于主机与路由器之间的组播成员管理协议(例如,igmp、mld)、运行于路由器之间的组播路由协议(例如,pim、mvpnbgp)。3.基于比特索引的显示复制(英文:bitindexedexplicitreplication,简称:bier)是一种新型组播转发技术架构。在组播报文转发过程中,位转发入口路由器(英文:bitforwardingingressrouter,简称:bfir)在组播报文的外层封装bier头部,该bier头部包括标识组播目的节点的比特串(bitstring)。4.处于组播路径中间的位转发路由器(英文:bitforwardingrouter,简称:bfr)根据比特串实现组播报文的复制和转发,如此,使得中间的位转发路由器无需感知组播业务,且无需维护特定组播业务的组播流状态,具有良好的组播业务扩展性。5.如图1所示,图1为现有基于bier的组播报文转发过程示意图。在图1中,节点a接收原始组播报文,根据原始组播报文查找组播转发表,并获取bier隧道的隧道id,调用bier转发提供的接口继续处理原始组播报文。6.节点a根据隧道id查找隧道表以及位索引转发表(英文:bitindexforwardingtable,简称:bift),在原始组播报文的外层封装bitstring0111,得到第一组播报文。该bitstring内包括了节点e、节点d以及节点f三个节点的bfrid集合。a节点向节点b发送第一组播报文。7.节点b接收到第一组播报文后,获取bitstring0111。节点b获取bift中bfrid为1对应的第一转发表项,并从第一转发表项中获取转发位掩码(英文:forwarding-bitmask,简称:f_bm)(例如,0011)。节点b将0111同0011进行“与”操作,得到结果为0011。节点b根据结果0011查找bift,获取第一转发表项以及第二转发表项,且该两个表项的nbr(即neighbor,表示某个bfrid的下一跳邻居)均为节点c,也即是,bfrid为1、bfrid为2的bfr的下一跳均为节点c。8.节点b更新bitstring为0011,得到第二组播报文,该bitstring内包括了节点d、节点f两个节点的bfrid集合。节点b向节点c发送第二组播报文。9.同时,节点b还更新bitstring为0100,得到第三组播报文,该bitstring内包括了节点e一个节点的bfrid集合。节点b向节点e发送第三组播报文。10.同理,节点c接收到第二组播报文后,与节点b执行相同的过程,更新bitstring为0001、0010后,分别向节点d以及节点f发送第四组播报文。11.节点e、节点d以及节点f接收到组播报文后,也执行上述节点b的过程,各节点进行“与”操作后,得到的结果与自身bfrid相同,各节点对组播报文进行解封装处理,得到原始组播报文并进行后续的组播发送。12.从前述过程可以看出,bift由各节点通过内部网关协议(英文:interiorgatewayprotocol,简称:igp)igp学习到的单播转发表项建立,中间bfr转发组播报文也仍会依赖于igp学习到的单播转发表项。例如,根据bift,节点b将复制两份组播报文分别向节点c以及节点e发送。而从实际组网中,由于节点c与节点e之间存在通信链路,因此,节点c可向节点e转发组播报文,或者,节点e也可向节点c转发组播报文。在一定程度上,节点b复制两份组播报文并分别向节点c以及节点e发送将导致组网内带宽的浪费。技术实现要素:13.有鉴于此,本技术提供了一种报文处理方法及装置,用以解决现有中间bfr在转发组播报文过程中,复制多份组播报文发送,将导致组网内带宽浪费的问题。14.第一方面,本技术提供了一种报文处理方法,所述方法应用于第一位转发路由器,所述第一位转发路由器内已存储目标位索引转发表,所述目标位索引转发表包括至少一个目标位索引转发表项,所述方法包括:15.接收位转发入口路由器发送的第一组播报文,所述第一组播报文包括位串,所述位串指示多个在位的位转发出口路由器;16.将所述位串分别与每个有效的目标位索引转发表项包括的转发位串掩码进行与操作,得到多个位串操作结果;17.在所述目标位索引转发表中,查找是否存在与每个位串操作结果匹配且有效的目标位索引转发表项;18.若存在且有效,则从所述目标位索引转发表项中获取邻居位转发路由器标识;19.向所述邻居位转发路由器标识指示的第二位转发路由器发送所述第一组播报文,以使得所述第二位转发路由器根据所述位串同时向所述多个在位的位转发出口路由器发送所述第一组播报文;20.其中,所述位转发入口路由器、所述第一位转发路由器、所述第二位转发路由器以及多个在位的位转发出口路由器处于同一bier域内,所述第一位转发路由器、所述第二位转发路由分别与所述多个在位的位转发出口路由器中的第一数量个位转发出口路由器全连接。21.第二方面,本技术提供了一种报文处理装置,所述装置应用于应用于第一位转发路由器,所述第一位转发路由器内已存储目标位索引转发表,所述目标位索引转发表包括至少一个目标位索引转发表项,所述装置包括:22.接收单元,用于接收位转发入口路由器发送的第一组播报文,所述第一组播报文包括位串,所述位串指示多个在位的位转发出口路由器;23.运算单元,用于将所述位串分别与每个有效的目标位索引转发表项包括的转发位串掩码进行与操作,得到多个位串操作结果;24.查找单元,用于在所述目标位索引转发表中,查找是否存在与每个位串操作结果匹配且有效的目标位索引转发表项;25.获取单元,用于若存在且有效,则从所述目标位索引转发表项中获取邻居位转发路由器标识;26.发送单元,用于向所述邻居位转发路由器标识指示的第二位转发路由器发送所述第一组播报文,以使得所述第二位转发路由器根据所述位串同时向所述多个在位的位转发出口路由器发送所述第一组播报文;27.其中,所述位转发入口路由器、所述第一位转发路由器、所述第二位转发路由器以及多个在位的位转发出口路由器处于同一bier域内,所述第一位转发路由器、所述第二邻居位转发路由分别与所述多个在位的位转发出口路由器中的第一数量个位转发出口路由器全连接。28.第三方面,本技术提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本技术第一方面所提供的方法。29.因此,通过应用本技术提供的报文处理方法及装置,第一位转发路由器接收位转发入口路由器发送的第一组播报文,该第一组播报文包括位串;第一位转发路由器将位串分别与每个有效的目标位索引转发表项包括的转发位串掩码进行与操作,得到多个位串操作结果;在目标位索引转发表中,第一位转发路由器查找是否存在与每个位串操作结果匹配且有效的目标位索引转发表项;若存在且有效,则第一位转发路由器从目标位索引转发表项中获取邻居位转发路由器标识;第一位转发路由器向邻居位转发路由器标识指示的第二位转发路由器发送第一组播报文,以使得第二位转发路由器根据位串同时向多个在位的位转发出口路由器发送第一组播报文。30.如此,中间bfr通过将多个bfer的转发路径进行统一,在目标位索引转发表内存在一条可同时转发多个bfer的转发路径,如此,避免了组播报文的多次复制,节省带宽。解决了现有中间的bfr在转发组播报文过程中,复制多份组播报文发送,将导致组网内带宽浪费的问题。附图说明31.图1为现有基于bier的组播报文转发过程示意图;32.图2为本技术实施例提供的报文处理方法的流程图;33.图3为本技术实施例提供的基于bier的组播报文转发过程网示意图;34.图4为本技术实施例提供的转发树示意图;35.图5为本技术实施例提供的报文处理装置结构图;36.图6为本技术实施例提供的网络设备硬件结构体。具体实施方式37.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本技术相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。38.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。39.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。40.下面对本技术实施例提供的报文处理方法进行详细地说明。参见图2,图2为本技术实施例提供的报文处理方法的流程图。该方法应用于第一位转发路由器。本技术实施例提供的报文处理方法可包括如下所示步骤。41.步骤210、接收位转发入口路由器发送的第一组播报文,所述第一组播报文包括位串,所述位串指示多个在位的位转发出口路由器。42.具体地,在bier域内包括多个bfr,根据每个bfr的角色,分为bfir、位转发出口路由器(英文:bitforwardingegressrouter,简称:bfer)以及中间传输节点。其中,每个bfir、bfer配置有bfrid,该bfrid用于标识bier边缘节点,在bier域内唯一。作为中间传输节点的bfr可不配置bfrid。43.在组播报文转发过程中,bfir需将接收到的组播流量转发至bfer。bfir接收原始组播报文,根据原始组播报文查找组播转发表。根据组播转发表,确定该原始组播报文应通过bier隧道转发。bfir获取bier隧道的隧道id,并调用bier转发提供的接口处理原始组播报文。44.bfir根据隧道id查找隧道表以及bift,在原始组播报文的外层封装bitstring,得到第一组播报文。该第一组播报文包括bitstring,该bitstring指示bier域内多个在位的bfer。45.可以理解的是,bfir根据bift确定下一跳bfr,并向下一跳bfr发送第一组播报文。在本技术实施例中,下一跳bfr为第一bfr。46.第一bfr接收到第一组播报文后,从第一组播报文中获取bitstring。47.步骤220、将所述位串分别与每个有效的目标位索引转发表项包括的转发位串掩码进行与操作,得到多个位串操作结果。48.具体地,在本技术实施例中,第一bfr内已存储目标bift,该目标bift包括至少一个目标位索引转发表项。每个目标位索引转发表项包括转发位串掩码(f_bm)、邻居位转发路由器(nbr)标识以及有效位(valid)。49.其中,f_bm指示下一跳邻居复制发送组播报文时,通过该邻居能到达的bier域边缘节点集合;nbr标识指示某个bfrid的下一跳邻居;有效位用于标记目标位索引转发表项是否生效。50.根据步骤210的描述,第一bfr获取到bitstring后,将bitstring分别与每个有效的目标位索引转发表项包括的f_bm进行与操作,得到多个bitstring操作结果。51.例如,bitstring为0111,目标bift中首个有效的目标位索引转发表项包括的f_bm为0111,则第一bfr将bitstring表征的“0111”与f_bm表征的“0111”进行与操作,得到bitstring操作结果为“0111”。52.可以理解的是,第一bfr依次将bitstring与目标bift中每个有效的目标位索引转发表项包括的f_bm进行与操作,得到多个bitstring操作结果。53.步骤230、在所述目标位索引转发表中,查找是否存在与每个位串操作结果匹配且有效的目标位索引转发表项。54.具体地,根据步骤220的描述,第一bfr得到多个bitstring操作结果后,在目标bift中,查找是否存在与每个bitstring操作结果匹配且有效的目标位索引转发表项。55.若存在且有效,则第一bfr执行步骤240;若存在且无效,或者,若未存在,则第一bfr丢弃第一组播报文。56.步骤240、若存在且有效,则从所述目标位索引转发表项中获取邻居位转发路由器标识。57.具体地,根据步骤230的描述,若目标bift中存在与bitstring操作结果匹配且有效的目标位索引转发表项,则第一bfr从该目标位索引转发表项中获取nbr标识。58.步骤250、向所述邻居位转发路由器标识指示的第二位转发路由器发送所述第一组播报文,以使得所述第二位转发路由器根据所述位串同时向所述多个在位的位转发出口路由器发送组播报文。59.具体地,根据步骤240的描述,第一bfr获取到nbr标识后,向该nbr标识指示的第二bfr发送第一组播报文。60.若第二bfr也为中间传输节点,则第二bfr接收到第一组播报文后,从第一组播报文中获取bitstring。第二bfr也执行前述步骤220-步骤240。61.若第二bfr为bfer,则该bfer按现有对组播报文的处理过程对第一组播报文进行处理。62.需要说明的是,在本技术实施例中,bfir、第一bfr、第二bfr以及bfer均处于同一bier域内,且第一bfr、第二bfr分别与多个在位的bfer中的第一数量个bfer全连接。63.例如,在本技术实施例中,第一bfr、第二bfr分别与多个在位的bfer中的一个bfer全连接,此处仅简单说明,详细说明请参考后续实施例。64.通过前述可知,由于第一bfr与该bfer连接,且第二bfr也与该bfer连接,因此,第一bfr不再向该bfer直接发送组播报文,而是通过第二bfr向该bfer发送组播报文,第一bfr避免了组播报文的多次复制,节省了第一bfr与该bfer之间的带宽资源。65.因此,通过应用本技术提供的报文处理方法第一位转发路由器接收位转发入口路由器发送的第一组播报文,该第一组播报文包括位串;第一位转发路由器将位串分别与每个有效的目标位索引转发表项包括的转发位串掩码进行与操作,得到多个位串操作结果;在目标位索引转发表中,第一位转发路由器查找是否存在与每个位串操作结果匹配且有效的目标位索引转发表项;若存在且有效,则第一位转发路由器从目标位索引转发表项中获取邻居位转发路由器标识;第一位转发路由器向邻居位转发路由器标识指示的第二位转发路由器发送第一组播报文,以使得第二位转发路由器根据位串同时向多个在位的位转发出口路由器发送第一组播报文。66.如此,中间bfr通过将多个bfer的转发路径进行统一,在目标位索引转发表内存在一条可同时转发多个bfer的转发路径,如此,避免了组播报文的多次复制,节省带宽。解决了现有中间的bfr在转发组播报文过程中,复制多份组播报文发送,将导致组网内带宽浪费的问题。67.可选地,在本技术实施例步骤210之前还包括第一bfr生成目标bift的过程。68.具体地,bier域内每个bfir、bfer均会在域内通告自身的bfrid以及其他信息(例如,节点的ip地址)。每个bfir、bfer可通过igp协议的泛洪在域内通告自身的bfrid。例如,每个bfir、bfer可通过is-islsp泛洪通告自身的bfrid以及其他信息。69.第一bfr接收bier域内每个bfir、bfer发送的第一igp报文,该第一igp报文包括每个bfir、bfer的bfrid。70.bier域内每个bfr均会在域内通告到达自身的第一路由信息,此处所描述的每个bfr包括bier域内每个bfir、bfer。71.第一bfr接收自身的邻居bfr发送的第二igp报文,该第二igp报文包括第一路由信息。该邻居bfr可能包括bfir、bfer。72.在本技术实施例中,第一bfr接收到每个bfir、bfer的bfrid、其他信息以及邻居bfr的第一路由信息后,建立bier转发信息,也即是生成原始bift。该原始bift包括f_bm以及nbr标识。73.可以理解的是,第一bfr生成原始bift的过程与现有生成bift的过程相同,在此不再复述。每个bfir、bfer也根据现有生成bift的方式,生成本地bift。该本地bift指导bfir、bfer接收到包括bitstring的组播报文后,如何根据bitstring将组播报文复制转发。74.第一bfr还根据第一路由信息,还生成到达每个bfer的转发树。该转发树包括根节点以及多个叶子节点。75.其中,根节点指示第一bfr且具有分支结构,每个叶子节点指示一个bfer且叶子节点不具有分支结构。该转发树还包括不具有bfrid的bfr,也即是中间传输节点,这些bfr具有分支结构。76.需要说明的是,第一bfr生成转发树的过程可在生成原始bift之前或之后,本技术实施例并不具体限制生成转发树的时序。77.第一bfr生成转发树以及原始bift后,根据转发树以及原始bift,生成目标bift。该目标bift包括f_bm、nbr标识以及有效位。78.进一步地,前述过程中,第一bfr根据转发树以及原始bift,生成目标bift的具体过程为:79.从转发树中,第一bfr确定公共节点,该公共节点与根节点直连且为根节点到达叶子节点的必经节点。80.当根节点通过公共节点到达第一叶子节点且根节点通过直连路径到达第一叶子节点时,第一bfr从原始位索引转发表中,获取第一原始位索引转发表项以及第二原始位索引转发表项。81.其中,第一原始位索引转发表项包括的nbr标识为公共节点指示的bfr的标识,第二原始位索引转发表项包括的nbr标识为第一叶子节点指示的bfer的标识。82.第一bfr将第一原始位索引转发表项以及第二原始位索引转发表项进行合并处理,得到合并后的原始位索引转发表项。83.第一bfr分别为原始bift中的每个原始位索引转发表项、合并后的原始位索引转发表项配置有效位,得到目标位索引转发表项。84.如此,第一bfr将目标位索引转发表项存储至目标bift内,得到目标bift。85.更近一步地,前述过程中,第一bfr将第一原始位索引转发表项以及第二原始位索引转发表项进行合并处理,得到合并后的原始位索引转发表项的具体过程为:86.第一bfr将第一原始位索引转发表项包括的第一f_bm以及第二原始位索引转发表项包括的第二f_bm进行或操作,得到第三f_bm。第一bfr将第三f_bm存储至合并后的原始位索引转发表项包括的f_bm处。87.其中,进行或操作的f_bm并不限制于两条原始位索引转发表项包括的f_bm。在实际应用中,可将至少两条原始位索引转发表项包括的f_bm进行或操作。88.第一bfr将合并后的原始位索引转发表项包括的nbr标识设置为公共节点指示的bfr的标识。89.更近一步地,前述过程中,第一bfr分别为原始bift中的每个原始位索引转发表项、合并后的原始位索引转发表项配置有效位,得到目标位索引转发表项的具体过程为:90.第一bfr将原始bift中用于进行合并处理的原始位索引转发表项(例如,第一原始位索引转发表项、第二原始位索引转发表项)的有效位设置为第一值。91.第一bfr将原始bift中未用于进行合并处理的原始位索引转发表项(例如,除第一原始位索引转发表项、第二原始位索引转发表项之外的其他原始位索引转发表项)的有效位设置为第二值。92.第一bfr将合并后的原始位索引转发表项的有效位设置为第二值。93.在本技术实施例中,第一值具体为0,第二值具体为1。其中,设置为第一值的位索引转发表项为无效表项,该类表项可存储在目标bift内,但在转发组播报文时,不再根据无效表项进行转发。设置为第二值的位索引转发表项为有效表项,在转发组播报文时,需根据有效表项进行转发。94.需要说明的是,在本技术实施例中,目标bift内还包括id,该id用于标识bfrid。合并后的原始位索引转发表项的id可设置为用于表示该表项为合并后的原始位索引转发表项,该id的取值需不同于bfrid的一个标识,以区别现有bfrid。95.下面对本技术实施例提供的报文处理方法进行详细地说明。参见图3,图3为本技术实施例提供的基于bier的组播报文转发过程网示意图。96.在图3中,bier域内包括节点a、节点b、节点c、节点d、节点e以及节点f。各节点均可称为bfr,其中,节点a为bfir;节点e、节点d以及节点f为bfer;节点b、节点c为bfr,即中间传输节点。节点b、节点c以及节点e之间为全连接。节点a、节点d、节点e以及节点f处于同一组播组内。97.以节点b为例进行说明。98.节点b接收节点d、节点e以及节点f发送的第一igp报文,从第一igp报文中获取每个节点的bfrid。例如,节点d的bfrid为1,节点f的bfrid为2,节点e的bfrid为3,节点a的bfrid为4。bfrid用于表示该节点bit位在bitstring中的位置。99.在一个例子中,bitstring为0111,从低位至高位的方向依次表示节点d、节点f、节点e以及节点a。bitstring中bit位置1表示该bit位所表示的节点在位。“0111”表示节点d、节点f、节点e在位,节点a未在位。100.同时,节点b还接收邻居节点(即与节点b建立邻居关系的节点),即节点c以及节点e发送的第二igp报文,从第二igp报文中获取第一路由信息。101.根据bfrid以及第一路由信息,节点b生成原始bift。具体生成原始bift的过程为现有技术,在此不再复述。102.同理,每个bfir、bfer均生成一bift,如图3中,每个bfir、bfer旁边的表格所示。103.节点b还根据第一路由信息,生成到达每个bfer的转发树,如图4所示,图4为本技术实施例提供的转发树示意图。在图4中,节点b作为根节点,节点d、节点e以及节点f作为叶子节点。节点c作为中间节点。104.在转发树中,节点b可通过节点c到达节点e且节点b可通过直连路径到达节点e。由于节点b、节点c以及节点e之间为全连接,则节点b发往节点e的组播报文可通过节点c进行转发,以节省节点b与节点e之间的带宽资源。105.节点b从原始bift中,获取nbr标识为节点c(bfrid为1、bfrid为2的两条表项)以及nbr标识为节点e的原始位索引转发表项(bfrid为3的一条表项)。106.节点b将多条原始位索引转发表项进行合并处理(对上述三条表项的f_bm进行或运算,根据转发树设置nbr标识),得到合并后的原始位索引转发表项。节点b分别为原始bift中的每个原始位索引转发表项、合并后的原始位索引转发表项配置有效位,得到目标位索引转发表项。节点b将目标位索引转发表项存储至目标bift内,得到目标bift。107.如图3中,节点b旁边的目标bift。该目标bift中包括三条无效表项以及两条有效表项。也即是,用于进行合并处理的原始位索引转发表项均为无效表项,未用于进行合并处理的原始位索引转发表项、合并后的原始位索引转发表项均为有效表项。108.需要说明的是,节点a、节点d、节点e以及节点f可根据现有生成bift的过程生成本地bift,在此不再复述。109.可以理解的是,节点c作为中间传输节点也可生成一转发树,并依据前述节点b执行的过程,对原始bift进行合并得到目标bift。但是,在图3所示的bier域内,节点c无需对原始bift进行合并,但需对原始bift中每个原始位索引转发表设置有效位,进而得到目标bift。110.bier域内各节点生成bift后,当接收到组播报文后,可根据bift实现对组播报文的转发。111.节点a接收原始组播报文,根据原始组播报文查找组播转发表,并获取bier隧道的隧道id,调用bier转发提供的接口继续处理原始组播报文。112.节点a根据隧道id查找隧道表以及本地bift,在原始组播报文的外层封装bitstring0111,得到第一组播报文。该bitstring内包括了节点e、节点d以及节点f三个节点的bfrid集合。a节点向节点b发送第一组播报文。113.节点b接收到第一组播报文后,获取bitstring0111。节点b将bitstring分别与目标bift中每个有效的目标位索引转发表项包括的f_bm进行与操作。114.例如,节点b将“0111”与“1000”进行与操作,得到的第一bitstring操作结果为“0000”;节点b将“0111”与“0111”进行与操作,得到的第二bitstring操作结果为“0111”。115.节点b在目标bift中,查找是否存在与每个bitstring操作结果匹配且有效的目标位索引转发表项。在本技术实施例中,目标bift内存在与第二bitstring操作结果匹配且有效的目标位索引转发表项。116.节点b从该目标位索引转发表项中获取nbr标识,该nbr标识指示节点c。节点b向节点c发送第一组播报文。117.节点c接收到第一组播报文后,从第一组播报文中获取bitstring0111。节点c将bitstring分别与目标bift中每个有效的目标位索引转发表项包括的f_bm进行与操作。118.也即是,节点c将“0111”与“0001”进行与操作,得到的第一bitstring操作结果为“0001”;节点c将“0111”与“0010”进行与操作,得到的第二bitstring操作结果为“0010”;节点c将“0111”与“0100”进行与操作,得到的第三bitstring操作结果为“0100”;节点c将“0111”与“1000”进行与操作,得到的第四bitstring操作结果为“0000”。119.节点c在目标bift中,查找是否存在与每个bitstring操作结果匹配且有效的目标位索引转发表项。在本技术实施例中,目标bift内存在与第一bitstring操作结果、第二bitstring操作结果以及第三bitstring操作结果匹配且有效的目标位索引转发表项。120.节点c从各目标位索引转发表项中获取nbr标识,该nbr标识指示节点d、节点e以及节点f。节点c复制两份第一组播报文,并分别向节点d、节点e以及节点f发送第一组播报文。121.节点e、节点d以及节点f接收到第一组播报文后,也执行上述节点c的过程,各节点进行“与”操作后,得到的结果与自身bfrid相同,各节点对第一组播报文进行解封装处理,得到原始组播报文并进行后续的组播发送。122.基于同一发明构思,本技术实施例还提供了与报文处理方法对应的报文处理装置。参见图5,图5为本技术实施例提供的报文处理装置结构图。所述装置应用于第一位转发路由器,所述第一位转发路由器内已存储目标位索引转发表,所述目标位索引转发表包括至少一个目标位索引转发表项,所述装置包括:123.接收单元510,用于接收位转发入口路由器发送的第一组播报文,所述第一组播报文包括位串,所述位串指示多个在位的位转发出口路由器;124.运算单元,用于将所述位串分别与每个有效的目标位索引转发表项包括的转发位串掩码进行与操作,得到多个位串操作结果;125.查找单元520,用于在所述目标位索引转发表中,查找是否存在与每个位串操作结果匹配且有效的目标位索引转发表项;126.获取单元530,用于若存在且有效,则从所述目标位索引转发表项中获取邻居位转发路由器标识;127.发送单元540,用于向所述邻居位转发路由器标识指示的第二位转发路由器发送所述第一组播报文,以使得所述第二位转发路由器根据所述位串同时向所述多个在位的位转发出口路由器发送所述第一组播报文;128.其中,所述位转发入口路由器、所述第一位转发路由器、所述第二位转发路由器以及多个在位的位转发出口路由器处于同一bier域内,所述第一位转发路由器、所述第二邻居位转发路由分别与所述多个在位的位转发出口路由器中的第一数量个位转发出口路由器全连接。129.可选地,所述接收单元510还用于,接收所述bier域内每个位转发入口路由器或者位转发出口路由器发送的第一igp报文,所述第一igp报文包括所述每个位转发入口路由器或者位转发出口路由器的位转发路由器标识;130.接收所述第一位转发路由器的邻居位转发路由器发送的第二igp报文,所述第二igp报文包括到达所述每个位转发路由器的第一路由信息;131.所述装置还包括:生成单元(图中未示出),用于通过所述第一路由信息,生成到达所述每个位转发出口路由器的转发树,所述转发树包括根节点以及多个叶子节点,所述根节点指示所述第一位转发路由器,每个叶子节点指示位转发出口路由器;132.利用所述位转发路由器标识以及所述第一路由信息,生成原始位索引转发表,所述原始位索引转发表包括转发位串掩码以及邻居位转发路由器标识;133.根据所述转发树以及所述原始位索引转发表,生成所述目标位索引转发表,所述目标位索引转发表包括转发位串掩码、邻居位转发路由器标识以及有效位,所述有效位用于标记所述目标位索引转发表项是否生效。134.可选地,所述生成单元(图中未示出)具体用于,从所述转发树中,确定公共节点,所述公共节点与所述根节点直连且为所述根节点到达叶子节点的必经节点;135.当所述根节点通过所述公共节点到达第一叶子节点且所述根节点通过直连路径到达第一叶子节点时,从所述原始位索引转发表中,获取第一原始位索引转发表项以及第二原始位索引转发表项;136.将所述第一原始位索引转发表项以及所述第二原始位索引转发表项进行合并处理,得到合并后的原始位索引转发表项;137.分别为所述原始位索引转发表中的每个原始位索引转发表项、所述合并后的原始位索引转发表项配置有效位,得到所述目标位索引转发表项;138.将所述目标位索引转发表项存储至所述目标位索引转发表内;139.其中,所述第一原始位索引转发表项包括的邻居位转发路由器标识为所述公共节点指示的位转发路由器的标识,所述第二原始位索引转发表项包括的邻居位转发路由器标识为所述第一叶子节点指示的位转发出口路由器的标识。140.可选地,所述合并后的原始位索引转发表项包括转发位串掩码以及邻居位转发路由器标识;141.所述转发位串掩码为将所述第一原始位索引转发表项包括的转发位串掩码以及所述第二原始位索引转发表项包括的转发位串掩码进行或操作后得到;142.所述邻居位转发路由器标识设置为所述公共节点指示的位转发路由器的标识。143.可选地,所述所述生成单元(图中未示出)还具体用于,将所述原始位索引转发表中用于进行合并处理的原始位索引转发表项的有效位设置为第一值;144.将所述原始位索引转发表中未用于进行合并处理的原始位索引转发表项的有效位设置为第二值;145.将所述合并后的原始位索引转发表项的有效位设置为所述第二值。146.因此,通过应用本技术提供的报文处理装置,第一位转发路由器接收位转发入口路由器发送的第一组播报文,该第一组播报文包括位串;第一位转发路由器将位串分别与每个有效的目标位索引转发表项包括的转发位串掩码进行与操作,得到多个位串操作结果;在目标位索引转发表中,第一位转发路由器查找是否存在与每个位串操作结果匹配且有效的目标位索引转发表项;若存在且有效,则第一位转发路由器从目标位索引转发表项中获取邻居位转发路由器标识;第一位转发路由器向邻居位转发路由器标识指示的第二位转发路由器发送第一组播报文,以使得第二位转发路由器根据位串同时向多个在位的位转发出口路由器发送第一组播报文。147.如此,中间bfr通过将多个bfer的转发路径进行统一,在目标位索引转发表内存在一条可同时转发多个bfer的转发路径,如此,避免了组播报文的多次复制,节省带宽。解决了现有中间的bfr在转发组播报文过程中,复制多份组播报文发送,将导致组网内带宽浪费的问题。148.基于同一发明构思,本技术实施例还提供了一种网络设备,如图6所示,包括处理器610、收发器620和机器可读存储介质630,机器可读存储介质630存储有能够被处理器610执行的机器可执行指令,处理器610被机器可执行指令促使执行本技术实施例所提供的报文处理方法。前述图5所示的报文处理装置,可采用如图6所示的网络设备硬件结构实现。149.上述计算机可读存储介质630可以包括随机存取存储器(英文:randomaccessmemory,简称:ram),也可以包括非易失性存储器(英文:non-volatilememory,简称:nvm),例如至少一个磁盘存储器。可选的,计算机可读存储介质630还可以是至少一个位于远离前述处理器610的存储装置。150.上述处理器610可以是通用处理器,包括中央处理器(英文:centralprocessingunit,简称:cpu)、网络处理器(英文:networkprocessor,简称:np)等;还可以是数字信号处理器(英文:digitalsignalprocessor,简称:dsp)、专用集成电路(英文:applicationspecificintegratedcircuit,简称:asic)、现场可编程门阵列(英文:field-programmablegatearray,简称:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。151.本技术实施例中,处理器610通过读取机器可读存储介质630中存储的机器可执行指令,被机器可执行指令促使能够实现处理器610自身以及调用收发器620执行前述本技术实施例描述的报文处理方法。152.另外,本技术实施例提供了一种机器可读存储介质630,机器可读存储介质630存储有机器可执行指令,在被处理器610调用和执行时,机器可执行指令促使处理器610自身以及调用收发器620执行前述本技术实施例描述的报文处理方法。153.上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。154.对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本技术方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。155.对于报文处理装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。156.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献