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

专利2022-05-09  129


本申请涉及网络通信技术领域,特别涉及一种报文转发方法及装置。



背景技术:

sr(segmentrouting,段路由)采用源节点路径选择机制,预先在源节点封装好路径所要经过段的sid(segmentidentifier,段标识),当报文经过sr节点时,该节点根据报文的sid对报文进行转发。除源节点外,其它节点无需维护路径状态。ipv6sr(srv6)是指在ipv6网络中使用sr、将ipv6地址作为sid对报文进行转发。

srv6segment通常简称srv6sid(segmentidentifier)或sid,sid表现为一个128bits的ipv6地址。segmentlist就表现为插入在srh中的一组有序的ipv6地址列表。sid中含有相关指令和可带参数,具体如下:sid由locator和function两部分组成,进一步地,function部分还可以分出一个可选的参数段arguments,格式是locator:function:arguments,其中,locator占据ipv6地址的高比特位,function部分占据ipv6地址的其余部分,可选参数arguments占据ipv6地址的低比特位。

locator(位置标识):网络中分配给一个网络节点的标识,可以用于路由和转发数据包。locator有两个重要的属性,可路由和聚合。在srv6sid中locator是一个可变长的部分,用于适配不同规模的网络。

function(功能):设备分配给本地转发指令的一个id值,该值可用于表达需要设备执行的转发动作,相当于计算机指令的操作码。在srv6网络编程中,不同的转发行为由不同的功能id来表达。一定程度上功能id和mpls标签类似,用于标识vpn转发实例等。

args(变量):转发指令在执行的时候所需要的参数,这些参数可能包含流,服务或任何其他相关的可变信息。

交换芯片转发的流程一般是在入方向实现隧道的解封装和广播域的分发,在出方向实现隧道的封装。交换芯片tti(tunnel-terminationandinterface,隧道终结及接口)引擎实现隧道解封装功能和广播域的分发。ingresspolicy引擎实现对mqc和pbr等功能的支持。bridge引擎主要实现二层转发,router引擎实现三层转发。headermodification引擎加ts(tunnel-start,隧道封装)封装头。

以adcampus三层组网模型包括spine、leaf、access三层设备为例,在adcampussrv6环境中,leaf与ap间建立srv6隧道,leaf与leaf间也需要建立srv6隧道。当ap与leaf、leaf和leaf之间走广播流量的时候,广播域vsi映射到srv6头dip中的function字段中。

以ap与leaf间的链路为例,如果dip中包含的function(映射vsi)不同,隧道也就不同。正常情况下,ap与leaf间需要建立ap的个数*vsi个数个隧道。同样在出方向,要将报文转发到不同的leaf或者ap,同时要将不同的vsi信息能带到目的设备。加封装时需要vsi个数*leaf(ap)个数个ts封装资源。例如:ap与leaf:500个ap,20个vsi,总共需要消耗500*20个=10k个ts封装资源。leaf与leaf:200个leaf,100个vsi,总共需要消耗200*100=20k个ts封装资源。那么整网leaf共需要消耗10k 20k=30k个ts封装资源。

但是一般的汇聚盒式设备,tti解封装资源也就3k左右,ipv6的ts封装资源也只有10k左右,很显然是没法满足500个ap和200个leaf的组网需求。要想达到以上的组网,也只有使用比较强大的框式设备和硬件资源非常丰富的设备。但是以上设备又会存在成本高昂的问题,性价比不高。



技术实现要素:

本申请提供了一种报文转发方法及装置,用以解决现有技术中存在的设备封装、解封装资源不足的问题。

第一方面,本申请提供了一种报文转发方法,应用于网络设备,所述网络设备与接入本地的接入点ap和对端网络设备之间均建立一条srv6隧道,所述方法包括:

接收目标ap发送的第一报文,其中,所述目标ap在接收到终端发送的原始报文后,在所述原始报文上封装第一srv6头得到所述第一报文,并通过与所述网络设备之间建立的第一srv6隧道发送所述第一报文;

对所述第一报文进行解封装处理得到第二报文,从转发所述原始报文的转发路径上确定出转发所述原始报文的下一跳设备;

在所述原始报文上封装第二srv6头得到第三报文,以及通过与所述下一跳设备之间建立的第二srv6隧道发送所述第三报文。

可选地,所述srv6头包括:ipv6头、段路由sr头;所述ipv6头中目的地址da字段包括所述srv6隧道的目的ip地址,所述目的ip地址由位置标识locator、功能function组成;所述sr头包括段标识sid列表,所述sid列表包括转发所述原始报文的转发路径上各个网络设备对应的sid。

可选地,所述方法还包括:

通过本地srv6隧道口接收第四报文;

当所述第四报文被封装的ipv6头中da字段中目的ip地址为本设备的ip地址时,若确定所述网络设备作为所述第四报文的转发路径上的中间设备,则在转发所述第四报文时,依据第所述第四报文封装的sid列表中的指定sid确定下一跳设备,并根据本地的拓扑连接信息和转发域信息修改修改所述da字段中的function值,得到第五报文,所述指定sid为本网络设备在所述转发路径上的下一跳设备所对应的sid。

可选地,

若确定所述网络设备作为所述第四报文的转发路径上的尾设备,则在转发所述第四报文时,去除所述第四报文被封装的srv6头得到所述原始报文,并依据所述原始报文的目的ip地址转发所述原始报文。

可选地,基于各设备的位置标识locator,所述网络设备与接入本地的ap和对端网络设备之间建立一条srv6隧道。

第二方面,本申请提供了一种报文转发装置,应用于网络设备,所述网络设备与接入本地的接入点ap和对端网络设备之间均建立一条srv6隧道,所述装置包括:

接收单元,用于接收目标ap发送的第一报文,其中,所述目标ap在接收到终端发送的原始报文后,在所述原始报文上封装第一srv6头得到所述第一报文,并通过与所述网络设备之间建立的第一srv6隧道发送所述第一报文;

解封装单元,用于对所述第一报文进行解封装处理得到第二报文,从转发所述原始报文的转发路径上确定出转发所述原始报文的下一跳设备;

封装单元,用于在所述原始报文上封装第二srv6头得到第三报文,以及通过与所述下一跳设备之间建立的第二srv6隧道发送所述第三报文。

可选地,所述srv6头包括:ipv6头、段路由sr头;所述ipv6头中目的地址da字段包括所述srv6隧道的目的ip地址,所述目的ip地址由位置标识locator、功能function组成;所述sr头包括段标识sid列表,所述sid列表包括转发所述原始报文的转发路径上各个网络设备对应的sid。

可选地,

所述接收单元还用于,通过本地srv6隧道口接收第四报文;

当所述第四报文被封装的ipv6头中da字段中目的ip地址为本设备的ip地址时,若所述解封装单元确定所述网络设备作为所述第四报文的转发路径上的中间设备,则所述封装单元在转发所述第四报文时,依据第所述第四报文封装的sid列表中的指定sid确定下一跳设备,并根据本地的拓扑连接信息和转发域信息修改修改所述da字段中的function值,得到第五报文,所述指定sid为本网络设备在所述转发路径上的下一跳设备所对应的sid。

可选地,

若所述解封装单元确定所述网络设备作为所述第四报文的转发路径上的尾设备,则所述封装单元在转发所述第四报文时,去除所述第四报文被封装的srv6头得到所述原始报文,并依据所述原始报文的目的ip地址转发所述原始报文。

可选地,基于各设备的位置标识locator,所述网络设备与接入本地的ap和对端网络设备之间建立一条srv6隧道。

第三方面,本申请实施例提供一种网络设备,该网络设备包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项所述的方法的步骤。

第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述方法的步骤。

综上可知,本申请实施例提供的报文转发方法,应用于网络设备,所述网络设备与接入本地的接入点ap和对端网络设备之间均建立一条srv6隧道,所述方法包括:接收目标ap发送的第一报文,其中,所述目标ap在接收到终端发送的原始报文后,在所述原始报文上封装第一srv6头得到所述第一报文,并通过与所述网络设备之间建立的第一srv6隧道发送所述第一报文;对所述第一报文进行解封装处理得到第二报文,从转发所述原始报文的转发路径上确定出转发所述原始报文的下一跳设备;在所述原始报文上封装第二srv6头得到第三报文,以及通过与所述下一跳设备之间建立的第二srv6隧道发送所述第三报文。

采用本申请实施例提供的网络设备根据各设备的locator与接入本地的各ap和对端网络设备之间均只建立一条srv6隧道,而无需针对每一业务建议一条srv6隧道,大大减少了在报文出方向的隧道封装资源,报文入方向的隧道解封装资源。避免出现大型组网中,网络设备隧道封装资源和隧道解封装资源不足的问题。

附图说明

为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。

图1为本申请实施例提供的一种报文转发方法的详细流程图;

图2为本申请实施例提供的一种srv6组网结构示意图;

图3为本申请实施例提供的一种srv6隧道关联示意图;

图4为本申请实施例提供的另一种srv6隧道关联示意图;

图5为本申请实施例提供的报文转发流程示意图;

图6为本申请实施例提供的一种报文转发装置的结构示意图;

图7为本申请实施例提供的一种网络设备的结构示意图。

具体实施方式

在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

示例性的,参阅图1所示,为本申请实施例提供的一种报文转发方法的详细流程图,应用于网络设备,所述网络设备与接入本地的接入点ap和对端网络设备之间均建立一条srv6隧道,该方法包括以下步骤:

步骤100:接收目标ap发送的第一报文,其中,所述目标ap在接收到终端发送的原始报文后,在所述原始报文上封装第一srv6头得到所述第一报文,并通过与所述网络设备之间建立的第一srv6隧道发送所述第一报文。

本申请实施例中,以三层srv6组网模型为例进行说明,示例性的,参阅图2所示,为本申请实施例提供的一种srv6组网结构示意图,该srv6组网包括spine设备,leaf设备和access设备三层设备,其中,access设备可以接有线用户也可以接ap无线用户。三层组网模型中spine设备主要作为路由反射器rr和路由转发设备,用于转发不同leaf设备之间的路由,以及作为border设备实现与服务器之间的互通。本申请实施例提供的srv6组网中,设计成ap与leaf间建立一条srv6虚隧道。leaf1与leaf2间建立一条srv6隧道。leaf与spine间也是建立一条srv6隧道。

也就是说,在多业务场景下,同一用户的不同业务报文采用不同的转发域进行转发的,如,在srv6环境中,若ap设备与leaf设备、leaf设备和leaf设备之间走广播流量的时候,广播域vsi(virtualswitchinginstance,虚拟交换实例)映射到srv6头dip中的function字段中,即不同的业务映射至不同的vsi。

本申请实施例中,在建立ap设备与leaf设备,leaf设备与leaf设备之间的srv6隧道时,基于各设备的locator(位置标识)网络设备与接入本地的ap和对端网络设备之间建立一条srv6隧道。

也就是说,在多vsi场景下,本申请实施例中,网络设备与接入本地的各ap之间均只建立一条srv6隧道,仅基于ap的locator建立一条srv6隧道即可,无需针对一个ap的多个vsi均建立一条与对应vsi的srv6隧道。

本申请实施例中,当目标ap接收到一个终端发送的业务报文(原始报文)时,根据拓扑连接信息和广播域信息,在该业务报文上加封装一个srv6头(第一srv6头),其中,一个srv6头至少包括:ipv6头、段路由sr头;所述ipv6头中目的地址da字段包括所述srv6隧道的目的ip地址,所述目的ip地址由位置标识locator、功能function组成;所述sr头包括段标识sid列表,所述sid列表包括转发所述原始报文的转发路径上各个网络设备对应的sid。

在目标ap对原始报文进行srv6头封装,得到第一报文时,即已确定出用户转发该原始报文的转发路径(包括转发该原始报文的各设备),那么,在srv6头封装完成之后,即可根据srv6头中目的地址da字段包括的srv6隧道的目的ip地址,确定转发该第一报文的srv6隧道(目标ap与下一跳网络设备之间建立的srv6隧道),并通过该srv6隧道发送给下一跳网络设备(本申请实施例中,目标ap对应的下一跳网络设备为本方法实施例的执行主体)。网络设备通过与目标ap之间建立的srv6隧道接口接收目标ap发送的第一报文。

综上可知,本申请实施例中,在多vsi场景下,为了节省隧道资源,需要将相同locator的ap设备通道封装成一个srv6隧道,也即不管有多少个functionid(可以映射到vsi),ap设备与leaf设备之间只需建立一个srv6隧道即可。芯片tti引擎需要将目的ip的function部分掩码掉,只需要匹配locator部分即可。这样一个ap设备和leaf设备之间的隧道将只需要消耗一条tti资源。如图3所示,为本申请实施例提供的一种srv6隧道关联示意图,locator相同,function不同的报文(即同一ap设备向leaf设备发送的不同业务类型的报文),可通过同一隧道发送至leaf设备。同理,leaf与leaf的节省资源同ap与leaf一样。通过节省资源,整个系统只需要消耗ap的个数 leaf个数个封装资源。

步骤110:对所述第一报文进行解封装处理得到第二报文,从转发所述原始报文的转发路径上确定出转发所述原始报文的下一跳设备。

本申请实施例中,网络设备在接收到目标ap发送的第一报文后,对该第一报文进行解封装处理得到第二报文,根据该第一报文的srv6头确定转发该第一报文对应的原始报文的下一跳设备,实际应用中,网络设备的一个srv6隧道口可以接收到同一个ap设备发送的多种locator相同,而function(映射vsi)不同的业务报文,即网络设备的一个srv6隧道口可以接收到同一ap设备发送的多种不同类型的业务报文。若一个ap发送的业务报文的业务类型固定,则该业务报文的locator不变。这样,在解封装时,针对一个ap设备发送的业务报文,只需消耗一个解封装资源tti。

步骤120:在所述原始报文上封装第二srv6头得到第三报文,以及通过与所述下一跳设备之间建立的第二srv6隧道发送所述第三报文。

本申请实施例中,网络设备在对接收到的第一报文进行解封装处理得到第二报文,并依据第一报文的srv6头中封装的sid列表,确定出转发该第一报文对应的原始报文的下一跳设备后,在第二报文上封装srv6头,具体地,在确定出转发该第一报文对应的原始报文的下一跳设备后,网络设备需要本地预设的vsi的广播域转发表确定该第一报文对应的原始报文的vsi,实际应用中,vsi与业务属性相对应,即业务1的业务报文采用vsi1转发,业务2的业务报文采用vsi2转发。本申请实施例中,可以根据本地的拓扑连接信息和转发域信息修改修改所述da字段中的function值(映射vsi),完成function的封装。

需要说明的是,本申请实施例中,在第一次对原始报文进行srv6封装时,sid列表中各sid的function值为未预先配置的,function的封装需要由网络设备的芯片的pha引擎根据本地的vsi的广播域转发表来进行二次封装。

示例性的,参阅图4所示,为本申请实施例提供的另一种srv6隧道关联示意图。假设leaf1与leaf2之间的一个物理通道,需要承载3个vsi,正常情况需要消耗3个ts封装资源。为了节省ts封装资源,需要芯片在pha引擎可以根据vsi(evlan)的信息动态修改function的值,这样可以达到不同的vsi(function)使用同一个ts封装资源。也即pha引擎需要根据evlan(vsi)的值,动态修改function的值。

例如:ifevlan=1,function=1;

elseifevlan=2,function=2;

elseifevlan=3,function=3;

这样,相同的目的locator通道,不同的vsi,只需要消耗一份ts资源,出去的function的值通过pha动态修改即可。如,leaf1设备的pha引擎需要根据vsi=1分配function=200,vsi=2分配function=300。这样目的ip是leaf2设备,但是两个vsi只需要消耗1个ts资源。vsi越多,优化效果越明显。

进一步地,通过本地srv6隧道口接收第四报文;

当所述第四报文被封装的ipv6头中da字段中目的ip地址为本设备的ip地址时,若确定所述网络设备作为所述第四报文的转发路径上的中间设备,则在转发所述第四报文时,依据第所述第四报文封装的sid列表中的指定sid确定下一跳设备,并根据本地的拓扑连接信息和转发域信息修改修改所述da字段中的function值,得到第五报文,所述指定sid为本网络设备在所述转发路径上的下一跳设备所对应的sid。

更进一步地,若确定所述网络设备作为所述第四报文的转发路径上的尾设备,则在转发所述第四报文时,去除所述第四报文被封装的srv6头得到所述原始报文,并依据所述原始报文的目的ip地址转发所述原始报文。

下面结合具体地应用场景对本申请实施例提供的报文转发流程进行详细说明。示例性的,参阅图5所示,为本申请实施例提供的一种报文转发流程示意图,ap收到来自用户的不同业务类型的业务报文,根据拓扑连接信息和广播域信息分别添加封装不同的srv6头,例如,图中vsi1,function字段填的50。vsi2,function字段填的60,同时携带不同的身份和应用信息。args(身份和业务信息)在本申请实施例中不做重点介绍,类同function字段,本申请实施例只关注function字段。ap不同类型的业务报文送到leaf1后,leaf1先去掉隧道头,然后根据内层报文转发,同时将出去的报文封装不同的dip到leaf2,其中locator相同,但是function(vsi广播域)不同。例如,图中vsi1,function字段填的200,vsi2,function字段填的300。

需要说明的是,各网络设备的vsi的转发域规则可以单独配置,即针对网络设备1,业务类型1的业务报文采用vsi1广播域转发,业务类型2的业务报文可采用vsi2广播域转发,而针对网络设备2而言,业务类型1的业务报文可以采用vsi1广播域转发,也可以采用vsi2广播域转发。本申请实施例中,在此不做具体限定。

基于与上述方法实施例同样的发明构思,示例性的,参阅图6所示,为本申请实施例提供的一种报文转发装置的结构示意图,该装置应用于网络设备,所述网络设备与接入本地的接入点ap和对端网络设备之间均建立一条srv6隧道,所述装置包括:

接收单元60,用于接收目标ap发送的第一报文,其中,所述目标ap在接收到终端发送的原始报文后,在所述原始报文上封装第一srv6头得到所述第一报文,并通过与所述网络设备之间建立的第一srv6隧道发送所述第一报文;

解封装单元61,用于对所述第一报文进行解封装处理得到第二报文,从转发所述原始报文的转发路径上确定出转发所述原始报文的下一跳设备;

封装单元62,用于在所述原始报文上封装第二srv6头得到第三报文,以及通过与所述下一跳设备之间建立的第二srv6隧道发送所述第三报文。

可选地,所述srv6头包括:ipv6头、段路由sr头;所述ipv6头中目的地址da字段包括所述srv6隧道的目的ip地址,所述目的ip地址由位置标识locator、功能function组成;所述sr头包括段标识sid列表,所述sid列表包括转发所述原始报文的转发路径上各个网络设备对应的sid。

可选地,

所述接收单元60还用于,通过本地srv6隧道口接收第四报文;

当所述第四报文被封装的ipv6头中da字段中目的ip地址为本设备的ip地址时,若所述解封装单元61确定所述网络设备作为所述第四报文的转发路径上的中间设备,则所述封装单元62在转发所述第四报文时,依据第所述第四报文封装的sid列表中的指定sid确定下一跳设备,并根据本地的拓扑连接信息和转发域信息修改修改所述da字段中的function值,得到第五报文,所述指定sid为本网络设备在所述转发路径上的下一跳设备所对应的sid。

可选地,

若所述解封装单元61确定所述网络设备作为所述第四报文的转发路径上的尾设备,则所述封装单元62在转发所述第四报文时,去除所述第四报文被封装的srv6头得到所述原始报文,并依据所述原始报文的目的ip地址转发所述原始报文。

可选地,基于各设备的位置标识locator,所述网络设备与接入本地的ap和对端网络设备之间建立一条srv6隧道。

以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个微处理器(digitalsingnalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。

进一步地,本申请实施例提供的报文转发装置,从硬件层面而言,所述报文转发装置的硬件架构示意图可以参见图7所示,所述报文转发装置可以包括:存储器70和处理器71,

存储器70用于存储程序指令;处理器71调用存储器70中存储的程序指令,按照获得的程序指令执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。

可选地,本申请还提供一种网络设备,包括用于执行上述方法实施例的至少一个处理元件(或芯片)。

可选地,本申请还提供一种程序产品,例如计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述方法实施例。

这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。


技术特征:

1.一种报文转发方法,其特征在于,应用于网络设备,所述网络设备与接入本地的接入点ap和对端网络设备之间均建立一条srv6隧道,所述方法包括:

接收目标ap发送的第一报文,其中,所述目标ap在接收到终端发送的原始报文后,在所述原始报文上封装第一srv6头得到所述第一报文,并通过与所述网络设备之间建立的第一srv6隧道发送所述第一报文;

对所述第一报文进行解封装处理得到第二报文,从转发所述原始报文的转发路径上确定出转发所述原始报文的下一跳设备;

在所述原始报文上封装第二srv6头得到第三报文,以及通过与所述下一跳设备之间建立的第二srv6隧道发送所述第三报文。

2.如权利要求1所述的方法,其特征在于,所述srv6头包括:ipv6头、段路由sr头;所述ipv6头中目的地址da字段包括所述srv6隧道的目的ip地址,所述目的ip地址由位置标识locator、功能function组成;所述sr头包括段标识sid列表,所述sid列表包括转发所述原始报文的转发路径上各个网络设备对应的sid。

3.如权利要求2所述的方法,其特征在于,所述方法还包括:

通过本地srv6隧道口接收第四报文;

当所述第四报文被封装的ipv6头中da字段中目的ip地址为本设备的ip地址时,若确定所述网络设备作为所述第四报文的转发路径上的中间设备,则在转发所述第四报文时,依据第所述第四报文封装的sid列表中的指定sid确定下一跳设备,并根据本地的拓扑连接信息和转发域信息修改修改所述da字段中的function值,得到第五报文,所述指定sid为本网络设备在所述转发路径上的下一跳设备所对应的sid。

4.如权利要求3所述的方法,其特征在于,

若确定所述网络设备作为所述第四报文的转发路径上的尾设备,则在转发所述第四报文时,去除所述第四报文被封装的srv6头得到所述原始报文,并依据所述原始报文的目的ip地址转发所述原始报文。

5.如权利要求1所述的方法,其特征在于,基于各设备的位置标识locator,所述网络设备与接入本地的ap和对端网络设备之间建立一条srv6隧道。

6.一种报文转发装置,其特征在于,应用于网络设备,所述网络设备与接入本地的接入点ap和对端网络设备之间均建立一条srv6隧道,所述装置包括:

接收单元,用于接收目标ap发送的第一报文,其中,所述目标ap在接收到终端发送的原始报文后,在所述原始报文上封装第一srv6头得到所述第一报文,并通过与所述网络设备之间建立的第一srv6隧道发送所述第一报文;

解封装单元,用于对所述第一报文进行解封装处理得到第二报文,从转发所述原始报文的转发路径上确定出转发所述原始报文的下一跳设备;

封装单元,用于在所述原始报文上封装第二srv6头得到第三报文,以及通过与所述下一跳设备之间建立的第二srv6隧道发送所述第三报文。

7.如权利要求6所述的装置,其特征在于,所述srv6头包括:ipv6头、段路由sr头;所述ipv6头中目的地址da字段包括所述srv6隧道的目的ip地址,所述目的ip地址由位置标识locator、功能function组成;所述sr头包括段标识sid列表,所述sid列表包括转发所述原始报文的转发路径上各个网络设备对应的sid。

8.如权利要求7所述的装置,其特征在于,

所述接收单元还用于,通过本地srv6隧道口接收第四报文;

当所述第四报文被封装的ipv6头中da字段中目的ip地址为本设备的ip地址时,若所述解封装单元确定所述网络设备作为所述第四报文的转发路径上的中间设备,则所述封装单元在转发所述第四报文时,依据第所述第四报文封装的sid列表中的指定sid确定下一跳设备,并根据本地的拓扑连接信息和转发域信息修改修改所述da字段中的function值,得到第五报文,所述指定sid为本网络设备在所述转发路径上的下一跳设备所对应的sid。

9.如权利要求8所述的装置,其特征在于,

若所述解封装单元确定所述网络设备作为所述第四报文的转发路径上的尾设备,则所述封装单元在转发所述第四报文时,去除所述第四报文被封装的srv6头得到所述原始报文,并依据所述原始报文的目的ip地址转发所述原始报文。

10.如权利要求6所述的装置,其特征在于,基于各设备的位置标识locator,所述网络设备与接入本地的ap和对端网络设备之间建立一条srv6隧道。

技术总结
本申请涉及网络通信技术领域,特别涉及一种报文转发方法及装置。该方法应用于网络设备,所述网络设备与接入本地的接入点AP和对端网络设备之间均建立一条SRV6隧道,所述方法包括:接收目标AP发送的第一报文,其中,所述目标AP在接收到终端发送的原始报文后,在所述原始报文上封装第一SRv6头得到所述第一报文,并通过与所述网络设备之间建立的第一SRv6隧道发送所述第一报文;对所述第一报文进行解封装处理得到第二报文,从转发所述原始报文的转发路径上确定出转发所述原始报文的下一跳设备;在所述原始报文上封装第二SRv6头得到第三报文,以及通过与所述下一跳设备之间建立的第二SRv6隧道发送所述第三报文。

技术研发人员:梁学伟
受保护的技术使用者:新华三信息安全技术有限公司
技术研发日:2021.03.29
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-1220.html

最新回复(0)