WO2019184925A1 - 一种报文发送的方法、网络节点和系统 - Google Patents

一种报文发送的方法、网络节点和系统 Download PDF

Info

Publication number
WO2019184925A1
WO2019184925A1 PCT/CN2019/079787 CN2019079787W WO2019184925A1 WO 2019184925 A1 WO2019184925 A1 WO 2019184925A1 CN 2019079787 W CN2019079787 W CN 2019079787W WO 2019184925 A1 WO2019184925 A1 WO 2019184925A1
Authority
WO
WIPO (PCT)
Prior art keywords
network node
packet
cycle time
node
forwarding
Prior art date
Application number
PCT/CN2019/079787
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 华为技术有限公司
Priority to EP19777921.8A priority Critical patent/EP3764609B1/en
Priority to EP23177655.0A priority patent/EP4258611A3/en
Publication of WO2019184925A1 publication Critical patent/WO2019184925A1/zh
Priority to US17/035,687 priority patent/US11706149B2/en
Priority to US18/324,670 priority patent/US20230388239A1/en

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/30Routing of multiclass traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • 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/28Flow control; Congestion control in relation to timing considerations

Definitions

  • the present invention relates to the field of communications, and in particular, to a packet sending method, a network node, and a system.
  • Deterministic networking provides a highly reliable path to applications.
  • Deterministic networks provide bounded latency guarantees and extremely low packet loss rates.
  • the bounded delay guarantee means that the packet forwarding delay is within a fixed range of the packet in the end-to-end forwarding process, that is, the packet forwarding delay is within this delay range. Bounded delay is achieved through end-to-end reserved bandwidth resources and queue management algorithms.
  • Cyclic queuing and forwarding is a method of queue management applied to deterministic networks in the prior art.
  • the core of the CQF technology is that a packet is sent out at a certain cycle time of the node A on the forwarding path, and is received at the same cycle time of the next hop node of the node, and at the next hop node.
  • the next cycle time is issued. Therefore, the maximum delay of each hop is one cycle time, and the maximum end-to-end delay is (N+1)*cycle time, where N is the number of intermediate nodes on the passed packet forwarding path.
  • the message may be sent at the nth cycle time of a node, but may be received at the (n+1)th cycle time of the next hop node. Therefore, CQF The determined delay guarantee cannot be accurately implemented in the packet forwarding process.
  • the present application provides a packet sending method, a network node, and a system, which are used to accurately implement delay guarantee in a packet forwarding process.
  • an embodiment of the present invention provides a method for sending a packet, where the method includes: acquiring, by a controller, a forwarding delay requirement of a service flow and a destination address of the service flow, according to the forwarding delay requirement and the The destination address determines a forwarding path for forwarding the service flow, the delay of the forwarding path meets a forwarding delay requirement of the service flow, and the forwarding path passes through the first network node and the second network node, where the first The network node is an ingress node of the forwarding path, and the second network node is an intermediate node of the forwarding path; the controller determines a first cycle time number and the number of the first network node to forward a packet The second network node forwards the second cycle time number of the packet, and determines a first adjacent segment identifier corresponding to the first cycle time number and a second adjacent segment identifier corresponding to the second cycle time number, the report The controller belongs to the service flow; the controller generates a label stack, the label stack
  • the controller determines the forwarding path according to the forwarding delay requirement of the service flow, and determines the cycle time number corresponding to the forwarding time of the ingress node and the intermediate node on the forwarding path, and then generates a corresponding label stack in the label stack.
  • the contiguous segment identifier corresponds to the cycle time number of the node when forwarding the packet, so that the ingress node and the intermediate node on the forwarding path can forward the packet belonging to the service flow according to the label stack at a determined time, thereby enabling The delay guarantee for packet forwarding is determined.
  • the message is the first message in the service flow, or any message in the service flow.
  • the controller obtains a node delay of the first network node and the second network node, where the node delay includes a packet processing delay and a packet sending delay.
  • the controller obtains a link delay of the link on the forwarding path.
  • the delay of the forwarding path satisfies the forwarding delay requirement of the packet, including: a node delay of the first network node, a node delay of the second network node, and a link of the link on the forwarding path
  • the sum of the delays is within the range required by the packet forwarding delay.
  • the delay of the forwarding path is equal to the sum of the node delay of the first network node, the node delay of the second network node, and the link delay of the link on the forwarding path.
  • the controller obtains a duration of a cycle time of the first network node and a duration of a cycle time of the second network node; the controller obtains a current time corresponding to the controller a third cycle time number of the first network node and a fourth cycle time number of the second network node; the controller according to the duration of the cycle time of the first network node and the third cycle time number Determining, by the first cycle time number, a start time corresponding to the first cycle time number after the first network node receives the label stack; and the controller is configured according to a cycle time of the first network node a duration, a link delay of the first network node to the second network node, a packet processing delay of the second network node, the third cycle time number, and a cycle of the second network node The duration of time determines the second cycle time number.
  • the controller receives the advertisement packet sent by the first network node, where the advertisement packet includes the forwarding delay request and a destination address of the packet.
  • the present invention provides a method for sending a message, the method comprising: obtaining, by a first network node, a packet; the first network node obtaining a first label stack according to the packet, the first The label stack is a label stack corresponding to the forwarding path of the packet, the first label stack includes an adjacent segment identifier of the first network node and an adjacent segment identifier of the second network node, where the first network node is An ingress node of the forwarding path, the second network node is an intermediate node of the forwarding path; the first network node pushes the first label stack into the packet, where the first label stack
  • the stack top label is an contiguous segment identifier of the first network node; the first network node determines, according to the contiguous segment identifier of the first network node, a cycle time number for forwarding the packet; the first network node And ejecting the adjacent segment identifier of the first network node in the first label stack to obtain a second label stack; the
  • the first network node after obtaining the packet, obtains the first label stack according to the packet, and then determines, according to the identifier of the adjacent segment of the corresponding first network node included in the label stack, that the first packet is forwarded.
  • the cycle time is numbered, and then the packet is sent to the next hop of the first network node in the time corresponding to the cycle time number, so that the time first network node sends the packet to the specified time, which is beneficial to implement the packet. Forward the determined delay guarantee.
  • the first network node obtains a service flow, and sends a forwarding delay request of the service flow and a destination address of the service flow to a controller, triggering the controller according to the The forwarding delay request and the destination address determine a forwarding path for forwarding the service flow and a label stack corresponding to the forwarding path, where the packet is a packet in the service flow; the first network node receives a label stack sent by the controller corresponding to the forwarding path.
  • the first network node obtains the first label stack according to a label stack sent by the controller corresponding to the forwarding path. Specifically, the packet sending rate is increased by adding N to each label in the label stack of the forwarding path to obtain a first label stack, where N is a sequence number of the sent packet minus one.
  • the first network node sends the packet including the second label stack to the second network node within a time corresponding to the cycle time number, including: the first The network node adds the packet that includes the second label stack to a packet queue corresponding to the cycle time number, and uses the adjacent segment of the first network node when the packet queue is a sending queue.
  • the outbound interface corresponding to the identifier sends the packet including the second label stack to the second network node.
  • the present invention provides a method for sending a message, the method comprising: receiving, by a second network node, a first packet sent by a first network node, where the packet includes a label stack; The network node obtains the top-of-stack label of the label stack; determines the top-of-stack label of the label stack as the contiguous segment identifier of the second network device, and determines the adjacency according to the correspondence between the stored contiguous segment identifier and the cycle time number.
  • the second network node pops up the contiguous segment identifier of the second network node in the label stack of the first packet to generate a second packet, and in the The second packet is sent to the next hop network node of the second network node corresponding to the cycle time number.
  • the sending, by the first network node, the second packet to the next hop network node of the first network node in the time corresponding to the cycle time number includes: The second network node adds the second packet to the packet queue corresponding to the cycle time number, and when the packet queue is the sending queue, uses the adjacent segment identifier of the second network node to identify the corresponding packet. The interface sends the second packet to a next hop network node of the first network node.
  • an embodiment of the present invention provides a controller, where the method in any one of the possible implementations of the first aspect or the first aspect is performed.
  • the controller comprises means for performing the method of the first aspect or any one of the possible implementations of the first aspect.
  • the embodiment of the present invention provides a first network node, where the method in any one of the possible implementation manners of the second aspect or the second aspect is performed.
  • the first network node comprises means for performing the method of any one of the possible implementations of the second aspect or the second aspect.
  • the embodiment of the present invention provides a second network node, where the method in any one of the possible implementation manners of the third aspect or the third aspect is performed.
  • the second network node comprises means for performing the method of any of the possible implementations of the third aspect or the third aspect.
  • a controller comprising: a processor, a network interface, and a memory.
  • the memory may be used to store program code
  • the processor is configured to call the program code in the memory to perform the method in any of the foregoing first aspect or the first aspect of the first aspect. For details, refer to the detailed description in the method example. Let me repeat.
  • a first network node comprising: a processor, a network interface, and a memory.
  • the memory may be used to store program code
  • the processor is used to call the program code in the memory to perform the method in any one of the foregoing possible implementations of the second aspect or the second aspect. For details, refer to the detailed description in the method example. Let me repeat.
  • a second network node comprising: a processor, a network interface, and a memory.
  • the memory may be used to store program code
  • the processor is used to call the program code in the memory to perform the method in any one of the foregoing possible implementation manners of the third aspect or the third aspect.
  • a system for message transmission comprising the controller, the first network node and the second network node provided by the foregoing aspects.
  • a computer storage medium for storing computer software instructions for use in the network node or controller described above, including a program designed to perform the above aspects.
  • FIG. 1 is a schematic diagram of forwarding CQF packets according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a packet forwarding application scenario according to an embodiment of the present disclosure
  • FIG. 3 is a schematic diagram of a packet forwarding process according to an embodiment of the present disclosure
  • FIG. 4 is a schematic diagram of a correspondence between a segment identifier and a cycle time number according to an embodiment of the present invention
  • FIG. 5 is a schematic diagram of a packet forwarding process according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of a message queue according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a controller according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic structural diagram of a controller according to an embodiment of the present disclosure.
  • FIG. 9 is a schematic structural diagram of a first network node according to an embodiment of the present disclosure.
  • FIG. 10 is a schematic structural diagram of a first network node according to an embodiment of the present disclosure.
  • FIG. 11 is a schematic structural diagram of a second network node according to an embodiment of the present disclosure.
  • FIG. 12 is a schematic structural diagram of a second network node according to an embodiment of the present disclosure.
  • FIG. 13 is a schematic diagram of a packet forwarding system according to an embodiment of the present invention.
  • CQF is a queue management method that uses two queues to alternately send packets.
  • the packets have an independent transmission time interval on each network node.
  • the packets that are reserved in the same time period are guaranteed to have sufficient bandwidth.
  • the packets between different time segments are isolated, and the packets have a certain delay when each network node is forwarded.
  • each network node has two message queues, one is the message receiving queue and the other is the message sending queue.
  • the message receiving queue is configured to receive a message sent by the last hop network node to the current network node.
  • the message sending queue is used to send the buffered message to the next hop network node, and the queue can receive the message without receiving the message.
  • the roles of the packet receiving queue and the packet sending queue can be mutually converted.
  • the packets received by the packet receiving queue are sent to the next hop network node when it becomes the packet sending queue.
  • Each network node has a clock. After a fixed-length period, the packet receiving queue and the packet sending queue exchange role, that is, the packet receiving queue becomes a packet sending queue, and the packet sending queue becomes a packet receiving. Queue, the time period for defining this fixed length is a cycle time, referred to as cycle.
  • the network node records the time in cycles. The length of the cycle of each network node is the same, and the start and end times of the cycles of different network nodes are required to be the same. The roles of the packet receiving queue and the packet sending queue are exchanged in cycles.
  • FIG. 1 is a schematic diagram of packet forwarding by a network node using CQF.
  • the packet sending queue of node 101 sends a packet to the packet receiving queue of node 102, and the time changes from cycle 1 to cycle 2.
  • the message receiving queue of the node 102 becomes a message sending queue.
  • the message sending queue of node 102 sends the message to the message receiving queue of node 103.
  • the maximum delay of the packet forwarding is (N+1)*cycle, where N is the number of intermediate nodes on the forwarding path. In the scenario shown in FIG.
  • the packet forwarding delay of the packet from the node 101 to the node 103 is 2*cycle. Because the process of calculating the packet forwarding delay does not consider the impact of the link between the nodes, the maximum forwarding delay of the packet is inaccurate. For example, the packet is forwarded by the node 101 to the node 102 in cycle 1. If the link delay between the node 101 and the node 102 is greater than the length of one cycle, there is no guarantee that the message is forwarded to the node 102 in the cycle 1. Therefore, CQF cannot accurately determine the determined delay in the packet forwarding process.
  • FIG. 2 is a schematic diagram of a network scenario of a packet sending method according to an embodiment of the present invention.
  • the application scenario includes: a controller 200, a transmitting end 201, a receiving end 206, a network node 202, a network node 203, a network node 204, and a network node 205.
  • the controller 200 is a controller under a software defined network (SDN) architecture, which is used to implement flow control and manage nodes in the network.
  • SDN software defined network
  • the network in which the network node 202, the network node 203, the network node 204, and the network node 205 are located is a segment routing (SR) network, and the network node 202, the network node 203, the network node 204, and the network node 205 respectively support the SR function.
  • the transmitting end 201 and the receiving end 206 can be user equipment, such as a mobile phone or a personal computer.
  • Network node 202, network node 203, network node 204, and network node 205 can be routers or switches, and the like.
  • the link from network node 202 to network node 203 is link 1
  • the link from network node 203 to network node 204 is link 2
  • the link from network node 202 to network node 204 is link 3
  • network node 204 is to the network.
  • the link of node 205 is link 4.
  • the network node may be a specific network device, such as a router or a switch.
  • the embodiment of the present invention provides a method for sending a packet, and the method includes:
  • the controller receives a node delay of a network node in the network and a link delay in the network.
  • the node delay includes the packet processing delay of the node and the packet transmission delay.
  • controller 200 receives node delays for network node 202, network node 203, network node 204, and network node 205, respectively.
  • the link delay includes the delay between network nodes in the network, such as the delays of link 1, link 2, link 3, and link 4 in FIG.
  • the packet processing delay of the network node is the average processing delay or the maximum processing delay of the processed packet.
  • Packet transmission delay which is the average transmission delay or maximum transmission delay of the packets sent by the network node.
  • the link delay of the link 1 is the average forwarding delay or the maximum forwarding delay of the packet from the network node 202 to the network node 203.
  • the link delay of the link 2 is the packet forwarding from the network node 203 to the network.
  • the average forwarding delay or the maximum forwarding delay of the node 204, the link delay of the link 3 is the average forwarding delay or the maximum forwarding delay of the packet forwarded from the network node 202 to the network node 204, and the link of the link 4
  • the delay is the average forwarding delay or maximum forwarding delay for the message to be forwarded from the network node 204 to the network node 205.
  • the controller obtains a forwarding delay requirement of the service flow and a destination address of the service flow.
  • the service flow is a service flow that needs to be forwarded by the network managed by the controller. In the scenario shown in Figure 2, the packets in the service flow need to be forwarded through the SR network.
  • the forwarding delay requirement of the service flow and the destination address of the service flow may be sent by the ingress node of the SR network to the controller, and the network node 202 in FIG. 2 sends the service flow to be forwarded to the controller 200. Delay request and destination address of the service flow.
  • the forwarding delay requirement of the traffic flow and the destination address of the traffic flow may be sent by the access terminal 201 to the controller.
  • the access terminal 201 needs to send a service flow through a network managed by the controller, the forwarding delay requirement of the service flow and the destination address of the service flow are sent to the controller.
  • the forwarding delay requirement of the service flow may be a delay range.
  • the delay requirement is that the packet forwarding delay is between 10 milliseconds (ms) and 15 ms, or the forwarding delay is The requirement is a specific delay, for example, the forwarding delay is 20ms.
  • the control calculates a forwarding path according to the destination address of the service flow, where the delay of the forwarding path satisfies the forwarding delay requirement of the service flow.
  • the forwarding path includes an ingress node, an intermediate node, and an egress node.
  • the delay of the forwarding path includes a node delay of the transit path ingress node, a node delay of the intermediate node, and a link delay of the link from the ingress node to the egress node.
  • the destination address of the service flow is the address of the receiving end 206
  • the controller 200 calculates the forwarding path in the SR network according to the destination address, where two paths that can reach the receiving end 206 are respectively paths. 1 and path 2.
  • Path 1 passes through network node 202, network node 203, and network node 205, which passes through network node 202, network node 204, and network node 205.
  • the delay of the path 1 meets the forwarding delay requirement of the service flow, and the delay of the path 2 does not meet the forwarding delay requirement of the service flow.
  • the controller selects the path 1 as the forwarding path of the forwarding service flow.
  • the ingress node of path 1 is network node 202
  • the intermediate node of path 1 is network node 203
  • the egress node in path 1 is network node 205.
  • the controller obtains the duration of the cycle time of the ingress node of the forwarding path and the cycle time number of the ingress node of the current time of the controller.
  • the duration of the cycle time in the embodiment of the present application is the length of time occupied by the cycle time.
  • the current time of the controller refers to the time when the controller obtains the cycle time number of the ingress node.
  • the controller obtains the duration of the cycle time of the intermediate node of the forwarding path and the cycle time number of the intermediate node of the current time of the controller. There may be one or more intermediate nodes.
  • the current time of the controller refers to the time when the controller obtains the cycle time number of the intermediate node.
  • the duration of the cycle time of each network node may be different or the same, and is not specifically limited in this embodiment of the present application.
  • the cycle time is a unit of the network node process scheduling, and the sending of the packets in the queue is completed in one cycle time.
  • the cycle time of each network node is numbered from the time the network node is started, and is gradually incremented. It can be seen that in the embodiment of the present invention, the duration of the cycle time of each network node may be the same or different, and the start and end times of the cycle time of each network node may also be different, thereby avoiding the configuration complexity of the network node and simplifying the configuration.
  • the device manages the workload and provides high packet forwarding efficiency.
  • control determines the duration of the cycle time of the network node 202 and the network node 203, respectively.
  • the duration of the cycle time of the network node 202 is a first duration, for example, 10 milliseconds (ms), and the duration of the cycle time of the network node 203 is a second duration, for example, 12 ms.
  • the current cycle time number of the network node 202 is the first number, for example, 124, and the current cycle time number of the network node 203 is the second number, for example, 156.
  • the controller determines a cycle time number of the packet sent by the ingress node, and determines a cycle time number of the packet sent by the intermediate node, where the packet belongs to the service flow.
  • the packet may be the first packet in the service flow or any one of the service flows.
  • the controller obtains the current cycle time number of the ingress node and the duration of the cycle time, and then selects a time point as the time at which the ingress node sends the message, and determines the cycle time number corresponding to the time.
  • the cycle time number L corresponding to the message is calculated according to the following formula:
  • the above-mentioned t seconds can be obtained by calculating the time when the waiting time t is calculated by the controller and the time of the controller when the ingress node forwards the message.
  • the controller determines the cycle time number of the ingress node, it determines the cycle time number of the intermediate node.
  • the controller determines the cycle time number of the first intermediate node on the forwarding path, the first intermediate node is the next hop node of the ingress node, and the node 202 is the ingress node in FIG. 2, and the node 203 is the next node 202. Jump the node.
  • the controller calculates the cycle time number of the first intermediate node as follows:
  • the duration t of the message before the intermediate node enters the queue is calculated according to the following formula.
  • T1 is the length of time when the packet is forwarded at the ingress node number L.
  • T2 is the link delay of the link between the ingress node and the intermediate node
  • T3 is the maximum packet processing delay of the intermediate node.
  • estimate the cycle time number of the packet at the latest enqueue of the intermediate node for example:
  • the cycle time number B is calculated according to the following formula:
  • the controller calculates the cycle time number of the intermediate node (not the first intermediate node) other than the first intermediate node as follows:
  • the duration t of the message before the queue of the non-first intermediate node is calculated according to the following formula.
  • T1 is the length of time when the packet is forwarded at the ingress node number L.
  • T2 is the link delay of the link between the ingress node and the non-first intermediate node
  • T3 is the maximum packet processing delay of the non-first intermediate node
  • T4 is the sum of the node delays of the intermediate nodes passing between the ingress node and the non-first intermediate node.
  • S307. Determine an contiguous segment identifier of the ingress node, determine an contiguous segment identifier of the intermediate node, and generate a label stack.
  • the label stack sequentially includes the adjacent node identifiers of the ingress node and the intermediate node from the top of the stack to the bottom of the stack.
  • the controller sends the label stack to the ingress node.
  • the outbound interface of each node on the forwarding path may correspond to multiple adjacent segment identifiers, and establish a correspondence between each adjacent segment identifier and the cycle number.
  • the outbound interface corresponding to the ingress node of the ingress node is identified as SID 1-SID 10
  • the 10 adjacent segment identifiers correspond to a link corresponding to the outbound interface forwarded by the ingress node along the forwarding path.
  • link 1 Each segment identifier (SID) of a port corresponds to multiple cycle numbers, and the SID corresponding to the port or link may also be referred to as an adjacent segment identifier.
  • the SID can be an MPLS label.
  • the correspondence between the cycle number and the SID may be many-to-one without causing confusion.
  • the cycle number corresponding to SID 1 is M
  • M is the first item is 0001
  • the tolerance is 10
  • the cycle numbers corresponding to SID 1 are 0001, 0011, 0021, 0031, ....
  • the cycle number corresponding to SID 2 is N
  • N is the arithmetic progression with the first term being 0002 and the tolerance being 10.
  • the cycle numbers corresponding to SID 2 are 0002, 0102, 0022, 0032, ....
  • 10 SIDs may be used to represent the cycle number, and the cycle number on the node is incremented with time, and the SID used for every 10 cycle numbers is cycled once.
  • the ingress node and the intermediate node respectively send the corresponding relationship to the controller, or the controller may actively go to each forwarding node to obtain the adjacent segment identifier. Correspondence with the cycle number.
  • the controller determines the SID to be used according to the calculated cycle time number of each node, and then determines the SID to be used. Then the SID of each node forms a label stack, and the label stack is from the top of the stack to the bottom of the stack.
  • the SID of the ingress node and the intermediate node on the forwarding path are sequentially included. For example, as shown in FIG. 2, after the packet reaches the node 205 via the node 202 and the node 203, the label stack is ⁇ SID 2, SID 4>, wherein SID 2 is the segment adjacency identifier of node 202, and SID 4 is the segment adjacency identifier of node 203.
  • different nodes may use the same contiguous segment identifier, that is, the contiguous segment identifier of the node is valid locally.
  • the contiguous segment identifier of the outbound interface corresponding to the forwarding path on the ingress node is SID 1-SID 10
  • the intermediate node The contiguous segment identifier of the outbound interface corresponding to the forwarding path may also be SID 1-SID 10.
  • the contiguous segment identifier of the link 1 corresponding to the outbound interface of the node 202 is SID 1-SID 10
  • the node 203 is outbound.
  • the adjacent segment identifier of the corresponding link 2 may also be SID 1-SID 10.
  • the controller sends the label stack to the ingress node, and after receiving the label stack, the ingress node performs processing according to step S309.
  • the ingress node forwards the packet according to the label stack.
  • the ingress node pushes the label stack into the packet header of the service packet, where the service packet is a packet in the service flow.
  • the stack top label of the label stack is the contiguous segment identifier of the ingress node, determining, according to the correspondence between the contiguous segment identifier and the cycle time number, the cycle time number of sending the service packet, and then popping the stack top label.
  • the service packet including the remaining labels in the label stack is sent to the intermediate node within the time corresponding to the cycle time number.
  • the ingress node determines that the stack top of the label stack is SID 2
  • the corresponding cycle time number is determined according to the SID 2
  • the determined cycle time numbers are 0002, 0102, 0022, 0032, ...
  • the selection is made.
  • the cycle time number of the current cycle time of the ingress node is the cycle time of the service packet. For example, if the cycle time number of the current ingress node is 0030, the cycle time number is 0032.
  • the ingress node After determining the number of the cycle time for sending the service packet, the ingress node adds the service packet to the packet queue corresponding to the cycle time number.
  • the packet queue may be a packet receiving queue or a packet. Send queue.
  • the ingress node when the ingress node adds the service packet to the packet queue corresponding to the cycle time, when the packet queue is the sending queue, the corresponding outbound interface of the ingress node identifier is used to identify the corresponding outbound interface.
  • the service message is sent to a next hop node of the ingress node.
  • the embodiment of the present invention provides a method for sending a packet, and the method includes:
  • the first network node obtains a forwarding delay requirement of the service flow and a destination address of the service flow.
  • the service flow is a service flow generated by the first network node, or a service flow received by the first network node from another device.
  • the first network node is an ingress node of the forwarding path, such as an ingress node in the embodiment shown in FIG.
  • the first network node sends the forwarding delay requirement of the service flow and the destination address of the service flow to the controller, and triggers the controller to determine, according to the forwarding delay request and the destination address, forwarding the A forwarding path of the service flow and a first label stack corresponding to the forwarding path.
  • the first network node receives a first label stack corresponding to the forwarding path sent by the controller, where the first label stack includes an adjacent segment identifier of the first network node and an adjacent segment identifier of the second network node, and the second network
  • the node is the intermediate node of the forwarding path.
  • the intermediate node in the embodiment shown in FIG.
  • the first network node pushes the first label stack into the packet header of the first packet, where the top label of the first label stack is an adjacent segment identifier of the first network node, and the first network node is configured according to the first network.
  • the adjacent segment identifier of the node determines the cycle time cycle time for forwarding the first packet.
  • the first packet is a packet in the service flow.
  • the first network node pops up the contiguous segment identifier of the first network node in the first label stack of the first packet header to generate a second packet.
  • the first label stack of the contiguous segment identifier of the first network node is popped up as the second label stack.
  • the first network node sends the second packet to the second network node within a time corresponding to the cycle time number.
  • the second network node receives the second packet, and determines that the top label of the second label stack included in the second packet is an adjacent segment identifier of the second network device, and the corresponding relationship between the stored adjacent segment identifier and the cycle time number. Determining a cycle time corresponding to the adjacent segment identifier.
  • the second network node pops up the contiguous segment identifier of the second network node in the second packet to generate a third packet, and sends the third packet within a time corresponding to the cycle time number. Sending to the next hop network node of the second network node.
  • the first network node may perform the steps performed by the ingress node in the embodiment shown in FIG. 3.
  • the second network node may perform the intermediate node in the embodiment shown in FIG. The steps performed are described in detail in Figure 3.
  • the label stack for forwarding the message after the first packet in the service flow may be generated according to the first label stack.
  • the first packet corresponding to the first packet is ⁇ SID 2, SID 4>, where SID 2 is an adjacent segment identifier of the first network node, and SID 4 is a segment adjacency identifier of the second network node, and each The contiguous segment identifier of the node corresponds to multiple cycle time numbers.
  • the first packet after the first packet in the service flow corresponds to the first packet.
  • the label stack is ⁇ SID 3, SID 5>
  • the label stack corresponding to the second packet after the first packet in the service flow is ⁇ SID 4, SID 6>, that is, the method of adding 1 according to SID Generates a label stack of the message after the first packet.
  • SID of the network node in a certain label stack becomes SID 10
  • SID of the corresponding next label stack becomes SID 1, that is, renumbering according to the interval of 10.
  • the egress port of the first network node corresponds to three packet queues, wherein two packet queues are packet receiving queues, and one packet queue is a packet sending queue.
  • the first network node The packet queue at cycle time 1 is in the message queue state 1, the message queue at cycle time 2 is in the message queue state 2, and the message queue at cycle time 3 is in the message queue state 3.
  • queue 1 is the send queue, and queue 2 and queue 3 are the message receive queues.
  • queue 2 is the send queue, and queue 1 and queue 3 are the message receive queues.
  • queue 3 is the send queue, and queue 1 and queue 2 are the message receive queues.
  • the message queue status is alternately switched according to the three states in FIG.
  • each queue corresponds to a cycle time number.
  • the first network node determines that the cycle time for sending the first packet is cycle time 5, and determines that the current cycle number of the first network node is 4, it determines that the current packet queue is in the state of the message queue.
  • the first packet with the identifier of the adjacent segment of the first network node is added to the packet queue 2.
  • the cycle time of the first network node changes to cycle time 5
  • the state of the message queue is state 2
  • the message is sent to the second network node through the message queue 2.
  • the egress port of the second network node also corresponds to the three packet queues shown in FIG. 6, and the state change of the packet queue is as shown in FIG. 6.
  • the second network node receives the second packet at the cycle time 6 of the second network node, and determines, according to the label stack of the second packet, that the second network node needs to send the second packet to the timeout 8
  • the second packet is added to queue 2, and the state of the packet queue is state 3.
  • the cycle time number of the second network node becomes 8 that is, the state of the packet queue is 2, and the state of the queue 2 is the packet transmission state.
  • the second network node sends the next hop node of the second network node in the second packet through the message queue 2.
  • the reliability of packet forwarding can be increased. For example, when the packet arrives at the second network node, the packet receiving queue of the second network node is full, and the packet will appear. If the queue overflows, the packet will not be forwarded normally. By increasing the number of queues that receive packets, the packets can be buffered when they arrive at the network node in advance. When the packet time of the packet arrives, the packet is sent again, which improves the reliability of packet transmission.
  • FIG. 7 shows a possible structural diagram of a controller involved in the above embodiment, which can implement the functions of the controller in the embodiment shown in FIG. 3 or 5.
  • the controller 700 includes an acquisition unit 701, a determination unit 702, a processing unit 703, and a transmission unit 704. These units can perform the corresponding functions of the controllers in the above method embodiments.
  • the obtaining unit 701 is configured to support the controller 700 to perform the processes S301 and S302 in FIG. 3; the determining unit 702 is configured to support the controller 700 to perform the processes S303 and S306 in FIG. 3; and the sending unit 704 is configured to support the controller 700.
  • Process S308 in FIG. 3 is performed.
  • Processing unit 703 is for supporting controller 700 to perform process S307 in FIG.
  • the obtaining unit 701 is configured to perform various information acquisitions performed by the nodes in the foregoing method embodiment
  • the determining unit 502 is configured to perform the determining action performed by the controller in the foregoing method embodiment
  • the sending unit 704 is configured to execute the foregoing method.
  • the various information is sent by the controller in the embodiment; the processing unit 703 is configured to perform other processing than the information receiving and receiving and determining actions of the controller in the foregoing method embodiment.
  • the obtaining unit 701 is configured to obtain a forwarding delay requirement of the service flow and a destination address of the service flow
  • the determining unit 702 is configured to determine, according to the forwarding delay request and the destination address, forwarding the service.
  • a forwarding path of the flow the delay of the forwarding path satisfies the forwarding delay requirement of the service flow, the forwarding path passes through the first network node and the second network node, and the first network node is the forwarding path
  • An ingress node the second network node is an intermediate node of the forwarding path; determining a first cycle time cycle time number of the first network node to forward a message, and a second network node forwarding the packet
  • the second cycle time number is determined, and the first adjacent segment identifier corresponding to the first cycle time number and the second adjacent segment identifier corresponding to the second cycle time number are determined, and the packet is a report in the service flow.
  • the processing unit 703 is configured to generate a label stack that forwards the packet, where the label stack includes the first adjacent segment identifier and the second adjacent segment identifier, and a sending unit 704, Transmitting the label stack to the first network node, where the label stack is used to guide the first network node to follow the forwarding path in the time corresponding to the first cycle time number. Forward the message.
  • the label stack includes the first adjacent segment identifier and the second adjacent segment identifier
  • a sending unit 704 Transmitting the label stack to the first network node, where the label stack is used to guide the first network node to follow the forwarding path in the time corresponding to the first cycle time number. Forward the message.
  • FIG. 8 shows a possible schematic diagram of a controller involved in the above embodiment.
  • the controller 800 includes a processor 802, a transceiver 803, a memory 801, and a bus 804.
  • the processor 802, the transceiver 803, and the memory 801 are connected to each other through a bus 804.
  • the bus 804 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA). ) Bus, etc.
  • the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figure 8, but it does not mean that there is only one bus or one type of bus.
  • the controller 800 can implement the functions of the controller in the embodiment shown in FIG. 3 or 5.
  • the processor 802 and the transceiver 803 can perform the respective functions of the controller in the above method examples.
  • the transceiver 803 is configured to support the controller 800 to perform the processes S301 and S302 in FIG.
  • the processor 802 is configured to support the controller 800 to perform the process S307 of FIG. 3 and/or other processes performed by the controller in the techniques described herein.
  • the memory 801 is configured to store program codes and data of the controller 800. For detailed implementation, please refer to the detailed description of the corresponding steps in the embodiment shown in FIG. 3 or FIG. 5 above, and details are not described herein again.
  • FIG. 9 is a schematic diagram showing a possible structure of a first network node involved in the foregoing embodiment, where the first network node can implement the entry node in the example shown in FIG. 3 or the first embodiment in the embodiment shown in FIG.
  • the function of a network node Referring to FIG. 9, the first network node 900 includes an obtaining unit 901, a processing unit 902, and a transmitting unit 903. These units can perform the respective functions of the first network node in the above method examples.
  • the obtaining unit 901 is configured to support the first network node 900 to perform the process S501 in FIG. 5; the sending unit 903 is configured to support the first network node 900 to perform processes S502 and S506 in FIG.
  • the processing unit 903 is configured to support the first Network node 900 performs processes S504, S505, and/or other processes performed by the first network node in the techniques described herein in FIG.
  • the obtaining unit 901 is configured to perform the acquiring of various information performed by the first network node in the foregoing method embodiment
  • the sending unit 903 is configured to perform various information sending performed by the first network node in the foregoing method embodiment
  • the unit 902 is configured to perform other processing in addition to information acquisition, transceiving, and determining actions of the first network node in the foregoing method embodiment.
  • the obtaining unit 901 is configured to obtain a packet, and obtain a first label stack according to the packet, where the first label stack is a label stack corresponding to a forwarding path of the forwarding packet, where the first The label stack includes an adjacent segment identifier of the first network node and an adjacent segment identifier of the second network node, the first network node is an ingress node of the forwarding path, and the second network node is the forwarding path An intermediate node; a processing unit 902, configured to push the first label stack into the packet, where a top label of the first label stack is an adjacent segment identifier of the first network node; The contiguous segment identifier of the network node determines the cycle time number of the packet to be forwarded; the contiguous segment identifier of the first network node in the first label stack is popped to obtain a second label stack; and the sending unit 903 is configured to The message including the second label stack is sent to the second network node in a time corresponding to the cycle time number.
  • each functional unit in the embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the receiving unit and the transmitting unit may be the same unit and different units.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the first network node 1000 includes a processor 1002, a transceiver 1003, a memory 1001, and a bus 1004.
  • the transceiver 1003, the processor 1002, and the memory 1001 are connected to each other through a bus 1004.
  • the bus 1004 may be a PCI bus or an EISA bus.
  • the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in FIG. 10, but it does not mean that there is only one bus or one type of bus.
  • the first network node 1000 can implement the functions of the first network node or the ingress node in the embodiment shown in FIG. 3 or 5.
  • the processor 1102 and the transceiver 1103 can perform respective functions of the first network node or the ingress node in the above method examples.
  • the processor 1102 and the transceiver 1103 can perform respective functions of the first network node or the ingress node in the above method examples.
  • FIG. 11 is a schematic diagram showing a possible structure of a second network node involved in the foregoing embodiment, where the second network node can implement the entry node in the example shown in FIG. 3 or the embodiment in the embodiment shown in FIG.
  • the function of the two network nodes includes: a receiving unit 1101, an obtaining unit 1102, a processing unit 1103, and a transmitting unit 1104. These units may perform the respective functions of the second network node or intermediate node in the above method example.
  • the receiving unit 1101 is configured to support the second network node 1100 to perform the process S506 in FIG. 5; the obtaining unit 1102 is configured to support the second network node 1100 to perform the process S507 in FIG.
  • processing unit 1103 is configured to support second network node 1100 to perform process S508 in FIG. 5, and/or other processes performed by the second network node in the techniques described herein.
  • the receiving unit 1101 is configured to perform the receiving of various information performed by the second network node in the foregoing method embodiment, and the acquiring unit 1102 is configured to perform acquiring the various information performed by the second network node in the foregoing method embodiment;
  • the sending unit 1104 is configured to perform various information transmissions performed by the second network node in the foregoing method embodiment, and the processing unit 1103 is configured to perform, in addition to information acquisition, transceiving, and determining, the second network node in the foregoing method embodiment.
  • Other processing for example, the receiving unit 1101 is configured to receive a first packet sent by the first network node, where the packet includes a label stack, an obtaining unit 1102, configured to obtain a top label of the label stack, and a processing unit 1103.
  • the stack top label of the label stack is used to determine the contiguous segment identifier of the second network device, and the cycle time corresponding to the contiguous segment identifier is determined according to the corresponding relationship between the stored contiguous segment identifier and the cycle time;
  • the contiguous segment identifier of the second network node in the label stack in the message is popped up to generate a second packet, and the sending unit 1104 is configured to: perform the second in the cycle time corresponding to the contiguous segment identifier.
  • the message is sent to the next hop network node of the first network node.
  • each functional unit in the embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the receiving unit and the transmitting unit may be the same unit and different units.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the second network node 1200 includes a processor 1202, a transceiver 1203, a memory 1201, and a bus 1204.
  • the transceiver 1203, the processor 1202, and the memory 1201 are connected to each other through a bus 1204.
  • the bus 1204 may be a PCI bus or an EISA bus.
  • the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figure 12, but it does not mean that there is only one bus or one type of bus.
  • the second network node 1200 can implement the functions of the second network node or intermediate node in the embodiment shown in FIG. 3 or 5.
  • the processor 1202 and the transceiver 1203 can perform respective functions of the second network node or intermediate node in the above method examples.
  • the processor 1202 and the transceiver 1203 can perform respective functions of the second network node or intermediate node in the above method examples.
  • an embodiment of the present invention provides a system 1300 for transmitting a message, and the system 1300 is used to implement a method for sending a message in the foregoing method embodiment.
  • the system 1300 includes a controller 1201, a first network node 1202, and a second network node 1203.
  • the controller 1201, the first network node 1202, and the second network node 1203 can implement the functions of the controller, the first network node, and the second network node in the embodiment shown in FIG. 3 or FIG. 5, respectively.
  • the embodiment of the present invention further provides a storage medium for storing software instructions used in the foregoing embodiments, including a program for executing the method shown in the foregoing embodiment, when it is executed on a computer or a device,
  • the illustrated computer or device performs the methods of the foregoing method embodiments.
  • the "first” in the first network node mentioned in the embodiment of the present invention is only used for the name identification, and does not represent the first in the order. The same rules apply to "second” and "third".
  • any of the device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as the cells may or may not be Physical units can be located in one place or distributed to multiple network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • the connection relationship between the modules indicates that there is a communication connection between them, and specifically may be implemented as one or more communication buses or signal lines.
  • the steps of the method or algorithm described in the disclosure of the embodiments of the present invention may be implemented in a hardware manner, or may be implemented by a processor executing software instructions.
  • the software instructions may be composed of corresponding software modules, which may be stored in a random access memory (RAM), a flash memory, a read only memory (ROM), an erasable programmable read only memory ( Erasable programmable ROM (EPROM), electrically erasable programmable read only memory (EEPROM), hard disk, removable hard disk, optical disk, or any other form of storage medium known in the art.
  • An exemplary storage medium is coupled to the processor to enable the processor to read information from, and write information to, the storage medium.
  • the storage medium can also be an integral part of the processor.
  • the processor and storage medium can be located in an ASIC. Additionally, the ASIC can be located in a core network interface device.
  • the processor and the storage medium may also exist as discrete components in the core network interface device.
  • the functions described herein can be implemented in hardware, software, firmware, or any combination thereof.
  • the functions may be stored in a computer readable medium or transmitted as one or more instructions or code on a computer readable medium.
  • Computer readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one location to another.
  • a storage medium may be any available media that can be accessed by a general purpose or special purpose computer.

Abstract

本申请公开了一种报文发送的方法、节点及系统。控制器获取业务流的转发时延要求和业务流的目的地址,确定满足转发时延要求的转发路径,控制器确定入口节点转发报文的第一cycle time编号和中间节点转发报文的第二cycle time编号,并分别确定对应的邻接段标识;控制器生成的标签栈包含对应入口节点和中间节点的邻接段标识;控制器将标签栈向入口节点发送触发入口节点在第一cycle time编号对应的时间内将报文转发,该报文属于该业务流。控制器根据业务流的转发时延要求确定转发路径,并生成与转发时间对应的标签栈,这样转发路径上的入口节点和中间节点可以根据标签栈在确定的时间将报文转发,从而能够实现报文转发确定的时延保障。

Description

一种报文发送的方法、网络节点和系统
本申请要求于2018年3月29日提交中国国家知识产权局、申请号201810273967.5、申请名称为“一种报文发送的方法、网络节点和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信领域,尤其涉及一种报文发送的方法、网络节点和系统。
背景技术
确定性网络(deterministic networking,DetNet)能够给应用提供高可靠性的路径。确定性网络能够提供有界时延保障和极低的丢包率等。有界时延保障是指报文在端到端转发过程中,报文转发时延是在一个固定要求的范围内的,即报文转发时延要在这个时延范围内。有界时延是通过端到端的预留带宽资源和队列管理算法实现的。循环队列和转发(cyclic queuing and forwarding,CQF)为现有技术中应用于确定性网络的一种队列管理的方法。CQF技术的核心在于报文在转发路径上的节点A的某一个周期时间(cycle time)被发出,会在该节点的下一跳节点的同一cycle time被收到,并在该下一跳节点的下一个cycle time被发出。因此,每一跳的最大时延为一个cycle time,端到端的最大时延为(N+1)*cycle time,其中N为经过的报文转发路径上中间节点个数。但是,由于链路时延的存在,报文可能在一个节点的第n个cycle time被发出,但是可能会在下一跳节点的第(n+1)个cycle time才被收到,因此,CQF在报文转发过程中并不能准确的实现确定的时延保障。
发明内容
本申请提供了一种报文发送的方法、网络节点和系统,用于准确的实现报文转发过程中的时延保障。
第一方面,本发明实施例提供了一种报文发送的方法,该方法包括:控制器获取业务流的转发时延要求和所述业务流的目的地址,根据所述转发时延要求和所述目的地址确定转发所述业务流的转发路径,所述转发路径的时延满足所述业务流的转发时延要求,所述转发路径经过第一网络节点和第二网络节点,所述第一网络节点为所述转发路径的入口节点,所述第二网络节点为所述转发路径的中间节点;所述控制器确定所述第一网络节点转发报文的第一cycle time编号和所述第二网络节点转发所述报文的第二cycle time编号,并确定对应所述第一cycle time编号的第一邻接段标识以及对应所述第二cycle time编号的第二邻接段标识,所述报文属于所述业务流;所述控制器生成标签栈,所述标签栈包含所述第一邻接段标识和所述第二邻接段标识;所述控制器将所述标签栈向所述第一网络节点发送,所述标签栈用于指导所述第一网络节点在所述第一cycle time编号对应的时间内将所述报文沿所述转发路径转发。
通过上述技术方案,控制器根据业务流的转发时延要求确定转发路径,并分别确定转 发路径上的入口节点和中间节点的转发时间对应的cycle time编号,然后生成对应的标签栈,标签栈中的邻接段标识和节点的转发该报文时的cycle time编号对应,这样在转发路径上的入口节点和中间节点可以根据标签栈在确定的时间将属于该业务流的报文转发出去,从而能够实现报文转发确定的时延保障。
在一种可能的设计中,该报文为该业务流中的第一个报文,或该业务流中的任一报文。
在一种可能的设计中,所述控制器获得所述第一网络节点和第二网络节点的节点时延,所述节点时延包括报文处理时延和报文发送时延。所述控制器获得所述转发路径上的链路的链路时延。所述转发路径的时延满足所述报文的转发时延要求包括:所述第一网络节点的节点时延、第二网络节点的节点时延和所述转发路径上的链路的链路时延之和在所述报文转发时延要求的范围内。
在一种可能的设计中,转发路径的时延等于所述第一网络节点的节点时延、第二网络节点的节点时延和所述转发路径上的链路的链路时延之和。
在一种可能的设计中,所述控制器获得所述第一网络节点的cycle time的时长以及所述第二网络节点的cycle time的时长;所述控制器获得对应所述控制器当前时间的所述第一网络节点的第三cycle time编号及所述第二网络节点的第四cycle time编号;所述控制器根据所述第一网络节点的cycle time的时长和所述第三cycle time编号确定所述第一cycle time编号,所述第一cycle time编号对应的开始时间在所述第一网络节点接收到所述标签栈之后;所述控制器根据所述第一网络节点的cycle time的时长、所述第一网络节点到所述第二网络节点的链路时延、所述第二网络节点的报文处理时延、所述第三cycle time编号和所述第二网络节点的cycle time的时长确定所述第二cycle time编号。
在一种可能的设计中,所述控制器接收所述第一网络节点发送的通告报文,所述通告报文中包含所述转发时延要求以及所述报文的目的地址。
第二方面,本发明实施提供了一种报文发送的方法,该方法包括:第一网络节点获得报文;所述第一网络节点根据所述报文获得第一标签栈,所述第一标签栈为对应转发所述报文的转发路径的标签栈,所述第一标签栈包含所述第一网络节点的邻接段标识和第二网络节点的邻接段标识,所述第一网络节点为所述转发路径的入口节点,所述第二网络节点为所述转发路径的中间节点;所述第一网络节点将所述第一标签栈压入所述报文,所述第一标签栈的栈顶标签为所述第一网络节点的邻接段标识;所述第一网络节点根据所述第一网络节点的邻接段标识确定转发所述报文的cycle time编号;所述第一网路节点将所述第一标签栈中的所述第一网络节点的邻接段标识弹出得到第二标签栈;所述第一网络节点在所述cycle time编号对应的时间内将包含所述第二标签栈的所述报文向所述第二网络节点发送。
在该技术方案中,第一网络节点在获得报文后,根据报文获得第一标签栈,然后根据标签栈中包含的对应第一网络节点的邻接段标识确定对应转发该第一报文的cycle time编号,然后在该cycle time编号对应的时间内将报文向第一网络节点的下一跳发送,从而时间第一网络节点在确定的时间将报文向外发送,有利于实现报文转发确定的时延保障。
在一种可能的设计中,所述第一网络节点获得业务流,并将所述业务流的转发时延要求和所述业务流的目的地址向控制器发送,触发所述控制器根据所述转发时延要求和所述目的地址确定转发所述业务流的转发路径和对应所述转发路径的标签栈,所述报文为所述 业务流中的一个报文;所述第一网络节点接收所述控制器发送的对应所述转发路径的标签栈。
在一种可能的设计中,所述第一网络节点根据控制器发送的对应所述转发路径的标签栈获得所述第一标签栈。具体的,感觉报文发送速率将对应所述转发路径的标签栈中的每个标签加N得到第一标签栈,N为发送报文的序列号减1。
在一种可能的设计中,所述第一网络节点将包含所述第二标签栈的所述报文在所述cycle time编号对应的时间内向所述第二网络节点发送包括:所述第一网络节点将包含所述第二标签栈的所述报文加入到对应所述cycle time编号的报文队列中,当所述报文队列为发送队列时,利用所述第一网络节点的邻接段标识对应的出接口将所述包含所述第二标签栈的所述报文向所述第二网络节点发送。
第三方面,本发明实施提供了一种报文发送的方法,该方法包括:第二网络节点接收第一网络节点发送的第一报文,所述报文包含有标签栈;所述第二网络节点获得所述标签栈的栈顶标签;确定所述标签栈的栈顶标签为所述第二网络设备的邻接段标识,根据存储的邻接段标识和cycle time编号的对应关系确定所述邻接段标识对应的cycle time编号;所述第二网路节点将所述第一报文的所述标签栈中的所述第二网络节点的邻接段标识弹出生成第二报文,并在所述cycle time编号对应的内将所述第二报文向所述第二网络节点的下一跳网络节点发送。
在一种可能的设计中,所述第一网络节点在所述cycle time编号对应的时间内将所述第二报文向所述第一网络节点的下一跳网络节点发送包括:所述第二网络节点将所述第二报文加入到对应所述cycle time编号对应的报文队列中,当所述报文队列为发送队列时,利用所述第二网络节点的邻接段标识对应的出接口将所述第二报文向所述第一网络节点的下一跳网络节点发送。
第四方面,本发明实施例提供了一种控制器,执行第一方面或第一方面的任意一种可能的实现方式中的方法。具体地,该控制器包括用于执行第一方面或第一方面的任意一种可能的实现方式中的方法的单元。
第五方面,本发明实施例提供了一种第一网络节点,执行第二方面或第二方面的任意一种可能的实现方式中的方法。具体地,该第一网络节点包括用于执行第二方面或第二方面的任意一种可能的实现方式中的方法的单元。
第六方面,本发明实施例提供了一种第二网络节点,执行第三方面或第三方面的任意一种可能的实现方式中的方法。具体地,该第二网络节点包括用于执行第三方面或第三方面的任意一种可能的实现方式中的方法的单元。
第七方面,提供了一种控制器,该控制器包括:处理器、网络接口和存储器。存储器可以用于存储程序代码,处理器用于调用存储器中的程序代码执行前述第一方面或第一方面的任意一种可能的实现方式中的方法,具体参见方法示例中的详细描述,此处不再赘述。
第八方面,提供了一种第一网络节点,该第一网络节点包括:处理器、网络接口和存储器。存储器可以用于存储程序代码,处理器用于调用存储器中的程序代码执行前述第二方面或第二方面的任意一种可能的实现方式中的方法,具体参见方法示例中的详细描述,此处不再赘述。
第九方面,提供了一种第二网络节点,该第二网络节点包括:处理器、网络接口和存 储器。存储器可以用于存储程序代码,处理器用于调用存储器中的程序代码执行前述第三方面或第三方面的任意一种可能的实现方式中的方法,具体参见方法示例中的详细描述,此处不再赘述。
第十方面,提供了一种报文发送的系统,该系统包含前述方面提供的控制器、第一网络节点和第二网络节点。
第十一方面,提供了一种计算机存储介质,用于储存为上述网络节点或控制器所用的计算机软件指令,其包括用于执行上述方面所设计的程序。
附图说明
图1为本发明实施例提供的一种应用CQF报文转发示意图;
图2为本发明实施例提供的一种报文转发应用场景示意图;
图3为本发明实施例提供的一种报文转发流程示意图;
图4为本发明实施例提供的一种段标识和cycle time编号对应关系示意图;
图5为本发明实施例提供的一种报文转发流程示意图;
图6为本发明实施例提供的一种报文队列示意图;
图7为本发明实施例提供的一种控制器的结构示意图;
图8为本发明实施例提供的一种控制器的结构示意图;
图9为本发明实施例提供的一种第一网络节点的结构示意图;
图10为本发明实施例提供的一种第一网络节点的结构示意图;
图11为本发明实施例提供的一种第二网络节点的结构示意图;
图12为本发明实施例提供的一种第二网络节点的结构示意图;
图13为本发明实施例提供的一种报文转发系统的示意图。
具体实施方式
下面结合附图,对本发明的实施例进行描述。
CQF是一种利用双队列交替发送报文的队列管理方法,报文在每个网络节点上都有一个独立的发送时间段,经过资源预留同一个时间段的报文都保证有足够的带宽,不同时间段之间的报文被隔离,报文在每个网络节点被转发时都有确定的时延。如图1所示,每个网络节点上都有两个报文队列,一个是报文接收队列,一个是报文发送队列。报文接收队列用于接收上一跳网络节点发送给当前网络节点的报文。报文发送队列用于把缓存的报文发送给下一跳网络节点,该队列可以不接收报文也可以接收报文。报文接收队列和报文发送队列的角色可以互相转换,报文接收队列接收的报文,在它变为报文发送队列时,会被发送给下一跳网络节点。每个网络节点都有一个时钟,经过一个固定长度的时间段,报文接收队列和报文发送队列交换角色,即报文接收队列变成报文发送队列,报文发送队列变成报文接收队列,定义这个固定长度的时间段为一个cycle time,简称cycle。网络节点以cycle为单位记录时间,每个网络节点的cycle的长度相同,且要求不同网络节点的cycle的起止时间要相同。报文接收队列和报文发送队列的角色以cycle为周期进行互换。
参见图1,图1为网络节点使用CQF进行报文转发示意图,在cycle 1,节点101的报文发送队列将报文发送至节点102的报文接收队列,当时间从cycle 1变为到cycle2时,节点102的报文接收队列变成报文发送队列。在cycle 2,节点102的报文发送队列将报文发送到节点103的报文接收队列。在报文从节点101转发到节点103的过程中,报文转发最大时延为(N+1)*cycle,其中N为转发路径上中间节点的个数。在图1所示的场景中报文从节点101转发到节点103的报文转发时延为2*cycle。由于这个计算报文转发时延的过程没有考虑节点之间的链路的影响,这种方式获得报文最大转发时延是不准确的,例如:报文在cycle 1被节点101转发到节点102,如果节点101和节点102之间的链路时延大于一个cycle的长度,则并不能保证报文在cycle 1内被转发到节点102。因此,CQF在报文转发过程中并不能准确的实现确定的时延保证。
图2为本发明实施例提供的一种报文发送方法的网络场景示意图。该应用场景包括:控制器200、发送端201、接收端206、网络节点202、网络节点203、网络节点204和网络节点205。其中控制器200为软件定义网络(software defined network,SDN)架构下的控制器,用于实现流量控制,并对网络中的节点进行管理,在图2所示场景中,控制管理网络节点202、网络节点203、网络节点204和网络节点205。网络节点202、网络节点203、网络节点204和网络节点205所在的网络为分段路由(segment routing,SR)网络,并且网络节点202、网络节点203、网络节点204和网络节点205分别支持SR功能。发送端201和接收端206可以为用户设备,例如,手机或个人电脑等。网络节点202、网络节点203、网络节点204和网络节点205可以为路由器或交换机等。网络节点202到网络节点203的链路为链路1,网络节点203到网络节点204的链路为链路2,网络节点202到网络节点204的链路为链路3,网络节点204到网络节点205的链路为链路4。
本发明实施例中,网络节点可以为一个具体的网络设备,例如:路由器或交换机等。
结合图2所示的网络场景,参见图3,本发明实施例提供了一种报文发送的方法,该方法包括:
S301,控制器接收网络中网络节点的节点时延和网络中的链路时延。节点时延包括节点的报文处理时延和报文发送时延。举例来说,控制器200分别接收网络节点202、网路节点203、网络节点204和网络节点205的节点时延。链路时延包括网络中网络节点之间的时延,如图2中链路1、链路2、链路3和链路4的时延。
在一个示例中,网络节点的报文处理时延为处理过的报文的平均处理时延或最大处理时延。报文发送时延,为网络节点发送过的报文的平均发送时延或最大发送时延。链路1的链路时延为报文从网络节点202转发到到网络节点203的平均转发时延或最大转发时延,链路2的链路时延为报文从网络节点203转发到网络节点204的平均转发时延或最大转发时延,链路3的链路时延为报文从网络节点202转发到网络节点204的平均转发时延或最大转发时延,链路4的链路时延为报文从网络节点204转发到网络节点205的平均转发时延或最大转发时延。
S302,控制器获取业务流的转发时延要求和该业务流的目的地址。该业务流为需要通过控制器管理的网络转发的业务流,在图2所示场景中,该业务流中的报文需要 经过SR网络转发。
在一个示例中,业务流的转发时延要求和业务流的目的地址可以是SR网络的入口节点向控制器发送的,如图2中的网络节点202向控制器200发送需要转发的业务流的时延要求及业务流的目的地址。
在一个示例中,业务流的转发时延要求和业务流的目的地址可以是接入端201向控制器发送的。当该接入端201需要通过控制器管理的网络发送业务流时,将业务流的转发时延要求以及业务流的目的地址向控制器发送。
在一个示例中,该业务流的转发时延要求可以为一个时延范围,举例来说,该时延要求为报文转发时延在10毫秒(ms)到15ms之间,或者该转发时延要求为一个具体时延,例如,转发时延为20ms。
S303,控制根据业务流的目的地址计算转发路径,该转发路径的时延满足所述业务流的转发时延要求。该转发路径包括入口节点、中间节点以及出口节点。该转发路径的时延包含转路径入口节点的节点时延、中间节点的节点时延以及从入口节点到出口节点之间链路的链路时延。
结合图2,举例来说,业务流的目的地址为接收端206的地址,控制器200根据该目的地址计算SR网络中的转发路径,其中可以到达接收端206的路径有两条,分别为路径1和路径2。路径1经过网络节点202、网络节点203和网络节点205,路径2经过网络节点202、网络节点204和网络节点205。其中路径1的时延满足业务流的转发时延要求,路径2的时延不满足业务流的转发时延要求,则控制器选择路径1作为转发业务流的转发路径。路径1的入口节点为网络节点202,路径1的中间节点为网络节点203,路径1中的出口节点为网络节点205。
S304,控制器获得转发路径的入口节点的cycle time的时长和控制器当前时间入口节点的cycle time编号。本申请实施例中cycle time的时长为cycle time所占用的时间长度。控制器当前时间是指控制器去获得入口节点cycle time编号的时间。
S305,控制器获得转发路径的中间节点的cycle time的时长和控制器当前时间中间节点的cycle time编号。中间节点可以有一个或多个。控制器当前时间是指控制器去获得中间节点cycle time编号的时间。
每个网络节点的cycle time的时长可以不同也可以相同,本申请实施例不做具体限制。cycle time是网络节点进程调度的一个单位,在一个cycle time中完成一次队列中报文的发送。每个网络节点的cycle time从网络节点启动时候开始进行编号,并逐渐递增。可见在本发明实施例中,每个网络节点的cycle time的时长可以相同也可以不同,并且每个网络节点的cycle time的起止时间也可以不同,这样避免了网络节点的配置复杂度,简化了设备管理工作量,同时提供高了报文转发效率。
结合图2,举例来说,控制分别获得网络节点202和网络节点203的cycle time的时长。网络节点202的cycle time的时长为第一时长,例如:10毫秒(ms),网络节点203的cycle time的时长为第二时长,例如12ms。网络节点202当前的cycle time编号为第一编号,例如,124,网络节点203当前的cycle time编号为第二编号,例如156。
S306,控制器确定入口节点发送报文的cycle time编号,并确定中间节点发送该 报文的cycle time编号,该报文属于所述业务流。可选地,该报文可以是该业务流中的第一个报文,或者为该业务流中的任意一个报文。
控制器得到了入口节点当前的cycle time编号及cycle time的时长,即可选择一个时间点作为入口节点发送该报文的时间,并确定对应这个时间的cycle time编号。举例来说,入口节点当前的cycle time编号为k,例如k=1001,cycle time时长为m,例如m=10ms,控制器选择等待t秒后让入口节点开始发送该报文,例如t=50秒,则对应发送该报文的cycle time编号L按照如下公式计算:
L=k+t*1000/m。
即L=1001+50*1000/10=6001。
其中,上述t秒可以通过控制器计算该等待时间t时的时间以及入口节点转发该报文时控制器的时间计算获得。
控制器确定了入口节点的cycle time编号后,再确定中间节点的cycle time编号。控制器确定转发路径上第一个中间节点的cycle time编号,该第一个中间节点为入口节点的下一跳节点,如图2中节点202为入口节点,则节点203为节点202的下一跳节点。控制器按照如下方式计算第一个中间节点的cycle time编号:
报文在中间节点入队列之前的时长t按照如下公式计算,
t=t1+t2+t3,其中,
t1为报文在入口节点编号为L的cycle time被转发时的时间长度;
t2为入口节点到中间节点之间的链路的链路时延;
t3为中间节点最大报文处理时延。
根据报文在中间节点的入队之前的时长t,估算报文在中间节点最晚入队所在的cycle time编号,例如:
中间节点当前的cycle time编号为a,例如a=2001,cycle time时长为m,例如m=20ms,上述计算的中间节点最晚入队时长t=20秒,则对应中间节点发送该报文的cycle time编号B按照如下公式计算:
B=a+t*1000/m=3001。
控制器按照如下方式计算除第一个中间节点之外的中间节点(非第一中间节点)的cycle time编号:
报文在非第一中间节点的入队列之前的时长t按照如下公式计算,
t=t1+t2+t3+t4,其中,
t1为报文在入口节点编号为L的cycle time被转发时的时间长度;
t2为入口节点到非第一中间节点之间的链路的链路时延;
t3为非第一中间节点最大报文处理时延;
t4为入口节点和非第一中间节点之间经过的中间节点的节点时延之和。
S307,确定入口节点的邻接段标识,并确定中间节点的邻接段标识,生成标签栈。所述标签栈从栈顶到栈底依次包含所述入口节点和中间节点的邻接段标识。
S308,控制器向入口节点发送所述标签栈。
在一个示例中,转发路径上的每个节点的出接口可以对应多个邻接段标识,并建立每个邻接段标识和cycle编号的对应关系。参见图4,举例来说,入口节点在转发路 径上的出接口对应邻接段标识为SID 1-SID 10,这10个邻接段标识对应入口节点沿转发路径转发的出接口对应的一个链路,如图2中的链路1。端口的每个段标识(segment identifier,SID)对应多个cycle编号,该端口或链路对应的SID也可以称为邻接段标识。该SID可以为MPLS标签。为了限制SID数量,在不造成混淆的前提下,cycle编号与SID的对应关系可以是多对一,例如,SID 1对应的cycle编号为M,M为首项为0001,公差为10的等差数列。如SID 1对应的cycle编号为0001、0011、0021、0031、……。SID 2对应的cycle编号为N,N为首项为0002,公差为10的等差数列。如SID 2对应的cycle编号为0002、0012、0022、0032、……。在本发明实施例中,可以使用10个SID来代表cycle编号,节点上的cycle编号随着时间递增,每10个cycle编号使用的SID会循环一次。
在一个示例中,入口节点和中间节点在建立每个邻接段标识和cycle编号的对应关系后,将该对应关系分别向控制器发送,或者控制器可以主动到每个转发节点来获得邻接段标识和cycle编号的对应关系。
控制器根据计算得到的每个节点的cycle time编号通过邻接段标识和cycle编号的对应关系即可确定需要使用的SID,然后将每个节点的SID形成标签栈,标签栈从栈顶到栈底依次包含转发路径上的入口节点和中间节点的SID,举例来说,结合图2所示,报文经过节点202和节点203到达节点205,则该标签栈为<SID 2,SID 4>,其中SID 2为节点202的段邻接标识,SID 4为节点203的段邻接标识。在本发明实施例中不同的节点可以使用相同的邻接段标识,即节点的邻接段标识为本地有效,例如:入口节点上对应转发路径出接口的邻接段标识为SID 1-SID 10,中间节点上对应转发路径出接口的邻接段标识也可以为SID 1-SID 10,对应图2所示的场景,节点202出接口对应的链路1的邻接段标识SID 1-SID 10,节点203出接口对应的链路2的邻接段标识也可以为SID 1-SID 10。控制器将标签栈向入口节点发送,入口节点接收到该标签栈以后,根据步骤S309进行处理。
S309,入口节点根据所述标签栈转发报文。
入口节点将所述标签栈压入业务报文的报文头中,该业务报文为业务流中的一个报文。当判断标签栈的栈顶标签为所述入口节点的邻接段标识时,根据邻接段标识和cycle time编号的对应关系确定发送所述业务报文的cycle time编号,然后将栈顶标签弹出,将包含标签栈中剩余标签的业务报文在该cycle time编号对应的时间内向中间节点发送。举例来说,当入口节点判断标签栈的栈顶为SID 2时,根据SID 2确定对应的cycle time编号,如确定的cycle time编号为0002、0012、0022、0032、…...,则选择离所述入口节点当前cycle time编号最近的cycle time编号为发送该业务报文的cycle time,例如,当前入口节点的cycle time编号为0030,则选择cycle time的编号为0032。入口节点在确定了发送该业务报文的cycle time编号后,将该业务报文加入到对应该cycle time编号的报文队列中,该报文队列可能是报文接收队列,也可能是报文发送队列。
在一个示例中,当入口节点将该业务报文加入到对应该cycle time的报文队列中后,当该报文队列为发送队列时,利用所述入口节点的邻接段标识对应的出接口将所述业务报文向所述入口节点的下一跳节点发送。
结合图2所示的网络场景,参见图5,本发明实施例提供了一种报文发送的方法,该方法包括:
S501,第一网络节点获得业务流的转发时延要求和该业务流的目的地址。该业务流为所述第一网络节点生成的业务流,或者为该第一网络节点从其他设备接收到的业务流。该第一网络节点为该转发路径的入口节点,如图3所示实施例中的入口节点。
S502,第一网络节点将所述业务流的转发时延要求和所述业务流的目的地址向控制器发送,触发所述控制器根据所述转发时延要求和所述目的地址确定转发所述业务流的转发路径和对应所述转发路径的第一标签栈。
S503,第一网络节点接收控制器发送的对应转发路径的第一标签栈,所述第一标签栈包含所述第一网络节点的邻接段标识和第二网络节点的邻接段标识,第二网络节点为该转发路径的中间节点。如图3所示实施例中的中间节点。
S504,第一网络节点将第一标签栈压入第一报文的报文头部,该第一标签栈的栈顶标签为第一网络节点的邻接段标识,第一网络节点根据第一网络节点的邻接段标识确定转发第一报文的周期时间cycle time。所述第一报文为所述业务流中的一个报文。
S505,第一网路节点将第一报文报文头部的第一标签栈中的第一网络节点的邻接段标识弹出生成第二报文。弹出该第一网络节点的邻接段标识的第一标签栈为第二标签栈。
S506,第一网络节点在cycle time编号对应的时间内将第二报文向所述第二网络节点发送。
S507,第二网络节点接收第二报文,确定第二报文包含的第二标签栈的栈顶标签为第二网络设备的邻接段标识,根据存储的邻接段标识和cycle time编号的对应关系确定所述邻接段标识对应的cycle time。
S508,所述第二网路节点将第二报文中的该第二网络节点的邻接段标识弹出生成第三报文,并在所述cycle time编号对应的时间内将所述第三报文向所述第二网络节点的下一跳网络节点发送。
在一个示例中,第一网络节点可以执行图3所示实施例中入口节点执行的步骤,详细步骤描述参见图3所示实施例,第二网络节点可以执行图3所示实施例中中间节点执行的步骤,详细步骤描述参见图3所示。
在一个示例中,当所述第一网络节点从控制器获得了第一标签栈后,即可根据第一标签栈生成用于转发业务流中第一报文之后的报文的标签栈。举例来说,当第一报文对应的第一标签栈为<SID 2,SID 4>,其中SID 2为第一网络节点的邻接段标识,SID 4为第二网络节点的段邻接标识,每个节点上一邻接段标识对应多个cycle time编号,当业务流中的报文按照cycle time的时长间隔来发送报文时,在该业务流中第一报文之后的第一个报文对应的标签栈则为<SID 3,SID 5>,在该业务流中第一报文之后的第二个报文对应的标签栈则为<SID 4,SID 6>,即按照SID加1的方式生成第一报文之后的报文的标签栈。当某个标签栈中网络节点的SID变为SID 10时,则对应的下一个标签栈的SID变为SID 1,即:按照10的间隔进行重新编号。
在一示例中,第一网络节点的出端口对应3个报文队列,其中2个报文队列为报文接收队列,1个报文队列为报文发送队列,参见图6,第一网络节点在cycle time 1 时的报文队列处于报文队列状态1,在cycle time 2时的报文队列处于报文队列状态2,在cycle time 3时的报文队列处于报文队列状态3。在报文队列状态1中,队列1为发送队列,队列2和队列3为报文接收队列。在报文队列状态2中,队列2为发送队列,队列1和队列3为报文接收队列。在报文队列状态3中,队列3为发送队列,队列1和队列2为报文接收队列。报文队列状态按照图6中的3个状态进行交替切换,例如,cycle time为1,4,7,10,……时为报文队列状态1,cycle time为2,5,8,11,……时为报文队列状态2,cycle time为3,6,9,12,……时为报文队列状态3。其中每个队列对应一个cycle time编号,例如:队列1cycle time为1,4,7,10,……;队列2对应cycle time为2,5,8,11,……;队列3对应cycle time为3,6,9,12,……。即每个队列对应的cycle time编号序列为公差为3的等差数列。对应当第一网络节点确定发送该第一报文的cycle time为cycle time 5时,并且确定当前第一网络节点的cycle time编号为4,则确定当前的报文队列为状态为报报文队列状态1,将弹出第一网络节点邻接段标识的第一报文加入到报文队列2中。当第一网络节点的cycle time变为cycle time 5时,此时报文队列的状态为状态2,则通过报文队列2将该报文向第二网络节点发送。
在一个示例中,第二网络节点的出端口也对应图6所示的3个报文队列,报文队列的状态变化情况如图6所示。当第二网络节点在第二网络节点的cycle time 6接收到第二报文时,并且根据第二报文的标签栈确定第二网络节点需要在cycle time 8将第二报文向外发送时,将第二报文加入到队列2中,此时报文队列的状态为状态3。当第二网络节点的cycle time编号变为8时,即报文队列的状态为2,此时队列2的状态为报文发送状态。第二网络节点通过报文队列2将第二报文下第二网络节点的下一跳节点发送。
通过在网络节点中设置多个报文队列,能够增加报文转发的可靠性,例如,当报文到达第二网络节点时,第二网络节点的报文接收队列已经满了,此时将出现队列溢出,该报文将不能正常转发。通过增加接收报文的队列个数,可以在报文提前到达网络节点时缓存起来,当该报文的方式cycle time到达时再发送,提高了报文发送的可靠性。
图7示出了上述实施例中所涉及的控制器的一种可能的结构示意图,该控制器700可以实现图3或图5所示的实施例中的控制器的功能。参阅图7,该控制器700包括:获取单元701,确定单元702,处理单元703和发送单元704。这些单元可以执行上述方法实施例中控制器的相应功能。获取单元701,用于支持控制器700执行图3中的过程S301和S302;确定单元702,用于支持控制器700执行图3中的过程S303和S306;发送单元704,用于支持控制器700执行图3中的过程S308。处理单元703用于支持控制器700执行图3中的过程S307和/或本文所描述的技术中控制器执行的其它过程。例如,获取单元701,用于执行上述方法实施例中节点执行的各种信息获取;确定单元502,用于执行上述方法实施例中控制器执行的确定动作;发送单元704,用于执行上述方法实施例中控制器执行的各种信息发送;处理单元703,用于执行上述方法实施例中控制器除了信息收发和确定动作之外的其他处理。举例来说,获取单元701,用于获取业务流的转发时延要求和所述业务流的目的地址;确定单元702,用于根据 所述转发时延要求和所述目的地址确定转发所述业务流的转发路径,所述转发路径的时延满足所述业务流的转发时延要求,所述转发路径经过第一网络节点和第二网络节点,所述第一网络节点为所述转发路径的入口节点,所述第二网络节点为所述转发路径的中间节点;确定所述第一网络节点转发报文的第一周期时间cycle time编号和所述第二网络节点转发所述报文的第二cycle time编号,并确定对应所述第一cycle time编号的第一邻接段标识以及对应所述第二cycle time编号的第二邻接段标识,所述报文为所述业务流中的一个报文;处理单元703,用于生成转发所述报文的标签栈,所述标签栈包含所述第一邻接段标识和所述第二邻接段标识;发送单元704,用于将所述标签栈向所述第一网络节点发送,所述标签栈用于指导所述第一网络节点在所述第一cycle time编号对应的时间内将所述报文沿所述转发路径转发所述报文。具体执行过程请参考上述图3或图5所示实施例中相应步骤的详细描述,这里不再一一赘述。
图8示出了上述实施例中所涉及的控制器的一种可能的结构示意图,该控制器800包括:处理器802、收发器803、存储器801以及总线804。其中,处理器802、收发器803以及存储器801通过总线804相互连接;总线804可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。该控制器800可以实现图3或图5所示的实施例中的控制器的功能。处理器802和收发器803可以执行上述方法示例中控制器的相应功能。收发器803用于支持控制器800执行图3中的过程S301和S302。处理器802用于支持控制器800执行图3中的过程S307和/或本文所描述的技术中控制器执行的其它过程。存储器801,用于存储控制器800的程序代码和数据。具体执行过程请参考上述图3或图5所示实施例中相应步骤的详细描述,这里不再一一赘述。
图9示出了上述实施例中所涉及的第一网络节点的一种可能的结构示意图,该第一网络节点可以实现图3所示实例中入口节点或图5所示的实施例中的第一网络节点的功能。参阅图9,该第一网络节点900包括:获取单元901,处理单元902和发送单元903。这些单元可以执行上述方法示例中第一网络节点的相应功能。获取单元901,用于支持第一网络节点900执行图5中的过程S501;发送单元903,用于支持第一网络节点900执行图5中的过程S502和S506;处理单元903用于支持第一网络节点900执行图5中的过程S504、S505,和/或本文所描述的技术中第一网络节点执行的其它过程。例如,获取单元901,用于执行上述方法实施例中第一网络节点执行的各种信息的获取;发送单元903,用于执行上述方法实施例中第一网络节点执行的各种信息发送;处理单元902,用于执行上述方法实施例中第一网络节点除了信息获取、收发和确定动作之外的其他处理。举例来说,获取单元901,用于获得报文,并根据所述报文获得第一标签栈,所述第一标签栈为对应转发所述报文的转发路径的标签栈,所述第一标签栈包含所述第一网络节点的邻接段标识和第二网络节点的邻接段标识,所述第一网络节点为所述转发路径的入口节点,所述第二网络节点为所述转发路径的中间节点;处理单元902,用于将所述第一标签栈压入所述报文,所述第一标签栈的栈顶标签为所述第一网络节点的邻接段标识;根据所述第一网络节点的邻接段标识确定 转发所述报文的cycle time编号;将所述第一标签栈中的所述第一网络节点的邻接段标识弹出得到第二标签栈;发送单元903,用于在所述cycle time编号对应的时间内将包含所述第二标签栈的所述报文向所述第二网络节点发送。具体执行过程请参考上述图3或图5所示实施例中相应步骤的详细描述,这里不再一一赘述。
需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本发明实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,接收单元和发送单元可以是同一个单元,也不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
参阅图10所示,该第一网络节点1000包括:处理器1002、收发器1003、存储器1001以及总线1004。其中,收发器1003、处理器1002以及存储器1001通过总线1004相互连接;总线1004可以是PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。该第一网络节点1000可以实现图3或图5所示的实施例中的第一网络节点或入口节点的功能。处理器1102和收发器1103可以执行上述方法示例中第一网络节点或入口节点的相应功能。具体执行过程请参考上述图3或图4所示实施例中相应步骤的详细描述,这里不再一一赘述。
图11示出了上述实施例中所涉及的第二网络节点的一种可能的结构示意图,该第二网络节点可以实现图3所示实例中入口节点或图5所示的实施例中的第二网络节点的功能。参阅图11,该第二网络节点1100包括:接收单元1101,获取单元1102,处理单元1103和发送单元1104。这些单元可以执行上述方法示例中第二网络节点或中间节点的相应功能。接收单元1101,用于支持第二网络节点1100执行图5中的过程S506;获取单元1102,用于支持第二网络节点1100执行图5中的过程S507;发送单元1104,用于支持第二网络节点1100执行图5中的过程S508;处理单元1103用于支持第二网络节点1100执行图5中的过程S508,和/或本文所描述的技术中第二网络节点执行的其它过程。例如,接收单元1101,用于执行上述方法实施例中第二网络节点执行的各种信息的接收;获取单元1102,用于执行上述方法实施例中第二网络节点执行的各种信息的获取;发送单元1104,用于执行上述方法实施例中第二网络节点执行的各种信息发送;处理单元1103,用于执行上述方法实施例中第二网络节点除了信息获取、收发和确定动作之外的其他处理。举例来说,接收单元1101,用于接收第一网络节点发送的第一报文,所述报文包含标签栈;获取单元1102,用于获得所述标签栈的栈顶标签;处理单元1103,用于确定所述标签栈的栈顶标签为所述第二网络设备的邻接段标识,根据存储的邻接段标识和cycle time的对应关系确定所述邻接段标识对应的cycle time;将所述第一报文中的所述标签栈中的所述第二网络节点的邻接段标识弹出生成第二报文;发送单元1104,用于在所述邻接段标识对应的cycle time内将所述第二报文向所述第一网络节点的下一跳网络节点发送。具体执行过程请参考上述图3或图5所示实施例中相应步骤的详细描述,这里不再一一赘述。
需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能 划分,实际实现时可以有另外的划分方式。本发明实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,接收单元和发送单元可以是同一个单元,也不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
参阅图12所示,该第二网络节点1200包括:处理器1202、收发器1203、存储器1201以及总线1204。其中,收发器1203、处理器1202以及存储器1201通过总线1204相互连接;总线1204可以是PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。该第二网络节点1200可以实现图3或图5所示的实施例中的第二网络节点或中间节点的功能。处理器1202和收发器1203可以执行上述方法示例中第二网络节点或中间节点的相应功能。具体执行过程请参考上述图3或图5所示实施例中相应步骤的详细描述,这里不再一一赘述。
参阅图13所示,发明实施例提供了一种报文发送的系统1300,该系统1300用于实现前述方法实施例中的报文发送的方法。该系统1300包括控制器1201、第一网络节点1202和第二网络节点1203。该控制器1201、第一网络节点1202和第二网络节点1203可以分别实现图3或图5所示的实施例中的控制器、第一网络节点和第二网络节点的功能。具体执行过程请参考上述图3或图5所示实施例中相应步骤的详细描述,这里不再一一赘述
本发明实施例还提供了一种存储介质,用于储存前述实施例中所用的软件指令,其包括用于执行前述实施例所示的方法的程序,当其在计算机或设备上执行时,使得所示计算机或设备执行前述方法实施例中的方法。
本发明实施例中提到的第一网络节点中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”和“第三”。
需说明的是,以上描述的任意装置实施例都仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的第一网络节点或控制器实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read only memory,ROM)、可擦除可编程只读存储器(erasable programmable ROM,EPROM)、电可擦可编程只读存储器(electrically EPROM,EEPROM)、硬盘、移动硬盘、光盘或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于 ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (19)

  1. 一种报文发送的方法,其特征在于,包括:
    控制器获取业务流的转发时延要求和所述业务流的目的地址,根据所述转发时延要求和所述目的地址确定转发所述业务流的转发路径,所述转发路径的时延满足所述业务流的转发时延要求,所述转发路径经过第一网络节点和第二网络节点,所述第一网络节点为所述转发路径的入口节点,所述第二网络节点为所述转发路径的中间节点;
    所述控制器确定所述第一网络节点转发报文的第一周期时间cycle time编号和所述第二网络节点转发所述报文的第二cycle time编号,并确定对应所述第一cycle time编号的第一邻接段标识以及对应所述第二cycle time编号的第二邻接段标识,所述报文为所述业务流中的一个报文;
    所述控制器生成标签栈,所述标签栈包含所述第一邻接段标识和所述第二邻接段标识;
    所述控制器将所述标签栈向所述第一网络节点发送,所述标签栈用于指导所述第一网络节点在所述第一cycle time编号对应的时间内将所述报文沿所述转发路径转发。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    所述控制器获得所述第一网络节点和第二网络节点的节点时延,所述节点时延包括报文处理时延和报文发送时延;
    所述控制器获得所述转发路径上的链路的链路时延;
    所述转发路径的时延满足所述报文的转发时延要求包括:
    所述第一网络节点的节点时延、第二网络节点的节点时延和所述转发路径上的链路的链路时延之和在所述报文转发时延要求的范围内。
  3. 根据权利要求1或2所述的方法,其特征在于,所述方法包括:
    所述控制器获得所述第一网络节点的cycle time的时长以及所述第二网络节点的cycle time的时长;
    所述控制器获得对应所述控制器当前时间的所述第一网络节点的第三cycle time编号及第二网络节点的第四cycle time编号;
    所述控制器根据所述第一网络节点的cycle time的时长和所述第三cycle time编号确定所述第一cycle time编号,所述第一cycle time编号对应的开始时间在所述第一网络节点接收到所述标签栈之后;
    所述控制器根据所述第一网络节点的cycle time的时长、所述第一网络节点到所述第二网络节点的链路时延、所述第二网络节点的报文处理时延、所述第三cycle time编号和所述第二网络节点的cycle time的时长确定所述第二cycle time编号。
  4. 根据权利要求1-3任一权利要求所述的方法,其特征在于,所述方法还包括:
    所述控制器接收所述第一网络节点发送的通告报文,所述通告报文中包含所述转发时延要求以及所述报文的目的地址。
  5. 一种报文发送的方法,其特征在于,包括:
    第一网络节点获得报文;
    所述第一网络节点根据所述报文获得第一标签栈,所述第一标签栈为对应转发所述报文的转发路径的标签栈,所述第一标签栈包含所述第一网络节点的邻接段标识和第二网络节点的邻接段标识,所述第一网络节点为所述转发路径的入口节点,所述第二网络节点为所述转发路径的中间节点;
    所述第一网络节点将所述第一标签栈压入所述报文,所述第一标签栈的栈顶标签为所述第一网络节点的邻接段标识;
    所述第一网络节点根据所述第一网络节点的邻接段标识确定转发所述报文的周期时间cycle time编号;
    所述第一网路节点将所述第一标签栈中的所述第一网络节点的邻接段标识弹出得到第二标签栈;
    所述第一网络节点在所述cycle time编号对应的时间内将包含所述第二标签栈的所述报文向所述第二网络节点发送。
  6. 根据权利要求5所述的方法,其特征在于,包括:
    所述第一网络节点获得业务流的转发时延要求和所述业务流的目的地址;
    所述第一网络节点向控制器发送所述转发时延要求和所述目的地址,触发所述控制器根据所述转发时延要求和所述目的地址确定转发所述业务流的转发路径和对应所述转发路径的标签栈,所述报文所述业务流中的一个报文;
    所述第一网络节点接收所述控制器发送的对应所述转发路径的标签栈。
  7. 根据权利要求6所述的方法,其特征在于,所述第一网络节点将包含所述第二标签栈的所述报文在所述cycle time编号对应的时间内向所述第二网络节点发送包括:
    所述第一网络节点将包含所述第二标签栈的所述报文加入到对应所述cycle time编号的报文队列中,当所述报文队列为发送队列时,利用所述第一网络节点的邻接段标识对应的出接口将所述包含所述第二标签栈的所述报文向所述第二网络节点发送。
  8. 一种报文发送的方法,其特征在于,包括:
    第二网络节点接收第一网络节点发送的第一报文,所述报文包含有标签栈;
    所述第二网络节点获得所述标签栈的栈顶标签;
    确定所述标签栈的栈顶标签为所述第二网络设备的邻接段标识,根据存储的邻接段标识和周期时间cycle time编号的对应关系确定所述邻接段标识对应的cycle time编号;
    所述第二网路节点将所述第一报文的所述标签栈中的所述第二网络节点的邻接段标识弹出生成第二报文,并在所述cycle time编号对应的时间内将所述第二报文向所述第二网络节点的下一跳网络节点发送。
  9. 根据权利要求8所述的方法,其特征在于,所述第一网络节点在所述cycle time编号对应的时间内将所述第二报文向所述第一网络节点的下一跳网络节点发送包括:
    所述第二网络节点将所述第二报文加入到对应所述cycle time编号的报文队列中,当 所述报文队列为发送队列时,利用所述第二网络节点的邻接段标识对应的出接口将所述第二报文向所述第一网络节点的下一跳网络节点发送。
  10. 一种控制器,其特征在于,包括:
    获取单元,用于获取业务流的转发时延要求和所述业务流的目的地址;
    确定单元,用于根据所述转发时延要求和所述目的地址确定转发所述业务流的转发路径,所述转发路径的时延满足所述业务流的转发时延要求,所述转发路径经过第一网络节点和第二网络节点,所述第一网络节点为所述转发路径的入口节点,所述第二网络节点为所述转发路径的中间节点;确定所述第一网络节点转发报文的第一周期时间cycle time编号和所述第二网络节点转发所述报文的第二cycle time编号,并确定对应所述第一cycle time编号的第一邻接段标识以及对应所述第二cycle time编号的第二邻接段标识,所述报文为所述业务流中的一个报文;
    处理单元,用于生成转发所述报文的标签栈,所述标签栈包含所述第一邻接段标识和所述第二邻接段标识;
    发送单元,用于将所述标签栈向所述第一网络节点发送,所述标签栈用于指导所述第一网络节点在所述第一cycle time编号对应的时间内将所述报文沿所述转发路径转发所述报文。
  11. 根据权利要求10所述的控制器,其特征在于,
    所述获取单元,还用于获得所述第一网络节点和第二网络节点的节点时延,所述节点时延包括报文处理时延和报文发送时延,并获得所述转发路径上的链路的链路时延;相应的,所述转发路径的时延满足所述报文的转发时延要求包括:
    所述第一网络节点的节点时延、第二网络节点的节点时延和所述转发路径上的链路的链路时延之和在所述报文转发时延要求的范围内。
  12. 根据权利要求10或11所述的控制器,其特征在于,
    所述获取单元,还用于获得所述第一网络节点的cycle time的时长以及所述第二网络节点的cycle time的时长;获得对应所述控制器当前时间的所述第一网络节点的第三cycle time编号及所述第二网络节点的第四cycle time编号;
    所述确定单元,根据所述第一网络节点的cycle time的时长和所述第三cycle time编号确定所述第一cycle time编号,所述第一cycle time编号对应的开始时间在所述第一网络节点接收到所述标签栈之后;根据所述第一网络节点的cycle time的时长、所述第一网络节点到所述第二网络节点的链路时延、所述第二网络节点的报文处理时延、所述第三cycle time编号和所述第二网络节点的cycle time的时长确定所述第二cycle time编号。
  13. 根据权利要求10至12任一权利要求所述的控制器,其特征在于,所述控制器还包括:
    接收单元,用于接收所述第一网络节点发送的通告报文,所述通告报文中包含所述转发时延要求以及所述报文的目的地址。
  14. 一种第一网络节点,其特征在于,包括:
    获取单元,用于获得报文,并根据所述报文获得第一标签栈,所述第一标签栈为对应转发所述报文的转发路径的标签栈,所述第一标签栈包含所述第一网络节点的邻接段标识和第二网络节点的邻接段标识,所述第一网络节点为所述转发路径的入口节点,所述第二网络节点为所述转发路径的中间节点;
    处理单元,用于将所述第一标签栈压入所述报文,所述第一标签栈的栈顶标签为所述第一网络节点的邻接段标识;根据所述第一网络节点的邻接段标识确定转发所述报文的周期时间cycle time编号;将所述第一标签栈中的所述第一网络节点的邻接段标识弹出得到第二标签栈;
    发送单元,用于在所述cycle time编号对应的时间内将包含所述第二标签栈的所述报文向所述第二网络节点发送。
  15. 根据权利要求14所述的第一网络节点,其特征在于,所述第一网络节点还包括发送单元和接收单元,其中,
    所述获取单元,还用于获得业务流;
    所述发送单元,用于将所述业务流的转发时延要求和所述业务流的目的地址向控制器发送,触发所述控制器根据所述转发时延要求和所述目的地址确定转发所述业务流的转发路径和对应所述转发路径的标签栈,所述报文为所述业务流中的一个报文;
    所述接收单元,用于接收所述控制器发送的对应所述转发路径的标签栈。
  16. 根据权利要求15所述的第一网络节点,其特征在于,所述发送单元用于在所述cycle time编号对应的时间内将包含所述第二标签栈的所述报文向所述第二网络节点发送包括:
    所述发送单元将所述报文加入到对应所述cycle time编号对应的报文队列中,当所述报文队列为发送队列时,利用所述第一网络节点的邻接段标识对应的出接口将所述报文向所述网络节点发送。
  17. 一种第二网络节点,其特征在于,包括:
    接收单元,用于接收第一网络节点发送的第一报文,所述报文包含标签栈;
    获取单元,用于获得所述标签栈的栈顶标签;
    处理单元,用于确定所述标签栈的栈顶标签为所述第二网络设备的邻接段标识,根据存储的邻接段标识和cycle time编号的对应关系确定所述邻接段标识对应的cycle time编号;将所述第一报文中的所述标签栈中的所述第二网络节点的邻接段标识弹出生成第二报文;
    发送单元,用于在所述cycle time编号对应的时间内将所述第二报文向所述第一网络节点的下一跳网络节点发送。
  18. 根据权利要求17所述的第二网络节点,其特征在于,所述发送单元用于在所述cycle time编号对应的时间内将所述第二报文向所述第一网络节点的下一跳网络节点发送 包括:
    所述发送单元将所述第二报文加入到对应所述cycle time编号的报文队列中,当所述报文队列为发送队列时,利用所述第二网络节点的邻接段标识对应的出接口将所述第二报文向所述第一网络节点的下一跳网络节点发送。
  19. 一种计算机可读介质,包括指令,当其在计算机上执行时,使得所述计算机执行如权利要求1至9任意一项所述的方法。
PCT/CN2019/079787 2018-03-29 2019-03-27 一种报文发送的方法、网络节点和系统 WO2019184925A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP19777921.8A EP3764609B1 (en) 2018-03-29 2019-03-27 Message sending method, network node and system
EP23177655.0A EP4258611A3 (en) 2018-03-29 2019-03-27 Message sending method, network node and system
US17/035,687 US11706149B2 (en) 2018-03-29 2020-09-29 Packet sending method, network node, and system
US18/324,670 US20230388239A1 (en) 2018-03-29 2023-05-26 Packet sending method, network node, and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810273967.5 2018-03-29
CN201810273967.5A CN110324242B (zh) 2018-03-29 2018-03-29 一种报文发送的方法、网络节点和系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/035,687 Continuation US11706149B2 (en) 2018-03-29 2020-09-29 Packet sending method, network node, and system

Publications (1)

Publication Number Publication Date
WO2019184925A1 true WO2019184925A1 (zh) 2019-10-03

Family

ID=68059328

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/079787 WO2019184925A1 (zh) 2018-03-29 2019-03-27 一种报文发送的方法、网络节点和系统

Country Status (4)

Country Link
US (2) US11706149B2 (zh)
EP (2) EP3764609B1 (zh)
CN (3) CN110324242B (zh)
WO (1) WO2019184925A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022068436A1 (zh) * 2020-09-30 2022-04-07 华为技术有限公司 业务处理方法以及相关设备
CN114338555A (zh) * 2021-11-16 2022-04-12 北京邮电大学 一种用于实现广域确定性网络的全网周期标签规划的方法及装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112311494B (zh) * 2019-07-23 2023-12-08 华为技术有限公司 一种报文传输方法、装置及系统
CN112751763A (zh) * 2019-10-30 2021-05-04 北京华为数字技术有限公司 一种报文转发方法、设备、存储介质及系统
CN112769738B (zh) * 2019-11-05 2023-09-12 中兴通讯股份有限公司 DetNet数据包处理方法及装置
CN113055293B (zh) * 2019-12-27 2023-06-23 华为技术有限公司 软件定义广域网中的选路方法及装置、通信系统
CN113382442B (zh) * 2020-03-09 2023-01-13 中国移动通信有限公司研究院 报文传输方法、装置、网络节点及存储介质
US11362959B2 (en) * 2020-03-18 2022-06-14 Futurewei Technologies, Inc. Latency based forwarding of packets with destination policies
CN111431800B (zh) * 2020-03-20 2022-07-12 新华三技术有限公司合肥分公司 一种建立路径的方法、装置、设备及机器可读存储介质
CN113691446B (zh) * 2020-05-19 2023-02-10 华为技术有限公司 一种报文发送的方法和装置
US11611512B2 (en) * 2020-12-30 2023-03-21 Arris Enterprises Llc System to dynamically detect and enhance classifiers for low latency traffic
EP4287577A4 (en) * 2021-01-29 2024-01-24 Beijing Xiaomi Mobile Software Co Ltd DATA PACKET TRANSMISSION METHOD, DATA PACKET TRANSMISSION APPARATUS AND STORAGE MEDIUM
CN113271262A (zh) * 2021-07-20 2021-08-17 浙江大学 交叉式确定性数据传输方法和装置
CN117792997A (zh) * 2022-09-20 2024-03-29 中兴通讯股份有限公司 确定性业务报文的转发方法、边界路由器及控制器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102647364A (zh) * 2012-05-22 2012-08-22 上海乾视通信技术有限公司 Mesh网络路由方法、设备及系统
CN102752185A (zh) * 2011-04-20 2012-10-24 中兴通讯股份有限公司 一种确定路由路径的方法及系统
CN104219144A (zh) * 2014-09-09 2014-12-17 华为技术有限公司 确定业务流的转发路径的方法、系统和网络管理系统
US20160021223A1 (en) * 2014-07-21 2016-01-21 Samsung Electronics Co., Ltd. Server for performing low power communication and operation method thereof, and scheduling map generation method for performing low power communication
CN105791113A (zh) * 2016-02-25 2016-07-20 上海斐讯数据通信技术有限公司 一种基于sdn的多链路时延均衡方法和系统
CN106888115A (zh) * 2017-02-09 2017-06-23 中国科学院信息工程研究所 一种网络拓扑构建方法与系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102123433B (zh) * 2008-08-18 2014-05-07 工业和信息化部电信传输研究所 移动通信切换过程中切换时延的测试装置及方法
US9185043B2 (en) * 2011-04-08 2015-11-10 Saratoga Data Systems, Inc. Telecommunications protocol with PID control of data transmission rate
CN102394796A (zh) * 2011-11-04 2012-03-28 华为技术有限公司 链路时延检测方法、源端、宿端及系统
US9584387B1 (en) * 2013-03-15 2017-02-28 Google Inc. Systems and methods of sending a packet in a packet-switched network through a pre-determined path to monitor network health
US10063464B2 (en) * 2013-07-26 2018-08-28 Huawei Technologies Co., Ltd. Protection switched source routing
EP3091762B1 (en) * 2014-01-29 2018-09-26 Huawei Technologies Co., Ltd. Downlink data processing method, device and system
KR102166908B1 (ko) * 2014-02-13 2020-10-19 삼성전자주식회사 고속 데이터 인터페이스 장치 및 상기 장치의 스큐 보정 방법
US20160006614A1 (en) * 2014-07-03 2016-01-07 Futurewei Technologies, Inc. Source Routing Using Path Computation Elements
CN106656794B (zh) * 2015-10-30 2021-02-09 中兴通讯股份有限公司 一种报文传输方法及装置
CN106936713B (zh) * 2015-12-30 2020-02-21 华为技术有限公司 一种标签管理方法,数据流处理方法及设备
CN107222894A (zh) * 2016-03-22 2017-09-29 中兴通讯股份有限公司 一种数据传输方法、装置和系统
CN107615731B (zh) * 2016-04-25 2020-06-26 华为技术有限公司 一种组播时延诊断方法及装置
CN111917640B (zh) * 2019-05-09 2023-06-06 华为技术有限公司 SRv6网络生成段列表、报文转发的方法、设备和系统
WO2020247626A1 (en) * 2019-06-05 2020-12-10 Futurewei Technologies, Inc. Extending bgp protection for sr path ingress protection

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752185A (zh) * 2011-04-20 2012-10-24 中兴通讯股份有限公司 一种确定路由路径的方法及系统
CN102647364A (zh) * 2012-05-22 2012-08-22 上海乾视通信技术有限公司 Mesh网络路由方法、设备及系统
US20160021223A1 (en) * 2014-07-21 2016-01-21 Samsung Electronics Co., Ltd. Server for performing low power communication and operation method thereof, and scheduling map generation method for performing low power communication
CN104219144A (zh) * 2014-09-09 2014-12-17 华为技术有限公司 确定业务流的转发路径的方法、系统和网络管理系统
CN105791113A (zh) * 2016-02-25 2016-07-20 上海斐讯数据通信技术有限公司 一种基于sdn的多链路时延均衡方法和系统
CN106888115A (zh) * 2017-02-09 2017-06-23 中国科学院信息工程研究所 一种网络拓扑构建方法与系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022068436A1 (zh) * 2020-09-30 2022-04-07 华为技术有限公司 业务处理方法以及相关设备
CN114338555A (zh) * 2021-11-16 2022-04-12 北京邮电大学 一种用于实现广域确定性网络的全网周期标签规划的方法及装置
CN114338555B (zh) * 2021-11-16 2024-02-06 北京邮电大学 一种用于实现广域确定性网络的全网周期标签规划的方法及装置

Also Published As

Publication number Publication date
CN114070785A (zh) 2022-02-18
US20230388239A1 (en) 2023-11-30
EP4258611A3 (en) 2023-12-06
US11706149B2 (en) 2023-07-18
EP3764609A1 (en) 2021-01-13
CN110324242B (zh) 2021-10-15
EP3764609A4 (en) 2021-03-17
EP3764609B1 (en) 2023-08-23
CN110324242A (zh) 2019-10-11
EP4258611A2 (en) 2023-10-11
CN114095422A (zh) 2022-02-25
US20210014168A1 (en) 2021-01-14
EP3764609C0 (en) 2023-08-23

Similar Documents

Publication Publication Date Title
WO2019184925A1 (zh) 一种报文发送的方法、网络节点和系统
WO2019214561A1 (zh) 一种报文发送的方法、网络节点和系统
WO2017084487A1 (zh) 用于获得目标传输路径的方法和网络节点
WO2019157978A1 (zh) 调度报文的方法、第一网络设备及计算机可读存储介质
CN113395210A (zh) 一种计算转发路径的方法及网络设备
US11968111B2 (en) Packet scheduling method, scheduler, network device, and network system
US9426080B2 (en) Data communication apparatus, data transmission method, and computer system
US9515940B2 (en) Method for transmitting data in a packet-oriented communications network and correspondingly configured user terminal in said communications network
WO2022022224A1 (zh) 调度数据包的方法和相关装置
US20110292940A1 (en) System and method for establishing a communication path using labels
CN111434079A (zh) 一种数据通信方法及装置
JP6633502B2 (ja) 通信装置
WO2024001733A1 (zh) 报文传输方法、装置及系统
US20230171201A1 (en) Method for sending data packet and network device
WO2024016327A1 (zh) 报文传输
JP6588416B2 (ja) 通信装置
JP2009239451A (ja) 到着確認及び中継処理確認型ネットワーク装置及びシステム、フレーム転送方法
JP2018088577A (ja) 通信装置
CN115550237A (zh) 一种数据处理方法以及相关装置
CN115967685A (zh) 一种基于网络演算的voq交换机通信确定性分析方法
JP4977677B2 (ja) エッジノードおよび帯域制御方法
GB2587370A (en) Multihop network routing
Shrivastava et al. Improving Efficiency of MANET by Reducing Queuing Delay Using Hybrid Algorithm.

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019777921

Country of ref document: EP

Effective date: 20201008