CN116684347A - 确定路径的方法和装置 - Google Patents

确定路径的方法和装置 Download PDF

Info

Publication number
CN116684347A
CN116684347A CN202210169079.5A CN202210169079A CN116684347A CN 116684347 A CN116684347 A CN 116684347A CN 202210169079 A CN202210169079 A CN 202210169079A CN 116684347 A CN116684347 A CN 116684347A
Authority
CN
China
Prior art keywords
link
node
path
constraint
message
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
Application number
CN202210169079.5A
Other languages
English (en)
Inventor
于树松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210169079.5A priority Critical patent/CN116684347A/zh
Priority to PCT/CN2022/138094 priority patent/WO2023160124A1/zh
Publication of CN116684347A publication Critical patent/CN116684347A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种确定路径的方法和装置,有利于提高基于灵活算法计算出的路径的可靠性。该方法包括:多个节点中的第一节点确定链路约束条件,该链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,该链路约束条件包括以下一项或多项:链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路MTU约束;第一节点基于目标灵活算法,确定到达多个节点中的第二节点的至少一条目标路径,该目标路径满足该链路约束条件。

Description

确定路径的方法和装置
技术领域
本申请涉及网络技术领域,更具体地,涉及一种确定路径的方法和装置。
背景技术
传统的内部网关协议(interior gateway protocol,IGP)可以根据链路的开销值和最短路径优先(shortest path first,SPF)算法来计算到达目的地址的最短路径。然而,基于链路的开销值的SPF算法是固定的,用户无法调整,不便于根据自己的需求计算最优的路径。
为了提高算法的灵活性,用户可以定义一个算法值来标识一个固定的算法,即灵活算法(flexible algorithm,Flex-Algo),基于Flex-Algo的特性,用户可以自己定制IGP算路的算法,IGP可以从链路的开销、时延或者流量工程(traffic engineering,TE)约束等多种度量规则中选择一种度量规则作为基于Flex-algo算路的度量类型(metric type),从而根据度量类型的不同计算满足不同需求的路径。
然而,采用上述灵活算法计算出的路径可能存在异常链路,异常链路无法满足业务对高质量链路的需求,可能会导致业务传输异常的情况,这样降低了基于灵活算法计算出的路径的可靠性,从而影响用户的业务体验。
发明内容
本申请提供一种确定路径的方法和装置,有利于满足不同场景下用户对高质量链路的需求,提高基于灵活算法计算出的路径的可靠性。
第一方面,提供了一种确定路径的方法,应用于包括多个节点的网络,包括:多个节点中的第一节点确定链路约束条件,该链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,该链路约束条件包括以下一项或多项:链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路最大传输单元(maximumtransmission unit,MTU)约束。第一节点基于目标灵活算法,确定到达多个节点中的第二节点的至少一条目标路径,该目标路径满足该链路约束条件。
在本申请中,第一节点和第二节点为支持灵活算法的节点,目标灵活算法为包括链路约束条件的灵活算法。第一节点在计算到达第二节点的路径时,可以排除不满足链路约束条件的路径,得到满足链路约束条件的目标路径,这样有利于满足业务对链路质量的需求,为业务传输提供可靠的链路支持,提高了路径的可靠性。
结合第一方面,在第一方面的某些实现方式中,链路约束条件包括预设阈值,预设阈值包括以下一项或多项:链路故障阈值、链路丢包率阈值、链路误码率阈值、链路抖动率阈值或者链路MTU阈值。第一节点基于目标灵活算法,确定到达多个节点中的第二节点的至少一条目标路径,包括:第一节点从到达第二节点的多条路径中排除包含不满足预设阈值条件的链路的路径,以确定到达多条候选路径,多条候选路径满足该预设阈值条件,该预设阈值条件包括以下一项或多项:链路故障次数小于或者等于所述链路故障阈值;链路丢包率小于或者等于所述链路丢包率阈值;链路误码率小于或者等于所述链路误码率阈值;链路抖动率小于或者等于所述链路抖动率阈值;或者,链路MTU大于或者等于所述链路MTU阈值。
在本申请中,链路约束条件可以用预设阈值来表示,第一节点在算路时可以排除不满足预设阈值条件的路径,进而从剩余的路径中可以确定目标路径。这样通过比较预设阈值的方式便于第一节点快速排除不满足条件的阈值,得到满足业务需求的目标路径。
结合第一方面,在第一方面的某些实现方式中,第一节点基于目标灵活算法,确定到达多个节点中的第二节点的至少一条目标路径,还包括:第一节点基于目标灵活算法的度量类型,从多条候选路径中确定至少一条目标路径。
在本申请中,第一节点可以从满足链路约束条件的多条候选路径中基于度量类型确定至少一条目标路径,这样可以进一步满足业务对度量类型的需求,例如,满足业务的时延需求、开销需求等。
结合第一方面,在第一方面的某些实现方式中,多个节点中的第一节点确定链路约束条件,包括:第一节点接收来自网络中的其他节点的第一报文,该第一报文包括该链路约束条件。
在本申请中,第一节点未知链路约束条件,但网络中其他已知该链路约束条件的节点可以向该第一节点发送第一报文,以通告第一节点该链路约束条件。
结合第一方面,在第一方面的某些实现方式中,第一报文还包括目标灵活算法的灵活算法定义(flexible algorithm definition,FAD)信息,FAD信息包括以下一项或多项:灵活算法的标识、计算类型的标识或度量类型的标识。
结合第一方面,在第一方面的某些实现方式中,第一报文的FAD类型长度值(type-length-value,TLV)的第一子TLV(sub TLV)字段包括链路约束条件。
在本申请中,链路约束条件可以携带在灵活算法的FAD信息中进行全网通告。具体地,可以通过第一报文的FAD TLV的第一子TLV字段携带该链路约束条件,这样便于第一节点对该字段进行解析以获取链路约束条件。
结合第一方面,在第一方面的某些实现方式中,计算类型的标识包括SPF算法的标识或严格SPF算法的标识。
结合第一方面,在第一方面的某些实现方式中,度量类型的标识包括以下一项或多项:链路时延规则的标识、内部网关协议IGP开销规则的标识、TE规则的标识或链路带宽规则的标识。
结合第一方面,在第一方面的某些实现方式中,第一报文为中间系统到中间系统(intermediate system to intermediate system,ISIS)报文或开放最短路径优先(openshortest path first,OSPF)报文。
结合第一方面,在第一方面的某些实现方式中,在第一节点基于目标灵活算法,确定到达多个节点中的第二节点的至少一条目标路径之前,该方法还包括:第一节点接收来自第一节点的邻居节点的第二报文,该第二报文中携带多个节点中相邻节点之间的链路状态,该链路状态包括链路故障次数、链路丢包率、链路误码率、链路抖动率或者链路MTU。第一节点基于目标灵活算法,确定到达多个节点中的第二节点的至少一条目标路径,包括:第一节点基于目标灵活算法和多个节点中相邻节点之间的链路状态,确定到达第二节点的至少一条目标路径。
在本申请中,第一节点可以通过第二报文获取网络中所有链路的链路状态,这样第一节点在算路时可以将链路状态与链路约束条件进行比较,从而排除不满足链路约束条件的路径。
结合第一方面,在第一方面的某些实现方式中,第二报文的第二子TLV字段包括链路状态。
结合第一方面,在第一方面的某些实现方式中,第二报文为ISIS报文或OSPF报文。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:第一节点接收来自第一节点的邻居节点的第三报文,第三报文携带多个节点中相邻节点之间更新后的链路状态。若基于更新后的链路状态确定该至少一条目标路径不满足链路约束条件,第一节点重新基于目标灵活算法和更新后的链路状态,确定到达第二节点的至少一条新路径,该至少一条新路径满足链路约束条件。
在本申请中,由于网络中的链路状态是动态变化的,第一节点在之后收集链路状态的周期内,可能收集到的目标路径上某条链路的链路状态无法满足链路约束条件,因此第一节点需要重新算路,这样有利于持续为业务提供可靠的传输路径。
结合第一方面,在第一方面的某些实现方式中,第一节点和第二节点处于同一个路由协议的不同进程,该路由协议包括ISIS或OSPF。
在本申请中,链路约束条件可以随着FAD信息在不同的进程之间传输,这样有利于处于不同进程中的网络节点获取链路约束条件,实现跨域传输。
第二方面,提供了一种确定路径的方法,应用于包括多个节点的网络,包括:多个节点中的第三节点确定链路约束条件,该链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,该链路约束条件包括链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路MTU约束。第三节点向网络中的其他节点发送该链路约束条件。
在本申请中,上述第一节点也可以与该第三节点为同一个节点,即第一节点可以作为发送端执行与第三节点类似的步骤,向网络中的其他节点发送该链路约束条件。
结合第二方面,在第二方面的某些实现方式中,第三节点向网络中的其他节点发送链路约束条件,包括:第三节点向网络中的其他节点发送第一报文,该第一报文包括该链路约束条件。
结合第二方面,在第二方面的某些实现方式中,第一报文还包括目标灵活算法的灵活算法定义FAD,FAD包括以下一项或多项:灵活算法的标识、计算类型的标识或度量类型的标识。
结合第二方面,在第二方面的某些实现方式中,第一报文的FAD TLV的第一子TLV字段包括该链路约束条件。
结合第二方面,在第二方面的某些实现方式中,第一报文为中间系统到中间系统ISIS报文或开放最短路径优先OSPF报文。
第三方面,提供了一种确定路径的方法,应用于包括多个节点的网络,包括:多个节点中的第一节点接收链路约束条件,该链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,该链路约束条件包括以下一项或多项:链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路MTU约束。第一节点基于该链路约束条件,确定到达多个节点中的第二节点的至少一条目标路径,该目标路径满足该链路约束条件。
结合第三方面,在第三方面的某些实现方式中,第一节点接收第一报文,该第一报文包括该链路约束条件。
结合第三方面,在第三方面的某些实现方式中,第一报文还包括所述目标灵活算法的灵活算法定义FAD,所述FAD包括以下一项或多项:灵活算法的标识、计算类型的标识或度量类型的标识。
结合第三方面,在第三方面的某些实现方式中,第一报文的FAD类型长度值TLV的第一子TLV字段包括所述链路约束条件。
结合第三方面,在第三方面的某些实现方式中,第一报文为ISIS报文或OSPF报文。
第四方面,提供了一种确定路径的装置,包括:获取模块和处理模块。其中,获取模块用于:获取链路约束条件,该链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,该链路约束条件包括以下一项或多项:链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路最大传输单元MTU约束。处理模块用于:确定链路约束条件;以及,基于目标灵活算法确定到达多个节点中的第二节点的至少一条目标路径,该目标路径满足链路约束条件。
结合第四方面,在第四方面的某些实现方式中,链路约束条件包括预设阈值,该预设阈值包括以下一项或多项:链路故障阈值、链路丢包率阈值、链路误码率阈值、链路抖动率阈值或者链路MTU阈值。处理模块用于:从到达第二节点的多条路径中排除包含不满足预设阈值条件的链路的路径,以确定多条候选路径,该多条候选路径满足预设阈值条件,该预设阈值条件包括以下一项或多项:链路故障次数小于或者等于链路故障阈值;链路丢包率小于或者等于链路丢包率阈值;链路误码率小于或者等于链路误码率阈值;链路抖动率小于或者等于链路抖动率阈值;或者,链路MTU大于或者等于链路MTU阈值。
结合第四方面,在第四方面的某些实现方式中,处理模块用于:基于目标灵活算法的度量类型,从多条候选路径中确定至少一条目标路径。
结合第四方面,在第四方面的某些实现方式中,获取模块用于:接收来自网络中的其他节点的第一报文,该第一报文包括链路约束条件。
结合第四方面,在第四方面的某些实现方式中,第一报文还包括目标灵活算法的FAD,FAD包括以下一项或多项:灵活算法的标识、计算类型的标识或度量类型的标识。
结合第四方面,在第四方面的某些实现方式中,第一报文的FAD TLV的第一子TLV字段包括链路约束条件。
结合第四方面,在第四方面的某些实现方式中,计算类型的标识包括SPF算法的标识或严格SPF算法的标识。
结合第四方面,在第四方面的某些实现方式中,度量类型的标识包括以下一项或多项:链路时延规则的标识、IGP开销规则的标识、TE规则的标识或链路带宽规则的标识。
结合第四方面,在第四方面的某些实现方式中,第一报文为ISIS报文或OSPF报文。
结合第四方面,在第四方面的某些实现方式中,获取模块用于:接收来自邻居节点的第二报文,该第二报文中携带多个节点中相邻节点之间的链路状态,该链路状态包括链路故障次数、链路丢包率、链路误码率、链路抖动率或者链路MTU。处理模块用于:基于目标灵活算法和多个节点中相邻节点之间的链路状态,确定到达第二节点的至少一条目标路径。
结合第四方面,在第四方面的某些实现方式中,第二报文的第二子TLV字段包括该链路状态。
结合第四方面,在第四方面的某些实现方式中,第二报文为ISIS报文或OSPF报文。
结合第四方面,在第四方面的某些实现方式中,获取模块用于:接收来自邻居节点的第三报文,该第三报文携带多个节点中相邻节点之间更新后的链路状态。处理模块用于:若基于更新后的链路状态确定该至少一条目标路径不满足链路约束条件,重新基于目标灵活算法和更新后的链路状态,确定到达第二节点的至少一条新路径,该至少一条新路径满足链路约束条件。
结合第四方面,在第四方面的某些实现方式中,第一节点和第二节点处于同一个路由协议的不同进程,该路由协议包括ISIS或OSPF。
第五方面,提供了一种确定路径的装置,包括:处理模块和收发模块。其中,处理模块用于:确定链路约束条件,所述链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,所述链路约束条件包括链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路MTU约束。收发模块用于:向所述网络中的其他节点发送链路约束条件。
结合第五方面,在第五方面的某些实现方式中,向所述网络中的其他节点发送第一报文,该第一报文包括链路约束条件。
结合第五方面,在第五方面的某些实现方式中,第一报文还包括目标灵活算法的FAD,FAD包括以下一项或多项:灵活算法的标识、计算类型的标识或度量类型的标识。
结合第五方面,在第五方面的某些实现方式中,第一报文的FAD TLV的第一子TLV字段包括链路约束条件。
结合第五方面,在第五方面的某些实现方式中,第一报文为中间系统到中间系统ISIS报文或开放最短路径优先OSPF报文。
第六方面,提供了再一种确定路径的装置,包括处理器,该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述任一方面中任一种可能实现方式中的方法。可选地,该装置还包括存储器。可选地,该装置还包括通信接口,处理器与通信接口耦合。
在一种实现方式中,该确定路径的装置为路由设备,当该确定路径的装置为路由设备时,通信接口可以是收发器,或,输入/输出接口。
在另一种实现方式中,该确定路径装置为配置于路由设备中的芯片。当确定路径的装置为配置于路由设备中的芯片时,通信接口可以是输入/输出接口。
第七方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得处理器执行上述任一方面中任一种可能实现方式中的方法。
在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请对处理器及各种电路的具体实现方式不做限定。
第八方面,提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述任一方面中任一种可能实现方式中的方法。
可选地,处理器为一个或多个,存储器为一个或多个。
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型以及存储器与处理器的设置方式不做限定。
应理解,相关的数据交互过程例如发送指示信息可以为从处理器输出指示信息的过程,接收能力信息可以为处理器接收输入能力信息的过程。具体地,处理输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。
上述第八方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第九方面,提供了一种确定路径的系统,该系统包括第一节点和第三节点,该第一节点执行上述第一方面或第三方面中任一种可能实现方式中的方法,该第三节点执行上述第二方面任一种可能实现方式中的方法。
第十方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序代码,当该计算机程序代码被运行时,使得计算机执行上述任一方面中任一种可能实现方式中的方法。
第十一方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当该计算机程序被运行时,使得计算机执行上述任一方面中任一种可能实现方式中的方法。
附图说明
图1是一种ISIS报文的结构示意图;
图2是本申请实施例提供的一种多节点网络的拓扑示意图;
图3是本申请实施例提供的一种确定路径的方法的示意性流程图;
图4是本申请实施例提供的另一种确定路径的方法的示意性流程图;
图5是本申请实施例提供的一种第一子TLV的示意图;
图6是本申请实施例提供的另一种第一子TLV的示意图;
图7是本申请实施例提供的再一种第一子TLV的示意图;
图8是本申请实施例提供的又一种第一子TLV的示意图;
图9是本申请实施例提供的又一种第一子TLV的示意图;
图10是本申请实施例提供的一种通告链路状态的子TLV的示意图;
图11是本申请实施例提供的一种多节点网络的拓扑示意图;
图12是本申请实施例提供的再一种确定路径的方法的示意性流程图;
图13是本申请实施例提供的一种的FAD信息在不同的ISIS区域间传输的示意图;
图14是本申请实施例提供的一种确定路径的装置的示意性框图;
图15是本申请实施例提供的另一种确定路径的装置的示意性框图;
图16是本申请实施例提供的再一种确定路径的装置的示意性框图;
图17是本申请实施例提供的又一种确定路径的装置的示意性框图;
图18是本申请实施例提供的一种确定路径的系统的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
在介绍本申请实施例提供的确定路径的方法和装置之前,先做出以下几点说明。
第一,在下文示出的实施例中,各术语及英文缩略语,如链路约束条件、链路状态、Flex-Algo、度量类型等,均为方便描述而给出的示例性举例,不应对本申请构成任何限定。本申请并不排除在已有或未来的协议中定义其它能够实现相同或相似功能的术语的可能。
第二,在下文示出的实施例中第一、第二以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。例如,区分不同的节点、区分不同的子TLV等。
第三,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,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可以是单个,也可以是多个。
为便于理解,下面对本申请实施例所涉及的术语进行简单介绍。
1.灵活算法(Flex-Algo):Flex-Algo提供一种类似流量工程(trafficengineering,TE)的策略,通过使IGP自身计算带约束的最短路径,从而达到与TE实现相同的效果。Flex-Algo允许用户将榴莲引入自定义的网络拓扑,通过定制灵活算法定义(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是一种ISIS报文100的结构示意图,如图1所示,ISIS报文100的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的满足算法定义的路径。
在图2中,示例性地,节点0->节点1这条链路的时延为10,节点1->节点3这条链路的时延为10,节点3->节点4这条链路的时延为10,节点4->节点9这条链路的时延为10,节点1->节点2这条链路的时延为10,节点2->节点4这条链路的时延为15。
其中,节点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路径计算。示例性地,图2中的节点基于Flex-Algo128算路时,可以以时延为度量类型计算一条从节点0至节点9的满足最小时延的路径。由图2可知,节点0->节点1->节点3->节点4->节点9这条路径是网络200中满足最小时延的路径。但是,在这条路径中,如果节点3->节点4这条链路不稳定,可能为异常链路,例如,链路活跃度较低、链路丢包率较高、链路误码率较高、链路抖动率较高或者链路最大传输单元MTU较小无法满足业务传输需求。上述存在异常链路的场景可能导致Flex-Algo隧道出现故障切换,这样会降低路径的可靠性,从而影响用户的业务体验。
应理解,链路活跃度也可以用链路故障次数来表征,链路活跃度越低,链路故障次数越多。
有鉴于此,本申请实施例可以在基于Flex-Algo算路时兼顾考虑节点之间的链路状态,根据用户的业务需求设置链路约束条件,在算路时将不满足链路约束条件的链路进行排除,从而得到可以满足用户对高质量链路需求的目标路径,提高了路径的可靠性。
应理解,本申请所提供的确定路径的方法可以应用于SRv6场景,也可以应用于使用多协议标签交换(multi-protocol label switching,MPLS)数据平面转发MPLS数据包的段路由(segment routing,SR)场景,简称为SR-MPLS场景,还可以应用于其他场景,本申请实施例对此不作限定。
图3是本申请实施例提供的一种确定路径的方法300的示意性流程图。方法300可以应用于如图2所示的网络200,方法300的步骤可以由第一节点执行,该第一节点可以为路由设备,示例性地,该路由设备可以为具有计算路由功能的任意设备,例如交换机或者路由器,本申请实施例对此不作限定。方法300包括如下步骤:
S301,确定链路约束条件,该述链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,该链路约束条件包括以下一项或多项:链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路MTU约束;
S302,基于目标灵活算法,确定到达第二节点的至少一条目标路径,该目标路径满足该链路约束条件。
示例性地,若需要确定网络200中的一条从节点0至节点9的路径,上述第一节点可以为网络200中的节点0,第二节点可以为网络200中的节点9。
在S302中,第一节点在基于该目标灵活算法确定至少一条目标路径的基础上,还可以基于其他条件与该目标灵活算法共同确定目标路径。示例性地,其他条件可以为邻居信息、路由表或链路剩余带宽,本申请实施例对此不作限定。
应理解,本申请实施例中的链路约束条件可以根据不同业务的不同链路需求来确定。
示例性地,第一节点基于目标灵活算法确定了两条同时满足算路要求的目标路径,可以采用负载分担、双发选收或者主备等多径传输策略进行业务流量的传输。
在本申请实施例中,第一节点在使用灵活算法算路时兼顾考虑影响链路质量的链路约束条件,包括:链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路MTU约束中的至少一种。第一节点在算路时可以基于链路约束条件对到达第二节点的路径进行排除,确定满足链路约束条件的目标路径,这样有利于提高基于灵活算法计算出的路径的可靠性。
作为一个可选的实施例,链路约束条件包括预设阈值,预设阈值包括以下一项或多项:链路故障阈值、链路丢包率阈值、链路误码率阈值、链路抖动率阈值或者链路MTU阈值。S302包括:第一节点从到达第二节点的多条路径中排除包含不满足预设阈值条件的链路的路径,以确定多条候选路径。
其中,多条候选路径满足预设阈值条件,预设阈值条件包括以下一项或多项:链路故障次数小于或者等于链路故障阈值;链路丢包率小于或者等于链路丢包率阈值;链路误码率小于或者等于链路误码率阈值;链路抖动率小于或者等于链路抖动率阈值;或者,链路MTU大于或者等于链路MTU阈值。
以图2中节点3->节点4这条链路为例,如果链路故障阈值为2次/秒,但是当前网络200中节点3->节点4这条链路实际的链路故障次数为3次/秒,大于链路故障阈值,这样的链路不稳定,可能会出现闪断的情况,无法满足业务对稳定性和可靠性的要求,因此第一节点在算路时可以排除掉包含节点3->节点4这条链路的路径。如果当前网络中节点3->节点4这条链路实际的链路故障次数为1次/秒,那么第一节点在算路时可以将节点3->节点4这条链路作为可信任的链路进行路径计算。
仍以图2中节点3->节点4这条链路为例,如果链路MTU阈值为1500,但是当前网络200中节点3->节点4这条链路实际的链路MTU为1200,小于链路MTU阈值,这样的链路无法满足业务的诉求,可能会导致业务受损,因此第一节点在算路时可以排除掉包含节点3->节点4这条链路的路径。如果当前网络中节点3->节点4这条链路实际的链路MTU为1600,那么第一节点在算路时可以将节点3->节点4这条链路作为可信任的链路进行路径计算。
作为一个可选的实施例,方法300中的S302包括:第一节点基于灵活算法的度量类型,从多条候选路径中确定到达第二节点的至少一条目标路径,该多条候选路径满足预设阈值条件。
在本申请实施例中,第一节点在基于目标灵活算法算路时,首先可以基于链路约束条件排除掉某些路径,进一步地,第一节点再基于度量类型从多条候选路径中确定至少一条满足链路约束条件的目标路径,这样可以排除包含异常链路的路径,得到满足业务需求的目标路径,有利于提高路径的可靠性。
可选地,第一节点还可以基于灵活算法的标识、灵活算法的计算类型以及灵活算法的度量类型从多条候选路径中确定到达第二节点的至少一条目标路径。
图4是本申请实施例提供的另一种确定路径的方法400的示意性流程图。方法400可以应用于如图2所示的网络200,其中的第一节点、第二节点以及第三节点可以为路由设备,示例性地,该路由设备可以为具有计算路由功能的任意设备,例如交换机或者路由器,本申请实施例对此不作限定。方法400包括如下步骤:
S401,第三节点向网络中的其他节点(包括第一节点)发送第一报文,该第一报文可以包括链路约束条件,该链路约束条件用于表示基于目标灵活算法传输报文时所需要满足的链路约束条件。相应地,第一节点接收该第一报文。
S402,第一节点基于该第一报文,确定链路约束条件。
S403,第一节点基于该链路约束条件,确定到达第二节点的至少一条目标路径。
示例性地,若需要确定网络200中的一条从节点0至节点9的路径,上述第一节点可以为网络200中的节点0,第二节点可以为网络200中的节点9,第三节点可以为网络200中除去节点0的任意节点,本申请实施例对此不作限定。
在本申请实施例中,第一节点未知链路约束条件,网络中其他已经配置或者已经获取到该链路约束条件的第三节点可以向第一节点发送该第一报文,以向第一节点通告该链路约束条件。
应理解,第一节点不仅可以作为接收端,接收来自网络中其他节点的第一报文,还可以作为发送端,执行与第三节点类似的步骤,向网络中的其他节点发送第一报文,本申请实施例对各个节点的功能不作限定。
示例性地,该第三节点可以根据业务的数据类型、数据大小等因素确定链路约束条件,配置相应的FAD信息,并向网络中的其他节点(包括第一节点)发送承载该链路约束条件的第一报文。
可选地,第一报文可以包括灵活算法的FAD信息,第一报文的报文结构中包括FADTLV,FAD TLV可以包括多个子TLV字段。
可选地,第一报文的FAD TLV包括第一子TLV字段,链路约束条件可以由该第一子TLV承载。
图5至图9是本申请实施例提供的不同链路约束场景下的第一子TLV的示意图。其中,图5至图9所示的第一子TLV包括类型(type)字段和长度(length)字段,类型字段用以描述该第一子TLV的类型;长度字段用以描述该第一子TLV的数值的长度。不同之处在于,图5所示的第一子TLV包括链路故障约束,用以约束路径的链路故障次数来满足业务传输需求;图6所示的第一子TLV包括链路丢包率约束,用以约束路径的链路丢包率来满足业务传输需求;图7所示的第一子TLV包括链路误码率约束,用以约束路径的链路误码率来满足业务传输需求;图8所示的第一子TLV包括链路抖动率约束,用以约束路径的链路抖动率来满足业务传输需求;图9所示的第一子TLV包括链路MTU约束,用以约束路径的链路MTU来满足业务传输需求。
应理解,第一节点可以在FAD算法中做协议扩展,新增第一子TLV,并在第一子TLV中增加如图5至图9所示的不同链路约束场景下的链路约束条件,以此来约束路径的链路故障次数、链路丢包率、链路误码率、链路抖动率或者链路MTU中的至少一种。
应理解,第一报文中还可以包括其他子TLV字段,该第一子TLV与其他子TLV属于并列关系,将链路约束条件置于第一子TLV字段便于第一节点对该字段进行解析以获取链路约束条件。
示例性地,第一报文为ISIS报文或者OSPF报文。其中,OSPF报文与如图1所示的ISIS报文具有类似的FAD TLV结构,此处不再赘述。
作为一个可选的实施例,灵活算法的定义FAD包括以下一项或多项:灵活算法的标识、计算类型的标识或度量类型的标识。
作为一个可选的实施例,计算类型的标识包括SPF算法标识或者严格SPF算法标识。其中,严格SPF算法不允许任何节点根据其本地策略改变严格SPF算法计算出的SPF路径,与SPF算法不同。
作为一个可选的实施例,度量类型的标识包括下列中的一种:链路时延规则的标识、IGP开销规则的标识、TE规则的标识或链路带宽规则的标识。
其中,链路时延规则表示在算路时基于时延最小规则进行算路。IGP开销规则表示在算路时基于开销值最小规则进行算路。流量工程TE规则表示在算路时基于TE最短路径进行算路。链路带宽规则表示在算路时基于带宽需求进行算路。
作为一个可选的实施例,在S403之前,方法400还包括:第一节点接收来自第一节点的邻居节点的第二报文,该第二报文中携带多个节点中相邻节点之间的链路状态,该链路状态包括链路故障次数、链路丢包率、链路误码率、链路抖动率或者链路MTU。S403包括:第一节点基于目标灵活算法和多个节点中相邻节点之间的链路状态,确定到达第二节点的至少一条目标路径。
应理解,第一节点在算路时需要将可以到达第二节点的路径中相邻节点之间的链路状态与链路约束条件进行比较,因此第一节点需要获取可以到达第二节点的路径中每条链路的链路状态。因此,在本申请实施例中,第一节点可以接收来自邻居节点的第二报文,该第二报文可以包括第一节点算路时所需的链路状态。
示例性地,第二报文为ISIS报文或者OSPF报文。
示例性地,第二报文的第二子TLV字段包括该链路状态。其中,第二子TLV可以具有如图10所示的结构。
图10是本申请实施例提供的一种通告链路状态的子TLV的示意图。图5所示的子TLV包括:类型(type)字段、长度(length)字段以及链路状态字段。其中,类型字段用以描述子TLV的类型;长度字段用以描述子TLV的长度;链路状态字段可以根据不同的业务需求,用以描述实际的链路故障次数、链路丢包率、链路误码率、链路抖动率或者链路MTU。
示例性地,图10所示的子TLV可以为流程工程TLV(traffic engineering TLV),网络中的节点可以通过链路状态报文(link state packet,LSP)携带如图10所示的子TLV对外通告链路状态。
第一节点在接收到流程工程TLV之后,可以解析流程工程TLV以获取实际的链路故障次数、链路丢包率、链路误码率、链路抖动率或者链路MTU,并结合目标灵活算法确定至少一条目标路径。
下面以ISIS路由协议进程为例,结合图11和图12对本申请实施例提供的确定路径的方法的实现流程进行说明。
图11是本申请实施例提供的另一种多节点网络1100的拓扑示意图。网络1100是区别于网络200的另一个网络,网络1100包括的节点R1、节点R2、节点R3和节点R4均支持基于灵活算法算路。示例性地,节点R1需要计算一条到达节点R4的路径。
网络1100中的各个节点可以配置相同的FAD信息,示例性地,各节点配置的FAD信息如下:Flex-Algo的数字标识符为128;度量类型标识为0,表示基于IGP开销值算路;计算类型标识为0,表示采用SPF算法算路;链路约束条件:针对不同的场景设置不同的阈值,具体设置可参照下文描述。
由图11可知,节点R1->节点R2这条链路的IGP开销值为10;节点R1->节点R3这条链路的IGP开销值为20;节点R2->节点R4这条链路的IGP开销值为10;节点R3->节点R4这条链路的IGP开销值为20。
下面结合图11和图12对确定节点R1到达节点R4的路径的实现过程进行描述。
图12是本申请实施例提供的再一种确定路径的方法1200的示意性流程图,方法1200可以应用于网络1100中,方法1200包括如下步骤:
S1201,各节点使能ISIS组件,建立邻居关系。
S1202,各节点配置灵活算法的FAD信息。
在本步骤中,用户可以首先为一个或多个节点配置满足业务需求的FAD信息,已经配置FAD信息的节点可以向其他节点泛洪FAD信息,通告其他节点灵活算法的配置信息,使得网络中具有相同灵活算法的标识的节点可以配置统一的FAD信息,计算出一致的路径。
S1203,各节点的ISIS组件收集链路状态并进行全网通告。
示例性地,ISI组件可以通过双向转发检测协议(bidirectional forwardingdetection)或者双向主动测量协议(two-way active measurement protocol)监控链路状态,并从接口管理组件获取链路状态,各个节点的ISIS组件在自己的链路数据库中对所在链路的LSP进行标记,记录链路状态,之后可以将该记录有链路状态的LSP进行全网通告,以使网络中的每个节点获知每条链路的链路状态。
示例性地,ISIS组件可以按照预设周期(例如,5分钟)定期从接口管理组件收集链路状态。
S1204,节点R1按照配置的FAD信息计算到达节点R4的路由,确定目标路径。
在本步骤中,节点R1的FAD信息可以是用户为节点R1配置的业务所需的FAD信息,也可以是节点R1从已配置与节点R1具有相同灵活算法的标识的其他节点处获取的FAD信息。在本步骤中,节点R1可以在以下几个链路约束场景中确定满足业务需求的目标路径。
场景1:链路故障约束。
在本场景中,FAD信息中的链路约束条件为链路故障约束,示例性地,可以采用链路故障阈值对链路故障次数进行约束,该链路故障阈值用于表示采用灵活算法算路时的链路故障次数的上限,如果从节点R1到达节点R4的路径中存在链路故障次数大于链路预设阈值的链路,那么节点R1在算路时可以排除该路径。
由于FAD信息中配置有链路故障阈值,因此在FAD信息的传递过程中可以通告各节点在采用Flex-Algo 128进行算路时,需要满足链路故障阈值的约束。
在不考虑链路故障约束的情况下,节点R1在按照FAD信息中的计算类型(例如,SPF算法)算路时,可以先按照度量类型(例如,IGP开销)进行算路。由图11可知,R1->R2->R4这条路径的IGP开销值最小,节点R1可以将这条路径确定为目标路径。
然而,在考虑链路故障约束的情况下,示例性地,链路故障阈值配置为2次/秒,ISIS组件收集到的节点R1->节点R2这条链路的链路故障次数为0,节点R1->节点R3这条链路的链路故障次数为0,节点R2->节点R4这条链路的链路故障次数为3次/秒,节点R3->节点R4这条链路的链路故障次数为0。其中,节点R2->节点R4这条链路的链路故障次数大于链路故障阈值,因此,节点R1可以将在不考虑链路故障约束的情况下得到的R1->R2->R4这条路径排除,重新计算出的目标路径为R1->R3->R4。重新计算出的这条路径上所有链路的链路故障次数均小于链路故障阈值,可以认为是稳定可靠的链路,有利于避免业务在路径传输过程中受损,提高路径的可靠性。
场景2:链路丢包率约束。
在本场景中,FAD信息中的链路约束条件为链路丢包率约束,示例性地,可以采用链路丢包率阈值对链路丢包率进行约束,该链路丢包率阈值用于表示采用灵活算法算路时的链路丢包率的上限,如果从节点R1到达节点R4的路径中存在链路丢包率大于链路丢包率阈值的链路,那么节点R1在算路时可以排除该路径。
由于FAD信息中配置有链路丢包率阈值,因此在FAD信息的传递过程中可以通告各节点在采用Flex-Algo 128进行算路时,需要满足链路丢包率阈值的约束。
在不考虑链路丢包率约束的情况下,假设类似于场景1中的描述,节点R1基于计算出R1->R2->R4这条路径的IGP开销值最小,节点R1可以将这条路径确定为目标路径。
然而,在考虑链路丢包率约束的情况下,示例性地,链路丢包率阈值配置为10%,ISIS组件收集到的节点R1->节点R2这条链路的链路丢包率为0,节点R1->节点R3这条链路的链路丢包率为0,节点R2->节点R4这条链路的链路丢包率为20%,节点R3->节点R4这条链路的链路丢包率为0。其中,节点R2->节点R4这条链路的链路丢包率大于链路丢包率阈值,因此,节点R1可以将在不考虑链路丢包率约束的情况下得到的R1->R2->R4这条路径排除,重新计算出的目标路径为R1->R3->R4。重新计算出的这条路径上所有链路的链路丢包率均小于链路丢包率阈值,可以认为是稳定可靠的链路,有利于避免业务在链路丢包率高的链路上传输受损,提高路径的可靠性。
场景3:链路误码率约束。
在本场景中,FAD信息中的链路约束条件为链路误码率约束,示例性地,可以采用链路误码率阈值对链路误码率进行约束,该链路误码率用于表示采用灵活算法算路时的链路误码率的上限,如果从节点R1到达节点R4的路径中存在链路误码率大于链路误码率阈值的链路,那么节点R1在算路时可以排除该路径。
由于FAD信息中配置有链路误码率阈值,因此在FAD信息的传递过程中可以通告各节点在采用Flex-Algo 128进行算路时,需要满足链路误码率阈值的约束。
在不考虑链路误码率约束的情况下,仍假设类似于场景1中的描述,节点R1基于计算出R1->R2->R4这条路径的IGP开销值最小,节点R1可以将这条路径确定为目标路径。
然而,在考虑链路丢包率约束的情况下,示例性地,链路误码率阈值配置为10%,ISIS组件收集到的节点R1->节点R2这条链路的链路误码率为0,节点R1->节点R3这条链路的链路误码率为0,节点R2->节点R4这条链路的链路误码率为30%,节点R3->节点R4这条链路的链路误码率为0。其中,节点R2->节点R4这条链路的链路误码率大于链路误码率阈值,因此,节点R1可以将在不考虑链路误码率约束的情况下得到的R1->R2->R4这条路径排除,重新计算出的目标路径为R1->R3->R4。重新计算出的这条路径上所有链路的链路误码率均小于链路误码率阈值,可以认为是稳定可靠的链路,有利于避免业务在链路误码率高的链路上传输受损,提高路径的可靠性。
场景4:链路抖动率约束。
在本场景中,FAD信息中的链路约束条件为链路抖动率约束,示例性地,可以采用链路抖动率阈值对链路抖动率进行约束,该链路抖动率用于表示采用灵活算法算路时的链路抖动率的上限,如果从节点R1到达节点R4的路径中存在链路抖动率大于链路抖动率阈值的链路,那么节点R1在算路时可以排除该路径。
由于FAD信息中配置有链路抖动率阈值,因此在FAD信息的传递过程中可以通告各节点在采用Flex-Algo 128进行算路时,需要满足链路抖动率阈值的约束。
在不考虑链路抖动率约束的情况下,仍假设类似于场景1中的描述,节点R1基于计算出R1->R2->R4这条路径的IGP开销值最小,节点R1可以将这条路径确定为目标路径。
然而,在考虑链路抖动率约束的情况下,示例性地,链路抖动率阈值配置为3%,ISIS组件收集到的节点R1->节点R2这条链路的链路抖动率为0,节点R1->节点R3这条链路的链路抖动率为0,节点R2->节点R4这条链路的链路抖动率为5%,节点R3->节点R4这条链路的链路抖动率为0。其中,节点R2->节点R4这条链路的链路抖动率大于链路抖动率阈值,因此,节点R1在算路时首先可以基于链路抖动率阈值将R1->R2->R4这条路径排除,重新计算出的目标路径为R1->R3->R4。重新计算出的这条路径上所有链路的链路抖动率均小于链路抖动率阈值,可以认为是稳定可靠的链路,有利于避免业务在链路抖动率高的链路上传输受损,提高路径的可靠性。
场景5:链路MTU约束。
在本场景中,FAD信息中的链路约束条件为链路MTU约束,示例性地,可以采用链路MTU阈值对链路MTU进行约束,该链路MTU用阈值于表示采用灵活算法算路时的链路MTU的上限,如果从节点R1到达节点R4的路径中存在链路MTU大于链路MTU阈值的链路,那么节点R1在算路时可以排除该路径。
由于FAD信息中配置有链路MTU阈值,因此在FAD信息的传递过程中可以通告各节点在采用Flex-Algo 128进行算路时,需要满足链路MTU阈值的约束。
在不考虑链路MTU约束的情况下,仍假设类似于场景1中的描述,节点R1基于计算出R1->R2->R4这条路径的IGP开销值最小,节点R1可以将这条路径确定为目标路径。
然而,在考虑链路MTU约束的情况下,示例性地,链路MTU阈值配置为1500,ISIS组件收集到的节点R1->节点R2这条链路的链路MTU为1500,节点R1->节点R3这条链路的链路MTU为1500,节点R2->节点R4这条链路的链路MTU为1200,节点R3->节点R4这条链路的链路MTU为1600。其中,节点R2->节点R4这条链路的链路MTU小于链路MTU阈值,如果业务为IPV6业务或者其他无法分片传输的业务,那么节点R2->节点R4这条链路可能会使得业务报文被直接丢弃,造成业务的中断。因此,节点R1可以在算路时首先可以基于链路MTU阈值将R1->R2->R4这条路径排除,重新计算出的目标路径为R1->R3->R4。重新计算出的这条路径上所有链路的链路MTU大于或者等于链路MTU阈值,可以认为是稳定可靠的链路,有利于避免业务在链路MTU较低的链路上传输受损,提高路径的可靠性。
应理解,R1在算路时可以根据业务需求结合链路故障阈值、链路丢包率阈值、链路误码率阈值、链路抖动率阈值或者链路MTU阈值中的至少一种来确定目标路径,例如,R1可以考虑上述场景1中的链路故障阈值来确定目标路径。例如,R1也可以综合考虑上述场景1中的链路故障阈值和场景2中的链路误码率阈值来确定目标路径。例如,R1也可以综合考虑上述场景1中的链路故障阈值、场景2中的链路误码率阈值以及场景5中的链路MTU阈值来确定目标路径。还可以有其他的链路约束条件的组合,本申请实施例对此不作限定。
S1205,若目标路径中存在不满足链路约束条件的链路,R1重新进行算路。
作为一个可选的实施例,第一节点接收来自第一节点的邻居节点的第三报文,第三报文携带多个节点中相邻节点之间更新后的链路状态。若至少一条目标路径中更新后的链路状态不满足链路约束条件,第一节点重新基于目标灵活算法和更新后的链路状态,确定到达第二节点的至少一条新路径。
在本申请实施例中,示例性地,第一节点为上述R1,第二节点为上述R4。由于网络中的链路状态是动态变化的,R1的ISIS组件在之后收集链路状态的周期内,可能收集到的目标路径上某条链路的链路状态无法满足链路约束条件,因此R1需要重新算路。
以上述场景1为例,R1可以将下一个收集周期内收集到的目标路径中所有链路的链路故障次数与链路故障阈值进行比较,如果R1判断目标路径中存在链路故障次数大于链路故障阈值的链路,则R1可以重新算路以确定出至少一条满足业务需求的新路径。
作为一个可选的实施例,上述第一节点和第二节点处于同一个路由协议的不同进程,该路由协议包括ISIS和OSPF。
以路由协议为ISIS协议为例,上文中所描述的第一节点和第二节点之间的FAD信息可以在同一个ISIS进程之间传输,也可以在不同的ISIS进程之间传输。
应理解,本申请实施例也可以将ISIS进程称为ISIS区域,即FAD信息可以在相同或不同的ISIS区域间传输,这样在为属于不同区域的节点提供跨域的路径以实现业务的跨域传输时,也可以确保该跨域路径满足业务对链路状态的需求。
图13是本申请实施例提供的一种的FAD信息在不同的ISIS区域间传输的示意图。示例性地,本申请实施例以ISIS在自治系统内采用骨干区域(或称为Level-2区域)和非骨干区域(或称为Level-1区域)两级的分层结构为例对FAD信息的跨域传输进行描述。通常,可以将Level-1路由器部署在非骨干区域,将Level-2路由器部署在骨干区域,Level-1-2路由器可以同时属于Level-1区域和Level-2区域,Level-1路由器需要通过Level-1-2路由器连接至Level-2区域内的路由器。
应理解,ISIS或OSPF还可以有其他的区域结构,本申请实施例对此不作限定。
如图13所示,R1为Level-1路由器,R2为Level-1-2路由器,R3为Level-2路由器,ISIS Level-1区域的R1可以将灵活算法的FAD信息通过R2传输至ISIS Level-2区域的R3,这样ISIS报文中携带链路约束条件的第一子TLV可以随着FAD信息在不同的区域间进行传输。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中结合图1至图13,详细描述了根据本申请实施例的确定路径的方法,下面将结合图14至图17详细描述根据本申请实施例的确定路径的装置。
图14示出了本申请实施例提供的一种确定路径的装置1400的示意性框图,装置1400包括:获取模块1410和处理模块1420。
在一个可选的例子中,本领域技术人员可以理解,装置1400可以具体为上述实施例中的第一节点,或者,上述实施例中第一节点的功能可以集成在装置1400中。
上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。装置1400可以用于执行上述方法实施例中与第一节点对应的各个流程和/或步骤。
示例性地,若需要确定网络200中的一条从节点0至节点9的路径,则第一节点可以为网络200中的节点0。
示例性地,若需要确定网络1100中的一条从节点R1至节点R4的路径,则第一节点可以为网络1100中的节点0。
示例性地,若需要确定图13中的一条从节点R1至节点R3的路径,则第一节点可以为图13中的节点R1。
示例性地,处理模块1420可执行上述方法300的步骤和/或流程,或者上述方法400中的S401。获取模块1410可执行上述方法400中的S401中接收第一报文的动作。
其中,获取模块1410用于:获取链路约束条件,该链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,该链路约束条件包括以下一项或多项:链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路最大传输单元MTU约束。处理模块1420用于:确定链路约束条件;以及,基于目标灵活算法确定到达多个节点中的第二节点的至少一条目标路径,该目标路径满足链路约束条件。
可选地,链路约束条件包括预设阈值,该预设阈值包括以下一项或多项:链路故障阈值、链路丢包率阈值、链路误码率阈值、链路抖动率阈值或者链路MTU阈值。处理模块1420用于:从到达第二节点的多条路径中排除包含不满足预设阈值条件的链路的路径,以确定多条候选路径,该多条候选路径满足预设阈值条件,该预设阈值条件包括以下一项或多项:链路故障次数小于或者等于链路故障阈值;链路丢包率小于或者等于链路丢包率阈值;链路误码率小于或者等于链路误码率阈值;链路抖动率小于或者等于链路抖动率阈值;或者,链路MTU大于或者等于链路MTU阈值。
可选地,处理模块1420用于:基于目标灵活算法的度量类型,从多条候选路径中确定至少一条目标路径。
可选地,获取模块1410用于:接收来自网络中的其他节点的第一报文,该第一报文包括链路约束条件。
可选地,第一报文还包括目标灵活算法的FAD,FAD包括以下一项或多项:灵活算法的标识、计算类型的标识或度量类型的标识。
可选地,第一报文的FAD TLV的第一子TLV字段包括链路约束条件。
可选地,计算类型的标识包括SPF算法的标识或严格SPF算法的标识。
可选地,度量类型的标识包括以下一项或多项:链路时延规则的标识、IGP开销规则的标识、TE规则的标识或链路带宽规则的标识。
可选地,第一报文为ISIS报文或OSPF报文。
可选地,获取模块1410用于:接收来自邻居节点的第二报文,该第二报文中携带多个节点中相邻节点之间的链路状态,该链路状态包括链路故障次数、链路丢包率、链路误码率、链路抖动率或者链路MTU。处理模块1420用于:基于目标灵活算法和多个节点中相邻节点之间的链路状态,确定到达第二节点的至少一条目标路径。
可选地,第二报文的第二子TLV字段包括该链路状态。
可选地,第二报文为ISIS报文或OSPF报文。
可选地,获取模块1410用于:接收来自邻居节点的第三报文,该第三报文携带多个节点中相邻节点之间更新后的链路状态。处理模块1420用于:若基于更新后的链路状态确定该至少一条目标路径不满足链路约束条件,重新基于目标灵活算法和更新后的链路状态,确定到达第二节点的至少一条新路径,该至少一条新路径满足链路约束条件。
可选地,该装置和第二节点处于同一个路由协议的不同进程,该路由协议包括ISIS或OSPF。
图15示出了本申请实施例提供的另一种确定路径的装置1500的示意性框图,该装置1500包括:处理模块1510和收发模块1520。
在一个可选的例子中,本领域技术人员可以理解,装置1500可以具体为上述实施例中的第三节点,或者,上述实施例中第三节点的功能可以集成在装置1500中。
上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。装置1500可以用于执行上述方法实施例中与第三节点对应的各个流程和/或步骤。
示例性地,若需要确定网络200中的一条从节点0至节点9的路径,则第一节点可以为网络200中的节点0,第三节点可以为网络100中除去节点0的其他节点中的一个。
示例性地,若需要确定网络1100中的一条从节点R1至节点R4的路径,则第一节点可以为网络1100中的节点0,第三节点可以为网络1100中除去节点0的其他节点中的一个。
示例性地,若需要确定图13中的一条从节点R1至节点R3的路径,则第一节点可以为图13中的节点R1,第三节点可以为图13中除去节点R1的其他节点中的一个。
示例性地,收发模块1520可执行上述方法400中的S401中发送第一报文的动作。
其中,处理模块1510用于:确定链路约束条件,所述链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,所述链路约束条件包括链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路MTU约束。收发模块1520用于:向所述网络中的其他节点发送链路约束条件。
示例性地,收发模块1520可以执行上述方法400中的S401。
示例性地,收发模块1520可以为通信接口,例如收发接口。
可选地,收发模块1520用于:向所述网络中的其他节点发送第一报文,该第一报文包括链路约束条件。
可选地,第一报文还包括目标灵活算法的FAD,FAD包括以下一项或多项:灵活算法的标识、计算类型的标识或度量类型的标识。
可选地,第一报文的FAD TLV的第一子TLV字段包括链路约束条件。
可选地,第一报文为ISIS报文或OSPF报文。
应理解,这里的装置1400和/或装置1500以功能模块的形式体现。这里的术语“模块”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
在本申请的实施例,装置1400和/或装置1500也可以是芯片或者芯片系统,例如:片上系统(system on chip,SoC)。对应的,发送模块1120可以是该芯片的收发电路,在此不做限定。
上述装置1400和/或装置1500可以通过硬件实现,也可以通过硬件执行相应的软件实现,下面结合图16和图17介绍本申请实施例的硬件结构。
图16示出了本申请实施例提供的再一种确定路径的装置1600的示意性框图。该装置1600包括处理器1610、收发器1620和存储器1630。其中,处理器1610、收发器1620和存储器1630通过内部连接通路互相通信,该存储器1630用于存储指令,该处理器1610用于执行该存储器1630存储的指令,以控制该收发器1620发送信号和/或接收信号。
应理解,装置1600可以具体为上述实施例中的第一节点或第三节点,或者,上述实施例中第一节点或第三节点的功能可以集成在装置1600中,装置1600可以用于执行上述方法实施例中与第一节点或第三节点对应的各个步骤和/或流程。
可选地,该存储器1630可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器1610可以用于执行存储器中存储的指令,并且该处理器执行该指令时,该处理器可以执行上述方法实施例中与第一节点或第三节点对应的各个步骤和/或流程。
应理解,在本申请实施例中,处理器1610可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
图17示出了本申请实施例提供的又一种确定路径的装置1700的示意性框图。应理解,装置1700和装置1600是两种并行的装置示意图,同装置1600类似,装置1600可以具体为上述实施例中的第一节点或第三节点,或者,上述实施例中第一节点或第三节点的功能可以集成在装置1700中,可以采用装置1700或装置1600中的任意一个以执行上述方法实施例中与第一节点或第三节点对应的各个步骤和/或流程,本申请实施例对此不做限制。
装置1700包括主控板和接口板,主控板包括处理器1710和存储器1720,接口板包括处理器1730、存储器1740和接口卡1750。
在装置1700中,主控板处理器1710可调用主控板存储器1720中存储的实现装置1400和/或装置1500的程序指令并执行报文的生成等操作。接口板处理器1730可调用接口板存储器1740中存储的实现装置1400和/或装置1500的程序指令并通过接口卡1750执行报文的发送等操作,并且处理器执行该指令时,处理器可以执行上述方法实施例中与第一节点或第三节点对应的各个步骤和/或流程。
可选地,存储器1720和/或存储器1740可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
图18是本申请实施例提供的一种确定路径的系统1800的示意性框图。如图18所示,系统1800包括第一节点1810和第三节点1820。
其中,第三节点1820用于:向第一节点1810发送第一报文,该第一报文的第一子TLV字段包括链路约束条件,该链路约束条件用于表示基于目标灵活算法传输报文时所需要满足的链路约束条件。
第一节点1810用于:接收来自第三节点1820的第一报文,并基于该第一报文确定链路约束条件;以及,基于该链路约束条件,确定到达第二节点的至少一条目标路径。
应理解,第一节点1810和第三节点1820还可以执行上述实施例中描述的与第一节点和第三节点相关的步骤和/或流程,此处不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (24)

1.一种确定路径的方法,其特征在于,应用于包括多个节点的网络,包括:
所述多个节点中的第一节点确定链路约束条件,所述链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,所述链路约束条件包括以下一项或多项:链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路最大传输单元MTU约束;
所述第一节点基于所述目标灵活算法,确定到达所述多个节点中的第二节点的至少一条目标路径,所述目标路径满足所述链路约束条件。
2.根据权利要求1所述的方法,其特征在于,所述链路约束条件包括预设阈值,所述预设阈值包括以下一项或多项:链路故障阈值、链路丢包率阈值、链路误码率阈值、链路抖动率阈值或者链路MTU阈值;
所述第一节点基于所述目标灵活算法,确定到达所述多个节点中的第二节点的至少一条目标路径,包括:
所述第一节点从到达所述第二节点的多条路径中排除包含不满足预设阈值条件的链路的路径,以确定多条候选路径,所述多条候选路径满足所述预设阈值条件,所述预设阈值条件包括以下一项或多项:
链路故障次数小于或者等于所述链路故障阈值;
链路丢包率小于或者等于所述链路丢包率阈值;
链路误码率小于或者等于所述链路误码率阈值;
链路抖动率小于或者等于所述链路抖动率阈值;或者,
链路MTU大于或者等于所述链路MTU阈值。
3.根据权利要求2所述的方法,其特征在于,所述第一节点基于所述目标灵活算法,确定到达所述多个节点中的第二节点的至少一条目标路径,还包括:
所述第一节点基于所述目标灵活算法的度量类型,从所述多条候选路径中确定所述至少一条目标路径。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述多个节点中的第一节点确定链路约束条件,包括:
所述第一节点接收来自所述网络中的其他节点的第一报文,所述第一报文包括所述链路约束条件。
5.根据权利要求4所述的方法,其特征在于,所述第一报文还包括所述目标灵活算法的灵活算法定义FAD,所述FAD包括以下一项或多项:
灵活算法的标识、计算类型的标识或度量类型的标识。
6.根据权利要求5所述的方法,其特征在于,所述第一报文的FAD类型长度值TLV的第一子TLV字段包括所述链路约束条件。
7.根据权利要求5或6所述的方法,其特征在于,所述计算类型的标识包括最短路径优先SPF算法的标识或严格SPF算法的标识。
8.根据权利要求5或6所述的方法,其特征在于,所述度量类型的标识包括以下一项或多项:
链路时延规则的标识、内部网关协议IGP开销规则的标识、流量工程TE规则的标识或链路带宽规则的标识。
9.根据权利要求4-8中任一项所述的方法,其特征在于,所述第一报文为中间系统到中间系统ISIS报文或开放最短路径优先OSPF报文。
10.根据权利要求1-9中任一项所述的方法,其特征在于,在所述第一节点基于所述目标灵活算法,确定到达所述多个节点中的第二节点的至少一条目标路径之前,所述方法还包括:
所述第一节点接收来自所述第一节点的邻居节点的第二报文,所述第二报文中携带所述多个节点中相邻节点之间的链路状态,所述链路状态包括链路故障次数、链路丢包率、链路误码率、链路抖动率或者链路MTU;
所述第一节点基于所述目标灵活算法,确定到达所述多个节点中的第二节点的至少一条目标路径,包括:
所述第一节点基于所述目标灵活算法和所述多个节点中相邻节点之间的链路状态,确定到达所述第二节点的至少一条目标路径。
11.根据权利要求10所述的方法,其特征在于,所述第二报文的第二子TLV字段包括所述链路状态。
12.根据权利要求10或11所述的方法,其特征在于,所述第二报文为ISIS报文或OSPF报文。
13.根据权利要求10所述的方法,其特征在于,所述方法还包括:
所述第一节点接收来自所述第一节点的邻居节点的第三报文,所述第三报文携带所述多个节点中相邻节点之间更新后的所述链路状态;
若基于所述更新后的所述链路状态确定所述至少一条目标路径不满足所述链路约束条件,所述第一节点重新基于所述目标灵活算法,确定到达所述第二节点的至少一条新路径,所述至少一条新路径满足所述链路约束条件。
14.根据权利要求1-13中任一项所述的方法,其特征在于,所述第一节点和所述第二节点处于同一个路由协议的不同进程,所述路由协议包括ISIS或OSPF。
15.一种确定路径的方法,其特征在于,应用于包括多个节点的网络,包括:
所述多个节点中的第三节点确定链路约束条件,所述链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,所述链路约束条件包括链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路最大传输单元MTU约束;
所述第三节点向所述网络中的其他节点发送所述链路约束条件。
16.根据权利要求15所述的方法,其特征在于,所述第三节点向所述网络中的其他节点发送所述链路约束条件,包括:
所述第三节点向所述网络中的其他节点发送第一报文,所述第一报文包括所述链路约束条件。
17.根据权利要求16所述的方法,其特征在于,所述第一报文还包括所述目标灵活算法的灵活算法定义FAD,所述FAD包括以下一项或多项:
灵活算法的标识、计算类型的标识或度量类型的标识。
18.根据权利要求17所述的方法,其特征在于,所述第一报文的FAD类型长度值TLV的第一子TLV字段包括所述链路约束条件。
19.根据权利要求16-18中任一项所述的方法,其特征在于,所述第一报文为中间系统到中间系统ISIS报文或开放最短路径优先OSPF报文。
20.一种确定路径的装置,其特征在于,包括用于执行如权利要求1-14中任一项所述方法的模块,或者,用于执行如权利要求15-19中任一项所述方法的模块。
21.一种确定路径的装置,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储计算机程序,当所述处理器调用所述计算机程序时,使得所述装置执行如权利要求1-14中任一项所述的方法,或使得所述装置执行如权利要求15-19中任一项所述的方法。
22.一种确定路径的系统,其特征在于,包括第一节点和第三节点,所述第一节点用于执行如权利要求1-14中任一项所述的方法,所述第三节点用于执行如权利要求15-19中任一项所述的方法。
23.一种计算机可读存储介质,其特征在于,用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-14中任一项所述的方法,或使得所述计算机执行如权利要求15-19中任一项所述的方法。
24.一种计算机程序产品,其特征在于,所述计算机程序产品中包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得所述计算机实现如权利要求1-14中任一项所述的方法,或使得所述计算机执行如权利要求15-19中任一项所述的方法。
CN202210169079.5A 2022-02-23 2022-02-23 确定路径的方法和装置 Pending CN116684347A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210169079.5A CN116684347A (zh) 2022-02-23 2022-02-23 确定路径的方法和装置
PCT/CN2022/138094 WO2023160124A1 (zh) 2022-02-23 2022-12-09 确定路径的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210169079.5A CN116684347A (zh) 2022-02-23 2022-02-23 确定路径的方法和装置

Publications (1)

Publication Number Publication Date
CN116684347A true CN116684347A (zh) 2023-09-01

Family

ID=87764613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210169079.5A Pending CN116684347A (zh) 2022-02-23 2022-02-23 确定路径的方法和装置

Country Status (2)

Country Link
CN (1) CN116684347A (zh)
WO (1) WO2023160124A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6530345B2 (ja) * 2016-04-15 2019-06-12 日本電信電話株式会社 ネットワーク制御装置
CN112054960B (zh) * 2019-02-13 2024-04-26 华为技术有限公司 一种路径计算方法、装置及设备
CN113691445B (zh) * 2020-05-18 2022-12-02 华为技术有限公司 报文转发备份路径确定方法及相关设备
CN113542120B (zh) * 2021-06-29 2023-08-18 新华三大数据技术有限公司 一种路径选择方法及装置、计算机可读存储介质

Also Published As

Publication number Publication date
WO2023160124A1 (zh) 2023-08-31

Similar Documents

Publication Publication Date Title
US10009231B1 (en) Advertising with a layer three routing protocol constituent link attributes of a layer two bundle
US8068411B2 (en) Method and apparatus to compute local repair paths taking into account link resources and attributes
US7814227B2 (en) Computation of a shortest inter-domain TE-LSP across a set of autonomous systems
US9001672B2 (en) System, method and apparatus conforming path cost criteria across multiple ABRs
US8942106B2 (en) Method and apparatus for route optimization enforcement and verification
US7623461B2 (en) Trigger for packing path computation requests
US20150092594A1 (en) Two-part metric for link state routing protocols
US20120030150A1 (en) Hybrid Learning Component for Link State Routing Protocols
CN111587580A (zh) 内部网关协议洪泛最小化
US9571381B2 (en) System and method for inter-domain RSVP-TE LSP load balancing
US20060039391A1 (en) Computing inter-autonomous system MPLS traffic engineering LSP paths
CN101237399A (zh) 获取标签交换路径的方法、系统和设备
US11489836B2 (en) Method, apparatus, and system for collecting access control list
US20200287820A1 (en) Method, apparatus and system for controlling routing information advertising
US10924384B2 (en) Traffic engineering for border gateway protocol
CN113542120B (zh) 一种路径选择方法及装置、计算机可读存储介质
CN116684347A (zh) 确定路径的方法和装置
CN115208829A (zh) 报文处理的方法及网络设备
CN115550256A (zh) 基于sdn的bier组播切片方法、存储介质及电子设备
CN115208809A (zh) 确定路径的方法和装置
CN115514640A (zh) 确定路径的方法和装置
US20120063362A1 (en) Method and apparatus for computing paths to destinations in networks having link constraints
US20230291681A1 (en) Data obtaining method and apparatus, device, and storage medium
US20140269737A1 (en) System, method and apparatus for lsp setup using inter-domain abr indication
US20230179515A1 (en) Routing protocol broadcast link extensions

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination