CN115643220B - Deterministic service transmission method and device based on jitter time delay - Google Patents
Deterministic service transmission method and device based on jitter time delay Download PDFInfo
- Publication number
- CN115643220B CN115643220B CN202211253268.7A CN202211253268A CN115643220B CN 115643220 B CN115643220 B CN 115643220B CN 202211253268 A CN202211253268 A CN 202211253268A CN 115643220 B CN115643220 B CN 115643220B
- Authority
- CN
- China
- Prior art keywords
- queue
- deterministic
- transmission
- service
- time slice
- 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.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention discloses a deterministic service transmission method and a device based on jitter time delay, wherein the method comprises the following steps: the inlet device calculates a deterministic service path according to the demand parameters of the deterministic service, and sends related information to the subsequent forwarding device and the outlet device; the forwarding equipment generates a service forwarding table according to the received information; the entry device defines the time slice size according to the jitter requirement of the data flow, determines the time slice number of each data packet, and makes the data packet carry the time slice number information; each forwarding device determines a transmission queue according to the first packet of each time slice, performs load proportion control, and completes forwarding of the data packet based on a polling scheduling mechanism of a minimum scheduling period; and the exit equipment waits for a jitter demand time slice to be used as starting scheduling queue time on the basis of the first packet triggering, and completes shaping. The invention realizes the application of the deterministic service wide area network, improves the scheduling method and realizes the improvement of deterministic jitter demand performance.
Description
Technical Field
The invention belongs to the technical field of data communication, and particularly relates to a deterministic service transmission method and device based on jitter time delay.
Background
Ethernet has been widely used since the birth of the 70 th century in 20 due to its simple network connection mechanism, ever-increasing bandwidth, and scalability and compatibility. Conventional ethernet transmits data in a "best effort" manner, reducing the end-to-end latency to only a few tens of milliseconds. However, many emerging services, such as intelligent driving, internet of vehicles, intelligent transportation, industrial control, intelligent agriculture, teleoperation, unmanned operation, VR games, intelligent services, etc., require end-to-end delay to be controlled on the order of microseconds to several milliseconds, delay jitter to be controlled on the order of microseconds, and reliability to be controlled above 99.9999%. Thus, there is an urgent need to establish a deterministic network that can provide "on-time, accurate" data transmission quality of service.
Deterministic networks are the direction of communication vendor technology update iterations, becoming an important technology upgrade requirement for communication vendors. The existing Ethernet lacks a real-time transmission quality assurance mechanism, a global clock and synchronization mechanism, a bandwidth reservation mechanism, a data packet filtering mechanism and the like, and is difficult to ensure deterministic service quality.
Currently, the technical key of deterministic networks is to realize deterministic latency, jitter, packet loss rate, bandwidth, reliability, etc. The deterministic time delay is mainly realized by mechanisms such as clock synchronization, frequency synchronization, scheduling shaping, resource reservation and the like; deterministic jitter and packet loss rate are realized through mechanisms such as priority division, jitter reduction, buffer absorption and the like; deterministic bandwidth is realized by technologies such as network slicing and edge computing; deterministic reliability is achieved through multiplexing, packet duplication and cancellation, redundant backup, etc.
In order to ensure deterministic latency, the IEEE TSN working group and IETF DETNET working group focus on the deterministic technique of the link layer and the network layer respectively, a full-network clock/frequency synchronization mechanism and a time-slot-based gating priority queue scheduling mechanism are proposed, namely, a latency sensitive flow and a best effort flow are separated by gating priority queues first, and then the latency sensitive flows are separated from each other in time or space, so that no queuing or bounded queuing latency occurs at the network output port. However, the scheduling mechanism has high complexity, requires accurate clock synchronization of the whole network, and is only applicable to local area networks, other standards are formulated based on TSN, and the certainty technology applicable to wide area networks, particularly cloud networks, is still not mature.
In summary, the main problems with the data plane in deterministic networks are as follows: 1. lack of a scheduling mechanism suitable for a wide area network, and realization of end-to-end deterministic network requirements; 2. the TSN is based on a time slot scheduling mechanism, is complex to realize, requires accurate clock synchronization of the whole network, and is difficult to land in practical application; 3. the chip of the existing equipment is difficult to support a complex scheduling algorithm, and the implementation needs to be simplified.
The deterministic network technology is in an emerging stage, and needs to be broken through technically, so that the network equipment can ensure the transmission delay jitter of the service hop by hop through the deterministic forwarding technology, and the deterministic network technology meets the requirements of the deterministic network with multiple scenes, which is a problem to be solved urgently by the technicians in the field.
Disclosure of Invention
Aiming at the defects or improvement demands of the prior art, the invention provides a deterministic service transmission method and a system based on jitter time delay, which realize deterministic service wide area network application, improve the scheduling method and realize deterministic jitter demand performance improvement.
To achieve the above object, according to one aspect of the present invention, there is provided a deterministic traffic transmission method based on jitter delay, including:
The inlet device calculates a deterministic service path according to the demand parameters of the deterministic service, and sends related information to the subsequent forwarding device and the outlet device;
The forwarding equipment generates a service forwarding table according to the received information;
The entry device defines the time slice size according to the jitter requirement of the data flow, determines the time slice number of each data packet, and makes the data packet carry the time slice number information;
each forwarding device determines a transmission queue according to the first packet of each time slice, performs load proportion control, and completes forwarding of the data packet based on a polling scheduling mechanism of a minimum scheduling period;
and the exit equipment waits for a jitter demand time slice to be used as starting scheduling queue time on the basis of the first packet triggering, and completes shaping.
Further, the calculating of the time slice number includes:
Time slice number = (time information (microseconds) expressed by integers)/jitter requirement (microseconds))%packet recordable number maximum.
Further, the load ratio control specifically includes:
calculating a transmission start queue n1 and a transmission latest queue n2 corresponding to the time slice numbers;
calculating the insertion queue position n3 of the corresponding service data packet;
insert the data packet into the dispatch queue.
Further, when the transmission start queue n1 and the transmission latest queue n2 corresponding to the time slice numbers are calculated, the set difference value a is the received time slice number minus the time slice number in the deterministic traffic forwarding table, and if the difference value a does not exceed the preset value, then:
a transmission start queue n1=a current numbered data packet transmission end queue=a current numbered transmission start queue+a×jitter time slices/per-queue transmission time slices corresponding to the time slice number;
the transmission latest queue n2=current numbered transmission start queue+ (a+1) ×jitter time slices/per-queue transmission time slices corresponding to the time slice number.
Further, the calculating the insertion queue position n3 of the corresponding service data packet specifically includes:
n3 = n1+ q× (n 2-n 1), rounding n3, i.e. the number of queues in the cyclic scheduling period to be inserted, if n3 exceeds the total number of cyclic scheduling queues, subtracting the total number of cyclic scheduling queues from n3 to be the number of inserted queues, where q is the ratio of the number of bytes received by the corresponding service to the number of bytes transmitted by the jittered time slice.
Further, when the packet is inserted into the scheduling queue, if the n3 queue is not full, the forwarded packet is directly inserted, otherwise, all queues between n1 and n2 are traversed according to the sequence of n3-1, n3+1, n3-2 and n3+2, and after the idle queue is found, the forwarded packet is inserted.
Further, the polling scheduling mechanism based on the minimum scheduling period specifically includes: the network equipment separates deterministic traffic from non-deterministic traffic scheduling queues, and for deterministic traffic, the network equipment sets the length of each scheduling queue in the round robin queues according to the reserved total bandwidth based on a round robin scheduling queue mechanism, and transmits data packets from queue to queue, wherein the transmission time of each queue is fixed, and when each queue is scheduled, the network equipment schedules according to a first-in first-out principle.
Further, dynamic bandwidth adjustment of deterministic traffic is also included, in particular: dynamically adjusting the reserved total bandwidth of the deterministic service, and when the residual deterministic service bandwidth is smaller than 90% of the total reserved bandwidth in the jitter demand range, improving the reserved total bandwidth so as to avoid deterministic service loss; when the occupation proportion of the deterministic service bandwidth in the whole round robin period is less than 50% of the reserved bandwidth and no aggregation exists, the reserved total bandwidth is reduced, and therefore the bandwidth utilization rate of the forwarding equipment is improved.
Further, the fields of the service forwarding table include one or more of a service identifier, a deterministic service minimum bandwidth, a current transmission queue, a time slice number, a current numbered transmission start queue, a jitter time slice transmission byte number, an exceeding numbered data packet byte number, and a lagging numbered data packet byte number.
According to another aspect of the present invention, there is also provided a deterministic traffic transmission device based on jitter delay, for implementing the deterministic traffic transmission method based on jitter delay according to the first aspect, the device including a control unit and a forwarding unit, wherein:
the control unit is used for completing the configuration of deterministic service, routing protocol and generating forwarding table items;
And the forwarding unit is used for calculating the queue mapped by the deterministic service and performing queue control calculation when the data packet is received, performing circular scheduling on the data packet according to a calculation result, performing queue management and scheduling on the data packet to an outbound interface according to a time slice, and sending the data packet to the outbound interface of the network equipment by the outbound queue to be sent out.
In general, compared with the prior art, the above technical solution conceived by the present invention has the following beneficial effects:
(1) The application layer window mechanism is utilized to realize packet transmission according to time slices without order preservation for local parts, and the scheduling and order preservation based on time slices can be realized without synchronization of a whole network clock. The deterministic service time slices are numbered and transmitted according to jitter requirements, the number of the numbers is reduced, and the deterministic service time slices can be used for wide area network transmission; scheduling according to the time information and the deterministic service time slice number represented by the jitter requirement, and ensuring the end-to-end transmission jitter requirement; a proportional feedback scheduling mechanism dynamically reserves bandwidth adjustment to avoid packet loss and sequencing;
(2) Compared with the existing deterministic network technology, the deterministic service time slice numbering is carried out based on clock information and jitter requirements, so that the complexity of sequential numbering is solved, the clock synchronization requirement of strict time slot scheduling is solved, and wide area network end-to-end transmission can be realized;
(3) Compared with the complex deterministic network scheduling technology, the proportional feedback scheduling mechanism is realized by adding a plurality of registers and simple logic operation through programmable equipment, the starvation of the wide area network scheduling mechanism is solved, the complex mechanisms such as frame preemption, progressive bandwidth reservation and the like are avoided, and the jitter requirement and the time delay requirement of end-to-end transmission can be realized.
Drawings
Fig. 1 is a flowchart of a deterministic service transmission method based on jitter delay according to embodiment 1 of the present invention;
Fig. 2 is a device frame diagram of a deterministic traffic transmission method based on jitter delay according to embodiment 2 of the present invention;
fig. 3 is a schematic diagram of a deterministic service forwarding table structure and a circular transmission queue according to embodiment 2 of the present invention;
Fig. 4 is a flow chart of deterministic traffic transmission processing provided in embodiment 2 of the present invention;
FIG. 5 is a deterministic service enqueuing flowchart provided in embodiment 2 of the present invention;
FIG. 6 is a flow chart of deterministic traffic transmit queue ratio control provided in embodiment 2 of the present invention;
fig. 7 is a flowchart of deterministic traffic slot number adjustment provided in embodiment 2 of the present invention;
fig. 8 is a deterministic traffic packet scheduling diagram according to embodiment 3 of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present invention more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the invention. In addition, the technical features of the embodiments of the present invention described below may be combined with each other as long as they do not collide with each other.
Example 1
As shown in fig. 1, embodiment 1 of the present invention provides a deterministic service transmission method based on jitter delay, which includes the following steps:
step 100: the ingress device calculates a deterministic traffic path based on the demand parameters of the deterministic traffic and sends the relevant information to the subsequent forwarding device and egress device.
Step 200: and the forwarding equipment generates a service forwarding table according to the received information.
Step 300: the entry device defines the time slice size according to the jitter requirement of the data stream, determines the time slice number of each data packet, and makes the data packet carry the time slice number information.
Step 400: and each forwarding device determines a transmission queue according to the first packet of each time slice, performs load proportion control, and completes forwarding of the data packet based on a polling scheduling mechanism of the minimum scheduling period. The first packet refers to a packet that arrives first in a certain time slot.
Step 500: and the exit equipment waits for a jitter demand time slice to be used as starting scheduling queue time on the basis of the first packet triggering, and completes shaping.
In the above step of the present embodiment, the calculating of the time slice number includes: time slice number = (time information (microseconds) expressed by integers)/jitter requirement (microseconds))%packet recordable number maximum.
In the foregoing step of the present embodiment, the performing load ratio control specifically includes: calculating a transmission start queue n1 and a transmission latest queue n2 corresponding to the time slice numbers; calculating the insertion queue position n3 of the corresponding service data packet; insert the data packet into the dispatch queue. Specifically, when the transmission start queue n1 and the transmission latest queue n2 corresponding to the time slice numbers are calculated, the set difference value a is the received time slice number minus the time slice number in the deterministic traffic forwarding table, and if the difference value a does not exceed the preset value, then: a transmission start queue n1=a current numbered data packet transmission end queue=a current numbered transmission start queue+a×jitter time slices/per-queue transmission time slices corresponding to the time slice number; the transmission latest queue n2=current numbered transmission start queue+ (a+1) ×jitter time slices/per-queue transmission time slices corresponding to the time slice number. The calculating the insertion queue position n3 of the corresponding service data packet specifically includes: n3 = n1+ q× (n 2-n 1), rounding n3, i.e. the number of queues in the cyclic scheduling period to be inserted, if n3 exceeds the total number of cyclic scheduling queues, subtracting the total number of cyclic scheduling queues from n3 to be the number of inserted queues, where q is the ratio of the number of bytes received by the corresponding service to the number of bytes transmitted by the jittered time slice. When the data packet is inserted into the scheduling queue, if the n3 queue is not full, the forwarded data packet is directly inserted, otherwise, according to the sequence of n3-1, n3+1, n3-2 and n3+2, all queues between n1 and n2 are traversed, and after an idle queue is found, the forwarded data packet is inserted.
In the foregoing step of this embodiment, the polling scheduling mechanism based on the minimum scheduling period specifically includes: the network equipment separates deterministic traffic from non-deterministic traffic scheduling queues, and for deterministic traffic, the network equipment sets the length of each scheduling queue in the round robin queues according to the reserved total bandwidth based on a round robin scheduling queue mechanism, and transmits data packets from queue to queue, wherein the transmission time of each queue is fixed, and when each queue is scheduled, the network equipment schedules according to a first-in first-out principle.
In the above steps of the present embodiment, the method further includes dynamic bandwidth adjustment of deterministic traffic, specifically: dynamically adjusting the reserved total bandwidth of the deterministic service, and when the residual deterministic service bandwidth is smaller than 90% of the total reserved bandwidth in the jitter demand range, improving the reserved total bandwidth so as to avoid deterministic service loss; when the occupation proportion of the deterministic service bandwidth in the whole round robin period is less than 50% of the reserved bandwidth and no aggregation exists, the reserved total bandwidth is reduced, and therefore the bandwidth utilization rate of the forwarding equipment is improved.
In the foregoing step of this embodiment, the fields of the service forwarding table include one or more of a service identifier, a deterministic service minimum bandwidth, a current transmission queue, a time slice number, a current numbered transmission start queue, a jitter time slice transmission byte number, an exceeding numbered packet byte number, and a lagging numbered packet byte number.
Example 2
Example 2 of the present invention the process of example 1 is explained and described in more detail. It should be noted that the present invention aims to overcome the shortcomings of the background art, and provide a deterministic service transmission method and device based on jitter delay. The inadequacies for deterministic traffic forwarding planes are improved as follows.
(1) Implementing deterministic service wide area network applications
The prior deterministic technology is difficult to use in wide area networks, because accurate clock synchronization is required, and the scheduling algorithm is complex and can only be used in local area networks. The method of the invention only needs to add a small amount of register settings through the information of the data packet, avoids a complex clock system, can be effectively applied to the deterministic service transmission of the wide area network, and can effectively reduce the cost.
(2) Scheduling method improvement
The method of the invention provides a round robin queue scheduling mechanism with lower complexity, and realizes time slice scheduling meeting deterministic service jitter through effective control when entering a queue.
(3) Deterministic jitter demand performance improvement
The existing deterministic network technology lacks forwarding based on jitter requirements, even if the local area network method with accurate clock synchronization only considers time slice forwarding, the granularity of jitter control delay is larger. The method of the invention is based on the linear proportional control and the dispatching of the jitter requirement, so that the data packet is uniformly forwarded, the total reserved bandwidth of the deterministic service is dynamically adjusted, the end-to-end jitter performance is greatly improved, and the bandwidth utilization rate of the equipment can be effectively improved.
In order to meet the above technical improvement requirement, the technical scheme adopted by the embodiment of the invention is a deterministic service transmission method based on jitter time delay, comprising the following steps:
when the access device (i.e. the access device in embodiment 1, which is collectively referred to as the access device in this embodiment) receives the deterministic service data packet, calculating a deterministic service time slice number according to the jitter requirement, and making the data packet carry the number information;
Calculating a deterministic service path through deterministic service demand parameters configured by the access equipment, sending the deterministic service demand parameters to all forwarding equipment on the deterministic service path, and generating a deterministic service forwarding table by all forwarding equipment;
According to the deterministic service time slice number and the deterministic service parameter, each network device on the transmission path triggers a circulation forwarding queue position through a first packet, realizes deterministic service queuing according to the deterministic service time slice number, simultaneously controls the proportion of deterministic service transmission queues, and realizes precise time scheduling of deterministic service based on a round robin scheduling queue of a minimum scheduling period, and dynamic bandwidth adjustment and strict alignment of the transmission time slices of the deterministic service are realized through the deterministic service time slice number and the starting transmission queue adjustment.
The deterministic service path refers to a forwarding path which meets the time delay requirement for deterministic service calculation by the entry network equipment, and proper relay nodes are selected on the calculated forwarding path to carry out deterministic service shaping, so that segment jitter is realized to ensure transmission.
The deterministic service forwarding table comprises information such as identification of deterministic service, deterministic service parameters and the like, and when a data packet is received, the circular scheduling queue information corresponding to the deterministic service time slice number in the deterministic service forwarding table is perfected.
The deterministic traffic slot number refers to a value obtained by performing hash calculation by the ingress network device according to clock information and jitter requirements of deterministic traffic, and the calculated deterministic traffic slot number is filled into a field of DSCP (differential service Code Point, DIFFERENTIATED SERVICES Code Point) of an IP (Internet Protocol ) message. For other types of messages, such as MPLS (multiprotocol label switching), multi-Protocol Label Switching) messages are filled in corresponding priority fields or identification packet serial number fields in D-CW fields.
The first packet triggers the position of the circular forwarding queue, that is, the deterministic service triggers the starting transmission time corresponding to the deterministic service time slice number according to the first received data packet on the forwarding path, and determines the queue starting transmission in the circular queue scheduling. And according to the deterministic service jitter requirement, calculating an ending transmission queue corresponding to the deterministic service time slice number.
The deterministic service queuing refers to that when a deterministic service data packet is inserted into a circular scheduling queue, according to the information such as a deterministic service time slice number, a deterministic service jitter time slice, a transmission starting queue of the current deterministic service time slice number, and the like, an access device, a forwarding device and an exit device calculate the range of the deterministic service data packet in the circular scheduling queue in different modes. The ingress network device forwards the deterministic service data packet strictly according to the scheduling queue corresponding to the receiving time; the forwarding device determines the starting scheduling queue time according to the first packet trigger, the exit device waits for a jitter demand time slice to be used as the starting scheduling queue time on the basis of the first packet trigger so as to shape, and the relay node realizing the segment jitter guarantee is shaped in the same way as the exit device.
The deterministic service transmission queue proportion control refers to that when data packets with the same number are enqueued to schedule, the data packets are put into a proper scheduling queue according to a deterministic service load proportion between a transmission starting queue and a transmission ending queue corresponding to the deterministic service time slice number, so that the scheduling time difference value is ensured not to exceed the jitter requirement.
The round robin scheduling queue based on the minimum scheduling period refers to that the network equipment separates deterministic traffic scheduling queues from non-deterministic traffic scheduling queues, and for deterministic traffic, the network equipment sets the length of each scheduling queue in the round robin queues according to the reserved total bandwidth, sends data packets from queue to queue, has fixed transmission time, and schedules according to a first-in first-out principle when scheduling each queue traffic.
The transmission queue adjustment refers to that after the transmission of the queue corresponding to one jitter time slice of the deterministic service is completed, the number of data packets exceeding the number and the number of data packets falling behind are counted, and the corresponding relation between the deterministic service time slice and the scheduling period is adjusted according to the statistical information in order to avoid the difference between actual scheduling periods caused in the transmission process.
The dynamic bandwidth adjustment of deterministic traffic refers to dynamically adjusting the reserved total bandwidth of deterministic traffic, and when the residual deterministic traffic bandwidth is smaller than a preset value (e.g., 90%) of the total reserved bandwidth in the jitter demand range, the reserved total bandwidth is increased so as to avoid deterministic traffic loss; when the occupation proportion of the deterministic service bandwidth in the whole round robin period is smaller than the preset value (such as 50%) of the reserved bandwidth and is not aggregated, the reserved total bandwidth is reduced, and therefore the bandwidth utilization rate of the forwarding device is improved.
In deterministic traffic transmission, jitter delay control is important. The existing time sensitive network transmission mechanism is mainly based on the transmission of time slices, the transmission is divided into time slices, each device strictly controls the scheduling starting time of the time slices through a synchronization mechanism, and deterministic service data packets are strictly scheduled according to the determined time slices when passing through the device, so that the end-to-end jitter is ensured to be smaller than 2 time slices, the time slice division of all the devices adopts uniform size, and the scheduling of the time slices needs accurate clock synchronization of the whole network, but the accurate clock synchronization has difficulty in a wide area network, so that the mechanism can only be applied in a local area network.
Considering that the terminal or the server application can have a cache window, the disorder in a short period of time can be recovered at the application layer. The invention is based on the deterministic service transmission system and method of the jitter time delay, calculates the deterministic service path through the deterministic service demand parameter configured by the access equipment, sends the related information to each forwarding equipment on the deterministic service path, each forwarding equipment generates the deterministic service forwarding table (it is to be noted that the service forwarding table can be generated by the forwarding equipment, similar to the routing table, after receiving the notification information by each router, each router protocol calculates the routing table of the equipment to generate the forwarding table of the equipment, of course, the forwarding table can also be calculated by the centralized controller and then sent to the network equipment, but the calculation domain range of the controller is limited, and the calculation by the controller is feasible in a small range. And when the access equipment receives the deterministic service data packet, calculating the serial number of the deterministic service time slice according to the jitter requirement, and enabling the data packet to carry the serial number information. According to the deterministic service time slice number and the deterministic service parameter, each network device on the transmission path triggers a circular forwarding queue position through a first packet, realizes the entering of a deterministic service data packet into a circular scheduling queue according to the deterministic service time slice number, simultaneously controls the entering of the deterministic service according to a load proportion, realizes the accurate scheduling of the deterministic service according to time, and realizes the dynamic bandwidth adjustment and the strict alignment of the transmission time slices through the deterministic service time slice number and the starting transmission queue adjustment.
Referring to fig. 2, a device architecture diagram of a deterministic traffic transmission method based on jitter delay is mainly applicable to programmable network devices, and in the device architecture, the device architecture mainly includes the following parts:
And a control unit: the configuration of deterministic traffic, routing protocol and forwarding table entry generation are mainly completed.
A forwarding unit: when receiving data packets, the method mainly comprises the steps of calculating a queue mapped by deterministic service and performing queue control calculation, performing ingress-circulation scheduling on the data packets according to a calculation result, performing queue management and scheduling on the data packets to an egress interface according to a time slice, and transmitting the data packets to the egress interface of network equipment to be sent out by the egress queue.
It should be noted that, for each service, there is a start point and an end point, the configuration process of the access device at the start point is the simplest, and the device notifies the whole network, so as to avoid configuration of all devices. If a service is not configured at the access (starting point), the service is configured at other nodes, and is not necessarily configured by the nodes when being diffused to other nodes to perform path calculation, so that network configuration checking is not facilitated. Similar to when a terminal or a server accesses a network, its gateway is generally directed to a directly connected access device (access router), and it is theoretically possible to direct to an intermediate router, which is only not intuitive when looking at routes, and requires adding many additional route configurations.
The main processing flow of each module of the control unit is as follows:
1. Deterministic traffic configuration: and configuring corresponding deterministic service in deterministic service access equipment, wherein the deterministic service identification is carried out on the basis of 5-tuple for IP message and S-Label for MPLS message. And configuring information such as maximum jitter requirement, minimum delay requirement, bandwidth requirement and the like of deterministic service. The minimum delay requirement is used for route calculation to meet the end-to-end path, and the maximum jitter requirement is used for determining the time slice size of service scheduling.
2. Routing protocol: and calculating a path meeting the minimum delay requirement of the deterministic service according to the network topology condition, and notifying all nodes in the path of the deterministic service and the jitter requirement. After calculating or learning the forwarding path and service requirement of deterministic service from the access device, the routing protocol generates a deterministic service forwarding table and issues the deterministic service forwarding table to the forwarding unit.
It should be noted that, the routing protocol is required on both the access device and the forwarding device, and the routing protocol on each device is mainly used for receiving the path and service information advertised by the network, and calculating to generate a local forwarding table. If the control is centralized control, the controller only needs to calculate and then send the generated forwarding table to all devices on the path, but the network scale used by the controller is limited.
3. Generating a forwarding table item: and setting the size of a deterministic service time slice as the jitter transmission time slice of the service according to the jitter requirement of the deterministic service aiming at the deterministic service forwarding table item generated by the routing protocol. So that when the forwarding unit forwards the data packet, the data packets with the same message number are sent in the same time slice. The forwarding table entry generated by the control unit only contains information which does not change, such as service identification, deterministic service minimum bandwidth, jitter time slices, jitter time slice transmission byte numbers and the like.
Referring to fig. 3, a deterministic traffic forwarding table definition used in the present invention is shown below:
(1) Service identification: for IP message, deterministic service identification is composed of five tuples, and for MPLS message, deterministic service is identified by MPLS label.
(2) Deterministic traffic minimum bandwidth: representing the minimum bandwidth in kbps that needs to be reserved for deterministic traffic transmission.
(3) Current transmit queue: indicating the number of the currently transmitting queue in the deterministic traffic circular queue transmission of the device. The queues being transmitted are pointed to by pointers in each service for real-time updating.
The queues are queues shared by all flows, and the total number of the queues maintained by the device is limited, for example, the current network device has a minimum of 8 queues per port, and also has a 64K number of queues, which is smaller than the number of flows (services), so that each flow needs to maintain the queue information of own packet (sequence number) transmission. Each stream needs to ensure that its own data packets are placed in the transmission queue in order to be transmitted at a constant speed, reducing jitter, and thus ensuring certainty.
(4) Deterministic traffic time slice number: based on jitter number, which indicates that deterministic service is transmitting data packet, the deterministic service time slice number carries out hash calculation on the network equipment of the access interface according to clock information and jitter requirement of the service, and the hash calculation value is carried in the data packet and is specifically calculated as follows:
deterministic traffic time slice number = (time information (microseconds) expressed in integers/jitter requirement (microseconds))%packet recordable number maximum.
The access device fills the computed deterministic traffic slot number into the DSCP field of the IP message (deterministic traffic identification one of the 6 tuples, but not applied). For other types of messages, such as MPLS messages, the corresponding priority field or the identification packet serial number field in the D-CW field is filled in. At least 256 messages representing jitter delay transmission time slices of the service.
The deterministic service time slice number in the forwarding table is filled in through the first packet triggering, and can be adjusted according to the forwarding condition.
In deterministic networks, each flow (service) is numbered at the time of transmission, and the number information is stored in the header storage sequence number field (such as d-cw field of MPLS, SRH field of SRv, UDP encapsulation field added to IPv 4) of the data packet according to the sequential number at the time of ingress. In addition, there is one stream sequence number per stream. Thus, for each packet, a stream sequence number and a packet sequence number are included, and the packet sequence numbers of the same stream are sequentially transmitted. The time slice number is mainly a packet sequence number, and is stored in the packet sequence number field. The invention not simply increases the sequence number of the packet, but binds the sequence number of the packet with the transmission time, divides the packet into the same time slices with the same number, avoids the time slice number to only represent the sequence, does not sense the time interval between each data packet, causes the problem of overlarge jitter, and realizes certainty. In addition, after data packet aggregation, more data packets can be recorded in the time slice number field, the time slice number can be met by using the DSCP field, otherwise, a longer field is needed, and the data packet aggregation is difficult to realize in IP. In addition, the scheduling problem that the granularity of the time slices of the transmission nodes is too small can be avoided, and the transmission of a plurality of deterministic services is realized.
(5) Current numbered transmission start queue: and the data packet representing the current serial number of the deterministic service starts to be transmitted in the round robin transmission queue. The access device, forwarding device and egress device calculate that the current numbered transmission start queues are slightly different.
(6) Dithering time slices: representing the deterministic traffic jitter requirement in microseconds. The value of the data packet transmission end queue is determined by the current number, and the data packet transmission end queue is specifically calculated as follows:
Current numbered packet end of transmission queue = current numbered start of transmission queue + jitter time slices/per-queue transmission time slices.
In the calculation of the above formula, if the calculation result exceeds the total number of the queues in the circular scheduling queue, the total number of the queues is subtracted, so that the calculated transmission starting queue and transmission ending queue are ensured to be in the circular queue number range.
In the invention, for the convenience of calculation, if the transmission end queue is smaller than the transmission start queue, the transmission end queue plus the maximum circular queue is used as the transmission end queue for calculation, so that the calculated transmission end queue is ensured to exceed the transmission start queue. And will not be described later.
(7) The jitter time slice transmits the number of bytes: representing the number of bytes the deterministic traffic is transmitted within the jitter time slices. This value can be estimated by deterministic traffic minimum bandwidth (kbps) x jitter time slices/8000.
(8) Exceeding the number of bytes of the numbered packet: and recording the byte number of the data packet with the receiving deterministic service time slice number being larger than the current transmission deterministic service time slice number. The value indicates that there is a longer disorder in the network and the current deterministic traffic slot number is modified based on the value.
(9) Number of bytes of the packet to be numbered later: and recording the byte number of the data packet with the receiving deterministic service time slice number smaller than the current transmission deterministic service time slice number. The value indicates that there is a longer disorder in the network and the current deterministic traffic slot number is modified based on the value.
The main processing flow of each module of the forwarding unit is as follows:
1. Service queue mapping: and receiving deterministic service forwarding table information issued by the control unit, perfecting the deterministic service forwarding table information according to the first packet of the deterministic service, and dynamically adjusting the information such as the serial numbers of the deterministic service time slices when the round robin scheduling period is finished and the scheduling of the service time slices is finished.
2. Queuing: when the forwarding unit receives the deterministic service data packet, the deterministic service forwarding table is queried, the position range of the inserted circular scheduling queue is calculated through the deterministic service forwarding table, and the jitter requirement of the service is met.
3. Queue control: according to the service packet receiving condition and the whole packet receiving condition in the queue, calculating the specific position of the inserted queue according to a proportional feedback control mechanism, and simultaneously dynamically adjusting the total reserved bandwidth of the deterministic service according to the dispatching condition of the circular queue.
4. Queue management and scheduling: a circular queue scheduling mechanism circularly arranges all scheduling queues, each forwarding device adopts a plurality of queue round-robin scheduling mechanisms, and each queue scheduling time slice is set according to the processing capacity of a chip, and is generally smaller than a smaller value of service jitter requirement, which can reach tens of nanoseconds.
5. Dequeuing: the data packet is sent to the egress interface so that the device sends the data packet from the interface.
Referring to fig. 4, a deterministic traffic transmission processing flow chart is shown, and the specific processing flow is as follows:
Step S1: deterministic service configuration and advertising
See deterministic traffic configuration, routing protocols and forwarding table entries generated in the control unit. And each node on the deterministic service transmission path is ensured to issue a configured deterministic service forwarding table item to a forwarding plane, wherein the information comprises a service identifier, a deterministic service minimum bandwidth, a current transmission queue, a jitter time slice transmission byte number and the like in the deterministic service forwarding table item. It should be noted that, for the calculation of the forwarding path, according to the service identifier ID in the deterministic service forwarding table, the routing table is searched to obtain the interface, if the same route has multiple paths, the data packets with the same deterministic service and the same number are transmitted by adopting the same transmission path, and the data packets with different deterministic service time slice numbers can be transmitted by adopting different transmission paths or the same path.
Step S2: first packet triggered cyclic forwarding queue location
When each network node receives the data packet of a certain deterministic service, updating the forwarding table item of the deterministic service in the network node, wherein the updating mainly comprises the steps of calculating the information of deterministic service time slice numbers, current number transmission starting queues and the like, and calculating the latest scheduling queue of the data packet corresponding to the deterministic service time slice numbers according to the service jitter requirements. It should be noted that there is a difference in the access device, forwarding device and egress network device in calculating the current numbered transmission start queues, the access device and forwarding device can be mapped directly, and the egress network device needs to wait for a jitter required time slice to shape.
Step S3: service queue mapping
When receiving a data packet of a certain deterministic service, the access device calculates the serial number of the deterministic service time slice, and fills the serial number information into a corresponding field of the data packet, and fills the IP message into a field of DSCP (one of the deterministic service identification 6 tuples, but is not applied). For other types of messages, such as MPLS messages, the corresponding priority field or the identification packet serial number field in the D-CW field is filled in. At least 256 messages representing jitter delay transmission time slices of the service.
Step S4: deterministic traffic enqueue
Before scheduling, the network device obtains the information such as the deterministic service time slice number, the current deterministic service time slice number transmission starting queue and the like when each deterministic service data packet is inserted into the queue, and inserts the deterministic service time slice number transmission starting queue into the scheduling queue according to the deterministic service enqueuing rule. Reference is made to fig. 5 for a deterministic traffic queuing flow chart, see later for a detailed description.
Step S5: deterministic traffic transmission queue ratio control
When the data packets with the same number are enqueued for scheduling, the transmission start queue and the transmission end queue are numbered according to the deterministic service time slices and proportionally put into a proper scheduling queue. Ensuring that the scheduling time difference does not exceed the jitter requirement. Reference is made to fig. 6, which is a flow chart of a deterministic traffic congestion control method, for details of which reference is made to the following.
Step S6: round robin scheduling queue based on minimum scheduling period
The network device separates the deterministic traffic from the non-deterministic traffic scheduling queues, and sets the length of each scheduling queue in the round robin queue according to the reserved total bandwidth size based on the round robin scheduling queue mechanism for the deterministic traffic. And transmitting the data packets from queue to queue, wherein the transmission time of each queue is fixed, and when each queue service is scheduled, the data packets are scheduled according to a first-in first-out principle.
The minimum number of queues required by the network device is calculated based on the minimum jitter requirements of deterministic traffic. For example: the minimum queue scheduling period time is 1us, the deterministic traffic jitter requirement is 20us, the deterministic traffic jitter transmission time slice is set to 10us according to the foregoing, 10 queues are needed for each time slice, if a single network device considers that transmission, transmission and reception are separated, 3×10 queues are needed in total, namely 30 queues are the minimum number of queues, and the existing network device actually supports more number.
Each queue length is calculated from the total reserved bandwidth, examples are as follows: assuming that the total number of the circular queues is 100, the scheduling time of each queue is 1us, and the total reserved bandwidth is 4000Mbps, the length of the queue is: 4000mbps×100 us/8=50000 bytes, 500 bytes per queue length.
Step S7: deterministic traffic time slice numbering and start transmit queue adjustment
The deterministic service time slice triggers the scheduling period through the first packet, and in order to avoid the difference between the deterministic service time slice and the actual scheduling period caused in the transmission process, the number of data packets exceeding the number and the number of data packets falling behind the number are counted after the transmission of the queue corresponding to one jitter time slice of the deterministic service is completed. And according to the statistical information, adjusting the corresponding relation between the deterministic service time slices and the scheduling period. Reference is made to fig. 7 for a deterministic traffic slot numbering and start transmit queue adjustment flow chart, see later for details.
In step S4, deterministic traffic is queued, and referring to fig. 5, a deterministic traffic queuing flowchart is shown, and the specific process flow is as follows:
Step S401: the access device forwards the processing. When enqueuing, it should be ensured that the current data packet is forwarded from the dispatch forwarding egress device for a period of time that satisfies the jitter requirement calculation, referred to as the jitter transmission time slice of deterministic traffic.
Step S402: and processing by a forwarding device. When a deterministic service data packet is received, the first packet starts to trigger the corresponding relation between the deterministic service time slice number of the service and the current transmission queue, and records the deterministic service time slice number of the current transmission. If the difference between the received deterministic service time slice number and the currently forwarded deterministic service time slice number exceeds a preset value (e.g. 3), the jitter requirement is not satisfied, and the difference needs to be discarded. When the data packets with the same number are queued for scheduling, the scheduling time difference is ensured not to exceed the jitter requirement.
Step S403: the exit device performs the shaping. When receiving deterministic service data packets, buffering the first data packet with the same deterministic service time slice number, after waiting for a jitter transmission time slice of the service, linearly transmitting all received data packets with the same serial number in the next jitter transmission time slice, and transmitting the received messages with the same deterministic service time slice number in the same time slice in the transmission process.
Step S404: and (5) processing by a relay node. On the deterministic traffic transmission path, an intermediate network device may be configured as a relay node. The transmission mode of the relay node is consistent with the transmission mode of the exit network equipment, so that the synchronization of the intermediate relay node and the exit network equipment is ensured when the transmission path is longer.
In step 5, deterministic traffic transmission queue ratio control, referring to fig. 6, is a deterministic traffic transmission queue ratio control flowchart, and the specific process flow is as follows:
step S501: and obtaining the calculated data packet insertion position information. The queue for deterministic service entering in the network equipment is scheduled according to the periodic round robin, and since 1 jitter time slice of deterministic service corresponds to a plurality of scheduling queues, a linear proportion control mechanism is adopted for controlling deterministic service scheduling in order to further eliminate jitter. Calculating the insertion position of the data packet requires obtaining information such as information about a deterministic service forwarding table, a deterministic service total bandwidth, a total number of equipment circular scheduling queues, a number of transmission bytes per scheduling queue and the like.
Step S502: the inserted dispatch start queue is calculated. When a deterministic service data packet is received, a service identifier and a deterministic service time slice number are obtained, a deterministic service forwarding table is queried, and a transmission start queue n1 and a transmission latest queue n2 corresponding to the deterministic service time slice number are calculated. The specific calculation mode is as follows:
(1) Let the difference a be the received deterministic traffic slot number minus the deterministic traffic slot number (which may be positive or negative) in the deterministic traffic forwarding table.
(2) If the difference a >3, the data packet exceeds the jitter requirement, the data packet is discarded, and the number of bytes of the data packet exceeding the number in the deterministic service forwarding table is increased by corresponding statistical information.
(3) If a < -3, the data packet exceeds the jitter requirement, the data packet is discarded, and the byte number of the backward numbered data packet in the deterministic service forwarding table is increased by corresponding statistical information. .
(4) Otherwise, if a is more than or equal to-3 and less than or equal to 3, the transmission start queue n1 corresponding to the deterministic service time slice number=the current numbered data packet transmission end queue=the current numbered transmission start queue+a×jitter time slice/per-queue transmission time slice.
Packet transmission latest queue n2=current numbered transmission start queue + (a+1) ×jitter time slices/per-queue transmission time slices.
From the above calculation, if the received deterministic traffic time slice number is equal to the current deterministic traffic time slice number in the deterministic traffic forwarding table, the transmission start queue n1 is equal to the current numbered transmission start queue in the deterministic traffic forwarding table, and the transmission latest queue n2 is equal to the previously calculated current numbered packet transmission end queue.
Step S503: and calculating the deterministic traffic load proportion. In the statistical dispatch queues n1 to n2, the byte number of the received service data packet is counted, and the ratio q of the received service byte number to the jitter time slice transmission byte number is calculated.
Step S504: the service data packet insertion queue position is calculated as follows: n3=n1+q× (n 2-n 1), and rounding n3, i.e. the queue number in the cyclic scheduling period to be inserted. Note that if n3 exceeds the total number of circular schedule queues, then n3 minus the total number of circular schedule queues is taken as the inserted queue number.
Step S505: insert the data packet into the dispatch queue. If the n3 queue is not full, the forwarded packet is inserted directly. Otherwise, according to the sequence of n3-1, n3+1, n3-2 and n3+2, until all queues between n1 and n2 are found, inserting the forwarded data packet. And adds deterministic traffic transmission statistics.
Step S506: the reserved total bandwidth is increased. If the total remaining bandwidth between queues n1 through n2 is less than 10% of the total bandwidth, the minimum guaranteed bandwidth reserved for deterministic traffic should be increased, which can be achieved by: (1) The transmission time slices of each queue are reduced, so that more queues can be transmitted in unit time; (2) Or increasing the number of bytes that can be transferred per queue transfer time slice, and increasing the amount of data transferred per unit time slice. For simplicity of processing, the present invention suggests expanding bandwidth by increasing the number of bytes that can be transmitted per queue transmission time slice in way (2), i.e., increasing the dispatch queue length. To avoid frequent adjustments, the increase ratio is 50%.
Step S507: reducing the reserved total bandwidth. If all deterministic traffic can find idle positions in 3 queues within one cyclic scheduling period and the total bandwidth of all deterministic traffic is less than 50% of the reserved total bandwidth, the reserved total bandwidth of deterministic traffic can be reduced by 10% so as to improve the bandwidth utilization of the device.
In step S6, the deterministic traffic slot number is adjusted, and referring to fig. 7, a deterministic traffic slot number adjustment flowchart is shown, and the specific process flow is as follows:
step S601: and when the current transmission queue is not smaller than the transmission ending queue of the data packet with the current number, adjusting the number of the deterministic service time slice in the deterministic service forwarding table. And adding 1 to the deterministic service time slice number in the deterministic service forwarding table, wherein the current numbered transmission start queue is equal to the current numbered data packet transmission end queue added 1.
Step S602: and calculating the number of bytes of the cycle exception. The difference B (which may be positive or negative) of the number of bytes of the exceeding numbered packet minus the number of bytes of the falling numbered packet is calculated, and the ratio c of B to the number of bytes transmitted by the jittered time slice is calculated.
Step S603: and calculating the current transmission queue fine adjustment range. If c is not 0, inquiring a current number transmission starting queue n1 corresponding to the deterministic service time slice number in the deterministic service forwarding table, calculating a transmission latest queue n2, and calculating the value of the current number transmission starting queue which needs to be adjusted, wherein the specific calculation is as follows:
n=n1+c×(n2-n1)
And rounding the calculated n value to be used as a current numbered transmission start queue.
Step 604: and adjusting the current numbered transmission start queue to n and clearing the statistics. The number of exceeding numbered packet bytes and the number of falling numbered packet bytes are cleared by 0 for adjustment of the next cycle.
Through the adjustment of each period, the difference between actual scheduling periods caused by the fact that the deterministic service time slice numbers trigger the scheduling queues through the first packet is avoided, each network device counts the data packet distribution situation among the deterministic service time slices, and the corresponding relation between the deterministic service time slice numbers and the scheduling queues is adjusted according to the statistical information.
Further, the embodiment of the invention also provides a deterministic service transmission device based on jitter time delay, which comprises a control unit and a forwarding unit, wherein:
the control unit is used for completing the configuration of deterministic service, routing protocol and generating forwarding table items;
And the forwarding unit is used for calculating the queue mapped by the deterministic service and performing queue control calculation when the data packet is received, performing circular scheduling on the data packet according to a calculation result, performing queue management and scheduling on the data packet to an outbound interface according to a time slice, and sending the data packet to the outbound interface of the network equipment by the outbound queue to be sent out.
Further, the control unit includes a deterministic traffic configuration module, a routing protocol module, and a forwarding table entry generation module, wherein:
The deterministic service configuration module is used for configuring corresponding deterministic services in deterministic service access equipment, carrying out deterministic service identification on an IP message based on 5-tuple and an MPLS message based on S-Label; configuring information of maximum jitter requirement, minimum delay requirement and bandwidth requirement of deterministic service, wherein the minimum delay requirement is used for routing calculation to meet an end-to-end path, and the maximum jitter requirement is used for time slice size of deterministic service scheduling;
The routing protocol module is used for calculating a path meeting the minimum delay requirement of deterministic service according to the network topology condition, notifying all nodes in the path of deterministic service and jitter requirement, generating a deterministic service forwarding table after the routing protocol calculates or learns the forwarding path and service requirement of deterministic service from access equipment, and transmitting the deterministic service forwarding table to the forwarding unit;
The forwarding table item generating module is configured to set, according to a jitter requirement of a deterministic service, a deterministic service time slice size as a jitter transmission time slice of the service, for a deterministic service forwarding table item generated by a routing protocol, so that when a forwarding unit forwards a data packet, the data packets with the same message number are sent in the same time slice.
Further, the deterministic traffic forwarding table includes:
Service identification: for IP message, deterministic service identification is composed of five tuples, for MPLS message, deterministic service is identified by MPLS label;
deterministic traffic minimum bandwidth: representing the minimum bandwidth which needs to be reserved during deterministic service transmission;
current transmit queue: representing the number of a currently transmitted queue in the transmission of a deterministic service circular queue of equipment;
deterministic traffic time slice number: based on jitter number, the time slice number of deterministic service carries out hash calculation based on clock information and jitter requirement of the service in network equipment of access interface;
current numbered transmission start queue: a queue for starting transmission in the round robin transmission queue, which represents a current numbered data packet of a deterministic service;
Dithering time slices: representing a deterministic traffic jitter requirement value, the value of which determines the transmission end queue of the currently numbered data packet;
The jitter time slice transmits the number of bytes: representing the number of bytes transmitted by deterministic traffic in the jitter time slices;
Exceeding the number of bytes of the numbered packet: recording the byte number of the data packet of which the receiving deterministic service time slice number is larger than the current transmission deterministic service time slice number;
Number of bytes of the packet to be numbered later: and recording the byte number of the data packet with the receiving deterministic service time slice number smaller than the current transmission deterministic service time slice number.
Further, the forwarding unit includes a service queue mapping module, an enqueue module, a queue control module, a queue management and scheduling module, and a dequeue module, wherein:
The service queue mapping module is used for receiving the deterministic service forwarding table information issued by the control unit, perfecting the deterministic service forwarding table information according to the deterministic service first packet, and dynamically adjusting the deterministic service time slice number information when the round robin scheduling period is finished and the service time slice scheduling is finished;
The enqueuing module is used for inquiring a deterministic service forwarding table when the forwarding unit receives the deterministic service data packet, calculating the position range of the inserted circular scheduling queue through the deterministic service forwarding table, and meeting the jitter requirement of the service;
the queue control module is used for calculating the specific position of the inserted queue according to the service packet receiving condition and the whole packet receiving condition in the queue and a proportional feedback control mechanism, and dynamically adjusting the total reserved bandwidth of deterministic service according to the scheduling condition of the circular queue;
the queue management and scheduling module is used for circularly arranging all scheduling queues, each forwarding device adopts a plurality of queue round-robin scheduling mechanisms, and each queue scheduling time slice is set according to the processing capacity of the chip;
The dequeue module is configured to send the data packet to an egress interface, so that the device sends the data packet from the interface.
In summary, the embodiment of the invention uses the application layer window mechanism to realize the packet transmission according to time slices without order preservation for local parts, and does not need the clock synchronization of the whole network, thereby realizing the scheduling and order preservation based on time slices. The deterministic service time slices are numbered and transmitted according to jitter requirements, the number of the numbers is reduced, and the deterministic service time slices can be used for wide area network transmission; scheduling according to the time information and the deterministic service time slice number represented by the jitter requirement, and ensuring the end-to-end transmission jitter requirement; a proportional feedback scheduling mechanism dynamically reserves bandwidth adjustment to avoid packet loss and sequencing; compared with the existing deterministic network technology, the embodiment of the invention solves the complexity of sequential numbering and the clock synchronization requirement of strict time slot scheduling by carrying out deterministic service time slice numbering based on clock information and jitter requirement, and can realize wide area network end-to-end transmission; compared with the complex deterministic network scheduling technology, the embodiment of the invention realizes a proportional feedback scheduling mechanism by adding a plurality of registers and simple logic operation through programmable equipment, solves the problem of lack of a wide area network scheduling mechanism, avoids complex mechanisms such as frame preemption, bandwidth reservation by stream and the like, and can realize the jitter requirement and the time delay requirement of end-to-end transmission.
Example 3
Embodiment 3 is a simple example of the previous two embodiments.
Referring to fig. 8, which is a schematic diagram of deterministic traffic packet scheduling, a deterministic traffic flow F1 in the network topology is transmitted as an example, and a process of implementing deterministic jitter is described.
The minimum queue scheduling cycle time of the network device S1 is 1us, the jitter requirement of the deterministic service F1 is 20us, according to the foregoing, the deterministic service jitter transmission time slice is set to 10us, 10 queues are needed for each time slice, assuming that the total number of the circular queues is 100, the scheduling time of each queue is 1us, the total reserved bandwidth is 4000Mbps, and the queue length is: 4000mbps×100 us/8=50000 bytes, 500 bytes per queue length.
Other device information is the same as the method of calculating information by the network device S1, and for convenience of description, it is assumed here that all device scheduling periods and the number of queues are identical.
1. The service information is configured on an access router S1 (source node) of the deterministic service F1, including bandwidth (set to 1000 Mbps), destination node (assumed to be S9), source-to-terminal delay requirement (set to 50 ms), source-to-terminal jitter requirement (set to 20us, far exceeding the requirement of industrial control 2 ms), etc., S1 diffuses these information into the network transmission nodes S2, S3.
2. After each node in the network receives the information, judging the time delay requirement, calculating the transmission path of the service flow (the information of each node is the same, the algorithm is the same, and the calculated path is the same), and assuming that S1- > S3- > S7- > S8- > S9 is adopted, each node on the path transmits the deterministic service forwarding table of the deterministic service F1 to the control plane. The forwarding table entry only contains a service identifier F1, a deterministic minimum bandwidth (1000 Mbps), a jitter time slice (10 us), and a jitter time slice transmission byte number (50000 bytes), and assuming that the scheduling time of each queue is 1us, and 100 queues are total, each queue has a length of 500 bytes.
3. When the deterministic service F1 starts to transmit, when the access device S1 receives the service packet P1, in addition to the flow information, the time slice number is calculated according to the current time, and is assumed to be 15 (the jitter requirement is divided by 10us at the current time), if the interval time of the next packet P2 is relatively short, the time slice number is still 15, and the time slice numbers of P3-P5 are assumed to be 16, and the time slice numbers of P6-P10 are assumed to be 18.
4. When the access router S1 receives the data packet P1, the current transmission queue is Q1 (assumed to be 10), when the access router S1 receives P2, the time slice number is calculated to be 15, the queue to be placed is one of the queues 10 to 20, and when the access router S1 specifically calculates, the access router S1 is proportionally placed into the corresponding queue according to the length of the received data packet and the number of transmission bytes in each period, and when the access router S1 assumes that the P1 packet is 250 bytes, and each time slice transmits 1250 bytes, the queue placed by P2 is 10+10×250/1250=12. The packet numbers of P3-P5 are 16, which should be placed in queues 20-30, assuming that P3 is placed in queue 20, and P4 and P5 are similarly calculated as P2 to be placed in queues 22 and 28; P6-P10 are put into queues 40-50 and are inserted into corresponding queues according to linear proportion.
5. When the intermediate forwarding node S3 receives the P1, recording forwarding table response information, and placing the data packet with the first time slice number of 15 into the queue 15 according to the current transmission queue, and placing the data packet P2 into one of the queues 15-25, generally 17, according to the linear proportion principle like the S1 node; data packets P3-P5 are placed in queues 26-36 and data packets P6-P10 are placed in queues 46-56.
6. The intermediate nodes S7, S8 are handled in a similar way to the node S2. Each node circularly schedules the queues according to the sequence.
7. Finally, the node S9 calculates the insertion queue, and shifts by one cycle time slice to perform shaping. For example, when a P1 packet is received, it should be inserted into queue 50, and in practice, P3-P5 are inserted into queues 70, 72 and 78, P6-P10 are inserted into queues 80-90, due to the tail node, into queue 60, P2 into queue 62, and so on. I.e. a queue inserted by calculation in a linear proportional insertion like the previous node, but shifted by one cycle time slice as the tail node for shaping.
The nodes are in round robin scheduling according to the time slices, through the transmission, the data packets P1-P10 are transmitted at the same time interval as far as possible at the forwarding nodes, and the phenomenon that the jitter among the final data packets is large due to inconsistent packet receiving time of the forwarding nodes when the transmission distance is long or other intermediate nodes do not support deterministic transmission is avoided. Although the packets may be out of order in the same transmission time slice (with the same time slice number), the jitter caused is a maximum of one time slice length (this example is set to half the jitter requirement of 10 us), and in addition, since one time slice is limited in size, the terminal needs little buffering to reorder.
The above simple example illustrates only the transmission process of a single deterministic service, for which each node needs to handle the dynamic changes of queue fullness and guaranteed bandwidth in accordance with the present invention.
It will be readily appreciated by those skilled in the art that the foregoing description is merely a preferred embodiment of the invention and is not intended to limit the invention, but any modifications, equivalents, improvements or alternatives falling within the spirit and principles of the invention are intended to be included within the scope of the invention.
Claims (8)
1. A deterministic service transmission method based on jitter time delay is characterized by comprising the following steps:
The inlet device calculates a deterministic service path according to the demand parameters of the deterministic service, and sends related information to the subsequent forwarding device and the outlet device;
The forwarding equipment generates a service forwarding table according to the received information;
The entry device defines the time slice size according to the jitter requirement of the data flow, determines the time slice number of each data packet, and makes the data packet carry the time slice number information; wherein the calculating of the time slice number includes: time slice number= (time information (microseconds) expressed by integers)/jitter requirement (microseconds))%, packet record number maximum;
Each forwarding device determines a transmission queue according to the first packet of each time slice, performs load proportion control, and completes forwarding of the data packet based on a polling scheduling mechanism of a minimum scheduling period; wherein, the load proportion control specifically comprises: calculating a transmission start queue n1 and a transmission latest queue n2 corresponding to the time slice numbers; calculating the insertion queue position n3 of the corresponding service data packet; inserting the data packet into a scheduling queue;
and the exit equipment waits for a jitter demand time slice to be used as starting scheduling queue time on the basis of the first packet triggering, and completes shaping.
2. The deterministic traffic transmission method based on jitter delay as claimed in claim 1, wherein when calculating a transmission start queue n1 and a transmission latest queue n2 corresponding to the time slice numbers, the difference a is set as the received time slice number minus the time slice number in the deterministic traffic forwarding table, and if the difference a does not exceed a preset value, then:
A transmission start queue n1=a current numbered data packet transmission end queue=a current numbered transmission start queue+a×jitter time slices/per-queue transmission time slices corresponding to the time slice number;
The transmission latest queue n2=current numbered transmission start queue+ (a+1) ×jitter time slices/per-queue transmission time slices corresponding to the time slice number.
3. The deterministic traffic transmission method based on jitter time delay according to claim 1, wherein said calculating the corresponding traffic data packet insertion queue position n3 comprises:
n3 = n1 + q× (n 2-n 1), rounding n3, i.e. the number of queues in the cyclic scheduling period to be inserted, if n3 exceeds the total number of cyclic scheduling queues, subtracting the total number of cyclic scheduling queues from n3 to be the number of inserted queues, where q is the ratio of the number of bytes received by the corresponding service to the number of bytes transmitted by the jittered time slice.
4. The deterministic traffic transmission method according to claim 1, wherein when inserting the packet into the scheduling queue, if the n3 queue is not full, the forwarded packet is directly inserted, otherwise, all queues between n1 and n2 are traversed according to the order of n3-1, n3+1, n3-2, n3+2, and the forwarded packet is inserted after finding the free queue.
5. The deterministic traffic transmission method according to claim 1, wherein said polling scheduling mechanism based on minimum scheduling period comprises: the network equipment separates deterministic traffic from non-deterministic traffic scheduling queues, and for deterministic traffic, the network equipment sets the length of each scheduling queue in the round robin queues according to the reserved total bandwidth based on a round robin scheduling queue mechanism, and transmits data packets from queue to queue, wherein the transmission time of each queue is fixed, and when each queue is scheduled, the network equipment schedules according to a first-in first-out principle.
6. The deterministic traffic transmission method based on jitter delay according to claim 1, further comprising dynamic bandwidth adjustment of deterministic traffic, in particular: dynamically adjusting the reserved total bandwidth of the deterministic service, and when the residual deterministic service bandwidth is smaller than 90% of the total reserved bandwidth in the jitter demand range, improving the reserved total bandwidth so as to avoid deterministic service loss; when the occupation proportion of the deterministic service bandwidth in the whole round robin period is less than 50% of the reserved bandwidth and no aggregation exists, the reserved total bandwidth is reduced, and therefore the bandwidth utilization rate of the forwarding equipment is improved.
7. The deterministic traffic transmission method according to any one of claims 1-6, wherein said traffic forwarding table fields comprise one or more of traffic identification, deterministic traffic minimum bandwidth, current transmission queue, time slice number, current numbered transmission start queue, jitter time slice number of transmission bytes, over-numbered packet bytes, and after-numbered packet bytes.
8. A deterministic traffic transmission device based on jitter delay, applying a deterministic traffic transmission method based on jitter delay according to any one of claims 1-7, characterized by comprising a control unit and a forwarding unit, wherein:
the control unit is used for completing the configuration of deterministic service, routing protocol and generating forwarding table items;
And the forwarding unit is used for calculating the queue mapped by the deterministic service and performing queue control calculation when the data packet is received, performing circular scheduling on the data packet according to a calculation result, performing queue management and scheduling on the data packet to an outbound interface according to a time slice, and sending the data packet to the outbound interface of the network equipment by the outbound queue to be sent out.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211253268.7A CN115643220B (en) | 2022-10-13 | 2022-10-13 | Deterministic service transmission method and device based on jitter time delay |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211253268.7A CN115643220B (en) | 2022-10-13 | 2022-10-13 | Deterministic service transmission method and device based on jitter time delay |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115643220A CN115643220A (en) | 2023-01-24 |
CN115643220B true CN115643220B (en) | 2024-07-19 |
Family
ID=84943879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211253268.7A Active CN115643220B (en) | 2022-10-13 | 2022-10-13 | Deterministic service transmission method and device based on jitter time delay |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115643220B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118945124A (en) * | 2023-05-10 | 2024-11-12 | 中兴通讯股份有限公司 | Data transmission method, device and storage medium |
CN116366570B (en) * | 2023-05-30 | 2023-08-18 | 新华三技术有限公司 | Message forwarding method and device and programmable device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114286380A (en) * | 2021-09-30 | 2022-04-05 | 烽火通信科技股份有限公司 | Deterministic delay service transmission method and system for dynamically adjusting time slice |
CN114501544A (en) * | 2020-10-23 | 2022-05-13 | 中国移动通信有限公司研究院 | A data transmission method, device and storage medium |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111600754B (en) * | 2020-05-11 | 2022-02-25 | 重庆邮电大学 | Industrial heterogeneous network scheduling method for interconnection of TSN (transmission time network) and non-TSN (non-Transmission time network) |
CN115037399A (en) * | 2021-03-03 | 2022-09-09 | 中兴通讯股份有限公司 | Message forwarding method, electronic device and storage medium |
-
2022
- 2022-10-13 CN CN202211253268.7A patent/CN115643220B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114501544A (en) * | 2020-10-23 | 2022-05-13 | 中国移动通信有限公司研究院 | A data transmission method, device and storage medium |
CN114286380A (en) * | 2021-09-30 | 2022-04-05 | 烽火通信科技股份有限公司 | Deterministic delay service transmission method and system for dynamically adjusting time slice |
Also Published As
Publication number | Publication date |
---|---|
CN115643220A (en) | 2023-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111600754B (en) | Industrial heterogeneous network scheduling method for interconnection of TSN (transmission time network) and non-TSN (non-Transmission time network) | |
US20220200923A1 (en) | Dynamic buffer management in data-driven intelligent network | |
WO2023283902A1 (en) | Message transmission method and apparatus | |
US7835279B1 (en) | Method and apparatus for shared shaping | |
WO2019214561A1 (en) | Packet sending method, network node, and system | |
CN111431822A (en) | Deterministic time delay service intelligent scheduling and control implementation method | |
US7978609B2 (en) | Systems and methods for improving packet scheduling accuracy | |
CN110545241B (en) | A message processing method and device | |
WO2019157978A1 (en) | Method for scheduling packet, first network device, and computer readable storage medium | |
US20010033581A1 (en) | Packet switch, scheduling device, drop control circuit, multicast control circuit and QoS control device | |
CN115643220B (en) | Deterministic service transmission method and device based on jitter time delay | |
CN104836750B (en) | A kind of data center network stream scheduling method based on round-robin | |
JP2022518857A (en) | Packet scheduling method, scheduler, network device and network system | |
CN116711287A (en) | Circular Queue and Forwarding (CQF) segmentation | |
CN114615211A (en) | Method for managing and scheduling time-sensitive network queue in spacecraft with wired and wireless integration | |
CN102752192A (en) | Bandwidth allocation method of forwarding and control element separation (ForCES) transmission mapping layer based on stream control transmission protocol (SCTP) | |
CN101212417A (en) | A Time Granularity-Based Internet Service Quality Assurance Method | |
CN114501544A (en) | A data transmission method, device and storage medium | |
US9363186B2 (en) | Hierarchical shaping of network traffic | |
WO2023207628A1 (en) | Packet transmission method and packet forwarding device | |
CN115208837A (en) | Message scheduling method and system | |
CN119484418B (en) | Traffic shaping method and device based on synchronous and asynchronous fusion of time reference | |
US12231342B1 (en) | Queue pacing in a network device | |
US12192107B2 (en) | Converged avionics data network | |
CN119011502A (en) | Deterministic network dynamic bandwidth reservation method and device |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |