一种查询组播转发路径的方法及装置与流程

文档序号:16672071发布日期:2019-01-18 23:39阅读:456来源:国知局
本发明涉及通信
技术领域
:,尤其涉及一种查询组播转发路径的方法及装置。
背景技术
::bier(bitindexexplicitreplication,比特索引显式复制)是一个新的组播基础转发架构,它和传统pim(protocolindependentmulticast,协议无关组播)等有很大区别,属于一种overlay技术。在bier网络中,所有组播入、出节点可以用1bit标识,网络所有节点依据igp(interiorgatewayprotocol,内部网关协议)拓扑建立bitindex转发表。组播入节点将组播报文封装bier报文头,bier头携带所有出节点的标识,将该组播发送到网络后,网络中间节点可以通过识别bier报文头中的出节点标识,查表复制转发;出节点解封装为普通组播报文发送到传统组播网络。由于bier报文通常依据bift(bitindexforwardingtable,基于bitindex建立的bier报文的转发表)进行转发。借助underlay路由协议通告的bfr-prefix和bfr-id等信息,每个bfr(bit-forwardingrouter,支持bier的路由器)可通过bfr-prefix获取关联的bfr-id的下一跳邻居,从而计算出bift。bier技术本身优势是网络中间节点不需要关心组播流信息,极大简化了网络中间节点的资源。但是这种方法会存在流量可视化的管理问题。对于网络运维而言,通常需要知道组播报文在bier网络中转发的具体路径,尤其是网络中存在大量等价路径的时候,在bier网络中,目前是无法提前准确获取到实际业务报文在bier网络中转发的具体路径的。技术实现要素:本发明提供一种查询组播转发路径的方法,所述方法应用于bier网络中的入节点,所述方法包括:在接收到路径查询指令时,构建原始报文,并在对所述原始报文进行bier封装时,将自身的路径信息添加到所述原始报文中;将封装后的bier报文转发至下一节点,以使得作为中间节点的下一节点将自身的路径信息添加到所述原始报文中,并转发至下一节点;或者,以使得作为出节点的下一节点从所述原始报文中提取出各节点的路径信息,并在提取出的路径信息中添加自身的路径信息,以及将各节点的路径信息携带在单播报文中发送给所述入节点;在接收到各出节点发送的单播报文时,根据各单播报文携带的各节点的路径信息确定所查询的转发路径。作为一个实施例,所述构建原始报文,并在对所述原始报文进行bier封装时,将自身的路径信息添加到所述原始报文中的步骤包括:由cpu构建原始报文,并发送至业务环回口,以使得所述业务环回口对所述原始报文进行bier封装,并基于预设的第一qos策略在bier头中设置第一标识,以及将自身的路径信息添加到所述原始报文的载荷字段中的指定位置,其中,所述第一标识用于表征所述原始报文用于路径查询;中间节点将自身的路径信息添加到所述原始报文中的步骤包括:中间节点在接收到上一节点发送的bier报文时,若基于预设的第二qos策略确定bier头中携带有第一标识,则在转发层面将自身的路径信息添加到所述原始报文的载荷字段中的指定位置。作为一个实施例,出节点从所述原始报文中提取出各节点的路径信息,并在提取出的路径信息中添加自身的路径信息的步骤包括:出节点在接收到上一节点发送的bier报文时,若基于预设的第三qos策略确定bier头中携带有第一标识,则对该bier报文进行bier解封装,并将解封装后得到的数据报文发送至cpu,以使得cpu从该数据报文的载荷字段中的指定位置开始,依次提取出各节点的路径信息,并在提取出的各节点的路径信息之前添加自身的路径信息。作为一个实施例,出节点将各节点的路径信息携带在单播报文中发送给所述入节点的步骤包括:由cpu构建单播报文,该单播报文携带有入节点,各中间节点和出节点添加的路径信息,及所述原始报文的报文头信息;以入节点作为目的节点,对所述单播报文进行bier封装,并将封装后的单播报文发送至所述入节点。作为一个实施例,一个节点的路径信息包括该一个节点的节点标识,bier报文入接口的索引信息和该bier报文出接口的索引信息。基于相同的构思,本发明还提供一种查询组播转发路径的装置,所述装置应用于bier网络中的入节点,所述装置包括:第一构建单元,用于在接收到路径查询指令时,构建原始报文,并在对所述原始报文进行bier封装时,将自身的路径信息添加到所述原始报文中;报文转发单元,用于将封装后的bier报文转发至下一节点,以使得作为中间节点的下一节点将自身的路径信息添加到所述原始报文中,并转发至下一节点;或者,以使得作为出节点的下一节点从所述原始报文中提取出各节点的路径信息,并在提取出的路径信息中添加自身的路径信息,以及将各节点的路径信息携带在单播报文中发送给所述入节点;路径确定单元,用于在接收到各出节点发送的单播报文时,根据各单播报文携带的各节点的路径信息确定所查询的转发路径。作为一个实施例,所述第一构建单元,具体用于构建原始报文,并发送至业务环回口,以使得所述业务环回口对所述原始报文进行bier封装,并基于预设的第一qos策略在bier头中设置第一标识,以及将自身的路径信息添加到所述原始报文的载荷字段中的指定位置,其中,所述第一标识用于表征所述原始报文用于路径查询;所述装置还包括:信息添加单元,用于在接收到上一节点发送的bier报文时,若基于预设的第二qos策略确定bier头中携带有第一标识,则在转发层面将自身的路径信息添加到所述原始报文的载荷字段中的指定位置。作为一个实施例,所述装置还包括:信息提取单元,用于在接收到上一节点发送的bier报文时,若基于预设的第三qos策略确定bier头中携带有第一标识,则对该bier报文进行bier解封装,并将解封装后得到的数据报文发送至cpu,以使得cpu从该数据报文的载荷字段中的指定位置开始,依次提取出各节点的路径信息,并在提取出的各节点的路径信息之前添加自身的路径信息。作为一个实施例,所述装置还包括:第二构建单元,用于由cpu构建单播报文,该单播报文携带有入节点,各中间节点和出节点添加的路径信息,及所述原始报文的报文头信息;以入节点作为目的节点,对所述单播报文进行bier封装,并将封装后的单播报文发送至所述入节点。作为一个实施例,一个节点的路径信息包括该一个节点的节点标识,bier报文入接口的索引信息和该bier报文出接口的索引信息。基于相同的构思,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现查询组播转发路径的方法的任一步骤。基于相同的构思,本发明还提供一种网络设备,所述网络设备包括存储器、处理器、通信接口以及通信总线;其中,所述存储器、处理器、通信接口通过所述通信总线进行相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的计算机程序,所述处理器执行所述计算机程序时实现查询组播转发路径的方法的任一步骤。由此可见,本发明可以通过在bier网络中的入节点构建用于路径查询的原始报文,并将该原始报文封装为bier报文并添加入节点的路径信息后在bier网络中转发,以使中间节点在收到该bier报文时可以在该bier报文中添加自身的路径信息,以使出节点通过从所述原始报文中提取出各节点的路径信息,并在提取出的路径信息中添加自身的路径信息,以及将各节点的路径信息携带在单播报文中发送给所述入节点;入节点根据各节点发送的单播报文携带的各节点的路径信息确定所查询的转发路径。进一步地,本发明可以通过业务环回方式将控制层面模拟构造的组播报文按照数据平面的转发流程转发,从而确保bier查询转发路径的准确性,并且本发明通过在原始报文的载荷中的指定字段插入节点的路径信息,可以降低中间节点识别各类报文计算偏移量的系统消耗。因此本发明可以在bier网络中准确且高效的获取组播转发路径。附图说明图1是本发明一种示例性实施方式中的bier组播基本转发流程图;图2是本发明一种示例性实施方式中的一种查询组播转发路径的方法的处理流程图;图3是本发明一种示例性实施方式中的单播报文格式示意图;图4是本发明一种示例性实施方式中的组播网络示意图;图5是本发明一种示例性实施方式中的查询组播转发路径的交互流程图;图6本发明一种示例性实施方式中的查询组播转发路径的装置的逻辑结构图;图7本发明一种示例性实施方式中的一种网络设备的逻辑结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。在现有技术中,bier组播报文依据bift转发表进行转发。借助underlay路由协议通告的bfr-prefix和bfr-id等信息,每个bfr通过bfr-prefix获取关联的bfr-id的下一跳邻居,从而计算出bift。如图1所示,bfr建立转发表之后,bfir收到组播报文,就可以根据转发表进行封装转发。假设,组播流入节点bfir已经知道三个目的节点(即出节点)d/e/f的id,bfir就可以将目的节点的id形成bitstring封装在组播报文中进行转发,但是在bier网络中,bfir无法知道报文经过哪些中间节点以及链路。现有的草案bierpingandtrace(draft-ietf-bier-ping-03)定义了bierping和trace的流程和报文格式,但该方法和传统的traceroute原理类似,利用报文ttl超时,将报文上送控制平面,控制平面向入节点回复中间节点的相关id信息,以完成路径追踪。但这种方式,路径查询结果是控制平台控制的,而通常路由设备的转发层面和控制层面的hash算法并不一致,因此会造成cpu通过控制层面发送的bier报文头中entropy字段的值与实际业务流不同,从而会由于在ecmp环境中选路结果不同导致获取的路径非实际组播报文的转发路径。另外一种方式是通过ifa(in-bandflowanalyzer,带内流量分析)的网络监控技术来实现。然而,由于该方法是监测网络性能技术,目的是衡量实际流量经过每个节点消耗的时间、路径及接口带宽利用率等,由于该方法的报文携带的附加信息较多,处理较为繁琐,需要特定硬件芯片支持,且还需要带外网管系统的支撑和分析才可以。另外,该方法应用环境是对于业务实时的流量进行的监测,不支持通过控制层面模拟构建报文的方式,提前进行路径的查询。因此该方法也无法满足用户提前查询组播转发路径的需求。为了解决现有技术存在的问题,本发明提供一种查询组播转发路径的方法及装置,可以通过在bier网络中的入节点构建用于路径查询的原始报文,并将该原始报文封装为bier报文并添加入节点的路径信息后在bier网络中转发,以使中间节点在收到该bier报文时可以在该bier报文中添加自身的路径信息,以使出节点通过从所述原始报文中提取出各节点的路径信息,并在提取出的路径信息中添加自身的路径信息,以及将各节点的路径信息携带在单播报文中发送给所述入节点;入节点根据各节点发送的单播报文携带的各节点的路径信息确定所查询的转发路径。本发明通过入节点构建用于路径查询的报文并在转发层面进行转发,在该报文转发的过程中,入节点,各中间节点和出节点均会将自身的路径信息插入该报文中,最终接收到该报文的出节点将该报文中携带的全部路径信息发送给入节点,以使得入节点根据全部径信息生成对应的组播转发路径,准确且高效的获取报文在bier网络中的转发路径。请参考图2,是本发明一种示例性实施方式中的一种查询组播转发路径的方法的处理流程图,所述方法应用于bier网络中的入节点,所述方法包括:步骤201、在接收到路径查询指令时,构建原始报文,并在对所述原始报文进行bier封装时,将自身的路径信息添加到所述原始报文中;在bier网络中,当用户需要查找由入节点到目的节点的转发路径时,可以向bier网络中的入节点下发携带目的节点地址的路径查询指令。入节点的cpu收到该路径查询指令后,可以根据该路径查询指令中携带的目的节点地址,构建发往该目的节点的用于路径查询的原始报文,然后入节点可以将自身的路径信息添加到所述原始报文中。具体来讲,入节点可以预先在自身的业务环回口设置第一qos策略,具体内容为:在业务环回口对原始报文进行bier封装时,执行在bier头中设置第一标识,并将自身的路径信息插入该原始报文的载荷字段中的指定位置的动作。因此当入节点的cpu构建原始报文后,可以将该原始报文发送至入节点的业务环回口,以使得所述业务环回口对所述原始报文进行bier封装,并基于预设的第一qos策略在bier头中设置第一标识,该第一标识用于表征该原始报文用于路径查询,例如将bier报文头中的保留字段rsv定义为11作为第一标识;然后将自身的路径信息添加到所述原始报文的载荷字段中的指定位置。作为一个实施例,入节点构建的原始报文,可以参考ioamtrace报文的格式,其长度可以为128字节,包括组播ip头、udp/tcp头及载荷(playload);该报文payload全0。当入节点的业务环回口在封装后的bier报文中的原始报文的载荷字段中的指定位置插入自身的路径信息时,由于封装的bier头为44字节、原始报文中的组播ip头为40字节、udp头为20字节,udp头后面才是原始报文的载荷字段,因此计算可得原始报文的载荷之前的报文头的长度=bier头(44字节)+ipv6(40字节)+udp头(20字节)=104字节。因此入节点具体可以从bier头开始偏移的第104字节处插入本节点的路径信息,从而使当前原始报文的载荷中携带当前入节点的路径信息。作为一个实施例,节点的路径信息可以包括该节点的节点标识(即bfr-id),bier报文入接口的索引信息(inputinterface,iif)和该bier报文出接口的索引信息(outputinterface,oif)。其中,bfr-id(2字节)填写自身的节点id,iif(2字节)代表报文入接口的内部索引值,oif(2字节)代表报文出接口的内部索引值。基于上述实施例,入节点在从bier头开始偏移的第104字节处插入的路径信息具体为:入节点的id,入节点的iif和oif,其中入节点的iif为空。显然,本发明的入节点通过将所述原始报文发送到自身的业务环回口,可以使该原始报文经过bier封装后从数据平面转发该封装后的bier报文。通过业务环回方式,可以确保控制层面模拟构造的bier报文的封装头中的熵字段与实际业务流量一致,从而确保biertrace结果在ecmp环境中的准确性。步骤202、将封装后的bier报文转发至下一节点,以使得作为中间节点的下一节点将自身的路径信息添加到所述原始报文中,并转发至下一节点;或者,以使得作为出节点的下一节点从所述原始报文中提取出各节点的路径信息,并在提取出的路径信息中添加自身的路径信息,以及将各节点的路径信息携带在单播报文中发送给所述入节点;在本实施例中,下一节点收到该bier报文时,可以进一步通过查询本地的转发表,判断该bier报文的目的节点地址是否为本节点的bier地址,从而进一步确定本节点是中间节点还是出节点。在本实施例中,若下一节点为中间节点,则中间节点可以将自身的路径信息添加到所述原始报文中,并转发至下一节点,具体来讲,中间节点上可以预先设置有第二qos策略,具体内容为:若接收到携带第一标识的bier报文,则执行将自身的路径信息插入原始报文的载荷字段中的指定位置的动作。因此,中间节点在接收到上一节点发送的bier报文时,若基于预设的第二qos策略确定bier头中携带有第一标识,则在转发层面将自身的路径信息添加到所述原始报文的载荷字段中的指定位置。具体插入方式可参考上述入节点的插入方式的实施例,则中间节点也可以在从bier头开始偏移的第104字节处插入自身的路径信息,路径信息具体为:中间节点的id,中间节点的iif和oif。该原始报文载荷中的之前节点插入的路径信息则后移,从而在该原始报文载荷字段中形成倒序排列的转发节点的路径信息,最后一个路径信息是入节点的路径信息。这样,可以避免中间节点对该bier报文进行插入位置计算,直接从指定位置插入路径信息,可以简化实现,降低硬件要求。由于bier报文头后面可以承载很多类型报文。按照bier协议,中间bfr节点的转发逻辑是不需要关心bier报文头后的内容,使得中间节点的处理速率提高。因此本发明通过在原始报文的载荷中的指定字段插入节点的路径信息,可以降低中间节点识别各类报文计算偏移量的系统消耗。在本实施例中,若下一节点为出节点,则可以对该bier报文解封装后,从所述原始报文中提取出各节点的路径信息,并在提取出的路径信息中添加自身的路径信息,以及将各节点的路径信息携带在单播报文中发送给所述入节点。作为一个实施例,可以在出节点上预先设置第三qos策略,具体内容为:若接收到携带第一标识的bier报文,则执行对该bier报文进行解封装处理,并将解封装后得到的数据报文上报至cpu的操作。因此当出节点接收到上一节点发送的bier报文时,若基于预设的第三qos策略确定bier头中携带有第一标识,则根据该第三qos策略对该bier报文进行bier解封装,并将解封装后得到的数据报文发送至cpu。出节点的cpu从该数据报文的载荷字段中提取出各节点的路径信息。由于上述各节点插入的路径信息都是6字节,由于解封装处理后,bier头(长度为44字节)不存在,因此出节点的cpu可以从报文头开始的第60字节后以6字节为单元,提取出相关路径信息,若6字节信息全0则代表提取结束。由于前述实施例已说明该的载荷字段中的各节点的路径信息是倒序排列的,因此出节点在提取出各节点的路径信息时,可以在各节点的路径信息之前添加自身的路径信息,该路径信息包括出节点的id,出节点的iif和oif,其中,出节点的oif为空,从而形成完整的从入节点到出节点的转发路径信息。然后cpu构建单播报文,将全部路径信息携带在单播报文中发送给入节点。作为一个实施例,该单播报文携带有入节点,各中间节点和出节点添加的路径信息,及所述原始报文的报文头信息;该单播报文以入节点作为目的节点,出节点对所述单播报文进行bier封装,并将封装后的单播报文发送至所述入节点。入节点收到所述单播报文时,根据所述单播报文中携带的原始报文头确定所述单播报文中的全部路径信息对应的目的节点的转发路径。举例来讲,该单播报文的格式可以参照draft-ietf-bier-ping-03已经定义的格式,其中,该单播报文中的各种时间戳等信息填写0;新定义returncode:11代表是ioamtracereply报文;该单播报文中新增tlv字段,用于传递路径字段信息,新增tlv字段的格式如图3所示。在新增tlv字段中,hopsnumber(1字节)用于表示携带的bfr节点路径跳数,每一跳的路径信息由6字节组成,其中bfr-id(2字节)填写入节点的id,iif(2字节)代表报文入接口的内部索引值,oif(2字节)代表报文出接口的内部索引值;proto字段(6bit),指明后续携带的原始报文头的类型;后续填充原始报文头信息,以使入节点可以根据该原始报文头信息确定获取到路径信息与原始报文头的对应关系,例如,同一时间执行两次查询操作,如:一次路径查询操作配置为:入节点是节点1,出节点是节点4和节点5;另一次路径查询操作配置为:入节点是节点1,出节点是节点6和节点7,那么,针对上述两次路径查询操作,会分别执行不同的查询动作,这样,入节点构建的原始报文是不同的,同样的,入节点在接收到携带全部路径信息的单播报文(即节点4,5,6和7返回的单播报文)时,由于单播报文中添加有原始报文头信息,因此可以确定出哪个单播报文具体属于哪一次查询操作。由于bier可以承载组播流量,二层bum报文等,因此原始报文类型多样,比如ipv4,ipv6,二层等,因此tlv携带的原始报文头内容以设备能力或本地定义实现为准,能够满足入节点判断识别该单播报文对应的所查询的转发路径即可,具体内容本发明不做限定。步骤203、在接收到各出节点发送的单播报文时,根据各单播报文携带的各节点的路径信息确定所查询的转发路径。在本实施例中,入节点收到各出节点发送的单播报文时,可以获取各单播报文中携带的各路径信息,并根据上述各路径信息生成从该入节点到各出节点的组播转发路径,具体生成形式可以根据用户需求而定。入节点可以根据单播报文中携带的原始报文信息确定该单播报文形成的转发路径对应的所查询的目的节点的转发路径。本发明可以通过由入节点构建原始报文(组播报文)来模拟实际业务组播报文在bier网络中的转发过程,并在每个转发节点上获取该转发节点路径信息,再由目的节点通过单播报文将各个节点的路径信息发送给入节点,从而使入节点可以提前准确且高效地查询到组播报文在bier网络中的转发路径。进一步地,由于本发明可以通过业务环回方式将控制层面模拟构造的组播报文按照转发平面的转发流程转发,从而确保bier查询转发路径的准确性,并且本发明通过在指定字节插入路径信息,可以降低中间节点识别各类报文计算偏移量的系统消耗。因此本发明可以在bier中准确且高效的获取组播路径。为使本发明的目的、技术方案及优点更加清楚明白,下面基于图4的组播网络结构,通过图5的查询组播转发路径的交互流程对本发明的方案作进一步地详细说明。bier网络可以支撑的组网很多(如组播网络,evpn网络等),下面以最基础的组播环境为例进行说明。请参考图4,为组播网络结构示意图,其中在路由设备b和路由设备c之间通过bier网络传输数据,路由设备b和路由设备c分别为入节点bfir和出节点bfer。假设相关控制层面已经根据现有bier技术完成。则当用户想查询入节点和出节点之间的转发路径,则具体交互方法如图5所示,其中包括:步骤501、当管理员在控制平面通过cli(command-lineinterface,命令行界面)或其他方式触发入节点bfir,进行指定的路径查询时,入节点bfir会收到路径查询指令,该路径查询指令中携带需要查询的目的节点的地址,入节点的控制平面根据该路径查询指令构造原始报文,该原始报文的目的地址则为路径查询指令中的目的节点的地址,然后入节点可以将该原始报文发送到入节点的业务环回口。步骤502、原始报文通过环回口发回入节点,由于该该原始报文命业务环回口预设的第一qos策略,则可以将原始报文封装为bier报文,该bier报文的目的地址为目的节点的地址;入节点还要为该bier报文添加标识,即将rsv字段置位为11,用于标识该原始报文是用于路径查询的。入节点将bfr-id、iif(iif是空)和oif信息插入到bier报文中从bier头开始的第104字节位置,然后根据bift(bier的转发表)将该bier报文转发至下一节点;步骤503、位于中间节点的路由设备收到该bier报文后,由于根据预设的第二qos策略匹配到该bier报文的rsv是11,则中间节点将自身的bfr-id、iif和oif信息插入到bier报文中从bier头开始的第104字节位置,再转发至下一节点。若该中间节点是复制节点,则每个复制报文都类似操作。步骤504、位于出节点bfer的路由设备c收到该bier报文后,由于该bier报文的目的地址是自身的地址,同时命中预设的第三qos策略中的rsv是11,则将该bier报文解封装得到原始报文上送至cpu。cpu计算偏移量(例如,除去bier头后,偏移60字节),按照6字节为单位取出该原始报文的载荷字段,若6字节全为0,则代表结束。同时cpu添加出节点的路径信息,即出节点的bfr-id、iif和oif信息,其中oif为空。出节点将这些路径信息添加到单播报文中发送回位于入节点bfir的路由设备b,该单播报文携带全部节点的路径信息以及原始报文头。步骤505、入节点根据收到的出节点发送的单播报文中的路径信息,描述出所查询的转发路径。由此可见,本发明可以通过控制层面构建组播报文,并利用环回机制保证路径检测结果和实际数据报文一致;还通过借助qos识别和在载荷的指定字段中插入路径信息等技术方式,降低了对硬件要求,提升了中间节点的转发效率。基于相同的构思,本发明还提供一种查询组播转发路径的装置,该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本发明的查询组播转发路径的装置作为一个逻辑意义上的装置,是通过其所在装置的cpu将存储器中对应的计算机程序指令读取后运行而成。请参考图6,是本发明一种示例性实施方式中的一种查询组播转发路径的装置600,所述装置应用于bier网络中的入节点,从逻辑层面上来看,该装置600的逻辑结构包括:第一构建单元601,用于在接收到路径查询指令时,构建原始报文,并在对所述原始报文进行bier封装时,将自身的路径信息添加到所述原始报文中;报文转发单元602,用于将封装后的bier报文转发至下一节点,以使得作为中间节点的下一节点将自身的路径信息添加到所述原始报文中,并转发至下一节点;或者,以使得作为出节点的下一节点从所述原始报文中提取出各节点的路径信息,并在提取出的路径信息中添加自身的路径信息,以及将各节点的路径信息携带在单播报文中发送给所述入节点;路径确定单元603,用于在接收到各出节点发送的单播报文时,根据各单播报文携带的各节点的路径信息确定所查询的转发路径。作为一个实施例,所述报文构建单元601,具体用于由cpu构建原始报文,并发送至业务环回口,以使得所述业务环回口对所述原始报文进行bier封装,并基于预设的第一qos策略在bier头中设置第一标识,以及将自身的路径信息添加到所述原始报文的载荷字段中的指定位置,其中,所述第一标识用于表征所述原始报文用于路径查询;所述装置还包括:信息添加单元604,用于在接收到上一节点发送的bier报文时,若基于预设的第二qos策略确定bier头中携带有第一标识,则在转发层面将自身的路径信息添加到所述原始报文的载荷字段中的指定位置。作为一个实施例,所述装置还包括:信息提取单元605,用于在接收到上一节点发送的bier报文时,若基于预设的第三qos策略确定bier头中携带有第一标识,则对该bier报文进行bier解封装,并将解封装后得到的原始数据报文发送至cpu,以使得cpu从该原始报文的载荷字段中的指定位置开始,依次提取出各节点的路径信息,并在提取出的各节点的路径信息之前添加自身的路径信息。作为一个实施例,所述装置还包括:第二构建单元606,用于由cpu构建单播报文,该单播报文携带有入节点,各中间节点和出节点添加的路径信息,及所述原始报文的报文头信息;以入节点作为目的节点,对所述单播报文进行bier封装,并将封装后的单播报文发送至所述入节点。作为一个实施例,一个节点的路径信息包括该一个节点的节点标识,bier报文入接口的索引信息和该bier报文出接口的索引信息。需要说明的是,在组网中每个网络节点都可具有本实施例提供的查询组播转发路径装置,而各个功能单元并不一定均需要在每个网络节点上运行;各节点在作为不同的角色时,使用的功能单元是不同的,作为入节点时,使用的功能单元可以为所述的第一构建单元601、报文转发单元602和路径确定单元603;作为中间节点时,使用的功能单元可以为所述信息添加单元604;作为出节点时,使用的功能单元可以为所述信息提取单元605和所述第二构建单元606。基于相同的构思,本发明还提供一种网络设备,如图7所示,所述网络设备包括存储器71、处理器72、通信接口73以及通信总线74;其中,所述存储器71、处理器72、通信接口73通过所述通信总线74进行相互间的通信;所述存储器71,用于存放计算机程序;所述处理器72,用于执行所述存储器71上所存放的计算机程序,所述处理器72执行所述计算机程序时实现本发明实施例提供的查询组播转发路径方法的任一步骤。本发明还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的查询组播转发路径方法的任一步骤。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于网络设备和计算机可读存储介质的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1