WO2016061932A1 - 一种隧道路径计算的方法及装置 - Google Patents

一种隧道路径计算的方法及装置 Download PDF

Info

Publication number
WO2016061932A1
WO2016061932A1 PCT/CN2015/071420 CN2015071420W WO2016061932A1 WO 2016061932 A1 WO2016061932 A1 WO 2016061932A1 CN 2015071420 W CN2015071420 W CN 2015071420W WO 2016061932 A1 WO2016061932 A1 WO 2016061932A1
Authority
WO
WIPO (PCT)
Prior art keywords
loose
path
node
constraint
ero
Prior art date
Application number
PCT/CN2015/071420
Other languages
English (en)
French (fr)
Inventor
付志涛
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2016061932A1 publication Critical patent/WO2016061932A1/zh

Links

Images

Definitions

  • the present invention relates to the field of data network communication, and in particular, to a method and an apparatus for tunnel path calculation.
  • the Resource Reservation Protocol-Traffic Engineer (RSVP-TE) is a traffic engineering technology based on Multi-Protocol Lable Switch (MPLS).
  • the service traffic is forwarded in the TE (Traffic Engineering) tunnel through four components: information release, path calculation, signaling interaction (RSVP-TE), and traffic forwarding.
  • the tunnel path plan can be a strict path.
  • the tunnel is established, only the CSPF calculation is submitted at the head node, and the calculated path directly reaches the tunnel tail node.
  • Path constraints can be carried to downstream.
  • the tunnel head node cannot use one calculation, and the path from the tunnel head node to the tail node of the tunnel is calculated once, and segmentation calculation is needed.
  • the display path of the tunnel must be loosely configured to the Area Border Router (ABR) node (R3 and R4 in Figure 4 are both ABR nodes) or Autonomous System Border Routers (Autonomous System Border Router (ASBR) node (R4, R8, and R12 in Figure 5 are ASBR nodes).
  • ABR Area Border Router
  • ASBR Autonomous System Border Router
  • the tunnel head node first calculates the path to the first loose node. Then, the first loose node performs the calculation. To the second loose node; the second loose node counts again, counting to the third loose node... until the tail node is counted. On each loose node, there is a process of calculating the road.
  • the present invention provides a method and a device for calculating a tunnel path, which can constrain the path of the path by displaying the corresponding constraint information of the sub-object of the routing object ERO.
  • a method for tunnel path calculation includes:
  • the head node calculates a path between the head node and the first loose node according to a constraint condition between the head node and the first loose node, and calculates a calculated path, and the rest a constraint between the downstream loose node and the remaining downstream loose node is encapsulated in the display routing object ERO and transmitted to the first loose node;
  • the first loose node and the remaining downstream loose nodes of the first loose node extract a constraint encapsulated in a sub-object that displays the routing object ERO, and calculate to reach other downstream loose nodes according to the constraint condition.
  • the path is calculated in turn until the path to the end node of the tunnel is calculated.
  • any path to the downstream loose node is calculated.
  • the first loose node and the downstream node of the first loose node extract a constraint carried in the ERO sub-object of the display routing object, and calculate the current loose node according to the constraint condition.
  • the path between the downstream loose nodes is reached, including:
  • the header node extracts a constraint carried in a sub-object that displays a routing object ERO, and the sub-object that displays the routing object ERO is a display constraint routing object ERRS;
  • the setting in the display constraint routing object ERRS includes at least: a constraint valid flag and a constraint.
  • the constraint condition includes: a maximum link cost, a maximum delay, a maximum delay jitter, and/or a maximum hop count.
  • the display routing object ERO further includes a display exclusion route object EXRS for excluding the path when carrying the downstream loose node calculation path.
  • a device for tunnel path calculation comprising:
  • a constraint setting module configured to set a constraint condition between every two loose nodes in the tunnel at a tunnel head node, the constraint condition being carried in a sub-object displaying the routing object ERO;
  • Calculating a path transmission module configured to calculate, by the head node, a path between the head node and the first loose node according to a constraint condition between the head node and the first loose node, And encapsulating the calculated path, the remaining downstream loose nodes and the remaining downstream loose nodes in the display routing object ERO, and transmitting to the first loose node;
  • a calculation circuit repeating module configured to: the first loose node and the remaining downstream loose nodes of the first loose node extract a constraint encapsulated in the sub-object displaying the routing object ERO, and calculate the arrival according to the constraint condition The path between the other downstream loose nodes is calculated in turn until the path to the end node of the tunnel is calculated.
  • the algorithm transmission module is further configured to calculate any path to the downstream loose node if there is no constraint between the current loose node and the downstream loose node before the loose node.
  • the algorithm transmission module includes:
  • An extracting unit configured to extract, by the head node, a constraint carried in a sub-object that displays a routing object ERO, where the sub-object of the display routing object ERO is a display constraint routing object ERRS;
  • Calculating a path unit configured to calculate a path between the head node and the first loose node according to the constraint condition
  • the encapsulation unit is configured to encapsulate the path information into the sub-objects displaying the routing object ERO, and at the same time, encapsulate the constraint between the remaining downstream loose nodes and the remaining downstream loose nodes in the display routing object ERO, and transmit to the Said the first loose node.
  • the setting in the display constraint routing object ERRS includes at least: a constraint valid flag and a constraint.
  • the constraint condition includes: a maximum link cost, a maximum delay, a maximum delay jitter, and/or a maximum hop count.
  • the display routing object ERO further includes a display exclusion route object EXRS for excluding the path when carrying the downstream loose node calculation path.
  • the beneficial effects of the present invention are: first, setting a constraint condition between every two loose nodes in the tunnel at a tunnel head node, and displaying a new sub-object in an Explicit Route Object (ERO) by expanding,
  • the new sub-object is an Explicit Restrain Route Subobject (ERRS), and the constraint is carried in the ERRS, which can implement the constraint deployment of each path of the tunnel.
  • the head node in the tunnel and the remaining downstream loose nodes extract the constraints encapsulated in the ERRS, and calculate the path between the other downstream loose nodes according to the constraint conditions, and perform the calculation in turn until the tunnel is calculated.
  • the path to the tail node Therefore, the calculated path can be more consistent with the deployment requirements for each path in the tunnel.
  • FIG. 1 is a flow chart showing a calculation of a tunnel path in an embodiment of the present invention
  • FIG. 2 is a flow chart showing the path between the computing head node and the first loose node and transmitting to the downstream loose node in the embodiment of the present invention
  • Figure 3 is a schematic diagram showing a single domain computing tunnel path
  • Figure 4 is a schematic diagram showing the calculation of a tunnel path across an Area
  • FIG. 5 is a schematic diagram of calculating a tunnel path according to a maximum link cost or a maximum delay or a maximum delay jitter in an embodiment of the present invention
  • FIG. 6 is a schematic diagram of calculating a tunnel path according to a maximum hop count in the implementation of the present invention.
  • FIG. 7 is a structural block diagram showing a calculation of a tunnel path in an embodiment of the present invention.
  • Fig. 8 is a block diagram showing the structure of a calculation path transmission module in the embodiment of the present invention.
  • the embodiment of the invention discloses a method for tunnel path calculation. As shown in FIG. 1 , the method 100 includes the following steps:
  • Step S101 setting a constraint condition between each two loose nodes in the tunnel at the tunnel head node, where the constraint condition is carried in a sub-object that displays the routing object ERO;
  • Step S103 The head node calculates a path between the head node and the first loose node according to a constraint condition between the head node and the first loose node, and calculates the calculated path, the remaining downstream loose nodes, and The constraint between the remaining downstream loose nodes is encapsulated in the display routing object ERO and transmitted to the first loose node;
  • the path between the head node and the first loose node is calculated and transmitted to the downstream loose node (step S103), and specifically includes the following steps:
  • Step S1031 The head node extracts a constraint carried in the sub-object that displays the routing object ERO, and displays the sub-object of the routing object ERO as the display constraint routing object ERRS;
  • Step S1033 Calculate a path between the head node and the first loose node according to a constraint condition between the head node and the first loose node;
  • Step S1035 Encapsulate the path information into a sub-object that displays the routing object ERO, and at the same time, encapsulate the constraint between the remaining downstream loose nodes and the remaining downstream loose nodes in the display routing object ERO, and transmit to the first loose. Node.
  • Step S105 the first loose node and the remaining downstream loose nodes of the first loose node extract the constraint encapsulated in the sub-object displaying the routing object ERO, and calculate the reaching between the other downstream loose nodes according to the constraint condition. The path is calculated in turn until the path to the end node of the tunnel is calculated.
  • the constraint condition between each two loose nodes in the tunnel is first set at the tunnel head node, and the child object in the display route object ERO is extended, and the extended child object is a display constraint routing object.
  • ERRS can carry constraints in ERRS.
  • the head node in the tunnel and the remaining downstream loose nodes The constraint condition carried in the ERRS is extracted, and the path to the loose node of the downstream node is calculated according to the constraint condition, and the calculation is performed in sequence until the path to the node is calculated, and all the calculated path information can be carried.
  • the child object in the ERO In the child object in the ERO.
  • the settings in the ERRS include: setting of the constraint effective flag and setting of constraints between each two loose nodes in the tunnel, the constraints include: maximum link cost, maximum delay, maximum delay jitter And / or maximum hop count.
  • the valid flag of the constraint includes: L bit, Type type, and Reserved field.
  • L bit When the L bit is 0, it means that these constraints must be met; when the L bit is 1, it means that these constraints should be met as much as possible.
  • the Type type can be set to 34. It can be understood that, in the embodiment of the present invention, specific parameters of the Type type are not specifically limited.
  • the Reserved field is padded with 0. When the constraint condition is set, the setting mode is the same. When the constraint condition bit is set to 0, it means that there is no such constraint. When the constraint condition bit is set to 1, it indicates that the constraint exists.
  • any path to the downstream loose node is calculated.
  • the specific process of calculating a path according to the maximum link cost in the tunnel is as follows. As shown in FIG. 5, a tunnel can be established from the AS1 domain to the AS3 domain (R1 ⁇ R12). From the existing network topology, only the AS2 domain can be traversed. When the tunnel is deployed, the path cost of the AS1 domain does not exceed 10. The path cost of the AS2 domain does not exceed 20. The path cost of the AS3 domain does not exceed 30. Because it is a spanned tunnel, the display path at the time of establishment must be loose to R4 in the AS1 domain, R5 in the AS2 domain, R8 in the AS2 domain, and R9 in the AS3 domain. The number on each link in the figure indicates the path value of the link.
  • the calculation can only calculate the path to R4, and the path cost of constraining this path is 10, and the path calculated at this time is R1 ⁇ R3 ⁇ R4, and the path cost of path R1 ⁇ R2 ⁇ R3 More than 10, so the conditions are not met.
  • the path information of R1 to R4 is encapsulated into the ERO, and the R5 loose point, the ERRS5to8, the R8 loose point, the R9 loose point, the ERRS9to12, and the R12 loose point are encapsulated in the subsequent one.
  • the ERO When the R3 and R4 nodes receive the PATH message, the ERO will send the local hop and then send it downstream.
  • R4 When R4 receives the PATH message, it finds that the next loose hop R5 does not calculate the path from ERO. At the same time, there is no ERRS constraint before R5. Therefore, when submitting the calculation path, calculate a reachable path. In the topology 3, there is only one path.
  • R5 When R5 receives the PATH message, it finds that the next loose hop R8 has path information, and there is a constraint of ERRS5to8 before the R8 sub-object. Therefore, when submitting the calculation path, the ERRS5to8 constraint information is submitted to the calculation path, and the calculation is performed.
  • the path is: R5 ⁇ R6 ⁇ R8 because the link cost of other paths is greater than the constraint value of 20.
  • the ERO information in the PATH message sent by R5 is:
  • the ERO When the R6 and R8 nodes receive the PATH message, the ERO will send the local hop and then send it downstream.
  • R8 When R8 receives the PATH message, it finds that the next loose hop R9 does not calculate the path from ERO. At the same time, there is no ERRS constraint before R9. Therefore, when submitting the calculation path, calculate a reachable path. In the topology 3, there is only one path.
  • R9 When R9 receives the PATH message, it finds that the next loose hop R12 does not have path information, and there is a constraint of ERRS9to12 before the R12 sub-object. Therefore, when submitting the calculation path, the ERRS9to12 constraint information is submitted to the calculation path, and the calculation is performed.
  • the path that comes out is: R9 ⁇ R11 ⁇ R12 because the link cost of other paths is greater than the constraint value of 30.
  • the ERO When the R11 node receives the PATH message, the ERO will send the local hop and then send it downstream.
  • the R12 node When the R12 node receives the PATH message, it finds that it is already the tunnel destination. The PATH signaling ends.
  • the path constrained by the entire path is: R1 ⁇ R3 ⁇ R4 ⁇ R5 ⁇ R6 ⁇ R8 ⁇ R9 ⁇ R11 ⁇ R12.
  • the entire path conforms to the cost constraint of each segment of the head node.
  • the specific process of calculating a path according to the maximum delay in the tunnel is as follows. As shown in FIG. 5, a tunnel is established from the AS1 domain to the AS3 domain (R1 ⁇ R12). From the existing network topology, only the AS2 domain can be traversed. When the tunnel is deployed, the maximum delay of the path in the AS1 domain does not exceed 10. The maximum delay of the path in the AS2 domain does not exceed 20. The maximum delay of the path in the AS3 domain does not exceed 30. Because it is a spanned tunnel, the display path at the time of establishment must be loose to R4 in the AS1 domain, R5 in the AS2 domain, R8 in the AS2 domain, and R9 in the AS3 domain. The number on each link in the figure indicates the delay value of this link.
  • the calculation path can only calculate the path to R4, and the maximum delay for constraining this path is 10, and the path calculated at this time is R1 ⁇ R3 ⁇ R4, and the path R1 ⁇ R2 ⁇ R3 is the largest. The delay is over 10, so the conditions are not met.
  • the path information of R1 to R4 is encapsulated into the ERO, and the R5 loose point, the ERRS5to8, the R8 loose point, the R9 loose point, the ERRS9to12, and the R12 loose point are encapsulated in the subsequent one.
  • the ERO When the R3 and R4 nodes receive the PATH message, the ERO will send the local hop and then send it downstream.
  • R4 When R4 receives the PATH message, it finds that the next loose hop R5 does not calculate the path from ERO. At the same time, there is no ERRS constraint before R5. Therefore, when submitting the calculation path, calculate a reachable path. In the topology 3, there is only one path.
  • R5 When R5 receives the PATH message, it finds that the next loose hop R8 has path information, and there is a constraint of ERRS5to8 before the R8 sub-object. Therefore, when submitting the calculation path, the ERRS5to8 constraint information is submitted to the calculation path, and the calculation is performed.
  • the path is: R5 ⁇ R6 ⁇ R8 because the maximum delay of other paths is greater than the constraint value of 20.
  • the ERO information in the PATH message sent by R5 is:
  • the ERO When the R6 and R8 nodes receive the PATH message, the ERO will send the local hop and then send it downstream.
  • R8 When R8 receives the PATH message, it finds that the next loose hop R9 does not calculate the path from ERO. At the same time, there is no ERRS constraint before R9. Therefore, when submitting the calculation path, calculate a reachable path. In the topology 3, there is only one path.
  • R9 When R9 receives the PATH message, it finds that the next loose hop R12 does not have path information, and there is a constraint of ERRS9to12 before the R12 sub-object. Therefore, when submitting the calculation path, the ERRS9to12 constraint information is raised. In the calculation, the calculated path is: R9 ⁇ R11 ⁇ R12, because the maximum delay of other paths is greater than the constraint value of 30.
  • the ERO When the R11 node receives the PATH message, the ERO will send the local hop and then send it downstream.
  • the R12 node When the R12 node receives the PATH message, it finds that it is already the tunnel destination. The PATH signaling ends.
  • the path constrained by the entire path is: R1 ⁇ R3 ⁇ R4 ⁇ R5 ⁇ R6 ⁇ R8 ⁇ R9 ⁇ R11 ⁇ R12.
  • the specific process of calculating the path according to the maximum delay jitter in the tunnel is as follows. As shown in FIG. 5, a tunnel is established from the AS1 domain to the AS3 domain (R1 ⁇ R12). From the existing network topology, only the AS2 domain can be traversed. When the tunnel is deployed, the maximum delay of the path in the AS1 domain does not exceed 10. The maximum delay of the path in the AS2 domain does not exceed 20. The maximum delay of the path in the AS3 domain does not exceed 30. Because it is a spanned tunnel, the display path at the time of establishment must be loose to R4 in the AS1 domain, R5 in the AS2 domain, R8 in the AS2 domain, and R9 in the AS3 domain. The number on each link in the figure indicates the delay jitter value of this link.
  • the calculation path can only calculate the path to R4, and the maximum delay jitter of the constraint path is 10, and the calculated path at this time is R1 ⁇ R3 ⁇ R4, and the path R1 ⁇ R2 ⁇ R3 The maximum delay jitter exceeds 10, so the conditions are not met.
  • the path information of R1 to R4 is encapsulated into the ERO, and the R5 loose point, the ERRS5to8, the R8 loose point, the R9 loose point, the ERRS9to12, and the R12 loose point are encapsulated in the subsequent one.
  • the ERO When the R3 and R4 nodes receive the PATH message, the ERO will send the local hop and then send it downstream.
  • R4 When R4 receives the PATH message, it finds that the next loose hop R5 does not calculate the path from ERO. At the same time, there is no ERRS constraint before R5. Therefore, when submitting the calculation path, calculate a reachable path. In the topology 3, there is only one path.
  • R5 When R5 receives the PATH message, it finds that the next loose hop R8 has path information, and there is a constraint of ERRS5to8 before the R8 sub-object. Therefore, when submitting the calculation path, the ERRS5to8 constraint information is submitted to the calculation path, and the calculation is performed.
  • the path is: R5 ⁇ R6 ⁇ R8 because the maximum delay jitter of other paths is greater than the constraint value of 20.
  • the ERO information in the PATH message sent by R5 is:
  • the ERO When the R6 and R8 nodes receive the PATH message, the ERO will send the local hop and then send it downstream.
  • R8 When R8 receives the PATH message, it finds that the next loose hop R9 does not calculate the path from ERO. At the same time, there is no ERRS constraint before R9. Therefore, when submitting the calculation path, calculate a reachable path. In the topology 3, there is only one path.
  • R9 When R9 receives the PATH message, it finds that the next loose hop R12 does not have path information, and there is a constraint of ERRS9to12 before the R12 sub-object. Therefore, when submitting the calculation path, the ERRS9to12 constraint information is submitted to the calculation path, and the calculation is performed.
  • the path that comes out is: R9 ⁇ R11 ⁇ R12 because the maximum delay jitter of other paths is greater than the constraint value of 30.
  • the ERO When the R11 node receives the PATH message, the ERO will send the local hop and then send it downstream.
  • the R12 node When the R12 node receives the PATH message, it finds that it is already the tunnel destination. The PATH signaling ends.
  • the path constrained by the entire path is: R1 ⁇ R3 ⁇ R4 ⁇ R5 ⁇ R6 ⁇ R8 ⁇ R9 ⁇ R11 ⁇ R12.
  • the entire path conforms to the constraint condition of the head node for each segment maximum delay jitter.
  • the specific process of calculating a path according to the maximum hop count in the tunnel is as follows. As shown in FIG. 6, a tunnel is established from the AS1 domain to the AS3 domain (R1 ⁇ R12). From the existing network topology, only the AS2 domain can be traversed. When the tunnel is deployed, the maximum number of hops in the AS1 domain does not exceed 1. The maximum number of hops in the AS2 domain does not exceed 1. The maximum number of hops in the AS3 domain does not exceed 1. Because it is a spanned tunnel, the display path at the time of establishment must be loose to R4 in the AS1 domain, R5 in the AS2 domain, R8 in the AS2 domain, and R9 in the AS3 domain.
  • the calculation can only calculate the path to R4, and the maximum hop count of the path is 1, and the calculated path is R1 ⁇ R4, and the maximum hop of the path R1 ⁇ R2 ⁇ R4 If it is 2, the constraint value is exceeded, so the condition is not satisfied.
  • the path information of R1 to R4 is encapsulated into the ERO, and the R5 loose point, the ERRS5to8, the R8 loose point, the R9 loose point, the ERRS9to12, and the R12 loose point are encapsulated in the subsequent one.
  • R4 When R4 receives the PATH message, it finds that the next loose hop R5 does not calculate the path from ERO. At the same time, there is no ERRS constraint before R5. Therefore, when submitting the calculation path, calculate a reachable path. In the topology 3, there is only one path.
  • R5 When R5 receives the PATH message, it finds that the next loose hop R8 has path information, and there is a constraint of ERRS5to8 before the R8 sub-object. Therefore, when submitting the calculation path, the ERRS5to8 constraint information is submitted to the calculation path, and the calculation is performed.
  • the path is: R5 ⁇ R8 because the maximum number of hops of other paths is greater than the constraint value of 1.
  • the ERO information in the PATH message sent by R5 is:
  • the ERO When the R6 and R8 nodes receive the PATH message, the ERO will send the local hop and then send it downstream.
  • R8 When R8 receives the PATH message, it finds that the next loose hop R9 does not calculate the path from ERO. At the same time, there is no ERRS constraint before R9. Therefore, when submitting the calculation path, calculate a reachable path. In the topology 3, there is only one path.
  • R9 When R9 receives the PATH message, it finds that the next loose hop R12 does not have path information, and there is a constraint of ERRS9to12 before the R12 sub-object. Therefore, when submitting the calculation path, the ERRS9to12 constraint information is submitted to the calculation path, and the calculation is performed.
  • the path that comes out is: R9 ⁇ R12 because the maximum number of hops of other paths is greater than the constraint value of 1.
  • the ERO When the R11 node receives the PATH message, the ERO will send the local hop and then send it downstream.
  • the R12 node When the R12 node receives the PATH message, it finds that it is already the tunnel destination. The PATH signaling ends.
  • one or more kinds of information may be selected between the two loose points as the constraints of the calculation according to the requirements of the actual deployment constraints.
  • the display routing object ERO further includes an EXRP (Explicit Exclude Route Subobject) for performing path exclusion when calculating the path.
  • EXRP Exlicit Exclude Route Subobject
  • the embodiment of the present invention further discloses a device for calculating a tunnel path.
  • FIG. 7 it is a structural block diagram of a tunnel path calculated in the embodiment of the present invention.
  • the device 700 includes:
  • the constraint setting module 701 is configured to set a constraint condition between every two loose nodes in the tunnel at the tunnel head node, and the constraint is carried in the sub-object displaying the routing object ERO;
  • the algorithm transmission module 703 is configured to calculate, according to a constraint condition between the head node and the first loose node, a path between the head node and the first loose node, and calculate the calculated path,
  • the constraint between the remaining downstream loose nodes and the remaining downstream loose nodes is encapsulated in the display routing object ERO and transmitted to the first loose node;
  • the algorithm repeating module 705 is configured to: the first loose node and the remaining downstream loose nodes of the first loose node extract the constraint encapsulated in the sub-object displaying the routing object ERO, and calculate to reach other downstream loose according to the constraint condition. The path between the nodes is calculated in turn until the path to the end node of the tunnel is calculated.
  • the algorithm transmission module 703 includes:
  • the extracting unit 7031 is configured to extract, by the head node, a constraint carried in the sub-object that displays the routing object ERO, and display the sub-object of the routing object ERO as the display constraint routing object ERRS;
  • the calculating unit 7033 is configured to calculate a path between the head node and the first loose node according to the constraint condition
  • the encapsulating unit 7035 is configured to encapsulate the path information into the sub-object of the display routing object ERO, and at the same time, encapsulate the constraint between the remaining downstream loose nodes and the remaining downstream loose nodes in the display routing object ERO, and transmit to the The first loose node.
  • the setting in the display constraint routing object ERRS includes: a constraint valid flag and a constraint.
  • the constraint includes: a maximum link cost, a maximum delay, a maximum delay jitter, and/or a maximum hop count.
  • the display routing object ERO further includes a display exclusion route object EXRS for excluding the path when carrying the downstream loose node calculation path.
  • a constraint condition between each two loose nodes in the tunnel is set at a tunnel head node, and a new sub-object in an explicit route object (ERO, Explicit Route Object) is extended.
  • the new sub-object is an Explicit Restrain Route Subobject (ERRS), and the constraint is carried in the ERRS, so that the constraint of each path of the tunnel can be deployed.
  • the head node in the tunnel and the remaining downstream loose nodes extract the constraints encapsulated in the ERRS, and calculate the path between the other downstream loose nodes according to the constraint conditions, and perform the calculation in turn until the tunnel is calculated.
  • the path to the tail node Therefore, the calculated path can be more consistent with the deployment requirements for each path in the tunnel.

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种隧道路径计算的方法和装置,该方法包括:在隧道头结点设置隧道中每两个松散结点之间的约束条件,约束条件携带于显示路由对象ERO的子对象中;头结点根据头结点与第一松散结点之间的约束条件,计算得到头结点到第一松散结点之间的路径,将计算得到的路径、其余下游松散结点和其余下游松散结点之间的约束条件封装于ERO中,并传输至第一松散结点;第一松散结点以及第一松散结点的其余下游松散结点提取封装于ERO的子对象中的约束条件,并根据约束条件计算出到达其他下游松散结点之间的路径,依次进行算路,直至计算出到达隧道尾结点的路径。实现了通过显示路由对象ERO的子对象携带相应的约束信息,对算路路径进行约束。

Description

一种隧道路径计算的方法及装置 技术领域
本发明涉及数据网络通讯领域,尤其涉及一种隧道路径计算的方法及装置。
背景技术
基于流量工程的资源预留协议(Resource Reservation Protocol-Traffic Engineer,简称RSVP-TE)是一种基于多协议标签交换(Multi-Protocol Lable Switch,简称MPLS)的流量工程技术。通过信息发布、路径计算、信令交互(RSVP-TE)、流量的转发四个部件实现业务流量在TE(流量工程)隧道中的转发。
现在的网络,特别是金融数据的传输,对路径的选择有着严格的要求,比如传输链路的代价、延时、抖动等。所以在隧道建立的时候,这些约束条件都需要提交给约束最短路径优先(Constrained Shortest Path First,简称CSPF)计算单元进行约束计算。这些约束条件在某些情况下需要传递给下游节点。
如图3所示:对于在单域的隧道,隧道路径规划可以是严格的路径,这样隧道建立的时候,只在头结点提交一次CSPF计算,计算的路径直接到达隧道尾节点,这样所有的路径约束可以不用携带给下游。
但随着现在网络越来越复杂,城市和城市之间,运营商和运营商之间各自有网络,他们之间建立隧道,可能是跨区域(Area)域,有可能是跨自制系统(Autonomous System,简称AS)域,如图4和图5所示。为了规划每个域路径允许的最大链路代价、最大延时和抖动,需要将这些在隧道头结点规划好的约束条件传递到各自下游再次路径计算的节点。事实上,对于跨域隧道,隧道头结点不能够利用一次算路,将隧道头结点至隧道尾节点的路径一次计算出来,需要进行分段计算。如图4和图5所示,隧道的显示路径必须配置松散到区域边界路由器(Area Border Router,简称ABR)结点(图4中的R3和R4都是ABR节点)或者自治系统边界路由器(Autonomous System Border Router,简称ASBR)节点(图5中的R4,R8,R12都是ASBR节点),隧道头结点先计算路径到第一个松散节点;再在第一个松散节点进行算路,算至第二个松散节点;第二个松散节点再次算路,算至第三个松散节点…直至算到尾节点。在每个松散节点上,都有一个算路的过程。
目前上述各个松散点之间的约束条件还没有相关的对象携带至下游松散节点,在松散点算路的时候能够约束路径计算。
发明内容
为了克服上述存在的技术问题,本发明提供了一种隧道路径计算的方法及装置,能够通过显示路由对象ERO的子对象携带相应的约束信息,对算路路径进行约束。
为了解决上述技术问题,本发明采用如下技术方案:
依据本发明的一个实施例,提供了一种隧道路径计算的方法,所述方法包括:
在隧道头结点设置隧道中每两个松散结点之间的约束条件,所述约束条件携带于显示路由对象ERO的子对象中;
所述头结点根据所述头结点与所述第一松散结点之间的约束条件,计算得到所述头结点到第一松散结点之间的路径,将计算得到的路径、其余下游松散结点和其余下游松散结点之间的约束条件封装于显示路由对象ERO中,并传输至所述第一松散结点;
所述第一松散结点以及第一松散结点的其余下游松散结点提取封装于显示路由对象ERO的子对象中的约束条件,并根据所述约束条件计算出到达其他下游松散结点之间的路径,依次进行算路,直至计算出到达隧道尾结点的路径。
可选地,若在松散结点之前不存在当前松散节点与下游松散节点之间的约束条件时,则算出任一条到达下游松散结点的路径。
可选地,所述第一松散结点以及所述第一松散结点的下游结点提取携带于显示路由对象ERO子对象中的约束条件,并根据所述约束条件计依次算出当前松散结点达到下游松散结点之间的路径,具体包括:
所述头结点提取携带于显示路由对象ERO的子对象中的约束条件,所述显示路由对象ERO的子对象为显示约束路由对象ERRS;
根据所述头结点与所述第一松散结点之间的约束条件计算出所述头结点到第一松散结点之间的路径;
将路径信息封装至显示路由对象ERO的子对象中,同时,依次在显示路由对象ERO中封装其余下游松散结点和其余下游松散结点之间的约束条件,并传输至所述第一松散结点。
可选地,所述显示约束路由对象ERRS中的设置至少包括:约束条件有效标志和约束条件。
可选地,所述约束条件包括:最大链路代价、最大延时、最大延时抖动和/或最大跳数。
可选地,所述显示路由对象ERO中还包括用于携带下游松散结点计算路径时排除路径的显示排除路由对象EXRS。
依据本发明的另一个实施例,还提供了一种隧道路径计算的装置,所述装置包括:
约束条件设置模块,设置为在隧道头结点设置隧道中每两个松散结点之间的约束条件,所述约束条件携带于显示路由对象ERO的子对象中;
算路传输模块,设置为所述头结点根据所述头结点与所述第一松散结点之间的约束条件,计算得到所述头结点到第一松散结点之间的路径,并将计算得到的路径、其余下游松散结点和其余下游松散结点之间的约束条件封装于显示路由对象ERO中,并传输至所述第一松散结点;
算路重复模块,设置为所述第一松散结点以及第一松散结点的其余下游松散结点提取封装于显示路由对象ERO的子对象中的约束条件,并根据所述约束条件计算出到达其他下游松散结点之间的路径,依次进行算路,直至计算出到达隧道尾结点的路径。
可选地,所述算路传输模块还设置为若在松散结点之前不存在当前松散节点与下游松散节点之间的约束条件时,则算出任一条到达下游松散结点的路径。
可选地,所述算路传输模块包括:
提取单元,设置为所述头结点提取携带于显示路由对象ERO的子对象中的约束条件,所述显示路由对象ERO的子对象为显示约束路由对象ERRS;
算路单元,设置为根据所述约束条件计算出所述头结点到第一松散结点之间的路径;
封装单元,设置为将路径信息封装至显示路由对象ERO的子对象中,同时,依次在显示路由对象ERO中封装其余下游松散结点和其余下游松散结点之间的约束条件,并传输至所述第一松散结点。
可选地,所述显示约束路由对象ERRS中的设置至少包括:约束条件有效标志和约束条件。
可选地,所述约束条件包括:最大链路代价、最大延时、最大延时抖动和/或最大跳数。
可选地,所述显示路由对象ERO中还包括用于携带下游松散结点计算路径时排除路径的显示排除路由对象EXRS。
本发明的有益效果是:首先在隧道头结点对隧道中每两个松散节点之间的约束条件进行设置,通过扩展显示路由对象(Explicit Route Object,简称ERO)中新的子对象,其中,上述新的子对象为显示约束路由对象(Explicit Restrain Route Subobject,简称ERRS),并将约束条件携带于ERRS中,可以实现隧道的每段路径的约束的部署。隧道中的头结点以及其余的下游松散节点提取封装于ERRS中的约束条件,并根据所述约束条件计算出到达其他下游松散结点之间的路径,依次进行算路,直至计算出到达隧道尾结点的路径。所以,计算出的路径能够更符合对于隧道中每段路径的部署要求。
附图说明
图1表示本发明实施例中计算隧道路径的流程图;
图2表示本发明实施例中计算头结点与第一松散结点之间路径并向下游松散结点传输的流程图;
图3表示单域计算隧道路径的示意图;
图4表示跨Area域计算隧道路径的示意图;
图5表示本发明实施例中根据最大链路代价或最大延时或最大延时抖动计算隧道路径的示意图;
图6表示本发明实施中根据最大跳数计算隧道路径的示意图;
图7表示本发明实施例中计算隧道路径的结构框图;
图8表示本发明实施例中算路传输模块的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
实施例一
本发明实施例公开了一种隧道路径计算的方法,如图1所示,该方法100包括以下步骤:
步骤S101:在隧道头结点设置隧道中每两个松散结点之间的约束条件,该约束条件携带于显示路由对象ERO的子对象中;
步骤S103:头结点根据头结点与第一松散结点之间的约束条件,计算得到头结点到第一松散结点之间的路径,将计算得到的路径、其余下游松散结点和其余下游松散结点之间的约束条件封装于显示路由对象ERO中,并传输至第一松散结点;
其中,如图2所示,在本发明实施例中,计算头结点与第一松散结点之间路径并向下游松散结点传输(步骤S103),还具体包括以下步骤:
步骤S1031:头结点提取携带于显示路由对象ERO的子对象中的约束条件,显示路由对象ERO的子对象为显示约束路由对象ERRS;
步骤S1033:根据所述头结点与所述第一松散结点之间的约束条件计算出所述头结点到第一松散结点之间的路径;
步骤S1035:将路径信息封装至显示路由对象ERO的子对象中,同时,依次在显示路由对象ERO中封装其余下游松散结点和其余下游松散结点之间的约束条件,并传输至第一松散结点。
步骤S105:第一松散结点以及第一松散结点的其余下游松散结点提取封装于显示路由对象ERO的子对象中的约束条件,并根据约束条件计算出到达其他下游松散结点之间的路径,依次进行算路,直至计算出到达隧道尾结点的路径。
在本发明实施例中,首先在隧道头结点设置隧道中每两个松散结点之间的约束条件,并对显示路由对象ERO中的子对象进行扩展,扩展的子对象为显示约束路由对象ERRS,能够将约束条件携带于ERRS中。隧道中的头结点以及其余的下游松散节点通 过提取携带于ERRS中的约束条件,并能够根据约束条件计算出到达下游节点松散节点的路径,依次进行算路,直至计算出到达隧道为节点的路径,且将计算得到的全部路径信息能够携带于ERO中的子对象中。
进一步地,ERRS中的设置包括:对约束条件有效标志的设置以及对隧道中每两个松散节点之间约束条件的设置,约束条件包括:最大链路的代价、最大延时、最大延时抖动和/或最大跳数。
其中,约束条件的有效标志位包括:L位、Type类型以及Reserved字段。当L位为0时,表示必须满足这些约束条件;当L位为1时,表示应该尽量满足这些约束条件。Type类型可定为34,可以理解的是,在本发明实施例中,并不具体限定Type类型的具体参数。Reserved字段填充为0。而在对约束条件进行设置时,设置方式相同,当约束条件位设置为0时,表示没有该约束,当约束条件位设置为1时,表示存在该约束。
进一步地,在本发明实施例中,若在松散结点之前不存在当前松散节点与下游松散节点之间的约束条件时,则算出任一条到达下游松散结点的路径。
在本发明实施例中,根据隧道中的最大链路代价计算路径的具体过程如下,如图5所示,可从AS1域建立一条隧道到AS3域(R1→R12)。从现有的网络拓扑来说,只能穿越AS2域。部署隧道的时候,希望AS1域内的路径代价不要超过10,AS2域的路径代价不要超过20,AS3域的路径代价不要超过30。由于是跨越的隧道,建立时的显示路径必须松散到AS1域的R4、AS2域的R5、AS2域的R8和AS3域的R9。图中每条链路上的数字表示这段链路的路径代价值。
根据上述的规划,R5和R8两个松散点之间存在最大链路代价的约束,以ERRS的形式存在于ERO中,为了便于却区分,命名为ERRS5to8,R9和R12两个松散点之间也存在最大链路代价的约束,也是以ERRS的形式存在于ERO中,命名为ERRS9to12。由于部署隧道时只关注路径代价,所以ERRS5to8和ERRS5to8中,最大跳数Hop Number、最大延时Latency、最大延时抖动Latency Variation均为0,最大链路代价Cost Value分别为20、30。
在头结点R1上,算路只能计算到R4的路径,同时约束这段路径的路径代价为10,这个时候计算出来的路径为R1→R3→R4,路径R1→R2→R3的路径代价超过了10,所以不满足条件。在R1发送的PATH消息封装ERO的时候,将R1至R4的路径信息封装至ERO中,后续一次封装R5松散点,ERRS5to8,R8松散点,R9松散点,ERRS9to12,R12松散点。
R1至R4路径信息
R5(LOOSE)
ERRS5to8
R8(LOOSE)
R9(LOOSE)
ERRS9to12
R12(LOOSE)
R3和R4节点在接收PATH消息处理掉时候,ERO会分别弹掉本地跳之后,往下游发送。
R4接收到PATH消息时,从ERO中发现到下一个松散跳R5并未算出路径,同时在R5之前也没有ERRS的约束,所以在提交算路的时候,算出一条可达路径即可,在图3拓扑中,只有唯一一条路径。
R5接收到PATH消息时,发现到下一个松散跳R8并有路径信息,同时在R8子对象之前有ERRS5to8的约束,所以在提交算路的时候,将ERRS5to8约束信息提交到算路中,计算出来的路径为:R5→R6→R8,因为其他路径的链路代价都大于约束值20。
R5发出的PATH消息中的ERO信息为:
R5至R8的路径信息
R9(LOOSE)
ERRS9to12
R12(LOOSE)
R6和R8节点在接收PATH消息处理掉时候,ERO会分别弹掉本地跳之后,往下游发送。
R8接收到PATH消息时,从ERO中发现到下一个松散跳R9并未算出路径,同时在R9之前也没有ERRS的约束,所以在提交算路的时候,算出一条可达路径即可,在图3拓扑中,只有唯一一条路径。
R9接收到PATH消息时,发现到下一个松散跳R12并未有路径信息,同时在R12子对象之前有ERRS9to12的约束,所以在提交算路的时候,将ERRS9to12约束信息提交到算路中,计算出来的路径为:R9→R11→R12,因为其他路径的链路代价都大于约束值30。
R11节点在接收PATH消息处理掉时候,ERO会分别弹掉本地跳之后,往下游发送。
R12节点在接收PATH消息处理掉时候,发现已经是隧道目的地。PATH信令结束。
整条路径约束的路径为:R1→R3→R4→R5→R6→R8→R9→R11→R12。
通过在信令中携带两两松散节点之间的路径代价约束信息,使得整条路径符合头结点对每段路径代价约束条件。
在本发明实施例中,根据隧道中的最大延时计算路径的具体过程如下,如图5所示,从AS1域建立一条隧道到AS3域(R1→R12)。从现有的网络拓扑来说,只能穿越AS2域。部署隧道的时候,希望AS1域内路径的最大时延不要超过10,AS2域内路径的最大时延不要超过20,AS3域内路径的最大时延不要超过30。由于是跨越的隧道,建立时的显示路径必须松散到AS1域的R4、AS2域的R5、AS2域的R8和AS3域的R9。图中每条链路上的数字表示这段链路的时延值。
根据上述的规划,R5和R8两个松散点之间存在最大时延的约束,以ERRS的形式存在于ERO中,为了便于却区分,命名为ERRS5to8,R9和R12两个松散点之间也存在最大时延的约束,也是以ERRS的形式存在于ERO中,命名为ERRS9to12。由于部署隧道时只关注最大时延,所以ERRS5to8和ERRS5to8中,Hop Number、Cost Value、Latency Variation均为0,Latency分别为20、30。
在头结点R1上,算路只能计算到R4的路径,同时约束这段路径的最大时延为10,这个时候计算出来的路径为R1→R3→R4,路径R1→R2→R3的最大时延超过了10,所以不满足条件。在R1发送的PATH消息封装ERO的时候,将R1至R4的路径信息封装至ERO中,后续一次封装R5松散点,ERRS5to8,R8松散点,R9松散点,ERRS9to12,R12松散点。
R1至R4路径信息
R5(LOOSE)
ERRS5to8
R8(LOOSE)
R9(LOOSE)
ERRS9to12
R12(LOOSE)
R3和R4节点在接收PATH消息处理掉时候,ERO会分别弹掉本地跳之后,往下游发送。
R4接收到PATH消息时,从ERO中发现到下一个松散跳R5并未算出路径,同时在R5之前也没有ERRS的约束,所以在提交算路的时候,算出一条可达路径即可,在图3拓扑中,只有唯一一条路径。
R5接收到PATH消息时,发现到下一个松散跳R8并有路径信息,同时在R8子对象之前有ERRS5to8的约束,所以在提交算路的时候,将ERRS5to8约束信息提交到算路中,计算出来的路径为:R5→R6→R8,因为其他路径的最大时延都大于约束值20。
R5发出的PATH消息中的ERO信息为:
R5至R8的路径信息
R9(LOOSE)
ERRS9to12
R12(LOOSE)
R6和R8节点在接收PATH消息处理掉时候,ERO会分别弹掉本地跳之后,往下游发送。
R8接收到PATH消息时,从ERO中发现到下一个松散跳R9并未算出路径,同时在R9之前也没有ERRS的约束,所以在提交算路的时候,算出一条可达路径即可,在图3拓扑中,只有唯一一条路径。
R9接收到PATH消息时,发现到下一个松散跳R12并未有路径信息,同时在R12子对象之前有ERRS9to12的约束,所以在提交算路的时候,将ERRS9to12约束信息提 交到算路中,计算出来的路径为:R9→R11→R12,因为其他路径的最大时延都大于约束值30。
R11节点在接收PATH消息处理掉时候,ERO会分别弹掉本地跳之后,往下游发送。
R12节点在接收PATH消息处理掉时候,发现已经是隧道目的地。PATH信令结束。
整条路径约束的路径为:R1→R3→R4→R5→R6→R8→R9→R11→R12。
通过在信令中携带两两松散节点之间的最大时延约束信息,使得整条路径符合头结点对每段最大时延的约束条件。
在本发明实施例中,根据隧道中的最大延时抖动计算路径的具体过程如下,如图5所示,从AS1域建立一条隧道到AS3域(R1→R12)。从现有的网络拓扑来说,只能穿越AS2域。部署隧道的时候,希望AS1域内路径的最大时延抖动不要超过10,AS2域内路径的最大时延抖动不要超过20,AS3域内路径的最大时延抖动不要超过30。由于是跨越的隧道,建立时的显示路径必须松散到AS1域的R4、AS2域的R5、AS2域的R8和AS3域的R9。图中每条链路上的数字表示这段链路的时延抖动值。
根据上述的规划,R5和R8两个松散点之间存在最大时延抖动的约束,以ERRS的形式存在于ERO中,为了便于却区分,命名为ERRS5to8,R9和R12两个松散点之间也存在最大时延抖动的约束,也是以ERRS的形式存在于ERO中,命名为ERRS9to12。由于部署隧道时只关注最大时延抖动,所以ERRS5to8和ERRS5to8中,Hop Number、Cost Value、Latency均为0,Latency Variation分别为20、30。
在头结点R1上,算路只能计算到R4的路径,同时约束这段路径的最大时延抖动为10,这个时候计算出来的路径为R1→R3→R4,路径R1→R2→R3的最大时延抖动超过了10,所以不满足条件。在R1发送的PATH消息封装ERO的时候,将R1至R4的路径信息封装至ERO中,后续一次封装R5松散点,ERRS5to8,R8松散点,R9松散点,ERRS9to12,R12松散点。
R1至R4路径信息
R5(LOOSE)
ERRS5to8
R8(LOOSE)
R9(LOOSE)
ERRS9to12
R12(LOOSE)
R3和R4节点在接收PATH消息处理掉时候,ERO会分别弹掉本地跳之后,往下游发送。
R4接收到PATH消息时,从ERO中发现到下一个松散跳R5并未算出路径,同时在R5之前也没有ERRS的约束,所以在提交算路的时候,算出一条可达路径即可,在图3拓扑中,只有唯一一条路径。
R5接收到PATH消息时,发现到下一个松散跳R8并有路径信息,同时在R8子对象之前有ERRS5to8的约束,所以在提交算路的时候,将ERRS5to8约束信息提交到算路中,计算出来的路径为:R5→R6→R8,因为其他路径的最大时延抖动都大于约束值20。
R5发出的PATH消息中的ERO信息为:
R5至R8的路径信息
R9(LOOSE)
ERRS9to12
R12(LOOSE)
R6和R8节点在接收PATH消息处理掉时候,ERO会分别弹掉本地跳之后,往下游发送。
R8接收到PATH消息时,从ERO中发现到下一个松散跳R9并未算出路径,同时在R9之前也没有ERRS的约束,所以在提交算路的时候,算出一条可达路径即可,在图3拓扑中,只有唯一一条路径。
R9接收到PATH消息时,发现到下一个松散跳R12并未有路径信息,同时在R12子对象之前有ERRS9to12的约束,所以在提交算路的时候,将ERRS9to12约束信息提交到算路中,计算出来的路径为:R9→R11→R12,因为其他路径的最大时延抖动都大于约束值30。
R11节点在接收PATH消息处理掉时候,ERO会分别弹掉本地跳之后,往下游发送。
R12节点在接收PATH消息处理掉时候,发现已经是隧道目的地。PATH信令结束。
整条路径约束的路径为:R1→R3→R4→R5→R6→R8→R9→R11→R12。
通过在信令中携带两两松散节点之间的最大时延抖动约束信息,使得整条路径符合头结点对每段最大时延抖动的约束条件。
在本发明实施例中,根据隧道中的最大跳数计算路径的具体过程如下,如图6所示,从AS1域建立一条隧道到AS3域(R1→R12)。从现有的网络拓扑来说,只能穿越AS2域。部署隧道的时候,希望AS1域内路径的最大跳数不超过1,AS2域内路径的最大跳数不超过1,AS3域内路径的最大跳数不超过1。由于是跨越的隧道,建立时的显示路径必须松散到AS1域的R4、AS2域的R5、AS2域的R8和AS3域的R9。
根据上述的规划,R5和R8两个松散点之间存在最大跳数的约束,以ERRS的形式存在于ERO中,为了便于却区分,命名为ERRS5to8,R9和R12两个松散点之间也存在最大跳数的约束,也是以ERRS的形式存在于ERO中,命名为ERRS9to12。由于部署隧道时只关注最大跳数,所以ERRS5to8和ERRS5to8中Cost Value、Latency、Latency Variation均为0,Hop Number分别为1、1。
在头结点R1上,算路只能计算到R4的路径,同时约束这段路径的最大跳数为1,这个时候计算出来的路径为R1→R4,路径R1→R2→R4的最大跳数为2,超过了约束值,所以不满足条件。在R1发送的PATH消息封装ERO的时候,将R1至R4的路径信息封装至ERO中,后续一次封装R5松散点,ERRS5to8,R8松散点,R9松散点,ERRS9to12,R12松散点。
R1至R4路径信息
R5(LOOSE)
ERRS5to8
R8(LOOSE)
R9(LOOSE)
ERRS9to12
R12(LOOSE)
R4接收到PATH消息时,从ERO中发现到下一个松散跳R5并未算出路径,同时在R5之前也没有ERRS的约束,所以在提交算路的时候,算出一条可达路径即可,在图3拓扑中,只有唯一一条路径。
R5接收到PATH消息时,发现到下一个松散跳R8并有路径信息,同时在R8子对象之前有ERRS5to8的约束,所以在提交算路的时候,将ERRS5to8约束信息提交到算路中,计算出来的路径为:R5→R8,因为其他路径的最大跳数都大于约束值1。
R5发出的PATH消息中的ERO信息为:
R5至R8的路径信息
R9(LOOSE)
ERRS9to12
R12(LOOSE)
R6和R8节点在接收PATH消息处理掉时候,ERO会分别弹掉本地跳之后,往下游发送。
R8接收到PATH消息时,从ERO中发现到下一个松散跳R9并未算出路径,同时在R9之前也没有ERRS的约束,所以在提交算路的时候,算出一条可达路径即可,在图3拓扑中,只有唯一一条路径。
R9接收到PATH消息时,发现到下一个松散跳R12并未有路径信息,同时在R12子对象之前有ERRS9to12的约束,所以在提交算路的时候,将ERRS9to12约束信息提交到算路中,计算出来的路径为:R9→R12,因为其他路径的最大跳数都大于约束值1。
R11节点在接收PATH消息处理掉时候,ERO会分别弹掉本地跳之后,往下游发送。
R12节点在接收PATH消息处理掉时候,发现已经是隧道目的地。PATH信令结束。
整条路径约束的路径为:R1→R4→R5→R8→R9→R12。
通过在信令中携带两两松散节点之间的最大跳数约束信息,使得整条路径符合头结点对每段最大跳数的约束条件。
可以理解的是,在本发明实施例中,根据实际部署约束的需要,可以在两两松散点之间选取一种或者多种信息作为算路的约束。相应地,在ERRS中就存在一种或者多种信息约束,处理的规则和上述过程一致,在此不再赘述。
进一步地,在本发明实施例中,该显示路由对象ERO中还包括显示排除路由对象(EXRS,Explicit Exclude Route Subobject),用于在计算路径时,进行路径排除。
实施例二
本发明实施例还公开了一种隧道路径计算的装置,如图7所示,为本发明实施例中计算隧道路径的结构框图,该装置700包括:
约束条件设置模块701,设置为在隧道头结点设置隧道中每两个松散结点之间的约束条件,约束条件携带于显示路由对象ERO的子对象中;
算路传输模块703,设置为头结点根据头结点与第一松散结点之间的约束条件,计算得到头结点到第一松散结点之间的路径,并将计算得到的路径、其余下游松散结点和其余下游松散结点之间的约束条件封装于显示路由对象ERO中,并传输至第一松散结点;
算路重复模块705,设置为第一松散结点以及第一松散结点的其余下游松散结点提取封装于显示路由对象ERO的子对象中的约束条件,并根据约束条件计算出到达其他下游松散结点之间的路径,依次进行算路,直至计算出到达隧道尾结点的路径。
在本发明实施例中,可选地,如图8所示,算路传输模块703包括:
提取单元7031,设置为头结点提取携带于显示路由对象ERO的子对象中的约束条件,显示路由对象ERO的子对象为显示约束路由对象ERRS;
算路单元7033,设置为根据约束条件计算出头结点到第一松散结点之间的路径;
封装单元7035,设置为将路径信息封装至显示路由对象ERO的子对象中,同时,依次在显示路由对象ERO中封装其余下游松散结点和其余下游松散结点之间的约束条件,并传输至第一松散结点。
在本发明实施例中,可选地,显示约束路由对象ERRS中的设置包括:约束条件有效标志和约束条件。
本发明实施例中,可选地,约束条件包括:最大链路代价、最大延时、最大延时抖动和/或最大跳数。
在本发明实施例中,可选地,显示路由对象ERO中还包括用于携带下游松散结点计算路径时排除路径的显示排除路由对象EXRS。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。
工业实用性
基于本发明实施例提供的上述技术方案,首先在隧道头结点对隧道中每两个松散节点之间的约束条件进行设置,通过扩展显示路由对象(ERO,Explicit Route Object)中新的子对象,其中,上述新的子对象为显示约束路由对象(ERRS,Explicit Restrain Route Subobject),并将约束条件携带于ERRS中,可以实现隧道的每段路径的约束的部署。隧道中的头结点以及其余的下游松散节点提取封装于ERRS中的约束条件,并根据所述约束条件计算出到达其他下游松散结点之间的路径,依次进行算路,直至计算出到达隧道尾结点的路径。所以,计算出的路径能够更符合对于隧道中每段路径的部署要求。

Claims (12)

  1. 一种隧道路径计算的方法,所述方法包括:
    在隧道头结点设置隧道中每两个松散结点之间的约束条件,所述约束条件携带于显示路由对象ERO的子对象中;
    所述头结点根据所述头结点与第一松散结点之间的约束条件,计算得到所述头结点到所述第一松散结点之间的路径,将计算得到的路径、其余下游松散结点和其余下游松散结点之间的约束条件封装于显示路由对象ERO中,并传输至所述第一松散结点;
    所述第一松散结点以及第一松散结点的其余下游松散结点提取封装于显示路由对象ERO的子对象中的约束条件,并根据所述约束条件计算出到达其他下游松散结点之间的路径,依次进行算路,直至计算出到达隧道尾结点的路径。
  2. 如权利要求1所述的方法,其中,若在松散结点之前不存在当前松散节点与下游松散节点之间的约束条件时,则算出任一条到达下游松散结点的路径。
  3. 如权利要求1所述的方法,其中,所述第一松散结点以及所述第一松散结点的下游结点提取携带于显示路由对象ERO子对象中的约束条件,并根据所述约束条件计依次算出当前松散结点达到下游松散结点之间的路径,包括:
    所述头结点提取携带于显示路由对象ERO的子对象中的约束条件,所述显示路由对象ERO的子对象为显示约束路由对象ERRS;
    根据所述头结点与所述第一松散结点之间的约束条件计算出所述头结点到所述第一松散结点之间的路径;
    将路径信息封装至显示路由对象ERO的子对象中,同时,依次在显示路由对象ERO中封装其余下游松散结点和其余下游松散结点之间的约束条件,并传输至所述第一松散结点。
  4. 如权利要求3所述的方法,其中,所述显示约束路由对象ERRS中的设置至少包括:约束条件有效标志和约束条件。
  5. 如权利要求4所述的方法,其中,所述约束条件包括:最大链路代价、最大延时、最大延时抖动和/或最大跳数。
  6. 如权利要求1所述的方法,其中,所述显示路由对象ERO中还包括用于携带下游松散结点计算路径时排除路径的显示排除路由对象EXRS。
  7. 一种隧道路径计算的装置,所述装置包括:
    约束条件设置模块,设置为在隧道头结点设置隧道中每两个松散结点之间的约束条件,所述约束条件携带于显示路由对象ERO的子对象中;
    算路传输模块,设置为所述头结点根据所述头结点与第一松散结点之间的约束条件,计算得到所述头结点到所述第一松散结点之间的路径,并将计算得到的路径、其余下游松散结点和其余下游松散结点之间的约束条件封装于显示路由对象ERO中,并传输至所述第一松散结点;
    算路重复模块,设置为所述第一松散结点以及第一松散结点的其余下游松散结点提取封装于显示路由对象ERO的子对象中的约束条件,并根据所述约束条件计算出到达其他下游松散结点之间的路径,依次进行算路,直至计算出到达隧道尾结点的路径。
  8. 如权利要求7所述的装置,其中,所述算路传输模块还设置为若在松散结点之前不存在当前松散节点与下游松散节点之间的约束条件时,则算出任一条到达下游松散结点的路径。
  9. 如权利要求7所述的装置,其中,所述算路传输模块包括:
    提取单元,设置为所述头结点提取携带于显示路由对象ERO的子对象中的约束条件,所述显示路由对象ERO的子对象为显示约束路由对象ERRS;
    算路单元,设置为根据所述约束条件计算出所述头结点到所述第一松散结点之间的路径;
    封装单元,设置为将路径信息封装至显示路由对象ERO的子对象中,同时,依次在显示路由对象ERO中封装其余下游松散结点和其余下游松散结点之间的约束条件,并传输至所述第一松散结点。
  10. 如权利要求9所述的装置,其中,所述显示约束路由对象ERRS中的设置至少包括:约束条件有效标志和约束条件。
  11. 如权利要求10所述的装置,其中,所述约束条件包括:最大链路代价、最大延时、最大延时抖动和/或最大跳数。
  12. 如权利要求7所述的装置,其中,所述显示路由对象ERO中还包括用于携带下游松散结点计算路径时排除路径的显示排除路由对象EXRS。
PCT/CN2015/071420 2014-10-20 2015-01-23 一种隧道路径计算的方法及装置 WO2016061932A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410559657.1 2014-10-20
CN201410559657.1A CN105515982A (zh) 2014-10-20 2014-10-20 一种隧道路径计算的方法及装置

Publications (1)

Publication Number Publication Date
WO2016061932A1 true WO2016061932A1 (zh) 2016-04-28

Family

ID=55723637

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/071420 WO2016061932A1 (zh) 2014-10-20 2015-01-23 一种隧道路径计算的方法及装置

Country Status (2)

Country Link
CN (1) CN105515982A (zh)
WO (1) WO2016061932A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681190A (zh) * 2014-11-21 2016-06-15 中兴通讯股份有限公司 一种隧道约束信息的发送、接收方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100372337C (zh) * 2004-05-31 2008-02-27 华为技术有限公司 一种实现跨域约束路由的选路方法
CN101453407A (zh) * 2007-12-03 2009-06-10 华为技术有限公司 路由器及路径消息处理的方法
CN102647340A (zh) * 2012-03-22 2012-08-22 中兴通讯股份有限公司 Rsvp-te隧道中的松散节点及其路径计算方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100372337C (zh) * 2004-05-31 2008-02-27 华为技术有限公司 一种实现跨域约束路由的选路方法
CN101453407A (zh) * 2007-12-03 2009-06-10 华为技术有限公司 路由器及路径消息处理的方法
CN102647340A (zh) * 2012-03-22 2012-08-22 中兴通讯股份有限公司 Rsvp-te隧道中的松散节点及其路径计算方法

Also Published As

Publication number Publication date
CN105515982A (zh) 2016-04-20

Similar Documents

Publication Publication Date Title
CN101371150B (zh) 针对一个或多个te-lsp的头端节点的故障的动态保护
US8817591B2 (en) Inter-domain signaling to update remote path computation elements after a call set-up failure
US7920466B2 (en) Protection of hierarchical tunnel head-end nodes
US8259584B2 (en) Dynamic reroute of network traffic
EP2928125B1 (en) Multi-domain route computation method and device, path computation element, and routing network
US8199658B2 (en) OAM tools for meshed tunnels in a computer network
EP2870736B1 (en) Signaling co-routed and non co-routed lsps of a bidirectional packet te tunnel
CN108337157A (zh) 一种网络中传输报文的方法和节点
US9210075B2 (en) Method and apparatus for managing end-to-end consistency of bi-directional MPLS-TP tunnels via in-band communication channel (G-ACH) protocol
EP3364613B1 (en) Method and device for transmitting traffic via specified path
CN104396197A (zh) 在802.1aq网络中使用分离的平局打破器在等成本最短路径之间选择
WO2017211164A1 (zh) 一种确定跨域标签交换路径隧道的方法、设备和系统
CN101640637A (zh) 一种基于流量工程的资源预留协议隧道管理方法及系统
US9215136B2 (en) Aggregated delivery of tunnel fault messages on common ethernet segments
CN101909004B (zh) 基于边缘roadm环结构的多域光网络路由方法
WO2016078363A1 (zh) 一种隧道约束信息的发送、接收方法及装置
CN105515816A (zh) 检测层次信息的处理方法及装置
CN101984597B (zh) 一种多域双向标签交换路径的计算方法及系统
WO2015196646A1 (zh) 获取跨域分离路径的方法、路径计算单元及相关存储介质
CN104618235B (zh) 一种跨层建立不共路路径的方法及装置
CN108667751B (zh) 一种时延信息的通告方法及装置
WO2016061932A1 (zh) 一种隧道路径计算的方法及装置
CN109150716A (zh) 拓扑变化响应方法、路径计算客户端及路径计算系统
CN102480406B (zh) 一种建立跨域端到端双向标记交换路径的方法和系统
CN106254241B (zh) 一种基于igp的跨区域cspf全网计算实现方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15852375

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15852375

Country of ref document: EP

Kind code of ref document: A1