CN115514640A - 确定路径的方法和装置 - Google Patents
确定路径的方法和装置 Download PDFInfo
- Publication number
- CN115514640A CN115514640A CN202110691370.4A CN202110691370A CN115514640A CN 115514640 A CN115514640 A CN 115514640A CN 202110691370 A CN202110691370 A CN 202110691370A CN 115514640 A CN115514640 A CN 115514640A
- Authority
- CN
- China
- Prior art keywords
- packet loss
- node
- loss rate
- link
- weight
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
Abstract
本申请提供了一种确定路径的方法和装置,可以支持基于链路丢包率的Flex‑Algo路径计算,有利于提高链路的服务质量。该方法包括:多个节点中的第一节点接收目标灵活算法的信息,该目标灵活算法的信息包括用于指示链路丢包率的标识。该第一节点基于该目标灵活算法,确定到达多个节点中的第二节点的至少一条目标路径,该目标路径是多条候选路径中链路丢包率之和最小的路径。
Description
技术领域
本申请涉及网络技术领域,更具体地,涉及一种确定路径的方法和装置。
背景技术
传统的内部网关协议(interior gateway protocol,IGP)可以根据链路的开销值和最短路径优先(shortest path first,SPF)算法来计算到达目的地址的最短路径。然而,基于链路的开销值的SPF算法是固定的,用户无法调整,不便于根据自己的需求计算最优的路径。
例如,链路丢包率是影响链路服务质量的重要因素,若IGP在基于SPF算路时忽略链路丢包率,可能会得到链路丢包率过高的路径,这会影响链路的服务质量等级,从而影响用户的业务体验。
发明内容
本申请提供一种确定路径的方法和装置,可以支持基于链路丢包率的Flex-Algo路径计算,有利于提高链路的服务质量。
第一方面,提供了一种确定路径的方法,应用于包括多个节点的网络,包括:多个节点中的第一节点接收目标灵活算法的信息,该目标灵活算法的信息包括用于指示链路丢包率的标识。该第一节点基于该目标灵活算法,确定到达多个节点中的第二节点的至少一条目标路径,该目标路径是多条候选路径中链路丢包率之和最小的路径。
在本申请实施例中,可以新增一种基于链路丢包率的度量类型,第一节点可以基于目标灵活算法的信息中的链路丢包率计算出满足链路丢包率需求的目标路径,有利于提高链路服务质量等级,从而改善用户的业务体验。
结合第一方面,在第一方面的某些实现方式中,该目标路径的至少一条链路的第一丢包率权值之和是多条候选路径中最小的,该第一丢包率权值是根据该链路丢包率确定的。
在本申请实施例中,第一节点在算路时可以考虑链路丢包率对应的丢包率权值,根据丢包率权值确定出满足业务需求的目标路径。
结合第一方面,在第一方面的某些实现方式中,该第一丢包率权值大于0,该第一丢包率权值随着链路丢包率的增大而增大。
在本申请实施例中,由于目前路由接口上的链路丢包率取值范围为0.000003%~50.331642%,对应的丢包率权值取值范围为1~16777214。对于丢包率为0的情况,其对应的丢包率权值为0。当网络中每条链路上的链路丢包率为0的情况下,每个节点到其他节点的链路丢包率对应的丢包率权值都是0,这样IGP在以链路丢包率为度量类型算路时会出现环路问题。因此可以将链路丢包率为0时对应的丢包率权值设置为大于0的数值,并且丢包率权值随着链路丢包率的增大而增大,这样也可以达到区分不同链路丢包率的目的。
结合第一方面,在第一方面的某些实现方式中,链路丢包率为0对应第一丢包率权值为1,链路丢包率为0.000003%对应第一丢包率权值为2,0.000003%为链路丢包率的基础度量单元。
在本申请实施例中,可以将丢包率权值为1预留给没有链路丢包率(即链路丢包率为0)的情况,链路丢包率为0.000003%对应的丢包率权值递增为2,以此类推。这样既不会导致链路丢包率为0时出现回路问题,又可以区分不同的链路丢包率。
结合第一方面,在第一方面的某些实现方式中,多个节点中的第一节点接收目标灵活算法的信息,包括:该第一节点接收来自网络中的其他节点的第一报文,该第一报文包括该目标灵活算法的信息,该目标灵活算法的信息包括该目标灵活算法的灵活算法定义(flexible algorithm definition,FAD)。
在本申请实施例中,第一节点可以通过第一报文泛洪目标灵活算法的信息,以使全网构建基于Flex-Algo的拓扑,网络中的各个节点可以基于Flex-Algo构建的拓扑生成路由信息。
结合第一方面,在第一方面的某些实现方式中,第一节点接收来自网络中的其他节点的第二报文,该第二报文包括至少一条链路的第二丢包率权值;该第一节点基于该第二报文,确定该第一丢包率权值。
在本申请实施例中,第一节点可以接收网络中其他节点发布的第二丢包率权值,该第二丢包率权值可以携带于第二报文中。
结合第一方面,在第一方面的某些实现方式中,该第二丢包率权值位于该第二报文的第一子类型长度值TLV字段。
在本申请实施例中,该第二丢包率权值可以携带于第二报文的子TLV中。示例性地,该第二丢包率权值可以通过ISIS报文的16号子TLV的其中一个子TLV(sub-sub TLV)进行发布。
结合第一方面,在第一方面的某些实现方式中,第一节点基于第二报文,确定第一丢包率权值,包括:该第一节点将该第二丢包率权值加1后的值确定为该第一丢包率权值。
在本申请实施例中,第一节点接收到的第二丢包率权值是按当前接口上的链路丢包率与丢包率权值的对应关系确定的,可能存在网络中的每条链路的丢包率权值为0而导致出现环路的情况,因此第一节点在接收到该第二丢包率权值后可以将该第二丢包率权值加1后的值确定为该第一丢包率权值,IGP在算路时可以根据该第一丢包率权值计算满足需求的目标路径。
结合第一方面,在第一方面的某些实现方式中,第一节点基于第二报文,确定第一丢包率权值,包括:该第一节点将该第二丢包率权值确定为该第一丢包率权值。
在本申请实施例中,网络中的其他节点在发送第二报文时,已经将按当前接口上的链路丢包率与丢包率权值的对应关系确定的原始丢包率权值加1得到该第二丢包率权值,因此第一节点可以将该第二丢包率权值确定为该第一丢包率权值。
结合第一方面,在第一方面的某些实现方式中,该目标灵活算法的信息还包括计算类型的标识;该第一节点基于该目标灵活算法,确定到达多个节点中的第二节点的至少一条目标路径,包括:该第一节点基于该目标灵活算法、该链路丢包率或该计算类型中的至少一种,从多条候选路径中确定达到该第二节点的至少一条目标路径。
第二方面,提供了一种确定路径的方法,应用于包括多个节点的网络,包括:多个节点中的第三节点向网络中的其他节点发送目标灵活算法的信息,该目标灵活算法的信息包括用于指示链路丢包率的标识,该目标灵活算法的信息用于该网络中的其他节点基于该目标灵活算法,确定至少一条目标路径。
在本申请实施例中,第三节点可以作为发送端可以向网络中的其他节点(包括上述第一节点)发送目标灵活算法的信息。应理解,第一节点也可以与该第三节点为同一个节点,即上述第一节点可以执行与该第三节点相同的步骤,向网络中的其他节点发送目标灵活算法的信息,此时第一节点为发送端,第三节点可以为接收端接收该目标灵活算法的信息。
结合第二方面,在第二方面的某些实现方式中,多个节点中的第三节点向网络中的其他节点发送目标灵活算法的信息,包括:第三节点向网络中的其他节点发送第一报文,该第一报文包括该目标灵活算法的信息。
结合第二方面,在第二方面的某些实现方式中,第三节点向网络中的其他节点发送第二报文,该第二报文包括至少一条链路的第二丢包率权值,该第二丢包率权值位于该第二报文的第一子类型长度值TLV字段。
结合第二方面,在第二方面的某些实现方式中,在第三节点向网络中的其他节点发送第二报文之前,还包括:该第三节点将该链路丢包率对应的原始丢包率权值加1后的值确定为该第二丢包率权值。
在本申请实施例中,第三节点可以将按当前接口上的链路丢包率与丢包率权值的对应关系确定的原始丢包率权值加1后的值确定为该第二丢包率权值。
结合第二方面,在第二方面的某些实现方式中,该第二丢包率权值大于0,第二丢包率权值随着链路丢包率的增大而增大。
结合第二方面,在第二方面的某些实现方式中,链路丢包率为0对应第二丢包率权值为1,链路丢包率为0.000003%对应第二丢包率权值为2,0.000003%为链路丢包率的基础度量单元。
第三方面,提供了一种确定路径的装置,包括:接收模块,用于接收目标灵活算法的信息,该目标灵活算法的信息包括用于指示链路丢包率的标识;确定模块,用于基于该目标灵活算法,确定到达多个节点中的第二节点的至少一条目标路径,该目标路径是多条候选路径中该链路丢包率之和最小的路径。
结合第三方面,在第三方面的某些实现方式中,该目标路径的至少一条链路的第一丢包率权值之和是多条候选路径中最小的,该第一丢包率权值是根据该链路丢包率确定的。
结合第三方面,在第三方面的某些实现方式中,该第一丢包率权值大于0,该第一丢包率权值随着链路丢包率的增大而增大。
结合第三方面,在第三方面的某些实现方式中,链路丢包率为0对应第一丢包率权值为1,链路丢包率为0.000003%对应第一丢包率权值为2,0.000003%为链路丢包率的基础度量单元。
结合第三方面,在第三方面的某些实现方式中,接收模块用于:接收来自网络中的其他节点的第一报文,该第一报文包括该目标灵活算法的信息,该目标灵活算法的信息包括该目标灵活算法的灵活算法定义(flexible algorithm definition,FAD)。
结合第三方面,在第三方面的某些实现方式中,接收模块用于:接收来自网络中的其他节点的第二报文,该第二报文包括至少一条链路的第二丢包率权值;确定模块用于:基于该第二报文,确定该第一丢包率权值。
结合第三方面,在第三方面的某些实现方式中,该第二丢包率权值位于该第二报文的第一子类型长度值TLV字段。
结合第三方面,在第三方面的某些实现方式中,确定模块用于:将该第二丢包率权值加1后的值确定为该第一丢包率权值。
结合第三方面,在第三方面的某些实现方式中,确定模块用于:将该第二丢包率权值确定为该第一丢包率权值。
结合第三方面,在第三方面的某些实现方式中,该目标灵活算法的信息还包括计算类型的标识;确定模块用于:基于该目标灵活算法、该链路丢包率或该计算类型中的至少一种,从多条候选路径中确定达到该第二节点的至少一条目标路径。
第四方面,提供了另一种确定路径的装置,包括:确定模块,用于确定目标灵活算法的信息,该目标灵活算法的信息包括用于指示链路丢包率的标识,该目标灵活算法的信息用于网络中的其他节点基于该目标灵活算法,确定至少一条目标路径;发送模块,用于向网络中的其他节点发送该目标灵活算法的信息。
结合第四方面,在第四方面的某些实现方式中,发送模块用于:向网络中的其他节点发送第一报文,该第一报文包括该目标灵活算法的信息。
结合第四方面,在第四方面的某些实现方式中,发送模块用于:向网络中的其他节点发送第二报文,该第二报文包括至少一条链路的第二丢包率权值,该第二丢包率权值位于该第二报文的第一子类型长度值TLV字段。
结合第四方面,在第四方面的某些实现方式中,确定模块用于:将该链路丢包率对应的原始丢包率权值加1后的值确定为该第二丢包率权值。
结合第四方面,在第四方面的某些实现方式中,该第二丢包率权值大于0,第二丢包率权值随着链路丢包率的增大而增大。
结合第四方面,在第四方面的某些实现方式中,链路丢包率为0对应第二丢包率权值为1,链路丢包率为0.000003%对应第二丢包率权值为2,0.000003%为链路丢包率的基础度量单元。
第五方面,提供了再一种确定路径的装置,包括处理器,该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述第一方面或第二方面中任一种可能实现方式中的方法。可选地,该装置还包括存储器。可选地,该装置还包括通信接口,处理器与通信接口耦合。
在一种实现方式中,该确定路径的装置为路由设备,当该确定路径的装置为路由设备时,通信接口可以是收发器,或,输入/输出接口。
在另一种实现方式中,该确定路径装置为配置于路由设备中的芯片。当确定路径的装置为配置于路由设备中的芯片时,通信接口可以是输入/输出接口。
第六方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得处理器执行上述第一方面或第二方面中任一种可能实现方式中的方法。
在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请实施例对处理器及各种电路的具体实现方式不做限定。
第七方面,提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述第一方面或第二方面中任一种可能实现方式中的方法。
可选地,处理器为一个或多个,存储器为一个或多个。
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
应理解,相关的数据交互过程例如发送指示信息可以为从处理器输出指示信息的过程,接收能力信息可以为处理器接收输入能力信息的过程。具体地,处理输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。
上述第七方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第八方面,提供了一种确定路径的系统,该系统包括第一节点和第三节点,该第一节点执行上述第一方面任一种可能实现方式中的方法,该第三节点执行上述第二方面任一种可能实现方式中的方法。
第九方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第一方面或第二方面任一种可能实现方式中的方法。
第十方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序(也可以称为代码,或指令),当其在计算机上运行时,使得计算机执行上述第一方面或第二方面中任一种可能实现方式中的方法。
附图说明
图1是一种ISIS报文的结构示意图;
图2是一种多节点网络的拓扑示意图;
图3是本申请实施例提供的一种确定路径的方法的示意性流程图;
图4是本申请实施例提供的另一种确定路径的方法的流程示意图;
图5是本申请实施例提供的一种多节点网络的拓扑示意图;
图6是本申请实施例提供的另一种多节点网络的拓扑示意图;
图7是本申请实施例提供的再一种多节点网络的拓扑示意图;
图8是本申请实施例提供的一种通告丢包率权值的子TLV的示意图;
图9是本申请实施例提供的一种确定路径的装置的示意性框图;
图10是本申请实施例提供的另一种确定路径的装置的示意性框图;
图11是本申请实施例提供的再一种确定路径的装置的示意性框图;
图12是本申请实施例提供的一种确定路径的系统的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为便于理解,首先对本申请实施例所涉及的术语进行简单介绍。
1.灵活算法(Flex-Algo):Flex-Algo提供一种类似流量工程(trafficengineering,TE)的策略,通过使IGP自身计算带约束的最短路径,从而达到与TE实现相同的效果。Flex-Algo允许用户将榴莲引入自定义的网络拓扑,通过定制灵活算法定义(flexible algorithm definition,FAD),丰富IGP的路径计算能力,从而达到实现流量工程的目的。
IGP可以通过泛洪FAD、节点Flex-Algo算法参与能力和链路TE属性信息来构建基于Flex-Algo的拓扑,同时通过网段路由标识(locator)关联Flex-Algo,使得拓扑中的各节点可以基于Flex-Algo侯建的拓扑生成到达网段路由标识(locator)的路由信息。
2.灵活算法定义(FAD):根据标准草案draft-ietf-lsr-flex-algo-14中对FAD的描述可知,FAD包括度量类型(metric-type)、计算类型(calculation-type)以及描述拓扑约束的集合(describe a set of constraints on the topology)。应理解,路由器还可以配置一个数字标识符与一个FAD相关联,数字128~255可用于标识不同的Flex-Algo。
路由器可以扩展一组类型长度值(type-length-value,TLV)来携带Flex-Algo的FAD信息,称作FAD TLV,该FAD TLV用于通告某个Flex-Algo的具体计算规则,该FAD TLV包括多个子TLV(sub-TLVs)。
图1是一种中间系统到中间系统(intermediate system to intermediatesystem,ISIS)报文的结构示意图,如图1所示,ISIS报文的FAD TLV结构包括如下字段:
(1)类型(type)字段:用于描述ISIS报文的类型;
(2)长度(length)字段:用于描述ISIS报文的长度;
(3)Flex-Algo字段:用于描述Flex-Algo的数字标识;
(4)度量类型(metric-type)字段:用于描述Flex-Algo算路所基于的度量类型标识;
(5)计算类型(calculation-type)字段:用于描述Flex-Algo算路所基于的计算类型标识;
(6)优先级(priority)字段:用于描述ISIS报文所承载的业务流量的优先级标识;
(7)子TLV(sub-TLVs)字段。
3.度量类型(metric-type):现有的度量类型包括链路开销值(IGP cost)、时延和流量工程(traffic engineering,TE)规则,Flex-Algo可基于多种度量类型中的一种度量规则计算满足不同需求的路径。
以下是当前标准草案draft-ietf-lsr-flex-algo-14中对度量类型(metric-type)的描述:
Metric-Type:Type of metric to be used during the calculation.
Following values are defined:
0:IGP Metric
1:Min Unidirectional Link Delay as defined in[RFC7810].
2:TE default metric as defined in[RFC5305].
其中,请求评论(request for comments,RFC)是一系列以编号排定的标准文档,该标准文档收集了大量互联网相关信息。RFC标准文档还加入了许多的标准内的论题,例如对于互联网新开发的协议以及发展中所有的记录。
由以上描述可知,不同的度量类型有不同的标识,其标识范围为0~255,当前标准草案draft-ietf-lsr-flex-algo-14规定:0用于标识IGP cost,1用于标识时延,2用于标识TE规则,之后的3~255为预留的度量类型的标识。
4.SPF算法:SPF算法是开放最短路径优先OSPF路由协议的基础,可以将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器可以根据一个统一的数据库计算出路由域的拓扑结构图,该拓扑结构图也被称作最短路径树。
5.链路开销值(cost):在OSPF路由协议中,最短路径树的树干长度,即OSPF路由器到达每一个目的地路由器的距离,被称为OSPF的cost,其算法为:cost=100×(10)^6/链路带宽。
由上述介绍可知,FAD包括度量类型(metric-type)、计算类型(calculation-type)以及描述拓扑约束的集合(describe a set of constraints on the topology),用户可自定义FAD,丰富IGP的路径计算能力,从而达到实现流量工程的目的。
传统的IGP算法可以根据链路开销值并利用SPF算法计算到达目的地址的最短路径。这样的方式是基于链路的开销值,无法满足用户的不同需求,例如用户期望按照时延最小的路径转发,或者排除部分链路转发。示例性地,由于自动驾驶领域需要极低时延的网络,因此需要根据时延进行路径计算。示例性地,有些链路的费用较高,用户希望考虑费用这一因素,那么在计算路径时需要将费用较高的路径排除。这个基于链路开销值的SPF算法是固定的,用户无法调整,因此不便于用户根据自己的需求计算最优的路径。
由于Flex-Algo允许用户自己定制IGP算法的算法,满足不同业务需求,因此基于Flex-Algo的特性,IGP可以根据链路的cost、时延、TE约束等自动计算满足不同需求的路径,灵活地实现流量工程的需求。
由上文可知,Flex-Algo的计算规则一般由一个三元组表示,即度量类型、计算类型和约束条件。其中,度量类型表示链路指标约束(例如,时延指标),计算类型表示计算算法约束(例如,采用SPF算法),约束条件表示在算路时是否包含/排除某些链路。
示例性地,用户可以将Flex-Algo 128定义为:(1)度量类型:时延;(2)计算类型:SPF;(3)约束条件:排除链路x。
图2是一种多节点网络200的拓扑示意图。网络200包括节点0、节点9、节点1、节点2、节点3、节点4、节点5、节点6、节点7和节点8。图2中的各个节点均支持基于灵活算法进行算路的功能。假设需要计算一条从节点0至节点9的路径,则在网络200中,从节点0开始的使用相同Flex-Algo的节点可以根据FAD信息计算一条从节点0至节点9的满足算法定义的路径。
其中,节点0和节点9可以同时支持Flex-Algo 128和Flex-Algo 129,IGP协议可以通过FAD TLV对外通告Flex-Algo 128和Flex-Algo 129的定义,使得全网节点都能感知节点0和节点9所使用的算法及算法定义。
节点1至节点4使用Flex-Algo 128,IGP协议可以通过FAD TLV对外通告节点1至节点4使用Flex-Algo 128。
节点5至节点8使用Flex-Algo 129,IGP协议可以通过FAD TLV对外通告节点5至节点8使用Flex-Algo 129。
除了Flex-Algo 128和Flex-Algo 129以外,每个节点还可以支持最基本的算法0,即基于链路cost值的SPF算法。
在图2中,示例性地,节点9配置有互联网协议第6版(internet protocol version6,IPv6)数据平面转发IPv6数据包的SR的网段路由标识(简称为SRv6 locator)与Flex-Algo进行关联,网络中的其他节点可以基于Flex-Algo计算到这个SRv6 locator对应网段的路由,最终不同的网段路由代表基于不同算法计算出的路径,可以满足业务的多样化需求。
应理解,其他节点也可以配置SRv6 locator与Flex-Algo进行关联,本申请实施例在此不做限制。
在基于网络200算路的过程中,节点0向其他节点通告支持算法0、Flex-Algo 128和Flex-Algo 129,节点9向其他节点通告支持算法0、Flex-Algo 128和Flex-Algo 129。节点1、节点2、节点3和节点4向其他节点通告支持算法0和Flex-Algo 128,节点5、节点6、节点7和节点8向其他节点通告支持算法0和Flex-Algo 129。
示例性地,Flex-Algo 128的定义为:(1)度量类型:时延;(2)计算类型:SPF;(3)约束条件:排除由节点5和节点6组成的链路。
示例性地,Flex-Algo 129的定义为:(1)度量类型:TE;(2)计算类型:SPF;(3)约束条件:排除由节点1和节点2组成的链路。
应理解,Flex-Algo 128和Flex-Algo 129可以将网络200逻辑划分为子网络拓扑210和子网络拓扑220,子网络拓扑210包括支持Flex-Algo 128的节点,子网络拓扑220包括支持Flex-Algo 129的节点。在图2中,若节点1、节点2、节点3和节点4使用Flex-Algo128,那么节点1、节点2、节点3和节点4可以归属于子网络拓扑210。若节点5、节点6、节点7和节点8使用Flex-Algo 129,那么节点5、节点6、节点7和节点8可以归属于子网络拓扑220。
示例性地,节点0使用Flex-Algo 128,节点0可以将配置的Flex-Algo 128的FAD信息进行全网泛洪,使得子网络拓扑210中的各个节点获知Flex-Algo 128的FAD信息,这样子网络拓扑210中未配置相应FAD信息的节点也可以遵循Flex-Algo 128的FAD信息计算路径。最终确定的目标路径中的节点归属于同一个子网络拓扑。
应理解,网络200中的任意一个节点也可以将自身配置的Flex-Algo的FAD信息进行全网泛洪,以使得具有相同Flex-Algo数字标识符的节点可以遵循相同的算法定义从而计算出满足业务需求的最优路径,本申请实施例对此不做限制。
示例性地,节点1至节点8使用算法0,节点0计算的目标路径中可以包括网络200中的任意一个节点,不受Flex-Algo的限制。
应理解,网络200中的节点还可以是支持Flex-Algo 130、Flex-Algo 131……的灵活算法节点,本申请实施例对此不做限制。
结合上文描述可知,当前标准草案draft-ietf-lsr-flex-algo-14中仅支持基于链路开销值(cost)、时延或TE的Flex-Algo路径计算,并不支持基于链路丢包率(也可称为接口丢包率)的Flex-Algo路径计算。
鉴于上述采用Flex-Algo算路时未考虑链路丢包率对于目标路径的影响,导致计算出的Flex-Algo路径出现链路丢包率过大的情况,这样可能会影响用户的业务体验。本申请实施例提供一种确定路径的方法和装置,通过增加一种基于链路丢包率的度量类型,根据Flex-Algo配置策略进行算路,有利于避免由于链路丢包率过大导致的业务受损情况,进而提高链路服务质量等级。
在介绍本申请实施例提供的确定路径的方法和装置之前,先做出以下几点说明。
第一,在下文示出的实施例中,各术语及英文缩略语,如链路丢包率、丢包率权值、Flex-Algo、度量类型等,均为方便描述而给出的示例性举例,不应对本申请构成任何限定。本申请并不排除在已有或未来的协议中定义其它能够实现相同或相似功能的术语的可能。
第二,在下文示出的实施例中第一、第二以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。例如,区分不同的节点、区分不同的丢包率权值等。
第三,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
应理解,本申请所提供的确定路径的方法可以应用于SRv6场景,也可以应用于使用多协议标签交换(multi-protocol label switching,MPLS)数据平面转发MPLS数据包的段路由(segment routing,SR)场景,简称为SR-MPLS场景,还可以应用于其他场景,本申请实施例对此不作限定。
下面结合图3对本申请实施例提供的一种确定路径的方法进行详细介绍。
图3是本申请实施例提供的一种确定路径的方法300的示意性流程图,方法300可以应用于如图2所示的网络200,方法300的步骤和/或流程可以由第一节点来执行。方法300包括以下步骤:
S301,多个节点中的第一节点接收目标灵活算法的信息,该目标灵活算法的信息包括用于指示链路丢包率的标识。
示例性地,若需要确定网络200中的一条从节点0至节点9的路径,上述第一节点可以为网络200中的节点0。
S302,第一节点基于该目标灵活算法,确定到达多个节点中的第二节点的至少一条目标路径,该目标路径是多条候选路径中该链路丢包率之和最小的路径。
示例性地,若需要确定网络200中的一条从节点0至节点9(目的节点)的路径,上述第二节点可以为网络200中的节点9。
示例性地,若需要确定网络200中的一条从节点0至节点9的路径,上述第一节点可以为网络200中的节点0,上述第二节点可以为网络200中的节点9。
示例性地,可以在预留的度量类型的标识(3~255)中选择255作为链路丢包率的标识。
在S302中,第一节点在基于该目标灵活算法确定至少一条目标路径的基础上,还可以基于其他条件与该目标灵活算法共同确定目标路径。示例性地,其他条件可以为邻居信息、路由表或链路剩余带宽,本申请实施例对此不做限制。
在本申请实施例中,第一节点可以确定出至少一条目标路径。示例性地,若第一节点确定了两条同时满足算路要求的目标路径,可以采用负载分担、双发选收或者主备等多径传输策略进行业务数据的传输。
在本申请实施例中,对于游戏、视频直播等对丢包率要求严格的场景下,可以通过新增一种基于链路丢包率的度量类型,计算出满足链路丢包率需求的目标路径,有利于提高链路质量服务等级,从而改善用户的业务体验。
作为一个可选的实施例,S301包括:第一节点接收来自网络中的其他节点的第一报文,该第一报文包括该目标灵活算法的信息,该目标灵活算法的信息包括该目标灵活算法的FAD。
示例性地,该第一报文可以为ISIS报文,由上文中术语介绍部分可知,ISIS报文的FAD TLV包括度量类型字段,该度量类型字段可以携带用于表示度量类型的标识。在本申请实施例中,该度量类型字段携带链路丢包率的标识。
图4是本申请实施例提供的另一种确定路径的方法400的流程示意图。方法400可以应用于如图2所示的网络200,方法400包括如下步骤:
S401,多个节点中的第三节点向网络中的其他节点发送第一报文。
该第一报文包括灵活算法的信息,该目标灵活算法的信息包括FAD,该用于指示链路丢包率的标识位于该FAD的度量类型字段。对应的,第一节点接收该第一报文。
S402,第一节点基于该第一报文,确定目标灵活算法的信息。
S403,第一节点基于该灵活算法,确定到达目的节点的至少一条目标路径。
示例性地,上述第一节点、第二节点以及第三节点可以为路由设备,该路由设备可以为具有计算路由功能的任意设备,例如路由器或交换机,本申请实施例在此不作限制。
示例性地,若需要确定网络200中的一条从节点0至节点9(目的节点)的路径,上述第一节点可以为网络200中的节点0,第三节点可以为网络200中除去节点0的任意节点,本申请实施例对此不做限制。
在本申请实施例中,该第一节点未知灵活算法的信息,但网络中其他配置或已获取该灵活算法的信息的第三节点可以向该第一节点发送第一报文,在该第一报文中携带该灵活算法的信息,以向其他节点通告算路规则。
应理解,该第一节点不仅可以作为接收端,接收来自其他节点的第一报文,也可以作为发送端,执行与该第三节点类似的步骤,向网络中的其他节点发送该第一报文,本申请实施例对此不作限定。
在对标准草案draft-ietf-lsr-flex-algo-14进行扩展,新增基于链路丢包率的Flex-Algo算路度量类型之后,IGP可以根据链路丢包率计算满足需求的路径。
当前路由接口上的链路丢包率取值范围为0.000003%~50.331642%,对应的丢包率权值取值范围为1~16777214。对于丢包率为0的情况,其对应的丢包率权值为0。其中,0.000003%是链路丢包率的基础度量单位。
示例性地,当前接口上,链路丢包率为0.000003%对应丢包率权值为1,0.000006%对应丢包率权值为2,0.000009%对应丢包率权值为3,以此类推,此处不再赘述。
应理解,本申请实施例可以将当前接口上链路丢包率对应的丢包率权值称为原始丢包率权值。
图5是本申请实施例提供的一种多节点网络500的拓扑示意图。网络500在网络200的子网络拓扑210的基础上,增加了对每个节点的丢包率权值的描述。示例性地,网络500中的每个节点都支持Flex-Algo 128。
在网络500中,可能会存在所有节点的路由接口上没有丢包,即每条链路上的链路丢包率为0的情况,在这种情况下,每个节点到其他节点的链路丢包率对应的丢包率权值都是0,IGP在基于SPF计算路径时会认为整网拓扑都是等价多路由(equal-cost multipath,ECMP),因此IGP在以链路丢包率为度量类型计算路由3::/64或路由4::/64的路径时会出现环路问题,从而无法确定到达目的节点的目标路径。
应理解,在以链路丢包率为度量类型算路时,需要考虑多条候选路径的丢包率权值之和,最终计算出的目标路径的第一丢包率权值(loss)之和是多条候选路径中丢包率权值之和最小的路径。
作为一个可选的实施例,该第一丢包率权值大于0,第一丢包率权值随着链路丢包率的增大而增大。
应理解,上述第一丢包率权值可以指网络500中至少一条链路的链路丢包率对应的丢包率权值。
为了避免环路问题的出现,可以将链路丢包率为0时对应的丢包率权值设置为1。图6是本申请实施例提供的另一种多节点网络600的拓扑示意图。相较于网络500,在网络600中,当链路没有丢包率,即链路丢包率为0时,其对应的丢包率权值为1。
在以SPF算法为计算类型、以链路丢包率为度量类型算路时,由于节点0->节点1->节点3->节点4->节点9这条路径的丢包率权值之和为4,节点0->节点1->节点2->节点4->节点9这条路径的丢包率权值之和为4,而节点0->节点1->节点4->节点9这条路径的丢包率权值之和为3,是这三条路径中丢包率权值之和最小的路径,因此可以确定到4::/64的路由为节点0->节点1->节点4->节点9,这样便不会出现环路问题。
由上文描述可知,当前接口上的链路丢包率为0.000003%时对应的丢包率权值为1,若将链路丢包率为0时对应的丢包率权值设置为1,那么链路丢包率为0.000003%和0对应的丢包率权值均为1,这可能会导致节点无法区分链路丢包率为0.000003%和没有丢包率的情况。
作为一个可选的实施例,链路丢包率为0对应该第一丢包率权值为1,链路丢包率为0.000003%对应该第一丢包率权值为2,0.000003%为该链路丢包率的基础度量单元。
在本申请实施例中,可以考虑将链路丢包率为0对应的丢包率权值设置为1,将链路丢包率为0.000003%对应的丢包率权值递增,即设置为2,将链路丢包率为0.000003%对应的丢包率权值继续往后递增,即设置为3,之后的链路丢包率对应的丢包率权值以此类推,不断递增。
在本申请实施例中,通过将链路丢包率为0对应的丢包率权值设置为1,有利于避免出现环路问题。将链路丢包率为0.000003%以及链路丢包率大于0.000003%对应的丢包率权值在原始丢包率权值的基础上加1,这样可以区分不同的链路丢包率。
图7是本申请实施例提供的再一种多节点网络700的拓扑示意图。相较于网络600,网络700中存在链路丢包率不为0的链路。
示例性地,在网络700中,节点0->节点1、节点1->节点2、节点1->节点3、节点2->节点4和节点4->节点9这五条链路的链路丢包率均为0,其对应的丢包率权值均为1;节点1->节点4和节点3->节点4这两条链路的链路丢包率均为0.000006%,其对应的丢包率权值均为3。
在以SPF算法为计算类型、以链路丢包率为度量类型算路时,由于节点0->节点1->节点3->节点4->节点9这条路径的丢包率权值之和为6,节点0->节点1->节点4->节点9这条路径的丢包率权值之和为5,而节点0->节点1->节点2->节点4->节点9这条路径的丢包率权值之和为4,是这三条路径中丢包率权值之和最小的路径,因此可以确定到达4::/64的路由为节点0->节点1->节点4->节点9。
作为一个可选的实施例,第三节点向网络中的其他节点发送第二报文,该第二报文包括至少一条链路的第二丢包率权值。
作为一个可选的实施例,方法300还包括:第一节点接收来自网络中的其他节点的第二报文,该第二报文包括至少一条链路的第二丢包率权值;第一节点基于该第二报文,确定该第一丢包率权值。
在本申请实施例中,由于采用基于链路丢包率的Flex-Algo算路时需要获取丢包率权值,因此网络700中的第三节点可以向第一节点发送携带第二丢包率权值的第二报文,第一节点可以通过该第二报文接收来自其他节点发布的第二丢包率权值。
以下介绍两种确定第一丢包率权值的方法:
1、发送端(第三节点)对原始丢包率权值加1得到第二丢包率权值,并将该第二丢包率权值发布出去,接收端(第一节点)将该第二丢包率权值确定为第一丢包率权值。
作为一个可选的实施例,在第三节点向网络中的其他节点发送第二报文之前,第三节点将链路丢包率对应的原始丢包率权值加1后的值确定为该第二丢包率权值。第一节点基于第二报文,确定第一丢包率权值,包括:第一节点将该第二丢包率权值确定为该第一丢包率权值。
在本申请实施例中,第三节点为发送丢包率权值的发送端,第一节点为接收丢包率权值的接收端。第三节点在将第二丢包率权值通过第二报文发送至其他节点之前,需要确定第二丢包率权值。第三节点可以将链路丢包率对应的原始丢包率权值加1,得到第二丢包率权值,再通过第二报文将该第二丢包率权值发送出去。相应地,第一节点接收第二报文,并获取第二报文中的第二丢包率权值,将该第二丢包率权值确定为第一丢包率权值。
示例性地,若第三节点为网络700中的节点3,第一节点为网络700中的节点0,节点3可以通过订阅接口信息得到节点3->节点1这条链路的链路丢包率,该条链路的链路丢包率为0,按照当前接口上链路丢包率和丢包率权值的对应关系,链路丢包率为0对应丢包率权值为0,即原始丢包率权值为0,第三节点可以将原始丢包率权值加1后的值确定为第二丢包率权值,即该条链路的第二丢包率权值为1,节点3可通过第二报文对外发布节点3->节点1这条链路的第二丢包率权值。
相应地,由于在发送端(即第三节点)已经将原始丢包率权值加1后的值确定为第二丢包率权值,因此接收端(即第一节点)接收到第二报文,可将第二丢包率权值确定为该第一丢包率权值,即该链路的第一丢包率权值为1,该第一丢包率权值用于第一节点确定至少一条目标路径。
示例性地,若第三节点为网络700中的节点3,第一节点为网络700中的节点0,节点3可以通过订阅接口信息得到节点3->节点4这条链路的链路丢包率,该条链路的链路丢包率为0.000006%,按照当前接口上链路丢包率和丢包率权值的对应关系,链路丢包率为0.000006%对应丢包率权值为2,即原始丢包率权值为2,第三节点可以将原始丢包率权值加1后的值确定为第二丢包率权值,即该条链路的第二丢包率权值为3,节点3可通过第二报文对外发布节点3->节点4这条链路的第二丢包率权值。
相应地,由于在发送端(即第三节点)已经将原始丢包率权值加1后的值确定为第二丢包率权值,因此接收端(即第一节点)接收到第二报文,可将第二丢包率权值确定为该第一丢包率权值,即该链路的第一丢包率权值为3,该第一丢包率权值用于第一节点确定至少一条目标路径。
2、发送端(第三节点)不对原始丢包率权值进行处理,直接将原始丢包率权值确定为第二丢包率权值,并将该第二丢包率权值发布出去,接收端(第一节点)将该第二丢包率权值加1后的值确定为第一丢包率权值。
作为一个可选的实施例,在第三节点向网络中的其他节点发送第二报文之前,第三节点将链路丢包率对应的原始丢包率权值确定为该第二丢包率权值。第一节点基于第二报文,确定第一丢包率权值,包括:第一节点将该第二丢包率权值加1后的值确定为该第一丢包率权值。
在本申请实施例中,第三节点可以将原始链路丢包率对应的原始丢包率权值确定为第二丢包率权值,再通过第二报文将该第二丢包率权值发送出去。相应地,第一节点接收第二报文,并获取第二报文中的第二丢包率权值,将该第二丢包率权值加1后的值确定为该第一丢包率权值。
示例性地,若第三节点为网络700中的节点3,第一节点为网络700中的节点0,节点3可以通过订阅接口信息得到节点3->节点1这条链路的链路丢包率,该条链路的链路丢包率为0,按照当前接口上链路丢包率和丢包率权值的对应关系,链路丢包率为0对应丢包率权值为0,即原始丢包率权值为0,第三节点可以将原始丢包率权值确定为第二丢包率权值,即该条链路的第二丢包率权值为0,节点3可通过第二报文对外发布节点3->节点1这条链路的第二丢包率权值。
相应地,由于在发送端(即第三节点)仍然按照当前接口上链路丢包率和丢包率权值的对应关系对外发布丢包率权值,即第二报文中第二丢包率权值为0,因此接收端(即第一节点)接收到第二报文后,可以将第二丢包率权值加1后的值确定为该第一丢包率权值,即该条链路的第一丢包率权值为1,该第一丢包率权值用于第一节点确定至少一条目标路径。
示例性地,若第三节点为网络700中的节点3,第一节点为网络700中的节点0,节点3可以通过订阅接口信息得到节点3->节点4这条链路的链路丢包率,该条链路的链路丢包率为0.000006%,按照当前接口上链路丢包率和丢包率权值的对应关系,链路丢包率为0.000006%对应丢包率权值为2,即原始丢包率权值为2,第三节点可以将原始丢包率权值确定为第二丢包率权值,即该条链路的第二丢包率权值为2,节点3可通过第二报文对外发布节点3->节点4这条链路的第二丢包率权值。
相应地,由于在发送端(即第三节点)仍然按照当前接口上链路丢包率和丢包率权值的对应关系对外发布丢包率权值,即第二报文中第二丢包率权值为2,因此接收端(即第一节点)接收到第二报文后,可以将第二丢包率权值加1后的值确定为该第一丢包率权值,即该条链路的第一丢包率权值为3,该第一丢包率权值用于第一节点确定至少一条目标路径。
作为一个可选的实施例,在采用第一种确定第一丢包率权值的方法的情况下,第二丢包率权值大于0,所述第二丢包率权值随着所述链路丢包率的增大而增大。
作为一个可选的实施例,在采用第一种确定第一丢包率权值的方法的情况下,链路丢包率为0对应所述第二丢包率权值为1,所述链路丢包率为0.000003%对应所述第二丢包率权值为2,0.000003%为所述链路丢包率的基础度量单元。
作为一个可选的实施例,该第二丢包率权值位于该第二报文的第一子TLV字段。
示例性地,该第二报文可以为ISIS报文,该第一子TLV可以为该ISIS报文的16号子TLV,由于16号子TLV为描述链路属性的子TLV,因此可以将丢包率权值封装为16号子TLV的子TLV(sub-sub-TLV)进行发布。
应理解,该ISIS报文中还可以包括其他子TLV字段,该16号子TLV与其他子TLV属于并列关系,第三节点将丢包率权值作为16号子TLV的子TLV进行发布便于第一节点对该字段进行解析获取链路属性信息。
图8是本申请实施例提供的一种通告丢包率权值的子TLV 800的示意图。如图8所示,子TLV 800包括:类型(type)字段、长度(length)字段以及丢包率权值字段。其中,类型字段用以描述子TLV的类型;长度字段用以描述子TLV的长度;丢包率权值字段用于描述链路的丢包率权值。
示例性地,可以通过链路状态报文(link state packet,LSP)携带上述子TLV 800对外通告丢包率权值。
示例性地,子TLV 800可以是上述16号子TLV。以下是draft-ietf-lsr-flex-algo-14中的RFC 8919对16号子TLV的描述:
A new sub-TLV for TLVs 22,23,25,141,222,and 223is defined thatsupports specification of the applications and application-specific attributevalues.
Type:16
Length:Variable(1octet)
Value:
Application Identifier Bit Mask(as defined in Section 4.1)
Link attribute sub-sub TLVs—format matches the existing
Formats defined in[RFC5305],[RFC7308],and[RFC8570]
路由接口的TE属性携带链路丢包率信息,当链路丢包率满足发布条件时,网络中的节点可以对外发布链路丢包率对应的丢包率权值,发布条件可以包括如下两种:一是接口上配置的使能开关开启可以对外发布丢包率权值;二是当接口检测到链路上的链路丢包率,可以对外发布丢包率权值。
应理解,网络中的节点发布链路丢包率具有方向性,例如,网络700中的节点1对外发布节点1->节点2这条链路的丢包率,节点2对外发布节点2->节点1这条链路的丢包率。
作为一个可选的实施例,目标灵活算法的信息还包括计算类型的标识;第一节点基于该目标灵活算法,确定到达多个节点中的第二节点的至少一条目标路径,包括:该第一节点基于该目标灵活算法、该链路丢包率或该计算类型中的至少一种,从多条候选路径中确定达到该第二节点的至少一条目标路径。
在本申请实施例中,第一节点获取链路丢包率对应的丢包率权值和灵活算法的信息之后,可以基于该链路丢包率对应的丢包率权值、目标灵活算法或计算类型中的至少一种确定至少一条目标路径。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中结合图1至图8,详细描述了根据本申请实施例的确定路径的方法,下面将结合图9至图11详细描述根据本申请实施例的确定路径的装置。
图9示出了本申请实施例提供的一种确定路径的装置900的示意性框图,装置900包括:接收模块910和确定模块920。
在一个可选的例子中,本领域技术人员可以理解,装置900可以具体为上述实施例中的第一节点,或者,上述实施例中第一节点的功能可以集成在装置900中。上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。装置900可以用于执行上述方法实施例中与第一节点对应的各个流程和/或步骤。
示例性地,若需确定网络200中的一条从节点0至节点9(目的节点)的路径,则第一节点可以为网络200中的节点0。
示例性地,若需确定网络500中的一条从节点0至节点9(目的节点)的路径,则第一节点可以为网络500中的节点0。
示例性地,若需确定网络600中的一条从节点1至节点9(目的节点)的路径,则第一节点可以为网络600中的节点1。
示例性地,若需确定网络700中的一条从节点2至节点9(目的节点)的路径,则第一节点可以为网络700中的节点2。
其中,接收模块910用于:接收目标灵活算法的信息,该目标灵活算法的信息包括用于指示链路丢包率的标识;确定模块920用于:基于该目标灵活算法,确定到达多个节点中的第二节点的至少一条目标路径,该目标路径是多条候选路径中该链路丢包率之和最小的路径。
示例性地,接收模块910可以为通信接口,例如收发接口。
应理解,接收模块910可以执行上述方法300中的S301,确定模块920可以执行上述方法300中的S302。
可选地,该目标路径的至少一条链路的第一丢包率权值之和是多条候选路径中最小的,该第一丢包率权值是根据该链路丢包率确定的。
可选地,该第一丢包率权值大于0,该第一丢包率权值随着链路丢包率的增大而增大。
可选地,链路丢包率为0对应第一丢包率权值为1,链路丢包率为0.000003%对应第一丢包率权值为2,0.000003%为链路丢包率的基础度量单元。
可选地,接收模块910用于:接收来自网络中的其他节点的第一报文,该第一报文包括该目标灵活算法的信息,该目标灵活算法的信息包括该目标灵活算法的FAD。
可选地,接收模块910用于:接收来自网络中的其他节点的第二报文,该第二报文包括至少一条链路的第二丢包率权值;确定模块920用于:基于该第二报文,确定该第一丢包率权值。
可选地,该第二丢包率权值位于该第二报文的第一子类型长度值TLV字段。
可选地,确定模块920用于:将该第二丢包率权值加1后的值确定为该第一丢包率权值。
可选地,确定模块920用于:将该第二丢包率权值确定为该第一丢包率权值。
可选地,该目标灵活算法的信息还包括计算类型的标识;确定模块920用于:基于该目标灵活算法、该链路丢包率或该计算类型中的至少一种,从多条候选路径中确定达到该第二节点的至少一条目标路径。
图10示出了本申请实施例提供的另一种确定路径的装置1000的示意性框图,装置1000包括:确定模块1010和发送模块1020。
在一个可选的例子中,本领域技术人员可以理解,装置1000可以具体为上述实施例中的第三节点,或者,上述实施例中第三节点的功能可以集成在装置1000中。
上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。装置1000可以用于执行上述方法实施例中与第三节点对应的各个流程和/或步骤。
示例性地,若需确定网络200中的一条从节点0至节点9(目的节点)的路径,则第一节点可以为网络200中的节点0,第三节点可以为网络200中除去节点0的其他节点中的一个。
示例性地,若需确定网络500中的一条从节点0至节点9(目的节点)的路径,则第一节点可以为网络500中的节点0,第三节点可以为网络500中除去节点0的其他节点中的一个。
示例性地,若需确定网络600中的一条从节点1至节点9(目的节点)的路径,则第一节点可以为网络600中的节点1,第三节点可以为网络600中除去节点1的其他节点中的一个。
示例性地,若需确定网络700中的一条从节点2至节点9(目的节点)的路径,则第一节点可以为网络700中的节点2,第三节点可以为网络700中除去节点2的其他节点中的一个。
其中,确定模块1010用于:确定目标灵活算法的信息,该目标灵活算法的信息包括用于指示链路丢包率的标识,该目标灵活算法的信息用于网络中的其他节点基于该目标灵活算法,确定至少一条目标路径;发送模块1020用于:向网络中的其他节点发送该目标灵活算法的信息。
示例性地,发送模块1020可以为通信接口,例如收发接口。
应理解,发送模块1020可执行上述方法400中的S401。
可选地,发送模块1020用于:向网络中的其他节点发送第一报文,该第一报文包括该目标灵活算法的信息。
可选地,发送模块1020用于:向网络中的其他节点发送第二报文,该第二报文包括至少一条链路的第二丢包率权值,该第二丢包率权值位于该第二报文的第一子类型长度值TLV字段。
可选地,确定模块1010用于:将该链路丢包率对应的原始丢包率权值加1后的值确定为该第二丢包率权值。
可选地,该第二丢包率权值大于0,第二丢包率权值随着链路丢包率的增大而增大。
可选地,链路丢包率为0对应第二丢包率权值为1,链路丢包率为0.000003%对应第二丢包率权值为2,0.000003%为链路丢包率的基础度量单元。
应理解,这里的装置900和装置1000以功能模块的形式体现。这里的术语“模块”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
在本申请的实施例,装置900和装置1000也可以是芯片或者芯片系统,例如:片上系统(system on chip,SoC)。对应的,接收模块910可以是该芯片的收发电路,在此不做限定。
上述装置900和/或装置1000可以通过硬件实现,也可以通过硬件执行相应的软件实现,本申请实施例对此不做限制。下面结合图11介绍本申请实施例的硬件结构。
图11示出了本申请实施例提供的再一种确定路径的装置1100的示意性框图。该装置1100包括处理器1110、收发器1120和存储器1130。其中,处理器1110、收发器1120和存储器1130通过内部连接通路互相通信,该存储器1130用于存储指令,该处理器1110用于执行该存储器1130存储的指令,以控制该收发器1120发送信号和/或接收信号。
应理解,装置1100可以具体为上述实施例中的第一节点或第三节点,或者,上述实施例中第一节点或第三节点的功能可以集成在装置1100中,装置1100可以用于执行上述方法实施例中与第一节点或第三节点对应的各个步骤和/或流程。
可选地,该存储器1130可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器1110可以用于执行存储器中存储的指令,并且该处理器执行该指令时,该处理器可以执行上述方法实施例中与第一节点或第三节点对应的各个步骤和/或流程。
应理解,在本申请实施例中,处理器1110可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
图12是本申请实施例提供的一种确定路径的系统1200的示意性框图。如图12所示,系统1200包括第一节点1210和第三节点1220。
其中,第三节点1220用于:向网络中的其他节点发送第一报文,该第一报文包括灵活算法的信息,该目标灵活算法的信息包括FAD,该用于指示链路丢包率的标识位于该FAD的度量类型字段。
第一节点1210用于:接收来自第三节点1220的第一报文,并基于该第一报文,确定目标灵活算法的信息;以及,基于该灵活算法,确定到达目的节点的至少一条目标路径。
应理解,第一节点1210和第三节点1220还可以执行上述实施例中描述的与第一节点和第三节点相关的步骤和/或流程,此处不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (20)
1.一种确定路径的方法,其特征在于,应用于包括多个节点的网络,包括:
所述多个节点中的第一节点接收目标灵活算法的信息,所述目标灵活算法的信息包括用于指示链路丢包率的标识;
所述第一节点基于所述目标灵活算法,确定到达所述多个节点中的第二节点的至少一条目标路径,所述目标路径是多条候选路径中所述链路丢包率之和最小的路径。
2.根据权利要求1所述的方法,其特征在于,所述目标路径的至少一条链路的第一丢包率权值之和是所述多条候选路径中最小的,所述第一丢包率权值是根据所述链路丢包率确定的。
3.根据权利要求2所述的方法,其特征在于,所述第一丢包率权值大于0,所述第一丢包率权值随着所述链路丢包率的增大而增大。
4.根据权利要求2或3所述的方法,其特征在于,所述链路丢包率为0对应所述第一丢包率权值为1,所述链路丢包率为0.000003%对应所述第一丢包率权值为2,0.000003%为所述链路丢包率的基础度量单元。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述多个节点中的第一节点接收目标灵活算法的信息,包括:
所述第一节点接收来自所述网络中的其他节点的第一报文,所述第一报文包括所述目标灵活算法的信息,所述目标灵活算法的信息包括所述目标灵活算法的灵活算法定义FAD。
6.根据权利要求2-4中任一项所述的方法,其特征在于,所述方法还包括:
所述第一节点接收来自所述网络中的其他节点的第二报文,所述第二报文包括至少一条链路的第二丢包率权值;
所述第一节点基于所述第二报文,确定所述第一丢包率权值。
7.根据权利要求6所述的方法,其特征在于,所述第二丢包率权值位于所述第二报文的第一子类型长度值TLV字段。
8.根据权利要求6或7所述的方法,其特征在于,所述第一节点基于所述第二报文,确定所述第一丢包率权值,包括:
所述第一节点将所述第二丢包率权值加1后的值确定为所述第一丢包率权值。
9.根据权利要求6或7所述的方法,其特征在于,所述第一节点基于所述第二报文,确定所述第一丢包率权值,包括:
所述第一节点将所述第二丢包率权值确定为所述第一丢包率权值。
10.根据权利要求1-9中任一项所述的方法,其特征在于,所述目标灵活算法的信息还包括计算类型的标识;
所述第一节点基于所述目标灵活算法,确定到达所述多个节点中的第二节点的至少一条目标路径,包括:
所述第一节点基于所述目标灵活算法、所述链路丢包率或所述计算类型中的至少一种,从所述多条候选路径中确定达到所述第二节点的所述至少一条目标路径。
11.一种确定路径的方法,其特征在于,应用于包括多个节点的网络,包括:
所述多个节点中的第三节点向所述网络中的其他节点发送目标灵活算法的信息,所述目标灵活算法的信息包括用于指示链路丢包率的标识,所述目标灵活算法的信息用于所述网络中的其他节点基于所述目标灵活算法,确定至少一条目标路径。
12.根据权利要求11所述的方法,其特征在于,所述多个节点中的第三节点向所述网络中的其他节点发送目标灵活算法的信息,包括:
所述第三节点向所述网络中的其他节点发送第一报文,所述第一报文包括所述目标灵活算法的信息。
13.根据权利要求11或12所述的方法,其特征在于,所述方法还包括:
所述第三节点向所述网络中的其他节点发送第二报文,所述第二报文包括至少一条链路的第二丢包率权值,所述第二丢包率权值位于所述第二报文的第一子类型长度值TLV字段。
14.根据权利要求13所述的方法,其特征在于,在所述第三节点向所述网络中的其他节点发送第二报文之前,所述方法还包括:
所述第三节点将所述链路丢包率对应的原始丢包率权值加1后的值确定为所述第二丢包率权值。
15.根据权利要求14所述的方法,其特征在于,所述第二丢包率权值大于0,所述第二丢包率权值随着所述链路丢包率的增大而增大。
16.根据权利要求14或15所述的方法,其特征在于,所述链路丢包率为0对应所述第二丢包率权值为1,所述链路丢包率为0.000003%对应所述第二丢包率权值为2,0.000003%为所述链路丢包率的基础度量单元。
17.一种确定路径的装置,其特征在于,包括处理器、通信接口和存储器,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中的程序代码以使得所述装置执行如权利要求1-10中任一项所述的方法。
18.一种确定路径的装置,其特征在于,包括处理器、通信接口和存储器,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中的程序代码以使得所述装置执行如权利要求11-16中任一项所述的方法。
19.一种确定路径的系统,其特征在于,包括第一节点和第三节点,所述第一节点用于执行如权利要求1-10中任一项所述的方法,所述第三节点用于执行如权利要求11-16中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序包括用于实现如权利要求1-16中任一项所述的方法的指令。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110691370.4A CN115514640A (zh) | 2021-06-22 | 2021-06-22 | 确定路径的方法和装置 |
PCT/CN2021/103300 WO2022267083A1 (zh) | 2021-06-22 | 2021-06-29 | 确定路径的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110691370.4A CN115514640A (zh) | 2021-06-22 | 2021-06-22 | 确定路径的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115514640A true CN115514640A (zh) | 2022-12-23 |
Family
ID=84499986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110691370.4A Pending CN115514640A (zh) | 2021-06-22 | 2021-06-22 | 确定路径的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115514640A (zh) |
WO (1) | WO2022267083A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103338471A (zh) * | 2013-06-27 | 2013-10-02 | 南京邮电大学 | 基于模型的无线多跳网络服务质量指标评价方法 |
CN104796334A (zh) * | 2015-04-30 | 2015-07-22 | 无锡市崇安区科技创业服务中心 | 一种数据传输路径选择方法 |
US11050662B2 (en) * | 2017-06-30 | 2021-06-29 | Cisco Technology, Inc. | Malleable routing for data packets |
US11134004B2 (en) * | 2019-04-26 | 2021-09-28 | Juniper Networks, Inc. | Enhanced flexible-algorithm definition |
CN114726775B (zh) * | 2020-06-24 | 2023-04-28 | 华为技术有限公司 | 一种路由信息发送方法、报文发送方法及相关装置 |
-
2021
- 2021-06-22 CN CN202110691370.4A patent/CN115514640A/zh active Pending
- 2021-06-29 WO PCT/CN2021/103300 patent/WO2022267083A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2022267083A1 (zh) | 2022-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9325626B2 (en) | Method and apparatus to reduce cumulative effect of dynamic metric advertisement in smart grid/sensor networks | |
US8291112B2 (en) | Selective a priori reactive routing | |
US9800493B2 (en) | Routing messages in a computer network using deterministic and probalistic source routes | |
CN111587580A (zh) | 内部网关协议洪泛最小化 | |
US7411963B2 (en) | Method for dissemination of non-routing information using the IS-IS protocol | |
US9300569B2 (en) | Compressing data packet routing information using bloom filters | |
US20140108643A1 (en) | Maintaining and communicating nodal neighboring information | |
US11095553B2 (en) | Method, apparatus and system for controlling routing information advertising | |
CN107623630B (zh) | 一种位索引显式复制信息传递方法和装置 | |
EP4030703A1 (en) | Routing control method and apparatus | |
US11848853B2 (en) | System and method for handling IGP flooding topology inconsistency | |
CN112671652A (zh) | 报文转发方法及装置 | |
WO2022267083A1 (zh) | 确定路径的方法和装置 | |
WO2023160124A1 (zh) | 确定路径的方法和装置 | |
WO2022213830A1 (zh) | 确定路径的方法和装置 | |
WO2023173989A1 (zh) | 转发表的生成方法及装置、存储介质、电子装置 | |
WO2023098703A1 (zh) | 路径通告方法、拓扑算法组合生成方法、路径计算方法、数据传输方法、电子设备和计算机可读存储介质 | |
US20230179515A1 (en) | Routing protocol broadcast link extensions | |
US20240163199A1 (en) | System and method for handling igp flooding topology inconsistency | |
US20230291681A1 (en) | Data obtaining method and apparatus, device, and storage medium | |
WO2023036087A1 (zh) | 路由通告方法、路径建立方法、业务数据的传输方法、自治系统边界路由器 | |
CN106470160B (zh) | 一种信息传输的方法及网络节点 | |
CN113556796A (zh) | 配置路由域标识的方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |