CN117834555A - Time slot type circular multi-queue scheduling method for segmented routing - Google Patents

Time slot type circular multi-queue scheduling method for segmented routing Download PDF

Info

Publication number
CN117834555A
CN117834555A CN202410021583.XA CN202410021583A CN117834555A CN 117834555 A CN117834555 A CN 117834555A CN 202410021583 A CN202410021583 A CN 202410021583A CN 117834555 A CN117834555 A CN 117834555A
Authority
CN
China
Prior art keywords
queue
packet
time slot
packets
accompanying
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202410021583.XA
Other languages
Chinese (zh)
Inventor
刘勤
李怡霆
王律淋
马英红
黄鹏宇
李红艳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN202410021583.XA priority Critical patent/CN117834555A/en
Publication of CN117834555A publication Critical patent/CN117834555A/en
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A time slot cycle multi-queue scheduling mechanism facing segment routing includes; s1: enqueuing the packet according to the related information carried by the time sensitive data flow reaching the node, enqueuing the packet to a corresponding certain circulation queue or accompanying queue, waiting for the queue to enter a sending queue, sending the packet, and discarding the packet which does not meet the requirement; s2: judging whether the current time slot is ended or not, deciding whether to save to the accompanying queue to wait for a scheduling opportunity according to a time slot-by-time slot transfer mechanism, and discarding the packets exceeding the capacity of the accompanying queue if the capacity of the accompanying queue is insufficient; s3: performing multi-queue scheduling management of a time-slotted circular queue; s4: adjusting the sending rate of the accompanying queue; s5: and transmitting the packet. The invention carries out routing and scheduling on the time sensitive flow in the network layer, carries out time slot management on port resources, enhances the capacity of the node for coping with flow micro-bursts, and reduces the packet loss rate under high load so as to improve the reliability of time sensitive flow transmission.

Description

Time slot type circular multi-queue scheduling method for segmented routing
Technical Field
The invention belongs to the technical field of time-sensitive packet transmission, and particularly relates to a time-slotted circular multi-queue scheduling method for segmented routing.
Background
In recent years, the requirements of diversified services on performances such as high real-time performance, low delay, high precision, reliability and the like of a communication network are more and more severe, for example, critical traffic such as messages of a real-time control class, data of a fault monitoring class and the like requires bounded delay of millisecond level and jitter of microsecond level, any data disorder or loss cannot occur, and otherwise serious consequences on system control may be caused. The compatibility between the prior art is realized while the network index requirements of low time delay, high reliability and the like are met, and the method provides higher challenges for the existing Ethernet technology. In order to address the above trends, while keeping developers focused on a standard technology without being confused by various proprietary solutions, the IEEE 802.1 task group has proposed time-sensitive networks (Time Sensitive Network, TSN).
Segment Routing (SR) techniques explicitly specify each forwarding node on the entire path of a packet from a sender to a receiver and have good network programming capabilities. And the SR technology is utilized to plan paths and forwarding time for the time-sensitive flow, so that end-to-end deterministic forwarding is completed, and the routing and scheduling of the time-sensitive packets can be realized at a network layer. The existing scheduling mechanism considers that the original designated path has introduced a large time delay due to the large change or congestion of the network link, and the packet is selected to be discarded to relieve the time delay deterioration or the congestion condition of the network, so that the reliable transmission of the time sensitive packet cannot be ensured.
A large scale deterministic network flow shaping mechanism (LFS) based on a round robin specified queuing and forwarding (CSQF) mechanism is designed in the paper "Traffic Shaping at the Edge: enabling Bounded Latency for Large-scale Deterministic Networks" (2021 IEEE ICCWorkshops) published by G Peng et al, each packet of a Time Sensitive (TS) flow carries an identifier with a current period number, after each packet arrives, the TS flow enters a corresponding queue through a cyclic mapping, and a downstream device can determine the period of time for which the received packet needs to be forwarded again according to a locally maintained cyclic mapping table, thereby implementing deterministic forwarding. The method has the following defects: although dynamically adjusting the period tag offset is used to ensure that the TS stream can match one of the N circular queues, the problem that packets need to wait for the arrival of the same numbered slots in the next period before being transmitted when the unspecified transmit slot arrives at the output port is not solved, resulting in the introduction of additional queuing delay. In addition, under the condition of high load, the node only relieves the load pressure through packet loss, so that the packet loss rate is high, and the transmission reliability is poor.
Existing loop-specific queuing and forwarding (Cycle Specified Queuing and Forwarding, CSQF) mechanisms have three major drawbacks:
1) In the CSQF mechanism, the forwarding time information carried by the SID corresponds to a slot number, and if there is no strict slot alignment in the network, the situation that the actual forwarding is not matched with the plan will occur, so that it is difficult to ensure the time certainty of the transmission.
2) The periodic slot numbering in CSQF causes the following problems: if a packet arrives at the node output port, the transmission time slot designated by the packet has already started, but cannot be immediately transmitted. Because the SQ has only transmitting capability and not receiving capability, by extracting the time slot number in the segment identification number (SID) carried by the packet, the packet can be considered to arrive at the node in advance, and the output port waits for the arrival of the time slot with the same number in the next cycle, thereby introducing additional queuing delay. The subsequent sending time slot of the packet at the downstream node can also be influenced, the queuing time delay is accumulated hop by hop, the end-to-end deterministic time delay can not be ensured, and the time delay jitter can also be increased.
3) CSQF has not yet given the solution to the single-slot data burst, only through losing packets to alleviate overload pressure, cause the higher packet loss rate under the high load condition, can't guarantee the reliability of transmission.
Disclosure of Invention
In order to overcome the defects in the prior art, the invention aims to provide a time-slot circular multi-queue scheduling mechanism for segmented routing, which is used for routing and scheduling time-sensitive flows in a network layer, performing time-slot management on port resources, enhancing the capacity of a node for coping with flow micro-bursts, and reducing the packet loss rate under high load so as to improve the reliability of time-sensitive flow transmission.
In order to achieve the above purpose, the technical scheme adopted by the invention is as follows:
a time slot cycle multi-queue scheduling mechanism facing segment routing comprises the following steps;
s1: grouping according to the related information carried by the time sensitive data flow reaching the node, enqueuing the grouping to a corresponding certain circulation queue or accompanying queue, and discarding the non-conforming grouping;
s2: after the current time of the time slot-by-time slot transfer is finished, judging whether the current time slot is finished for the packets which are still in the sending queue SQ and exceed the port forwarding capacity, and judging whether the remaining packets which are not sent at the end of the current time slot in the sending queue are saved to the accompanying queue according to a time slot transfer mechanism so as to wait for a scheduling opportunity, and if the capacity of the accompanying queue is insufficient, discarding the packets which exceed the capacity of the accompanying queue;
s3: after the packet forwarding action of the current time slot and the enqueuing operation of the residual packet are completed in the step S2, transferring the queue state under the new time slot, and performing multi-queue scheduling management of the time slot cyclic queue; s4: after the queue state transition process of the new time slot is finished, setting the transmission rate of the accompanying queue under the new time slot, and adjusting the transmission rate of the accompanying queue; s5: and transmitting the packet.
In S2, "judging whether the current time slot is finished" is a cyclic waiting process, if the remaining time of the current time slot is not 0, cyclic waiting is performed (the current time is repeatedly obtained and the remaining time of the time slot where the current time is located is obtained according to the current time) until the remaining time of the current time slot is 0 (the reason why the waiting of the ending of the current time slot is that the queue changes its own state according to the progress of the time slot in the present invention—for example, when the time slot 1 advances to the time slot 2, SQ may become RQ., so that the counted packet backlog amount should not be the packet backlog amount at a certain time but the total backlog amount when the current time slot is completely finished).
When the remaining time is 0, it is indicated that the current slot has ended, and the steps that should be performed at this time are (the mentioned three packets are also explained):
(1) Calculating the total data amount (i.e., the total amount of packets exceeding the port forwarding capability of the current device in bytes) of packets not forwarded currently still in SQ;
(2) Calculating the remaining capacity of the accompanying queue at the moment (namely, the result obtained by subtracting the total size of the packets currently in the accompanying queue from the total size of the accompanying queue);
(3) Comparing the total data amount in (1) with the residual capacity in (2), namely judging whether the total data amount of the packets which are not sent in SQ can be accommodated in the current accompanying queue, then putting the part which can be accommodated in the accompanying queue (namely, the part with the packet size smaller than or equal to the residual capacity of the current accompanying queue) into the accompanying queue for temporary storage, and discarding the exceeding part.
All three sub-steps described in S2 are performed on the premise of "end of current slot". S3 is actually an operation procedure that should be performed at the beginning of a new slot (which may be considered as time 0 of the new slot) after the packet forwarding action of the current slot and the enqueuing operation of the remaining packets have been completed in S2, that is, a queue state transition (state transition between SQ and RQ queues in the present invention) in the new slot, and preparation for starting the transmission of a packet scheduled to be transmitted in the new slot, and S3 is actually emphasized by a "state transition" procedure between this queue.
S4 is the reason why the transmission rate of the accompanying queue needs to be set in the new slot after the completion of the queue state transition process of the new slot and after the formation of the new SQ and the new RQ, so as not to cause the collision and competition between the accompanying queue and the SQ due to the shared channel resource, and the transmission rate of the accompanying queue needs to be reset after each time slot is advanced: the arrival and enqueuing times of packets in different slots (the packets being in two parts, one part being packets arriving before a new slot but scheduled for transmission in this new slot, the other part being new packets arriving randomly in the new slot) are both indeterminate (in the present invention it is assumed that the arrival of the packets obeys the poisson distribution with parameter lambda) and the number of such anomalies that are held in the accompanying queues at the beginning of each slot are also different, so that the forwarding of packets will necessarily be different, so that it is necessary to set different transmission rates for the accompanying queues in different slots to minimize the probability of collisions (each slot being able to know the total amount of normal packets that need to be transmitted in the current slot, rather than just the moment of specific arrival of packets, because bandwidth resources are reserved) the accompanying queues in different slots are also necessarily different
So S3 and S4 are said to be sequential in time at the beginning of the new slot, but there is no obvious relationship between S3 and S4 in logic (because the total amount of data that needs to be sent by SQ in the new slot is calculated from the reserved percentage of bandwidth resources in the current new slot, the formula is c= mBd, which will be described later, where m is the reserved percentage of bandwidth resources, B is the total bandwidth of the port, and d is the slot length, and thus is independent of the number of packets that have been enqueued for storage in the new SQ).
In the step S1, the arrival node is an output port of a packet arrival node transmitted in a target network; time sensitive data flows are packets transmitted in a segmented routing technique, and the transmission and processing of the packets need to be completed within strict time constraints to meet the requirement that the data can be transmitted, processed and delivered according to predetermined time requirements;
the unsatisfactory packets specifically refer to:
1. packets having a packet size exceeding the size of the remaining capacity of the circular queue;
2. delaying packets arriving at the node (packets arriving later than the specified transmission time);
(1) Packets with delay times exceeding the delay tolerance range (i.e., two slot intervals);
(2) The delay time is within the delay tolerance range, but in the present application, the remaining capacity in the newly added accompanying queue is insufficient so that the packet has to be discarded.
The S1 specifically comprises the following steps:
(1.1) extracting the information related to the enqueued packet, namely the forwarding time, the packet Size and the residual capacity of each queue, obtaining the current packet Size, obtaining the time T when the packet arrives at the output port of the node now Extracting a segment identifier SID of the own node in the extension header of the segment routing header, and acquiring the appointed forwarding time ST of the packet at the current node from the segment identifier SID;
(1.2) judging whether the packet is a delay packet, if the time of the packet reaching the output port of the node is not later than the appointed forwarding time ST, the packet reaches the node in advance, and entering the step (1.3); otherwise, if the packet is a delay arrival packet, further judging whether the delay time of the packet exceeds the tolerance range, when ST satisfies 0 < T now When ST < 2d, then according to the drop probability P of the delay packet drop (ST) formula:
calculating a discarding probability, discarding the packet with the probability, otherwise, proceeding to step (1.5); wherein C is FQ To accompany the capacity of the queue, cumulan FQ (t) is the real-time backlog of the accompanying queue, all take bytes as unit, d is the time slot length;
(1.3) the correspondence I (t) between any time t and the cyclic slot number I is described as:
I(t)=|i 0 +(t-T now )/d|%n
calculating I (ST) according to the formula to obtain a cyclic time slot number I of a packet to which the specified forwarding time ST of the current node belongs, and then obtaining a cyclic queue number Q of a current packet to be enqueued according to a mapping relation Q (I) of the time slot number and the cyclic queue;
(1.4) according to the remaining Capacity C of the circular queue rest (q,T now ) Determining whether the packet can be accommodated in the circular queue q, where C rest The calculation formula of (q, t) is as follows:
in the formula, C is the capacity of the circular queue, cumulant (q, T) is the real-time backlog of the circular queue, B is the port bandwidth, T rest (t) is the remaining length of the time slot at the current time; if C rest (q,T now ) If not less than Size, the packet enters the circular queue q, and after waiting for the queue to enter the state of the transmission queue SQ, the packet is transmitted to a transmission link, otherwise, the step (1.5) is entered;
(1.5) calculating remaining Capacity C of companion queue rest-FQ (T now ) To determine whether a packet that does not meet the condition for entering the circular queue can enter the accompanying queue, wherein the remaining capacity C of the accompanying queue rest-FQ The calculation formula of (t) is as follows:
C rest-FQ (t)=C FQ -Cumulant FQ (t)
if C rest-FQ (T now ) And if not, the packet enters the accompanying queue FQ to be queued, the rule of first-in first-out is followed, and if not, the packet is directly discarded.
In the step S2, the basis for judging whether the current time slot is ended is:
it is first assumed that this slotted circular multi-queue scheduling mechanism is implemented in a system with a slot timer, so that the start time of each slot is known, and thus the remaining time T of the slot at each instant rest (T) is known, so the current time slot remaining time T provided by the system in step S2 rest (t) if it is 0, judging if the current time slot is ended.
The method comprises the steps of improving an original Circulating Specified Queuing and Forwarding (CSQF) mechanism, and designing three queues, namely a Sending Queue (SQ), a Receiving Queue (RQ) and a Tolerance Queue (TQ) in the original circulating specified queuing and forwarding mechanism;
wherein, the SQ can only send data, and does not have the capability of receiving data, and is used for sending packets, the RQ and the TQ only have the capability of receiving data, and do not have the capability of sending data, wherein, the RQ is used for receiving packets, and the TQ is used for storing data which arrives at the node earlier than the sending time slot in advance because of the time slot misalignment or the change of the link propagation delay; in CSQF, a three-queue cycle mode is adopted to schedule packet transmission, i.e. the division of three queues is periodically alternated according to the advancing of time slots. The purpose of these queues is mainly to enable a more accurate scheduling of the packet forwarding flow for each node, so the transmit queue is referred to herein as SQ.
The step S2 is specifically as follows:
(2.1) acquiring a current time slot number i, and acquiring a circular queue Q corresponding to the current time slot according to a mapping relation Q (i) between the time slot number and the circular queue, wherein the queue Q is in an SQ (send queue) state;
(2.2) obtaining the current time T to obtain the remaining time T of the time slot where the current time is rest (T), if T rest (t) is 0, go to step (2.3), otherwise indicate the present time slot does not finish, repeat step (2.2) until the present time slot finishes;
(2.3) obtaining the backlog C of the queue q at the current time slot end time t according to Cumulant (q, t) extra The total amount of the packets exceeding the port forwarding capacity is obtained;
(2.4) calculating remaining Capacity C of companion queue rest-FQ (t), if C extra ≤C rest-FQ (t) completely emptying the rest of the packets in the queue q and transferring the packets to the accompanying queue, otherwise, keeping the remaining capacity C of the accompanying queue not exceeded in the queue q rest-FQ The packet of (t) is transferred to an accompanying queue, and the remaining packets are discarded.
The step S3 is specifically as follows:
the number of the cyclic queues is n, the states of the n cyclic queues and the division work circularly alternate along with the time slot propulsion, and the scheduling flow of normal grouping is carried out; the queue status lasts for a time of one slot length; in the time-slotted cyclic multi-queue scheduling method, the division of each queue is not constant, and the number of cyclic queues is increased to n on the basis of the three queues of CSQF to accommodate more packets, so that the coping capacity of the node for traffic burst and jitter is increased.
In S4, the collision probability P of the abnormal packet in the accompanying queue and the normal packet in the transmitting queue is brought into the target function weight coefficient alpha conflict And probability P that an abnormal packet is delayed to the next slot to wait for transmission delay Solving an adjustment coefficient in the converted single objective function to adjust the transmission rate of the accompanying queue;
the exception packets include the following classes:
1. packets that need to be discarded due to insufficient capacity of the circular queue (such packets would be first attempted to be allocated to the accompanying queue, and discarded if the accompanying queue is also insufficient in capacity);
2. packets arrive at the node late, but are within the tolerance of the delay (two slots long) (such packets would also be attempted to be put in the accompanying queue first, dropping them if the accompanying queue is not sufficiently large);
3. packets arrive at the node after delay and the delay time exceeds the tolerance of the delay (such packets will be processed according to whether their packet size exceeds the remaining capacity of the accompanying queue, i.e. with probability P if the packet can be put in the remaining queue drop (ST) discarding, otherwise discarding directly).
The step S4 specifically comprises the following steps:
the transmission rate of the accompanying queue is adjusted, the added accompanying queue is an additional transmission queue, the output channel and bandwidth resources are shared with the transmission queue, and the transmission rate of the accompanying queue needs to be adjusted (the reason for adjusting the rate of the accompanying queue instead of the transmission queue is that the packets in the current transmission queue are necessarily the packets sent preferentially in the current time slot, and the packets in the accompanying queue are some abnormal packets, so that the transmission priority is not as high as the transmission queue), and the interference to normal packet forwarding is avoided as much as possible.
The accompanying queue shares the output channel with the queue in the SQ, i.e., transmission state, and thus in order to schedule as collision-free as possible, the transmission rate of the accompanying queue should be set reasonably.
(4.1) calculating the total bandwidth B required for complete transmission of packets in the transmit queue and the companion queue at the current time slot sum : the bandwidth refers to the bandwidth calculated according to the following formula after completing the enqueue-by-enqueue mechanism, that is, after the packet arriving at the node in the current time slot is allocated into the corresponding circular queue, this step is performed after the queue is circulated before the packet is sent (after step three).
B sum =B 0 +B 1
Wherein B is 0 B, bandwidth required for complete transmission of all packets in SQ state queue at current slot 1 To complete all packets in the accompanying queue FQ for the bandwidth required for transmission, the following is calculated:
where m is the percentage of the current slot bandwidth resource reserved, C 1 The total size of the abnormal packets waiting to be transmitted in the accompanying queue, i.e. the backlog of the accompanying queue at the beginning time of the current time slot.
(4.2) probability of Conflict P conflict And probability P that an abnormal packet is delayed to the next slot to wait for transmission delay Setting different weight coefficients for the two objective functions to obtain a single objective function;
min(αP conflict0 ,ε 1 )+(1-α)P delay0 ,ε 1 ))
wherein P is conflict And P delay The calculation method is as follows:
port bandwidth B, bandwidth resource reservation percentage m of current time slot, time slot length d and backlog amount C of accompanying queue 1 Solving the adjustment coefficient epsilon according to a single objective function under the set weight coefficient 0 ,ε 1
(4.3) Total Bandwidth B required to fully transmit packets in the transmit queue and the companion queue for the current time slot sum Calculating a transmission rate R of the accompanying queue compared with the port bandwidth B;
if B sum >B, setting a sending rate R of the accompanying queue FQ as follows:
R=ε 1 (B-ε 0 B 0 )=ε 1 B(1-ε 0 m)
if B sum B is less than or equal to, the sending rate R of the accompanying queue FQ is set as follows:
the step S5 specifically comprises the following steps: and according to Segment Left in the Segment routing header (namely the number of the rest nodes which should be passed by the current route), querying a Segment List (Segment List) in the Segment routing header to determine a target node (or link) of the next hop, and finally transmitting the packet.
And carrying out packet transmission in the SQ and FQ queues according to the set transmission rate of the accompanying queues.
The method is used in a time-sensitive network router.
The invention has the beneficial effects that:
(1) The invention provides end-to-end deterministic delay and jitter guarantee for time-sensitive packets by providing n circular queues to receive packets arriving earlier than a specified transmit time;
(2) The invention can simultaneously receive and transmit the packets, and the design of transmitting and receiving at the same time ensures that the queue in the SQ state can accommodate the data packets exceeding the capacity of the queue, improves the utilization rate of the queue resources and simultaneously weakens the possibility of flow micro burst in the current time slot;
(3) The invention adds an extra accompanying queue in the circulation appointed queuing and forwarding mechanism (Cycle Specified Queuing and Forwarding, CSQF), buffers the abnormal packets existing in the circulation queue such as exceeding the capacity of the queue or arriving later than the appointed sending time in the accompanying queue, and provides the opportunity for the packets to continue forwarding in the network instead of directly discarding the packets so as to effectively reduce the packet loss rate under high load and improve the transmission reliability.
Drawings
Fig. 1 is a schematic diagram of a time-slotted circular multi-queue scheduling mechanism according to the present invention.
FIG. 2 is a schematic diagram of a new segment identifier format created and used in the invention.
Fig. 3 is a schematic diagram of a state transition relationship between a transmit queue and a receive queue according to the present invention.
FIG. 4 is a schematic diagram of a simulation scenario of the present invention.
Fig. 5 is a diagram of simulation results under different numbers of cyclic slot codes according to the present invention.
Fig. 6 is a graph of simulation results at different slot lengths according to the present invention.
Detailed Description
The invention is described in further detail below with reference to the accompanying drawings.
Fig. 1 shows a time slot type cyclic multi-queue scheduling mechanism facing to the segment routing, and the architecture mainly comprises three functional parts of multi-queue storage, enqueue management and queue scheduling.
This mechanism operates under the following preconditions and assumptions:
(1) All forwarding nodes in the network establish a unified time reference to realize clock synchronization.
(2) In order to optimize end-to-end delay and jitter, a low-delay shortest forwarding path is pre-configured for a time-sensitive packet at a source node in combination with a segment routing technique and encapsulated in an extension header of a segment routing header, so that the packet can perform certain routing according to a carried segment identifier after reaching a specified node. In addition, the transmission time at each node is planned for the packet at the source node in addition to the designated forwarding node, and encapsulated in the segment routing header along with the designated low-latency shortest forwarding path.
(3) When explicit routing and forwarding time planning are carried out on time-sensitive packets, bandwidth resources are reserved for the packets, and the resource occupancy of each time slot is known when a scheduling mechanism is constructed.
(4) To meet the three-point preconditions and assumptions described above, a new segment identifier format is created and used in the present invention by network programmability of the segment routing technique, as shown in fig. 2, in view of the lack of corresponding segment identifiers in SRv. The Locator field occupies the high bit of the segment identifier, has the bit width of 64bits, and is mapped with the IPv6 address of each node in the network one by one to be used for locating other nodes. The SendingTime field occupies the low-order bit of the segment identifier, with a bit width of 64bits, indicating the designated transmission time of this time-sensitive packet at the current node, as absolute time in nanoseconds.
The following describes the specific implementation steps:
step one: packet arrival, progressive ingress queue management. (in order to meet the transmission requirement of the time sensitive data stream, the transmission and processing of the packets are accurately scheduled, and the packets arriving at the node need to be put into the corresponding queue for temporary storage by using a circular queue mode so as to be processed later).
(1.1) extracting packet related information (forwarding time, packet Size and remaining capacity of each queue), obtaining the current packet Size, obtaining the time T when the packet arrives at the output port of the node now The segment identifier SID of the own node is hit in the extension header of the segment routing header is extracted, and the designated forwarding time ST of the packet at the current node is obtained from the segment identifier SID.
The segment routing header refers to a header in a packet used in the segment routing technology, and the reason for selecting a specific packet format is that the segment routing is a source routing mechanism, that is, a forwarding path of a data packet from a source node to a destination node in a network is generated and encapsulated in the source node, so that when the packet arrives at a certain relay node, the relay node can query information encapsulated in the packet header to determine a specific path of a next hop, and the mode can enable the intermediate node not to save and process the whole path information, thereby causing frequent modification of a routing table.
"hit" means that the packet arrives at the desired destination node, i.e. when a node receives a packet arriving at that node, an identifier identifying the node is found in the path information contained in the packet header (referred to herein as the segment identifier).
Segment identifier: first, a segment is a special concept defined in segment routing, and refers to a certain node (or a certain group of nodes) or a link in a network, which can be understood as a part of a data packet in a certain path in the network, and in order to be able to distinguish between different "segments" in the network, a unique identifier, i.e. a segment identifier, segment Identifier, i.e. a SID, needs to be set for each segment.
In summary, it is referred to herein that, after a certain node receives a packet, the destination node address (i.e. the destination segment identifier) of the message is queried to find that the SID of the message is consistent with the destination segment identifier of the message, which indicates that the message has reached the correct segment.
(1.2) judging whether the packet is a delay packet, if the time of the packet reaching the output port of the node is not later than the appointed sending time ST, the packet reaches the node in advance, and entering the step (1.3); otherwise, if the packet is a delay arrival packet, further judging whether the delay time of the packet exceeds the tolerance range, when ST satisfies 0 < T now When ST < 2d, then according to the drop probability P of the delay packet drop (ST) formula:
calculating a discarding probability, discarding the packet with the probability, otherwise, proceeding to step (1.5); wherein C is FQ To accompany the capacity of the queue, cumulan FQ (t) is the real-time backlog of the accompanying queue, all take bytes as unit, d is the time slot length;
(1.3) the correspondence I (t) between any time t and the cyclic slot number I is described as:
I(t)=|i 0 +(t-T now )/d|%n
calculating I (ST) according to the formula to obtain a cyclic time slot number I of a packet at the appointed sending time ST of the current node, and then obtaining a cyclic queue number Q of the current packet to be enqueued according to a mapping relation Q (I) of the time slot number and the cyclic queue;
(1.4) according to the remaining Capacity C of the circular queue rest (q,T now ) Determining whether the packet can be accommodated in the circular queue q, where C rest The calculation formula of (q, t) is as follows:
in the formula, C is the capacity of the circular queue, cumulant (q, T) is the real-time backlog of the circular queue, B is the port bandwidth, T rest And (t) is the remaining length of the time slot at the current moment. If C rest (q,T now ) If not less than Size, the packet enters the circular queue q, and after waiting for the queue to enter the state of the transmission queue SQ, the packet is transmitted to a transmission link, otherwise, the step (1.5) is entered;
(1.5) calculating remaining Capacity C of companion queue rest-FQ (T now ) To determine whether a packet that does not meet the condition for entering the circular queue can enter the accompanying queue, wherein the remaining capacity C of the accompanying queue rest-FQ The calculation formula of (t) is as follows:
C rest-FQ (t)=C FQ -Cumulant FQ (t)
if C rest-FQ (T now ) And if not, the packet enters the accompanying queue FQ to be queued, the rule of first-in first-out is followed, and if not, the packet is directly discarded.
Step two: the packets exceeding the port forwarding capability, which remain in the transmit queue SQ after the end of the current time, are transferred slot by slot. If there are still packets that are not sent out in the send queue after the end of the current time, it means that the number of packets that are originally in the send queue exceeds the forwarding capability of the current network or device, i.e. the packets should not be sent out, where the situation generally occurs that the traffic of the high load or burst increases, in the conventional CSQF, the packets are discarded, so that the packet loss rate may be too high to ensure the communication quality in the case of the high load or the abrupt change of the traffic, and therefore, in the scheduling method of the present invention, the packets that are not forwarded out in the SQ are temporarily stored in the accompanying queue, so that waiting for another sending opportunity to send them out, and the packets are not directly discarded, and in this way, the packet loss rate is reduced to ensure the communication quality.
And (2.1) acquiring a current time slot number i, and obtaining a circular queue Q corresponding to the current time slot according to a mapping relation Q (i) between the time slot number and the circular queue, wherein the queue Q is in an SQ (SQ-namely transmission queue) state.
(2.2) obtaining the current time T to obtain the remaining time T of the time slot where the current time is rest (T), if T rest And (t) is 0, the step (2.3) is carried out, otherwise, the step (2.2) is repeated until the current time slot is ended, wherein the current time slot is not ended.
(2.3) obtaining the backlog C of the queue q at the current time slot end time t according to Cumulant (q, t) extra The total amount of packets that exceed the port forwarding capability is obtained.
(2.4) calculating remaining Capacity C of companion queue rest-FQ (t), if C extra ≤C rest-FQ (t) completely emptying the rest of the packets in the queue q and transferring the packets to the accompanying queue, otherwise, keeping the remaining capacity C of the accompanying queue not exceeded in the queue q rest-FQ The packet of (t) is transferred to an accompanying queue, and the remaining packets are discarded.
Step three: and performing time slot type circular multi-queue scheduling management.
The state transition relationship between the transmit queue SQ and the n-1 receive queues RQ is shown in fig. 3, where the states of the n cyclic queues and the division work cyclically alternate with the time slot advance, and the queue states last for a time of one time slot length. In the time slot type cyclic multi-queue scheduling method, the division of each queue is not constant, in order to avoid the reasons of time delay and the like caused by additional stack access operation of packets in the queues, a mode of dividing the packets is not adopted, but a mode of circularly alternating the division of the queues is adopted, and the number of the cyclic queues is increased to n on the basis of three queues of CSQF to accommodate more packets, so that the coping capacity of nodes to traffic burst and jitter is increased.
Step four: the transmission rate of the companion queue is adjusted. The added accompanying queue in the present invention may be regarded as an additional transmission queue, and shares the output channel and bandwidth resources with the transmission queue, so if the transmission rate of the accompanying queue is not adjusted, collision and competition between the accompanying queue and the packets in the transmission queue are caused, so in order to reduce the collision as much as possible, and also in order to make more full use of the resources and improve the efficiency of packet forwarding, the transmission rate of the accompanying queue needs to be adjusted (the reason that the packets in the accompanying queue instead of the transmission queue are adjusted to be the packets sent preferentially in the current time slot, and the packets in the accompanying queue are abnormal packets, so that the transmission priority is not as high as the transmission queue), thereby avoiding the interference on normal packet forwarding as much as possible.
The accompanying queue shares the output channel with the queue in the SQ, i.e., transmission state, and thus in order to schedule as collision-free as possible, the transmission rate of the accompanying queue should be set reasonably.
(4.1) calculating the total bandwidth B required for complete transmission of packets in the transmit queue and the companion queue at the current time slot sum : the bandwidth refers to the bandwidth calculated according to the following formula after completing the enqueue-by-enqueue mechanism, that is, after the packet arriving at the node in the current time slot is allocated into the corresponding circular queue, this step is performed after the queue is circulated before the packet is sent (after step three).
B sum =B 0 +B 1
Wherein B is 0 B, bandwidth required for complete transmission of all packets in SQ state queue at current slot 1 To be accompanied byWith the bandwidth required for the packets in the queue FQ to complete transmission in its entirety, the following is calculated:
where m is the percentage of the current slot bandwidth resource reserved, C 1 The total size of the abnormal packets waiting to be transmitted in the accompanying queue, i.e. the backlog of the accompanying queue at the beginning time of the current time slot.
(4.2) probability of Conflict P conflict And probability P that an abnormal packet is delayed to the next slot to wait for transmission delay The two objective functions are provided with different weight coefficients, so that a single objective function is obtained:
min(αP conflict0 ,ε 1 )+(1-α)P delay0 ,ε 1 ))
wherein P is conflict And P delay The calculation method is as follows:
port bandwidth B, bandwidth resource reservation percentage m of current time slot, time slot length d and backlog amount C of accompanying queue 1 Solving the adjustment coefficient epsilon according to a single objective function under the set weight coefficient 0 ,ε 1
(4.3) Total Bandwidth B required to fully transmit packets in the transmit queue and the companion queue for the current time slot sum The transmission rate R of the companion queue is calculated as compared to port bandwidth B.
If B sum >B, setting a sending rate R of the accompanying queue FQ as follows:
R=ε 1 (B-ε 0 B 0 )=ε 1 B(1-ε 0 m)
if B sum B is less than or equal to, the sending rate R of the accompanying queue FQ is set as follows:
step five: and carrying out packet transmission in the SQ and FQ queues according to the set transmission rate of the accompanying queues.
The effects of the present invention are further described below in conjunction with simulation experiments:
1) Simulation experiment conditions:
the hardware platform of the simulation experiment of the invention is: the processor is AMD Ryzen 7 5800H, the main frequency is 3.20GHz, and the memory is 16GB.
The software platform of the simulation experiment of the invention is: windows10 operating system and MATLAB emulation software.
A randomly generated mesh topology was used in the simulation experiment as shown in fig. 4. An explicit forwarding path (a-b-c-d-e) containing 5 nodes is randomly generated for the time sensitive packet and a specified transmission time at each node is specified. Setting the maximum sending rate of the port as 10Gbit/s, the weight coefficient alpha of the objective function as 0.6, the reserved bandwidth percentage m as 60%, the capacity of the circular queue as the total size of the packets which can be sent by the port in a single time slot, the capacity of the circular queue being equal to the capacity of the single circular queue, the packet sizes being evenly distributed within the range of 64-1500 bytes, the number of hops passed by the packets being 4, the number of the packets being 5×10 4 . A single slot burst packet and a delay packet, each of which is 1000 in number, are additionally provided at the source node. To convert a multi-parameter solution to a single-parameter solution to simplify the solution complexity, an adjustment coefficient ε is set 0 1.
2) Simulation experiment contents
Under the condition of the simulation experiment, the invention respectively measures the packet loss rate under the number of different cyclic time slot numbers and different time slot lengths, and compares the packet loss rate with the traditional CSQF packet loss rate.
Fig. 5 is a diagram showing a simulation result of the relation between the number of time slots and the packet loss rate in the present invention, wherein the abscissa in the diagram represents the number of cyclic time slots, the ordinate represents the average packet loss rate, and the time slot length d is set to 100 μs. The priority identification (Priority Code Point, PCP) field defines the priority of the data stream for distinguishing the data streams of different transmission characteristics, and since the number of PCPs in the TSN frame format is 3, the priority queues at the output port of the node should not exceed 8, whereas the slotted cyclic multi-queue in the present invention includes n cyclic queues, the cyclic queues are only oriented to time sensitive streams, and the cyclic slot numbers are mapped to the cyclic queues one by one. Considering that there are also best effort flows in the network with lower quality of service (Quality of Service, qoS) requirements in addition to time sensitive flows, the number of cyclic slot numbers should satisfy 3 n <8, i.e. the set of values of n is {3,4,5,6,7}.
As can be seen from fig. 5, as the number of cyclic slot numbers increases, the average packet loss rate decreases. The number of each circulating time slot corresponds to one circulating queue, and increasing the number of the circulating time slot is equivalent to increasing the number of the circulating queues, so that the port capacity is increased, the capacity of the node for coping with high load is enhanced, and the packet loss rate is reduced.
Fig. 6 is a diagram of simulation results of the relation between the time slot length and the average packet loss rate in the present invention, wherein the abscissa in the diagram is the time slot length, the ordinate is the average packet loss rate, and the simulation is performed under the condition that the time slot numbers are 3 and 6 respectively and under the present invention and the conventional CSQF scheduling mechanism.
As can be seen from fig. 6, for the present invention, as the slot length increases, the average packet loss rate decreases, and the average packet loss rate at different slot lengths is smaller than that of the CSQF mechanism, and the smaller the slot length, the more obvious the contrast effect. The invention obviously improves the packet loss rate and improves the reliability of time-sensitive data stream transmission.

Claims (10)

1. A time slot cycle multi-queue scheduling mechanism facing to segment routing is characterized by comprising the following steps of;
s1: grouping according to the related information carried by the time sensitive data flow reaching the node, enqueuing the grouping to a corresponding certain circulation queue or accompanying queue, waiting for the queue to enter a sending queue, sending the grouping, and discarding the non-satisfactory grouping;
s2: judging whether the current time slot is ended or not, and judging whether the current time slot is saved in an accompanying queue or not according to a time slot-by-time slot transfer mechanism to wait for a scheduling opportunity, and if the capacity of the accompanying queue is insufficient, discarding the packets exceeding the capacity of the accompanying queue;
s3: after the packet forwarding action of the current time slot and the enqueuing operation of the residual packet are completed in the step S2, transferring the queue state under the new time slot, and performing multi-queue scheduling management of the time slot cyclic queue;
s4: after the queue state transition process of the new time slot is finished, setting the transmission rate of the accompanying queue under the new time slot, and adjusting the transmission rate of the accompanying queue;
s5: and transmitting the packet.
2. The segmented routing-oriented slot cycle multi-queue scheduling mechanism of claim 1, wherein in S1, the arriving node is an output port of a packet arriving node transmitted in a target network; time sensitive data streams are packets transmitted in segmented routes;
the unsatisfactory packets specifically refer to:
1. packets having a packet size exceeding the size of the remaining capacity of the circular queue;
2. delaying packets arriving at the node;
(1) Packets with delay times exceeding the delay tolerance range (i.e., two slot intervals);
(2) The delay time is within the delay tolerance range, and the newly added accompanying queues have insufficient residual capacity for the packets which must be discarded.
3. The segmented routing-oriented slot cycle multi-queue scheduling mechanism according to claim 2, wherein S1 is specifically:
(1.1) extracting the information related to the enqueued packet, namely the forwarding time, the packet Size and the residual capacity of each queue, obtaining the current packet Size, and obtaining the arrival of the packet at the output port of the nodeTime T now Extracting a segment identifier SID of the own node in the extension header of the segment routing header, and acquiring the appointed forwarding time ST of the packet at the current node from the segment identifier SID;
(1.2) judging whether the packet is a delay packet, if the time of the packet reaching the output port of the node is not later than the appointed forwarding time ST, the packet reaches the node in advance, and entering the step (1.3); otherwise, the packet is a delayed arrival packet, when ST satisfies 0 < T now When ST < 2d, then according to the drop probability P of the delay packet drop (ST) formula:
calculating a discarding probability, discarding the packet with the probability, otherwise, proceeding to step (1.5); wherein C is FQ To accompany the capacity of the queue, cumulan FQ (t) is the real-time backlog of the accompanying queue, all take bytes as unit, d is the time slot length;
(1.3) the correspondence I (t) between any time t and the cyclic slot number I is described as:
I(t)=|i 0 +(t-T now )/d|%n
calculating I (ST) according to the formula to obtain a cyclic time slot number I of a packet to which the specified forwarding time ST of the current node belongs, and then obtaining a cyclic queue number Q of a current packet to be enqueued according to a mapping relation Q (I) of the time slot number and the cyclic queue;
(1.4) according to the remaining Capacity C of the circular queue rest (q,T now ) Determining whether the packet can be accommodated in the circular queue q, where C rest The calculation formula of (q, t) is as follows:
in the formula, C is the capacity of the circular queue, cumulant (q, T) is the real-time backlog of the circular queue, B is the port bandwidth, T rest (t) is the remaining length of the time slot at the current timeA degree; if C rest (q,T now ) If not less than Size, the packet enters the circular queue q, and after waiting for the queue to enter the state of the transmission queue SQ, the packet is transmitted to a transmission link, otherwise, the step (1.5) is entered;
(1.5) calculating remaining Capacity C of companion queue rest-FQ (T now ) To determine whether a packet that does not meet the condition for entering the circular queue can enter the accompanying queue, wherein the remaining capacity C of the accompanying queue rest-FQ The calculation formula of (t) is as follows:
C rest-FQ (t)=C FQ -Cumulant FQ (t)
if C rest-FQ (T now ) And if not, the packet enters the accompanying queue FQ to be queued, the rule of first-in first-out is followed, and if not, the packet is directly discarded.
4. The segmented routing-oriented slot cycle multi-queue scheduling mechanism according to claim 1, wherein in S2, the basis for determining whether the current slot is ended is:
in step S2, the time T is left by the current time slot rest (t) judging whether the current time slot is ended or not if the current time slot is 0;
three queues, namely a sending queue, a receiving queue and a tolerance queue, are designed in a circulation appointed queuing and forwarding mechanism;
wherein, the SQ only can send data and does not have the capability of receiving data, and is used for sending packets, the RQ and the TQ only have the capability of receiving data and do not have the capability of sending data, wherein, the RQ is used for receiving packets, and the TQ is used for storing data which arrives at the node earlier than the sending time slot in advance because of time slot misalignment or link propagation delay change; in CSQF, a three-queue cycle mode is adopted to schedule packet transmission, i.e. the division of three queues is periodically alternated according to the advancing of time slots.
5. The segmented routing-oriented slot cycle multi-queue scheduling mechanism according to claim 4, wherein the step S2 specifically comprises:
(2.1) acquiring a current time slot number i, and acquiring a circular queue Q corresponding to the current time slot according to a mapping relation Q (i) between the time slot number and the circular queue, wherein the queue Q is in an SQ (send queue) state;
(2.2) obtaining the current time T to obtain the remaining time T of the time slot where the current time is rest (T), if T rest (t) is 0, the step (2.3) is carried out, otherwise, the step (2.2) is repeated until the current time slot is finished;
(2.3) obtaining the backlog C of the queue q at the current time slot end time t according to Cumulant (q, t) extra The total amount of the packets exceeding the port forwarding capacity is obtained;
(2.4) calculating remaining Capacity C of companion queue rest-FQ (t), if C extra ≤C rest-FQ (t) completely emptying the rest of the packets in the queue q and transferring the packets to the accompanying queue, otherwise, keeping the remaining capacity C of the accompanying queue not exceeded in the queue q rest-FQ The packet of (t) is transferred to an accompanying queue, and the remaining packets are discarded.
6. The segmented routing-oriented slot cycle multi-queue scheduling mechanism according to claim 1, wherein the S3 specifically is:
the number of the cyclic queues is n, the states of the n cyclic queues and the division work circularly alternate along with the time slot propulsion, and the scheduling flow of normal grouping is carried out; the queue status lasts for a time of one slot length.
7. The segmented routing-oriented slot-cycle multi-queue scheduling mechanism as set forth in claim 1, wherein in S4, the probability of collision P of an abnormal packet in the companion queue and a normal packet in the transmit queue is brought by the selected objective function weight coefficient α conflict And probability P that an abnormal packet is delayed to the next slot to wait for transmission delay Solving an adjustment coefficient in the converted single objective function to adjust the transmission rate of the accompanying queue;
the exception packets include the following classes:
1. packets that need to be dropped due to insufficient capacity of the circular queue;
2. packets arrive at the node late, but are within the tolerance of the delay;
3. packets arrive at the node late and the delay time exceeds the delay tolerant range of packets.
8. The segmented routing-oriented slot cycle multi-queue scheduling mechanism of claim 7, wherein S4 is specifically:
the sending rate of the accompanying queue is adjusted, specifically:
(4.1) calculating the total bandwidth B required for complete transmission of packets in the transmit queue and the companion queue at the current time slot sum
B sum =B 0 +B 1
Wherein B is 0 B, bandwidth required for complete transmission of all packets in SQ state queue at current slot 1 To complete all packets in the accompanying queue FQ for the bandwidth required for transmission, the following is calculated:
where m is the percentage of the current slot bandwidth resource reserved, C 1 The total size of the exception packets waiting to be transmitted in the accompanying queue;
(4.2) probability of Conflict P conflict And probability P that an abnormal packet is delayed to the next slot to wait for transmission delay Setting different weight coefficients for the two objective functions to obtain a single objective function;
min(αP conflict0 ,ε 1 )+(1-α)P delay0 ,ε 1 ))
wherein P is conflict And P delay The calculation method is as follows:
port bandwidth B, bandwidth resource reservation percentage m of current time slot, time slot length d and backlog amount C of accompanying queue 1 Solving the adjustment coefficient epsilon according to a single objective function under the set weight coefficient 0 ,ε 1
(4.3) Total Bandwidth B required to fully transmit packets in the transmit queue and the companion queue for the current time slot sum Calculating a transmission rate R of the accompanying queue compared with the port bandwidth B;
if B sum >B, setting a sending rate R of the accompanying queue FQ as follows:
R=ε 1 (B-ε 0 B 0 )=ε 1 B(1-ε 0 m)
if B sum B is less than or equal to, the sending rate R of the accompanying queue FQ is set as follows:
9. the segmented routing-oriented slot cycle multi-queue scheduling mechanism according to claim 1, wherein S5 is specifically: and according to Segment Left in the Segment routing header (namely the number of the rest nodes which should be passed by the current route), querying a Segment List (Segment List) in the Segment routing header to determine a target node (or link) of the next hop, and finally transmitting the packet.
10. The method according to any of claims 1-9, wherein the method is used in a time sensitive network router.
CN202410021583.XA 2024-01-05 2024-01-05 Time slot type circular multi-queue scheduling method for segmented routing Pending CN117834555A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410021583.XA CN117834555A (en) 2024-01-05 2024-01-05 Time slot type circular multi-queue scheduling method for segmented routing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410021583.XA CN117834555A (en) 2024-01-05 2024-01-05 Time slot type circular multi-queue scheduling method for segmented routing

Publications (1)

Publication Number Publication Date
CN117834555A true CN117834555A (en) 2024-04-05

Family

ID=90517268

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410021583.XA Pending CN117834555A (en) 2024-01-05 2024-01-05 Time slot type circular multi-queue scheduling method for segmented routing

Country Status (1)

Country Link
CN (1) CN117834555A (en)

Similar Documents

Publication Publication Date Title
US11362957B2 (en) Jitter elimination and latency compensation at DetNet transport egress
CN102971996B (en) Switching node with the load balance of packet burst
JP7512456B2 (en) Packet scheduling method, scheduler, network device, and network system
US11095759B2 (en) Method, entity and program for transmitting communication signal frames
US7602809B2 (en) Reducing transmission time for data packets controlled by a link layer protocol comprising a fragmenting/defragmenting capability
JP2003224599A (en) Delay minimizing system with guaranteed band width delivery for real-time traffic
US20020114277A1 (en) Communication device and communication method
EP3468115B1 (en) Method to improve availabilty of real-time computer networks
CN112565068B (en) Redundant flow scheduling method applied to TSN (traffic service network)
CN108574632B (en) Message processing method, device and system
US9515940B2 (en) Method for transmitting data in a packet-oriented communications network and correspondingly configured user terminal in said communications network
CN114631290B (en) Transmission of data packets
CN114615211A (en) Method for managing and scheduling time-sensitive network queue in spacecraft with wired and wireless integration
WO2023207628A1 (en) Packet transmission method and packet forwarding device
CN117675606A (en) Time-sensitive network resource scheduling algorithm combination method based on digital simulation
CN117834555A (en) Time slot type circular multi-queue scheduling method for segmented routing
CN115643220A (en) Deterministic service transmission method and device based on jitter time delay
US11146485B1 (en) Time sensitive network programming
CN111711994B (en) Multichannel LoRaWAN gateway downlink scheduling method
CN114157399B (en) Optimization method, device and system for TCP feedback packet ACK packet
US20230171201A1 (en) Method for sending data packet and network device
JP2002124985A (en) Transmitting device and communication system and communication method
CN116260769A (en) Time deterministic traffic burst shaping method for distributed network
CN116418765A (en) Message processing method and network equipment
CN115987910A (en) Queue gating scheduling method, system and storage medium based on dynamic operation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination