CN116208547A - Message transmission method and device - Google Patents

Message transmission method and device Download PDF

Info

Publication number
CN116208547A
CN116208547A CN202211705424.9A CN202211705424A CN116208547A CN 116208547 A CN116208547 A CN 116208547A CN 202211705424 A CN202211705424 A CN 202211705424A CN 116208547 A CN116208547 A CN 116208547A
Authority
CN
China
Prior art keywords
target
scheduling
local
queue
aggregate
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
CN202211705424.9A
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.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN202211705424.9A priority Critical patent/CN116208547A/en
Publication of CN116208547A publication Critical patent/CN116208547A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The embodiment of the application provides a message transmission method and device, and relates to the technical field of communication. Applied to a network device, the method comprises: receiving a message, wherein the message corresponds to a plurality of output ports; determining a target output port from the plurality of output ports, and determining a target aggregate dispatch queue from a plurality of aggregate dispatch queues; determining a target local scheduling queue corresponding to the target aggregate scheduling queue from a plurality of local scheduling queues corresponding to the target output port; caching the message to the target local scheduling queue; and when the scheduling period of the target local scheduling queue is reached, forwarding the cached message in the target local scheduling queue through the target output port. By applying the technical scheme provided by the embodiment of the application, the bandwidth of message transmission can be improved, and the efficiency and reliability of message transmission are improved.

Description

Message transmission method and device
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a method and an apparatus for transmitting a message.
Background
To ensure deterministic transmission of internet services, deterministic networks are built based on TSNs (Time Sensitive Network, time-sensitive networks) and CSQFs (Cyclic Specific Queuing and Forwarding, periodically-enforced queuing and forwarding). Currently, whether based on a TSN deterministic network or a CSQF deterministic network, a single link is commonly used for networking. In such deterministic networks, firstly, the bandwidth of a single link is limited, which makes the message transmission efficiency lower; secondly, once the link fails, the upper layer service is not enabled, and the reliability of message transmission is lower.
Disclosure of Invention
An object of the embodiments of the present application is to provide a method and an apparatus for transmitting a message, so as to improve a message transmission bandwidth, and improve a message transmission efficiency and reliability. The specific technical scheme is as follows:
in a first aspect of an embodiment of the present application, a method for transmitting a packet is provided, where the method is applied to a network device, where the network device includes a plurality of output ports, where the plurality of output ports corresponds to a plurality of aggregate scheduling queues, and each output port corresponds to a plurality of local scheduling queues; the method comprises the following steps:
receiving a message, wherein the message corresponds to the plurality of output ports;
determining a target output port from the plurality of output ports, and determining a target aggregate schedule queue from the plurality of aggregate schedule queues;
determining a target local scheduling queue corresponding to the target aggregate scheduling queue from a plurality of local scheduling queues corresponding to the target output port;
caching the message to the target local scheduling queue;
and when the scheduling period of the target local scheduling queue is reached, forwarding the cached message in the target local scheduling queue through the target output port.
In some embodiments, in the network device, the identification of the local scheduling queues with the same scheduling period is the same as the identification of the aggregate scheduling queue;
The step of determining the target local dispatching queue corresponding to the target aggregate dispatching queue from the plurality of local dispatching queues corresponding to the target output port comprises the following steps:
and determining the identified target local dispatching queue identified as the target aggregation dispatching queue from a plurality of local dispatching queues corresponding to the target outlet port.
In some embodiments, the network device further comprises a local clock source for each output port; the local clock source is aligned with a high precision time synchronization protocol clock source.
In some embodiments, a mapping relationship between the aggregate schedule queue and a local schedule queue corresponding to each output port is stored in the network device;
the step of determining the target local dispatching queue corresponding to the target aggregate dispatching queue from the plurality of local dispatching queues corresponding to the target output port comprises the following steps:
and determining a target local scheduling queue corresponding to the target aggregate scheduling queue from a plurality of local scheduling queues corresponding to the target output port according to the mapping relation between the aggregate scheduling queue and the local scheduling queue corresponding to the target output port.
In some embodiments, the mapping relationship is represented by an offset of an identifier of a local scheduling queue corresponding to an output port relative to an identifier of the aggregate scheduling queue;
The step of determining a target local scheduling queue corresponding to the target aggregate scheduling queue according to a mapping relationship between the aggregate scheduling queue and the local scheduling queue corresponding to the target output port from the plurality of local scheduling queues corresponding to the target output port includes:
increasing the identification of the target aggregate dispatch queue by the offset corresponding to the target output port to obtain the target identification of the target specimen dispatch queue;
and determining a target local scheduling queue corresponding to the target identifier from a plurality of local scheduling queues corresponding to the target output port.
In some embodiments, in the network device, the time width of the scheduling period corresponding to the aggregate scheduling queue and each local scheduling queue is the same.
In some embodiments, the method further comprises:
when the network equipment is started, one of the plurality of output ports is selected to be used as a reference output port;
taking a plurality of local scheduling queues corresponding to the reference output ports as an aggregate scheduling queue;
and determining the mapping relation between the aggregate dispatching queues and the local dispatching queues corresponding to each outlet port according to the mapping relation between the local dispatching queues corresponding to each outlet port and the dispatching period.
In some embodiments, the method further comprises:
when a new output port is started in the network equipment, determining the mapping relation between the aggregation scheduling queues and the local scheduling queues corresponding to the new output port according to the mapping relation between the local scheduling queues corresponding to the new output port and the scheduling period and the mapping relation between the aggregation scheduling queues and the scheduling period.
In some embodiments, the scheduling period difference of the aggregate scheduling queue corresponding to the same deterministic flow in the network device and the upstream device is: and the sum of the number of scheduling periods corresponding to the time delay between the network equipment and the upstream equipment and the preset number of scheduling periods.
In a second aspect of the embodiments of the present application, a packet transmission device is provided, where the packet transmission device is applied to a network device, where the network device includes a plurality of output ports, where the plurality of output ports corresponds to a plurality of aggregate scheduling queues, and each output port corresponds to a plurality of local scheduling queues; the device comprises:
the receiving module is used for receiving messages, and the messages correspond to the plurality of output ports;
the first determining module is used for determining a target outlet port from the plurality of outlet ports and determining a target aggregate scheduling queue from the plurality of aggregate scheduling queues;
The second determining module is used for determining a target local scheduling queue corresponding to the target aggregate scheduling queue from a plurality of local scheduling queues corresponding to the target output port;
the buffer module is used for buffering the message to the target local scheduling queue;
and the forwarding module is used for forwarding the message cached in the target local scheduling queue through the target output port when the scheduling period of the target local scheduling queue is reached.
In some embodiments, in the network device, the identification of the local scheduling queues with the same scheduling period is the same as the identification of the aggregate scheduling queue;
the second determining module is specifically configured to determine, from a plurality of local scheduling queues corresponding to the target output ports, a target local scheduling queue identified as an identifier of the target aggregate scheduling queue.
In some embodiments, the network device further comprises a local clock source for each output port; the local clock source is aligned with a high precision time synchronization protocol clock source.
In some embodiments, a mapping relationship between the aggregate schedule queue and a local schedule queue corresponding to each output port is stored in the network device;
The second determining module is specifically configured to determine, from a plurality of local scheduling queues corresponding to the target output port, a target local scheduling queue corresponding to the target aggregate scheduling queue according to a mapping relationship between the aggregate scheduling queue and the local scheduling queue corresponding to the target output port.
In some embodiments, the mapping relationship is represented by an offset of an identifier of a local scheduling queue corresponding to an output port relative to an identifier of the aggregate scheduling queue;
the second determining module is specifically configured to increase the identifier of the target aggregate dispatch queue by an offset corresponding to the target output port, so as to obtain a target identifier of a target local dispatch queue; and determining a target local scheduling queue corresponding to the target identifier from a plurality of local scheduling queues corresponding to the target output port.
In some embodiments, in the network device, the time width of the scheduling period corresponding to the aggregate scheduling queue and each local scheduling queue is the same.
In some embodiments, the apparatus further comprises:
the selecting module is used for selecting one of the plurality of output ports as a reference output port after the network equipment is started; taking a plurality of local scheduling queues corresponding to the reference output ports as an aggregate scheduling queue;
And the third determining module is used for determining the mapping relation between the aggregation scheduling queue and the local scheduling queue corresponding to each output port according to the mapping relation between the local scheduling queues corresponding to each output port and the scheduling period.
In some embodiments, the third determination module is further to:
and after a new output port is started in the network equipment, determining the mapping relation between the aggregation scheduling queues and the local scheduling queues corresponding to the new output port according to the mapping relation between the local scheduling queues corresponding to the new output port and the scheduling period and the mapping relation between the aggregation scheduling queues and the scheduling period.
In some embodiments, the scheduling period difference of the aggregate scheduling queue corresponding to the same deterministic flow in the network device and the upstream device is: and the sum of the number of scheduling periods corresponding to the time delay between the network equipment and the upstream equipment and the preset number of scheduling periods.
In a third aspect of embodiments of the present application, there is provided a network device comprising a processor and a memory; the memory is used for storing a computer program; the processor is configured to implement the method steps described in the first aspect when executing the program stored in the memory.
In a fourth aspect of embodiments of the present application, a computer readable storage medium is provided, in which a computer program is stored, which computer program, when being executed by a processor, implements the method steps of the first aspect described above.
The beneficial effects of the embodiment of the application are that:
in the technical scheme provided by the embodiment of the application, the network equipment aggregates the plurality of output ports together and corresponds to the unified plurality of aggregate scheduling queues, and for a deterministic stream, any one of the plurality of output ports can be sent out, and the output ports are identical in time dimension, namely, the time of the aggregate scheduling queues, so that the deterministic transmission of the message is realized. Compared with the message forwarding through a single output port, in the embodiment of the application, the message is forwarded through a plurality of output ports which are aggregated together, so that the message transmission bandwidth is increased, and the message transmission efficiency is improved; and moreover, a plurality of output ports which are aggregated together can be mutually and dynamically backed up, and even if one of the output ports fails, the output ports can be switched to other output ports for forwarding messages, so that the reliability of message transmission is improved, the interoperability among nodes is ensured, and the continuity of upper-layer services is ensured.
Of course, not all of the above-described advantages need be achieved simultaneously in practicing any one of the products or methods of the present application.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following description will briefly introduce the drawings that are required to be used in the embodiments or the description of the prior art, and it is obvious that the drawings in the following description are only some embodiments of the present application, and other embodiments may also be obtained according to these drawings to those skilled in the art.
Fig. 1 is a schematic diagram of periodic forwarding of deterministic flows within forwarding nodes according to an embodiment of the present application;
fig. 2 is a first flowchart of a message transmission method according to an embodiment of the present application;
fig. 3 is a first schematic diagram of a network structure according to an embodiment of the present application;
fig. 4 is a second schematic diagram of a network structure according to an embodiment of the present application;
fig. 5 is a first schematic diagram of a local scheduling queue of each egress port in a network device according to an embodiment of the present application;
fig. 6 is a second flowchart of a message transmission method according to an embodiment of the present application;
fig. 7 is a third flow chart of a message transmission method according to an embodiment of the present application;
Fig. 8 is a second schematic diagram of a local scheduling queue of each egress port in a network device according to an embodiment of the present application;
FIG. 9 is a schematic diagram of a mapping relationship between a local scheduling queue and a scheduling period according to an embodiment of the present disclosure;
fig. 10 is a third schematic diagram of a network architecture according to an embodiment of the present application;
fig. 11 is a schematic structural diagram of a message transmission device according to an embodiment of the present application;
fig. 12 is a schematic structural diagram of a network device according to an embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are only some, but not all, of the embodiments of the present application. Based on the embodiments herein, a person of ordinary skill in the art would be able to obtain all other embodiments based on the disclosure herein, which are within the scope of the disclosure herein.
The words appearing in the embodiments of the present application are explained below.
TSN: the system is a group of Ethernet standard, realizes time-synchronized low-delay streaming service through core technologies such as accurate time synchronization, timing scheduling and the like, and provides low-delay isochronous standard data for all devices in the system, thereby providing a basis for fusion of control, measurement, configuration, UI (User Interface) and file exchange infrastructure and the like.
Time slots: time is divided into time slots in an equal division manner, and is the minimum scheduling unit in the TSN.
CSQF: is a periodical queuing forwarding mechanism based on segment routing.
Polymerization: the purpose of increasing the bandwidth of the link is realized by binding a plurality of physical links together to form a logic link, and meanwhile, the links bound together can effectively improve the reliability of the link through mutual dynamic backup.
Through decades of vigorous development, the Internet (Internet) realizes seamless connection among people, objects and the like, and has great influence on life and work of people. However, deterministic transmission is required in the scenarios of "smart grid", "telemedicine", "video entertainment", and "industrial remote control", that is, a sufficiently low latency, and a sufficiently small jitter are required to ensure the reliability of data connection. End-to-end deterministic transmission is also required in complex scenarios such as multi-service, large traffic and wide area.
The deterministic network is a network capable of guaranteeing deterministic bandwidth, time delay, jitter and packet loss rate indexes of the service; the deterministic network technology is a novel QoS (Quality of Service ) guarantee technology and can be used in emerging scenes with high real-time performance such as automatic driving, teleoperation, holographic communication and the like.
There are two existing deterministic network implementations, namely deterministic networks built based on TSN and CSQF, respectively.
The two modes are based on clock synchronization for networking. The clocks are synchronous, namely the clocks of the whole network are synchronous, the clocks of the terminal equipment and the network equipment are the same, and the network card marks a hard time stamp on the transmitted message. Currently, there are two main ways of clock synchronization. One is a master-slave mode, i.e., one of the most accurate clocks is selected as the master clock, the other clocks are selected as the slave clocks, and the time of the slave clocks is adjusted based on the time of the master clock. One is a voting mode, for example, 9 devices are in a network domain, 5 devices are 1:00 in time, 4 devices are 1:01 in time, and all devices are adjusted to 1:00 according to the result of voting, minority compliance and majority compliance.
The deterministic network built based on TSN is suitable for deterministic transmission in a small range. This deterministic transmission is achieved by slot planning. A slot generally refers to a transmission resource of the time dimension of the network device outlet port. For example, the output port bandwidth is 1Gbps, that is, 1s can transmit 1G bits, and it is assumed that a packet has 1500 bytes, that is 12000 bits, and its transmission occupies a time slot resource of 12000/1 g=12 μs of the output port. Which segment is occupied is determined by its transmission start time. Since most of industrial traffic is a message which is periodically transmitted and smaller than MTU (Maximum Transmission Unit ), the starting time of the message of the terminal can be controlled, and each message is only triggered to be transmitted at a time calculated in advance through global time slot planning (time division multiplexing), so that the time slots occupied by the messages when the messages are transmitted at the output ports of each hop of network equipment are not in conflict, thereby avoiding the occurrence of multicast and burst, and realizing the accurate and timely transmission.
The deterministic network built based on CSQF is suitable for deterministic transmission over a wide range. This deterministic transfer is achieved by CSQF. The CSQF introduces a periodical forwarding idea based on a traditional IP (Internet Protocol, network protocol) network, and is divided into a plurality of time slices T in a time division mode on a forwarding node, and messages of a certain deterministic flow can only be sent in the time slices designated for the CSQF, so that the sending delay jitter in the forwarding node is limited to be within 1 time slice. As shown in fig. 1, the deterministic flow is periodically forwarded in the forwarding node, and in fig. 1, the deterministic flow packet is sent in a set T2 time slice. The earliest time of sending each message in the deterministic stream packet is T2, and the latest time is T2, so the delay jitter in the forwarding node is one time slice width at maximum. The CSQF technique can theoretically guarantee a maximum of two time slice widths for the end-to-end delay jitter. In fig. 1, only 4 forwarding nodes 1-4 are included between the transmitting end and the receiving end, which is taken as an example and not limiting. The sender, the receiver, and the forwarding nodes 1-4 are scheduled by the controller, based on the acquisition request of the sender, the SID (Segment Identifiers, segment identifier) of each forwarding node 1-4 is calculated, such as 1011, 2032, 3054, 4076 in fig. 1, and the calculated SID of the forwarding node 1-4 is assigned to the forwarding node 1-4; the forwarding nodes 1-4 analyze SIDs at the stack top in the message to obtain an output port for forwarding the message of the current forwarding node and a specific forwarding time period, namely a scheduling period, so that deterministic transmission is realized.
Currently, whether based on a TSN deterministic network or a CSQF deterministic network, a single link is commonly used for networking. In such deterministic networks, firstly, the bandwidth of a single link is limited, which makes the message transmission efficiency lower; secondly, once the link fails, the upper layer service is not enabled, and the reliability of message transmission is lower.
In order to improve the packet transmission bandwidth and improve the packet transmission efficiency and reliability, the embodiment of the application provides a packet transmission method, which is applied to any network device in a deterministic network, wherein the network device can be a router, a switch and the like. In the method, the network equipment aggregates a plurality of output ports together, corresponds to a plurality of uniform aggregate scheduling queues, can send out any one of the plurality of output ports for a deterministic stream, and is the same in the dimension of time, namely the time of the aggregate scheduling queues, so that the deterministic transmission of the message is realized. Compared with the message forwarding through a single output port, in the embodiment of the application, the message is forwarded through a plurality of output ports which are aggregated together, so that the message transmission bandwidth is increased, and the message transmission efficiency is improved; and moreover, a plurality of output ports which are aggregated together can be mutually and dynamically backed up, and even if one of the output ports fails, the output ports can be switched to other output ports for forwarding messages, so that the reliability of message transmission is improved, the interoperability among nodes is ensured, and the continuity of upper-layer services is ensured.
The following describes the message transmission method provided in the embodiment of the present application in detail through a specific embodiment.
As shown in fig. 2, an embodiment of the present application provides a packet transmission method, which is applied to a network device, where the network device includes a plurality of output ports, the plurality of output ports corresponds to a plurality of aggregate dispatch queues, and each output port corresponds to a plurality of local dispatch queues. As shown in the network structure of FIG. 3, the network device RA comprises a plurality of output ports, namely GE1/0/1, GE1/0/2 and GE1/0/3, and 3 links connected between RA and RB through GE1/0/1, GE1/0/2 and GE1/0/3 are combined into one path. At this time, GE1/0/1, GE1/0/2, GE1/0/3 correspond to the same plurality of aggregate schedule queues, GE1/0/1 corresponds to the plurality of local schedule queues, GE1/0/2 corresponds to the plurality of local schedule queues, GE1/0/3 corresponds to the plurality of local schedule queues.
In this embodiment of the present application, the method for transmitting a packet includes the following steps:
step S21, receiving a message, wherein the message corresponds to a plurality of output ports.
In the embodiment of the present application, the message received by the network device is any message in the deterministic flow. The network device receives the deterministic flow message, that is, the message corresponds to the plurality of output ports. The plurality of output ports are aggregation ports. As shown in FIG. 3, the network device RA receives messages of deterministic flows with GE1/0/1, GE1/0/2, GE1/0/3 egress ports.
Step S22, determining a target outlet port from a plurality of outlet ports and determining a target aggregate dispatch queue from a plurality of aggregate dispatch queues.
In the embodiment of the present application, the network device may determine, according to a specified rule, a target egress port from a plurality of egress ports. The specified rule can be set according to actual requirements. For example, the specified rule may be: and carrying out Hash (Hash) calculation on the five-tuple of the message, and obtaining an output port corresponding to the Hash value obtained by calculation as a target output port. For another example, the specified rule may be: one output port is randomly selected from a plurality of output ports and is used as a target output port. The network device may determine a target aggregate dispatch queue from a plurality of aggregate dispatch queues based on the five-tuple or destination SID of the message. For example, the correspondence between the SID and the aggregate dispatch queue is pre-stored in the network device, and the network device obtains the aggregate dispatch queue corresponding to the destination SID of the message as the target aggregate dispatch queue according to the pre-stored correspondence between the SID and the aggregate dispatch queue.
Here, one output port is determined from the aggregated multiple output ports as a target output port, so that aggregated load sharing is realized. In addition, for a deterministic flow, the control plane cannot confirm its actual forwarding output port in advance, but the determined target aggregate scheduling queues are the same no matter from which physical output port is forwarded, and the scheduling period (i.e., the forwarding time slot) of each scheduling queue is fixed, so, from the dimension of time, the forwarding time slot is the same when a message is forwarded through any output port of the aggregated multiple output ports. The network structure shown in fig. 4 includes network devices RA, RB, RD and RF, where a connection line between two adjacent devices RA, RB, RD and RF represents a link, corresponding to an output port, and a circled link represents an aggregate link, corresponding to multiple aggregated output ports. As can be seen from FIG. 4, for a deterministic flow, the target aggregate schedule queues determined by RA are LagcycleA, the target aggregate schedule queues determined by RB are LagcycleB, the target aggregate schedule queues determined by RD are LagcycleC, and the target aggregate schedule queues determined by RF are LagcycleD. This may ensure deterministic transmission of deterministic flows.
Step S23, determining a target local dispatching queue corresponding to the target aggregation dispatching queue from a plurality of local dispatching queues corresponding to the target output port.
In this embodiment of the present application, one output port is located on one board, and a plurality of scheduling queues are set on one board, that is, a plurality of local scheduling queues corresponding to the output port on the board. The network equipment presets the corresponding relation between the aggregation scheduling queue and the local scheduling queue. After determining the target aggregate dispatch queue, the network device determines the local dispatch queue corresponding to the target aggregate dispatch queue from a plurality of local dispatch queues corresponding to the target output port according to the preset corresponding relation between the aggregate dispatch queue and the local dispatch queue, and uses the local dispatch queue corresponding to the target aggregate dispatch queue as the target local dispatch queue.
Step S24, the message is cached to a target specimen dispatching queue.
And after determining the target specimen dispatching queue, the network equipment caches the message to the target specimen dispatching queue.
And S25, when the scheduling period of the target specimen scheduling queue is reached, forwarding the cached message in the target specimen scheduling queue through the target output port.
Each scheduling queue has its own scheduling period, i.e. the forwarding time slot. The network device can detect the forwarding time slot in real time, and when detecting the scheduling period reaching the target specimen scheduling queue, forwards all the messages cached in the target specimen scheduling queue through the target output port.
In some embodiments, the scheduling period difference of the aggregate scheduling queue corresponding to the same deterministic flow in the network device and the upstream device is: the sum of the number of scheduling periods corresponding to the time delay between the network device and the upstream device and the preset number of scheduling periods. In the embodiment of the application, the network equipment can absorb the network jitter among the equipment by setting the redundancy period, namely the preset number of scheduling periods, and eliminate the network jitter introduced by the scheduling period deviation of the scheduling queue.
In the technical scheme provided by the embodiment of the application, the network equipment aggregates the plurality of output ports together and corresponds to the unified plurality of aggregate scheduling queues, and for a deterministic stream, any one of the plurality of output ports can be sent out, and the output ports are identical in time dimension, namely, the time of the aggregate scheduling queues, so that the deterministic transmission of the message is realized. Compared with the message forwarding through a single output port, in the embodiment of the application, the message is forwarded through a plurality of output ports which are aggregated together, so that the message transmission bandwidth is increased, and the message transmission efficiency is improved; and moreover, a plurality of output ports which are aggregated together can be mutually and dynamically backed up, and even if one of the output ports fails, the output ports can be switched to other output ports for forwarding messages, so that the reliability of message transmission is improved, the interoperability among nodes is ensured, and the continuity of upper-layer services is ensured.
In addition, in the technical scheme provided by the embodiment of the application, each network device adopts the unified aggregate scheduling queue, so that the mapping of the scheduling queues between the upstream device and the downstream device is facilitated, the scheduling queues originally related to the link and the interface are converted into the scheduling queues only related to the network device, and the mapping relation of the scheduling queues is simplified.
In some embodiments, in the network device, the identification of the local scheduling queue and the identification of the aggregate scheduling queue with the same scheduling period are the same. For example, the scheduling period of the local scheduling queue a is T1, the scheduling period of the aggregate scheduling queue b is T1, and the scheduling periods of the local scheduling queue a and the aggregate scheduling queue b are the same, so that the identification of the local scheduling queue a and the identification of the aggregate scheduling queue b are the same. Based on this, the identities (cycle ids) of the local scheduling queues of all the egress ports at the same time are completely identical. As shown in a local scheduling queue schematic diagram of each output Port in the network device shown in fig. 5, the network device shown in fig. 5 includes 4 single boards, where the output ports Port1-Port4 are located, 4 local scheduling queues cycle1-cycle4 are set on each single board, the aggregation scheduling queues are langcycle 1-langcycle 4, the aggregation scheduling queues langcycle 1-langcycle 4 are sequentially arranged from left to right, the scheduling period is sequentially increased, the local scheduling queues cycle1-cycle4 on each single board are sequentially arranged from left to right, and the scheduling period is sequentially increased. As can be seen from fig. 5, the identities of the local scheduling queues with the same scheduling period are the same as the identities of the aggregate scheduling queues, and the identities of the local scheduling queues of all the outgoing ports at the same moment are completely consistent. In fig. 5, the numerical values in the aggregate schedule queue and the local schedule queue are identifiers.
In order to ensure that the identifiers of the local scheduling queues of all the output ports at the same moment are completely consistent, in the network equipment, the high-precision synchronization of the time among the single boards can be ensured through a PTP (Precision Time Protocol, high-precision time synchronization protocol) protocol, namely, the cycle ids of all the output ports are directly calculated based on the PTP time. For example, the PTP time takes 10 μs as a unit, and takes the remainder of the deterministic number of scheduling periods N, and adds 1 to obtain cycle id, and taking the deterministic number of scheduling periods N as 15 as an example, the cycle id range obtained by PTP protocol calculation is 1-15.
The method of ensuring high-precision synchronization of time among single boards through the PTP protocol can relatively simply realize that the identification of the local scheduling queue with the same scheduling period is the same as the identification of the aggregation scheduling queue, and the single boards are restarted without special response processing. However, the PTP clock source must be kept stable, no jump can occur, otherwise, the mapping relation of the scheduling queue changes. In some embodiments, in order to avoid the change of the mapping relationship of the scheduling queue caused by the jump of the PTP clock source, a local clock source auxiliary mode of the board may be adopted, that is, the network device further includes a local clock source corresponding to each output port; the local clock source is aligned with the high precision time synchronization protocol clock source.
In the embodiment of the application, a local clock source is reserved on hardware, and when the system is started, the local clock source and the PTP clock source are aligned. And then, the local clock source can not be synchronized with the PTP clock source any more, and the cycle id calculation can be ensured not to generate deviation only by keeping the frequency synchronization. At this time, the cycle id calculation is performed according to the local clock source.
The embodiment of the present application further provides a method for transmitting a message, which may include the following steps:
step S61, receiving a message, wherein the message corresponds to a plurality of output ports. The same as in step S21 described above.
Step S62, determining a target output port from a plurality of output ports and determining a target aggregate dispatch queue from a plurality of aggregate dispatch queues. The same as in step S22 described above.
Step S63, determining an identified target local dispatching queue identified as the target aggregation dispatching queue from a plurality of local dispatching queues corresponding to the target output ports.
After determining the target aggregate dispatch queue, the network device obtains the identification of the target aggregate dispatch queue, and further determines the local dispatch queue identified as the identification of the target aggregate dispatch queue from a plurality of local dispatch queues corresponding to the target output port as a target local dispatch queue.
For example, as shown in fig. 5, if the network device determines that the target aggregate scheduling queue is Lagcycle1, that is, the identifier of the target aggregate scheduling queue is 1, and the target output Port is Port1, the network device obtains the local scheduling queue with the identifier of 1 from the cycles 1-4 on the board where Port1 is located, that is, the target local scheduling queue cycle1.
Step S64, the message is cached to a target local dispatching queue. The same as in step S24 described above.
Step S65, when the dispatching period of the target specimen dispatching queue is reached, forwarding the cached message in the target specimen dispatching queue through the target outlet port. The same as in step S25 described above.
In the embodiment of the present application, the PTP time between the boards has an error, and the calculated cycle id may have a deviation of 1 scheduling period. In the embodiment of the application, by setting the redundancy period, network jitter caused by PTP error can be eliminated.
In addition, in the embodiment of the present application, since the identifier of the local scheduling queue with the same scheduling period is the same as the identifier of the aggregate scheduling queue, the aggregate scheduling queue may be omitted.
In the technical scheme provided by the embodiment of the application, the identifiers of the local scheduling queues corresponding to all the output ports in the network equipment are consistent, so that the local scheduling queues of the target specimen can be rapidly determined, and the deterministic transmission efficiency is improved.
In some embodiments, a mapping relationship between the aggregate schedule queue and the local schedule queue corresponding to each egress port is stored in the network device. In some embodiments, to guarantee deterministic transmission, the aggregate schedule queue and each local schedule queue correspond to the same time width of the schedule period. Here, time synchronization of each board is not required, phase synchronization is not required, and frequency synchronization is only required.
Based on the mapping relationship between the aggregate scheduling queue and the local scheduling queue corresponding to each output port stored in the network device, as shown in fig. 7, the embodiment of the application further provides a message transmission method, which may include the following steps:
step S71, receiving a message, wherein the message corresponds to a plurality of output ports. The same as in step S21 described above.
Step S72, a target output port is determined from the plurality of output ports, and a target aggregate schedule queue is determined from the plurality of aggregate schedule queues. The same as in step S22 described above.
Step S73, determining a target local scheduling queue corresponding to the target aggregate scheduling queue according to the mapping relation between the aggregate scheduling queue and the local scheduling queue corresponding to the target output port from a plurality of local scheduling queues corresponding to the target output port.
After determining the target aggregate dispatch queue, the network device searches the mapping relation comprising the target aggregate dispatch queue according to the mapping relation between the aggregate dispatch queue and the local dispatch queue corresponding to the target output port, and the local dispatch queue in the searched mapping relation is the target specimen local dispatch queue.
In some embodiments, the mapping relationship is represented by an offset of an identification of the local scheduling queue to which the egress port corresponds relative to an identification of the aggregate scheduling queue. As shown in a local scheduling queue schematic diagram of each output Port in the network device shown in fig. 8, the network device shown in fig. 8 includes 4 boards, which are boards where the output ports Port1-Port4 are located, 4 local scheduling queues cycle1-cycle4 are set on each board, the aggregation scheduling queues are langcycle 1-langcycle 4, the aggregation scheduling queues langcycle 1-langcycle 4 are sequentially arranged from left to right, the scheduling period is sequentially increased, the local scheduling queues cycle1-cycle4 on each board are sequentially arranged from left to right, and the scheduling period is sequentially increased. For Port1, the offset of the identification of the local scheduling queue relative to the identification of the aggregate scheduling queue is 1; for Port2, the offset of the identification of the local scheduling queue relative to the identification of the aggregate scheduling queue is 3; for Port3, the offset of the identification of the local scheduling queue relative to the identification of the aggregate scheduling queue is 0; for Port4, the offset of the identification of the local dispatch queue relative to the identification of the aggregate dispatch queue is 2.
Based on the offset, step S73 may be: adding the corresponding offset of the target output port to the identification of the target aggregate dispatch queue to obtain the target identification of the target local dispatch queue; and determining a target local scheduling queue corresponding to the target identifier from a plurality of local scheduling queues corresponding to the target output port.
For example, as shown in fig. 8, if the network device determines that the target aggregate scheduling queue is Lagcycle1, that is, the identifier of the target aggregate scheduling queue is 1, and the target output Port is Port2, and for Port2, the offset of the identifier of the local scheduling queue relative to the identifier of the aggregate scheduling queue is 3, the network device determines that the target identifier is 1+3=4, and obtains the local scheduling queue with the identifier of 4 from cycle1-cycle4 on the board where Port2 is located, that is, the target local scheduling queue cycle4.
Step S74, the message is cached to a target local dispatching queue. The same as in step S24 described above.
And step S75, when the scheduling period of the target specimen scheduling queue is reached, forwarding the cached message in the target specimen scheduling queue through the target output port. The same as in step S25 described above.
In this embodiment of the present application, starting times of scheduling periods may be different among the veneers, and the calculated cycle id may have a deviation of 1 scheduling period. In the embodiment of the present application, by setting the above-mentioned redundancy period, network jitter introduced by an error of a start time may be eliminated.
According to the technical scheme provided by the embodiment of the application, each single board in the network equipment can reserve the local scheduling queue of the single board, the local scheduling queues on a plurality of single boards are uniformly scheduled based on the aggregate scheduling queue, deterministic transmission is realized, the local scheduling queues on each single board do not need to be adjusted in a targeted manner, and the complexity of deterministic transmission is simplified.
In some embodiments, the network device may determine a mapping relationship between the aggregate schedule queue and the local schedule queue by: when the network equipment is started, one of a plurality of output ports is selected as a reference output port; taking a plurality of local scheduling queues corresponding to the reference output ports as an aggregate scheduling queue; and determining the mapping relation between the aggregate dispatching queues and the local dispatching queues corresponding to each outlet port according to the mapping relation between the local dispatching queues corresponding to each outlet port and the dispatching period.
For example, as shown in fig. 8, the network device selects Port3 as the reference output Port, that is, the cycle1-cycle4 corresponding to Port3 is used as the aggregation scheduling queue Lagcycle1-Lagcycle4, and at this time, for Port3, the offset of the identifier of the local scheduling queue relative to the identifier of the aggregation scheduling queue is 0. In addition, the mapping relation between the aggregate dispatch queue and the local dispatch queue corresponding to each output port is determined by combining the mapping relation between the local dispatch queues corresponding to other output ports and the dispatch period, and as described above, the offset of the identifier of the local dispatch queue corresponding to other output ports relative to the identifier of the aggregate dispatch queue is determined.
In the embodiment of the present application, after the mapping relationship is determined, the aggregate scheduling queue may not be switched any more, and even if the board where the originally selected output port is located is restarted, it may not be necessary to reselect another output port as the reference output port, and still use the previously determined mapping relationship.
When a new output port is started in the network equipment, the mapping relation between the aggregation scheduling queues and the local scheduling queues corresponding to the new output port can be determined according to the mapping relation between the local scheduling queues corresponding to the new output port and the scheduling period and the mapping relation between the aggregation scheduling queues and the scheduling period.
In this embodiment of the present application, the new output port may be started for a newly inserted board in the network device, or may be restarted after the original board is down. The mapping relation between a plurality of local scheduling queues corresponding to the new output ports and the scheduling period is calculated in advance. After the new single board is started, i.e. after the new output port is started, according to the calculated mapping relationship between the local scheduling queue and the scheduling period, the mapping relationship between the aggregate scheduling queue and the local scheduling queue corresponding to the new output port, for example, the mapping relationship between the new aggregate scheduling queue and the local scheduling queue corresponding to the new output port, can be determined.
Because the local dispatching queues of the corresponding ports of the output ends are not uniform, the mapping relation between the local dispatching queues and the dispatching period needs to be measured. The network device can ensure high-precision synchronization of time among the single boards through the PTP protocol, so that the corresponding relation between the local scheduling queues of the corresponding ports of the output ports and the PTP time can be obtained, the local scheduling queues of the corresponding ports of the output ports can be calculated at the same moment, and the cycle mapping of the local scheduling queues of the corresponding ports of the output ports is obtained.
For example, the mapping relationship between the local scheduling queue and the scheduling period is as shown in fig. 9. The forwarding node A comprises a main control board, a single board 1 and a single board 2, wherein the single board 1 and the single board 2 are controlled by a CPU of the main control board, and each single board comprises elements such as the CPU, NP (Network Processor ), FPGA (Field-Programmable Gate Array, field programmable gate array) and the like. Wherein, the single board 1 and the single board 2 receive a message at the same time, the single board 1 reads the time slot scheduling queue cycle_i corresponding to the FPGA time stamp ts_i, and the single board 2 reads the scheduling queue cycle_e corresponding to the FPGA time stamp ts_e; the board 2 converts ts_e into a time stamp ts_i, where the time stamp ts_i corresponds to the scheduling queue cycle_e'. Considering network jitter introduced by PTP error, cycle_E' is cycle_E-1, cycle_E, or cycle_E+1.
The following describes the message transmission method provided in the embodiment of the present application in detail with reference to the network architecture shown in fig. 10.
The network architecture shown in fig. 10 includes network devices RA, RB, RC, RD, RE and RF, where one connection between two adjacent devices in RA, RB, RD and RF represents one link, corresponding to one egress port, and the circled link represents an aggregate link, corresponding to multiple egress ports of the aggregate. There is an equivalent path between RA and RF, namely path 1 and path 2.
When the RA sends a message (such as a message 1) of a deterministic stream to the RF, the RA copies a part of the message 1 on a path 1 and a path 2 respectively, and then transmits the message 1 to the RF through the path 1 and the path 2 respectively, so that the reliability of the message transmission is improved. The message transmission modes between two adjacent network devices on the path 1 and the path 2 are the same, and the message transmission between the RA and the RB on the path 1 is taken as an example and is not limited.
RA may select one or more output ports from output port 1 and output port 2 in a Hash manner, for example, select output port 1; determining an aggregate dispatching queue 1 corresponding to the message 1, and further determining a local dispatching queue 1 corresponding to the aggregate dispatching queue 1 from a plurality of local dispatching queues corresponding to the output port 1; caching the message 1 to a local scheduling queue 1 corresponding to the output port 1; when the scheduling period of the local scheduling queue 1 is reached, the message cached in the local scheduling queue 1 is forwarded through the output port 1.
In the embodiment of the application, if the RA selects a plurality of output ports from the output port 1 and the output port 2, the RA can transmit the message through the plurality of output ports at the same time, so as to realize dynamic backup of the aggregation link, and further improve the reliability of message transmission. In addition, if the RA selects one output port from the output ports 1 and 2, load sharing among a plurality of output ports, namely load sharing of an aggregation link, can be realized, so that reliability of deterministic transmission can be ensured, and effective transmission bandwidth can be improved.
Corresponding to the above message transmission method, the embodiment of the present application also provides a message transmission device, as shown in fig. 11, applied to a network device, where the network device includes a plurality of output ports, the plurality of output ports correspond to a plurality of aggregate dispatch queues, and each output port corresponds to a plurality of local dispatch queues; the device comprises:
a receiving module 111, configured to receive a packet, where the packet corresponds to a plurality of output ports;
a first determining module 112, configured to determine a target egress port from the plurality of egress ports, and determine a target aggregate schedule queue from the plurality of aggregate schedule queues;
a second determining module 113, configured to determine a destination local scheduling queue corresponding to the target aggregate scheduling queue from a plurality of local scheduling queues corresponding to the target output port;
A buffer module 114, configured to buffer the message to a destination sample local scheduling queue;
and the forwarding module 115 is configured to forward the message buffered in the destination local dispatch queue through the destination egress port when the dispatch period of the destination local dispatch queue is reached.
In some embodiments, in the network device, the identification of the local scheduling queue with the same scheduling period is the same as the identification of the aggregate scheduling queue;
the second determining module 113 may be specifically configured to determine, from a plurality of local scheduling queues corresponding to the target output ports, an identified target local scheduling queue identified as the target aggregate scheduling queue.
In some embodiments, the network device further comprises a local clock source for each of the output ports; the local clock source is aligned with the high precision time synchronization protocol clock source.
In some embodiments, a mapping relationship between the aggregate scheduling queue and the local scheduling queue corresponding to each output port is stored in the network device;
the second determining module 113 may be specifically configured to determine, from a plurality of local scheduling queues corresponding to the target output port, a target local scheduling queue corresponding to the target aggregate scheduling queue according to a mapping relationship between the aggregate scheduling queue and the local scheduling queue corresponding to the target output port.
In some embodiments, the mapping relationship is represented by an offset of an identifier of the local scheduling queue corresponding to the output port relative to an identifier of the aggregate scheduling queue;
the second determining module is specifically configured to increase the identifier of the target aggregate dispatch queue by an offset corresponding to the target output port, so as to obtain a target identifier of the target local dispatch queue; and determining a target local scheduling queue corresponding to the target identifier from a plurality of local scheduling queues corresponding to the target output port.
In some embodiments, in the network device, the time width of the scheduling period corresponding to the aggregate scheduling queue and each local scheduling queue is the same.
In some embodiments, the foregoing message transmission apparatus may further include:
the selection module is used for selecting one of the plurality of output ports as a reference output port after the network equipment is started; taking a plurality of local scheduling queues corresponding to the reference output ports as an aggregate scheduling queue;
and the third determining module is used for determining the mapping relation between the aggregate dispatching queues and the local dispatching queues corresponding to each outlet port according to the mapping relation between the local dispatching queues corresponding to each outlet port and the dispatching period.
In some embodiments, the third determination module may be further configured to:
When a new output port is started in the network equipment, determining the mapping relation between the aggregation scheduling queue and the local scheduling queue corresponding to the new output port according to the mapping relation between the local scheduling queues corresponding to the new output port and the scheduling period and the mapping relation between the aggregation scheduling queues and the scheduling period.
In some embodiments, the scheduling period difference of the aggregate scheduling queue corresponding to the same deterministic flow in the network device and the upstream device is: the sum of the number of scheduling periods corresponding to the time delay between the network device and the upstream device and the preset number of scheduling periods.
In the technical scheme provided by the embodiment of the application, the network equipment aggregates the plurality of output ports together and corresponds to the unified plurality of aggregate scheduling queues, and for a deterministic stream, any one of the plurality of output ports can be sent out, and the output ports are identical in time dimension, namely, the time of the aggregate scheduling queues, so that the deterministic transmission of the message is realized. Compared with the message forwarding through a single output port, in the embodiment of the application, the message is forwarded through a plurality of output ports which are aggregated together, so that the message transmission bandwidth is increased, and the message transmission efficiency is improved; and moreover, a plurality of output ports which are aggregated together can be mutually and dynamically backed up, and even if one of the output ports fails, the output ports can be switched to other output ports for forwarding messages, so that the reliability of message transmission is improved, the interoperability among nodes is ensured, and the continuity of upper-layer services is ensured.
Corresponding to the above message transmission method, the embodiment of the present application further provides a network device, as shown in fig. 12, including a processor 121 and a memory 122; a memory 122 for storing a computer program; the processor 121 is configured to implement the steps of the message transmission method described in any of fig. 1 to 10 when executing the program stored in the memory 122.
The Memory may include random access Memory (Random Access Memory, RAM) or may include Non-Volatile Memory (NVM), such as at least one disk Memory. Optionally, the memory may also be at least one memory device located remotely from the aforementioned processor.
The processor may be a general-purpose processor including a central processing unit (Central Processing Unit, CPU), a network processor (Network Processor, NP), etc.; but also digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), field programmable gate arrays (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
In yet another embodiment provided herein, a computer readable storage medium is provided, in which a computer program is stored, the computer program implementing any of the above-mentioned message transmission method steps when executed by a processor.
In yet another embodiment provided herein, there is also provided a computer program product containing instructions that, when run on a computer, cause the computer to perform the steps of any of the message transmission method steps of the above embodiments.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, produces a flow or function in accordance with embodiments of the present application, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another, for example, by wired (e.g., coaxial cable, optical fiber, digital Subscriber Line (DSL)), or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains an integration of one or more available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid State Disk (SSD)), etc.
It is noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
In this specification, each embodiment is described in a related manner, and identical and similar parts of each embodiment are all referred to each other, and each embodiment mainly describes differences from other embodiments. In particular, for the message transmission apparatus, network device, storage medium and computer program product embodiments, the description is relatively simple, as it is substantially similar to the method embodiments, and the relevant points are found in the partial description of the method embodiments.
The foregoing description is only of the preferred embodiments of the present application and is not intended to limit the scope of the present application. Any modifications, equivalent substitutions, improvements, etc. that are within the spirit and principles of the present application are intended to be included within the scope of the present application.

Claims (16)

1. The message transmission method is characterized by being applied to network equipment, wherein the network equipment comprises a plurality of output ports, the plurality of output ports correspond to a plurality of aggregation scheduling queues, and each output port corresponds to a plurality of local scheduling queues; the method comprises the following steps:
receiving a message, wherein the message corresponds to the plurality of output ports;
determining a target output port from the plurality of output ports, and determining a target aggregate schedule queue from the plurality of aggregate schedule queues;
determining a target local scheduling queue corresponding to the target aggregate scheduling queue from a plurality of local scheduling queues corresponding to the target output port;
caching the message to the target local scheduling queue;
and when the scheduling period of the target local scheduling queue is reached, forwarding the cached message in the target local scheduling queue through the target output port.
2. The method according to claim 1, wherein in the network device, the identification of the local scheduling queues with the same scheduling period is the same as the identification of the aggregate scheduling queue;
The step of determining the target local dispatching queue corresponding to the target aggregate dispatching queue from the plurality of local dispatching queues corresponding to the target output port comprises the following steps:
and determining the identified target local dispatching queue identified as the target aggregation dispatching queue from a plurality of local dispatching queues corresponding to the target outlet port.
3. The method of claim 2, wherein the network device further comprises a local clock source for each output port; the local clock source is aligned with a high precision time synchronization protocol clock source.
4. The method of claim 1, wherein the network device stores a mapping relationship between the aggregate schedule queue and a local schedule queue corresponding to each egress port;
the step of determining the target local dispatching queue corresponding to the target aggregate dispatching queue from the plurality of local dispatching queues corresponding to the target output port comprises the following steps:
and determining a target local scheduling queue corresponding to the target aggregate scheduling queue from a plurality of local scheduling queues corresponding to the target output port according to the mapping relation between the aggregate scheduling queue and the local scheduling queue corresponding to the target output port.
5. The method of claim 4, wherein the mapping relationship is represented by an offset of an identifier of a local scheduling queue corresponding to an egress port relative to an identifier of the aggregate scheduling queue;
the step of determining a target local scheduling queue corresponding to the target aggregate scheduling queue according to a mapping relationship between the aggregate scheduling queue and the local scheduling queue corresponding to the target output port from the plurality of local scheduling queues corresponding to the target output port includes:
increasing the identification of the target aggregate dispatch queue by the offset corresponding to the target output port to obtain the target identification of the target specimen dispatch queue;
and determining a target local scheduling queue corresponding to the target identifier from a plurality of local scheduling queues corresponding to the target output port.
6. The method of claim 4, wherein the aggregate schedule queue and each local schedule queue correspond to the same time width of the schedule period in the network device.
7. The method according to claim 4, wherein the method further comprises:
when the network equipment is started, one of the plurality of output ports is selected to be used as a reference output port;
Taking a plurality of local scheduling queues corresponding to the reference output ports as an aggregate scheduling queue;
and determining the mapping relation between the aggregate dispatching queues and the local dispatching queues corresponding to each outlet port according to the mapping relation between the local dispatching queues corresponding to each outlet port and the dispatching period.
8. The method of claim 7, wherein the method further comprises:
when a new output port is started in the network equipment, determining the mapping relation between the aggregation scheduling queues and the local scheduling queues corresponding to the new output port according to the mapping relation between the local scheduling queues corresponding to the new output port and the scheduling period and the mapping relation between the aggregation scheduling queues and the scheduling period.
9. The method according to any one of claims 1-8, wherein the scheduling period difference of the aggregate scheduling queue corresponding to the same deterministic flow in the network device and the upstream device is: and the sum of the number of scheduling periods corresponding to the time delay between the network equipment and the upstream equipment and the preset number of scheduling periods.
10. The message transmission device is characterized by being applied to network equipment, wherein the network equipment comprises a plurality of output ports, the plurality of output ports correspond to a plurality of aggregate scheduling queues, and each output port corresponds to a plurality of local scheduling queues; the device comprises:
The receiving module is used for receiving messages, and the messages correspond to the plurality of output ports;
the first determining module is used for determining a target outlet port from the plurality of outlet ports and determining a target aggregate scheduling queue from the plurality of aggregate scheduling queues;
the second determining module is used for determining a target local scheduling queue corresponding to the target aggregate scheduling queue from a plurality of local scheduling queues corresponding to the target output port;
the buffer module is used for buffering the message to the target local scheduling queue;
and the forwarding module is used for forwarding the message cached in the target local scheduling queue through the target output port when the scheduling period of the target local scheduling queue is reached.
11. The apparatus of claim 10, wherein in the network device, an identification of a local scheduling queue with a same scheduling period is the same as an identification of an aggregate scheduling queue;
the second determining module is specifically configured to determine, from a plurality of local scheduling queues corresponding to the target output ports, a target local scheduling queue identified as an identifier of the target aggregate scheduling queue.
12. The apparatus of claim 11, wherein the network device further comprises a local clock source for each output port; the local clock source is aligned with a high precision time synchronization protocol clock source.
13. The apparatus of claim 10, wherein the network device has stored therein a mapping relationship between the aggregate schedule queue and a local schedule queue corresponding to each egress port;
the second determining module is specifically configured to determine, from a plurality of local scheduling queues corresponding to the target output port, a target local scheduling queue corresponding to the target aggregate scheduling queue according to a mapping relationship between the aggregate scheduling queue and the local scheduling queue corresponding to the target output port.
14. The apparatus of claim 13, wherein the mapping relationship is represented by an offset of an identification of a local scheduling queue corresponding to an egress port relative to an identification of the aggregate scheduling queue;
the second determining module is specifically configured to increase the identifier of the target aggregate dispatch queue by an offset corresponding to the target output port, so as to obtain a target identifier of a target local dispatch queue; and determining a target local scheduling queue corresponding to the target identifier from a plurality of local scheduling queues corresponding to the target output port.
15. The apparatus of claim 13, wherein the apparatus further comprises:
The selecting module is used for selecting one of the plurality of output ports as a reference output port after the network equipment is started; taking a plurality of local scheduling queues corresponding to the reference output ports as an aggregate scheduling queue;
and the third determining module is used for determining the mapping relation between the aggregation scheduling queue and the local scheduling queue corresponding to each output port according to the mapping relation between the local scheduling queues corresponding to each output port and the scheduling period.
16. The apparatus of claim 15, wherein the third determination module is further configured to:
and after a new output port is started in the network equipment, determining the mapping relation between the aggregation scheduling queues and the local scheduling queues corresponding to the new output port according to the mapping relation between the local scheduling queues corresponding to the new output port and the scheduling period and the mapping relation between the aggregation scheduling queues and the scheduling period.
CN202211705424.9A 2022-12-29 2022-12-29 Message transmission method and device Pending CN116208547A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211705424.9A CN116208547A (en) 2022-12-29 2022-12-29 Message transmission method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211705424.9A CN116208547A (en) 2022-12-29 2022-12-29 Message transmission method and device

Publications (1)

Publication Number Publication Date
CN116208547A true CN116208547A (en) 2023-06-02

Family

ID=86508598

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211705424.9A Pending CN116208547A (en) 2022-12-29 2022-12-29 Message transmission method and device

Country Status (1)

Country Link
CN (1) CN116208547A (en)

Similar Documents

Publication Publication Date Title
US11496235B2 (en) Symmetric path/link over LAG interface using LLDP for time synchronization between two nodes using PTP
US8989010B2 (en) Delayed based traffic rate control in networks with central controllers
KR101504055B1 (en) Automatic capture of the network delay components
CN103348630B (en) For controlling the method selected in multicast network
US9485045B2 (en) Communication control equipment
WO2023283902A1 (en) Message transmission method and apparatus
JP2013520137A (en) Rate-variable multicast transmission for clock distribution in packet networks
JP2022533238A (en) Methods, devices, and systems for communication between controllers in the TSN
WO2022062931A1 (en) Network anomaly determination method and apparatus
Bui et al. A markovian approach to multipath data transfer in overlay networks
Schweissguth et al. Application-aware industrial ethernet based on an SDN-supported TDMA approach
US20230074703A1 (en) Communication delay measurement device, communication delay measurement method, and program
WO2016110084A1 (en) Method, device and system for precision time protocol time synchronization in aggregation network
CN111698787B (en) Scheduling rule determining method and device
CN114788197A (en) Method for optimizing time synchronization between network devices connected via a communication network
CN117220810A (en) Asynchronous data transmission method and system based on POWERLINK protocol
JP2011188046A (en) Packet communication system and method for controlling packet communication apparatus
CN115242728B (en) Message transmission method and device
CN116208547A (en) Message transmission method and device
CN117061432A (en) Multiple network transmission method and related equipment thereof
CN114650566A (en) Edge computing network architecture for providing deterministic quality of service
JP2012124647A (en) Communication system and node device
Mohammadi et al. Latency-aware topology discovery in SDN-based time-sensitive networks
CN114301852A (en) Message transmission control, generation and transmission method, configuration method, equipment and medium
CN117596200B (en) Time-sensitive network route scheduling method, electronic equipment and medium

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