US 11,706,149 B2
Packet sending method, network node, and system
Xuesong Geng, Beijing (CN); and Guoyi Chen, Beijing (CN)
Assigned to HUAWEI TECHNOLOGIES CO., LTD., Shenzhen (CN)
Filed by HUAWEI TECHNOLOGIES CO., LTD., Shenzhen (CN)
Filed on Sep. 29, 2020, as Appl. No. 17/35,687.
Application 17/035,687 is a continuation of application No. PCT/CN2019/079787, filed on Mar. 27, 2019.
Claims priority of application No. 201810273967.5 (CN), filed on Mar. 29, 2018.
Prior Publication US 2021/0014168 A1, Jan. 14, 2021
Int. Cl. H04L 47/28 (2022.01); H04L 45/121 (2022.01); H04L 45/74 (2022.01)
CPC H04L 47/28 (2013.01) [H04L 45/121 (2013.01); H04L 45/74 (2013.01)] 13 Claims
OG exemplary drawing
 
1. A packet sending method using cyclic queueing and forwarding, CQF, comprising:
obtaining, by a controller, a node latency of the first network node and a node latency of the second network node, wherein each node latency comprises a packet processing latency and a packet sending latency;
obtaining, by the controller, a link latency of a link on the forwarding path;
obtaining, by the controller, a forwarding latency requirement of a service flow and a destination address of the service flow;
calculating, based on the forwarding latency requirement and the destination address, a forwarding path for forwarding the service flow, wherein a latency of the forwarding path meets the forwarding latency requirement of the service flow, the forwarding path passes through a first network node, a second network node, and a third network node, the first network node is an ingress node of the forwarding path, the second network node is an intermediate node of the forwarding path, and the third network node is an egress node of the forwarding path, and further wherein the first network node, the second network node, and the third network node are located is a segment routing network;
obtaining, by the controller, a cycle duration of the first network node and a cycle duration of the second network node;
determining, by the controller, a first cycle number at which the first network node forwards a packet based on the cycle duration of the first network node and further determining a second cycle number at which the second network node forwards the packet, the second cycle number based on the cycle duration of the first network node;
determining a first adjacent segment identifier corresponding to the first cycle number and a second adjacent segment identifier corresponding to the second cycle number, wherein the packet is in the service flow;
wherein each network node has a packet receiving queue and a packet sending queue and each network node further has a clock, wherein the packet receiving queue and the packet sending queue exchange their roles after a fixed-length period of time, the fixed-length period of time being defined as a cycle, wherein sending of a packet in the packet sending queue is completed once in the cycle; and further
wherein a correspondence between each adjacent segment identifier and a cycle number is established wherein an outbound interface of each network node corresponds to a plurality of adjacent segment identifiers, and a segment identifier corresponding to a port of a node is an adjacent segment identifier;
generating, by the controller, a label stack, wherein the label stack comprises sequentially, from a top of the stack to a bottom of the stack, the first adjacent segment identifier and the second adjacent segment identifier;
sending, by the controller, the label stack to the first network node, wherein the label stack is used to indicate the first network node to forward the packet via the forwarding path within a period of time corresponding to the first cycle number; and
forwarding the packet, by the first network node based on the label stack at a cycle number which is determined according to the correspondence between an adjacent segment identifier and the cycle number.