WO2023103478A1 - 业务报文转发方法、路径建立方法及存储介质 - Google Patents

业务报文转发方法、路径建立方法及存储介质 Download PDF

Info

Publication number
WO2023103478A1
WO2023103478A1 PCT/CN2022/115921 CN2022115921W WO2023103478A1 WO 2023103478 A1 WO2023103478 A1 WO 2023103478A1 CN 2022115921 W CN2022115921 W CN 2022115921W WO 2023103478 A1 WO2023103478 A1 WO 2023103478A1
Authority
WO
WIPO (PCT)
Prior art keywords
delay
node
maximum
path
time
Prior art date
Application number
PCT/CN2022/115921
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 WO2023103478A1 publication Critical patent/WO2023103478A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size

Definitions

  • the embodiments of the present application relate to but are not limited to the field of communication technologies, and in particular, relate to a method for forwarding service packets, a method for establishing a path, and a computer-readable storage medium.
  • the controller pre-calculates the local deadline (Deadline) of each router it has experienced for the traffic to be transmitted, forms a stack of these local deadlines and carries them with the forwarded data packets, each The router schedules the packets according to their own local deadlines, so as to meet the deterministic delay requirements.
  • the message contains the deadline stack and is an absolute time. The absolute time needs to be represented by more bytes, and the encapsulation overhead is too large, and it cannot adapt to the behavior of intermediate nodes that need to adjust the forwarding path.
  • the embodiment of the present application provides a service packet forwarding method, which is applied to the first node in the deterministic network, including: receiving the service packet; obtaining the maximum residence time, the maximum residence time representing the The maximum duration that the service message is allowed to reside in the first node; obtain the dwell duration, and the dwell duration represents the duration that the service message has resided in the first node; according to The elapsed dwell time and the maximum dwell time forward the message to the second node.
  • the embodiment of the present application provides a method for establishing a path, including: obtaining a service message, the service message includes a time requirement; obtaining the pre-configured maximum dwell time of each node in the candidate path and according to The fixed delay determined by the node, the maximum dwell time characterizes the maximum duration that the service message is allowed to reside in each node, and the fixed delay is the link between each two nodes transmission delay, the candidate path represents the path between the source node and the destination node corresponding to the service message; according to the maximum dwell time and the fixed delay, determine from the candidate path that satisfies the Time-required target path.
  • the embodiment of the present application also provides a method for establishing a path, including: obtaining a service message, the service message includes time requirement information; obtaining the accumulated link transmission delay of each candidate path, the accumulated The link transmission delay is the accumulated value of the transmission delay of all links between nodes in the candidate path, and the candidate path represents the path between the source node and the destination node corresponding to the service message; according to the The cumulative link transmission delay and the time requirement information determine the target path from the candidate paths, and determine the maximum dwell time of each node in the target path, and the maximum dwell time represents the allowable time of the service message The maximum duration of staying in the node, and the maximum duration of residence is configured in the service message.
  • the embodiment of the present application also provides a network device, including: a memory, a processor, and a computer program stored on the memory and operable on the processor, and the processor implements the above when executing the computer program.
  • the service packet forwarding method in the first aspect may realize the path establishment method in the second aspect or the third aspect.
  • the embodiment of the present application also provides a computer-readable storage medium, which stores computer-executable instructions, and the computer-executable instructions are used to execute the service message forwarding method in the first aspect as described above or to implement the above-mentioned
  • the path establishment method in the second aspect or the third aspect is described above.
  • FIG. 1 is a schematic flow diagram of a service message forwarding method provided by an embodiment of the present application
  • Fig. 2 is a flowchart of a method of step S140 in Fig. 1;
  • Fig. 3 is a schematic structural diagram of the ISIS Deadline Scheduling Sub-TLV provided by an embodiment of the present application.
  • FIG. 4 is a schematic flowchart of a path establishment method provided by an embodiment of the present application.
  • Fig. 5 is a flowchart of a method of step S430 in Fig. 4;
  • Fig. 6 is a flowchart of a method of step S520 in Fig. 5;
  • Fig. 7 is a flowchart of another method of step S430 in Fig. 4;
  • FIG. 8 is a flowchart of another method of step S520 in FIG. 5;
  • FIG. 9 is a flowchart of another method of step S520 in FIG. 5;
  • FIG. 10 is a schematic network diagram of an SPF path established based on maximum dwell time and delay provided by an embodiment of the present application
  • FIG. 11 is a schematic diagram of an SPF path with delay jitter obtained based on the maximum dwell time based on FIG. 10 according to an embodiment of the present application;
  • FIG. 12 is a schematic diagram of an SPF path without delay jitter obtained based on the maximum dwell time based on FIG. 10 according to an embodiment of the present application;
  • FIG. 13 is a schematic diagram of a network with a TE path established based on a maximum dwell time and delay in an embodiment of the present application
  • FIG. 14 is a schematic flowchart of another path establishment method provided in the embodiment of the present application.
  • FIG. 15 is a flowchart of a method of step S1430 in FIG. 14;
  • FIG. 16 is a schematic diagram of an SPF path without delay jitter obtained based on an undetermined maximum dwell time based on FIG. 10 according to an embodiment of the present application;
  • FIG. 17 is a network device provided by an embodiment of the present application.
  • the application provides a service message forwarding method, a path establishment method, and a computer-readable storage medium, wherein the service message forwarding method includes: receiving the service message; The maximum duration of staying in the first node; obtaining the residence duration, which represents the duration of the service message's residence in the first node; according to the residence duration and the maximum residence duration, the The message is forwarded to the second node.
  • the first node can schedule the message more flexibly and quickly during the process of forwarding the message: according to the maximum dwell time allowed by the first node and the actual The residence time is long, and the message is forwarded to the second node in a timely manner, so that the transmission of the message can meet the end-to-end delay requirement of the deterministic network, and the utilization rate of network resources is improved.
  • the path forwarding method in the third aspect includes: obtaining service messages, which include time requirement information; obtaining the cumulative transmission delay of each candidate path, and the cumulative transmission delay is the link between all nodes in the determined path.
  • the cumulative value of the transmission delay of the path, the candidate path represents the path between the source node and the destination node corresponding to the service message; determine the target path from the candidate paths according to the accumulated transmission delay and time requirement information, and determine each The maximum residence time of a node, the maximum residence time characterizes the maximum duration that a service message is allowed to reside in a node, and the maximum residence time is configured in the service message.
  • FIG. 1 is a schematic flowchart of a method for forwarding service packets provided by an embodiment of the present application.
  • the method is applied to the first node in a deterministic network, and the service message forwarding method may include but not limited to step S110, step S120, step S130 and step S140.
  • Step S110 Receive the service message.
  • Step S120 Obtain the maximum dwell time.
  • the maximum residence time represents the maximum time for which a service message is allowed to reside in the first node.
  • the maximum dwell duration includes a first maximum dwell duration preconfigured in the first node and/or a second maximum dwell duration carried by a service message.
  • the basis for obtaining the maximum dwell time is: the controller or the server configures a packet scheduling parameter based on a deadline (Deadline) for the links in the network.
  • a deadline for the links in the network.
  • the link that can accept the configuration may be a physical link or a virtual link. This application does not specifically limit this.
  • the Deadline packet scheduling parameters include: a maximum dwell time.
  • which refers to the maximum allowable dwell time length of a service message in a node, and is a time offset, measured at the moment when the message is received on the ingress port of the node or at The time generated by the control plane is used as the reference, and after the offset ⁇ , the deadline for the message to be sent from the egress port of the node is obtained.
  • the maximum dwell time ⁇ P+Q, where P is the forwarding delay of the message in the node, and Q is the scheduling delay of the message in the node.
  • the forwarding delay P refers to the time elapsed for a packet to be forwarded from the ingress port or the forwarding plane to the egress port, and is generally a fixed value.
  • Scheduling delay Q refers to the queuing delay of packets in a node.
  • the maximum dwell time ⁇ can be configured as a meaningful specific value, which generally needs to be greater than P.
  • the configuration process will be simplified , but this is not mandatory.
  • This configuration has a maximum dwell time ⁇ of a specific value, which is the first maximum dwell time in the node. It can be understood that the maximum dwell time ⁇ may not be configured with a specific value, that is, its value is undetermined. In this case, the determined maximum dwell time ⁇ value needs to be encapsulated in the forwarded message. It should be noted that the maximum dwell time ⁇ value determined by encapsulation in the forwarded message is the second maximum dwell time.
  • the encapsulation process is simpler when the message only carries a single maximum dwell time ⁇ .
  • the maximum dwell time ⁇ encapsulated in the message is The number of can be single or multiple.
  • the Deadline packet scheduling parameter further includes: a Deadline scheduling enabling switch.
  • the function of the Deadline scheduling enabling switch is to configure a Deadline scheduling capability for a physical link or a virtual link in the physical network.
  • the scheduling enable switch is used to enable or disable the Deadline scheduling capability.
  • the Deadline scheduling capability refers to the ability of a node or a link to forward service packets to a second node according to the dwell time and the maximum dwell time.
  • the Deadline scheduling enabling switch has an on state and an off state. When the Deadline scheduling enable switch of a link is turned on, it means that the packets forwarded to the link in the physical network or virtual network will be scheduled using the Deadline-based The dwell time within does not exceed the maximum dwell time.
  • the Deadline scheduling enable switch of a link When the Deadline scheduling enable switch of a link is turned off, the service packets forwarded to the link are not scheduled using the Deadline-based packet scheduling algorithm.
  • a link may be shared by multiple virtual networks. Generally, it can be distinguished whether the packet is in the physical network or the virtual network by means of the corresponding virtual network identification information included in the forwarding entry or the packet. It can be understood that different Deadline packet scheduling parameters can be configured for the same link in different virtual network contexts without affecting each other.
  • the Deadline packet scheduling parameter further includes: scheduling option information based on the maximum dwell time.
  • the scheduling option information is used to determine the intra-node maximum delay, the intra-node minimum delay and the intra-node delay jitter.
  • the delay and delay jitter in a node refer to the residence time and time jitter of a message in a node.
  • the scheduling option information is the first scheduling option information
  • the maximum intra-node delay is equal to the maximum dwell duration ⁇ , and the maximum intra-node delay is greater than or equal to the minimum intra-node delay.
  • the minimum intra-node delay is the forwarding delay P of the service message in the first node, and the forwarding delay is generally a fixed value.
  • the delay jitter within the node is the difference between the maximum delay within the node and the minimum delay within the node, which is ⁇ -P.
  • the scheduling option information is the second scheduling option information
  • the minimum intra-node delay and the maximum intra-node delay are both equal to the maximum dwell time
  • the intra-node delay jitter is the difference between the maximum intra-node delay and the minimum intra-node delay value, which is 0.
  • the scheduling option information is also used to indicate two different scheduling options when scheduling service packets in the node, including first scheduling option information and second scheduling option information.
  • the scheduling option information is the first scheduling option information
  • the scheduling option information is the second
  • scheduling option information the service message will be sent only when the dwell time in the node reaches the maximum dwell time ⁇ (or very close to it, the threshold can be configured for checking).
  • the default option of the scheduling option is the first scheduling option information.
  • the first scheduling option information is suitable for scheduling a deterministic network with a low delay requirement
  • the second scheduling option information is suitable for a deterministic network with a low delay jitter requirement.
  • the first node is to be configured with a Deadline scheduling enable switch, scheduling option information, maximum dwell time, maximum intra-node delay, minimum intra-node delay, and intra-node delay jitter.
  • Step S130 Acquiring the resident time, which represents the resident time of the service message in the first node.
  • the methods for obtaining the dwell time include: obtaining the first system time when the service message enters the first node, and then obtaining the current second system time of the service message in the first node, and the second system time and The difference of the first system time is the residence time of the service message in the first node.
  • a timer may also be used to start counting when the service message enters the first node, and obtain its residence time in the first node according to the timer.
  • Step S140 forward the service message to the second node according to the dwell time and the maximum dwell time.
  • the maximum dwell time may be a first maximum dwell time determined by a pre-configured value in the first node, or a second maximum dwell time determined by a value carried in a service message.
  • the service message is forwarded to the second node according to the dwell time and the first maximum dwell time; or, the service message is forwarded to the second node according to the dwell time and the second maximum dwell time.
  • the maximum dwell time is the first maximum dwell time
  • the service message is forwarded to the second node according to the scheduling option information and the actual dwell time of the service message in the first node.
  • the maximum dwell time is the second maximum dwell time
  • the service message is forwarded to the second node according to the scheduling option information and the actual dwell time of the service message in the first node.
  • step S140 is further described, and step S140 may include but not limited to step S141 , step S142 and step S143 .
  • Step S141 Forward the service packet to the egress port where the first node forwards information to the second node, and obtain scheduling option information in the attribute information of the egress port.
  • the first node may send service packets to multiple nodes including the second node, and the first node has multiple outgoing ports.
  • the outbound port has attribute information, which can be obtained according to the outbound port attribute information: the first node is to be configured with the Deadline scheduling enable switch, scheduling option information, maximum dwell time, maximum intra-node delay, intra-node minimum delay, and intra-node Latency jitter.
  • the attribute information of multiple egress ports in a node can be the same, or can be configured according to actual needs.
  • Step S142 Determine the minimum intra-node delay, the maximum intra-node delay, and the intra-node delay jitter according to the maximum dwell time and scheduling option information.
  • the first node When the first node is configured with the first maximum dwell time determined by the value, and the message does not carry the second maximum dwell time, then determine the allowable message in the first node according to the first maximum dwell time and scheduling option information Maximum intra-node delay and minimum intra-node delay for resident.
  • the first node When the first node is not configured with the first maximum dwell time determined by the value, and the message carries the second maximum dwell time determined by the value, then the first node is determined according to the second maximum dwell time and scheduling option information
  • the policy can be configured in the first node and the second maximum dwell time, the default policy is based on the second maximum dwell time carried in the service message; then determine the maximum time in the node that allows the message to reside in the first node according to the scheduling option information delay and the minimum delay within a node.
  • Step S143 forward the service message from the corresponding egress port according to the dwell time, the minimum delay in the node, the maximum delay in the node and the scheduling option information.
  • the scheduling option information is the first scheduling option information
  • the residence time of the service message is greater than the minimum delay in the node and less than the maximum delay in the node, the service message is allowed to be sent to the second node. If the residence time of the service message has reached or exceeded the maximum delay in the node, it should be sent immediately.
  • the service message is allowed to be sent if the dwell time of the service message reaches the maximum delay in the node.
  • the threshold can also be configured according to the maximum delay value. When the dwell time is within the threshold range, it means that the dwell time is very close to the maximum delay in the node, and the service message is allowed to be sent.
  • the first node may notify other nodes in the network of the deadline message scheduling parameters configured for the local link.
  • the distributed routing protocol includes an internal gateway protocol (Internal Gateway protocol, IGP) and an external gateway protocol.
  • the interior gateway protocol also includes intermediate system to intermediate system (Intermediate system to intermediate system, ISIS) and open shortest path first (Open Shortest Path First, OSPF) agreement and so on.
  • ISIS Intermediate system to intermediate system
  • OSPF Open Shortest Path First
  • the IGP protocol is an Intermediate System to Intermediate System (ISIS) protocol
  • ISIS Intermediate System to Intermediate System
  • a new Sub-TLV is added to the existing TLVs in this application, which is called the Deadline Scheduling subfield, which is recorded as Deadline Scheduling Sub-TLV, It is used to notify the Deadline message scheduling parameters of the link, the minimum intra-node delay, the maximum intra-node delay, and the intra-node delay jitter.
  • the scheduling parameter of the deadline packet includes an enable scheduling switch.
  • the link configuration enable scheduling switch under the ISIS instance of a node is on, the node needs to notify the Deadline Scheduling Sub-TLV for the link; when the link configuration enable scheduling switch is off , no notification is required.
  • Fig. 3 is the structural representation of the ISIS Deadline Scheduling Sub-TLV that the embodiment of the present application provides, and in this Sub-TLV structure, the explanation of each field is as follows:
  • Type occupies 1 byte. When its value is 10, it means that the content length of Deadline Scheduling Sub-TLV is 10 bytes.
  • Flags occupies 1 byte, which is a flag bit.
  • the flags defined therein include: D-Flag, S-Flag, Delta. In some embodiments, these flags are interpreted as follows.
  • D-Flag Delta-valid Flag, the maximum dwell time valid flag, indicating whether the subsequent Delta field contains a meaningful definite value, 0 means not included, 1 means included.
  • S-Flag Scheduling-option Flag, scheduling option flag, indicating how to schedule packets based on the determined maximum dwell time ⁇ value. 0 indicates the information of the first scheduling option, that is, when the residence time of the forwarded message in the node is within the range of [P, ⁇ ], the message is scheduled; 1 indicates the information of the second scheduling option, that is, the forwarded message is in When the dwell time in the node is the maximum dwell time ⁇ , the packet is scheduled.
  • Delta 2 bytes, indicating the maximum residence time ( ⁇ ) of the message allowed in the node, and the unit is us.
  • the maximum residence time
  • Min Delay Intra Node Occupies 2 bytes, indicating the minimum delay of the message in the node, the unit is us, that is, the minimum residence time of the message in the node. If the scheduling option is the first scheduling option information, the minimum delay in the node is P (that is, the forwarding delay, generally a fixed value, explicitly specified by the message notifier); if the scheduling option is the second scheduling option information, the node The inner minimum delay is ⁇ .
  • Max Delay Intra Node Occupies 2 bytes, indicating the maximum delay of the message in the node, the unit is us, that is, the maximum residence time of the message in the node. Regardless of whether the scheduling option is the first scheduling option information or the second scheduling option information, the maximum delay within a node is the maximum dwell time ⁇ .
  • Delay Variation Intra Node Occupies 2 bytes, indicating the delay jitter of the message in the node, the unit is us, that is, the jitter of the residence time of the message in the node. If the scheduling option is the first scheduling option information, the intra-node delay jitter is ⁇ -P; if the scheduling option is the second scheduling option information, the intra-node delay jitter is 0.
  • the IGP protocol is an Open Shortest Path First (OSPF) protocol
  • OSPF Open Shortest Path First
  • it can also be extended based on the existing TLVs of the OSPF protocol, which is used to notify the packet scheduling parameters of the link and the delay and time in the node. delay jitter. This application does not specifically describe the extension of the OSPF protocol.
  • any source node on the link configured with this parameter can establish a deterministic path with deterministic delay information to any destination node, and the deterministic path can be used for Transmit business messages with definite time requirements.
  • the Deadline packet scheduling parameters of the links in the network and the deterministic delay and delay jitter obtained according to these parameters are notified and obtained through the IGP.
  • SPF Shortest Path First
  • metric-type the metric type of the IGP itself as the deadline delay (Deadline-delay)
  • Traffic Engineering Traffic Engineering
  • FIG. 4 is a schematic flowchart of a method for establishing a path according to an embodiment of the present application.
  • the service message forwarding method may include but not limited to step S410, step S420 and step S430.
  • Step S410 Obtain a service message, and the service message includes a time requirement.
  • an application scenario of ultra-high reliability and low-latency communication is proposed.
  • services can be required to have end-to-end delay and strict boundaries for delay jitter, that is, service packets need to have definite time requirements, and such service packets are also called deterministic services.
  • the time requirement of the service message can be obtained from the service level agreement (Service Level Agreement, SLA) of the service message, and the delay requirement can include the delay requirement and the delay jitter requirement.
  • SLA Service Level Agreement
  • Step S420 Obtain the pre-configured maximum dwell time of each node in the candidate path and the fixed time delay determined according to the node.
  • the maximum residence time represents the maximum duration that a service message is allowed to reside in each node
  • the fixed delay is the transmission delay of the link between each two nodes
  • the candidate path represents the corresponding The path between the source node and the destination node.
  • the fixed delay in this application refers to the transmission time of the message on the link when one end node of the link sends a message to the peer node through the link, which is generally related to the physical distance and transmission time. Media dependent fixed value.
  • the link is configured with Deadline packet scheduling parameters.
  • the configured Deadline packet scheduling parameters make the link resources deterministic. According to the configured parameters, the deterministic delay and delay jitter inside the node can be obtained.
  • the node is to be configured with the Deadline scheduling enable switch, scheduling option information, the maximum dwell time determined by the value, the maximum delay within the node, the minimum delay within the node, and the delay jitter within the node.
  • Step S430 Determine the target path that meets the time requirement from the candidate paths according to the maximum dwell time and the fixed delay.
  • the source node and the destination node are specified in the service message, multiple candidate paths can be obtained according to the source node and the destination node indicated by the service message; if the source node is not specified but the destination node is specified in the service message , the first node that enters the network is used as the source node, and multiple candidate paths are obtained from the source node and the destination node; and then the target path that meets the time requirement is determined from the candidate paths.
  • step S430 is further described, and this step S430 may also include but not limited to the following steps:
  • Step S510 Determine the minimum intra-node delay, maximum intra-node delay, and intra-node delay jitter of each node on the candidate path according to the maximum dwell time and scheduling option information.
  • the node is pre-configured with scheduling option information, maximum delay within the node, and minimum delay within the node.
  • scheduling option information is the first scheduling option information
  • the maximum delay within the node is equal to the maximum dwell time
  • the minimum delay within the node is the service report.
  • the forwarding delay of the text in the node; the maximum delay in the node is greater than or equal to the minimum delay in the node.
  • both the minimum intra-node delay and the maximum intra-node delay are equal to the maximum dwell time.
  • Step S520 Obtain the cumulative delay of the candidate path according to the preset path calculation strategy and the time requirement of the service message, as well as the fixed delay, the minimum delay within each node, and the maximum delay within each node.
  • step S520 is further described in conjunction with FIG. 6 , and step S520 is also It may include but not limited to step S610, step S620 and step S630:
  • Step S610 According to a preset path calculation strategy, choose to use the minimum intra-node delay or the maximum intra-node delay as the intra-node delay.
  • the preset route calculation strategy can be adjusted in real time by those skilled in the art according to actual needs.
  • the route calculation strategy can also choose to use the average value of the minimum delay within the node and the maximum delay within the node as the delay within the node .
  • Step S620 Obtain the cumulative delay of the candidate path according to the intra-node delay and the fixed delay.
  • the accumulated delay is the accumulated value of the intra-node delay of all nodes in the candidate path and the fixed delay of links on all candidate paths.
  • this step firstly, obtain the fixed delay of inter-link transmission on the candidate path, and obtain the maximum intra-node delay and the minimum intra-node delay of each node according to the pre-configured message scheduling parameters in each node.
  • the fixed delay refers to the transmission delay of the link between each two nodes, which is generally related to the physical properties of the transmission medium.
  • the value of the intra-node delay of each node is obtained.
  • the accumulated intra-node delay is calculated according to the intra-node delay of each node on the candidate path, and the accumulated fixed delay is obtained according to the fixed delay of transmission between links on the candidate path.
  • Step S630 Determine the target path from the candidate paths according to the accumulated time delay of the candidate paths, and the accumulated time delay of the target path is less than or equal to the time delay requirement.
  • the cumulative delay of the candidate path is the sum of the cumulative intra-node delay and the cumulative fixed delay. It can be understood that when the path calculation strategy selects the minimum intra-node delay as the intra-node delay for path calculation, the cumulative delay of the candidate path is the sum of the accumulated minimum intra-node delay and the cumulative fixed delay. When the route calculation strategy selects the maximum delay in the node for route calculation, the accumulated delay of the candidate path is the sum of the accumulated maximum delay in the node and the accumulated fixed delay. It should be noted that the fixed delay at this time is the transmission delay between links on the candidate path.
  • the target path is selected from the candidate paths according to the time delay requirements of the service packets.
  • the accumulated delay of the selected target path is less than or equal to the delay requirement of the service message.
  • the service SLA may include a margin configuration, that is, if the cumulative delay of the candidate path exceeds the delay requirement of the service packet, but the excess is within the configured margin range, the path It also meets business needs.
  • step S430 is further described in conjunction with FIG. 7 , and step S520 may also include, but is not limited to, step S710, step S720, and step S730:
  • Step S710 Obtain the intra-node delay jitter according to the maximum intra-node delay and the minimum intra-node delay.
  • the delay jitter within a node is the difference between the maximum delay and the minimum delay within the node.
  • the minimum delay, maximum delay and delay jitter within the node can be determined according to the maximum dwell time and scheduling option information. I won't repeat them here. In this case, the transmission delay on the link is not considered, and the path that meets the delay and jitter requirements of service packets can be obtained relatively quickly.
  • Step S720 Accumulated delay jitter of the candidate path is obtained according to intra-node delay jitter, where the accumulated delay jitter is an accumulated value of intra-node delay jitter of all nodes in the candidate path.
  • the accumulated delay jitter of all candidate paths can be obtained, which provides abundant and reliable options for selecting the target path.
  • Step S730 Determine the target path from the candidate paths according to the delay jitter requirement and the accumulated delay jitter of the candidate paths, where the accumulated delay jitter of the candidate path is less than or equal to the delay jitter requirement.
  • the accumulated delay jitter of the target path determined from the candidate paths meets the delay jitter requirement of the service message.
  • Meeting the delay jitter requirements of service packets means that the cumulative delay jitter of the candidate path is less than or equal to the delay jitter requirements of service packets.
  • the service SLA may include a margin configuration, that is, the cumulative delay jitter of the candidate path exceeds the delay jitter requirement of the service packet, but the excess part is within the configured margin range, then This candidate path also meets business requirements.
  • this embodiment still needs to combine the path calculation strategy to obtain the intra-node delay of the target path, and then obtain the cumulative delay of the target path, so that nodes on the target path can forward services according to deterministic delay or delay jitter message.
  • step S520 is further described in conjunction with FIG. S840 and step S850:
  • Step S810 Obtain the intra-node delay jitter according to the maximum intra-node delay and the minimum intra-node delay.
  • the delay jitter within the node is the difference between the maximum delay within the node and the minimum delay within the node.
  • Step S820 Obtain the accumulated delay jitter of the candidate path according to the intra-node delay jitter.
  • the accumulated delay jitter is the accumulated value of intra-node delay jitter of all nodes in the candidate path, and the accumulated delay jitter of all candidate paths is obtained based on this step.
  • Step S830 According to a preset path calculation strategy, use the minimum intra-node delay or the maximum intra-node delay as the intra-node delay.
  • Step S840 Obtain the cumulative delay of the candidate path according to the intra-node delay and the fixed delay.
  • the cumulative delay is the cumulative value of the intra-node delays of all nodes in the candidate path and the fixed delays of all links, and the fixed delay is the transmission delay between links. Based on this step, the accumulated time delays of all candidate paths can be obtained.
  • Step S850 Determine the target path from the candidate paths according to the delay requirement and cumulative delay, the delay jitter requirement and the cumulative delay jitter, the cumulative delay of the target path is less than or equal to the delay requirement, and the cumulative delay of the target path The jitter is less than or equal to the delay jitter requirement.
  • step S520 is further described, and this step S520 may also include but not limited to step S910 and step S920:
  • Step S910 When the time requirement of the service message is to have the minimum cumulative delay, according to the preset path calculation strategy, use the minimum intra-node delay or the maximum intra-node delay as the intra-node delay.
  • Step S920 Determine the target path corresponding to the minimum cumulative delay from the candidate paths according to the intra-node delay and the fixed delay.
  • the accumulated delay is the intra-node delay of all nodes in the target path and the fixed Accumulated value of delay.
  • the fixed delay of the link between each two nodes is the transmission delay of the link between each two nodes, which is generally a fixed value.
  • steps S910 to S920 in the embodiment shown in FIG. 9 are the same as steps S610 to S630 in the embodiment shown in FIG. 6
  • step S810 to step S850 in the embodiment shown in FIG. 8 are mutually juxtaposed technical solutions, all of which determine the target path that meets the time requirement from the candidate paths according to the maximum dwell time and the fixed delay
  • a deterministic link that meets the service message requirements is selected for the transmission of service messages, which reduces the waste of resources and improves the utilization of link resources in the network.
  • FIG. 10 is a schematic network diagram of an SPF path established based on the maximum dwell time and delay provided by an embodiment of the present application.
  • the virtual network is created using the IGP flexible algorithm (Flexible Algorithm, Flex-algo), also known as the Flex-algo plane. Run the IGP shortest path first (SPF) path calculation based on the deadline-delay metric metric type in the virtual network.
  • the IGP Flex-algo128 plane contains 5 nodes, namely the first node R1110, the second node R2120, the third node R3130, the fourth node R4140 and the fifth node R5150; each link is a bidirectional link .
  • the fixed transmission delay parameters outside the node of each link are marked in the figure, for example, the fixed transmission delay outside the node of the link between the first node R1110 and the second node R2120 is 10us.
  • Deadline scheduling enable switch is on, and the maximum dwell time ⁇ is 30us
  • the scheduling option information is the first scheduling option information
  • the minimum delay within the node is 10us
  • the maximum delay within the node is 30us
  • the delay jitter within the node is 20us.
  • prefix Prefix
  • SPF forwarding entries When an SPF path based on the maximum dwell time and delay information is established on any source node in the virtual network to any destination node, prefix (Prefix) routing entries to other destination nodes can be established on the source node (or MPLS label entries, or SID entries of Segment Routing, or SRv6 Locator entries, etc.), these routing entries are used to guide packets to be forwarded using SPF paths with deterministic delay information, and these forwarding entries These are collectively referred to as deterministic SPF forwarding entries.
  • the deterministic forwarding entry established in the virtual network will use a separate Prefix or a separate MPLS label, or a separate SID, or a separate SRv6 Locator label, in order to link the deterministic forwarding entry with other virtual networks or
  • the forwarding entries of the original physical network are distinguished.
  • routing entry (other label entry or SID entries are similar) as follows:
  • Forwarding information includes: next hop node (next_hop), outgoing port (interface), path calculation policy (calc_policy), cumulative delay of the entire path (total_metric), cumulative minimum intra-node delay (total_min_metric_intra_node), cumulative maximum intra-node delay Latency (total_max_metric_intra_node) and cumulative intra-node latency jitter (total_metric_variation).
  • the output port further includes the following attribute information: Deadline scheduling enable switch, maximum dwell time ⁇ is a definite value or an undetermined value, scheduling option information, minimum intra-node delay, maximum intra-node delay, and intra-node delay shake.
  • the first node R1110 uses itself as the root to calculate a schematic diagram of an SPF path with delay jitter based on the maximum dwell time as shown in FIG. 11 .
  • the IGP Flex-algo128 plane contains 5 nodes, namely the first node R1210, the second node R2220, the third node R3230, the fourth node R4240 and the fifth node R5250; each link is a bidirectional link .
  • the sum of the internal node delay of the link and the external fixed delay of the link, as well as the internal delay jitter of the node are marked on each link. For example, the delay contribution of the outgoing ports of the first node R1210 and the second node R2220 is 10us+10us, the contribution of delay jitter is 20us.
  • the deterministic cumulative delay of the SPF path (R1-R2-R4-R5) based on the maximum dwell time is 70us, and the deterministic cumulative The delay jitter is 60us.
  • Such a path can be used to carry the service traffic between R1 and R5. If the SLA requirements of the service packet on delay and delay jitter are greater than or very close to the cumulative delay and cumulative delay jitter of the deterministic path, Then the deterministic path is used as the target path for transmitting the service message.
  • the interfacelink (R1-R2) further includes the following attribute information: the Deadline scheduling enable switch is on; the maximum dwell time ⁇ is 30us; the scheduling option message is the first scheduling option information; the minimum delay in the node is 10us ;The maximum delay within the node is 30us; the delay jitter within the node is 20us.
  • the head node R1210 intends to use Prefix-R5 to bear the service.
  • the message sent to the outgoing port link (R1-R2) will be waiting to be sent in the queue (or other data structure) in the node related to the outgoing port.
  • the implementation based on the maximum Deadline packet scheduling.
  • the second node R2220 receives the message, it also hits the deterministic SPF forwarding entry whose key value is Prefix-R5 (the establishment process is similar to that of the first node R1210, except that the next hop is the fourth node R4240 ), also implement Deadline-based packet scheduling for packets.
  • the message is delivered to the fourth node R4240.
  • the fourth node R4240 receives the message, it also hits the deterministic SPF forwarding entry whose key value is Prefix-R5 (the establishment process is similar to that of the first node R1210, except that the next hop is the fifth node R5250 ), also implement Deadline-based packet scheduling for packets.
  • the message is delivered to the fifth node R5250.
  • this embodiment discusses establishment of a deterministic SPF path that avoids delay jitter and forwarding based on the path.
  • the links of all nodes in the network are configured with consistent Deadline message scheduling parameters, and these links have consistent intra-node delay and delay jitter attributes, as follows: Deadline scheduling enable switch The maximum dwell time ⁇ is 30us; the scheduling option information is the second scheduling option information; the minimum delay within the node is 30us; the maximum delay within the node is 30us; the delay jitter within the node is 0. Similarly, configure the FAD of IGP Flex-algo 128, and configure the path calculation strategy to choose to use the smallest intra-node delay to participate in the calculation of the cumulative Deadline-delay metric of the path.
  • the first node R1110 uses itself as the root to calculate a schematic diagram of the SPF path without delay and jitter based on the maximum dwell time as shown in FIG. 12 .
  • the IGP Flex-algo128 plane contains 5 nodes, namely the first node R1310, the second node R2320, the third node R3330, the fourth node R4340 and the fifth node R5350.
  • the sum of the internal node delay and the external node delay of the link, as well as the internal node delay jitter are marked on each link. For example, the delay contribution of the outgoing ports of the first node R1310 and the second node R2320 is 30us +10us, the contribution of delay jitter is 0.
  • the cumulative deterministic delay of the SPF path (R1-R2-R4-R5) based on the maximum dwell time is 130us, and the cumulative deterministic Delay jitter is 0.
  • Such a path can be used to bear the service flow between the first node R1310 and the fifth node R5350, if the SLA of the service requires a delay and a delay jitter to be greater than or very close to these two values respectively.
  • the interface link (R1-R2) further includes the following attribute information: the Deadline scheduling enable switch is on, the maximum dwell time ⁇ is 0us, the scheduling option is the second scheduling option information, and the minimum delay in the node is 30us , the maximum delay within the node is 30us, and the delay jitter within the node is 0.
  • the head node R1310 intends to use Prefix-R5 to carry the service.
  • the message sent to the outgoing port link (R1-R2) will wait to be sent in the queue (or other data structure) in the node related to the outgoing port, and implement the Deadline message according to the attribute information of the outgoing port scheduling.
  • the resident time of the message it is judged whether the resident time has reached the maximum delay of 30us in the node or is very close, and if so, it is allowed to send.
  • the second node R2320 and the fourth node R4340 receive the message, they also hit the deterministic SPF forwarding entry whose key value is Prefix-R5 (the establishment process is similar to that of the first node R1310, except that the next hop Nodes are different), and Deadline scheduling is also implemented for packets.
  • the message is delivered to the next hop node until the fifth node R5350 of the destination node receives the service message.
  • FIG. 13 is a schematic diagram of a network with a TE path established based on the maximum dwell time and delay according to an embodiment of the present application.
  • a network as shown in Figure 13 which may be a physical network or a virtual network.
  • the network includes 6 nodes, namely the first node S510, the second node A520, the third node B530, the fourth node C540, the fifth node D550 and the sixth node E560.
  • the fixed delay parameter outside the node of each link is marked in the figure, and this parameter indicates that the minimum delay outside the node of the link between the first node S510 and the second node A520 is 20us.
  • Deadline scheduling enable switch is on, and the maximum dwell time is 30us
  • the scheduling option information is the second scheduling option information
  • the minimum delay within the node is 30us
  • the maximum delay within the node is 30us
  • the delay jitter within the node is 0.
  • the configuration path calculation constraint condition is to use the maximum dwell time and the Latency information.
  • the first node S510 will select those link resources in the link state database whose Deadline scheduling enable switch is turned on to participate in the path calculation, and finally select an end-to-end cumulative delay
  • the smallest path is taken as the optimal path, namely S-A-C-E-D.
  • the accumulated time delay of the path is 180us, the accumulated time delay inside the node is 120us, and the accumulated fixed time delay outside the node is 60us.
  • a deterministic SR policy can be created on the first node S510.
  • SR policy is identified by a triplet, namely Headend, Color, and Endpoint.
  • the headend is the location where the SR policy is generated or implemented
  • the endpoint is the endpoint of the SR policy, which is an IPv4/IPv6 address, and the color is used to distinguish multiple SR policies.
  • the deterministic SR policy has the following information:
  • Routing information is ⁇ A, C, E, D>, and the path calculation strategy is to use the minimum node delay to participate in the accumulation Deadline-delay metric calculation, the cumulative delay on the link is 180us, the cumulative maximum delay in the node is 120us, the cumulative minimum delay in the node is 120us, the cumulative delay jitter in the node is 0, and the cumulative fixed delay on the link It is 60us.
  • the first node S510 intends to use the above-mentioned SR policy to carry the service.
  • the message is forwarded to the first segment (Segment) node A, and it will further hit the Deadline-delay SPF entry of node A.
  • the creation of this entry refers to the foregoing embodiment, and will not be repeated here.
  • the message will wait to be sent in the queue or other data structure in the node related to the outgoing port.
  • the Deadline scheduling enable switch of the outgoing port the maximum dwell time ⁇ is 30us, and the scheduling
  • the option information is the second scheduling option information, the minimum delay within the node is 30us, the maximum delay within the node is 30us, and Deadline message scheduling is implemented.
  • the difference between the current system time and the dwell time is obtained, and then check whether the dwell time has reached the maximum delay of 30us in the node or is very close, yes Then it is allowed to send.
  • the second node A520, the fourth node C540, and the sixth node E560 receive the message, they will further hit a deterministic SPF entry in the node (the establishment process is similar to that of the first node S510, except that One hop node is different), send to the corresponding outbound port, and implement message scheduling based on the maximum dwell time for the message, until the fifth node D550 of the destination node receives the service message
  • the Segment List of the SR policy created on the first node S510 can also be ⁇ link(S-A), link(A-C), link(C-E), link(E-D)>, which is a strict single-item link .
  • link cross-forwarding entries such as Adjacency SID or END.X SID entries of Segment Routing, which will not be described here.
  • the controller can collect network topology information, including Deadline scheduling parameter information and deterministic delay attributes of each link in the network, and then obtain information such as the cumulative delay of the path.
  • the calculation process of the controller is similar to the calculation process of the first node S510.
  • the calculation can be performed in the source node.
  • the calculation process is similar to the calculation process of the source node in the above IGP domain, the difference is that the calculation is based on a wider link state database including more IGP domains.
  • the Deadline packet scheduling parameters and deterministic delay attributes of each link required in the traffic engineering path calculation process can be collected by the controller.
  • the controller can collect the Deadline scheduling parameter information and deterministic delay attributes of each link in the network through Border Gateway Protocol Link-state (BGP-LS) and other protocols, and refer to the aforementioned IGP protocol To expand protocols such as BGP-LS, details are not described here.
  • Border Gateway Protocol Link-state BGP-LS
  • FIG. 14 is a schematic flowchart of another path establishment method provided in the embodiment of the present application, including:
  • Step S1410 Obtain a service message, which includes time requirement information.
  • Step S1420 Acquire the cumulative link transmission delay of each candidate path, the cumulative link transmission delay is the cumulative value of the transmission delay of all links between nodes in the candidate path, and the candidate path represents the corresponding The path between the source node and the destination node.
  • the transmission delay of links between all nodes in the candidate path is generally a fixed value, so the cumulative link transmission delay of each candidate path is also a fixed value.
  • Step S1430 Determine the target path from the candidate paths according to the accumulated link transmission delay and time requirement information, and determine the maximum dwell time of each node in the target path.
  • the maximum dwell time indicates that the service message is allowed to reside in the node
  • the maximum dwell time, the maximum dwell time is configured in the service message.
  • the candidate paths with definite values of accumulated delay and accumulated delay jitter can be obtained.
  • the target path that meets the service message transmission requirements can be obtained based on the accumulated delay of the path and the delay requirement of the service message, or according to the accumulated delay jitter of the candidate path and the delay jitter requirement of the service message.
  • the target path can be determined according to the cumulative link transmission delay of the candidate path, and then the maximum resident of each node in the target path can be determined according to the cumulative delay expression of the target path or the cumulative delay jitter expression and time requirement information duration.
  • step S1430 is further described, and step S1430 may also include, but not limited to, step S1510 , step S1520 , step S1530 and step S1540 .
  • Step S1510 When the time requirement information indicates that the target path has the minimum cumulative delay, determine the target path with the minimum cumulative link transmission delay from the candidate paths according to the cumulative link transmission delay, and the cumulative link transmission delay is the target path The cumulative value of the transmission delay of all links in .
  • the value of the maximum dwell time when the value of the maximum dwell time is not determined, the value of the cumulative delay on the candidate path is not determined, so when comparing the performance in terms of delay, only the cumulative link transmission time in the candidate path is compared Delay, in order to select the target path with the minimum cumulative link transmission delay.
  • Delay when selecting a target path for service message transmission, it is also necessary to calculate the cumulative delay of the target path and determine the maximum dwell time of each node on the target path, so that the node can forward according to the determined delay or delay jitter business message.
  • Step S1520 According to a preset path calculation strategy, use the minimum intra-node delay or the maximum intra-node delay as the intra-node delay.
  • Step S1530 Obtain the accumulated delay of the target path according to the accumulated link transmission delay and the intra-node delay, where the accumulated delay is the accumulated value of the intra-node delays of all nodes in the target path and the transmission delays of all links.
  • the accumulated delay of the candidate path in this step may be the sum of the accumulated maximum delay in the node and the accumulated link transmission delay, or It is the sum of the minimum delay in the cumulative node and the cumulative link transmission delay.
  • the minimum delay and maximum delay in each node are determined by the pre-configured scheduling option information and maximum dwell time in the node. In some embodiments, the node is pre-configured with scheduling option information, maximum delay and minimum delay.
  • the scheduling option information is the first scheduling option information
  • the maximum delay in the node is equal to the maximum dwell time
  • the minimum delay in the node is the forwarding delay of the service message in the node
  • the maximum delay in the node is greater than or equal to the minimum time in the node delay.
  • both the minimum intra-node delay and the maximum intra-node delay are equal to the maximum dwell time.
  • Step S1540 Determine the target path with the minimum cumulative time delay according to the time requirement information and the cumulative time delay of the target path, and determine the maximum dwell time of each node in the target path.
  • the maximum dwell time can be obtained according to the delay requirement of the service message and the cumulative delay expression of the candidate path containing the maximum dwell time with an undetermined value. value. It should be noted that the maximum dwell time should be at least greater than the forwarding delay P in each node along the path.
  • the ingress node where the service message enters the network also gives an appropriate experience value and the maximum dwell time ⁇ according to its own forwarding delay P and combined with the SLA requirements of the service message.
  • the ingress node configures the maximum residence time in the service message, so that the intermediate nodes on the target path can obtain the maximum residence time in the service message, and forward the message based on the determined deadline and delay to meet the service requirements.
  • End-to-end delay requirement or end-to-end delay jitter requirement of packets are end-to-end delay requirement or end-to-end delay jitter requirement of packets.
  • the time requirement information is a delay jitter requirement
  • the method of determining the value of the maximum dwell duration is the same as that in this step, so details are not repeated here.
  • Embodiment 4 On the basis of Embodiment 1, the path is calculated based on the maximum dwell time carried in the service message and the service message is forwarded.
  • Deadline scheduling enable switch The maximum dwell time ⁇ is an undetermined value, represented by ⁇ us; the scheduling option information is the second scheduling option information; the minimum delay within the node is ⁇ ; the maximum delay within the node is ⁇ ; the delay jitter within the node is 0 .
  • the FAD of IGP Flex-algo 128, set the metric type (index type) to Deadline-delay metric, and configure the path calculation strategy to choose to use the smallest intra-node delay to participate in the calculation of the path accumulation Deadline-delay metric.
  • the first node R1110 uses itself as the root to calculate a schematic diagram of the SPF path without delay and jitter based on the undetermined maximum dwell time as shown in FIG. 16 .
  • the IGP Flex-algo128 plane contains 5 nodes, namely the first node R1410, the second node R2420, the third node R3430, the fourth node R4440 and the fifth node R5450.
  • the sum of the internal node delay and external fixed delay of the link, as well as the internal node delay jitter are marked on each link. For example, the delay contribution of link-R1-R2 is ⁇ +10us, The contribution of delay jitter is 0.
  • the maximum dwell time may be an empirical value determined by those skilled in the art, or may be determined according to the delay requirement of service packets and the cumulative delay expression.
  • the cumulative deterministic delay of the Deadline-delay SPF path (R1-R2-R4-R5) with the first node R1410 as the source node and the fifth node R5450 as the destination node is 3 ⁇ +40us.
  • Delay jitter is 0.
  • the head node specifies the appropriate maximum dwell time ⁇ and substitutes it into The formula 3 ⁇ +40 makes the delay and delay jitter of the path less than or very close to the delay and delay jitter required by the service SLA.
  • the output ports of the first node R1410 and the second node R2420 further include the following attribute information: the Deadline scheduling enable switch is on; the maximum dwell time is ⁇ us with an uncertain value; the scheduling option is the second scheduling option Information; the minimum delay within a node is ⁇ us; the maximum delay within a node is ⁇ us; the delay jitter within a node is 0.
  • the first node R1410 intends to use Prefix-R5 to carry the service, and it will choose
  • the appropriate maximum dwell time ⁇ such as 30us, is substituted into the formula 3 ⁇ +40us corresponding to the total_metric in the forwarding information, and the determined total_metric value is 130us (i.e. delay), and the delay jitter is 0, which can meet business requirements.
  • the first node R1410 encapsulates the service message and delivers it to the fifth node R5450, it will carry its designated maximum dwell time ⁇ of 30us in the message (such as IPv6Hop-by-Hop extension header, IPv6SA field).
  • the maximum dwell time ⁇ of 30us in the message (such as IPv6Hop-by-Hop extension header, IPv6SA field).
  • the message sent to the outgoing port link (R1-R2) will be waiting to be sent in the queue of the node related to the outgoing port.
  • the message scheduling based on Deadline is implemented.
  • the dwell time of the message judge whether the dwell time has reached the maximum delay of 30us in the node (that is, the maximum dwell time ⁇ obtained from the message is 30us) or is very close, if yes, then allow send.
  • the second node R2420 and the fourth node R4440 receive the message, they also hit the deterministic SPF forwarding entry whose key value is Prefix-R5 (the establishment process is similar to that of the first node R1410, except that the next hop Nodes are different), the maximum dwell time ⁇ obtained from the message is 30us, and Deadline scheduling is also implemented for the message.
  • the message is delivered to the next hop node until the fifth node R5450 of the destination node receives the service message.
  • FIG. 17 shows a network device 1700 provided by an embodiment of the present application.
  • the network device 1700 includes: a processor 1701 , a memory 1702 , and a computer program stored in the memory 1702 and operable on the processor.
  • the processor 1701 and the memory 1702 may be connected through a bus or in other ways.
  • the non-transitory software programs and instructions required to implement the routing method of the above-mentioned embodiment are stored in the memory, and when executed by the processor, the service packet forwarding method and the path establishment method of the above-mentioned embodiment are executed, for example, the above-described Method steps S110 to S140 in Fig. 1, method steps S141 to S143 in Fig. 2, method steps S410 to S430 in Fig. 4, method steps S510 to S520 in Fig. 5, method steps S610 to S630 in Fig. 6, Method steps S710 to S730 in Fig. 7, method steps S810 to S850 in Fig. 8, method steps S910 to S920 in Fig. 9, method steps S1410 to S1430 in Fig. 14 and method steps S1510 to S1430 in Fig. 15 S1540.
  • the device embodiments described above are only illustrative, and the units described as separate components may or may not be physically separated, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the modules can be selected according to actual needs to realize the purpose of the solution of this embodiment.
  • an embodiment of the present application also provides a computer-readable storage medium, the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are executed by a processor or a controller, for example, by the above-mentioned Executed by a processor in the embodiment of the routing device, the above-mentioned processor can execute the service message forwarding method and the path establishment method of the above-mentioned embodiment, for example, execute the method steps S110 to S140 in FIG. 1 described above, and the method steps in FIG. 2 Method steps S141 to S143, method steps S410 to S430 in Fig. 4, method steps S510 to S520 in Fig. 5, method steps S610 to S630 in Fig.
  • the embodiment of the above-mentioned first aspect of the present application has at least one of the following advantages or beneficial effects: receiving service messages; The maximum duration in the node; obtain the resident duration, the resident duration characterizes the resident duration of the service message in the first node; according to the resident duration and the maximum resident The duration forwards the packet to the second node.
  • the first node can schedule the message more flexibly and quickly during the process of forwarding the message: according to the maximum dwell time allowed by the first node and the actual The residence time is long, and the message is forwarded to the second node in a timely manner, so that the transmission of the message can meet the end-to-end delay requirement of the deterministic network, and the utilization rate of network resources is improved.
  • the embodiment of the above-mentioned second aspect of the present application has at least one of the following advantages or beneficial effects: obtain a service message, the service message includes a time requirement; obtain the pre-configured maximum dwell time of each node in the candidate path and according to The fixed time delay determined by the node, the maximum residence time characterizes the maximum time that a service message is allowed to reside in each node, and the fixed time delay is the transmission of each link between two nodes Delay, the candidate path represents the path between the source node and the destination node corresponding to the service message; determine the target path that meets the time requirement from the candidate paths according to the maximum dwell time and fixed time delay.
  • the embodiment of the above-mentioned third aspect of the present application has at least one of the following advantages or beneficial effects: obtaining service messages, which include time requirement information; obtaining the cumulative link transmission delay of each candidate path, and the cumulative link transmission time Delay is the accumulated value of the transmission delay of links between all nodes in the determined path, and the candidate path represents the path between the source node and the destination node corresponding to the service message; according to the accumulated link transmission delay and the The time requirement information determines the target path from the candidate paths, and determines the maximum residence time of each node in the target path.
  • the maximum residence time represents the maximum time that a service message is allowed to reside in a node.
  • the maximum residence time configuration in business messages is possible to be obtained.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cartridges, tape, magnetic disk storage or other magnetic storage devices, or can Any other medium used to store desired information and which can be accessed by a computer.
  • 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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种业务报文转发方法、路建立方法及计算机可读存储介质。其中,业务报文转发方法包括:接收业务报文(S110);获取最大驻留时长,所述最大驻留时长表征所述业务报文允许驻留在所述第一节点中的最大时长(S120);获取已驻留时长,所述已驻留时长表征所述业务报文在所述第一节点中已经驻留的时长(S130);根据所述已驻留时长和所述最大驻留时长将所述报文转发至第二节点(S140)。

Description

业务报文转发方法、路径建立方法及存储介质
相关申请的交叉引用
本申请基于申请号为202111486823.6、申请日为2021年12月07日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本申请实施例涉及但不限于通信技术领域,尤其涉及一种业务报文转发方法、路径建立方法及计算机可读存储介质。
背景技术
面对诸如工业互联网、远程医疗等时延敏感型业务,传统网络的尽力而为的转发方式已无法满足此类业务对网络时延的需求,确定性网络技术受到越来越多的关注。在现有技术中,控制器预先为待传输的流量计算它所经历的每个路由器的本地截止时间(Deadline),并将这些本地截止时间形成一个堆栈然后随转发的数据报文携带,每个路由器根据自己的本地截止时间对报文进行优先级调度,以达到确定性的时延要求。然而,在一些场景中并不存在集中式的控制器,此时需要依赖分布式的路由协议去计算得到确定性路由。报文中包含截止时间堆栈且为绝对时间,绝对时间需要使用更多的字节表示,则封装开销太大,且无法适应中间节点需要调整转发路径的行为。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
第一方面,本申请实施例提供了一种业务报文转发方法,应用于确定性网络中的第一节点,包括:接收业务报文;获取最大驻留时长,所述最大驻留时长表征所述业务报文允许驻留在所述第一节点中的最大时长;获取已驻留时长,所述已驻留时长表征所述业务报文在所述第一节点中已经驻留的时长;根据所述已驻留时长和所述最大驻留时长将所述报文转发至第二节点。
第二方面,本申请实施例提供了一种路径建立方法,包括:获取业务报文,所述业务报文包括时间要求;获取候选路径中的每个节点所预配置的最大驻留时长以及根据所述节点确定的固定时延,所述最大驻留时长表征所述业务报文允许驻留在所述各个节点中的最大时长,所述固定时延为每两个所述节点间的链路的传输时延,所述候选路径表征所述业务报文对应的源节点和目的节点之间的路径;根据所述最大驻留时长和所述固定时延从所述候选路径中确定满足所述时间要求的目标路径。
第三方面,本申请实施例还提供了一种路径建立方法,包括:获取业务报文,所述业务报文包括时间要求信息;获取每个候选路径的累计链路传输时延,所述累计链路传输时延为所述候选路径中所有的节点间的链路的传输时延的累加值,所述候选路径表征所述业务报文对应的源节点和目的节点之间的路径;根据所述累计链路传输时延以及所述时间要求信息从所述候选路径中确定目标路径,并确定目标路径中每个节点的最大驻留时长,所述最大驻留时长表征所述业务报文允许驻留在所述节点中的最大时长,所述最大驻留时长配置在所述业务报文中。
第四方面,本申请实施例还提供了一种网络设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述第一方面的业务报文转发方法或实现如上所述第二方面或第三方面的路径建立方法。
第五方面,本申请实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如上所述第一方面的业务报文转发方法或实现如上所述第二方面或第三方面的路径建立方法。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请一实施例提供的业务报文转发方法的流程示意图;
图2是图1中步骤S140的一个方法的流程图;
图3为本申请一实施例提供的ISIS Deadline Scheduling Sub-TLV的结构示意图;
图4是本申请一实施例提供的路径建立方法的流程示意图;
图5是图4中步骤S430的一个方法的流程图;
图6是图5中步骤S520的一个方法的流程图;
图7是图4中步骤S430的另一个方法的流程图;
图8是图5中步骤S520的另一个方法的流程图;
图9是图5中步骤S520的另一个方法的流程图;
图10为本申请一实施例提供的基于最大驻留时长和时延建立的SPF路径的网络示意图;
图11为本申请一实施例基于图10得到的基于最大驻留时长得到的具有时延抖动的SPF路径示意图;
图12为本申请一实施例基于图10得到的基于最大驻留时长得到的无时延抖动的SPF路径示意图;
图13为本申请实施例具有基于最大驻留时长和时延建立的TE path的网络示意图;
图14为本申请实施例提供的另一种路径建立方法的流程示意图;
图15为图14中步骤S1430的一个方法的流程图;
图16为本申请一实施例基于图10得到的基于未确定的最大驻留时长得到的无时延抖动的SPF路径示意图;
图17为本申请一实施例提供的网络设备。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请提供了一种业务报文转发方法、路径建立方法及计算机可读存储介质,其中业务报文转发方法包括:接收业务报文;获取最大驻留时长,最大驻留时长表征业务报文允许驻留在所述第一节点中的最大时长;获取已驻留时长,已驻留时长表征业务报文在第一节点中已经驻留的时长;根据已驻留时长和述最大驻留时长将报文转发至第二节点。根据本实施例提供的方案,第一节点能够在转发报文的过程中,对报文进行较为灵活、快捷的调度:根据第一节点所允许驻留的最大驻留时长以及报文实际的已驻留时长,及时地将报文转发至第二节点,使得报文的传输可以满足确定性网络对端到端时延的要求,提高了网络资源利用率。
此外,其中第三方面的路径转发方法包括:获取业务报文,业务报文包括时间要求信息;获取每个候选路径的累计传输时延,累计传输时延为确定路径中所有的节点间的链路的传输时延的累加值,候选路径表征业务报文对应的源节点和目的节点之间的路径;根据累计传输时延以及时间要求信息从候选路径中确定目标路径,并确定目标路径中每个节点的最大驻留时长,最大驻留时长表征业务报文允许驻留在节点中的最大时长,最大驻留时长配置在业务报文中。根据业务报文的时间要求选择资源分配情况与其匹配的确定性路径,基于确定的时间要求和确定性路径对报文进行传输,满足确定性网络对端到端时延的要求。合理地分配资源,提高了网络资源的利用率。相比于携带表征绝对时间的截止时间堆栈,将最大驻留时长配置在业务报文中,减少了封装开销,同时也能够较好地适应中间节点调整转发路径的行为。
下面结合附图,对本申请实施例作进一步阐述。
参照图1,图1为本申请一实施例提供的业务报文转发方法的流程示意图。该方法应用于确定性网络中的第一节点,该业务报文转发方法可以包括但不限于步骤S110、步骤S120、步骤S130和步骤S140。
步骤S110:接收业务报文。
步骤S120:获取最大驻留时长。最大驻留时长表征业务报文被允许驻留在第一节点中的最大时长。
本步骤中,最大驻留时长包括第一节点中所预配置的第一最大驻留时长和/或由业务报文所携带的第二最大驻留时长。获取最大驻留时长的基础为:控制器或服务器为网络中的链路配置基于截止时间(Deadline)的报文调度参数。需要说明的是,能接受配置的链路可以是物理链路,也可以是虚拟链路。本申请对此不作具体的限制。
在一些实施例中,Deadline报文调度参数包括:最大驻留时长。将最大驻留时长记为Δ,它是指业务报文在节点内的被允许的最大驻留时间长度,是一个时间偏移量,以报文在该节点入端口上收到的时刻或在控制面产生的时刻为基准,偏移Δ后即得到报文必须从该节点的出端口发送的截止时间。最大驻留时长Δ=P+Q,其中P为报文在节点内的转发时延,Q为报文在节点内的调度时延。转发时延P指报文从入端口或从转发平面转发到出端口所经过的时间,一般是一个固定值。调度时延Q指报文在节点内的排队时延。
需要说明的是,在配置阶段,就可以配置最大驻留时长Δ为某个有意义的特定值,一般需要比P大,当所有节点配置统一的最大驻留时长Δ时,会使得配置流程简化,但这不是强制的。这个配置有特定值的最大驻留时长Δ,即为节点内的第一最大驻留时长。可以理解的是,最大驻留时长Δ还可以不配置特定的值,即其值未定,此时需要在转发的报文中封装确定的最大驻留时长Δ值。需要说明的是,在转发的报文中封装确定的最大驻留时长Δ值即为第二最大驻留时长。报文仅携带单个最大驻留时长Δ时封装过程更为简单,但本 申请中对业务报文携带的最大驻留时长Δ的数量不做具体的限制,报文中封装的最大驻留时长Δ的个数可以是单个也可以是多个。
在一些实施例中,Deadline报文调度参数还包括:Deadline调度使能开关。该Deadline调度使能开关的作用是可以针对物理网络中的一条物理链路或虚拟链路,配置其使能Deadline调度能力。需要说明的是,调度使能开关用于开启或关闭Deadline调度能力,Deadline调度能力是指节点或是链路根据已驻留时长和最大驻留时长将业务报文转发至第二节点的能力。该Deadline调度使能开关具有打开状态和关闭状态。当链路的Deadline调度使能开关为打开状态时,即意味着:在物理网络或虚拟网络中向该链路转发的报文将采用基于Deadline的报文调度算法进行调度,使得报文在节点内的驻留时间不超过最大驻留时长。当链路的Deadline调度使能开关为关闭状态时,向该链路上转发的业务报文不采用基于Deadline的报文调度算法对其进行调度。可以理解的是,一条链路可能被多个虚拟网络共享。一般情况下,借助转发表项或报文中包含的相应虚拟网络标识信息,可以区分报文是在物理网络中或是虚拟网络中。可以理解的是,同一条链路在不同的虚拟网络上下文中,可配置不同的Deadline报文调度参数,互不影响。
在一些实施例中,Deadline报文调度参数还包括:基于最大驻留时长的调度选项信息。
调度选项信息用于确定节点内最大时延、节点内最小时延和节点内时延抖动。节点内的时延与时延抖动是指报文在节点内的驻留时间与时间抖动。当调度选项信息为第一调度选项信息,节点内最大时延等于最大驻留时长Δ,并且节点内最大时延大于或等于节点内最小时延。节点内最小时延为业务报文在第一节点内的转发时延P,该转发时延一般为固定值。此时节点内时延抖动为节点内最大时延与节点内最小时延的差值,即为Δ-P。当调度选项信息为第二调度选项信息,节点内最小时延与节点内最大时延均等于最大驻留时长,此时节点内时延抖动为节点内最大时延与节点内最小时延的差值,即为0。
调度选项信息还用于表示节点内调度业务报文时两种不同的调度选择,有第一调度选项信息和第二调度选项信息。当调度选项信息为第一调度选项信息时,若业务报文在节点内的已驻留时长处于[P,Δ]的范围内,则该业务报文将被发送,当调度选项信息为第二调度选项信息时,业务报文在节点内的已驻留时长达到最大驻留时长Δ时(或非常接近,可配置阈值进行检查)才发送。在不特别设置的情况下,调度选项的默选项为第一调度选项信息。第一调度选项信息适用于调度有低时延要求的确定性网络,第二调度选项信息适用于有低时延抖动要求的确定性网络。
基于deadline报文调度参数,第一节点欲配置有Deadline调度使能开关、调度选项信息、最大驻留时长、节点内最大时延、节点内最小时延和节点内时延抖动。
步骤S130:获取已驻留时长,已驻留时长表征业务报文在第一节点中已经驻留的时长。
本步骤中,已驻留时长的获取方式有:获取业务报文进入第一节点的第一系统时刻,再获取业务报文在第一节点中的当前的第二系统时刻,第二系统时刻与第一系统时刻的差值即为业务报文在第一节点内的已驻留时长。
需要说明的是,本申请对获取业务报文在第一节点内的已驻留时长的方式不做具体的限制。在一些实施例中,还可以采用定时器,从业务报文进入第一节点时就开始计时,根据定时器获得其在第一节点内的已驻留时长。
步骤S140:根据已驻留时长和最大驻留时长将业务报文转发至第二节点。
可以理解的是,最大驻留时长可以是第一节点内预配置好的取值确定的第一最大驻留时长,还可以是业务报文内携带的取值确定的第二最大驻留时长。根据已驻留时长和第一最大驻留时长将业务报文转发至第二节点;或者,根据已驻留时长和第二最大驻留时长将业务报文转发至第二节点。在一些实施例中,当最大驻留时长为第一最大驻留时长时,则根据调度选项信息和业务报文在第一节点内实际的已驻留时长将业务报文转发至第二节点。当最大驻留时长为第二最大驻留时长时,则根据调度选项信息和业务报文在第一节点内实际的已驻留时长将业务报文转发至第二节点。
在一些实施例中,在一实施例中,如图2所示,对步骤S140进行进一步的说明,该步骤S140可以包括但不限于有步骤S141、步骤S142和步骤S143。
步骤S141:将业务报文转发至第一节点向第二节点转发信息的出端口,获得出端口属性信息中的调度选项信息。
本步骤中,可以理解的是,第一节点可以向包括第二节点在内的多个节点发送业务报文,第一节点中具有多个的出端口。出端口中具有属性信息,根据出端口属性信息可以获得:第一节点欲配置有Deadline调度使能开关、调度选项信息、最大驻留时长、节点内最大时延、节点内最小时延和节点内时延抖动。一个节点内的多个出端口的属性信息可以都相同,也可以根据实际需求进行配置。
步骤S142:根据最大驻留时长和调度选项信息,确定节点内最小时延和节点内最大时延以及节点内时延抖动。
当第一节点配置了取值确定的第一最大驻留时长,且报文中未携带第二最大驻留时长,则根据第一最大驻留时长和调度选项信息确定第一节点内允许报文驻留的节点内最大时延和节点内最小时延。
当第一节点未配置取值确定的第一最大驻留时长,且报文中携带了取值确定的第二最大驻留时长,则根 据第二最大驻留时长和调度选项信息确定第一节点内允许报文驻留的节点内最大时延和节点内最小时延。
当第一节点配置了取值确定的第一最大驻留时长,且报文中携带了取值确定的第二最大驻留时长,则可以在第一节点内配置策略在第一最大驻留时长和第二最大驻留时长之间选择,默认策略以业务报文中携带的第二最大驻留时长为准;然后再根据调度选项信息确定第一节点内允许报文驻留的节点内最大时延和节点内最小时延。
步骤S143:根据已驻留时长、节点内最小时延、节点内最大时延和调度选项信息从相应的出端口转发业务报文。
当调度选项信息为第一调度选项信息时,若业务报文的已驻留时长大于节点内最小时延且小于节点内最大时延,则允许发送业务报文至第二节点。若业务报文的已驻留时长已经达到或超过节点内最大时延,则应立即发送。
当调度选项信息为第二调度选项信息时,业务报文的已驻留时长达到节点内最大时延,则允许发送该业务报文。此外,也可以根据最大时延值配置阈值,当已驻留时长处于阈值范围内,则表示已驻留时长非常接近节点内最大时延,则允许发送业务报文。
第一节点可向网络中的其它节点通告其为本地链路配置的deadline报文调度参数。现有技术中,分布式路由协议包括内部网关协议(Internal Gateway protocol,IGP)和外部网关协议。内部网关协议还包括中间系统到中间系统(Intermediate system to intermediate system,ISIS)和开放式最短路径优先(Open Shortest Path First,OSPF)协议等等。现有的ISIS协议集,例如RFC5305、RFC5311、RFC5316、RFC5120,已经定义了TLVs22/23/141/222/223,来通告邻接关系。当IGP协议为中间系统到中间系统(ISIS)协议时,本申请中在已有的这些TLVs中新增了一种Sub-TLV,称为截止日期调度子字段,记为Deadline Scheduling Sub-TLV,用于通告链路的Deadline报文调度参数和节点内最小时延、节点内最大时延与节点内时延抖动。
需要说明的是,deadline报文调度参数包括使能调度开关。当某个节点的ISIS实例下的链路配置的使能调度开关为打开状态时,该节点才需要针对该链路通告Deadline Scheduling Sub-TLV;当链路所配置的使能调度开关为关闭状态时,则无需通告。
参照图3,图3为本申请实施例提供的ISIS Deadline Scheduling Sub-TLV的结构示意图,在该Sub-TLV结构中,各字段的解释如下:
Type:占1字节,其取值为10时,表示Deadline Scheduling Sub-TLV的内容长度为10字节。
Flags:占1字节,为标志位。其中定义的标志包括:D-Flag、S-Flag、Delta。在一些实施例中,对这些标志做如下的解释。
D-Flag:Delta-valid Flag,最大驻留时长有效标志,指示后续的Delta字段中是否包含有意义的确定值,0表示不包含,1表示包含。
S-Flag:Scheduling-option Flag,调度选项标志,指示如何基于确定的最大驻留时长Δ值去调度报文。0表示第一调度选项信息,即表示转发报文在节点内的驻留时间处于[P,Δ]的范围内时,则调度报文;1表示第二调度选项信息,即表示转发报文在节点内的驻留时间为最大驻留时长Δ时,则调度报文。
Delta:占2字节,表示报文被允许在节点内的最大驻留时长(Δ),单位为us。当D-Flag为0时,Delta字段中的值无意义,其内容必须被消息接收方忽略,此时最大驻留时长是一个可变量,后续需由数据面的转发报文中携带的最大驻留时长去提供确定的值;当D-Flag为1时,Delta字段中包含有意义的值。
Min Delay Intra Node:占2字节,表示报文在节点内最小时延,单位为us,即报文在节点内的最小驻留时间。如果调度选项是第一调度选项信息,则节点内最小时延为P(即转发时延,一般为固定值,由消息通告方显式指定);如果调度选项是第二调度选项信息,则节点内最小时延为Δ。
Max Delay Intra Node:占2字节,表示报文在节点内最大时延,单位为us,即报文在节点内的最大驻留时间。不管调度选项是第一调度选项信息还是第二调度选项信息,节点内最大时延均为最大驻留时长Δ。
Delay Variation Intra Node:占2字节,表示报文在节点内时延抖动,单位为us,即报文在节点内的驻留时间的抖动。如果调度选项是第一调度选项信息,则节点内时延抖动为Δ-P;如果调度选项是第二调度选项信息,则节点内时延抖动为0。
可以理解的是,当IGP协议为开放式最短路径优先(OSPF)协议时,也可以基于OSPF协议现有的TLVs进行拓展,用于通告链路的报文调度参数和节点内的时延与时延抖动。本申请对OSPF协议的扩展不做具体的阐述。
基于步骤S120中涉及的Deadline报文调度参数,配置有该参数的链路上的任一源节点可以建立至任一目的节点的具有确定性时延信息的确定性路径,该确定性路径可用于传输有确定时间要求的业务报文。IGP域中,通过IGP通告和得到网络中的链路的Deadline报文调度参数和根据这些参数得到的确定性的时延和时延抖动。用于IGP自身的基于度量类型(metric-type)为截止时间时延(Deadline-delay)的最短路径优先(Shortest Path First,SPF)路径计算,或者用于集中式的计算节点(如控制器或源节点)去计算具有确定性时延和时延抖动的流量工程(Traffic Engineering)路径。
参照图4,图4为本申请一实施例提供的路径建立方法的流程示意图。该业务报文转发方法可以包括但 不限于步骤S410、步骤S420和步骤S430。
步骤S410:获取业务报文,业务报文包括时间要求。
在第五代通信网络中,提出了超高可靠性低延时通信的应用场景。在该应用场景下,可要求业务具有端到端的时延以及时延抖动有严苛的边界,即业务报文需要具有确定的时间要求,这样的业务报文也称为确定性业务。需要说明的是,可以从业务报文的服务等级协定(Service Level Agreement,SLA)中获得业务报文的时间要求,时延要求可以包括时延要求和时延抖动要求。
步骤S420:获取候选路径中的每个节点所预配置的最大驻留时长以及根据节点确定的固定时延。
本步骤中,最大驻留时长表征业务报文允许驻留在各个节点中的最大时长,固定时延为每两个所述节点间的链路的传输时延,候选路径表征业务报文对应的源节点和目的节点之间的路径。需要说明的是,本申请中固定时延是指链路的一端节点通过该链路向对端节点发送报文时,报文在该链路上的传输时间,它一般是与物理距离和传输介质相关的固定值。
链路中配置有Deadline报文调度参数,配置的Deadline报文调度参数使得链路资源具有确定性能力,根据配置的参数可以得到节点内部的确定性时延与时延抖动。基于deadline报文调度参数,节点欲配置有Deadline调度使能开关、调度选项信息、取值确定的最大驻留时长、节点内最大时延、节点内最小时延和节点内时延抖动。
步骤S430:根据最大驻留时长和固定时延从候选路径中确定满足时间要求的目标路径。
需要说明的是,若业务报文中指定了源节点和目的节点,则根据业务报文指点的源节点和目的节点得到多条候选路径;若业务报文中未指定源节点但指定了目的节点,则以其进入网络的第一节点作为源节点,得到源节点和目的节点得到多条候选路径;再从候选路径中确定满足时间要求的目标路径。根据最大驻留时长、每两个节点间的链路的传输时延和节点内时延从候选路径中确定目标路径的累计时延,需要说明的是,目标路径的累计时延小于或者等于时延要求。
在一实施例中,如图5所示,对步骤S430进行进一步的说明,该步骤S430还可以包括但不限于有以下步骤:
步骤S510:根据最大驻留时长和调度选项信息确定候选路径上各个节点内最小时延、节点内最大时延和节点内时延抖动。节点预配置有调度选项信息、节点内最大时延和节点内最小时延,当调度选项信息为第一调度选项信息,节点内最大时延等于最大驻留时长,节点内最小时延是业务报文在节点内的转发时延;节点内最大时延大于或等于节点内最小时延。
当调度选项信息为第二调度选项信息,节点内最小时延与节点内最大时延均等于最大驻留时长。
步骤S520:根据预设的算路策略和业务报文的时间要求,以及固定时延、各个节点内最小时延、各个节点内最大时延得到候选路径的累计时延。
可以理解的是,业务报文所具有的时间要求有多种情况,例如仅需满足时延要求,或是需同时满足时延要求和时延抖动要求,或是仅需满足时延抖动要求。
在一实施例中,若业务报文的时间要求包括时延要求,固定时延为每两个节点间的链路的传输时延,结合图6对步骤S520进行进一步的说明,该步骤S520还可以包括但不限于有步骤S610、步骤S620和步骤S630:
步骤S610:根据预设的算路策略,选择使用节点内最小时延或节点内最大时延作为节点内时延。
需要说明的是,预设的算路策略可以由本领域技术人员根据实际需求来实时调整,比如算路策略还可以是选择使用节点内最小时延和节点内最大时延的均值作为节点内时延。
步骤S620:根据节点内时延和固定时延得到候选路径的累计时延,累计时延为候选路径中所有节点的节点内时延以及所有候选路径上链路的固定时延的累加值。
本步骤中:首先,获取候选路径上链路间传输的固定时延,以及根据各个节点内预配置的报文调度参数获得各个节点的节点内最大时延、节点内最小时延。固定时延指的是每两个所述节点间的链路的传输时延,一般与传输介质的物理性质有关。而后根据步骤S610中预配置的算路策略,得到各个节点的节点内时延的值。然后根据候选路径上各个节点的节点内时延进行累加计算得到累计节点内时延,根据候选路径上链路间传输的固定时延进行累加计算得到累计固定时延。
步骤S630:根据候选路径的累计时延从候选路径中确定目标路径,目标路径的累计时延小于等于时延要求。
本步骤中,首先得到所有候选路径的累计时延。候选路径的累计时延为累计节点内时延与累计固定时延之和。可以理解的是,当算路策略选择节点内最小时延作为节点内时延进行算路时,候选路径的累计时延为累计节点内最小时延与累计固定时延之和。当算路策略选择节点内最大时延进行算路时,候选路径的累计时延为累计节点内最大时延与累计固定时延之和。需要说明的是,此时的固定时延为候选路径上的链路间的传输时延。
其次,得到候选路径的累计时延之后,根据业务报文的时延要求从候选路径中选出目标路径。根据节点内对业务报文的映射规则,选择的目标路径的累计时延小于等于业务报文的时延要求。需要说明的是,业务的SLA中可能会包含裕量配置,即,候选路径的累计时延超过了业务报文的时延要求,但超出的部分在配置 的裕量范围之内,则此路径也是满足业务需求的。
在一实施例中,若业务报文包括时延抖动要求,结合图7对步骤S430进行进一步的说明,该步骤S520还可以包括但不限于有步骤S710、步骤S720和步骤S730:
步骤S710:根据节点内最大时延和节点内最小时延得到节点内时延抖动。
需要说明的是,节点内时延抖动为节点内最大时延和最小时延的差值。参照步骤S142可以根据最大驻留时长和调度选项信息,确定节点内最小时延和最大时延以及时延抖动。此处不再赘述。这种情况下不考虑链路上的传输时延,可以较为快速地得到符合业务报文时延抖动要求的路径。
步骤S720:根据节点内时延抖动得到候选路径的累计时延抖动,累计时延抖动为候选路径中所有节点的节点内时延抖动的累加值。
本步骤中,可以得到所有候选路径的累计时延抖动,为选择目标路径提供丰富且可靠的选择。
步骤S730:根据时延抖动要求和候选路径的累计时延抖动从候选路径中确定目标路径,候选路径的累计时延抖动小于等于时延抖动要求。
本步骤中,从候选路径中确定的目标路径的累计时延抖动符合业务报文的时延抖动要求。符合业务报文的时延抖动要求是指候选路径的累积时延抖动小于等于业务报文时延抖动要求。需要说明的是,业务的SLA中可能会包含裕量配置,即,候选路径的累计时延抖动超过了业务报文的时延抖动要求,但超出的部分在配置的裕量范围之内,则此候选路径也是满足业务需求的。
需要说明的是,本实施例仍需要结合算路策略得到目标路径的节点内时延,进而得到目标路径的累计时延,使目标路径上的节点能够依照确定性时延或时延抖动转发业务报文。
在一实施例中,当时间要求包括时延要求和时延抖动要求,结合图8对步骤S520进行进一步的说明,该步骤S520还可以包括但不限于有步骤S810、步骤S820、步骤S830、步骤S840和步骤S850:
步骤S810:根据节点内最大时延和节点内最小时延得到节点内时延抖动。
本步骤中,节点内时延抖动为所述节点内最大时延与所述节点内最小时延的差值。
步骤S820:根据节点内时延抖动得到候选路径的累计时延抖动。
本步骤中,累计时延抖动为候选路径中所有节点的节点内时延抖动的累加值,基于本步骤得到所有候选路径的累积时延抖动。
步骤S830:根据预设的算路策略,使用节点内最小时延或节点内最大时延作为节点内时延。
步骤S840:根据节点内时延和固定时延得到候选路径的累计时延。
本步骤中,累计时延为候选路径中所有节点的节点内时延以及所有链路的固定时延的累加值,固定时延为链路间的传输时延。基于本步骤能够得到所有候选路径的累计时延。
步骤S850:根据时延要求和累计时延、时延抖动要求和累计时延抖动从候选路径中确定目标路径,目标路径的累计时延小于等于所述时延要求,而且目标路径的累计时延抖动小于等于时延抖动要求。
在一实施例中,如图9所示,对步骤S520进行进一步的说明,该步骤S520还可以包括但不限于有步骤S910和步骤S920:
步骤S910:当业务报文的时间要求为要求具有最小累计时延,根据预设的算路策略,使用节点内最小时延或节点内最大时延作为节点内时延。
步骤S920:根据节点内时延和固定时延从候选路径中确定具有最小累计时延对应的目标路径,累计时延为目标路径中所有节点的节点内时延以及所有目标路径上链路的固定时延的累加值。
需要说明的是,每两个节点间的链路的固定时延即为每两个节点间的链路的传输时延,一般为固定值。
需要说明的是,图9所示实施例中的步骤S910至步骤S920,与上述如图6所示实施例中的步骤S610至步骤S630,与图7所示实施例中的步骤S710至步骤S730,与图8所示实施例中的步骤S810至步骤S850,互为并列的技术方案,均根据最大驻留时长和所述固定时延从候选路径中确定满足时间要求的目标路径
结合业务报文的时延要求与时延抖动要求,选择满足业务报文需求的确定性链路用于传输业务报文,减少了资源的浪费,同时提高了网络中链路资源的利用率。
实例一:
参照图10,图10为本申请一实施例提供的基于最大驻留时长和时延建立的SPF路径的网络示意图。该虚拟网络使用IGP灵活算法(Flexible Algorithm,Flex-algo)创建,也称为Flex-algo平面。在该虚拟网络中运行基于metric type为deadline-delay metric的IGP最短路径优先(shortest path first,SPF)路径计算。图中IGP Flex-algo128面中包含5个节点,分别是第一节点R1110、第二节点R2120、第三节点R3130、第四节点R4140和第五节点R5150;其中每条链路均为双向链路。图中标出了每条链路的节点外固定的传输时延参数,例如第一节点R1110和第二节点R2120之间的链路的节点外的固定的传输时延为10us。
假设网络中所有节点的链路均配置一致的Deadline报文调度参数,这些链路均具有一致的节点内时延与时延抖动属性,如下:Deadline调度使能开关为打开状态,最大驻留时长Δ为30us,调度选项信息为第一调度选项信息,节点内最小时延为10us,节点内最大时延为30us,节点内时延抖动为20us。
配置IGP Flex-algo 128的FAD(Flexible Algorithm Definition灵活算法定义),设置metric type(指标类 型)为Deadline-delay metric。配置算路策略为选择使用节点内最小时延去参与路径的累计时延的计算。当虚拟网络中任一源节点上建立了至任一目的节点的基于最大驻留时长和时延信息的SPF路径后,在源节点上就可以建立至其他目的节点的前缀(Prefix)路由表项(或MPLS标签表项,或Segment Routing的SID表项,或SRv6 Locator表项等),这些路由表项用于指导报文使用具有确定性时延信息的SPF路径进行转发,这些的转发表项被统称为确定性的SPF转发表项。虚拟网络中建立的确定性的转发表项会使用单独的Prefix或单独的MPLS标签,或单独的SID,或单独的SRv6 Locator等标签,目的是为了将确定性的转发表项与其它虚拟网络或者原始物理网络的转发表项进行区分。
仍以上述SPF路径(R1-R2-R3-...-R5)为例,在第一节点R1110上维护的至目的第五节点R5150的Prefix-D的路由表项(其它的标签表项或SID表项都是类似的)如下:
键值:Prefix-R5。转发信息包括:下一跳节点(next_hop)、出端口(interface)、算路策略(calc_policy)、整条路径的累计时延(total_metric)、累计节点内最小时延(total_min_metric_intra_node)、累计节点内最大时延(total_max_metric_intra_node)和累计节点内时延抖动(total_metric_variation)。
其中,出端口还进一步包括如下的属性信息:Deadline调度使能开关、最大驻留时长Δ为确定值或未定值、调度选项信息、节点内最小时延、节点内最大时延、节点内时延抖动。
基于图10所示的网络,第一节点R1110以自身为根计算得到如图11所示的基于最大驻留时长得到的具有时延抖动的SPF路径示意图。图中IGP Flex-algo128面中包含5个节点,分别是第一节点R1210、第二节点R2220、第三节点R3230、第四节点R4240和第五节点R5250;其中每条链路均为双向链路。各链路上标出了该链路的节点内时延与节点外固定时延之和,以及节点内时延抖动,比如,第一节点R1210与第二节点R2220的出端口的时延贡献为10us+10us,时延抖动贡献为20us。
因此,以第一节点R1210为源节点,目的节点为第五节点R5250的基于最大驻留时长的SPF path(R1-R2-R4-R5)的确定性的累计时延为70us,确定性的累计时延抖动为60us。这样的路径可用于承载R1与R5之间的业务流量,如果该业务报文的SLA对时延与时延抖动的要求分别大于或者非常接近该确定性路径的累计时延和累计时延抖动,则该确定性路径作为传输该业务报文的目标路径。
建立好路径后,需要在路径中转发。参照图11假设第五节点R5250对外通告专属于flex-algo 128平面的Prefix-R5,则第一节点R1210上将创建如下的确定性的SPF转发表项。
键值:Prefix-R5。转发信息:next_hop=R2220;interface=link(R1-R2);calc_policy=使用节点内最小时延参与计算;total_metric=70us;total_min_metric_intra_node=30us;total_max_metric_intra_node=90us;total_metric_variation=60us。
其中,interfacelink(R1-R2)还进一步包括如下的属性信息:Deadline调度使能开关为开启状态;最大驻留时长Δ为30us;调度选项消息为第一调度选项信息;节点内最小时延为10us;节点内最大时延为30us;节点内时延抖动为20us。
若在第一节点R1210与第五节点R5250之间的业务的SLA对时延与时延抖动的需求分别为100us和100us,则头节点R1210拟用Prefix-R5去承载该业务。
第一节点R1210内,向出端口link(R1-R2)发送的报文将在该出端口相关的节点内队列(或其它数据结构)中等待发送,根据出端口的属性信息,实施基于最大驻留时长(Deadline)的报文调度。根据报文的已驻留时间,判断已驻留时间是否在[节点内最小时延=10us,节点内最大时延=30us]范围内,若是则允许发送。
类似的,第二节点R2220收到报文后,同样命中键值为Prefix-R5的确定性的SPF转发表项(其建立过程与第一节点R1210类似,只不过下一跳为第四节点R4240),也为报文实施基于Deadline的报文调度。报文向第四节点R4240投递。
类似的,第四节点R4240收到报文后,同样命中键值为Prefix-R5的确定性的SPF转发表项(其建立过程与第一节点R1210类似,只不过下一跳为第五节点R5250),也为报文实施基于Deadline的报文调度。报文向第五节点R5250投递。
实施例二:
在实施例一的基础上,本实施例讨论避免时延抖动的确定性SPF路径的建立和基于该路径的转发。
基于图10所示的网络,为网络中所有节点的链路均配置一致的Deadline报文调度参数,这些链路均具有一致的节点内时延与时延抖动属性,如下:Deadline调度使能开关为开启状态;最大驻留时长Δ为30us;调度选项信息为第二调度选项信息;节点内最小时延为30us;节点内最大时延为30us;节点内时延抖动为0。同样地,配置IGP Flex-algo 128的FAD,并配置算路策略为选择使用最小的节点内时延去参与路径累计Deadline-delay metric的计算。
基于图10所示的网络,第一节点R1110以自身为根计算得到如图12所示基于最大驻留时长得到的无时延抖动的SPF路径示意图。图中IGP Flex-algo128面中包含5个节点,分别是第一节点R1310、第二节点R2320、第三节点R3330、第四节点R4340和第五节点R5350。各链路上标出了该链路的节点内时延与节点外时延之和,以及节点内时延抖动,比如,第一节点R1310与第二节点R2320的出端口的时延贡献为30us+10us,时延抖动贡献为0。
因此,以第一节点R1310为源节点,第五节点R5350为目的节点的基于最大驻留时长的SPF path(R1-R2-R4-R5)的累计的确定性时延为130us,累计的确定性时延抖动为0。这样的路径可用于承载第一节点R1310与第五节点R5350之间的业务流量,如果该业务的SLA对时延与时延抖动的要求分别大于这两个值或者非常接近的话。
假设第五节点R5350对外通告专属于flex-algo 128的Prefix-R5,则第一节点R1310上将创建如下的确定性的SPF转发表项。
键值:Prefix-R5。转发信息:next_hop=R2320,interface=link(R1-R2),calc_policy=使用节点内最小时延参与计算,total_metric=130us,total_min_metric_intra_node=90us,total_max_metric_intra_node=90us,total_metric_variation=0。
其中,interface link(R1-R2)还进一步包括如下的属性信息:Deadline调度使能开关为开启状态,最大驻留时长Δ为0us,调度选项为第二调度选项信息,节点内最小时延为30us,节点内最大时延为30us,节点内时延抖动为0。
假设在第一节点R1310与第五节点R5350之间的业务的SLA对时延与时延抖动的需求分别为150us和10us,则头节点R1310拟用Prefix-R5去承载该业务。
第一节点R1310内,向出端口link(R1-R2)发送的报文将在该出端口相关的节点内队列(或其它数据结构)中等待发送,根据出端口的属性信息,实施Deadline报文调度。根据报文的已驻留时间,判断已驻留时间是否已达到节点内最大时延30us或非常接近,若是则允许发送。
类似的,第二节点R2320与第四节点R4340收到报文后,同样命中键值为Prefix-R5的确定性的SPF转发表项(其建立过程与第一节点R1310类似,只不过下一跳节点不同),也为报文实施Deadline调度。报文向下一跳节点投递,直到目的节点第五节点R5350接收到业务报文。
根据本实施例所提供的路径建立方法和业务报文转发方法,下面以实例进行详细的描述。参照图13,图13为本申请实施例具有基于最大驻留时长和时延建立的TE path的网络示意图。
实施例三:
如图13所示的网络,它可能是物理网络或虚拟网络。网络中包含6个节点,分别是分别是第一节点S510、第二节点A520、第三节点B530、第四节点C540和第五节点D550和第六节点E560。图中标出了每条链路的节点外的固定时延参数,该参数表示第一节点S510与第二节点A520之间的链路的节点外的最小时延为20us。假设网络中所有节点的链路均配置一致的Deadline报文调度参数,这些链路均具有一致的节点内时延与时延抖动属性,如下:Deadline调度使能开关为打开状态,最大驻留时长为30us,调度选项信息为第二调度选项信息;节点内最小时延为30us,节点内最大时延为30us,节点内时延抖动为0。
第一节点S510以自身为源节点执行集中式计算至目的节点第五节点D550的分段路由策略(Segment Routing policy,SR policy)时,配置路径计算约束条件为使用最大驻留时长和节点中的时延信息。在不考虑其它约束条件的影响下,第一节点S510将在链路状态数据库中挑选那些打开了Deadline调度使能开关的链路资源参与到路径计算中,并最终选择一条端到端的累计时延最小的路径作为最优路径,即S-A-C-E-D。路径的累计时延为180us,其中累计的节点内的时延为120us,累计的节点外的固定时延为60us。
第一节点S510上可创建确定性的SR policy。SR policy由三元组标识,即头端(Headend)、颜色(Color)、端点(Endpoint)。头端为SR policy生成或实现的位置,端点是SR policy的终结点,是一个IPv4/IPv6的地址,颜色用于区分多条SR policy。确定性的SR policy具有的信息如下所示:
键值:<Headend=S,Endpoint=D,Color=1000>;转发信息:路由列表(Segment List)为<A,C,E,D>,算路策略为使用最小的节点内时延参与累计Deadline-delay metric计算,链路上的累计时延为180us,累计节点内最大时延为120us,累计节点内最小时延为120us,累计节点内时延抖动为0,链路上累计固定时延为60us。
假设在第一节点S510与第五节点D550之间的业务的SLA对时延与时延抖动的需求分别为150us和10us,则第一节点S510拟用上述SR policy去承载该业务。
第一节点S510内,将报文向第一个分段(Segment)节点A转发,会进一步命中至节点A的Deadline-delay SPF表项,该表项的创建参考前述实施例,不再赘述,进而向出端口link(S-A)发送,报文将在该出端口相关的节点内队列或其它数据结构中等待发送,根据出端口的Deadline调度使能开关打开、最大驻留时长Δ为30us、调度选项信息为第二调度选项信息、节点内最小时延为30us、节点内最大时延为30us,实施Deadline报文调度。根据报文从入向端口接收或从控制面生成的系统时间,与当前系统时间求差得到已驻留时间,然后看已驻留时间是否已达到节点内最大时延30us或非常接近,是的则话则允许发送。
类似的,第二节点A520、第四节点C540和第六节点E560收到报文后,都会在本节点内进一步命中确定性的SPF表项(其建立过程与第一节点S510类似,只不过下一跳节点不同),向响应的出端口发送,并为报文实施基于最大驻留时长的报文调度,直到目的节点第五节点D550接收到业务报文
需要说明的是,第一节点S510上创建的SR policy的Segment List也可以为<link(S-A),link(A-C),link(C-E),link(E-D)>,这是一条严格的单项链路。对于严格的单向链路,需要在链路的头端节点上准备相应的链路交叉 转发表项一指导报文向该链路转发。链路交叉转发表项的建立方式有多种,如Segment Routing的Adjacency SID或END.X SID表项,在此不再赘述。此时报文沿路径转发时,将在各中间节点上命中相应的Adjacency SID或END.X SID表项,这些表项的出端口信息也包含Deadline报文调度参数,也会指导报文实施基于最大驻留时长和时延信息的报文调度。具体过程不再赘述。
可以理解的是,上述基于最大驻留时长和时延信息的TE path计算也可由控制器实施。控制器可收集网络的拓扑信息,包括网络中各链路的Deadline调度参数信息及其确定性时延属性,进而得到路径的累计时延等信息。控制器的计算过程与第一节点S510的计算过程类似。
可以理解的是,在集中式的流量工程路径(traffic engineering path,TE path)的计算中,可以在源节点中进行计算。其算过程与上述IGP域中的源节点计算过程类似,区别在于基于一个包含更多IGP域的更广泛的链路状态数据库进行计算。流量工程路径计算过程中所需要的各个链路的Deadline报文调度参数及其确定性时延属性可以由控制器收集。控制器可通过边界网关协议链路状态(Border Gateway Protocol Link-state,BGP-LS)等协议收集网络中的各链路的Deadline调度参数信息及其确定性时延属性,可参考前述IGP协议的扩展去扩展BGP-LS等协议,具体不赘述。
参照图14,图14为本申请实施例提供的另一种路径建立方法的流程示意图,包括:
步骤S1410:获取业务报文,业务报文包括时间要求信息。
步骤S1420:获取每个候选路径的累计链路传输时延,累计链路传输时延为确定候选路径中所有的节点间的链路的传输时延的累加值,候选路径表征业务报文对应的源节点和目的节点之间的路径。
本步骤中,候选路径中所有的节点间的链路的传输时延一般为一个固定值,因此每个候选路径的累积链路传输时延也为固定值。
步骤S1430:根据累计链路传输时延以及时间要求信息从候选路径中确定目标路径,并确定目标路径中每个节点的最大驻留时长,最大驻留时长表征业务报文允许驻留在节点中的最大时长,最大驻留时长配置在业务报文中。
可以理解的是,当节点内配置有取值确定的最大驻留时长以及明确的调度选项信息时,则可以得到累计时延和累计时延抖动为确定值的候选路径,此时只需根据候选路径的累计时延和业务报文的时延要求、或是根据候选路径的累计时延抖动和业务报文的时延抖动要求即可得到满足业务报文传输要求的目标路径。但需要说明的是,当节点内配置有取值未确定的最大驻留时长以及明确的调度选项信息时,则候选路径的累计时延和累计时延抖动的取值都未确定,而是得到候选路径的具有确定形式的累计时延表达式和累计时延抖动表达式,该累计时延表达式和累计时延抖动表达式中含有取值未确定的最大驻留时长。无论最大驻留时长的取值是否确定,候选路径的累计链路传输时延都是确定的。因此,可根据候选路径的累计链路传输时延来确定目标路径,再根据目标路径的累计时延表达式或是累计时延抖动表达式以及时间要求信息确定目标路径中各节点的最大驻留时长。以满足业务报文的端到端时延要求或端到端时延抖动要求。
在一实施例中,如图15所示,对步骤S1430进行进一步的说明,该步骤S1430还可以包括但不限于有步骤S1510、步骤S1520、步骤S1530和步骤S1540。
步骤S1510:当时间要求信息为目标路径具有最小累计时延时,根据累计链路传输时延从候选路径中确定具有最小累计链路传输时延的目标路径,累计链路传输时延为目标路径中所有链路的传输时延的累加值。
本步骤中,当最大驻留时长取值未确定时,候选路径上的累计时延取值未确定,因此在比较延时方面的性能优劣时,仅比较候选路径中的累计链路传输时延,以此选出具有最小累计链路传输时延的目标路径。但在选择符合业务报文传输目标路径时,还需要计算该目标路径的累计时延,确定目标路径上各个节点中的最大驻留时长,以便于节点能够根据确定的时延或时延抖动转发业务报文。
步骤S1520:根据预设的算路策略,使用节点内最小时延或节点内最大时延作为节点内时延。
步骤S1530:根据累计链路传输时延和节点内时延得到目标路径的累计时延,累计时延为目标路径中所有节点的节点内时延以及所有链路的传输时延的累加值。
步骤S1520至步骤S1530中,在一些实施例中,根据预设的算路策略,本步骤中的候选路径的累计时延可以是累计节点内最大时延与累计链路传输时延之和,或是累计节点内最小时延与累计链路传输时延之和。各个节点内最小时延和最大时延由节点内预配置的调度选项信息和最大驻留时长来确定,在一些实施例中,节点预配置有调度选项信息、最大时延和最小时延,当调度选项信息为第一调度选项信息,节点内最大时延等于最大驻留时长,节点内最小时延是业务报文在节点内的转发时延;节点内最大时延大于或等于节点内最小时延。当调度选项信息为第二调度选项信息,节点内最小时延与节点内最大时延均等于最大驻留时长。
步骤S1540:根据时间要求信息和目标路径的累计时延确定具有最小累计时延的目标路径,并确定目标路径中每个节点的最大驻留时长。
本步骤中,当时间要求信息为时延要求时,根据业务报文的时延要求和候选路径的含有取值未确定的最大驻留时长的累计时延表达式能够得出最大驻留时长的取值。需要说明的是,最大驻留时长至少应大于路径沿途各节点内的转发时延P。业务报文进入网络的入口节点还根据其自身的转发时延P并结业务报文SLA需求去给出一个合适的经验值最大驻留时长Δ。入口节点将最大驻留时长配置在业务报文中,使目标路径上的 中间节点能够获得业务报文中的最大驻留时长,基于确定的截止时间和时延对报文进行转发,以满足业务报文的端到端时延要求或端到端时延抖动要求。本领域技术人员可以理解的是,当时间要求信息为时延抖动要求时,确定最大驻留时长的取值的方式与本步骤中的方式相同,因此不再赘述。
实施例四:
实施例四在实施例一的基础上,基于业务报文中携带的最大驻留时长计算路径以及转发业务报文。
基于图10所示的网络,假设网络中所有节点的链路均配置一致的Deadline报文调度参数,这些链路均具有一致的节点内时延与时延抖动属性,如下:Deadline调度使能开关为开启状态;最大驻留时长Δ为未定值,用Δus表示;调度选项信息为第二调度选项信息;节点内最小时延为Δ;节点内最大时延为Δ;节点内时延抖动为0。同样配置IGP Flex-algo 128的FAD,设置metric type(指标类型)为Deadline-delay metric,并配置算路策略为选择使用最小的节点内时延去参与路径累计Deadline-delay metric的计算。
基于图10所示的网络,第一节点R1110以自身为根计算得到如图16所示基于未确定的最大驻留时长得到的无时延抖动的SPF路径示意图。图中IGP Flex-algo128面中包含5个节点,分别是第一节点R1410、第二节点R2420、第三节点R3430、第四节点R4440和第五节点R5450。图中,各链路上标出了该链路的节点内时延与节点外固定时延之和,以及节点内时延抖动,比如,link-R1-R2的时延贡献为Δ+10us,时延抖动贡献为0。本实施例中因为最大驻留时长取值未确定,因此在比较延时方面的性能优劣时,仅比较候选路径中的累计链路传输时延,但在选择符合业务报文传输目标路径时,还需要确定最大驻留时长的取值并得到该目标路径的累计时延的确定值。需要说明的是,最大驻留时长可以是本领域技术人员确定的经验值,也可以根据业务报文的时延要求以及累计时延表达式来确定。
因此,以第一节点R1410为源节点,第五节点R5450为目的节点的Deadline-delay SPF path(R1-R2-R4-R5)的累计的确定性时延为3Δ+40us,累计的确定性时延抖动为0。当这样的路径用于承载第一节点R1410与第五节点R5450之间的业务流量时,需根据业务的SLA对时延与时延抖动的要求,由头节点指定合适的最大驻留时长Δ并代入公式3Δ+40,使得路径的时延与时延抖动分别小于业务SLA要求的时延与时延抖动,或非常接近。
假设第五节点R5450对外通告专属于flex-algo 128的Prefix-R5,则第一节点R1410上将创建如下的确定性的SPF转发表项。
键值:Prefix-R5。转发信息:next_hop=R2420;interface=link(R1-R2);calc_policy=使用最小节点内时延参与计算;total_metric=3Δ+40us;total_min_metric_intra_node=3Δus;total_max_metric_intra_node=3Δus;total_metric_variation=0。
其中,第一节点R1410和第二节点R2420的出端口还进一步包括如下的属性信息:Deadline调度使能开关为开启状态;最大驻留时长为取值不确定的Δus;调度选项为第二调度选项信息;节点内最小时延为Δus;节点内最大时延为Δus;节点内时延抖动为0。
假设在第一节点R1410与第五节点R5450之间的业务的SLA对时延与时延抖动的需求分别为150us和10us,则第一节点R1410拟用Prefix-R5去承载该业务,它将选择合适的最大驻留时长Δ,如30us,代入转发信息中total_metric对应的公式3Δ+40us中,得到确定的total_metric值为130us(即时延),以及时延抖动0,能够满足业务需求。因此第一节点R1410在封装业务报文向第五节点R5450投递时,将在报文中(如IPv6Hop-by-Hop扩展头、IPv6SA字段)携带其指定的最大驻留时长Δ为30us。可以理解的是,相比于携带表示绝对时间的时间堆栈,业务报文携带最大驻留时长减小了封装开销,同时也更有利于业务报文适应中间节点调整转发路径的情况。
第一节点R1410内,向出端口link(R1-R2)发送的报文将在该出端口相关的节点内队列中等待发送,根据出端口的属性信息,实施基于Deadline的报文调度。根据报文的已驻留时间,判断已驻留时间是否已达到节点内最大时延30us(即,从报文中获取的最大驻留时长Δ为30us)或非常接近,是的则话则允许发送。
类似的,第二节点R2420与第四节点R4440收到报文后,同样命中键值为Prefix-R5的确定性的SPF转发表项(其建立过程与第一节点R1410类似,只不过下一跳节点不同),从报文中获取最大驻留时长Δ为30us,也为报文实施Deadline调度。报文向下一跳节点投递,直到目的节点第五节点R5450接收到业务报文。
参照图17,图17为本申请一实施例提供的一种网络设备1700,该网络设备1700包括:处理器1701、存储器1702及存储在存储器1702上并可在处理器上运行的计算机程序。处理器1701和存储器1702可以通过总线或者其他方式连接。
实现上述实施例的路由方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例的业务报文转发方法和路径建立方法,例如,执行以上描述的图1中的方法步骤S110至S140、图2中的方法步骤S141至S143、图4中的方法步骤S410至S430、图5中的方法步骤S510至S520、图6中的方法步骤S610至S630,图7中的方法步骤步骤S710至S730、图8中的方法步骤步骤S810至S850、图9中的方法步骤S910至S920,图14中的方法步骤S1410至S1430和图15中的方法步骤S1510至S1540。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或 者全部模块来实现本实施例方案的目的。
此外,本申请的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述路由装置实施例中的一个处理器执行,可使得上述处理器执行上述实施例的业务报文转发方法和路径建立方法,例如,执行以上描述的图1中的方法步骤S110至S140、图2中的方法步骤S141至S143、图4中的方法步骤S410至S430、图5中的方法步骤S510至S520、图6中的方法步骤S610至S630,图7中的方法步骤步骤S710至S730、图8中的方法步骤步骤S810至S850、图9中的方法步骤S910至S920,图14中的方法步骤S1410至S1430和图15中的方法步骤S1510至S1540。
本申请上述第一方面的实施例至少具有如下优点或有益效果之一:接收业务报文;获取最大驻留时长,所述最大驻留时长表征所述业务报文允许驻留在所述第一节点中的最大时长;获取已驻留时长,所述已驻留时长表征所述业务报文在所述第一节点中已经驻留的时长;根据所述已驻留时长和所述最大驻留时长将所述报文转发至第二节点。根据本实施例提供的方案,第一节点能够在转发报文的过程中,对报文进行较为灵活、快捷的调度:根据第一节点所允许驻留的最大驻留时长以及报文实际的已驻留时长,及时地将报文转发至第二节点,使得报文的传输可以满足确定性网络对端到端时延的要求,提高了网络资源利用率。
本申请上述第二方面的实施例至少具有如下优点或有益效果之一:获取业务报文,该业务报文包括时间要求;获取候选路径中的每个节点所预配置的最大驻留时长以及根据所述节点确定的固定时延,所述最大驻留时长表征业务报文允许驻留在所述各个节点中的最大时长,所述固定时延为每两个所述节点间的链路的传输时延,所述候选路径表征业务报文对应的源节点和目的节点之间的路径;根据最大驻留时长和固定时延从候选路径中确定满足时间要求的目标路径。根据业务报文的时间要求选择资源分配情况与其匹配的确定性路径,基于确定的时间要求和确定性路径对报文进行传输,使得报文的传输可以满足确定性网络对端到端时延的要求,减少了因报文延迟造成网络拥塞这一情况发生的概率。合理地分配网络中的资源,提高了网络资源的利用率。
本申请上述第三方面的实施例至少具有如下优点或有益效果之一:获取业务报文,业务报文包括时间要求信息;获取每个候选路径的累计链路传输时延,累计链路传输时延为确定路径中所有的节点间的链路的传输时延的累加值,候选路径表征所述业务报文对应的源节点和目的节点之间的路径;根据累计链路传输时延以及所述时间要求信息从候选路径中确定目标路径,并确定目标路径中每个节点的最大驻留时长,最大驻留时长表征业务报文允许驻留在节点中的最大时长,所述最大驻留时长配置在业务报文中。根据业务报文的时间要求选择资源分配情况与其匹配的确定性路径,基于确定的时间要求和确定性路径对报文进行传输,满足确定性网络对端到端时延的要求。合理地分配资源,提高了网络资源的利用率。相比于携带表征绝对时间的截止时间堆栈,将最大驻留时长配置在业务报文中,减少了封装开销,同时也能够较好地适应中间节点调整转发路径的行为。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本申请的一些实施进行了说明,但本申请并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (19)

  1. 一种业务报文转发方法,应用于确定性网络中的第一节点,所述方法包括:
    接收业务报文;
    获取最大驻留时长,所述最大驻留时长表征所述业务报文允许驻留在所述第一节点中的最大时长;
    获取已驻留时长,所述已驻留时长表征所述业务报文在所述第一节点中已经驻留的时长;
    根据所述已驻留时长和所述最大驻留时长将所述业务报文转发至第二节点。
  2. 根据权利要求1所述的业务报文转发方法,其中,所述最大驻留时长包括所述第一节点中所预配置的第一最大驻留时长和/或由所述业务报文所携带的第二最大驻留时长。
  3. 根据权利要求1或2所述的业务报文转发方法,其中,所述第一节点还预配置有调度选项信息、节点内最大时延和节点内最小时延,当所述调度选项信息为第一调度选项信息,所述节点内最大时延等于所述最大驻留时长,所述节点内最小时延是所述业务报文在所述第一节点内的转发时延;所述节点内最大时延大于或等于所述节点内最小时延。
  4. 根据权利要求1或2所述的业务报文转发方法,其中,所述第一节点还预配置有调度选项信息、节点内最大时延和节点内最小时延,当所述调度选项信息为第二调度选项信息,所述节点内最小时延与所述节点内最大时延均等于所述最大驻留时长。
  5. 根据权利要求2所述的业务报文转发方法,其中,当所述最大驻留时长包括所述第一节点中所预配置的第一最大驻留时长和/或由所述业务报文所携带的第二最大驻留时长,根据所述已驻留时长和所述最大驻留时长将所述报文转发至第二节点,包括:
    根据所述已驻留时长和所述第一最大驻留时长将所述业务报文转发至第二节点;
    或者,
    根据所述已驻留时长和所述第二最大驻留时长将所述业务报文转发至第二节点。
  6. 根据权利要求1所述的报文转发方法,其中,所述第一节点还预配置有调度使能开关,所述调度使能开关用于开启或者关闭Deadline调度能力,所述Deadline调度能力是指根据所述已驻留时长和所述最大驻留时长将所述业务报文转发至第二节点的能力。
  7. 一种路径建立方法,包括:
    获取业务报文,所述业务报文包括时间要求;
    获取候选路径中的每个节点所预配置的最大驻留时长以及根据所述节点确定的固定时延,所述最大驻留时长表征所述业务报文允许驻留在所述每个节点中的最大时长,所述固定时延为每两个所述节点间的链路的传输时延,所述候选路径表征所述业务报文对应的源节点和目的节点之间的路径;
    根据所述最大驻留时长和所述固定时延从所述候选路径中确定满足所述时间要求的目标路径。
  8. 根据权利要求7所述的路径建立方法,其中,所述节点预配置有调度选项信息、节点内最大时延和节点内最小时延,当所述调度选项信息为第一调度选项信息,所述节点内最大时延等于所述最大驻留时长,所述节点内最小时延是业务报文在所述节点内的转发时延;所述节点内最大时延大于或等于所述节点内最小时延。
  9. 根据权利要求7所述的路径建立方法,其中,所述节点预配置有调度选项信息、节点内最大时延和节点内最小时延,当所述调度选项信息为第二调度选项信息,所述节点内最小时延与所述节点内最大时延均等于所述最大驻留时长。
  10. 根据权利要求7至9任意一项所述的路径建立方法,其中,当所述时间要求包括时延要求,所述根据所述最大驻留时长和所述固定时延从所述候选路径中确定满足所述时间要求的目标路径,包括:
    根据预设的算路策略,使用所述节点内最小时延或所述节点内最大时延作为节点内时延;
    根据所述节点内时延和所述固定时延得到所述候选路径的累计时延,所述累计时延为所述候选路径中所有所述节点的所述节点内时延以及所有所述候选路径上链路的所述固定时延的累加值;
    根据所述候选路径的所述累计时延从所述候选路径中确定目标路径,所述目标路径的所述累计时延小于等于所述时延要求。
  11. 根据权利要求7至9任意一项所述的确定性路径建立方法,其中,当所述时间要求包括时延抖动要求,所述根据所述最大驻留时长和所述固定时延从所述候选路径中确定满足所述时间要求的目标路径,包括:
    根据所述节点内最大时延和所述节点内最小时延得到节点内时延抖动,所述节点内时延抖动为所述节点内最大时延与所述节点内最小时延的差值;
    根据所述节点内时延抖动得到所述候选路径的累计时延抖动,所述累计时延抖动为所述候选路径中所有所述节点的所述节点内时延抖动的累加值;
    根据所述时延抖动要求和所述候选路径的所述累计时延抖动从所述候选路径中确定目标路径,所述候选路径的所述累计时延抖动小于等于时延抖动要求。
  12. 根据权利要求7至9任意一项所述的确定性路径建立方法,其中,当所述时间要求包括时延要求和时 延抖动要求,所述根据所述最大驻留时长和所述固定时延从所述确候选路径中确定满足所述时间要求的目标路径,包括:
    根据所述节点内最大时延和所述节点内最小时延得到节点内时延抖动,所述节点内时延抖动为所述节点内最大时延与所述节点内最小时延的差值;
    根据所述节点内时延抖动得到所述候选路径的累计时延抖动,所述累计时延抖动为所述候选路径中所有所述节点的所述节点内时延抖动的累加值;
    根据预设的算路策略,使用所述节点内最小时延或所述节点内最大时延作为节点内时延;
    根据所述节点内时延和所述固定时延得到所述候选路径的累计时延,所述累计时延为所述候选路径中所有所述节点的所述节点内时延以及所有所述链路的所述固定时延的累加值;
    根据所述时延要求和所述累计时延、所述时延抖动要求和所述累计时延抖动从所述候选路径中确定目标路径,所述目标路径的所述累计时延小于等于所述时延要求,而且所述目标路径的所述累计时延抖动小于等于所述时延抖动要求。
  13. 根据权利要求7至9任意一项所述的确定性路径建立方法,其中,所述根据所述最大驻留时长和所述固定时延从所述候选路径中确定满足所述时间要求的目标路径,包括:
    当所述时间要求为具有最小累计时延时,根据预设的算路策略,使用所述节点内最小时延或所述节点内最大时延作为节点内时延;
    根据所述节点内时延和所述固定时延从所述候选路径中确定具有最小累计时延的目标路径,所述累计时延为所述目标路径中所有所述节点的所述节点内时延以及所述目标路径上所述链路的所述固定时延的累加值。
  14. 一种路径建立方法,包括:
    获取业务报文,所述业务报文包括时间要求信息;
    获取每个候选路径的累计链路传输时延,所述累计链路传输时延为所述候选路径中所有的节点间的链路的传输时延的累加值,所述候选路径表征所述业务报文对应的源节点和目的节点之间的路径;
    根据所述累计链路传输时延以及所述时间要求信息从所述候选路径中确定目标路径,并确定目标路径中每个节点的最大驻留时长,所述最大驻留时长表征所述业务报文允许驻留在所述节点中的最大时长,所述最大驻留时长配置在所述业务报文中。
  15. 根据权利要求14所述的路径建立方法,其中,所述节点预配置有调度选项信息、节点内最大时延和节点内最小时延,当所述调度选项信息为第一调度选项信息,所述节点内最大时延等于所述最大驻留时长,所述节点内最小时延是业务报文在所述节点内的转发时延;所述节点内最大时延大于或等于所述节点内最小时延。
  16. 根据权利要求14所述的路径建立方法,其中,所述节点预配置有调度选项信息、节点内最大时延和节点内最小时延,当所述调度选项信息为第二调度选项信息,所述节点内最小时延与所述节点内最大时延均等于所述最大驻留时长。
  17. 根据权利要求14至16任意一项所述的路径建立方法,其中,所述时间要求信息表征为时延要求的信息,所述根据所述累计链路传输时延以及所述时间要求信息从所述候选路径中确定目标路径,包括:
    当所述时间要求信息为所述目标路径具有最小累计时延时,根据所述累计链路传输时延从所述候选路径中确定具有最小累计链路传输时延的目标路径,所述累计链路传输时延为所述目标路径中所有所述链路的传输时延的累加值;
    根据预设的算路策略,使用所述节点内最小时延或所述节点内最大时延作为节点内时延;
    根据所述累计链路传输时延和所述节点内时延得到所述目标路径的累计时延,所述累计时延为所述目标路径中所有所述节点的所述节点内时延以及所有所述链路的所述传输时延的累加值;
    根据所述时间要求信息和所述目标路径的所述累计时延确定具有最小累计时延的目标路径,并确定所述目标路径中每个所述节点的所述最大驻留时长。
  18. 一种网络设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求1至6中任意一项所述的业务报文转发方法,或者实现如权利要求7至13中任意一项所述的路径建立方法,或者实现如权利要求14至17中任意一项所述的路径建立方法。
  19. 一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1至6中任意一项所述的业务报文转发方法,或者执行权利要求7至13中任意一项所述的路径建立方法,或者执行权利要求14至17中任意一项所述的路径建立方法。
PCT/CN2022/115921 2021-12-07 2022-08-30 业务报文转发方法、路径建立方法及存储介质 WO2023103478A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111486823.6A CN116248589A (zh) 2021-12-07 2021-12-07 业务报文转发方法、路径建立方法及存储介质
CN202111486823.6 2021-12-07

Publications (1)

Publication Number Publication Date
WO2023103478A1 true WO2023103478A1 (zh) 2023-06-15

Family

ID=86629990

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/115921 WO2023103478A1 (zh) 2021-12-07 2022-08-30 业务报文转发方法、路径建立方法及存储介质

Country Status (2)

Country Link
CN (1) CN116248589A (zh)
WO (1) WO2023103478A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103607267A (zh) * 2013-07-23 2014-02-26 王健 数据网络报文端到端传输时延随带测量方法
CN106713141A (zh) * 2015-11-18 2017-05-24 华为技术有限公司 用于获得目标传输路径的方法和网络节点
CN106789434A (zh) * 2016-12-29 2017-05-31 国网浙江省电力公司绍兴供电公司 一种采样数据包传输延时测量方法及系统
CN109309940A (zh) * 2017-07-28 2019-02-05 展讯通信(上海)有限公司 业务控制方法、装置、多卡移动终端及存储介质
EP3846390A1 (en) * 2019-12-30 2021-07-07 Juniper Networks, Inc. Measuring packet residency and travel time

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103607267A (zh) * 2013-07-23 2014-02-26 王健 数据网络报文端到端传输时延随带测量方法
CN106713141A (zh) * 2015-11-18 2017-05-24 华为技术有限公司 用于获得目标传输路径的方法和网络节点
CN106789434A (zh) * 2016-12-29 2017-05-31 国网浙江省电力公司绍兴供电公司 一种采样数据包传输延时测量方法及系统
CN109309940A (zh) * 2017-07-28 2019-02-05 展讯通信(上海)有限公司 业务控制方法、装置、多卡移动终端及存储介质
EP3846390A1 (en) * 2019-12-30 2021-07-07 Juniper Networks, Inc. Measuring packet residency and travel time

Also Published As

Publication number Publication date
CN116248589A (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
US10855574B2 (en) Method and network device for computing forwarding path
US20220200893A1 (en) Data Transmission Control Method and Apparatus
US11616729B2 (en) Method and apparatus for processing low-latency service flow
US9270598B1 (en) Congestion control using congestion prefix information in a named data networking environment
US7636781B2 (en) System and method for realizing the resource distribution in the communication network
US20070019558A1 (en) Dynamic enforcement of MPLS-TE inter-domain policy and QoS
US20220045944A1 (en) Method for Forwarding Service Data, Network Device, and Network System
WO2021136430A1 (zh) 路径选择方法、装置、计算机设备和计算机可读介质
US20220124023A1 (en) Path Switching Method, Device, and System
US20170264538A1 (en) Load sharing method and router device
WO2022048514A1 (zh) 数据包的传输方法及装置
WO2023103478A1 (zh) 业务报文转发方法、路径建立方法及存储介质
US11496388B2 (en) Resource reservation and maintenance for preferred path routes in a network
WO2023143369A1 (zh) 确定路由的方法、电子设备、计算机可读存储介质
WO2023130744A1 (zh) 报文调度方法、网络设备、存储介质及计算机程序产品
WO2024082617A1 (zh) 转发表索引的通告方法、节点及存储介质
KR100723877B1 (ko) IP망에서의 단대단 QoS 보장 방법
EP4274168A1 (en) Information processing method, network device, network system, and storage medium
WO2023130743A1 (zh) 路径计算方法、节点、存储介质及计算机程序产品
US11929910B2 (en) Communication method implemented by a first router of an autonomous system using an interior gateway protocol
WO2024060590A1 (zh) 确定性业务报文的转发方法、边界路由器及控制器
US20240129246A1 (en) Traffic scheduling method and system, and storage medium
WO2023051049A1 (zh) 网络架构、网络通信方法、电子设备及存储介质
WO2022042610A1 (zh) 信息处理方法、网络控制器、节点及计算机可读存储介质
CN107659503B (zh) 用于资源受限网络的业务保护方法及系统

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: 22902909

Country of ref document: EP

Kind code of ref document: A1