本申请涉及通信技术领域,具体而言,涉及一种srv6路径质量测量方法、装置、电子设备及存储介质。
背景技术:
sr(segmentrouting,段路由)是基于源路由理念而设计的在网络上转发数据包的一种协议。sr将网络路径划分成多个段,并且为这些段和网元节点分配段标识。通过对段标识进行有序排列,就可以得到一条转发路径。
sr分为基于mpls(multi-protocollabelswitching,多协议标签交换)转发平面的sr-mpls和基于ipv6转发平面的srv6(segmentroutingipv6,基于ipv6转发平面的段路由)两种技术方案:在sr-mpls中,segment就是mpls标签,入口节点一次性压入多个标签形成segmentlist(段列表),每一跳转发采用标签查找和标签弹出的动作;在srv6中,segment就是ipv6地址,路径就是封装在srh(segmentroutingheader,段路由扩展头)中的ipv6地址栈,每一跳的转发均是采用纯ipv6的标准转发动作,实现转发面标准化的简单处理。相较于sr-mpls,srv6具有更好的扩展性和灵活性,目前已成为业界公认的下一代网络平台,是sdn(softwaredefinednetwork,软件定义网络)的重要基础。
为了及时响应网络质量变化和使网络服务质量可见,运营商需要对网络服务质量进行测量和监控,并提供能够说明网络服务质量的数据,这对于使用srv6的sdn网络也不例外。但是现有的技术手段都无法真实地反映路径的质量。
技术实现要素:
有鉴于此,本申请实施例的目的在于提供一种srv6路径质量测量方法、装置、电子设备及存储介质,以改善现有技术中存在的无法真实地反映srv6路径质量的问题。
本申请实施例提供了一种srv6路径质量测量方法,应用于入口节点,所述方法包括:在ipv6报文中插入段路由扩展头,所述段路由扩展头中包含段剩余字段值和所述ipv6报文对应的段列表;基于所述段剩余字段值和所述段列表修改所述ipv6报文的目的地址;将所述段路由扩展头中与所述入口节点对应的下一跳节点的段标识替换为用于测量所述入口节点与下一跳节点间对应的路径质量的测量数据,以获得第一报文;基于所述目的地址对所述第一报文进行转发。
在上述实现方式中,将ipv6报文中插入段路由扩展头,并基于段路由扩展头中的剩余字段值和对应的段标识完成报文目的地址修改后,将该段标识替换为用于测量对应路径质量的测量数据,从而能够根据每个节点的测量数据反映srv6路径质量,同时可以基于每个节点的测量数据逐跳测量srv6路径的质量。
可选地,所述在ipv6报文中插入段路由扩展头,包括:根据业务报文使用的srv6段列表,在所述ipv6报文中插入所述段路由扩展头。
在上述实现方式中,业务报文使用的srv6段列表包含ipv6报文转发路径中的逐跳地址,根据该业务报文的srv6段列表能够确定该ipv6报文的srv6路径的每一跳。
可选地,所述基于所述段剩余字段值和所述段列表修改所述ipv6报文的目的地址,包括:基于所述段剩余字段值,将所述ipv6报文的所述目的地址修改为所述段列表中与所述入口节点对应的下一跳节点的段标识。
在上述实现方式中,将ipv6报文的目的地址修改为段列表中与当前入口节点对应的下一跳节点的段标识后,段列表中与下一跳节点对应的段标识则不再对报文转发处理有任何作用,因此能够在后续利用段列表中的段标识字段进行测量数据存放。
可选地,所述测量数据包括用于计算节点时延、链路时延、时延抖动和逐跳丢包率的至少一种路径质量的数据。
在上述实现方式中,通过存放接收报文时间戳、发送报文时间戳、发送序列号和丢包率等不同类型的测量数据,能够全面地表现srv6路径的业务传输质量,供每个路径节点使用该业务输出质量数据。
本申请实施例还提供了一种srv6路径质量测量方法,应用于中间节点或出口节点,所述方法包括:接收入口节点发送的第一报文;在所述第一报文的目的地址是本节点的段标识且段剩余的字段值不为0时,确定本节点为所述中间节点;将所述第一报文的目的地址修改为所述第一报文的段路由扩展头中与所述本节点对应的下一跳节点的段标识,以获得第二报文;在所述第二报文的段路由扩展头中与所述本节点对应的下一跳节点的段标识加入用于测量所述本节点与下一跳节点间对应的路径质量的测量数据,以获得第三报文;基于所述第三报文的目的地址对所述第三报文进行转发;在所述第一报文的目的地址是所述本节点的段标识且段剩余字段值为0时,确定所述本节点为出口节点。
在上述实现方式中,通过第一报文的目的地址和本节点段标识确定本节点为中间节点或出口节点,从而能够在第一报文到达出口节点前进行持续转发,同时每个中间节点将其对应的路径质量的测量数据代替段路由扩展头与该中间节点对应的下一跳节点的段标识,从而实现了逐跳测量数据的记录,从而能够获得srv6路径的路径质量。
可选地,所述方法还包括路径质量计算步骤,所述路径质量计算步骤包括:基于所述测量数据,计算所述第一报文在入口节点和到本节点之间的路径质量数据,所述路径质量包括节点时延、链路时延、时延抖动和逐跳丢包率中的至少一种。
在上述实现方式中,除了直接根据测量数据进行srv6路径质量的分析,基于测量数据计算获得节点时延、链路时延、时延抖动和逐跳丢包率等,可以更加直观、准确地确定各节点对应的路径质量。
本申请实施例还提供了一种srv6路径质量测量装置,应用于入口节点,所述装置包括:扩展头插入模块,用于在ipv6报文中插入段路由扩展头,所述段路由扩展头中包含段剩余字段值和所述ipv6报文对应的段列表;第一目的地址修改模块,用于基于所述段剩余字段值和所述段列表修改所述ipv6报文的目的地址;第一测量数据写入模块,用于将所述段路由扩展头中与所述入口节点对应的下一跳节点的段标识替换为用于测量所述入口节点与下一跳节点间对应的路径质量的测量数据,以获得第一报文;第一转发模块,用于基于所述目的地址对所述第一报文进行转发。
在上述实现方式中,将ipv6报文中插入段路由扩展头,并基于段路由扩展头中的剩余字段值和对应的段标识完成报文目的地址修改后,将该段标识替换为用于测量对应路径质量的测量数据,从而能够根据每个节点的测量数据反映srv6路径质量,同时可以基于每个节点的测量数据逐跳测量srv6路径的质量。
可选地,所述扩展头插入模块具体用于:根据业务报文使用的srv6段列表,在所述ipv6报文中插入所述段路由扩展头。
在上述实现方式中,业务报文使用的srv6段列表包含ipv6报文转发路径中的逐跳地址,根据该业务报文的srv6段列表能够确定该ipv6报文的srv6路径的每一跳。
可选地,所述第一目的地址修改模块具体用于:基于所述段剩余字段值,将所述ipv6报文的所述目的地址修改为所述段列表中与所述入口节点对应的下一跳节点的段标识。
在上述实现方式中,将ipv6报文的目的地址修改为段列表中与当前入口节点对应的下一跳节点的段标识后,段列表与下一跳节点对应的段标识则不再对报文转发处理有任何作用,因此能够在后续利用该字段进行测量数据存放。
可选地,所述测量数据包括用于计算节点时延、链路时延、时延抖动和逐跳丢包率的至少一种路径质量的数据。
在上述实现方式中,通过接收报文时间戳、发送报文时间戳、发送序列号和丢包率等不同类型的测量数据,能够全面地表现srv6路径的路径数据传输质量。
本申请实施例还提供了一种srv6路径质量测量装置,应用于中间节点或出口节点,所述装置包括:接收模块,用于接收入口节点发送的第一报文;节点确定模块,用于在所述第一报文的目的地址是本节点的段标识且段剩余的字段值不为0时,确定本节点为所述中间节点;第二目的地址修改模块,用于将所述第一报文的目的地址修改为所述第一报文的段路由扩展头中与所述本节点对应的下一跳节点的段标识,以获得第二报文;第二测量数据写入模块,在所述第二报文的段路由扩展头中与所述本节点对应的下一跳节点的段标识加入用于测量所述本节点与下一跳节点间对应的路径质量的测量数据,以获得第三报文;第二转发模块,用于基于所述第三报文的目的地址对所述第三报文进行转发;所述节点确定模块,用于在所述第一报文的目的地址是所述本节点的段标识且段剩余字段值为0时,确定所述本节点为出口节点。
在上述实现方式中,通过第一报文的目的地址和本节点段标识确定本节点为中间节点或出口节点,从而能够在第一报文到达出口节点前进行持续转发,同时每个中间节点将其对应的路径质量的测量数据代替段路由扩展头与该中间节点对应的下一跳节点的段标识,从而实现了逐跳测量数据的记录,从而能够获得srv6路径的路径质量。
可选地,所述srv6路径质量测量装置还包括:路径质量计算模块,用于基于所述测量数据,计算所述第一报文的入口节点到本节点之间的路径质量,所述路径质量包括节点时延、链路时延、时延抖动和逐跳丢包率中的至少一种。
在上述实现方式中,除了直接根据测量数据进行srv6路径质量的分析,基于测量数据计算获得节点时延、链路时延、时延抖动和逐跳丢包率等,可以更加直观、准确地确定各节点对应的路径质量。
本申请实施例还提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行上述任一实现方式中的步骤。
本申请实施例还提供了一种可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述任一实现方式中的步骤。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为现有技术中的srv6转发方式的ipv6报文结构示意图。
图2为现有技术中的srv6转发方式的基于段列表确定目的地址步骤的流程示意图。
图3为本申请实施例提供的一种应用于入口节点的srv6路径质量测量方法的流程示意图。
图4为本申请实施例提供的一种应用于中间节点或出口节点的srv6路径质量测量方法的流程示意图。
图5为本申请实施例提供的一种节点路径的结构示意图。
图6为本申请数量提供的一种测量数据的格式示意图。
图7为本申请数量提供的一种应用于入口节点的srv6路径质量测量装置的模块示意图。
图8为本申请数量提供的一种应用于中间节点或出口节点的srv6路径质量测量装置的模块示意图。
图标:30-srv6路径质量测量装置;31-扩展头插入模块;32-第一目的地址修改模块;33-第一测量数据写入模块;34-第一转发模块;40-srv6路径质量测量装置;41-接收模块;42-节点确定模块;43-第二目的地址修改模块;44-第二测量数据写入模块;45-第二转发模块。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
在对本申请实施例提供的srv6路径质量测量方法进行说明之前,有必要对现有srv6转发过程进行简要说明:
ipv6是英文“internetprotocolversion6”(互联网协议第6版)的缩写,是互联网工程任务组(ietf)设计的用于替代ipv4的下一代ip协议。
srv6是一种网络转发技术,即为ipv6与segmentrouting技术的结合,sr是段路由(segmentrouting)技术,v6就是指原生ipv6,将ip转发和隧道转发统一,具备ipv6的灵活性和强大的可编程能力。
请参考图1,图1为现有技术中的srv6转发方式的ipv6报文结构示意图。如图1所示,srv6在ipv6报文中插入了一个段路由扩展头srh,srh中包含了一个表示路径信息的ipv6地址栈,即段列表(segmentlist),通过中间节点不断更新目的地址和偏移地址栈的操作来完成从入口节点到出口节点的逐跳转发。插入srh后,ipv6报文是由ipv6标准头、srh和载荷组成。
请参考图2,图2为现有技术中的srv6转发方式的基于段列表确定目的地址步骤的流程示意图。入口节点根据业务报文所使用的srv6segmentlist,在ipv6报文中插入一个包含了对应segmentlist信息的srh,并把目的地址替换为segmentlist[n]后,根据新的目的地址查ipv6路由表进行转发。其中,segmentlist[n]中的n为正整数,表示第n个段标识。其中,sl表示segmentlist[x]中的x的值,x为任意正整数。
后续每个节点设备上接收到ipv6报文后,若目的地址不为本设备的段标识,则根据路由选路转发,若目的地址为本设备的段标识,则需要将srh中段剩余(segmentleft)的字段值减1,根据segmentleft这个字段的值不为0,从segmentlist中确定下一跳的地址,并将ipv6头部目的地址替换为segmentlist中对应的下一跳的地址,替换完后根据新的目的地址查ipv6路由表进行转发。持续该流程处理直至收到的srh中segmentleft字段值为0,报文则完成转发处理到达出口节点。
经本申请人研究发现,现有的技术手段都不能很好地对srv6路径的质量进行测量,例如:
(1)nqa(networkqualityanalysis,网络质量分析):根据统计实例的类型,构造报文进行网络性能的统计,通过统计构造报文的丢包率来间接模拟业务报文的丢包率。因此,nqa统计得到的性能指标存在精度上的差距,不能直接体现用户的真实业务在网络中的运行状况,也不能直接作为分析网络性能的依据。
(2)ip-fpm(pflowperformancemonitor,ip流性能监控):是一种基于端到端,直接对业务报文进行测量,从而得到ip网络的真实丢包率、时延等性能指标的测量方式。但是在其实现原理中,使用了ipv4首部中的两个保留位作为丢包染色位和时延染色位。该方案不适用于ipv6(ipv6首部中没有可供使用的保留位),且ip-fpm也只能测量业务的端到端的质量,不能进行逐跳测量。
(3)ioam(in-bandoperations,administration,andmaintenance,带内操作管理与维护):是一种网络流量监控技术。通过复制业务流量,并对复制的流量逐跳添加oam信息,可以实现流量转发路径、转发质量的感知和测量。由于其需要对业务流量进行复制,因此会增加网络和设备负担,并且也不能完全真实地反映业务的质量情况。
为了解决现有技术的上述无法真实反映srv6路径质量的问题,本申请实施例提供了一种srv6路径质量测量方法,该方法应用于入口节点。请参考图3,图3为本申请实施例提供的一种应用于入口节点的srv6路径质量测量方法的流程示意图,该srv6路径质量测量方法的具体步骤可以如下:
步骤s12:在ipv6报文中插入段路由扩展头,段路由扩展头中包含段剩余字段值和ipv6报文对应的段列表。
仍然如图2所示,入口节点根据业务报文所使用的srv6segmentlist,在ipv6报文中插入一个包含了段剩余字段值和对应segmentlist信息的srh。
上述段剩余字段值可以用于确定入口节点以及下一跳节点在段列表中对应的段标识。
步骤s14:基于段剩余字段值和段列表修改ipv6报文的目的地址。
具体地,以当前入口节点的下一跳对应的段标识为segmentlist[n]为例,将ipv6报文的目的地址修改为段列表中与入口节点对应的segmentlist[n]。
步骤s16:将段路由扩展头中与入口节点对应的下一跳节点的段标识替换为用于测量入口节点与下一跳节点间对应的路径质量的测量数据,以获得第一报文。
可选地,本实施例将srh中的segmentlist[n]的16字节替换为用于表示路径质量的测量数据,但是本实施例不限定测量数据的具体格式和使用方式。
步骤s18:基于目的地址对第一报文进行转发。
然后根据步骤s14替换获得的新的目的地址查ipv6路由表,以对第一报文进行转发。
上述步骤中,入口节点将ipv6报文中插入段路由扩展头,并在确定段路由扩展头中段列表与当前节点的下一跳节点对应的段标识后,将该下一跳节点对应的段标识替换为用于测量当前节点与下一跳节点间对应的路径质量的测量数据,从而能够根据每个节点的测量数据反映srv6路径质量,同时可以基于每个节点的测量数据逐跳测量srv6路径的质量。
入口节点将第一报文进行发送后,可能是中间节点或出口节点接收到第一报文,因此下一节点在接收到第一报文后根据其为第一报文的中间节点或出口节点对第一报文进行不同处理。
请参考图4,图4为本申请实施例提供的一种应用于中间节点或出口节点的srv6路径质量测量方法的流程示意图,该srv6路径质量测量方法的具体步骤可以如下:
步骤s21:接收入口节点发送的第一报文。
步骤s22:在第一报文的目的地址是本节点的段标识且段剩余的字段值不为0时,确定本节点为中间节点。
在确定本节点为中间节点时,在将接收的报文发送之前,还需要将段剩余(segmentleft)这个字段的字段值减1。
应当理解的是,由于srh的segmentlist中的段和段标识(segmentidentifier,sid)通常混用,本实施例中将srh的segmentlist中的segmentlist[n]、segmentlist[n-1]等每一个称为段标识,也将入口节点、中间节点等每个节点对于srv6为ipv6地址称为段标识。
步骤s23:将第一报文的目的地址修改为第一报文的段路由扩展头中与本节点对应的下一跳节点的段标识,以获得第二报文。
根据segmentleft字段值从segmentlist中确定第一报文的段路由扩展头中与下一跳节点对应的段标识,将该段标识作为下一跳目的地址,并将ipv6头部目的地址替换为segmentlist中对应的下一跳目的地址。
步骤s24:在第二报文的段路由扩展头的段列表中与本节点对应的下一跳节点的段标识替换为用于测量本节点与下一跳节点间对应的路径质量的测量数据,以获得第三报文。
在完成目的地址的替换后,根据本节点与下一跳节点间的路径质量信息将本节点的下一跳节点在当前segmentlist中对应的16字节的段标识替换为用于表示本节点与下一跳节点间的路径质量的测量数据。
步骤s25:基于第三报文的目的地址对第三报文进行转发。
根据新的ipv6目的地址查ipv6路由表对第三报文进行转发。
步骤s26:在第一报文的目的地址是本节点的段标识且段剩余字段值为0时,确定本节点为出口节点。
持续上述中间设备的转发处理,直至收到的报文的srh中segmentleft字段值为0且目的地址为本节点的段标识时,报文则完成转发处理到达最终的目的节点即出口节点。
为了更加准确、直接地确定路径质量,出口节点或中间节点可以基于测量数据计算出该srv6segmentlist所对应路径的完整的逐跳的质量测量数据,任何一个路径的中间节点也可以计算出到该节点的逐跳的质量测量数据。
可选地,出口节点可以基于测量数据和本节点接收第一报文的报文接收时间等数据,计算第一报文的srv6段列表所对应路径上的节点时延、链路时延、时延抖动和逐跳丢包率等。
为了使本申请实施例提供的srv6路径质量测量方法更容易被理解,本实施例通过如下示例对其进行说明:
网络中有三台支持srv6的设备r1、r2、r3,其sid分别为1::1、2::1、3::1,并已完成了转发信息学习和高精度时钟同步。请参考图5,图5为本申请实施例提供的一种节点路径的结构示意图,包括入口节点r1、中间节点r2和出口节点r3。
入口节点r1根据业务报文所使用的srv6segmentlist,在ipv6报文中插入一个包含了对应segmentlist信息的srh:segmentleft=1、segmentlist[0]=3::1、segmentlist[1]=2::1,并把目的地址替换为segmentlist[1],即2::1,然后将srh中的segmentlist[1]替换为用于表示本节点与下一跳节点间路径质量的测量数据,最后根据新的目的地址2::1查ipv6路由表将报文转发给r2。
本发明方案不限定在srh中存放的测量数据的具体格式和使用方式,为便于说明,提出的一种测量数据实施例的格式如图6所示,包括接收报文时间戳、发送报文时间戳和发送序列号。其中,接收报文时间戳的单位为纳秒,发送报文时间戳的单位为纳秒。
对于r1存放的测量数据来说,接收报文时间戳为r1接收到该报文的时间,发送报文时间戳为r1发送该报文的时间,发送序列号为r1的报文发送序列号。r2基于r1存放的发送报文时间戳,再根据接收报文的时间,可以计算出r1和r2之间的链路时延,并根据该链路时延计算r1和r2之间的时延抖动。r2可以基于发送序列号计算出r1到r2的丢包率;由于丢包率为逐跳独立计算,因此也可以将本节点计算出的丢包率作为测量数据填写在srh中r2的下一跳节点对应的段标识中。
中间节点r2接收到报文后,判断目的地址2::1为本设备sid,则需要将srh中segmentleft字段值减1,根据segmentleft字段值为0确定下一跳节点地址为segmentlist[0],即3::1,并将ipv6头部目的地址替换为3::1,然后将当前segmentlist[0]替换为用于表示本节点与下一跳节点间路径质量的测量数据,最后根据新的目的地址3::1查ipv6路由表将报文转发给r3。
对于r2存放的测量数据来说,segmentlist[0]中填充的接收报文时间戳为r2接收到该报文的时间,发送报文时间戳为r2发送该报文的时间,发送序列号为r2的报文发送序列号,丢包率为基于报文中r1的测量数据中的发送序列号和r2在一定时间周期内的报文接收统计计算出的值。r2也可以基于报文中r1的测量数据字段中的接收报文时间戳、发送报文时间戳和本节点的报文接收时间计算出r1->r2的节点时延、链路时延以及时延抖动。
r3接收到报文后,判断目的地址3::1为本设备sid,且srh中segmentleft字段值为0,报文则完成转发处理到达出口节点。r3基于报文中r1和/或r2的测量数据和本机的报文接收时间等统计数据,可计算出该srv6segmentlist所对应路径r1->r2->r3的每个节点的时延、两个节点之间的链路时延、两个节点时延抖动和逐跳的丢包率中的至少一种网络路径质量的测量数据。
为了更好地配合本实施例提供的上述应用于入口节点的srv6路径质量测量方法,本申请实施例还提供了一种应用于入口节点的srv6路径质量测量装置30。
请参考图7,图7为本申请数量提供的一种应用于入口节点的srv6路径质量测量装置的模块示意图。
应用于入口节点的srv6路径质量测量装置30,包括:
扩展头插入模块31,用于在ipv6报文中插入段路由扩展头,段路由扩展头中包含段剩余字段值和ipv6报文对应的段列表;
第一目的地址修改模块32,用于基于段剩余字段值和段列表修改ipv6报文的目的地址;
第一测量数据写入模块33,用于将段路由扩展头中与入口节点对应的下一跳节点的段标识替换为用于测量入口节点与下一跳节点间对应的路径质量的测量数据,以获得第一报文;
第一转发模块34,用于基于目的地址对第一报文进行转发。
可选地,扩展头插入模块31具体用于:根据业务报文使用的srv6段列表,在ipv6报文中插入段路由扩展头。
可选地,第一目的地址修改模块32具体用于:基于所述段剩余字段值,将ipv6报文的目的地址修改为段列表中与入口节点对应的下一跳节点的段标识。
可选地,测量数据包括用于计算节点时延、链路时延、时延抖动和逐跳丢包率的至少一种路径质量的数据。
为了更好地配合本实施例提供的上述应用于中间节点或出口节点的srv6路径质量测量方法,本申请实施例还提供了一种应用于中间节点或出口节点的srv6路径质量测量装置40。
请参考图8,图8为本申请数量提供的一种应用于中间节点或出口节点的srv6路径质量测量装置的模块示意图。
应用于中间节点或出口节点的srv6路径质量测量装置40,包括:
接收模块41,用于接收入口节点发送的第一报文;
节点确定模块42,用于在第一报文的目的地址是本节点的段标识且段剩余的字段值不为0时,确定本节点为中间节点;
第二目的地址修改模块43,用于将第一报文的目的地址修改为第一报文的段路由扩展头中与本节点对应的下一跳节点的段标识,以获得第二报文;
第二测量数据写入模块44,在第二报文的段路由扩展头中与本节点对应的下一跳节点的段标识加入用于测量本节点与下一跳节点间对应的路径质量的测量数据,以获得第三报文;
第二转发模块45,用于基于第三报文的目的地址对第三报文进行转发;
上述节点确定模块42,还用于在第一报文的目的地址是本节点的段标识且段剩余字段值为0时,确定本节点为出口节点。
可选地,srv6路径质量测量装置40还包括:路径质量计算模块,用于基于测量数据和本节点接收第一报文的报文接收时间,计算第一报文的入口节点到本节点之间的路径质量,路径质量包括节点时延、链路时延、时延抖动和逐跳丢包率中的至少一种。
本申请实施例还提供了一种电子设备,该电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行本实施例提供的srv6路径质量测量方法中任一项所述方法中的步骤。
应当理解是,该电子设备可以是个人电脑(personalcomputer,pc)、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)等具有逻辑计算功能的电子设备,或者是路由器、网关等具有网络通信功能的电子设备。
本申请实施例还提供了一种可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行srv6路径质量测量方法中的步骤。
综上所述,本申请实施例提供了一种srv6路径质量测量方法、装置、电子设备及存储介质,应用于入口节点的方法包括:在ipv6报文中插入段路由扩展头,所述段路由扩展头中包含段剩余字段值和所述ipv6报文对应的段列表;基于所述段剩余字段值和所述段列表修改所述ipv6报文的目的地址;将所述段路由扩展头中与所述入口节点对应的下一跳节点的段标识替换为用于测量所述入口节点与下一跳节点间对应的路径质量的测量数据,以获得第一报文;基于所述目的地址对所述第一报文进行转发。
在上述实现方式中,将ipv6报文中插入段路由扩展头,并基于段路由扩展头中的剩余字段值和对应的段标识完成报文目的地址修改后,将该段标识替换为用于测量对应路径质量的测量数据,从而能够根据每个节点的测量数据反映srv6路径质量,同时可以基于每个节点的测量数据逐跳测量srv6路径的质量。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的框图显示了根据本申请的多个实施例的设备的可能实现的体系架构、功能和操作。在这点上,框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图中的每个方框、以及框图的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。因此本实施例还提供了一种可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行区块数据存储方法中任一项所述方法中的步骤。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
1.一种srv6路径质量测量方法,其特征在于,应用于入口节点,所述方法包括:
在ipv6报文中插入段路由扩展头,所述段路由扩展头中包含段剩余字段值和所述ipv6报文对应的段列表;
基于所述段剩余字段值和所述段列表修改所述ipv6报文的目的地址;
将所述段路由扩展头中与所述入口节点对应的下一跳节点的段标识替换为用于测量所述入口节点与下一跳节点间对应的路径质量的测量数据,以获得第一报文;
基于所述目的地址对所述第一报文进行转发。
2.根据权利要求1所述的方法,其特征在于,所述在ipv6报文中插入段路由扩展头,包括:
根据业务报文使用的srv6段列表,在所述ipv6报文中插入所述段路由扩展头。
3.根据权利要求1所述的方法,其特征在于,所述基于所述段剩余字段值和所述段列表修改所述ipv6报文的目的地址,包括:
基于所述段剩余字段值,将所述ipv6报文的所述目的地址修改为所述段列表中与所述入口节点对应的下一跳节点的段标识。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述测量数据包括用于计算节点时延、链路时延、时延抖动和逐跳丢包率的至少一种路径质量的数据。
5.一种srv6路径质量测量方法,其特征在于,应用于中间节点或出口节点,所述方法包括:
接收入口节点发送的第一报文;
在所述第一报文的目的地址是本节点的段标识且段剩余字段值不为0时,确定本节点为所述中间节点;
将所述第一报文的目的地址修改为所述第一报文的段路由扩展头中与所述本节点对应的下一跳节点的段标识,以获得第二报文;
在所述第二报文的段路由扩展头中与所述本节点对应的下一跳节点的段标识替换为用于测量所述本节点与下一跳节点间对应的路径质量的测量数据,以获得第三报文;
基于所述第三报文的目的地址对所述第三报文进行转发;
在所述第一报文的目的地址是所述本节点的段标识且段剩余字段值为0时,确定所述本节点为出口节点。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括路径质量计算步骤,所述路径质量计算步骤包括:
基于所述测量数据,计算所述第一报文的入口节点到本节点之间的路径质量,所述路径质量包括节点时延、链路时延、时延抖动和逐跳丢包率中的至少一种。
7.一种srv6路径质量测量装置,其特征在于,应用于入口节点,所述装置包括:
扩展头插入模块,用于在ipv6报文中插入段路由扩展头,所述段路由扩展头中包含段剩余字段值和所述ipv6报文对应的段列表;
第一目的地址修改模块,用于基于所述段剩余字段值和所述段列表修改所述ipv6报文的目的地址;
第一测量数据写入模块,用于将所述段路由扩展头中与所述入口节点对应的下一跳节点的段标识替换为用于测量所述入口节点与下一跳节点间对应的路径质量的测量数据,以获得第一报文;
第一转发模块,用于基于所述目的地址对所述第一报文进行转发。
8.一种srv6路径质量测量装置,其特征在于,应用于中间节点或出口节点,所述装置包括:
接收模块,用于接收入口节点发送的第一报文;
节点确定模块,用于在所述第一报文的目的地址是本节点的段标识且段剩余字段值不为0时,确定本节点为所述中间节点;
第二目的地址修改模块,用于将所述第一报文的目的地址修改为所述第一报文的段路由扩展头中与所述本节点对应的下一跳节点的段标识,以获得第二报文;
第二测量数据写入模块,在所述第二报文的段路由扩展头中与所述本节点对应的下一跳节点的段标识加入用于测量所述本节点与下一跳节点间对应的路径质量的测量数据,以获得第三报文;
第二转发模块,用于基于所述第三报文的目的地址对所述第三报文进行转发;
所述节点确定模块,用于在所述第一报文的目的地址是所述本节点的段标识且段剩余的字段值为0时,确定所述本节点为出口节点。
9.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器运行程序指令时,执行权利要求1-6中任一项所述方法中的步骤。
10.一种可读取存储介质,其特征在于,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器运行时,执行权利要求1-6任一项所述方法中的步骤。
技术总结