网络中报文转发的方法、网络节点、网络系统与流程

文档序号:22253261发布日期:2020-09-18 13:12阅读:231来源:国知局
网络中报文转发的方法、网络节点、网络系统与流程
本申请涉及通信领域,并且更具体地,涉及一种网络中报文转发的方法、网络节点、网络系统。
背景技术
:随着互联网的发展,互联网协议第6版(internetprotocolversion6,ipv6)是互联网工程任务组设计的用于替代互联网协议第4版(internetprotocolversion4,ipv4)的下一代ip协议。互联网协议第6版段路由(internetprotocolversion6segmentrouting,srv6)是基于源路由理念而设计的在网络上转发ipv6报文包的一种方法。该srv6中报文的转发通常包括以下三类设备:运营商边缘(provideredge,pe)设备、运营商(provider,p)设备和客户边缘(customeredge,ce)设备。pe设备和p设备为提供vpn服务的运营商网络中的设备。ce设备为应用该vpn服务的客户网络中的设备。该客户网络中还可以包括其他设备,例如终端设备等。为了避免由于pe设备发生故障造成数据无法发送至ce的情况发生,可以设置两个pe分别连接统一个ce,这两个pe设备分为主pe和备份pe设备,当主pe设备故障无法进行数据转发时,流量可以切换到备口pe设备。目前采用的方案是对每个pe设备均人工进行任播组(anycastgroup)配置,该配置比较复杂,且有一部分数据还需先到主pe设备,再由主pe设备转发至备pe设备,从而造成数据的绕行问题,使得数据传输率较低。技术实现要素:本申请提供一种网络中报文转发的方法、网络节点、网络系统,提高了报文的传输速率。第一方面,提供了一种网络中报文转发的方法,其特征在于,所述网络包括第一网络节点、第二网络节点和第三网络节点,所述第一网络节点分别连接所述第二网络节点和所述第三网络节点,所述第二网络节点和所述第三网络节点分别与同一个私网连接,所述方法应用于所述第一网络节点,所述方法包括:生成第一段标识sid和第二sid的对应关系,所述第一sid为所述第二网络节点存储的对应所述私网的标识,所述第二sid为所述第三网络节点的sid;接收第一报文,所述第一报文的目的地址da为所述第一sid;当确定所述第二网络节点不可达时,将所述第二sid添加到所述第一报文中生成第二报文,并将所述第二报文向所述第三网络节点发送。当第二网络节点不可达时,第一网络节点将本该发往第二网络节点的报文转发至第三网络节点,让第三网络节点将该报文转发至目的设备,从而可以避免部分报文绕行的问题,提高了报文的传输速率。结合第一方面,在一种可能的实现方式中,所述生成第一sid和第二sid的对应关系包括:生成所述第一sid的定位字段和第二sid的对应关系。第一网络节点可以获取到第二网络节点的私网路由标识与第三网络节点的sid,从而将第二网络节点和第三网络节点之间绑定关系,在第二网络节点不大达的情况下,可以实现本该发往第二网络节点的报文成功发送至目的设备。结合第一方面,在一种可能的实现方式中,所述方法包括:接收所述第二网络节点发送的通告报文,所述通告报文包含所述第一sid和所述第二sid的对应关系,或者,接收网管设备配置的所述第一sid和所述第二sid的对应关系,或者,接收所述第三网络节点发送的所述第一sid和所述第二sid的对应关系。第一网络节点通过从第二网络节点、网管设备、或第三网络设备获取第一sid和第二sid的对应关系,以便第一网络节点确定第一报文传输的下一个节点。结合第一方面,在一种可能的实现方式中,所述将所述第二sid添加到所述第一报文中生成第二报文包括:在所述第一报文中添加srh,所述srh中包含所述第二sid。第一网络节点通过从在第一报文中添加包含有第二sid的扩展头srh,以便第三网络节点会成功接收该第第二报文。第二方面,提供了一种网络中报文转发的方法,所述网络包括第一网络节点、第二网络节点和第三网络节点,所述第一网络节点分别连接所述第二网络节点和所述第三网络节点,所述第二网络节点和所述第三网络节点分别与同一个私网连接,所述第三网络节点存储有到达所述私网的路由表,所述方法应用于所述第三网络节点,所述方法包括:生成第一sid和私网路由表的对应关系,所述第一sid为所述第二网络节点存储的对应所述私网的标识,所述路由表为到达所述私网的私网路由表;接收所述第一网络节点发送的报文,所述报文的srh包含所述第一sid和所述第二sid;根据所述第一sid和所述第二sid确定所述私网路由表;利用所述私网路由表转发所述报文。第三网络节点生成第一sid和到达私网的私网路由表的对应关系,并根据第一sid和第二sid确定转发该报文的私网路由表,可以实现报文成功传输至目的设备。结合第二方面,在一种可能的实现方式中,所述根据所述第一sid和所述第二sid确定路由表包括:根据所述第二sid的功能字段确定需要利用所述第一sid确定转发所述报文的路由表;根据所述第一sid和所述对应关系,确定转发所述报文的路由表为所述私网路由表。第三网络节点根据第二sid的功能字段,可以知道第三网络节点转发报文的路由表,第三网络节点再根据第一sid和第一sid与私网路由表的对应关系确定转发报文的路由表就是私网路由表,从而第三网络设备可以知道转发该报文的da。结合第二方面,在一种可能的实现方式中,所述利用所述私网路由表转发所述报文包括:将所述报文的srh删除,使用删除srh的所述报文的da查找所述私网路由表,根据匹配的路由表项转发删除了srh的所述报文。第三网络节点通过删除报文的srh,并根据删除srh的报文的da,查找转发该报文的私网路由,从而实现该报文能够成功转发至目的设备。结合第二方面,在一种可能的实现方式中,在所述生成第一sid和所述私网路由表的对应关系之前,所述方法还包括:接收所述第二网络节点发送的所述第一sid。结合第二方面,在一种可能的实现方式中,在所述生成第一sid和所述私网路由表的对应关系之前,所述方法还包括:接收所述第二网络节点发送的所述第二网络节点到达所述私网的路由;将所述第二网络节点到达私网的路由添加到所述私网路由表中。第三网络节点通过获取的第二网络节点到达私网的路由,以便后续第三网络节点可以知道转发报文的私网路由,实现第三网络节点转发该报文至目的设备。结合第二方面,在一种可能的实现方式中,所述方法还包括:向所述第一网络节点发送所述第一sid和所述第二sid的对应关系。第三方面,提供了一种网络节点,所述网络包括第一网络节点、第二网络节点和第三网络节点,所述第一网络节点分别连接所述第二网络节点和所述第三网络节点,所述第二网络节点和所述第三网络节点分别与同一个私网连接,所述网络节点为所述第一网络节点,所述网络节点包括:处理单元,用于生成第一sid和第二sid的对应关系,所述第一sid为所述第二网络节点存储的对应所述私网的标识,所述第二sid为所述第三网络节点的sid;接收单元,用于接收第一报文,所述第一报文的da为所述第一sid;当确定所述第二网络节点不可达时,处理单元,还用于将所述第二sid添加到所述第一报文中生成第二报文,并将所述第二报文向所述第三网络节点发送。结合第三方面,在一种可能的实现方式中,所述处理单元具体用于生成所述第一sid的定位字段和第二sid的对应关系。结合第三方面,在一种可能的实现方式中,所述处理单元还具体用于接收所述第二网络节点发送的通告报文,所述通告报文包含所述第一sid和所述第二sid的对应关系,或者,接收网管设备配置的所述第一sid和所述第二sid的对应关系,或者,接收所述第三网络节点发送的所述第一sid和所述第二sid的对应关系。结合第三方面,在一种可能的实现方式中,所述处理单元还具体用于在所述第一报文中添加srh,所述srh中包含所述第二sid。第四方面,提供了一种网络节点,所述网络包括第一网络节点、第二网络节点和第三网络节点,所述第一网络节点分别连接所述第二网络节点和所述第三网络节点,所述第二网络节点和所述第三网络节点分别与同一个私网连接,所述第三网络节点存储有到达所述私网的路由表,所述网络节点为第三网络节点,所述网络节点包括:处理单元,用于生成第一sid和私网路由表的对应关系,所述第一sid为所述第二网络节点存储的对应所述私网的标识,所述路由表为到达所述私网的私网路由表;接收单元,用于接收所述第一网络节点发送的报文,所述报文的srh包含所述第一sid和所述第二sid;处理单元,还用于根据所述第一sid和所述第二sid确定所述私网路由表;发送单元,用于利用所述私网路由表转发所述报文。结合第四方面,在一种可能的实现方式中,所述处理单元具体用于根据所述第二sid的功能字段确定需要利用所述第一sid确定转发所述报文的路由表;所述处理单元还具体用于根据所述第一sid和所述对应关系,确定转发所述报文的路由表为所述私网路由表。结合第四方面,在一种可能的实现方式中,所述处理单元还具体用于将所述报文的srh删除,使用删除srh的所述报文的da查找所述私网路由表,根据匹配的路由表项转发删除了srh的所述报文。结合第四方面,在一种可能的实现方式中,所述接收单元具体用于接收所述第二网络节点发送的所述第一sid。结合第四方面,在一种可能的实现方式中,所述接收单元还具体用于接收所述第二网络节点发送的所述第二网络节点到达所述私网的路由;所述处理单元还具体用于将所述第二网络节点到达私网的路由添加到所述私网路由表中。结合第四方面,在一种可能的实现方式中,所述发送单元还具体用于向所述第一网络节点发送所述第一sid和所述第二sid的对应关系。第五方面,提供了一种网络节点,所述网络节点包括收发器、处理器和存储器。该处理器用于控制收发器收发信号,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该网络节点执行第一方面或第一方面任一种可能实现方式中的方法。在一种设计中,所述网络节点为通信芯片,所述发送单元可以为所述通信芯片的输入电路或者接口,所述发送单元可以为所述通信芯片的输出电路或者接口。第六方面,提供了一种网络节点,所述网络节点包括收发器、处理器和存储器。该处理器用于控制收发器收发信号,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该网络节点执行第二方面或第二方面任一种可能实现方式中的方法。在一种设计中,所述网络节点为通信芯片,所述发送单元可以为所述通信芯片的输入电路或者接口,所述发送单元可以为所述通信芯片的输出电路或者接口。第七方面,提供了一种网络系统,其特征在于,包括第三方面、第四方面以及第三方面、第四方面任一种可能实现方式中所述的网络节点。第八方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,所述计算机程序代码被网络设备运行时,使得所述网络节点执行上述第一方面、第二方面以及第一方面、第二方面任一种可能实现方式中的方法。第九方面,提供了一种计算机可读介质,所述计算机可读介质存储有程序代码,所述程序代码包括用于执行上述第一方面、第二方面以及第一方面、第二方面任一种可能实现方式中的方法。附图说明图1是本申请实施例提供的一个网络场景的示意图。图2是本申请实施例提供的srv6sid的结构示意图。图3是本申请实施例提供的网络中报文转发的方法的示意性流程图。图4是本申请实施例提供的网络中报文转发的过程的示意图。图5是本申请实施例提供的网络节点的示意性框图。图6是本申请实施例提供的网络节点的另一示意性框图。图7是本申请实施例提供的网络节点的示意性框图。图8是本申请实施例提供的网络节点的另一示意性框图。图9是本申请实施例提供的网络系统的示意性框图。具体实施方式下面将结合附图,对本申请中的技术方案进行描述。为了便于更好地理解本发明技术方案,下面将对本发明技术方案涉及相关技术进行介绍。ce设备:网络的边界路由器,它拥有本地站点客户网络的路由,同时与pe路由器对接。该客户网络中还可以包括其他设备,例如终端设备等。pe设备:pe设备与不同客户放入ce设备相连,并使用vpn路由转发表(virtualroutingforwarding,vrf)来区分不同的客户。pe路由器通过pe-ce路由协议从与自己直连的ce处学习虚拟专用网络(virtualprivatenetwork,vpn)客户私网路由,然后通过边界网关协议(bordergatewayprotocol,bgp)邻居关系,将上述私网路由变成路由区分符(route-distinguisher,rd)加ipv4前缀,并通过多协议扩展边界网关协议(multiprotocolextensionsforbgp,mp-bgp)发送给远端的pe,其中rd唯一标识vrf,同时也将从远端pe处获取到的客户vpn路由传递给恰当的直连ce路由器。ce与pe直接的路由协议可以是静态路由、路由信息协议(routinginformationprotocol,rip)、开放最短路径优先协议(openshortestpathfirst,ospf)、中间系统到中间系统的域内路由信息交换协议(intermediatesystem-to-intermediatesystemintra-domainroutinginformationexchangeprotocol,is-is)或bgp,本申请实施例对此并不限定。p设备:服务提供商的核心路由器设备,负责快速转发报文。不与任何的客户设备相连,并且不参与任何客户路由的交互,也不会学习到任何客户路由。具体的,上述设备还可以是交换机等能够实现报文的封装、报文转发以及报文解封装的节点。其中,上述设备也可以称之为网元或节点或其他名称。图1是一个网络示意图。如图1所示的网络100中包括ce101、ce102、pe110、pe111、pe120和p130。可以理解的是,网络100可以是运营商网络中的一部分,该运营商网络还可以包括其他的p设备和pe设备,例如p131、pe121。为便于理解本申请实施例,首先对几个概念做简单说明。1、srv6是基于源路由理念而设计的在网络上转发ipv6报文包的一种方法。基于ipv6转发面的段路由(segmentrouting,sr),通过在ipv6报文中插入一个段路由扩展头(segmentroutingheader,srh),在srh中压入一个显式的ipv6地址栈,通过中间节点不断的进行更新目的地址(destinationaddress,da)和偏移地址栈的操作来完成逐跳转发。2、vpn是在公用网络上建立的专用网络。vpn具有私密性好、灵活性高、可扩展性强等优点。3、srv6段标识(segmentidentifier,sid)是一个128位数,通常也可以称为sid。sid是一种实例化的ipv6地址,此类ipv6地址被赋予唯一的功能,一个srv6sid可以表示一个节点、一条链路、一个两层专线(layer2,l2)的vpn、一个三层专线(layer3,l3)的vpn、或者一个服务。可以说,通过srv6sid可以定义任何的网络功能。srv6sid是一种网络指令(instruction),srv6sid的结构如图2所示,它由定位(locator)字段和功能(function)字段两部分组成,定位字段主要承担路由功能,所以要在sr域内唯一,功能字段可以标示设备的任何功能,例如某个转发行为,或者某种业务等。srv6sid的结构更有利于对网络进行编程。srv6sid有很多类型,不同类型的srv6sid代表不同的功能。如图1所示,pe110的srv6定位字段可以为200::/64,pe111的srv6定位字段可以为300::/64。由于pe110与客户网络ce101连接,需要在pe110部署vrf1,并将与ce101路由连接的接口地址绑定到该vrf,从而在pe110生成到ce101私网设备的私网路由表。srv6报文转发的过程中,需要通过中间设备不断的更新da和偏移地址栈的操作来完成逐跳转发报文,这样就会存在出口设备出现故障的情况下,报文无法发送至目的设备。目前采用的方案是对每个出口pe设备均人工进行任播组配置,使得出口pe设备对外发布相同的任播段标识(anycastsegmentidentity)。例如,如图1所示,报文的一种转发路径可以是:ce102→pe120→p130→pe110→ce101,其中出口pe设备可以是pe110,也可以是pe111。可以对pe110与pe111进行任播组配置,同时,给pe110和pe111配置相同的vpn私网标签,在完成配置后,pe110和pe111形成任播组,pe110和pe111对于网络100中的其他设备而言,pe110和pe111是没有区别的。报文在传输到p130后,p130需要将该报文转发到下一个设备,由于pe110和pe111对于p130是一样的,因此,p130优先选取最近的出口pe设备,例如,图1中最近的出口pe设备可以是pe110,最远的出口pe设备可以是pe111,p130优先将上述报文转发至pe110,pe110再将该报文转发至ce101。当pe110与pe110连接的ce101之间的链路出现故障的情况下,此时,p130还没有感知到该故障的出现,p130还是会向pe110发送报文,该报文在到达pe110后,pe110发现与pe110连接的ce101之间的链路出现故障,pe110会将该报文先转发至pe111,pe111再将该报文转发给ce101,当p130感知到pe110连接的ce101之间的链路出现故障,p130会将报文直接转发给pe111,pe111再将该报文转发给ce101。上述方案中,需要手动配置pe110与pe111形成的任播组,且配置复杂,同时,在pe110与pe111直连的ce101之间的链路发生故障的情况下,存在一部分报文已经到达pe110之后,pe110还需该部分报文发送至pe111,pe111再将该部分报文转发至ce101,这样会造成报文的绕行问题,从而降低报文传输的速率。因此,亟需提供一种能够提高报文传输速率的方法。在下文示出的实施例中第一、第二以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。例如,区分不同的网络节点等。下面将结合附图详细说明本申请实施例提供的方法。在下文示出的实施例中,可选地,第一网络节点为p设备;第二网络节点为pe设备;第三网络节点为pe设备;第一网络节点分别连接第二网络节点和第三网络节点;第二网络节点和第三网络节点分别与同一个私网连接。以下,以第一网络节点、第二网络节点、和第三网络节点之间的交互为例详细说明本申请实施例。图3是从设备交互的角度示出的本申请实施例提供的网络中报文转发的方法300的示意性流程图。如图所示,该方法300可以包括步骤310至步骤370。下面详细说明方法300中的各个步骤。步骤310,第一网络节点生成第一sid和第二sid的对应关系。该第一sid为第二网络节点存储的对应私网的标识,该第二sid为第三网络节点的sid。可选地,上述第一sid和第二sid的对应关系可以是第一sid的定位字段和第二sid的对应关系。可选地,第一网络节点可以是接收第二网络节点发送的通告报文,该通告报文中包含第一sid和第二sid的对应关系。可选地,第一网络节点也可以接收网管设备配置的第一sid和第二sid的对应关系。可选地,第一网络节点也可以接收第三网络节点发送的第一sid和第二sid的对应关系。示例性地,该第一sid可以是200::100。示例性地,该第二sid可以是300::200。步骤320,第一网络节点接收第一报文。该第一报文的目的地址为第一sid。可选地,该第一报文可以是其他pe设备发送的,例如,图1所示,该第一网络节点可以是p130,该第一报文可以是pe120发送的。可选地,该第一网络节点在接收到第一sid后,会生成第二sid的快速重路由(fastreroute,frr)备份保护表项。该第一网络节点本地的转发信息库(forwardinginformationbase,fib)表的一部分如表1所示。表1中第三行即为第一网络节点的备份路由。表1目的地址出接口下一跳动作(action)第一sid以太网接口3/0/0第二网络节点第二sid以太网接口3/0/1第三网络节点添加(push)300::200步骤330,第一网络节点生成第二报文。当确定该第二网络节点不可达时,将第二sid添加到第一报文中生成第二报文。可选地,该第二网络节点不可达可以理解为第二网络节点出现故障,或者,该第二网络节点不可达也可以理解为第二网络节点与第二网络节点直连的客户节点之间的链路出现故障,本申请对此并不作限定。可选地,第一网络节点在收到第一报文,需要查找第一网络节点本地的fib表,即表1,在第二网络节点不可达的情况下,第一网络节点找到了第二网络节点的备份路由,该备份路由的da是第三网络节点,即第一网络节点需要将第一报文由第二网络节点的备份路由,发送至目的设备。可选地,该第一网络节点在将第一报文发送至第三网络节点之前,需要生成第二报文。具体地,第一网络节点需要在第一报文中添加srh,该srh中的段表(segmentlist,sl)可以包括第二sid和第三网络节点的地址,第一网络节点便生成了即将发往第三网络节点的第二报文。例如,srh中的sl中的第一层可以是da,即第二网络节点的地址,例如,第二网络节点的地址可以是200::100/128,第二层可以是第二sid,例如,该第二sid可以是300::200,第一网络节点同时将ipv6报文头的da修改为第二sid,按照ip最长匹配原则转发。示例性地,如图4所述,第一报文包括第一sid,该第一sid可以为200::100,200::100为第二网络节点存储的对应私网的标识,第一报文的da是第二网络节点,即图4中的pe110。在pe110不可达的情况下,第一网络设备需要查找第一网络节点的备份路由,即表1,从表1中可以看出该第一网络节点的备份路由的下一跳是第三网络节点,即图4中的pe111,则第一网络节点将第一报文头部封装一层srh,将外层ipv6头部的da修改为第三网络节点的地址,也即第一网络节点将第二sid添加到第一报文中生成第二报文。步骤340,第三网络节点生成第一sid和私网路由表的对应关系。该第一sid为第二网络节点存储的对应所述私网的标识,该路由表为到达该私网的私网路由表。可选地,第三网络节点在生成第一sid和私网路由表的对应关系之前,需要接收该第二网络节点发送的第一sid。可选地,第三网络节点在生成第一sid和私网路由表的对应关系之前,会接收第二网络节点发送的第二网络节点到达私网的路由。可选地,该第三网络设备需要将第二网络节点到达私网的路由添加到私网路由表中。除此之外,该第三网络节点还需要在第三网络节点本地的远端段标识(remotesid)表中记录第一sid与该私网路由表的映射关系。例如,表2所示。表2远端段标识(remotesid)功能(function)第一sid入网点(pop),并查找绑定的vpn实例路由表vrf可选地,该第三网络节点还需要将该第二sid下发到第三网络节点的本地段标识表中,并将该第二sid对应的功能设置为查找远端段标识表。如表3所示,为本地段标识表。表3本地段标识(localsid)功能(function)第二sid入网点(pop),并查找本地的远端段标识表可以理解的是,第二网络节点需要将第二网络节点到达私网的路由发送给第三网络节点,第三网络节点可以将第二网络节点到达私网的路由添加到自己的私网路由表中,作为备份路由。步骤350,第三网络节点接收第一网络节点发送的报文,即第二报文。该第二报文的srh包含第一sid和第二sid。示例性地,如图4所示的第二报文,该第二报文包括第一sid和第二sid,该第一sid是200::100,该第二sid是300::200。步骤360,第三网络节点确定私网路由表。该私网路由表是第三网络节点需要转发报文的路由表,也即第二网络设备原本要转发报文的私网路由表。可选地,第三网络节点根据第一sid和第二sid,确定私网路由表。具体地,该第三网络节点根据第二报文的da,即第二sid,查找第三网络节点本地的远端段标识表中第二sid对应的功能,即查找远端段标识表。可选地,该第三网络设备根据第二sid功能字段确定需要利用第一sid确定转发报文的路由表。第三网络设备在根据第一sid与私网路由表的对应关系,确定转发报文的路由表,该路由表即为私网路由表。示例性地,该第三网络设备根据本地段标识表(例如,表3)和第二sid,可以确定第二sid对应的功能字段,该第二sid对应的功能字段指示第三网络节点需查找第三网络节点本地的远端段标识表(例如,表2),再根据第一sid,查找相应的路由表,根据第一sid和私网路由表的对应关系,找到转发该报文的路由表。步骤370,转发报文。可选地,第三网络设备利用该私网路由表转发报文。可选地,第三网络设备需要将报文的srh删除,使用删除srh后的报文即第一报文的报文头中的目的地址查找上述私网路由表,并根据匹配的路由表项转发删除了srh的报文。示例性地,如图4所示,第三网络节点,即pe111,pe111在需要转发报文时,需将第二报文的srh删除,即pe111需要删除300::200,根据第一报文的原ip报文的地址查找私网路由表,向下一节点ce101发送该报文。示例性地,如图4所示,该网络下的路由生成的过程为:ce101将站点的ipv4路由2.2.2.2发布给pe110,并且在pe110处部署vrf1,pe110从ce101学习到的vpn路由信息存放在pe110本地为该vrf1生成的vpn实例路由表中。pe110配置pe110的sid的定位字段和功能字段,pe110的段标识也可以理解为对应私网的标签或索引。并将定位字段的sid发布给全网节点,并将功能sid与vrf1关联,功能sid下发到pe110的本地段标识表中,pe110会与pe120建立bgp邻居关系,将pe110本地的私网路由表中的私网路由进行转换发送给pe120,pe120收到该私网路由后会将该私网路由交叉到pe120的本地路由表中,该pe120的本地路由表即为pe120与ce102连接时,pe120在本地部署的本地路由表,pe120将该私网路由转换成普通ipv4路由,对ce102发布。ce102设备即学习到私网ce101设备的2.2.2.2路由。除此之外,pe110还需与pe111之间建立bgp邻居关系,并向pe111发送pe110本地的生成的vpn实例路由表中的私网路由和通告报文,该通告报文中还可携带pe110的sid,pe111在接收到该私网路由时,可以将该私网路由交叉到pe111的本地私网路由表中,并记录该pe110的sid和该私网路由的对应关系,即为远端段标识表。远端段标识表中可以包含pe111本地到ce101的路由,还可以包含pe110向pe111的到达ce101的路由。pe111配置pe110的sid和pe111的sid的对应关系,并向全网节点发布;p130在收到pe110的sid和pe111的sid的对应关系后,会在p130本地生成pe110的备份路由表项,该备份路由的下一跳设备为pe111,并将接收到的报文中添加pe111的sid,除此之外,pe111还需将pe111的sid下发到pe111的本地段标识表中,并在本地段标识表中将pe111的sid对应的功能设置为查找远端段标识表,从而完成整个网络中路由的发布。示例性地,如图4所示,在第二网络节点不可达的情况下,待传输的报文传输的路径为:ce102→pe120→p130→pe111→ce101。其中,ce101的地址可以为2.2.2.2,ce102的地址可以为1.1.1.1。待传输的报文传输的过程为:当ce102访问ce101时,ce102需要将待发送的报文的da写成ce101的地址,即da为2.2.2.2。pe120通过绑定到vrf的接口接收该私网报文并查找pe120本地对应的vrf,查找该报文关联的da和下一跳信息,即该报文关联的d2.2.2.2对应的下一个设备是p130,此时,待传输的报文的da是2.2.2.2。pe120需要在该报文中添加srh,该srh中的segmentlist可以包括pe110的对应私网的sid和该报文的da,如图4中所示,pe110的对应私网的sid可以是200::100,pe120再添加ipv6报文头,该ipv6报文头的da可以是对应私网的sid,p130按照ip路由最长匹配原则,转发该报文。但是,由于pe110出现故障,因此,p130按照ip路由最长匹配原则,需要查找p130本地fib表,查到的是pe110的备份路由,该备份路由指示的转发的下一跳设备为pe111,并且该备份路由指示的动作为需要在该报文的头部封装一层srh,该srh中的sl可以包括pe111的sid和该报文的da,如图4中所示,pe111的sid可以是300::200,p120还需对该报文的ipv6报文头的da进行修改,该ipv6报文头的da可以是pe111的sid,然后转发到下一跳设备pe111,pe111在接收到该报文后,需要根据该报文的sid,查找pe111本地段标识表,根据该本地端标识表和pe111的sid,确定该pe111的sid对应的功能是查找远端段标识表,根据该远端段标识表和pe111获取的pe110的sid,查找pe110的sid对应的路由表,从该路由表中查找出转发该报文的私网路由表,pe111删除掉外层ipv6报文头和pe111的sid,露出原始的ipv4报文,然后用ipv4报文的da2.2.2.2查找私网路由表,根据该私网路由表,查找出下一个设备为ce101,pe111将删除掉外层ipv6报文头和pe111的sid的报文转发给ce101,从而完成私网设备ce102与ce101之间的通信。示例性地,如图4所示,在第二网络节点可达的情况下,待传输的报文传输的路径为:ce102→pe120→p130→pe111→ce101,其中,ce101的地址可以为2.2.2.2,ce102的地址可以为1.1.1.1。待传输的报文传输的过程为:当ce102访问ce101时,ce102需要将待发送的报文的da写成ce101的地址,即da为2.2.2.2。pe120通过绑定到vrf的接口接收该私网报文,并查找pe120本地对应的vrf,查找该报文关联的da和下一跳信息,即该报文关联的da2.2.2.2对应的下一个设备是p130,此时,待传输的报文的da是2.2.2.2,pe120需要在该报文中添加srh,该srh中的sl可以包括pe110的对应私网的sid和该报文的da,如图4中所示,pe110的对应私网的sid可以是200::100,pe120再添加ipv6报文头,该ipv6报文头的da可以是对应私网的sid,p130按照ip路由最长匹配原则,转发该报文。转发到下一跳设备p130。p130按照最长匹配原则,转发到下一跳设备pe110。pe110使用srv6vpnsid查找本地sid表,匹配到的pe110的私网sid对应的转发动作,将ipv6报文头去除,然后根据pe110的私网sid匹配到vrf,然后查找vrf的vpn实例路由表,对ipv4da路由2.2.2.2查找出接口或下一跳设备,按照查找结果转发报文到私网设备ce101,完成私网设备ce102与ce101之间的通信。应理解,在本申请的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。以上,结合图3至图4详细说明了本申请实施例的网络中报文转发的方法,以下,结合图5至图9详细说明本申请实施例的装置。本申请实施例提供了一种网络节点。下面结合图5对该网络节点的结构和功能进行描述。图5是本申请实施例提供的网络节点10的示意性框图。如图5所示,该网络节点10包括接收器11、发送器12和处理器13。可选地,该网络节点10还包括存储器14。其中,接收器11、发送器12、处理器13和存储器14之间通过内部连接通路互相通信,传递控制和/或数据信号,该存储器14用于存储计算机程序,该处理器13用于从该存储器14中调用并运行该计算机程序,以控制该接收器11接收信号,控制该发送器12发送信号。当存储器14中存储的程序指令被处理器13执行时,该处理器13用于生成第一sid和第二sid的对应关系,该第一sid为第二网络节点存储的对应私网的标识,该第二sid为第三网络节点的sid;该接收器11用于接收第一报文,该第一报文的da为第一sid;该处理器13还用于当确定第二网络节点不可达时,将第二sid添加到第一报文中生成第二报文;该发送器12用于将第二报文向第三网络节点发送。上述处理器13和存储器14可以合成一个处理装置,处理器13用于执行存储器14中存储的程序代码来实现上述功能。具体实现时,该存储器14也可以集成在处理器13中,或者独立于处理器13。应理解,网络节点10可以对应于根据本发明实施例的网络中报文转发的方法300中的第一网络节点,该网络节点10可以包括用于执行图3中网络中报文转发的方法300的第一网络节点执行的方法的单元。并且,该网络节点10中的各单元和上述其他操作和/或功能分别为了实现图3中网络中报文转发的方法300的相应流程,各单元执行上述相应步骤的具体过程请参照前文中图3的方法实施例的描述,为了简洁,在此不再赘述。本申请实施例还提供了一种网络节点。下面结合图6对该网络节点的结构和功能进行描述。图6是本申请实施例提供的网络节点20的另一示意性框图。如图6所示,该网络节点20包括接收单元21、处理单元22。该接收单元21可以是软件实现也可以是硬件实现。在硬件实现的情况下,该接收单元21可以是图5中的接收器11,该处理单元23可以是图5中的处理器13。本申请实施例还提供了一种网络节点。下面结合图7对该网络节点的结构和功能进行描述。图7是本申请实施例的网络节点30的示意性框图。如图7所示,该网络节点30包括收发器31和处理器32。可选地,该网络节点30还包括存储器33。其中,接收器31、发送器32、处理器33和存储器34之间通过内部连接通路互相通信,传递控制和/或数据信号,该存储器34用于存储计算机程序,该处理器33用于从该存储器34中调用并运行该计算机程序,以控制该接收器31接收信号,控制发送器32发送信号。当存储器34中存储的程序指令被处理器33执行时,该处理器33用于生成第一sid和私网路由表的对应关系,该第一sid为第二网络节点存储的对应私网的标识,该路由表为到达私网的私网路由表;该接收器31用于接收第一网络节点发送的报文,该报文的srh包含第一sid和第二sid;该处理器33还用于根据第一sid和第二sid确定私网路由表;该发送器32用于利用私网路由表转发报文。上述处理器33和存储器34可以合成一个处理装置,处理器33用于执行存储器34中存储的程序代码来实现上述功能。具体实现时,该存储器34也可以集成在处理器33中,或者独立于处理器33。应理解,网络节点30可以对应于根据本发明实施例的网络中报文转发的方法300中的第三网络节点,该网络节点30可以包括用于执行图3中网络中报文转发的方法300的第三网络节点执行的方法的单元。并且,该网络节点30中的各单元和上述其他操作和/或功能分别为了实现图3中网络中报文转发的方法300的相应流程,各单元执行上述相应步骤的具体过程请参照前文中结合图3的方法实施例的描述,为了简洁,在此不再赘述。本申请实施例还提供了一种网络节点。下面结合图8对该网络节点的结构和功能进行描述。图8是本申请实施例的网络节点40的另一示意性框图。如图8所示,该网络节点40包括接收单元41、发送单元42、处理单元43。该接收单元41和发送单元42可以是软件实现也可以是硬件实现。在硬件实现的情况下,该接收单元41可以是图7中的接收器31,该发送单元22可以是图7中的发送器32,该处理单元43可以是图7中的处理器33。应理解,本申请实施例中,该处理器可以为中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(randomaccessmemory,ram)可用,例如静态随机存取存储器(staticram,sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。本申请实施例还提供一种网络系统。图9是本申请实施例的网络系统50的示意性框图。如图9所示,该网络系统50包括网络节点51、网络节点52。其中,该网络节点51可以为图5中所示的网络节点10,该网络节点可以为图7中所示的网络节点30;或者,该网络节点51可以为图6中所示的网络节点20,该网络节点52可以为图6中所示的网络节点40。上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘。应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1