BIER报文传输方法、装置、多核网络设备及存储介质与流程

文档序号:36412937发布日期:2023-12-19 06:22阅读:29来源:国知局
本发明涉及数据通信领域,具体而言,涉及一种bier报文传输方法、装置、多核网络设备及存储介质。
背景技术
::1、位索引的显式复制(bit indexed explicit replication,bier)作为新兴的组播技术,优势在于在网络中无需维护基于流的组播树。bier使用网络中的位转发入口路由器(bit forwarding ingress router,bfir)根据需要转发的位转发出口路由器(bitforwarding egress router,bfer)的节点id生成比特串,并通过网络中的各位转发路由器(bit forwarding router,bfr)利用比特串转发报文。2、在数据层面,每个bfr维护有多张bier转发表,即位索引转发表(bit indexforwarding table,bift),每张bift都关联一个bift id,bift表项主要内容包括使到达bfer需要经过的bfr邻居(bfr neighbor,bfr-nbr)以及该邻居能够到达的转发位掩码(forwarding bit mask,f-bm)。3、当组播报文从域外到达bfir时,bfir先确定需要转发的bfer的id集合,然后将需要转发的bfer的id集合转换成比特串(bit string),并结合bift id构造bier头部。bfir根据报文的bift id查找本地bift,遍历每个邻居,将待转发的比特串,与每个邻居能够到达的比特串,进行“与”操作。若结果不为零,则使用计算后的比特串,向该邻居发送报文。网络中的bfr处理过程与bfir类似。4、上述利用bift转发组播报文的过程中,针对一条待转发bier报文,转发核需要遍历bift表中的所有bfr邻居,并与每个bfr邻居都进行比特运算,当bfr邻居数量比较多的时候,则将该bier报文需要进行大量的复制和修改,向所有bfr邻居都转发完需要占用core很长处理时间,存在转发性能和效率低下的问题。技术实现思路1、本发明的目的之一在于提供一种bier报文传输方法、装置、多核网络设备及存储介质,用于提高bier报文转发性能和效率。本发明可以这样实现:2、第一方面,本发明提供一种bier报文传输方法,应用于多核网络设备的转发核;所述多核网络设备还包括控制核;所述方法包括:获取待转发的第一bier报文;提取所述第一bier报文中携带的目标位索引转发表标识bift id;根据所述控制核预先建立的转发核与bift id之间的第一对应关系表,确定目标bift id对应的多个目标转发核,并将所述第一bier报文的报文地址写入所述目标转发核的待处理报文队列中;当所述转发核为所述多个目标转发核中的其中一个转发核时,从所述控制核预先建立的转发核、bift id和邻居节点之间的第二对应关系表中读取所述转发核对应的且与所述目标bift id匹配目标邻居节点,并根据所述目标邻居节点转发所述第一bier报文;其中,所述目标邻居节点为所述目标bift id对应的bift所包含的全部邻居节点的部分邻居节点。3、第二方面,本发明提供一种bier报文传输方法,应用于多核网络设备的控制核;所述多核网络设备还包括多个转发核;所述方法包括:分别为本地配置的每张所述bift中每个所述邻居节点分配所述转发核;根据每个所述邻居节点的转发核分配结果以及每个所述邻居节点所在的bift对应的bift id,建立每个所述邻居节点对应的第二对应关系表;所述第二对应关系表用于维护转发核、邻居节点和bift id之间的对应关系;根据全部所述邻居节点对应的所述第二对应关系表,建立每个所述bift id对应的第一对应关系表;所述第一对应关系表用于维护转发核与bift id之间的对应关系;其中,所述转发核用于根据所述第一对应关系表确定待转发bier报文的bift id对应的多个目标转发核,还用于当所述转发核为所述多个目标转发核中的其中一个转发核时,根据所述第二对应关系表确定所述转发核对应的且与待转发bier报文的bift id匹配的目标邻居节点并进行报文转发。4、第三方面,本发明提供一种bier报文传输装置,应用于多核网络设备的转发核;所述多核网络设备还包括控制核;所述bier报文传输装置包括:获取模块、提取模块、确定模块、写入模块和传输模块;所述获取模块,用于获取待转发的第一bier报文;所述提取模块,用于提取所述第一bier报文中携带的目标位索引转发表标识bift id;所述确定模块,用于根据所述控制核预先建立的转发核与bift id之间的第一对应关系表,确定目标bift id对应的多个目标转发核,所述写入模块,用于将所述第一bier报文的报文地址写入所述目标转发核的待处理报文队列中;所述传输模块,用于当所述转发核为所述多个目标转发核中的其中一个转发核时,从所述控制核预先建立的转发核与邻居节点之间的第二对应关系表中读取所述转发核对应的且与所述目标bift id匹配的目标邻居节点,并根据所述目标邻居节点转发所述第一bier报文;其中,所述目标邻居节点为所述目标bift id对应的bift所包含的全部邻居节点的部分邻居节点。5、第四方面,本发明提供一种bier报文传输装置,应用于多核网络设备的控制核;所述多核网络设备还包括多个转发核;所述bier报文传输装置包括:分配模块和建立模块;所述分配模块,用于分别为本地配置的每张所述bift中每个所述邻居节点分配所述转发核;所述建立模块,用于根据每个所述邻居节点的转发核分配结果以及每个所述邻居节点所在的bift,生成每个所述邻居节点对应的第二对应关系表;所述第二对应关系表用于维护转发核、邻居节点和bift id之间的对应关系;所述建立模块,还用于根据全部所述邻居节点对应的所述第二转发表,生成每个所述bift id对应的第一对应关系表;所述第一对应关系表用于维护转发核与bift id之间的对应关系;其中,所述转发核用于根据所述第一对应关系表确定待转发bier报文的bift id对应的多个目标转发核,还用于当所述转发核为所述多个目标转发核中的其中一个转发核时,根据所述第二对应关系表确定所述转发核对应的且与待转发bier报文的bift id匹配的目标邻居节点并进行报文转发。6、第五方面,本发明提供一种多核网络设备,包括控制核和多个转发核,所述控制核与多个所述转发核通信连接,所述转发核用于执行如第一方面所述的bier报文传输方法;所述控制核用于执行第二方面所述的bier报文传输方法。7、第六方面,本发明提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面和第二方面所述的bier报文传输方法。8、本发明提供的bier报文传输方法、装置、多核网络设备及存储介质,应用于多核网络设备的转发核;所述多核网络设备还包括控制核;所述方法包括:获取待转发的第一bier报文;提取所述bier报文中携带的目标位索引转发表标识bift id;根据预先建立的转发核与bift id之间的第一对应关系表,确定目标bift id对应的多个目标转发核,并将所述第一bier报文的报文地址写入所述目标转发核的待处理报文队列中;当所述转发核为所述多个目标转发核中的其中一个转发核时,从转发核、bift id和邻居节点的对应关系中读取转发核对应的且与目标bift id匹配的目标邻居节点进行报文传输,其中,所述目标邻居节点为所述目标bift id对应的bift包含的全部邻居节点中的部分邻居节点。在上述方法中,转发核在报文传输过程中就无需完成资源密集的全表遍历操作,避免了每个转发核需要遍历整个bfit表来确定目标邻居的时间开销。并且,一个转发任务被分散个其他的转发核,同时,转发核只需要向自身对应的部分邻居节点传输报文,大大减轻了每个转发核自身的压力,提高了整体组播报文转发的效率。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1