WO2023143369A1 - 确定路由的方法、电子设备、计算机可读存储介质 - Google Patents
确定路由的方法、电子设备、计算机可读存储介质 Download PDFInfo
- Publication number
- WO2023143369A1 WO2023143369A1 PCT/CN2023/073144 CN2023073144W WO2023143369A1 WO 2023143369 A1 WO2023143369 A1 WO 2023143369A1 CN 2023073144 W CN2023073144 W CN 2023073144W WO 2023143369 A1 WO2023143369 A1 WO 2023143369A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- delay
- node
- scheduling
- deadline
- current
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000001934 delay Effects 0.000 claims abstract description 29
- 238000004364 calculation method Methods 0.000 claims description 21
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 230000014509 gene expression Effects 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 230000001186 cumulative effect Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 241000465502 Tobacco latent virus Species 0.000 description 5
- YOYAIZYFCNQIRF-UHFFFAOYSA-N 2,6-dichlorobenzonitrile Chemical compound ClC1=CC=CC(Cl)=C1C#N YOYAIZYFCNQIRF-UHFFFAOYSA-N 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
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/22—Alternate routing
-
- 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/0852—Delays
-
- 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
- H04L45/247—Multipath using M:N active or standby paths
Definitions
- the present disclosure relates to the technical field of routing, and in particular, to a method for determining routing, an electronic device, and a computer-readable storage medium.
- a quality of service (QoS) goal for deterministic forwarding, such as requiring minimum and maximum delays from the head node (source node) to the destination node, and bounded delay jitter.
- QoS quality of service
- a deterministic path can be used, that is, a strict explicit path (routing) is calculated in advance, and resources are reserved on nodes (intermediate nodes) along the path to meet the requirements of the Service Level Agreement (SLA).
- SLA Service Level Agreement
- the local deadline (Deadline) in each intermediate node (router) can be calculated in advance for the traffic (message) to be transmitted, and the Deadline can be an absolute time (the specific moment of the clock), or It can be relative time (relative duration), and these Deadlines are formed into a stack to be carried with forwarded messages, and each intermediate node starts Deadline scheduling, that is, priority scheduling of messages according to their corresponding Deadlines to achieve deterministic time delay request.
- the process of calculating the route (path) is based on the non-deterministic delay without considering the node delay (including delay jitter), so the delay based on the calculated route is not accurate, and it is difficult to obtain the best routing.
- an embodiment of the present disclosure provides a method for determining a route, including: determining at least one candidate path in the target network; determining each of the The deterministic delay of the candidate path; the current scheduling parameters include the current deadline (Deadline) scheduling delay, the current scheduling strategy,
- the intra-node forwarding delay is the delay from when the message enters the node to when it is forwarded to the outgoing port.
- the deterministic delay of each candidate path includes the node delay of all intermediate nodes in the candidate path and the link propagation of all links. Delay, the node delay of each intermediate node is obtained according to the forwarding delay within the node, the current Deadline scheduling delay, and the current scheduling strategy; and the target path is selected from the candidate paths according to the deterministic delay, and the route is determined.
- FIG. 3 is a schematic diagram of the format of a TLV message of node parameter information provided by an embodiment of the present disclosure
- FIG. 8 is a schematic diagram of a candidate path obtained according to FIG. 6;
- an embodiment of the present disclosure provides a method for determining a route.
- the method for determining the route can pre-calculate the deterministic route (path) of the message when there is a message (traffic, data message) that needs to be transmitted from the head node in the network to the destination node, that is, determine the In which order the message should go through which links and which intermediate nodes to reach the destination node.
- the head node refers to the message, that is, any node in the network may serve as the head node, so the method for determining the route provided by the present disclosure may actually be performed by any node in the network.
- the method for determining the route provided in the present disclosure may also be executed by a centralized controller in the network, that is, the route may also be calculated by the controller and delivered to the nodes.
- the method for determining the route provided by the present disclosure also includes a step of transmitting information between nodes, which is used to enable each node to obtain network information (such as subsequent current scheduling parameters, etc.); and when the step of calculating the route is performed by the controller
- the controller can obtain network information (such as network topology, current scheduling parameters, etc.) from the network side in other ways, For example, it is obtained through the border network management protocol-link state BGP-LS (Border Gateway Protocol-Link State), which will not be described in detail here.
- Border network management protocol-link state BGP-LS Border Gateway Protocol-Link State
- the method for determining a route according to an embodiment of the present disclosure includes steps S101 to S103.
- a message (data message) is to be transmitted from the head node to the destination node in the current network (target network)
- one or more candidate paths (deterministic paths) from the head node to the destination node are first calculated.
- Intra-node forwarding delay intra-node forwarding delay
- link propagation delay link propagation delay
- the node delay of each intermediate node is calculated according to two parts, one part is the forwarding delay within the node, and the other part is the delay caused by Deadline scheduling.
- Intra-node forwarding delay refers to the necessary time for any message to arrive at the outbound port of the corresponding link of the node when it enters the node (such as entering the ingress port or the control plane). For each node, the time-consuming is usually Fixed value.
- the delay caused by Deadline scheduling is determined according to the currently used Deadline scheduling delay (that is, the current Deadline scheduling delay in the current scheduling parameters) and the currently selected scheduling policy (current scheduling policy), which means that the packets arrive at the outgoing port After the queue, it may wait for a certain period of time before actually sending out, but it must be sent out before the Deadline scheduling delay is exhausted.
- the node delay of each intermediate node is variable within a certain range, resulting in the deterministic delay of candidate paths is also variable, and it is not easy to compare candidate paths. Therefore, it can be set that in the calculation process, the node delays of all intermediate nodes take the minimum value, or take the maximum value, so that all candidate paths can be compared under the same standard.
- the value of the node delay is not limited to this when the early sending strategy is adopted.
- the node delay of each intermediate node may also be a random value within the current range, or an intermediate value within the current range.
- the Deadline scheduling delay may also have two different types, ie deterministic or non-deterministic.
- the deterministic type means that when the deterministic delay of the candidate path is determined, it is calculated according to the "specific delay value" of the current Deadline scheduling delay, while the non-deterministic type means that in the process of calculating the deterministic delay of the candidate path, the current The Deadline scheduling delay is taken as 0 (it does not mean that its specific value is 0, but that the "specific delay value" of the current Deadline scheduling delay is meaningless).
- the method for determining the route further includes: selecting the target from the candidate paths according to the deterministic delay After the path, calculate the deterministic delay of the target path; the deterministic delay of the target path is an expression including the variable of the current Deadline scheduling delay, and the value of the variable of the current Deadline scheduling delay is based on the data packet or the local policy entry Sure.
- the method for determining a route before determining at least one candidate path in the target network (S101), the method for determining a route further includes step S1002.
- the current scheduling parameter to be used may also be determined according to the current situation, so as to calculate the candidate path according to the determined current scheduling parameter.
- the method for determining a route before determining the current scheduling parameters (S1002), the method for determining a route further includes step S1001.
- the node parameters of each node on each link include node scheduling enable switch, node scheduling delay set, node scheduling strategy, and intra-node forwarding delay; node scheduling enabling switch indicates whether the node enables Deadline scheduling, node scheduling delay
- the set includes at least one Deadline scheduling delay supported by the node on the local link, and the node scheduling policy represents the scheduling policy supported by the Deadline scheduling delay.
- a parameter configuration instruction can be issued to each node, so that each node can set its own node parameters according to the parameter configuration instruction.
- the method for determining the route further includes: sending node parameter information of the node local link; and/or receiving Node parameter information sent by other nodes.
- the node parameter information includes the information of the node scheduling delay set, the node scheduling strategy information.
- each node After each node sets the node parameters of the local link according to the parameter configuration instructions, it also needs to notify other nodes of its own node parameters (that is, send node parameter information), and receive node parameters of other nodes (that is, receive node parameter information), in order to Each node is informed of the node parameter configuration of the entire network.
- the node parameter information includes at least the information of the node scheduling delay set and the information of the node scheduling policy; of course, the information of the node parameter can also include the information of the node scheduling enabling switch, the information of the forwarding delay within the node, and so on.
- the "information of a parameter” means that according to the content of the information, the status of the corresponding parameter can be finally known.
- the parameter information may directly include the parameter, or the parameter may be "deduced” according to the content of the information.
- the "node scheduling delay set information” can directly include the value of the corresponding Deadline scheduling delay, and can also include the value of the forwarding delay within the node and the value of the node delay for different Deadline scheduling delays. The operator can calculate the value of the Deadline scheduling delay.
- the node parameter information is the type-length of ISIS (Intermediate System to Intermediate System) or OSPF (Open Shortest Path First) of the interior gateway protocol IGP (Interior Gateway Protocol) from the intermediate system to the intermediate system -value TLV (Type-Length-Value) message.
- ISIS Intermediate System to Intermediate System
- OSPF Open Shortest Path First
- IGP Interior Gateway Protocol
- the notification of node parameters can be completed through IGP flooding.
- TLVs 22/23/141/222/223/25 are defined in the existing ISIS protocol set (refer to RFC5305, RFC5311, RFC5316, RFC5120) for adjacency notification , and the method for determining the route provided by the present disclosure can add a Sub-TLV (sub-TLV) in these TLVs to notify node parameters.
- a new TLV can also be extended in OSPF to complete the above notification.
- the TLV message that is configured to announce the node parameter information can include: Indicate that the TLV message is the type field (Type field in Fig. 3) of the node parameter information; Indicate the content of the TLV message The length field (Length field in Fig. 3) of length (excluding the Type field and the Length field); the value of each Deadline scheduling delay in the node scheduling delay set (Q1, Q2...Qn in Fig. 3); each The ID of the scheduling strategy supported by the Deadline scheduling delay (the P before each Q in Figure 3).
- the scheduling strategy supported by all Deadline scheduling delays of each node is the same, and the difference between any two adjacent Deadline scheduling delays in the node scheduling delay set is the same;
- the TLV message of the node parameter information includes: The type field is configured to indicate that the TLV message is node parameter information; the length field is configured to indicate the content length of the TLV message; the minimum Deadline scheduling delay value in the node scheduling delay set, and the maximum Deadline scheduling delay value value; the ID of the scheduling strategy supported by all Deadline scheduling delays of the node; and any two adjacent Deadline scheduling delays in the node scheduling delay set The difference between degrees of delay.
- the length of announcement message when all the scheduling policies supported by the Deadline scheduling delay are the same, and the difference between any two adjacent Deadline scheduling delays is the same (or has a "fixed interval"), it is Reduce the length of announcement message, be configured as the TLV message of notice node parameter information and also can include: Indicate that TLV message is the type field (Type field among Fig. 4) of node parameter information; Represent the content length of TLV message (not Including the length field (Length field in Figure 4) of the Type field and the Length field); the value of the minimum Deadline scheduling delay in the node scheduling delay set (Q1 in Figure 4), and the value of the largest Deadline scheduling delay (Qn in Fig. 4); the identification (P in Fig. 4) of the scheduling policy that all Deadline scheduling delays support; The fixed interval between any two adjacent Deadline scheduling delays in the node scheduling delay set (in Fig. 4 I).
- determining the current scheduling parameters includes step S10021.
- binding information is not limited to the above examples, as long as the binding information actually includes required information.
- the current scheduling parameter can be used as one of the path calculation constraints (of course, there may be other constraints), and the calculated TE path is a candidate path, so that the obtained candidate path is TE Path.
- the method for determining the route further includes creating a forwarding entry of the target path; the forwarding entry includes: The attribute of Deadline scheduling; the attribute representing the value of the current Deadline scheduling delay; the attribute representing the current scheduling strategy; and the attribute representing the value of the deterministic delay of the target path.
- the forwarding entry further includes: an attribute characterizing the value of the delay jitter of the target path; the delay jitter of the target path is the sum of the delay jitters of all intermediate nodes in the target path, and the delay of each node Jitter is equal to the difference between the earliest possible time and the latest possible time at which it sends a message; a property characterizing the value of the sum of the link propagation delays of all links in the target path; and characterizing the node delays of all intermediate nodes in the target path The property of the value of the sum.
- next_hop neighbor of the next hop
- Deadline Flag TRUE (indicating that the candidate path enables Deadline scheduling)
- total_metric_intra_node cumulative node delay of the destination path
- Step 1 On each node, configure the node parameters based on Deadline scheduling of its local link (physical link or virtual link), including: node scheduling enable switch, intra-node forwarding delay, node scheduling delay set ( Contains one or more link-local supported Deadline scheduling delay), and the scheduling strategy supported by each element (Deadline scheduling delay) in the node scheduling delay set.
- Intra-node forwarding delay the time it takes for a packet to be forwarded from an ingress port to an egress port, or from the control plane to an egress port, is generally a fixed value, denoted as F.
- Node scheduling delay set a set ⁇ Q1, Q2...Qn> consisting of one or more Deadline scheduling delays Q, where Q1 is the smallest and Qn is the largest.
- the difference between two adjacent elements in the set is fixed, that is, it starts from Q1 and increases to Qn at a fixed interval I.
- Scheduling strategy For each Deadline scheduling delay Q, there are two possible scheduling strategies, namely the early sending strategy and the on-time sending strategy.
- the early sending strategy When the early sending strategy is adopted, the message may be sent from the egress port when the scheduling delay does not reach Q, that is, the node delay (actual residence time) of the message in the node is within the range [F, F+Q]. That is, the minimum node delay is F, the maximum node delay is equal to F+Q, and the node delay jitter is equal to Q.
- the message needs to be sent to the egress port when the scheduling delay is equal to Q, that is, the node delay of the message in the node is equal to F+Q (the minimum node delay and the maximum node delay are equal to equal to F+Q), and the delay jitter of the node is equal to 0.
- the node parameters of the links involved above are notified in the form of node parameter information by flooding through the IGP protocol, and a specific implementation manner of the node parameter information may be extended ISIS.
- the existing ISIS protocol set (refer to RFC5305, RFC5311, RFC5316, RFC5120) has defined TLVs22/23/141/222/223/25 messages for adjacency notification, in some implementations, new TLVs can be added
- a Sub-TLV is added as the node parameter information, recorded as the Deadline Scheduling TLV sub-message (Deadline Scheduling Sub-TLV), configured as the node parameter of the notification link.
- Deadline Scheduling Sub-TLV Deadline Scheduling Sub-TLV
- Figure 3 shows an example of ISIS Deadline Scheduling Sub-TLV, including: type field, length field, and node scheduling delay set of links.
- Type occupies 1 byte, and its value is to be assigned by IANA (Internet Assigned Numbers Authority), which indicates that this TLV is Deadline Scheduling Sub-TLV.
- Length occupies 1 byte, indicating the content length of this TLV (excluding the Type and Length fields themselves).
- the Deadline scheduling delay Q advertised in the ISIS Deadline Scheduling Sub-TLV must be consistent with the Deadline queue scheduling mechanism actually instantiated on the forwarding plane of the link. If the forwarding plane does not support a certain Deadline scheduling delay Q Deadline queue scheduling, but the Deadline scheduling delay Q is announced in the ISIS Deadline Scheduling Sub-TLV, which may cause errors in subsequent route calculations.
- the node scheduling delay set ⁇ Q1, Q2...Qn> that needs to be notified contains many elements, and the difference between two adjacent elements in the set is a fixed interval I, and the scheduling strategy supported by each element If they are all the same, another more simplified extension method can be adopted, that is, Deadline Scheduling Simplified Sub-TLV as shown in Figure 4, including: type field, length field, node scheduling delay set, and node scheduling delay set The fixed difference between two adjacent elements.
- Type occupies 1 byte, and its value is to be allocated by IANA to indicate that this TLV is Deadline Scheduling Sub-TLV (more specifically, Deadline Scheduling Simplified Sub-TLV).
- Q Indicates the node scheduling delay set of this link ⁇ Q1, Q2...Qn>, Q1 is the smallest Deadline scheduling delay in the set, Qn is the largest Deadline scheduling delay in the set, the unit is us, respectively 2 bytes.
- the node parameter information may also carry a set of ⁇ , and the Deadline scheduling delay Q is calculated according to ⁇ and F.
- Step 2 Create a virtual network (that is, a preset virtual network, including any virtual network technology different from the original physical network, such as IGP multi-topology, IGP flexible algorithm, network slicing, etc.), and bind the desired scheduling of the virtual network Parameters (such as Deadline scheduling extension Q, scheduling policy), and through IGP notification and learning of the binding relationship between a specific virtual network and a specific scheduling parameter, so that the nodes in the entire IGP domain can reach a consistent understanding of this binding relationship.
- a virtual network that is, a preset virtual network, including any virtual network technology different from the original physical network, such as IGP multi-topology, IGP flexible algorithm, network slicing, etc.
- the desired scheduling of the virtual network Parameters such as Deadline scheduling extension Q, scheduling policy
- a virtual network uses a specific Deadline scheduling delay Q and scheduling policy according to the binding relationship, it is necessary to check all link resources added to the virtual network, and the node scheduling enable switch must be enabled and the corresponding Deadline scheduling must be supported.
- Delay Q and scheduling policy links (nodes) that do not meet the conditions (that is, the node scheduling enable switch is not turned on, or do not support the corresponding Deadline scheduling delay Q and scheduling policy) will be excluded from the virtual network.
- the Deadline scheduling delay Q in the binding relationship is an unknown value (non-deterministic), then it is not necessary to judge whether the link supports the Deadline scheduling delay Q during the check.
- the extension to IGP Flex-algo may include: in the FAD, the bound scheduling parameters (Deadline scheduling delay Q and scheduling policy) may be added, if the Flex-algo plane is bound to a specific Deadline scheduling Delay Q and scheduling policy, all link resources added to the Flex-algo plane must It is configured that the node scheduling enable switch is turned on and supports the corresponding Deadline scheduling delay Q and scheduling policy, and links (nodes) that do not meet the conditions will be excluded from the Flex-algo plane.
- the bound scheduling parameters (Deadline scheduling delay Q and scheduling policy) may be added, if the Flex-algo plane is bound to a specific Deadline scheduling Delay Q and scheduling policy, all link resources added to the Flex-algo plane must It is configured that the node scheduling enable switch is turned on and supports the corresponding Deadline scheduling delay Q and scheduling policy, and links (nodes) that do not meet the conditions will be excluded from the Flex-algo plane.
- IS-IS FAD Deadline Scheduling Sub-TLV binding information
- Figure 5 in the IS-IS Flexible Algorithm Definition Sub-TLV, including Type, Length, Flags, U -flag, P-flag, and Q.
- Type occupies 1 byte, and its value is to be allocated by IANA to indicate that this TLV is IS-IS FAD Deadline Scheduling Sub-TLV.
- Length occupies 1 byte, indicating the content length of this TLV (excluding the Type and Length fields themselves).
- Flags occupies 1 byte, the flag bit, two flags are currently defined.
- the metric of the Deadline SPF Path is a deterministic delay metric (including the accumulated cumulative node delay and the accumulated link propagation delay), while the metric of the SPF Path in the related art is non-deterministic Delay metric (no node delay is considered).
- the candidate path with the smallest cumulative deterministic delay metric among the multiple candidate paths is the target path, that is, the Deadline SPF Path.
- a new flag D-flag (Deadline Flag) is added in IS-IS Flexible Algorithm Definition Flags Sub-TLV, which indicates that it adopts the method of determining routing provided by this disclosure, accounting for 1 bit, D-flag and FAD Metric-Type: Min Unidirectional Link Delay used in combination.
- D-flag When D-flag is 1, it is configured to explicitly trigger the calculation of Deadline SPF Path, that is, the SPF path with the minimum sum of cumulative node delay and cumulative link propagation delay.
- the IS-IS FAD Deadline defined above can be used Scheduling Sub-TLV obtains Deadline scheduling delay Q and scheduling policy for path calculation.
- total_metric_intra_node cumulative node delay of the destination path
- the above Deadline TE Path can be instantiated in the network as an RSVP-TE tunnel (tunnel), or segment routing policy (Segment Routing policy), or other forms.
- RSVP-TE tunnel tunnel
- Segment Routing policy Segment Routing policy
- corresponding forwarding table entries need to be installed on the intermediate nodes along the Deadline TE Path to guide the forwarding of packets along the Deadline TE Path, and these forwarding table entries may be public and do not include the path calculation constraints Information such as the current Deadline scheduling delay Q and the current scheduling policy, so the forwarded data packet needs to carry the value of the current Deadline scheduling delay Q (or other information that can deduce the value of the current Deadline scheduling delay Q) and the current
- a scheduling policy enables each intermediate node to perform message scheduling based on the current Deadline scheduling delay Q and the current scheduling policy when receiving a message.
- Intra-node forwarding delay F 5us
- node R1 calculates all candidate paths with itself as the root (that is, R1 as the head node).
- the previous number indicates the link before the link
- the node delay of the intermediate node, the last number is the link propagation delay of the link itself; and min delay and max delay represent the lower limit and upper limit of the deterministic delay of the link respectively.
- the R5 node advertises the Prefix-R5 dedicated to the flex-algo 128 plane, the following forwarding entry will be created on the R1 node.
- the calculated Deadline SPF Path (target path) is: R1 node-R2 node-R4 node-R5 node, and its deterministic delay
- the lower limit and upper limit are both 85us, and the delay jitter is 0us.
- metric_type Min Unidirectional Link Delay
- Deadline TE Path (target path) is created in the target network (which may be a physical network or a virtual network) referring to FIG. 9 .
- Node scheduling enable switch ON;
- Intra-node forwarding delay F 5us
- Node scheduling delay set ⁇ 10us, 20us, 30us, 40us, 50us, 60us>;
- Node Scheduling Strategy Both advance sending strategy and punctual sending strategy are supported.
- SR policy When calculating a route (SR policy) from the head node S to the destination node D, set constraints (current scheduling parameters) including: the Deadline scheduling delay is 10us, and the scheduling policy is the punctual delivery policy.
- the path calculation engine will select the link resources with Deadline scheduling enabled in the link state database to participate in the path calculation, and finally select a candidate path with the smallest deterministic delay metric as the target
- the path (that is, the bold Deadline TE Path in the figure), that is, S node-A node-C node-E node-D node, has a deterministic delay of 120us, a cumulative node delay of 60us, and a cumulative link The propagation delay is 60us.
- the S node add the encapsulation corresponding to the above forwarding entry for the data message to be forwarded, and the message will carry the information that the Deadline scheduling delay is 10us (or the node delay is 15us) and the punctual scheduling policy is adopted , so that the packets are scheduled on each intermediate node along the way according to the Deadline scheduling delay of 10us and the punctual sending policy.
- an embodiment of the present disclosure provides an electronic device, including: at least one processor; a memory on which at least one computer program is stored; and at least one I/O interface connected to the processor and the memory, configured to implement information interaction between the processor and the memory; when the at least one computer program is executed by the at least one processor, it can realize the information described in the first aspect of the present disclosure.
- the method of determining the route including: at least one processor; a memory on which at least one computer program is stored; and at least one I/O interface connected to the processor and the memory, configured to implement information interaction between the processor and the memory; when the at least one computer program is executed by the at least one processor, it can realize the information described in the first aspect of the present disclosure.
- the method of determining the route including: at least one processor; a memory on which at least one computer program is stored; and at least one I/O interface connected to the processor and the memory, configured to implement information interaction between the processor and the memory; when the at least one computer program is executed by the at least one processor, it can realize
- a processor is a device with data processing capabilities, including but not limited to a central processing unit (CPU), etc.
- memory is a device with data storage capability, including but not limited to random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory (FLASH);
- the I/O interface read-write interface
- the electronic device is a node.
- an electronic device that executes the method for determining a route provided in the present disclosure may specifically be a "node" in a network.
- the electronic device that executes the method for determining the route provided by the present disclosure may also be a controller in the network.
- an embodiment of the present disclosure provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the method of determining the route described in the first aspect of the present disclosure can be implemented. method.
- the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be composed of several physical components. Components cooperate to execute.
- Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit (CPU), digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, Such as application specific integrated circuits.
- a processor such as a central processing unit (CPU), digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, Such as application specific integrated circuits.
- Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media).
- computer storage media includes both volatile and nonvolatile media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. permanent, removable and non-removable media.
- Computer storage media include but not limited to random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory (FLASH) or other disk storage ; compact disc read-only (CD-ROM), digital versatile disc (DVD) or other optical disk storage; magnetic cartridge, magnetic tape, magnetic disk storage or other magnetic storage; any other which can be used to store desired information and which can be accessed by a computer medium.
- communication media typically embodies computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种确定路由的方法,包括:在目标网络中确定至少一条候选路径;根据当前调度参数、节点内转发时延、链路传播时延,确定每条所述候选路径的确定性时延;其中,所述当前调度参数包括当前截止时间(Deadline)调度时延、当前调度策略,所述节点内转发时延为报文进入节点至转发到出端口的时延,每条候选路径的确定性时延包括该候选路径中所有中间节点的节点时延和所有链路的链路传播时延,每个中间节点的节点时延根据其节点内转发时延、当前Deadline调度时延、当前调度策略得出;以及根据确定性时延从候选路径中选出目标路径,并确定路由。本公开还提供了一种电子设备、一种计算机可读存储介质。
Description
相关申请的交叉引用
本申请要求于2022年1月28日提交的中国专利申请NO.202210108264.3的优先权,该中国专利申请的内容通过引用的方式整体合并于此。
本公开涉及路由技术领域,特别涉及确定路由的方法、电子设备、计算机可读存储介质。
在确定性网络架构中,有确定性转发的服务质量QoS(Quality of Service)目标,如要求从头节点(源节点)到目的节点的最小时延和最大时延、以及有界的时延抖动。为达到QoS目标,可采用确定性路径,即提前计算得到严格的显式路径(路由),并在路径沿途节点(中间节点)上预留资源以满足服务等级协定SLA(Service Level Agreement)需求。
在一些相关技术中,可预先为待传输的流量(报文)计算其经历的每个中间节点(路由器)中本地的截止时间(Deadline),Deadline可为绝对时间(时钟的具体时刻),也可为相对时间(相对的时长),并将这些Deadline形成堆栈随转发的报文携带,每个中间节点启动Deadline调度,即根据自己对应的Deadline对报文进行优先级调度以达到确定性的时延要求。
但在相关技术中,计算路由(路径)的过程是根据未考虑节点时延(包括时延抖动)的非确定性时延进行的,从而计算路由依据的时延不准确,较难得出最佳路由。
公开内容
第一方面,本公开实施例提供一种确定路由的方法,包括:在目标网络中确定至少一条候选路径;根据当前调度参数、节点内转发时延、链路传播时延,确定每条所述候选路径的确定性时延;所述当前调度参数包括当前截止时间(Deadline)调度时延、当前调度策略,
所述节点内转发时延为报文进入节点至转发到出端口的时延,每条候选路径的确定性时延包括该候选路径中所有中间节点的节点时延和所有链路的链路传播时延,每个中间节点的节点时延根据其节点内转发时延、当前Deadline调度时延、当前调度策略得出;以及根据确定性时延从候选路径中选出目标路径,并确定路由。
第二方面,本公开实施例提供一种电子设备,包括:至少一个处理器;存储器,其上存储有至少一个计算机程序:以及至少一个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互;当所述至少一个计算机程序被所述至少一个处理器执行时,能实现本公开第一方面中的确定路由的方法。
第三方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时能实现本公开第一方面中的确定路由的方法。
在本公开实施例的附图中:
图1为本公开实施例提供的一种确定路由的方法的流程图;
图2为本公开实施例提供的一种确定路由的方法的流程图;
图3为本公开实施例提供的一种节点参数信息的TLV报文的格式示意图;
图4为本公开实施例提供的一种节点参数信息的TLV报文的格式示意图;
图5为本公开实施例提供的一种绑定信息的TLV报文的格式示意图;
图6为本公开实施例提供的一种示例使用的网络拓扑结构的示意图;
图7为根据图6得出的一种候选路径的情况示意图;
图8为根据图6得出的一种候选路径的情况示意图;
图9为本公开实施例提供的一种示例使用的网络拓扑结构以及所得目标路径的示意图;
图10为本公开实施例提供的一种电子设备的组成框图;以及
图11为本公开实施例提供的一种计算机可读存储介质的组成框图。
为使本领域的技术人员更好地理解本公开的技术方案,下面结合附图对本公开实施例提供的确定路由的方法、电子设备、计算机可读存储介质进行详细描述。
在下文中将参考附图更充分地描述本公开,但是所示的实施例可以以不同形式来体现,且本公开不应当被解释为限于以下阐述的实
施例。提供这些实施例的目的在于使本公开更加透彻和完整,并使本领域技术人员充分理解本公开的范围。
本公开实施例的附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与详细实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细实施例进行描述,以上和其它特征和优点对本领域技术人员将变得更加显而易见。
本公开可借助本公开的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
本公开所使用的术语仅用于描述特定实施例,且不限制本公开。如本公开所使用的术语“和/或”包括一个或多个相关列举条目的任何和所有组合。如本公开所使用的单数形式“一个”和“该”也包括复数形式,除非上下文另外清楚指出。如本公开所使用的术语“包括”、“由……制成”,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。
除非另外限定,否则本公开所用的所有术语(包括技术术语和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本公开明确如此限定。
本公开不限于附图中所示的实施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不是限制性的。
第一方面,本公开实施例提供一种确定路由的方法。
本公开提供的确定路由的方法可以在有报文(流量,数据报文)需要从网络中的头节点传输至目的节点时,预先计算出该报文的确定性路由(路径),即确定该报文应以什么顺序经过哪些链路、哪些中间节点到达目的节点。
本公开提供的确定路由的方法可由头节点执行,即,可由头节点计算路由。
应当理解,头节点是针对报文而言的,即,网络中的任意节点都有可能作为头节点,故本公开提供的确定路由的方法实际可能由网络中的任意节点进行。
或者,本公开提供的确定路由的方法也可由网络中集中式的控制器执行,即,也可由控制器计算出路由后下发给节点。
应当理解,本公开提供的确定路由的方法中还包括节点间相互传输信息的步骤,用于使各节点获得网络的信息(如后续的当前调度参数等);而当计算路由的步骤由控制器执行时,则控制器可通过其它的方式从网络侧获取网络的信息(如网络拓扑、当前调度参数等),
如通过边界网管协议-连接状态BGP-LS(Border Gateway Protocol-Link State)获取,在此不再详细描述。
参照图1,本公开实施例的确定路由的方法包括步骤S101至S103。
S101、在目标网络中确定至少一条候选路径(Path)。
当要在当前的网络(目标网络)中从头节点向目的节点传输一个报文(数据报文)时,首先计算得到一条或多条从头节点到目的节点的候选路径(确定性路径)。
S102、根据当前调度参数、节点内转发时延(intra-node forwarding delay)、链路传播时延(link propagation delay),确定每条候选路径的确定性时延。
当前调度参数包括当前Deadline调度时延(scheduling delay)、当前调度策略,节点内转发时延为报文进入节点至转发到出端口的时延,每条候选路径的确定性时延包括该候选路径中所有中间节点的节点时延和所有链路的链路传播时延,每个中间节点的节点时延根据其节点内转发时延、当前Deadline调度时延、以及当前调度策略得出。
针对每条候选路径,计算该候选路径总体上的时延(确定性时延)。
本公开提供的确定路由的方法中,候选路径的确定性时延包括该候选路径中所有链路的链路传播时延(即在每段链路上传输的耗时),以及其所有中间节点的节点时延(即在中间节点内部传输的耗时)。
而每个中间节点(节点)的节点时延根据两部分内容计算得到,一部分是节点内转发时延,另一部分是Deadline调度引起的时延。
节点内转发时延是指任意报文从进入该节点(如进入入端口或控制平面)时至达到节点相应链路的出端口的必须耗时,对每个节点而言,该耗时通常为固定值。
Deadline调度引起的时延是根据当前使用的Deadline调度时延(即当前调度参数中的当前Deadline调度时延)和当前选取的调度策略(当前调度策略)决定的,其代表报文在达到出端口的队列后,还可能等待一定时间才会实际发出,但必然是在Deadline调度时延耗尽之前发出。
S103、根据确定性时延从候选路径中选出目标路径,并确定路由。
根据各候选路径的确定性时延,从候选路径中选出一个候选路径为目标路径,并根据目标路径产生路由,完成路由的计算。
当然,后续可继续根据计算得到的路由进行发送报文的过程。
本公开提供的确定路由的方法中,在计算路由时,将各中间节点因启用Deadline调度而产生的时延(当前Deadline调度时延,其可能在一定范围内变化,故也就是时延抖动)和节点内转发时延都考虑在内,从而可准确地得到候选路径总体上的确定性时延(确定性时
延),而根据该确定性时延可准确地选出最合理的路由(目标路径),从而提高报文传输的效率,保证实现QoS目标。
在一些实施方式中,当前调度策略包括提前发送策略或准时发送策略中的任意一种调度策略;提前发送策略表征在当前Deadline调度时延耗尽之前发送报文,准时发送策略表征在当前Deadline调度时延耗尽时发送报文;当前调度策略为提前发送策略时,每个中间节点的节点时延大于或等于其节点内转发时延,且小于或等于其节点内转发时延与当前Deadline调度时延之和的值;当前调度策略为准时发送策略时,每个中间节点的节点时延等于其节点内转发时延与当前Deadline调度时延之和。
在一些实施方式中,可作为当前调度策略的候选调度策略有两种,即提前发送策略和准时发送策略。提前发送策略表示节点可在相应的Deadline调度时延耗尽前的任意时刻发送报文,而准时发送策略表示节点应在相应的Deadline调度时延耗尽的时刻发送报文。相应的,准时发送策略造成的节点时延是“节点内转发时延(该时延是必然存在的)+相应Deadline调度时延”;而提前发送策略造成的节点时延则可能在“节点内转发时延”与“节点内转发时延(该时延是必然存在的)+相应Deadline调度时延”之间变化。
在一些实施方式中,当前调度策略为提前发送策略时,每个中间节点的节点时延等于其节点内转发时延;或,每个中间节点的节点时延等于其节点内转发时延与当前Deadline调度时延之和。
如前所述,当采用提前发送策略时,每个中间节点的节点时延是在一定范围内的变量,从而导致候选路径的确定性时延也是变量,不好比较各候选路径。因此,可设定在计算过程中,所有中间节点的节点时延均取最小值,或均取最大值,以便各候选路径在相同标准下比较。
当然,采用提前发送策略时节点时延的取值也不限于此,例如,也可以是各中间节点的节点时延当前范围内的随机值,或取该当前范围的中间值等。
在一些实施方式中,当前Deadline调度时延为确定型或非确定型;当前Deadline调度时延为确定型时,候选路径的确定性时延根据当前Deadline调度时延的值计算;当前Deadline调度时延为非确定型时,候选路径的确定性时延中的当前Deadline调度时延计为0。
在一些实施方式中,Deadline调度时延除了具有“具体时延值”之外,还可能有两种不同类型,即确定型或非确定型。确定型表示在确定候选路径的确定性时延时,就按照当前Deadline调度时延的“具体时延值”进行计算,而非确定型表示在计算候选路径的确定性时延的过程中,当前Deadline调度时延就取0(不代表其具体值为0,而是认为当前Deadline调度时延的“具体时延值”无意义)。
在一些实施方式中,当前Deadline调度时延为非确定型时,所述确定路由的方法还包括:在根据确定性时延从候选路径中选出目标
路径后,计算目标路径的确定性时延;目标路径的确定性时延为包括当前Deadline调度时延的变量的表达式,当前Deadline调度时延的变量的值根据数据报文或本地策略表项确定。
在一些实施方式中,当采用非确定型的当前Deadline调度时延时,在确定出某个候选路径为目标路径后,再次计算该目标路径的确定性时延,此时确定性时延中包括当前Deadline调度时延的变量(对目标路径,当前Deadline调度时延不取0),而当前Deadline调度时延的具体值可以根据其它方式获得,如根据数据报文或本地策略表项确定,从而可得到根据确定的当前Deadline调度时延计算出的目标路径的确定性时延,并以此判断目标路径是否满足要求等。
参照图2,在一些实施方式中,在目标网络中确定至少一条候选路径(S101)之前,所述确定路由的方法还包括步骤S1002。
S1002、确定当前调度参数。
在计算候选路径之前,还可先根据当前情况确定要使用的当前调度参数,以根据确定出的当前调度参数计算候选路径。
当然,如果当前调度参数是提前设置的固定参数,也是可行的。
参照图2,在一些实施方式中,在确定当前调度参数(S1002)之前,所述确定路由的方法还包括步骤S1001。
S1001、接收节点参数配置指令,根据节点参数配置指令设定节点在本地链路的节点参数。
每个节点在每个链路的节点参数包括节点调度使能开关、节点调度时延集合、节点调度策略、节点内转发时延;节点调度使能开关表征节点是否启用Deadline调度,节点调度时延集合包括节点在本地链路支持的至少一个Deadline调度时延,节点调度策略表征Deadline调度时延支持的调度策略。
在网络中的每个节点的每个本地链路,都要在一定的“配置”下工作,而配置的具体内容可包括有关Deadline调度的内容(节点参数)。即,每个节点在其每条本地链路上,都可根据相应的“节点参数”进行Deadline调度。而每个节点在每个本地链路的节点参数可包括节点调度使能开关(即该节点在该链路是否启用Deadline调度)、节点调度时延集合(即该节点在该链路能支持哪些Deadline调度时延)、节点调度策略(即该节点在该链路,针对其支持的每个Deadline调度时延,能支持哪些调度策略)、节点内转发时延(即该节点的节点内转发时延)。
为此,在确定当前调度参数之前,还可先向各节点发出参数配置指令,使各节点根据参数配置指令设置自身的节点参数。
在一些实施方式中,在接收节点参数配置指令(S1001)与确定当前调度参数(S1002)之间,所述确定路由的方法还包括:发送节点本地链路的节点参数信息;和/或,接收其它节点发送的节点参数信息。
节点参数信息包括节点调度时延集合的信息、节点调度策略的
信息。
每个节点根据参数配置指令设置本地链路的节点参数后,还需要向其它节点通告自身的节点参数(即发出节点参数信息),并接收其它节点的节点参数(即接收节点参数信息),以使各节点均获知整个网络的节点参数配置情况。
节点参数信息至少包括节点调度时延集合的信息、节点调度策略的信息;当然,节点参数的信息还可包括节点调度使能开关的信息、节点内转发时延的信息等。
应当理解,某“参数的信息”是指,根据信息的内容,最终可以获知相应参数的状况。例如,参数的信息中可直接包括该参数,也可以是根据信息的内容能“推知”该参数。例如,“节点调度时延集合的信息”中可直接包括相应Deadline调度时延的值,也可以包括节点内转发时延的值以及针对不同Deadline调度时延的节点时延的值,而通过二者可计算出Deadline调度时延的值。
在一些实施方式中,节点参数信息为内部网关协议IGP(Interior Gateway Protocol)的中间系统到中间系统ISIS(Intermediate System to Intermediate System)或开放式最短路径优先OSPF(Open Shortest Path First)的类型-长度-值TLV(Type-Length-Value)报文。
可通过IGP泛洪方式完成节点参数的通告,例如在已有的ISIS协议集(参考RFC5305、RFC5311、RFC5316、RFC5120)中定义TLVs 22/23/141/222/223/25等用于通告邻接关系,而本公开提供的确定路由的方法可在这些TLVs中新增一种Sub-TLV(子TLV)用于通告节点参数。当然,也可在OSPF中扩展新的TLV完成以上通告。
在一些实施方式中,节点参数信息的TLV报文包括:类型字段,配置为指示TLV报文为节点参数信息;长度字段,配置为指示TLV报文的内容长度;以及节点调度时延集合中每个Deadline调度时延的值和其支持的调度策略的标识。
参照图3,在一些实施方式中,配置为通告节点参数信息的TLV报文中可包括:指示TLV报文为节点参数信息的类型字段(图3中的Type字段);表示TLV报文的内容长度(不包括Type字段和Length字段)的长度字段(图3中的Length字段);节点调度时延集合中每个Deadline调度时延的值(图3中的Q1、Q2…Qn);每个Deadline调度时延支持的调度策略的标识(图3中各Q之前的P)。
在一些实施方式中,每个节点的所有Deadline调度时延支持的调度策略相同,节点调度时延集合中任意两相邻Deadline调度时延间的差值相同;节点参数信息的TLV报文包括:类型字段,配置为指示TLV报文为节点参数信息;长度字段,配置为指示TLV报文的内容长度;节点调度时延集合中最小的Deadline调度时延的值,以及最大的Deadline调度时延的值;节点的所有Deadline调度时延支持的调度策略的标识;以及节点调度时延集合中任意两相邻Deadline调
度时延间的差值。
参照图4,在一些实施方式中,当所有Deadline调度时延支持的调度策略情况相同,且任意两相邻Deadline调度时延间的差值相同(或者说具有“固定的间隔”)时,为减少通告报文的长度,配置为通告节点参数信息的TLV报文也可包括:指示TLV报文为节点参数信息的类型字段(图4中的Type字段);表示TLV报文的内容长度(不包括Type字段和Length字段)的长度字段(图4中的Length字段);节点调度时延集合中最小的Deadline调度时延的值(图4中的Q1),以及最大的Deadline调度时延的值(图4中的Qn);所有Deadline调度时延支持的调度策略的标识(图4中的P);节点调度时延集合中任意两相邻Deadline调度时延间的固定的间隔(图4中的I)。
由此,通过以上Q1和Qn、以及I,即可计算出所有其它的Q。
当然,节点参数信息的具体形式不限于以上例子,只要该节点参数信息实际上包括了所需的信息即可。
在一些实施方式中,确定当前调度参数(S1002)包括步骤S10021。
S10021、接收绑定信息。
绑定信息包括至少一组绑定关系,每组绑定关系包括一个预置虚拟网络以及该预置虚拟网络对应的调度参数,预置虚拟网络对应的调度参数包括预置虚拟网络对应的Deadline调度时延、调度策略,预置虚拟网络中的每个节点在每个链路均支持预置虚拟网络对应的Deadline调度时延、调度策略。
S10022、在当前网络为预置虚拟网络时,确定该预置虚拟网络对应的调度参数为当前调度参数。
在一些实施方式中,可以是预先创建一个或多个“预置虚拟网络(其可为任何有别于原始物理网络的虚拟网络,如IGP多拓扑、IGP灵活算法、网络切片等)”,而每个预置虚拟网络具有对应的(或者说绑定的)的调度参数,即,预置虚拟网络和调度参数之间具有绑定关系。
进而,可向至少部分节点发送“绑定信息”,绑定信息限定了以上绑定关系;从而当要在某个预置虚拟网络中传输报文而选择候选路径时,可直接采用该预置虚拟网络绑定的调度参数为当前调度参数。
应当理解,由于预置虚拟网络是与调度参数绑定的,故任意预置虚拟网络中的节点(链路)均是支持其对应的调度参数的。例如,未开启Deadline调度的节点(链路)不会进入任何预置虚拟网络,或者,不支持预置虚拟网络对应的Deadline调度时延、调度策略的节点(链路)也不会进入相应的预置虚拟网络。
在一些实施方式中,根据确定性时延从候选路径中选出目标路径(S103)包括:根据确定性时延,按照最短路径优先SPF(Shortest Path First)算法从候选路径中选出目标路径。
针对以上的预置虚拟网络,可以是按照SPF算法从候选路径中
选出目标路径,即目标路径为SPF Path。
可以是只在每个预置虚拟网络的部分节点上直接配置以上绑定关系,再通过IGP通告和学习,使得整个IGP域内的节点对该绑定关系达成一致的理解。
在一些实施方式中,绑定信息为IGP的ISIS或OSPF的虚拟网络的TLV报文,绑定信息的TLV报文包括:灵活算法定义FAD(Flexible Algorithm Definition)的TLV报文、IGP多拓扑的TLV报文、IGP网络切片的TLV报文中的至少一种。
绑定信息也可为新增的IGP的ISIS或OSPF的虚拟网络的TLV报文的形式,如FAD的TLV报文、IGP多拓扑的TLV报文、IGP网络切片的TLV报文等。
在一些实施方式中,绑定信息的TLV报文包括:类型字段,配置为TLV报文为绑定信息;长度字段,配置为TLV报文的内容长度;配置为指示预置虚拟网络对应的Deadline调度时延为确定型或非确定型的标识;预置虚拟网络对应的Deadline调度时延为非确定型时,在计算候选路径的确定性时延的过程中当前Deadline调度时延计为0;预置虚拟网络对应的Deadline调度时延为确定型时,在计算候选路径的确定性时延的过程中当前Deadline调度时延等于预置虚拟网络对应的Deadline调度时延;预置虚拟网络对应的Deadline调度时延的值;以及预置虚拟网络对应的调度策略的标识。
参照图5,在一些实施方式中,以上绑定信息的TLV报文可包括:指示TLV报文为绑定信息的类型字段(图5中的Type字段);表示TLV报文的内容长度(不包括Type字段和Length字段)的长度字段(图5中的Length字段);指示预置虚拟网络对应的Deadline调度时延为以上确定型或非确定型的标识(图5中的U);预置虚拟网络对应的调度策略的标识(图5中的P);以及预置虚拟网络对应的Deadline调度时延的值(图5中的Q)。
当然,绑定信息的具体形式不限于以上例子,只要该绑定信息实际上包括了所需的信息即可。
在一些实施方式中,当前网络为物理网络或虚拟网络;确定当前调度参数(S1002)包括步骤S10023。
S10023、接收调度参数设置指令,根据调度参数设置指令确定当前调度参数。
在一些实施方式中,也可以是在物理网络或虚拟网络中,用调度参数设置指令直接“指定”当前调度参数。
在一些实施方式中,在目标网络中确定至少一条候选路径(S101)包括:以当前调度参数为算路约束条件之一,在目标网络中确定至少一条流量工程TE(Traffic Engineering)路径为候选路径。
在通过调度参数设置指令直接指定当前调度参数时,可以是将当前调度参数作为算路约束条件之一(当然还可能有其它的约束条件),计算TE路径为候选路径,从而所得的候选路径是TE Path。
应当理解,由于当前调度参数是约束条件,故其计算的得到的候选路径中的节点(链路)均是支持当前调度参数的。例如,未开启Deadline调度的节点(链路),或者不支持当前Deadline调度时延、当前调度策略的节点(链路),均不会被选入候选路径中。
在一些实施方式中,在根据确定性时延从候选路径中选出目标路径(S103)后,所述确定路由的方法还包括创建目标路径的转发表项;转发表项包括:表征目标路径启用Deadline调度的属性;表征当前Deadline调度时延的值的属性;表征当前调度策略的属性;以及表征目标路径的确定性时延的值的属性。
在一些实施方式中,转发表项还包括:表征目标路径的时延抖动的值的属性;目标路径的时延抖动为目标路径中所有中间节点的时延抖动之和,每个节点的时延抖动等于其发送报文的最早可能时间与最晚可能时间的差;表征目标路径中所有链路的链路传播时延之和的值的属性;以及表征目标路径中所有中间节点的节点时延之和的值的属性。
本公开提供的确定路由的方法中,在确定出目标路径后,头节点(或控制器)还可创建目标路径的转发表项,以指导报文的实际转发。转发表项中包括目标路径的相关信息,例如可包括:
键值:Prefix-D(D表示头节点)
转发信息:next_hop=下一跳的邻居
Interface=下一跳的出端口
(或者,以上两项转发信息也可用段列表(Segment List)等其它形式的转发信息替代)
metric_type(度量类型)=Min Unidirectional Link Delay(最小单向链路延迟)或Deadline-delay(截止时间延迟)
Deadline Flag=TRUE(表示候选路径启用Deadline调度)
Scheduling Dealy=当前Deadline调度时延
Scheduling Policy=当前调度策略
total_metric=目标路径的确定性时延
total_metric_variation=目标路径的时延抖动
total_metric_intra_node=目标路径的累计节点时延
total_metric_link=目标路径的累计链路传播时延。
应当理解,其它的中间节点也可相应创建相应的转发表项。
下面,对本公开提供的确定路由的方法中整体的过程进行示例性描述,其包括步骤1至3-2。
步骤1、在各节点上,配置其本地链路(物理链路或虚拟链路)的基于Deadline调度的节点参数,包括:节点调度使能开关、节点内转发时延、节点调度时延集合(包含一个或多个本地链路支持的
Deadline调度时延),以及节点调度时延集合中的每个元素(Deadline调度时延)所支持的调度策略。
之后,节点通过IGP泛洪向网络通告其本地配置的上述节点参数,并接收其它节点通告的节点参数。
各节点参数的含义如下。
节点内转发时延:报文从入端口转发到出端口,或从控制平面转发到出端口所需要消耗的时间,一般是一个固定值,记为F。
节点调度时延集合:由一个或多个Deadline调度时延Q组成的集合<Q1,Q2…Qn>,Q1最小,Qn最大。一般情况下,集合中相邻两个元素之间的差值是固定的,即从Q1开始,以固定的间隔I递增到Qn。
节点调度使能开关:针对物理网络中的一条物理链路或虚拟链路,配置其是否启用Deadline调度能力,若启用,则通过该链路转发的报文将采用基于Deadline调度的报文调度算法进行调度,使得报文在节点内的驻留时间不超过最大允许驻留时长Δ,Δ=节点内转发时延F+Deadline调度时延Q。
调度策略:对于每个Deadline调度时延Q,存在两种可能的调度策略,即提前发送策略和准时发送策略。采用提前发送策略时,报文可能在调度时延没有达到Q时就从出端口发送,即报文在节点内的节点时延(实际驻留时长)处于范围[F,F+Q]内,即,最小的节点时延为F,最大的节点时延等于F+Q,节点的时延抖动等于Q。而采用准时发送策略时,报文需在调度时延等于Q时才向出端口发送,即报文在节点内的节点时延等于F+Q(最小的节点时延、最大的节点时延均等于F+Q),节点的时延抖动等于0。
针对上述涉及的链路的节点参数通过IGP协议泛洪以节点参数信息的形式通告,一种节点参数信息具体的实现方式可为扩展ISIS。现有的ISIS协议集(参考RFC5305、RFC5311、RFC5316、RFC5120)已经定义了TLVs22/23/141/222/223/25报文用于通告邻接关系,在一些实施方式中,可以在这些TLVs中新增一种Sub-TLV作为节点参数信息,记为截止时间调度TLV子报文(Deadline Scheduling Sub-TLV),配置为通告链路的节点参数。当然,只有当某个节点的ISIS实例下的链路配置的节点调度使能开关为打开时,该节点才需要针对该链路通告Deadline Scheduling Sub-TLV,否则无需通告。
图3给出了一种ISIS Deadline Scheduling Sub-TLV的示例,包括:类型字段、长度字段、链路的节点调度时延集合。
Type(类型字段):占1字节,其取值待互联网地址编码分配机构IANA(Internet Assigned Numbers Authority)分配,以表示本TLV为Deadline Scheduling Sub-TLV。
Length(长度字段):占1字节,表示本TLV的内容长度(不包括Type和Length字段本身)。
Q:表示该链路的节点调度时延集合<Q1,Q2…Qn>,单位为us
(微秒)。每个该链路所支持的Deadline调度时延Q的信息占2个字节;最高的两个比特表示调度策略P,调度策略P的标识意义可以为:0暂未定义,1表示仅支持提前发送策略,2表示仅支持准时发送策略,3表示同时支持提前发送策略与准时发送策略;后续的比特标识Deadline调度时延Q的具体值。
如前,给定Deadline调度时延Q及其调度策略,并结合节点内转发时延F(其实际也可包括在节点参数信息中),可推导出相应的节点时延与抖动属性,因此在ISIS Deadline Scheduling Sub-TLV中可不再显式的包含这些属性。
应当理解,ISIS Deadline Scheduling Sub-TLV中通告的Deadline调度时延Q必须与该链路实际在转发平面实例化的Deadline队列调度机制一致,如果转发平面并未实例化支持某种Deadline调度时延Q的Deadline队列调度,但在ISIS Deadline Scheduling Sub-TLV中通告了该Deadline调度时延Q,可能会导致后续路由计算时出错。
若需要通告的节点调度时延集合<Q1,Q2…Qn>包含的元素很多,且集合中相邻两个元素之间的差值是固定的间隔I,并且针对每个元素所支持的调度策略都一样,则可采取另外一种更简化的扩展方式,即如图4所示的Deadline Scheduling Simplified Sub-TLV,包括:类型字段、长度字段、节点调度时延集合、以及节点调度时延集合中相邻两个元素之间的固定差值。
Type(类型字段):占1字节,其取值待IANA分配,以表示本TLV为Deadline Scheduling Sub-TLV(更具体是Deadline Scheduling Simplified Sub-TLV)。
Length(长度字段):占1字节,表示本TLV的内容长度(不包括Type和Length字段本身)。
Q:表示该链路的节点调度时延集合<Q1,Q2…Qn>,Q1为集合中的最小的Deadline调度时延,Qn为集合中的最大的Deadline调度时延,单位为us,分别占2个字节。
I:占2字节,表示节点调度时延集合中相邻两个元素之间的固定差值,单位为us。最高的两个比特表示调度策略P,调度策略P的标识意义可以为:0暂未定义,1表示仅支持提前发送策略,2表示仅支持准时发送策略,3表示同时支持提前发送策略与准时发送策略。
应当理解,如前,Δ=F+Q,因此节点参数信息中也可以携带Δ的集合,并根据Δ和F算出Deadline调度时延Q。
应当理解,节点参数信息也可以是通过扩展OSPF的TLV通告节点参数等,在此不再赘述。
步骤2、创建虚拟网络(即预设虚拟网络,包含任何有别于原始物理网络的虚拟网络技术,如IGP多拓扑、IGP灵活算法、网络切片等),并绑定该虚拟网络期望使用的调度参数(如Deadline调度时
延Q、调度策略),并通过IGP通告和学习特定虚拟网络与特定调度参数间的绑定关系,使得整个IGP域内的节点对这种绑定关系达成一致的理解。
虽然不同的虚拟网络技术有不同的方式去扩展以支持绑定特定的调度参数,但绑定关系可一般的表示为:<虚拟网络标识,Deadline调度时延Q和调度策略>。比如,对IGP多拓扑技术(参考RFC4915、RFC5120、RFC5340),虚拟网络标识可为多拓扑标识(MT-ID);对IGP灵活算法(IGP Flex-algo)技术(参考draft-ietf-lsr-flex-algo-18),虚拟网络标识可为灵活算法标识(Flex-Algorithm);对网络切片技术(参考draft-ietf-teas-ietf-network-slices-05),虚拟网络标识可为网络切片标识(slice-id)或网络资源分割标识(NRP-id)等。
具体实现时,可在同一虚拟网络的一个或多个节点上,配置以上绑定关系<虚拟网络标识,Deadline调度时延Q和调度策略>,然后通过IGP在整个IGP域内通告配置的绑定关系。如果针对同一虚拟网络标识存在多份绑定关系通告时,节点可根据其它信息(如随绑定关系通告的优先级字段),从多份绑定关系中择优使用一个。
注意,绑定关系中的Deadline调度时延Q可以是一个确定值(确定型),也可以是一个未知值(非确定型)。
如果根据绑定关系,某个虚拟网络使用特定的Deadline调度时延Q和调度策略,需检查该虚拟网络中加入的所有链路资源,必需配置节点调度使能开关打开、且支持相应的Deadline调度时延Q和调度策略,不符合条件(即节点调度使能开关未打开、或不支持相应的Deadline调度时延Q和调度策略)的链路(节点)将被排除在该虚拟网络之外。当然,如果绑定关系中的Deadline调度时延Q是一个未知值(非确定型),那么在检查时可不判断链路是否支持Deadline调度时延Q。
下面以IGP Flex-algo为例,描述一种具体的扩展方式以支持将特定的Flex-algo平面(即Flex-algorithm为标识的虚拟网络)与特定的调度参数(Deadline调度时延Q和调度策略)进行绑定。
IGP Flex-algo提出的方案允许IGP自己去计算网络中的基于约束的路径,定义了ISIS、OSPF的相应扩展,这些扩展使路由器能够发送TLV,这些TLV包括:计算类型(Calc-Type)、度量类型(Metric-Type)、描述拓扑上的一组约束;计算类型、度量类型和约束的组合称为灵活算法定义FAD。即,IGP Flex-algo最终会构建出一个以Flex-algorithm为标识的虚拟网络(Flex-algo平面),并在该虚拟网络内基于特定的Calc-Type和Metric-Type计算SPF路径,创建SPF路由。而在一些实施方式中,对IGP Flex-algo的扩展可包括:在FAD中可增加绑定的调度参数(Deadline调度时延Q和调度策略),如果Flex-algo平面绑定了特定的Deadline调度时延Q和调度策略,则该Flex-algo平面中加入的所有链路资源,必需
配置了节点调度使能开关打开并支持相应的Deadline调度时延Q和调度策略,而不符合条件的链路(节点)将被排除在该Flex-algo平面之外。
例如,可以是扩展ISIS协议,在IS-IS Flexible Algorithm Definition Sub-TLV中新定义如图5所示的IS-IS FAD Deadline Scheduling Sub-TLV(绑定信息),包括Type、Length、Flags、U-flag、P-flag和Q。
Type(类型字段):占1字节,其取值待IANA分配,以表示本TLV为IS-IS FAD Deadline Scheduling Sub-TLV。
Length(长度字段):占1字节,表示本TLV的内容长度(不包括Type和Length字段本身)。
Flags:占1字节,标志位,当前定义了两个标志。
U-flag(U):占1比特,配置为提示Deadline调度时延Q的值是已知的(确定型)还是未知的(非确定型),取值可以为:如果取值为0表示后续的Q字段中的值是确定的,如果取值为1,表示后续的Q字段中的值是未知的。
P-flag:占2比特,表示调度策略,取值可以为:0暂未定义,1表示提前发送策略;2表示准时发送策略,3暂未定义。
Q:占2字节,表示Flex-algorithm绑定的Deadline调度时延Q,单位为us。应当理解,如果U-flag为1(即Deadline调度时延Q的值是未知的),则Q中的值可被忽略(例如为全0)。
应当理解,也可以通过扩展OSPF的TLV通告绑定信息等,在此不再赘述。
步骤3-1、在虚拟网络中使用绑定的调度参数为当前调度参数,并使用IGP基于当前调度参数去计算具有确定性时延与时延抖动的SPF路径,计算得到的路径的累计时延与时延抖动中,包括了路径沿途各链路的传播时延(链路传播时延)与传播时延抖动(实际一般为0)的贡献部分、以及沿途各节点内部的时延(节点内转发时延)与时延抖动的贡献部分。将这样的路径称为Deadline SPF Path(目标路径)。相比相关技术中的SPFPath而言,Deadline SPF Path的metric是确定性时延metric(包括了确定的节点时延累计与链路传播时延累计),而相关技术中的SPF Path的metric是非确定性时延metric(未考虑节点时延)。
因此,Deadline SPF Path的计算方法可为(a)和(b):
a)对于同源同宿的多条候选路径,计算每条路径的累计的确定性时延metric。
b)在这多条候选路径中具有最小累计确定性时延metric的候选路径,即为目标路径,也即Deadline SPF Path。
仍然以IGP Flex-algo为例进行说明,已有的IGP Flex-algo定义的FAD中,虽然Metric-Type设置为Min Unidirectional Link Delay时,会去计算具有最小累计链路传播时延的SPF路径,但由于
没有考虑节点时延,因此,计算得到的SPF路径的总时延与时延抖动不是确定的。
本公开示例中,在IS-IS Flexible Algorithm Definition Flags Sub-TLV中新增标志D-flag(Deadline Flag),表征其采用本公开提供的确定路由的方法,占1比特,D-flag与FAD中的Metric-Type:Min Unidirectional Link Delay结合使用。
当D-flag为1时,配置为显式触发计算Deadline SPF Path,即具有累计节点时延与累计链路传播时延之和最小的SPF路径,此时可根据前述定义的IS-IS FAD Deadline Scheduling Sub-TLV获得Deadline调度时延Q和调度策略,用于路径计算。
当D-flag为0时,仍然是相关技术中的计算具有最小累计链路传播时延的SPF路径(即未启用本公开提供的确定路由的方法)。
应当理解,以上内容只是一种示例性的扩展方式,而为使得在Flex-algo平面内计算Deadline SPF Path,其它FAD的扩展方式也是可行的,例如是新定义的metric type等。
由此可知,在计算候选路径的确定性时延metric=路径中所有中间节点的节点时延累计+路径中所有链路的链路传播时延累计。
假设从IS-IS FAD Deadline Scheduling Sub-TLV中获得了当前Deadline调度时延Q和当前调度策略,则对于候选路径中的任一中间节点i而言,贡献的节点时延如下a)和b)所述。
a)当前调度策略为提前发送策略时,节点时延介于F(i)至F(i)+Q(当前Deadline调度)之间,F(i)表示节点i的节点内转发时延。
应当理解,此时实际的节点时延是一个范围(前提是Q不为0),而在不同候选路径之间进行择优和比较时需要确定值,因此可以有两种方式:方式一,节点时延取值为F(i);方式二,节点时延取值为F(i)+Q。由于Metric-Type设置为Min Unidirectional Link Delay时的意义就是基于最小时延去计算候选路径的时延metric,可默认采用以上方式一。
b)当前调度策略为准时发送策略时,节点时延等于F(i)+Q。
应当理解,如果当前Deadline调度时延Q是非确定型,则以上计算中当前Deadline调度时延Q暂时用0替代。
应当理解,上述候选路径的确定性时延metric的作用是多条候选路径之间进行比较并最终计算得到Deadline SPF Path,因此,如前所述,候选路径的确定性时延metric会有些适当的调整,比如当前Deadline调度时延Q是非确定型,则以上计算中当前Deadline调度时延Q暂时用0替代。
但是,一旦得到Deadline SPF Path(目标路径),则Deadline SPF Path的确定性时延metric就应该是实际的具体时延,而如前,对Deadline SPF Path中的任一中间节点i而言,其贡献的节点时延可能是包括Q的(即F(i)+Q),而若Q是未知值,则目标路径的确
定性时延是包括变量Q的表达式,而不是实际的具体时延。为此,此时需要通过其它渠道给出确定的Deadline调度时延Q,比如在转发的数据报文中携带Deadline调度时延Q的值或其它能推导出Deadline调度时延Q的值的信息,或是根据预设的本地策略表项确定Deadline调度时延Q的值。
由此可知,对于Deadline SPF Path中的任一中间节点而言,其贡献的节点的时延抖动为:a)当前调度策略为提前发送策略时,节点的时延抖动为Q;b)当前调度策略为准时发送策略时,节点的时延抖动为0。
进一步的,根据上述Flex-algo平面内计算得到的Deadline SPF Path,就可以在Flex-algo平面内建立至其它目的节点的Prefix(前缀)转发表项(或MPLS标签表项,或Segment Routing的SID表项,或SRv6 Locator表项等),以使用其指导报文转发。应当理解,某个Flex-algo平面中建立的这些转发表项为了与其它Flex-algo平面或者原始物理网络的转发表项进行区分,会使用单独的Prefix(或单独的MPLS标签,或单独的SID,或单独的SRv6 Locator等),如在某个Flex-algo平面内头节点S上维护了至目的节点D的Prefix-D的路由表项(其它的标签表项或SID表项都是类似的),一般可包括如下的内容:
键值:Prefix-D(D表示头节点)
转发信息:next_hop=下一跳的邻居
Interface=下一跳的出端口
metric_type=Min Unidirectional Link Delay
Deadline Flag=TRUE
Scheduling Dealy=当前Deadline调度时延
Scheduling Policy=当前调度策略
total_metric=目标路径的确定性时延
total_metric_variation=目标路径的时延抖动
total_metric_intra_node=目标路径的累计节点时延
total_metric_link=目标路径的累计链路传播时延。
应当理解,也可类似的扩展IGP多拓扑与网络切片等其它虚拟网络技术,在此不再详细描述。
步骤3-2、在一些实施方式中,也可以不预先绑定虚拟网络与调度参数,而是在物理网络或虚拟网络中,直接将指定的调度参数作为当前调度参数,并用调度参数作为一种约束条件去计算TE路径,将这样的路径称为Deadline TE Path(目标路径)。
此时所计算得到的TE路径(TE Path)的确定性时延中,同样包括了路径沿途各链路的传播时延(链路传播时延)与传播时延抖动(实际一般为0)的贡献部分、以及沿途各节点内部的时延(节点内转发时延)与时延抖动的贡献部分。
与计算Deadline SPF Path类似,在计算得到目标Deadline TE Path前,也是在多条候选TE Path间择优选择,其计算方式与以上Deadline SPF Path的计算类似,在此不再详细描述。
例如,上述Deadline TE Path可在网络中实例化成一条RSVP-TE隧道(tunnel),或分段路由策略(Segment Routing policy),或其它形式。需要注意的是,Deadline TE Path沿途各中间节点上需安装相应的转发表项以指导报文沿Deadline TE Path的转发,而这些转发表项可能是公共的,并不包括算路约束条件中的当前Deadline调度时延Q和当前调度策略等信息,因此需要在转发的数据报文中携带当前Deadline调度时延Q的值(或其它能推导出当前Deadline调度时延Q的值的信息)和当前调度策略,使得各中间节点在收到报文时能基于当前Deadline调度时延Q和当前调度策略执行报文调度。
下面结合具体的网络拓扑和数值,示例性地说明本公开提供的确定路由的方法。
示例1
本示例1中,使用IGP Flex-algo创建虚拟网络(或称为Flex-algo平面),并在该虚拟网络中计算Deadline SPF Path。参照图6,该IGP Flex-algo平面中包含5个节点(R1节点至R5节点),以及连接在节点间的链路(所有链路均为双向链路),链路边的数据为其链路传播时延的值(单位为us,下同)。
假设虚拟网络中所有节点的链路的节点参数均如下:
节点调度使能开关:ON(打开)
节点内转发时延F:5us
节点调度时延集合:<10us,20us,30us,40us,50us,60us>
节点调度策略:同时支持提前发送策略与准时发送策略。
先配置IGP Flex-algo 128的FAD,设置metric type为Min Unidirectional Link Delay,Deadline Flag为TRUE,设置其绑定的调度参数(例如是所有节点协商得到的最优调度参数,或者是指定的调度参数)为:Deadline调度时延Q=10us,调度策略为提前发送策略。假设该FAD内容就是Flex-algo 128平面内的所有节点协商后得到的最优FAD。
以R1节点为例,它以自身为根(即R1为头节点)计算得到所有候选路径参照图7,图7中,各链路边的每组数据中,前一个数字表示该链路前的中间节点的节点时延,后一个数字是链路本身的链路传播时延;而min delay和max delay分别表示该段链路的确定性时延的下限和上限。
由此,对于以R1节点为头节点,R5节点为目的节点的报文,计算得到的Deadline SPF Path(目标路径)为:R1节点-R2节点-R4节点-R5节点,其确定性时延的下限为55us,上限为85us,时延抖动为30us。
例如,R5节点对外通告专属于flex-algo 128平面的Prefix-R5,则R1节点上将创建如下的转发表项。
键值:Prefix-R5
转发信息:next_hop=R2
Interface=link-R1R2
metric_type=Min Unidirectional Link Delay
Deadline Flag=TRUE
Scheduling Dealy=10us
Scheduling Policy=提前发送
total_metric=55至85us
total_metric_variation=30us
total_metric_intra_node=15至45us
total_metric_link=40us。
当然,其它中间节点也可类似建立转发表项。
而中间节点上收到数据报文时,如果命中上述的转发表项,则报文将按照Deadline调度时延10us和提前发送策略在节点内调度。
示例2
本示例2与示例1类似,只是IGP Flex-algo被换成IGP多拓扑或网络切片,从而是在相应的IGP拓扑或网络切片内计算Deadline SPF Path,其具体过程在此不再详细描述。
示例3
本示例3与示例1类似,只是当前调度策略变为准时发送策略,从而其计算得到所有候选路径参照图8,因采用准时发送策略,故图8中的min delay和max delay是相等的。
由此,对于以R1节点为头节点,R5节点为目的节点的报文,计算得到的Deadline SPF Path(目标路径)为:R1节点-R2节点-R4节点-R5节点,其确定性时延的下限、上限均为85us,时延抖动为0us。
进而,R1节点产生的转发表项包括:
键值:Prefix-R5
转发信息:next_hop=R2
Interface=link-R1R2
metric_type=Min Unidirectional Link Delay
Deadline Flag=TRUE
Scheduling Dealy=10us
Scheduling Policy=准时发送
total_metric=85us
total_metric_variation=0
total_metric_intra_node=45us
total_metric_link=40us。
其它过程与示例1类似,在此不再详细描述。
示例4
本示例4在参照图9的目标网络(可为物理网络或虚拟网络)中进行Deadline TE Path(目标路径)的创建。
图9所示的网络包括6个节点(A节点、B节点、C节点、D节点、E节点、S节点),以及连接在节点间的链路(所有链路均为双向链路),链路边的数据为其链路传播时延的值。
假设目标网络中所有节点的链路的节点参数均如下:
节点调度使能开关:ON;
节点内转发时延F:5us;
节点调度时延集合:<10us,20us,30us,40us,50us,60us>;
节点调度策略:同时支持提前发送策略与准时发送策略。
当计算一条从头节点S至目的节点D的路由(SR policy)时,设定约束条件(当前调度参数)包括:Deadline调度时延为10us,调度策略为准时发送策略。
在不考虑其它约束条件的影响下,算路引擎将在链路状态数据库中挑选启用了Deadline调度的链路资源参与到路径计算中,并最终选择一条确定性时延metric最小的候选路径作为目标路径(即图中加粗的Deadline TE Path),也就是S节点-A节点-C节点-E节点-D节点,其确定性时延为120us,累计的节点时延为60us,累计的链路传播时延为60us。
由此,S节点上可创建如下的转发表项:
键值:<Headend=S,Endpoint=D,Color=1000>
转发信息:Segment List(段列表)=<A,C,E,D>
metric_type=Deadline-delay
Scheduling Dealy=10us
Scheduling Policy=准时发送
total_metric=120us
total_metric_variation=0
total_metric_intra_node=60us
total_metric_link=60us。
进而,在S节点上,为待转发的数据报文添加上述转发表项对应的封装,将在报文中携带Deadline调度时延为10us(或节点时延为15us)和采用准时调度策略的信息,使得报文在沿途各中间节点上按照Deadline调度时延10us和准时发送策略调度。
第二方面,参照图10,本公开实施例提供一种电子设备,包括:至少一个处理器;存储器,其上存储有至少一个计算机程序:以及至少一个I/O接口,连接在所述处理器与所述存储器之间,配置为实现所述处理器与所述存储器之间的信息交互;当所述至少一个计算机程序被所述至少一个处理器执行时,能实现本公开第一方面所述的确定路由的方法。
处理器为具有数据处理能力的器件,包括但不限于中央处理器
(CPU)等;存储器为具有数据存储能力的器件,包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH);I/O接口(读写接口)连接在处理器与存储器间,能实现存储器与处理器的信息交互,包括但不限于数据总线(Bus)等。
在一些实施方式中,电子设备为节点。
如前,执行本公开提供的确定路由的方法的电子设备具体可以是网络中的“节点”。
当然,如前,在计算路由时,执行本公开提供的确定路由的方法的电子设备也可以是网络中的控制器。
第三方面,参照图11,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时能实现本公开第一方面所述的确定路由的方法。
本领域普通技术人员可以理解,上文中所公开的全部或某些步骤、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。
某些物理组件或所有物理组件可以被实施为由处理器(如中央处理器(CPU)、数字信号处理器或微处理器)执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH)或其它磁盘存储器;只读光盘(CD-ROM)、数字多功能盘(DVD)或其它光盘存储器;磁盒、磁带、磁盘存储或其它磁存储器;可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。
本公开已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则与特定实施例相结合描述的特征、特性和/或元素可单独使用,或可与结合其它实施例描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本
公开的范围的情况下,可进行各种形式和细节上的改变。
Claims (22)
- 一种确定路由的方法,包括:在目标网络中确定至少一条候选路径;根据当前调度参数、节点内转发时延、链路传播时延,确定每条所述候选路径的确定性时延;其中,所述当前调度参数包括当前截止时间(Deadline)调度时延、当前调度策略,所述节点内转发时延为报文进入节点至转发到出端口的时延,每条候选路径的确定性时延包括该候选路径中所有中间节点的节点时延和所有链路的链路传播时延,每个中间节点的节点时延根据其节点内转发时延、当前Deadline调度时延、当前调度策略得出;以及根据确定性时延从候选路径中选出目标路径,并确定路由。
- 根据权利要求1所述的方法,其中,所述当前调度策略包括提前发送策略或准时发送策略中的任意一种调度策略;所述提前发送策略表征在当前Deadline调度时延耗尽之前发送报文,所述准时发送策略表征在当前Deadline调度时延耗尽时发送报文;所述当前调度策略为提前发送策略时,每个中间节点的节点时延大于或等于其节点内转发时延,且小于或等于其节点内转发时延与当前Deadline调度时延之和的值;所述当前调度策略为准时发送策略时,每个中间节点的节点时延等于其节点内转发时延与当前Deadline调度时延之和。
- 根据权利要求2所述的方法,其中,所述当前调度策略为提前发送策略时,每个中间节点的节点时延等于其节点内转发时延;或,每个中间节点的节点时延等于其节点内转发时延与当前Deadline调度时延之和。
- 根据权利要求1所述的方法,其中,所述当前Deadline调度时延为确定型或非确定型;所述当前Deadline调度时延为确定型时,所述候选路径的确定性时延根据当前Deadline调度时延的值计算;所述当前Deadline调度时延为非确定型时,所述候选路径的确定性时延中的当前Deadline调度时延计为0。
- 根据权利要求4所述的方法,其中,所述当前Deadline调度时延为非确定型时,所述方法还包括:在所述根据确定性时延从候选路径中选出目标路径后,计算目标路径的确定性时延;所述目标路径的确定性时延为包括当前Deadline调度时延的变量的表达式,所述当前Deadline调度时延的变量的值根据数据报文或本地策略表项确定。
- 根据权利要求1所述的方法,还包括:在所述在目标网络中确定至少一条候选路径之前,确定当前调度参数。
- 根据权利要求6所述的方法,还包括:在所述确定当前调度参数之前,接收节点参数配置指令,根据所述节点参数配置指令设定节点在本地链路的节点参数;每个节点在每个链路的节点参数包括节点调度使能开关、节点调度时延集合、节点调度策略、节点内转发时延;所述节点调度使能开关表征节点是否启用Deadline调度,所述节点调度时延集合包括节点在本地链路支持的至少一个Deadline调度时延,所述节点调度策略表征Deadline调度时延支持的调度策略。
- 根据权利要求6所述的方法,还包括:在所述接收节点参数配置指令与所述确定当前调度参数之间,执行以下至少一者:发送节点本地链路的节点参数信息;或,接收其它节点发送的节点参数信息;所述节点参数信息包括节点调度时延集合的信息、节点调度策略的信息。
- 根据权利要求8所述的方法,其中,所述节点参数信息为内部网关协议(IGP)的中间系统到中间系统(ISIS)或开放式最短路径优先(OSPF)的类型-长度-值(TLV)报文。
- 根据权利要求9所述的方法,其中,所述节点参数信息的TLV报文包括:类型字段,配置为指示所述TLV报文为所述节点参数信息;长度字段,配置为指示所述TLV报文的内容长度;以及节点调度时延集合中每个Deadline调度时延的值和其支持的调度策略的标识。
- 根据权利要求9所述的方法,其中,每个节点的所有Deadline调度时延支持的调度策略相同,所述节点调度时延集合中任意两相邻Deadline调度时延间的差值相同;所述节点参数信息的TLV报文包括:类型字段,配置为指示所述TLV报文为所述节点参数信息;长度字段,配置为指示所述TLV报文的内容长度;节点调度时延集合中最小的Deadline调度时延的值,以及最大的Deadline调度时延的值;节点的所有Deadline调度时延支持的调度策略的标识;以及节点调度时延集合中任意两相邻Deadline调度时延间的差值。
- 根据权利要求6所述的方法,其中,所述确定当前调度参数包括:接收绑定信息;所述绑定信息包括至少一组绑定关系,每组绑定关系包括一个预置虚拟网络以及该预置虚拟网络对应的调度参数,所述预置虚拟网络对应的调度参数包括预置虚拟网络对应的Deadline调度时延、调度策略,所述预置虚拟网络中的每个节点在每个链路均支持预置虚拟网络对应的Deadline调度时延、调度策略;以及在当前网络为预置虚拟网络时,确定该预置虚拟网络对应的调度参数为当前调度参数。
- 根据权利要求12所述的方法,其中,所述根据确定性时延从候选路径中选出目标路径包括:根据确定性时延,按照最短路径优先(SPF)算法从候选路径中选出目标路径。
- 根据权利要求12所述的方法,其中,所述绑定信息为IGP的ISIS或OSPF的虚拟网络的TLV报文,所述绑定信息的TLV报文包括:灵活算法定义(FAD)的TLV报文、IGP多拓扑的TLV报文、IGP网络切片的TLV报文中的至少一种。
- 根据权利要求14所述的方法,其中,所述绑定信息的TLV报文包括:类型字段,配置为指示所述TLV报文为所述绑定信息;类型字段,配置为指示所述TLV报文的内容长度;配置为指示预置虚拟网络对应的Deadline调度时延为确定型或非确定型的标识;所述预置虚拟网络对应的Deadline调度时延为非确定型时,计算候选路径的确定性时延的过程中当前Deadline调度时延计为0;所述预置虚拟网络对应的Deadline调度时延为确定型时,计算候选路径的确定性时延的过程中当前Deadline调度时延等于预置虚拟网络对应的Deadline调度时延;预置虚拟网络对应的Deadline调度时延的值;以及预置虚拟网络对应的调度策略的标识。
- 根据权利要求6所述的方法,其中,所述当前网络为物理 网络或虚拟网络;所述确定当前调度参数包括:接收调度参数设置指令,根据所述调度参数设置指令确定当前调度参数。
- 根据权利要求16所述的方法,其中,所述在目标网络中确定至少一条候选路径包括:以所述当前调度参数为算路约束条件之一,在目标网络中确定至少一条流量工程(TE)路径为候选路径。
- 根据权利要求1所述的方法,还包括在所述根据确定性时延从候选路径中选出目标路径后,创建目标路径的转发表项;所述转发表项包括:表征目标路径启用Deadline调度的属性;表征当前Deadline调度时延的值的属性;表征当前调度策略的属性;以及表征目标路径的确定性时延的值的属性。
- 根据权利要求18所述的方法,其中,所述转发表项还包括:表征目标路径的时延抖动的值的属性;所述目标路径的时延抖动为目标路径中所有中间节点的时延抖动之和,每个所述节点的时延抖动等于其发送报文的最早可能时间与最晚可能时间的差;表征目标路径中所有链路的链路传播时延之和的值的属性;以及表征目标路径中所有中间节点的节点时延之和的值的属性。
- 一种电子设备,其包括:至少一个处理器;存储器,其上存储有至少一个计算机程序:以及至少一个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互;当所述至少一个计算机程序被所述至少一个处理器执行时,能实现权利要求1至19中任意一项所述的确定路由的方法。
- 根据权利要求20所述的电子设备,其中,所述电子设备为节点。
- 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时能实现权利要求1至19中任意一项所述的确定路由的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP23746250.2A EP4462749A1 (en) | 2022-01-28 | 2023-01-19 | Route determination method, electronic device, and computer readable storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210108264.3A CN116566892A (zh) | 2022-01-28 | 2022-01-28 | 确定路由的方法、电子设备、计算机可读介质 |
CN202210108264.3 | 2022-01-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023143369A1 true WO2023143369A1 (zh) | 2023-08-03 |
Family
ID=87470802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/073144 WO2023143369A1 (zh) | 2022-01-28 | 2023-01-19 | 确定路由的方法、电子设备、计算机可读存储介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4462749A1 (zh) |
CN (1) | CN116566892A (zh) |
WO (1) | WO2023143369A1 (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100271950A1 (en) * | 2009-04-23 | 2010-10-28 | Vodafone Group Plc | Routing traffic in a cellular communication network |
CN104486250A (zh) * | 2014-12-03 | 2015-04-01 | 中国航空工业集团公司第六三一研究所 | 一种面向Deadline满足时间确定性的调度方法 |
CN106533960A (zh) * | 2016-12-23 | 2017-03-22 | 重庆邮电大学 | 一种基于Fat‑Tree结构的数据中心网络路由方法 |
CN106878170A (zh) * | 2016-12-29 | 2017-06-20 | 北京华为数字技术有限公司 | 一种转发路径确定方法和装置 |
CN112671495A (zh) * | 2020-12-24 | 2021-04-16 | 之江实验室 | 一种调整确定性时延的方法和系统 |
CN113395210A (zh) * | 2016-06-29 | 2021-09-14 | 华为技术有限公司 | 一种计算转发路径的方法及网络设备 |
-
2022
- 2022-01-28 CN CN202210108264.3A patent/CN116566892A/zh active Pending
-
2023
- 2023-01-19 EP EP23746250.2A patent/EP4462749A1/en active Pending
- 2023-01-19 WO PCT/CN2023/073144 patent/WO2023143369A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100271950A1 (en) * | 2009-04-23 | 2010-10-28 | Vodafone Group Plc | Routing traffic in a cellular communication network |
CN104486250A (zh) * | 2014-12-03 | 2015-04-01 | 中国航空工业集团公司第六三一研究所 | 一种面向Deadline满足时间确定性的调度方法 |
CN113395210A (zh) * | 2016-06-29 | 2021-09-14 | 华为技术有限公司 | 一种计算转发路径的方法及网络设备 |
CN106533960A (zh) * | 2016-12-23 | 2017-03-22 | 重庆邮电大学 | 一种基于Fat‑Tree结构的数据中心网络路由方法 |
CN106878170A (zh) * | 2016-12-29 | 2017-06-20 | 北京华为数字技术有限公司 | 一种转发路径确定方法和装置 |
CN112671495A (zh) * | 2020-12-24 | 2021-04-16 | 之江实验室 | 一种调整确定性时延的方法和系统 |
Non-Patent Citations (1)
Title |
---|
ZTE CORPORATION, SANECHIPS: "Discussion on low latency scheduling in IAB", 3GPP TSG RAN WG2 MEETING #106, R2-1906571, 3 May 2019 (2019-05-03), pages 1 - 4, XP051710882 * |
Also Published As
Publication number | Publication date |
---|---|
EP4462749A1 (en) | 2024-11-13 |
CN116566892A (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107276897B (zh) | 网络设备、集中控制器设备及其路由标签交换路径的方法 | |
US11909645B2 (en) | Segment routing traffic engineering based on link utilization | |
US9001672B2 (en) | System, method and apparatus conforming path cost criteria across multiple ABRs | |
US8897136B2 (en) | Pseudowire setup method and node device | |
US11616729B2 (en) | Method and apparatus for processing low-latency service flow | |
US9660897B1 (en) | BGP link-state extensions for segment routing | |
US7599302B2 (en) | Dynamic enforcement of MPLS-TE inter-domain policy and QoS | |
US20060117110A1 (en) | Propagation of routing information in RSVP-TE for inter-domain TE-LSPs | |
EP3975516A1 (en) | Stateless multicasting over traffic engineered unicast tunnels | |
CN113542120B (zh) | 一种路径选择方法及装置、计算机可读存储介质 | |
WO2023143369A1 (zh) | 确定路由的方法、电子设备、计算机可读存储介质 | |
WO2010000202A1 (zh) | 保证差分业务流量工程网络配置参数一致的方法和系统 | |
US11496388B2 (en) | Resource reservation and maintenance for preferred path routes in a network | |
WO2023130743A1 (zh) | 路径计算方法、节点、存储介质及计算机程序产品 | |
WO2023103478A1 (zh) | 业务报文转发方法、路径建立方法及存储介质 | |
WO2024230244A1 (zh) | 一种确定性链路构建方法及装置 | |
WO2024103842A1 (zh) | 确定性资源调度方法及装置 | |
WO2023065756A1 (zh) | 确定性路由的计算方法、装置、存储介质和电子设备 | |
WO2024174822A1 (zh) | 资源分配方法、通信节点及存储介质 | |
Le Faucheur et al. | IETF Internet Draft Expires: December, 2002 Document: draft-ietf-tewg-diff-te-proto-01. txt June, 2002 |
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: 23746250 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2023746250 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2023746250 Country of ref document: EP Effective date: 20240809 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |