[go: up one dir, main page]

CN116233031B - An implementation method of time-sensitive network switch model - Google Patents

An implementation method of time-sensitive network switch model Download PDF

Info

Publication number
CN116233031B
CN116233031B CN202310005338.5A CN202310005338A CN116233031B CN 116233031 B CN116233031 B CN 116233031B CN 202310005338 A CN202310005338 A CN 202310005338A CN 116233031 B CN116233031 B CN 116233031B
Authority
CN
China
Prior art keywords
time
module
data frame
queue
data
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
Application number
CN202310005338.5A
Other languages
Chinese (zh)
Other versions
CN116233031A (en
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.)
University of Science and Technology Beijing USTB
Original Assignee
University of Science and Technology Beijing USTB
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 University of Science and Technology Beijing USTB filed Critical University of Science and Technology Beijing USTB
Priority to CN202310005338.5A priority Critical patent/CN116233031B/en
Publication of CN116233031A publication Critical patent/CN116233031A/en
Application granted granted Critical
Publication of CN116233031B publication Critical patent/CN116233031B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/355Application aware switches, e.g. for HTTP
    • 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 invention discloses a method for realizing a time-sensitive network switch model, wherein the switch model comprises a plurality of inlet ports, a switch structure, an outlet module and a plurality of outlet ports which are connected in sequence; the exit module comprises a queue distributor, a plurality of queues, a plurality of transmission feasibility checking modules, a time-aware integer query module and an exit port transmission control module; after the data frame enters the switch model, the queue distributor distributes the data frame to a proper queue according to the information in the data frame; the queue is used for queuing the data frames; the transmission feasibility checking module is used for judging the trafficability of the data frame in the subsequent link, if the data frame can pass, the data frame is submitted backwards, otherwise, the data frame is temporarily stored in the transmission feasibility checking module; the time-aware integer query module is used for realizing a TAS mechanism specified in the 802.1Qbv protocol; the output port transmission control module is used for realizing strict priority and output port control function. The invention provides a switch model implementation scheme based on software simulation.

Description

一种时间敏感网络交换机模型的实现方法An implementation method of time-sensitive network switch model

技术领域Technical field

本发明涉及网络通信技术领域,特别涉及一种时间敏感网络交换机模型的实现方法。The invention relates to the field of network communication technology, and in particular to a method for implementing a time-sensitive network switch model.

背景技术Background technique

时间敏感网络具有确定时延保障和多业务承载能力,解决了工业互联网的中数据在同一网络进行数据传输的难题,成为现在工业现场网络的研究热点。当前的时间敏感网络研究时间触发业务流大都是周期性的,时间感知整形技术可以对周期性时间触发业务流进行预定义的静态配置,对传输的数据流进行定时控制,数据业务流的传输变得可预测和确定的,因此保障端到端时间触发业务流传输的服务质量。然而由于非周期的时间触发业务流到达时间的不确定,导致无法通过资源预留或预配置方式来对交换机资源和门控进行管理。因此,如何动态的对交换机资源和门控进行调度成为非周期时间触发业务流确定性传输的关键。Time-sensitive networks have deterministic delay guarantees and multi-service carrying capabilities, which solve the problem of data transmission on the same network in the industrial Internet, and have become a research hotspot in industrial field networks. Most of the current time-sensitive network research time-triggered service flows are periodic. Time-aware shaping technology can perform predefined static configurations for periodic time-triggered service flows, control the timing of transmitted data flows, and change the transmission of data service flows. It is predictable and deterministic, thus ensuring the service quality of end-to-end time-triggered service flow transmission. However, due to the uncertainty in the arrival time of service flows triggered by non-periodic time, switch resources and gating cannot be managed through resource reservation or preconfiguration. Therefore, how to dynamically schedule switch resources and gate control has become the key to triggering deterministic transmission of service flows at non-periodic times.

时间敏感网络起源于音视频领域,主要是解决音视频数据传输的不确定性,在2005年建立了AVB任务组,建立了一些标准,在保持完全兼容现有以太网体系的基础上,对层二的数据进行转发、整型等部分进行扩展,使得以太网具有保障带宽、限制延时、精确时钟同步的能力,在标准的以太网架构下为音视频数据业务提供高质量、低时延、时间同步的保障,兼容其它数据业务的传输,提供多业务承载的解决方案。在2012年AVB工作组改名为时间敏感网络工作组,进一步研究工业控制网络中的数据传输,在传统以太网的基础上加入了时间同步、传输调度、路径控制、资源预留、可靠冗余的机制,保障了任务关键数据的服务质量,同时也解决多个数据业务不能统一承载的难题。Time-sensitive networks originated in the audio and video field, mainly to solve the uncertainty of audio and video data transmission. In 2005, the AVB task group was established and some standards were established. On the basis of maintaining full compatibility with the existing Ethernet system, the time-sensitive network The second data is forwarded, integer and other parts are expanded, so that Ethernet has the ability to guarantee bandwidth, limit delay, and precise clock synchronization, and provide high-quality, low-latency, and low-latency audio and video data services under the standard Ethernet architecture. It guarantees time synchronization, is compatible with the transmission of other data services, and provides a multi-service bearer solution. In 2012, the AVB working group was renamed the time-sensitive network working group to further study data transmission in industrial control networks. On the basis of traditional Ethernet, time synchronization, transmission scheduling, path control, resource reservation, and reliable redundancy were added. The mechanism ensures the service quality of mission-critical data and also solves the problem that multiple data services cannot be carried uniformly.

IEEE 802.1Qbv标准中规定的TAS算法是一种能够严格保障TT流时延确定性的同步时间调度算法。图1展示了802.1Qbv标准定义的典型分组调度结构。它设置八个固定优先级(从最低0到最高7)的FIFO队列,用于缓存待调度的分组。IEEE 802.1Q标准规定了如何根据分组头中的PCP和VLAN ID域来定义分组所属的类,类决定了分组的优先级和送往哪个队列进行缓存。一般而言,优先级最高的队列被分配给TT流,优先级次之的若干队列被分配给AVB流,其余队列被分配给BE流。对于AVB流的队列,可以在其队首设置一个CBS门控:只有该队列的信用值为正时,CBS门控才处于开启状态(即允许分组通过)。所有的队列都会连接一个TAS门控,其开关状态由门控列表GCL控制。分组队列Q7用于缓存TT分组,并且在时间段T0到T1,队列Q7的TAS门控处于开启状态而其它队列的门控都处于关闭状态,所以在时间段T0到T1内,只有Q7中的TT流可以独占端口。门控列表的每一项都对应于某段时间各队列的TAS门控状态,被称为一个时间窗口。通过为不同队列分配不同长度的时间窗口,TAS最终实现一种特殊的时分复用。最后,调度器会从所有TAS门控和CBS门控都为开启状态的队列中,选择优先级最高的队列进行调度。通过为TT流离线规划合理的时间窗口,TAS能够保证TT流在每一跳交换机的固定时间段内被调度和转发,从而保证端到端的时延确定性。The TAS algorithm specified in the IEEE 802.1Qbv standard is a synchronization time scheduling algorithm that can strictly guarantee the certainty of TT flow delay. Figure 1 shows the typical packet scheduling structure defined by the 802.1Qbv standard. It sets eight FIFO queues with fixed priorities (from the lowest 0 to the highest 7) to cache packets to be scheduled. The IEEE 802.1Q standard specifies how to define the class to which a packet belongs based on the PCP and VLAN ID fields in the packet header. The class determines the priority of the packet and which queue it is sent to for buffering. Generally speaking, the queue with the highest priority is assigned to the TT stream, several queues with the next highest priority are assigned to the AVB stream, and the remaining queues are assigned to the BE stream. For the queue of AVB flow, you can set a CBS gate at the head of the queue: only when the credit value of the queue is positive, the CBS gate is open (that is, packets are allowed to pass). All queues are connected to a TAS gate, and its on/off status is controlled by the gate list GCL. Packet queue Q7 is used to cache TT packets, and during the time period T0 to T1, the TAS gate of queue Q7 is in the open state and the gates of other queues are in the closed state. Therefore, in the time period T0 to T1, only the TAS gate in Q7 TT streams can occupy ports exclusively. Each item in the gating list corresponds to the TAS gating status of each queue during a certain period of time, which is called a time window. By allocating time windows of different lengths to different queues, TAS finally achieves a special kind of time division multiplexing. Finally, the scheduler will select the queue with the highest priority from all queues with TAS gates and CBS gates turned on for scheduling. By planning a reasonable time window for the TT flow offline, TAS can ensure that the TT flow is scheduled and forwarded within a fixed time period of each hop switch, thereby ensuring end-to-end delay certainty.

在TT窗口的开始时刻,正在传输的低优先级流将阻碍高优先级流的传输,从而影响TT流的按时调度。为解决这个问题,802.1Qbv标准提出了保护带机制:在下一个TT窗口开始之前的一个最大以太网帧的传输时间内停止调度器的工作。在此基础上,802.1Qbv提出了改进的保护带机制,即只要调度决策分组可以在下一个TT窗口开始前传输完成,则继续调度;否则,调度停止。通过保护带机制,TAS能够为TT流提供独占的、无干扰的时间窗口。At the beginning of the TT window, the low-priority flow being transmitted will hinder the transmission of the high-priority flow, thus affecting the on-time scheduling of the TT flow. To solve this problem, the 802.1Qbv standard proposes a guard band mechanism: stopping the work of the scheduler within the transmission time of a maximum Ethernet frame before the start of the next TT window. On this basis, 802.1Qbv proposes an improved guard band mechanism, that is, as long as the scheduling decision packet can be transmitted before the start of the next TT window, scheduling will continue; otherwise, scheduling will stop. Through the guard band mechanism, TAS can provide an exclusive, interference-free time window for TT flows.

TSN的协议中对TAS只规定了其机制但是没有给出门控的求解方法,因此目前相关领域的很多研究者都在研究门控的求解算法。当算法求解门控过程中或者求解完成之后需要通过某些方法进行验证。一般而言,可以通过软件仿真验证或者直接在实物系统中进行验证。很多时候还是使用仿真而不是实物系统进行机制和算法的研究以及验证,这是因为相比实物系统,仿真系统有如下三个优势:The TSN protocol only stipulates the mechanism of TAS but does not provide a solution method for gating. Therefore, many researchers in related fields are currently studying the solution algorithm for gating. When the algorithm is solving the gating process or after the solution is completed, it needs to be verified through certain methods. Generally speaking, it can be verified through software simulation or directly in the physical system. In many cases, simulations are used instead of physical systems to research and verify mechanisms and algorithms. This is because compared to physical systems, simulation systems have the following three advantages:

1.与新标准的跟进速度更加可控。各个厂家对标准进行实现的时候会综合考虑很多因素,因此发布的产品和标准中的规定可能存在一定差别。此外,协议中某些部分可能被厂家认为重要性不足导致在很长时间内不会实现。1. The speed of following up with new standards is more controllable. Each manufacturer will consider many factors when implementing the standard, so there may be certain differences between the products released and the regulations in the standard. In addition, some parts of the agreement may be considered insufficiently important by the manufacturer and will not be implemented for a long time.

2.成本更低。完全运行一套时间敏感网络的实物系统至少需要几台TSN的交换机,多个能够支持TSN的端设备,整体开销比较大。仿真系统只需要一台普通的计算机即可。2. Lower cost. A physical system that fully runs a time-sensitive network requires at least a few TSN switches and multiple end devices that can support TSN, and the overall cost is relatively high. The simulation system only requires an ordinary computer.

3.网络拓扑的设置更加灵活。在仿真系统修改网络拓扑或者增加系统中设备是一件没有额外开销的工作。但在实物系统中上述操作就需要相当的人力物力。3. Network topology settings are more flexible. Modifying the network topology or adding devices to the system in the simulation system is a task with no additional overhead. However, the above operations in a physical system require considerable manpower and material resources.

目前已有一些基于802.1Qbv规定的TAS机制的仿真方案。有的研究者基于omnet++或者opnet等现有的网络仿真软件搭建TAS的仿真框架。但是,几乎没有人脱离已有仿真软件提供独立的TAS软件仿真方案。There are currently some simulation solutions based on the TAS mechanism specified by 802.1Qbv. Some researchers build a TAS simulation framework based on existing network simulation software such as omnet++ or opnet. However, almost no one provides independent TAS software simulation solutions without existing simulation software.

发明内容Contents of the invention

有鉴于此,本发明的目的在于提供一种时间敏感网络交换机模型的实现方法,针对独立的TAS软件仿真中最为关键的交换机的实现提供一种可行的解决方案。In view of this, the purpose of the present invention is to provide a method for implementing a time-sensitive network switch model, and to provide a feasible solution for the implementation of the most critical switch in independent TAS software simulation.

为解决上述技术问题,本发明的实施例提供如下方案:In order to solve the above technical problems, embodiments of the present invention provide the following solutions:

一方面,提供了一种时间敏感网络交换机模型的实现方法,所述交换机模型包括依次连接的多个入端口、交换结构、出口模块和多个出端口;其中,所述出口模块包括队列分配器、多个队列、多个传输可行性检查模块、时间感知整型查询模块和出端口传输控制模块;On the one hand, a method for implementing a time-sensitive network switch model is provided. The switch model includes a plurality of ingress ports, a switching structure, an egress module and a plurality of egress ports connected in sequence; wherein the egress module includes a queue distributor , multiple queues, multiple transmission feasibility check modules, time-aware integer query module and egress port transmission control module;

当数据帧进入交换机模型之后,所述队列分配器根据数据帧中的信息将数据帧分配到合适的队列;所述队列用于数据帧的排队;所述传输可行性检查模块用于判断数据帧在后续环节的可通过性,如果可通过则向后递交,否则暂时存储在本模块;所述时间感知整型查询模块用于实现802.1Qbv协议中规定的TAS机制;所述出端口传输控制模块用于实现严格优先级以及出端口的控制功能。After the data frame enters the switch model, the queue allocator allocates the data frame to the appropriate queue according to the information in the data frame; the queue is used to queue the data frame; the transmission feasibility check module is used to determine the data frame Passability in subsequent links, if passable, will be submitted backwards, otherwise it will be temporarily stored in this module; the time-aware integer query module is used to implement the TAS mechanism specified in the 802.1Qbv protocol; the egress port transmission control module Used to implement strict priority and egress port control functions.

优选地,所述交换机模型中各模块间数据交互的方式包括以下两种:数据管道和事件;Preferably, the methods of data interaction between modules in the switch model include the following two: data pipes and events;

所述交换机模型实现过程中遵循的基本规则是:如果数据只是逻辑上的交互而不需要时间的流动,采用数据管道的方式;如果数据交互需要或者会导致时间的流动,则采用事件的方式;The basic rules followed during the implementation of the switch model are: if data is only logically interactive and does not require the flow of time, use the data pipeline method; if data interaction requires or will cause the flow of time, use the event method;

其中,事件定义为:一个过程中的关键时间点以及其对应的状态信息的集合。Among them, an event is defined as: a collection of key time points in a process and its corresponding status information.

优选地,所述交换机模型所在的时间敏感网络中还包含端节点模型和事件表;所述端节点模型分为源节点模型和目的节点模型;Preferably, the time-sensitive network where the switch model is located also includes an end node model and an event table; the end node model is divided into a source node model and a destination node model;

所述事件表包含时间敏感网络中所有事件的数据结构以及对应方法,将事件按照时间信息进行排序后存储在链表中,并从链表的头部依次触发事件,有的事件被触发之后会产生新的事件,新的事件也按照时间信息插入到链表中的合适位置;各个模型之间的事件包含:数据帧发送事件、数据帧发送完成事件、数据帧接收完成事件;The event table contains the data structure and corresponding methods of all events in the time-sensitive network. The events are sorted according to time information and stored in the linked list, and events are triggered sequentially from the head of the linked list. Some events will generate new events after being triggered. Events, new events are also inserted into the appropriate position in the linked list according to time information; events between each model include: data frame sending event, data frame sending completion event, data frame receiving completion event;

所述源节点模型是数据帧产生的位置,只接收数据帧发送事件;当数据帧发送事件到达源节点模型的时候,源节点模型会按照数据帧发送事件中的信息产生数据帧并在成功检测链路连通性之后向事件表注册一个数据帧发送事件并通过数据帧发送事件产生一个数据帧发送完成事件用于未来提醒自己数据帧发送完成;The source node model is the location where the data frame is generated and only receives the data frame sending event; when the data frame sending event reaches the source node model, the source node model will generate the data frame according to the information in the data frame sending event and detect it successfully. After link connectivity, register a data frame sending event to the event table and generate a data frame sending completion event through the data frame sending event to remind yourself that the data frame sending is completed in the future;

所述目的节点模型接收到数据帧接收完成事件之后会得到数据帧的信息并进行统计,包含传输时延抖动的计算以及数据帧在传输过程中状态信息的记录。After receiving the data frame reception completion event, the destination node model will obtain the information of the data frame and perform statistics, including calculation of transmission delay jitter and recording of status information of the data frame during transmission.

所述时间敏感网络交换机模型的实现方法,包括以下步骤:The implementation method of the time-sensitive network switch model includes the following steps:

数据帧从入端口进入交换机模型;Data frames enter the switch model from the ingress port;

交换结构按照MAC表以及交换规则将数据帧交换到对应的出口模块;The switching structure switches data frames to the corresponding egress module according to the MAC table and switching rules;

队列分配器按照优先级将数据帧放入对应队列;The queue distributor puts the data frames into the corresponding queue according to priority;

数据帧在传输可行性检查模块等待检查;The data frame is waiting for inspection in the transmission feasibility check module;

时间感知整型查询模块对数据帧进行是否通过的检查,如果不能通过则给传输可行性检查模块失败反馈,如果能通过则进行后续步骤;The time-aware integer query module checks whether the data frame passes. If it fails, it gives failure feedback to the transmission feasibility check module. If it passes, it proceeds to subsequent steps;

出端口传输控制模块对数据帧进行是否通过的检查,如果不能通过则给传输可行性检查模块失败反馈,如果能通过则进行后续步骤;The egress port transmission control module checks whether the data frame passes. If it fails, it gives failure feedback to the transmission feasibility check module. If it passes, it proceeds to subsequent steps;

数据帧从出端口传输。Data frames are transmitted from the egress port.

优选地,所述队列分配器的工作流程如下:Preferably, the workflow of the queue distributor is as follows:

初始时队列分配器处于空闲状态,当队列分配器接收到一个数据帧之后会转移到队列分配状态然后根据定义好的分配规则将数据帧转移到对应的数据管道由数据管道将数据帧发送到对应的队列中;之后队列分配器处于反馈等待状态,当队列通过数据管道通知队列分配器分配成功之后,队列分配器会再次进入空闲状态等待下一个数据帧的到达;Initially, the queue allocator is in idle state. When the queue allocator receives a data frame, it will transfer to the queue allocation state and then transfer the data frame to the corresponding data pipeline according to the defined allocation rules. The data pipeline will send the data frame to the corresponding in the queue; then the queue allocator is in the feedback waiting state. When the queue notifies the queue allocator that the allocation is successful through the data pipeline, the queue allocator will enter the idle state again and wait for the arrival of the next data frame;

所述队列的工作流程如下:The workflow of the queue is as follows:

当队列分配器将数据帧分配到队列后会触发队列开始工作;队列定义了两种工作情况,分别是:1.队列分配器分配数据帧到队列;2.传输可行性检查模块请求数据;When the queue allocator allocates the data frame to the queue, the queue will be triggered to start working; the queue defines two working conditions, namely: 1. The queue allocator allocates the data frame to the queue; 2. The transmission feasibility check module requests data;

针对情况1:当队列通过数据管道接收到队列分配器发送的数据帧之后会通过数据管道查询传输可行性检查模块的状态,如果传输可行性检查模块为空,则将刚才被分配的数据帧通过数据管道传递给传输可行性检查模块,否则存入队列中;不论是存入队列还是传递给传输可行性检查模块,当操作完成之后会通过数据管道给队列分配器反馈;For case 1: When the queue receives the data frame sent by the queue distributor through the data pipe, it will query the status of the transmission feasibility check module through the data pipe. If the transmission feasibility check module is empty, the data frame just allocated will be passed through. The data pipeline is passed to the transmission feasibility check module, otherwise it is stored in the queue; whether it is stored in the queue or passed to the transmission feasibility check module, when the operation is completed, feedback will be given to the queue allocator through the data pipe;

针对情况2:当传输可行性检查模块向队列发送数据请求,如果当前队列中还有正在排队的数据帧会通过数据管道递交一个数据帧,如果此时队列已经为空则会通过数据管道给传输可行性检查模块反馈。For situation 2: When the transmission feasibility check module sends a data request to the queue, if there are still data frames being queued in the current queue, a data frame will be submitted through the data pipe. If the queue is empty at this time, it will be transmitted through the data pipe. Feasibility check module feedback.

优选地,所述传输可行性检查模块的工作流程如下:Preferably, the workflow of the transmission feasibility check module is as follows:

传输可行性检查模块初始处于空闲状态,当其接收到一个数据帧之后,会通过数据管道查询后续的时间感知整型查询模块的状态;The transmission feasibility check module is initially in an idle state. When it receives a data frame, it will query the status of the subsequent time-aware integer query module through the data pipeline;

如果不对时间感知整型查询模块的具体实现进行考虑的话,当前的数据帧如果希望通过时间感知整型查询模块有四种可能的情况,分别是:1.能成功通过,且知道通过的时间;2.能成功通过,但是不知道通过时间;3.本次不能通过,但是可知下次可能通过的时间;4.本次不能通过,对下次的信息一无所知;但是结合事件表要求时间必须有时间信息的前提,情况2实际上无法作为一个合理的时间放入事件表,所以等同于情况4;最终时间感知整型查询模块检查能提供1、3、4三种情况;If the specific implementation of the time-aware integer query module is not considered, if the current data frame wants to pass the time-aware integer query module, there are four possible situations, namely: 1. It can pass successfully and the passing time is known; 2. It can pass successfully, but the passing time is not known; 3. It cannot pass this time, but it is known when it may pass next time; 4. It cannot pass this time, and it knows nothing about the next time; but it can be combined with the requirements of the event table Time must have time information. Case 2 cannot actually be put into the event table as a reasonable time, so it is equivalent to case 4. The final time-aware integer query module check can provide three cases 1, 3, and 4;

如果时间感知整型查询模块检查成功且知道通过时间感知整型查询模块的时间T_send,传输可行性检查模块给自己注册一个事件用于提醒自己当前数据帧发送完成;记为等待状态(1);If the time-aware integer query module check is successful and the time T_send passed by the time-aware integer query module is known, the transmission feasibility check module registers an event for itself to remind itself that the current data frame is sent; recorded as waiting state (1);

当时间感知整型查询模块检查的结果是失败,直到下一次可能的时间,那么时间感知整型查询模块给自己注册一个事件用于提醒自己在下一次可能的时间点再次检查时间感知整型查询模块;记为等待状态(2);When the time-aware integer query module check fails until the next possible time, the time-aware integer query module registers an event for itself to remind itself to check the time-aware integer query module again at the next possible time point. ;Recorded as waiting state (2);

如果时间感知整型查询模块检查的情况是失败且不知道额外信息,那么传输可行性检查模块后续的具体工作状况不能自行判断,需要其他的模块来注册特定的事件来提醒传输可行性检查模块后续该如何工作;记为等待状态(3);If the time-aware integer query module check fails and no additional information is known, the subsequent specific working status of the transmission feasibility check module cannot be judged by itself. Other modules are required to register specific events to remind the transmission feasibility check module to follow up. How to work; record as waiting state (3);

等待状态(1)的流程如下:The process of waiting state (1) is as follows:

传输可行性检查模块进入等待状态(1)之后会等待自己注册的提醒事件,当接收到提醒事件之后说明数据帧的发送已经完成,然后清除传输可行性检查模块中的内容并通过数据管道向队列请求新的数据帧,如果队列给出的反馈是队列为空,则返回空闲状态,否则成功请求到数据帧并转入阶段(4)从接收一个数据帧的流程重新开始;After the transmission feasibility check module enters the waiting state (1), it will wait for the reminder event registered by itself. When the reminder event is received, it means that the sending of the data frame has been completed, and then clears the content in the transmission feasibility check module and sends it to the queue through the data pipeline. Request a new data frame. If the feedback given by the queue is that the queue is empty, it returns to the idle state. Otherwise, the data frame is successfully requested and transferred to stage (4) and the process of receiving a data frame is restarted;

等待状态(2)的流程如下:The process of waiting state (2) is as follows:

在等待状态(2)的情况下,如果接收到自己的提醒事件则会重新转入门控检查(5)状态;In the waiting state (2), if it receives its own reminder event, it will re-enter the door control check (5) state;

等待状态(3)的流程如下:The process of waiting state (3) is as follows:

在等待状态(3)的情况下,传输可行性检查模块无法给自己注册提醒事件,只能依靠其他模块,通常是后面的时间感知整型查询模块或者出端口传输控制模块来注册事件提醒传输可行性检查模块在合适的时间唤醒并进行下一步的工作;In the case of waiting state (3), the transmission feasibility check module cannot register a reminder event for itself and can only rely on other modules, usually the later time-aware integer query module or the egress port transmission control module, to register the event reminder that the transmission is feasible. The sex check module wakes up at the right time and proceeds with the next step;

当传输可行性检查模块再次被唤醒时存在两种情况:1.之前尝试的检查经过一段时间之后得到了确定失败的结果,那么传输可行性检查模块重新转入门控检查状态(5);2.之前尝试的检查结果最终确定为成功,那么传输可行性检查模块进入清缓存(6)状态,并继续进行之后的流程。When the transmission feasibility check module is awakened again, there are two situations: 1. The previously attempted check has a confirmed failure result after a period of time, then the transmission feasibility check module re-enters the gate control check state (5); 2. The check result of the previous attempt is finally determined to be successful, then the transmission feasibility check module enters the cache clear (6) state and continues with the subsequent process.

优选地,所述时间感知整型查询模块的工作流程如下:Preferably, the workflow of the time-aware integer query module is as follows:

时间感知整型查询模块用于实现802.1Qbv中规定的TAS机制,为传输可行性检查模块提供门控检查的接口;The time-aware integer query module is used to implement the TAS mechanism specified in 802.1Qbv and provides a gate control interface for the transmission feasibility check module;

当时间感知整型查询模块接收到检查请求之后,会首先根据自身门控配置信息检查数据帧是否能在当前时刻通过门控检查,如果不能通过则给传输可行性检查模块失败且有时间的反馈;如果能通过门控检查还需要进行向后检查,这里向后检查的含义是对本模块之后的模块进行检查;因为实际上,传输可行性检查模块只对检查时间感知整型查询模块的状态然后进行相应的动作,因此传输可行性检查模块对时间感知整型查询模块进行检查的时候就需要时间感知整型查询模块代替传输可行性检查模块对后续模块进行检查,这样才能给传输可行性检查模块提供完整的结果让其作出正确的判断;When the time-aware integer query module receives the check request, it will first check whether the data frame can pass the gate check at the current time based on its own gate configuration information. If it cannot pass, it will give feedback to the transmission feasibility check module that it failed and has time. ; If it can pass the gate control check, it is necessary to perform a backward check. The meaning of backward check here is to check the modules after this module; because in fact, the transmission feasibility check module only senses the status of the integer query module at the check time and then Carry out corresponding actions, so when the transmission feasibility check module checks the time-aware integer query module, it needs the time-aware integer query module to replace the transmission feasibility check module to check subsequent modules, so that the transmission feasibility check module can Provide complete results to allow them to make correct judgments;

如果有更多需要检查的模块则也依次进行向后检查并给传输可行性检查模块提供状态;如果时间感知整型查询模块的向后检查通过且已知时间则给传输可行性检查模块成功且已知时间的反馈;其余情况都给传输可行性检查模块失败且未知时间的反馈。If there are more modules that need to be checked, backward checks are also performed in sequence and status is provided to the transmission feasibility check module; if the backward check of the time-aware integer query module passes and the time is known, the transmission feasibility check module is successful and Feedback of known time; in other cases, the transmission feasibility check module fails and the feedback of unknown time is given.

优选地,所述出端口传输控制模块的工作流程如下:Preferably, the workflow of the outbound port transmission control module is as follows:

当出端口传输控制模块被触发检查的时候,首先判断是否有数据帧正在被发送,如果有则给传输可行性检查模块失败反馈,并给当前数据发送完成的时间;如果没有数据正在发送则检查是否设定自检查,如未设定则设定并注册自检查事件;When the egress port transmission control module is triggered to check, it first determines whether there is a data frame being sent. If so, it will give failure feedback to the transmission feasibility check module and give the time when the current data transmission is completed; if no data is being sent, check Whether to set the self-check, if not set, set and register the self-check event;

设置自检查的原因:一个出端口有一个出端口传输控制模块但是对应多个传输可行性检查模块,在某个时刻T1可能存在多个传输可行性检查模块都在检查出端口传输控制模块,但是从事件表的实现原则上来说即使是同一个时刻的事件在事件表中也是存在先后顺序的,先后顺序的不同会导致对出端口传输控制模块的检查表现出不同的结果,因此必须额外加以检查;The reason for setting up self-check: An egress port has one egress port transmission control module but corresponds to multiple transmission feasibility check modules. At a certain time, T1 may have multiple transmission feasibility check modules all checking the egress port transmission control module, but In principle, from the perspective of the implementation of the event table, even events at the same time are in sequence in the event table. Different sequences will cause the inspection of the egress port transmission control module to show different results, so additional inspections must be carried out. ;

自检查从实现上来讲是注册一个未来最小时间单的事件提醒出端口传输控制模块来判断究竟是哪个传输可行性检查模块中的数据可以发送,所述最小时间单为1ns或1ps;然后判断数据帧是否是最高优先级,如果是则可以直接发送,给时间感知整型查询模块成功的反馈,给出时间并转入发送状态;如果不是最高优先级则先放入待发送缓存,如果当前发送缓存中的数据优先级低于自己,将其传入待发送缓存并将当前数据转入发送缓存;如果有比自己优先级高的,则什么也不做;In terms of implementation, self-checking is to register an event with a minimum time order in the future to remind the port transmission control module to determine which data in the transmission feasibility check module can be sent. The minimum time order is 1ns or 1ps; and then determines the data Whether the frame is the highest priority, if so, it can be sent directly, and the time-aware integer query module is given successful feedback, the time is given, and the frame is transferred to the sending state; if it is not the highest priority, it is first put into the buffer to be sent. If it is currently sent If the data in the cache has a lower priority than itself, pass it into the to-be-sent cache and transfer the current data to the sending cache; if there is data with a higher priority than itself, do nothing;

当接收到自检查事件的时候,给发送缓存中数据帧对应缓存模块发送发送成功提醒事件,给待发送缓存中的数据对应的缓存模块发送发送失败提醒事件。When a self-check event is received, a sending success reminder event is sent to the cache module corresponding to the data frame in the sending cache, and a sending failure reminder event is sent to the cache module corresponding to the data in the cache to be sent.

另一方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述时间敏感网络交换机模型的实现方法。On the other hand, an electronic device is provided. The electronic device includes a processor and a memory. At least one instruction is stored in the memory. The at least one instruction is loaded and executed by the processor to implement the above time-sensitive network. Implementation method of switch model.

另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述时间敏感网络交换机模型的实现方法。On the other hand, a computer-readable storage medium is provided, in which at least one instruction is stored, and the at least one instruction is loaded and executed by a processor to implement the above implementation method of the time-sensitive network switch model.

本发明实施例提供的技术方案带来的有益效果至少包括:The beneficial effects brought by the technical solutions provided by the embodiments of the present invention include at least:

本发明在IEEE 802.1Qbv协议的基础上设计并实现了一种基于独立的TAS软件仿真的交换机模型,用于验证时间敏感网络系统设计的可行性,提供对门控调度算法的验证,能够为各类优化算法提供时间敏感网络的软件支持。The present invention designs and implements a switch model based on independent TAS software simulation based on the IEEE 802.1Qbv protocol, which is used to verify the feasibility of time-sensitive network system design, provide verification of gated scheduling algorithms, and can provide various Optimization algorithms provide software support for time-sensitive networks.

附图说明Description of drawings

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, other drawings can also be obtained based on these drawings without exerting creative efforts.

图1是802.1Qbv标准定义的典型分组调度结构示意图;Figure 1 is a schematic diagram of a typical packet scheduling structure defined by the 802.1Qbv standard;

图2是本发明实施例提供的网络交换机模型的简化结构示意图;Figure 2 is a simplified structural schematic diagram of a network switch model provided by an embodiment of the present invention;

图3是本发明实施例提供的出口模块的结构示意图;Figure 3 is a schematic structural diagram of an outlet module provided by an embodiment of the present invention;

图4是本发明实施例提供的时间敏感网络交换机模型的实现方法的工作流程图;Figure 4 is a work flow chart of the implementation method of the time-sensitive network switch model provided by the embodiment of the present invention;

图5是本发明实施例提供的队列分配器的工作流程图;Figure 5 is a work flow chart of the queue distributor provided by the embodiment of the present invention;

图6是本发明实施例提供的队列的工作流程图;Figure 6 is a workflow diagram of a queue provided by an embodiment of the present invention;

图7是本发明实施例提供的传输可行性检查模块的工作流程图;Figure 7 is a work flow chart of the transmission feasibility check module provided by the embodiment of the present invention;

图8是本发明实施例提供的等待状态(1)的工作流程图;Figure 8 is a work flow chart of the waiting state (1) provided by the embodiment of the present invention;

图9是本发明实施例提供的等待状态(2)的工作流程图;Figure 9 is a work flow chart of the waiting state (2) provided by the embodiment of the present invention;

图10是本发明实施例提供的等待状态(3)的工作流程图;Figure 10 is a work flow chart of the waiting state (3) provided by the embodiment of the present invention;

图11是本发明实施例提供的传输可行性检查模块的整体状态机示意图;Figure 11 is a schematic diagram of the overall state machine of the transmission feasibility check module provided by the embodiment of the present invention;

图12是本发明实施例提供的时间感知整型查询模块的工作流程图;Figure 12 is a work flow chart of the time-aware integer query module provided by the embodiment of the present invention;

图13是本发明实施例提供的出端口传输控制模块的工作流程图。Figure 13 is a work flow chart of the egress port transmission control module provided by the embodiment of the present invention.

图14是本发明实施例提供的流在源节点的发送时间在时间轴上的位置示意图;Figure 14 is a schematic diagram of the position of the flow at the source node's sending time on the timeline provided by the embodiment of the present invention;

图15是本发明实施例提供的门控设置示意图。Figure 15 is a schematic diagram of the gate control settings provided by the embodiment of the present invention.

如图所示,为了能明确实现本发明的实施例的结构,在图中标注了特定的结构和器件,但这仅为示意需要,并非意图将本发明限定在该特定结构、器件和环境中,根据具体需要,本领域的普通技术人员可以将这些器件和环境进行调整或者修改,所进行的调整或者修改仍然包括在本发明的保护范围中。As shown in the figures, in order to clearly realize the structure of the embodiments of the present invention, specific structures and devices are marked in the figures, but this is only for illustration and is not intended to limit the present invention to the specific structures, devices and environments. , according to specific needs, those of ordinary skill in the art can adjust or modify these devices and environments, and the adjustments or modifications are still included in the protection scope of the present invention.

具体实施方式Detailed ways

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of the present invention.

交换是按照通信两端传输信息的需要,用人工或设备自动完成的方法,把要传输的信息送到符合要求的相应路由上的技术的统称。交换机根据工作位置的不同,可以分为广域网交换机和局域网交换机。广域的交换机就是一种在通信系统中完成信息交换功能的设备,它应用在数据链路层。交换机有多个端口,每个端口都具有桥接功能,可以连接一个局域网或一台高性能服务器或工作站。实际上,交换机有时被称为多端口网桥。Switching is a general term for the technology that uses manual or automatic equipment to transmit information to the corresponding route that meets the requirements according to the needs of both ends of the communication. Switches can be divided into WAN switches and LAN switches based on different working locations. A wide area switch is a device that performs information exchange functions in a communication system. It is applied at the data link layer. The switch has multiple ports, each with bridging capabilities, that can connect to a local area network or a high-performance server or workstation. In fact, switches are sometimes called multiport bridges.

网络交换机,是一个扩大网络的器材,能为子网络中提供更多的连接端口,以便连接更多的计算机。随着通信业的发展以及国民经济信息化的推进,网络交换机市场呈稳步上升态势。它具有性价比高、高度灵活、相对简单和易于实现等特点。以太网技术已成为当今最重要的一种局域网组网技术,网络交换机也就成为了最普及的交换机。A network switch is a device that expands the network and can provide more connection ports in a subnetwork to connect more computers. With the development of the communications industry and the advancement of informatization of the national economy, the network switch market has shown a steady upward trend. It is cost-effective, highly flexible, relatively simple and easy to implement. Ethernet technology has become the most important LAN networking technology today, and network switches have become the most popular switches.

Switch是交换机的英文名称,这个产品是由原集线器的升级换代而来,在外观上看和集线器没有很大区别。由于通信两端需要传输信息,而通过设备或者人工来把要传输的信息送到符合要求标准的对应的路由器上的方式,这个技术就是交换机技术。从广义上来分析,在通信系统里对于信息交换功能实现的设备,就是交换机。Switch is the English name of a switch. This product is an upgrade from the original hub. In appearance, it is not much different from the hub. Since both ends of the communication need to transmit information, and the information to be transmitted is sent to the corresponding router that meets the required standards through equipment or manually, this technology is switch technology. From a broad perspective, the device that implements the information exchange function in a communication system is a switch.

TSN交换机是指支持时间敏感网络相关协议的交换机。本发明的实施例重点描述如何在普通的计算机上通过软件的方式实现用于仿真的TSN交换机模型。TSN switches refer to switches that support time-sensitive network-related protocols. The embodiments of the present invention focus on describing how to implement a TSN switch model for simulation through software on an ordinary computer.

在软件仿真过程中并不容易将仿真时间与现实世界中的时间建立对应关系。因此,交换机模型在实际运行时不直接使用时间触发而是使用事件触发的方式建立与时间的联系。这里举一个例子,一个以太网数据帧从交换机A通过以太网链路传递到交换机B的时候,在软件运行过程中假设不存在数据帧在链路中产生错误的小概率事件的话,整个数据帧的传输过程可以通过为两个事件的集合{传输开始,传输结束}来描述。这样就将整个时间从连续的过程转换为离散的过程,并且在这个离散过程中的中间状态实际上并没有太多的实际意义。这种事件就是本文中的交换机模型与时间建立联系的基本方式。可以将事件定义为:一个过程中的关键时间点以及其对应的状态信息的集合。During the software simulation process, it is not easy to establish a correspondence between the simulation time and the time in the real world. Therefore, the switch model does not directly use time triggering during actual operation but uses event triggering to establish the connection with time. Here is an example. When an Ethernet data frame is transmitted from switch A to switch B through the Ethernet link, during the software running process, assuming that there is no small probability event that the data frame will cause errors in the link, the entire data frame The transmission process can be described by being a set of two events {transmission start, transmission end}. This converts the entire time from a continuous process to a discrete process, and the intermediate state in this discrete process actually does not have much practical significance. Such events are the basic way the switch model in this article relates to time. An event can be defined as: a collection of key time points in a process and its corresponding status information.

本发明的重点在于时间敏感网络交换机模型在软件中的实现方式,但是为了能够较为完整的描述整个系统,这里简单的介绍下网络中的其他模型。除了交换机模型之外,时间敏感网络中还包含端节点模型,这里将端节点分为源节点模型(TSN talker所在的物理实体对应的模型)以及目的节点模型(TSN listener所在的物理实体对应的模型),此外还包含一个组织所有事件的软件模块事件表。The focus of the present invention lies in the implementation of the time-sensitive network switch model in software. However, in order to describe the entire system more completely, other models in the network are briefly introduced here. In addition to the switch model, the time-sensitive network also includes end node models. The end nodes are divided into source node models (models corresponding to the physical entities where the TSN talker is located) and destination node models (models corresponding to the physical entities where the TSN listener is located). ) and also contains a software module event table that organizes all events.

其中,所述事件表包含时间敏感网络中所有事件的数据结构以及对应方法。按照上述对于事件的定义,每个事件都有对应的时间信息。从实际的网络系统中来看,这些事件的运行存在严格的先后顺序以及特定的触发关系。因此,事件表将事件按照时间信息进行排序后存储在链表中,并从链表的头部依次触发事件,有的事件被触发之后会产生新的事件,新的事件也按照时间信息插入到链表中的合适位置。事件表通过这种方式保证事件按照正确顺序的合理触发。各个模型之间的事件包含:数据帧发送事件、数据帧发送完成事件、数据帧接收完成事件。Wherein, the event table includes the data structure and corresponding methods of all events in the time-sensitive network. According to the above definition of events, each event has corresponding time information. Judging from the actual network system, there is a strict sequence and specific triggering relationship between the operation of these events. Therefore, the event table sorts the events according to time information and stores them in the linked list, and triggers events sequentially from the head of the linked list. Some events will generate new events after being triggered, and new events are also inserted into the linked list according to the time information. suitable location. In this way, the event table ensures that events are triggered reasonably in the correct order. Events between each model include: data frame sending event, data frame sending completion event, and data frame receiving completion event.

所述源节点模型是数据帧产生的位置,只接收数据帧发送事件。当数据帧发送事件到达源节点模型的时候,源节点模型会按照数据帧发送事件中的信息产生数据帧并在成功检测链路连通性之后向事件表注册一个数据帧发送事件并通过数据帧发送事件产生一个数据帧发送完成事件用于未来提醒自己数据帧发送完成。The source node model is the location where data frames are generated and only receives data frame sending events. When the data frame sending event reaches the source node model, the source node model will generate a data frame according to the information in the data frame sending event and after successfully detecting link connectivity, register a data frame sending event with the event table and send it through the data frame The event generates a data frame sending completion event to remind itself in the future that the data frame sending is completed.

所述目的节点模型接收到数据帧接收完成事件之后会得到数据帧的信息并进行统计,包含传输时延抖动的计算以及数据帧在传输过程中状态信息的记录等。After receiving the data frame reception completion event, the destination node model will obtain the data frame information and perform statistics, including calculation of transmission delay jitter and recording of status information of the data frame during transmission.

本发明的核心内容是提供一种时间敏感网络交换机模型的实现方法,如图2所示,所述交换机模型包括依次连接的多个入端口、交换结构、出口模块和多个出端口;其中,所述出口模块的结构如图3所示,包括队列分配器、多个队列、多个传输可行性检查模块、时间感知整型查询模块和出端口传输控制模块;The core content of the present invention is to provide a method for implementing a time-sensitive network switch model. As shown in Figure 2, the switch model includes multiple ingress ports, a switching structure, an egress module and multiple egress ports connected in sequence; wherein, The structure of the egress module is shown in Figure 3, including a queue distributor, multiple queues, multiple transmission feasibility check modules, a time-aware integer query module and an egress port transmission control module;

当数据帧进入交换机模型之后,所述队列分配器根据数据帧中的信息将数据帧分配到合适的队列,一般而言默认的规则是根据数据帧vlan tag中的PCP字段进行分配;所述队列用于数据帧的排队;所述传输可行性检查模块用于判断数据帧在后续环节的可通过性,如果可通过则向后递交,否则暂时存储在本模块;所述时间感知整型查询模块用于实现802.1Qbv协议中规定的TAS机制;所述出端口传输控制模块用于实现严格优先级以及出端口的控制功能。When the data frame enters the switch model, the queue allocator allocates the data frame to the appropriate queue according to the information in the data frame. Generally speaking, the default rule is to allocate the data frame according to the PCP field in the vlan tag of the data frame; the queue Used for queuing of data frames; the transmission feasibility check module is used to judge the passability of the data frame in subsequent links. If it can pass, it will be submitted backwards, otherwise it will be temporarily stored in this module; the time-aware integer query module It is used to implement the TAS mechanism specified in the 802.1Qbv protocol; the egress port transmission control module is used to implement strict priority and egress port control functions.

本发明实施例中,所述交换机模型中各模块间数据交互的方式包括以下两种:数据管道和事件。In the embodiment of the present invention, the data interaction methods between modules in the switch model include the following two methods: data pipes and events.

所述交换机模型实现过程中遵循的基本规则是:如果数据只是逻辑上的交互而不需要时间的流动,采用数据管道的方式;如果数据交互需要或者会导致时间的流动,则采用事件的方式。The basic rules followed during the implementation of the switch model are: if the data only interacts logically and does not require the flow of time, use the data pipeline method; if the data interaction requires or will cause the flow of time, use the event method.

所述时间敏感网络交换机模型的实现方法,如图4所示,包括以下步骤:The implementation method of the time-sensitive network switch model, as shown in Figure 4, includes the following steps:

数据帧从入端口进入交换机模型;Data frames enter the switch model from the ingress port;

交换结构按照MAC表以及交换规则将数据帧交换到对应的出口模块;The switching structure switches data frames to the corresponding egress module according to the MAC table and switching rules;

队列分配器按照优先级将数据帧放入对应队列;The queue distributor puts the data frames into the corresponding queue according to priority;

数据帧在传输可行性检查模块等待检查;The data frame is waiting for inspection in the transmission feasibility check module;

时间感知整型查询模块对数据帧进行是否通过的检查,如果不能通过则给传输可行性检查模块失败反馈,如果能通过则进行后续步骤;The time-aware integer query module checks whether the data frame passes. If it fails, it gives failure feedback to the transmission feasibility check module. If it passes, it proceeds to subsequent steps;

出端口传输控制模块对数据帧进行是否通过的检查,如果不能通过则给传输可行性检查模块失败反馈,如果能通过则进行后续步骤;The egress port transmission control module checks whether the data frame passes. If it fails, it gives failure feedback to the transmission feasibility check module. If it passes, it proceeds to subsequent steps;

数据帧从出端口传输。Data frames are transmitted from the egress port.

进一步地,如图5所示,所述队列分配器的工作流程如下:Further, as shown in Figure 5, the workflow of the queue allocator is as follows:

初始时队列分配器处于空闲状态,当队列分配器接收到一个数据帧之后会转移到队列分配状态然后根据定义好的分配规则将数据帧转移到对应的数据管道由数据管道将数据帧发送到对应的队列中;之后队列分配器处于反馈等待状态,当队列通过数据管道通知队列分配器分配成功之后,队列分配器会再次进入空闲状态等待下一个数据帧的到达。Initially, the queue allocator is in idle state. When the queue allocator receives a data frame, it will transfer to the queue allocation state and then transfer the data frame to the corresponding data pipeline according to the defined allocation rules. The data pipeline will send the data frame to the corresponding in the queue; after that, the queue allocator is in the feedback waiting state. When the queue notifies the queue allocator that the allocation is successful through the data pipeline, the queue allocator will enter the idle state again and wait for the arrival of the next data frame.

如图6所示,所述队列的工作流程如下:As shown in Figure 6, the workflow of the queue is as follows:

当队列分配器将数据帧分配到队列后会触发队列开始工作;队列定义了两种工作情况,分别是:1.队列分配器分配数据帧到队列;2.传输可行性检查模块请求数据。When the queue allocator allocates the data frame to the queue, it will trigger the queue to start working; the queue defines two working situations, namely: 1. The queue allocator allocates the data frame to the queue; 2. The transmission feasibility check module requests data.

针对情况1:当队列通过数据管道接收到队列分配器发送的数据帧之后会通过数据管道查询传输可行性检查模块的状态,如果传输可行性检查模块为空,则将刚才被分配的数据帧通过数据管道传递给传输可行性检查模块,否则存入队列中;不论是存入队列还是传递给传输可行性检查模块,当操作完成之后会通过数据管道给队列分配器反馈。For case 1: When the queue receives the data frame sent by the queue distributor through the data pipe, it will query the status of the transmission feasibility check module through the data pipe. If the transmission feasibility check module is empty, the data frame just allocated will be passed through. The data pipeline is passed to the transmission feasibility check module, otherwise it is stored in the queue; whether it is stored in the queue or passed to the transmission feasibility check module, when the operation is completed, it will be fed back to the queue allocator through the data pipeline.

针对情况2:当传输可行性检查模块向队列发送数据请求,如果当前队列中还有正在排队的数据帧会通过数据管道递交一个数据帧,如果此时队列已经为空则会通过数据管道给传输可行性检查模块反馈。For situation 2: When the transmission feasibility check module sends a data request to the queue, if there are still data frames being queued in the current queue, a data frame will be submitted through the data pipe. If the queue is empty at this time, it will be transmitted through the data pipe. Feasibility check module feedback.

进一步地,本发明中所说的传输可行性检查模块是自己定义的抽象结构,在实际交换机中并不一定存在。传输可行性检查模块的设计目的是提供一个特定的位置让数据帧能够检查后续时间感知整型查询模块以及出端口传输控制模块的状态,以及提供数据帧在从出端口发送之前的等待功能。Furthermore, the transmission feasibility check module mentioned in the present invention is a self-defined abstract structure and may not necessarily exist in an actual switch. The transmission feasibility check module is designed to provide a specific location where the data frame can check the status of the subsequent time-aware integer query module and the egress port transmission control module, and to provide a waiting function for the data frame before being sent from the egress port.

如图7所示,所述传输可行性检查模块的工作流程如下:As shown in Figure 7, the workflow of the transmission feasibility check module is as follows:

传输可行性检查模块初始处于空闲状态,当其接收到一个数据帧之后,会通过数据管道查询后续的时间感知整型查询模块的状态;The transmission feasibility check module is initially in an idle state. When it receives a data frame, it will query the status of the subsequent time-aware integer query module through the data pipeline;

如果不对时间感知整型查询模块的具体实现进行考虑的话,当前的数据帧如果希望通过时间感知整型查询模块有四种可能的情况,分别是:1.能成功通过,且知道通过的时间;2.能成功通过,但是不知道通过时间;3.本次不能通过,但是可知下次可能通过的时间;4.本次不能通过,对下次的信息一无所知;但是结合事件表要求时间必须有时间信息的前提,情况2实际上无法作为一个合理的时间放入事件表,所以等同于情况4;最终时间感知整型查询模块检查能提供1、3、4三种情况。If the specific implementation of the time-aware integer query module is not considered, if the current data frame wants to pass the time-aware integer query module, there are four possible situations, namely: 1. It can pass successfully and the passing time is known; 2. It can pass successfully, but the passing time is not known; 3. It cannot pass this time, but it is known when it may pass next time; 4. It cannot pass this time, and it knows nothing about the next time; but it can be combined with the requirements of the event table The time must have time information. Case 2 cannot actually be put into the event table as a reasonable time, so it is equivalent to case 4; the final time-aware integer query module check can provide three cases 1, 3, and 4.

如果时间感知整型查询模块检查成功且知道通过时间感知整型查询模块的时间T_send,传输可行性检查模块给自己注册一个事件用于提醒自己当前数据帧发送完成;记为等待状态(1);If the time-aware integer query module check is successful and the time T_send passed by the time-aware integer query module is known, the transmission feasibility check module registers an event for itself to remind itself that the current data frame is sent; recorded as waiting state (1);

当时间感知整型查询模块检查的结果是失败,直到下一次可能的时间,那么时间感知整型查询模块给自己注册一个事件用于提醒自己在下一次可能的时间点再次检查时间感知整型查询模块;记为等待状态(2);When the time-aware integer query module check fails until the next possible time, the time-aware integer query module registers an event for itself to remind itself to check the time-aware integer query module again at the next possible time point. ;Record as waiting state(2);

如果时间感知整型查询模块检查的情况是失败且不知道额外信息,那么传输可行性检查模块后续的具体工作状况不能自行判断,需要其他的模块来注册特定的事件来提醒传输可行性检查模块后续该如何工作;记为等待状态(3)。If the time-aware integer query module check fails and no additional information is known, the subsequent specific working status of the transmission feasibility check module cannot be judged by itself. Other modules are required to register specific events to remind the transmission feasibility check module to follow up. How it works; marked as waiting state (3).

如图8所示,等待状态(1)的流程如下:As shown in Figure 8, the process of waiting state (1) is as follows:

传输可行性检查模块进入等待状态(1)之后会等待自己注册的提醒事件,当接收到提醒事件之后说明数据帧的发送已经完成,然后清除传输可行性检查模块中的内容并通过数据管道向队列请求新的数据帧,如果队列给出的反馈是队列为空,则返回空闲状态,否则成功请求到数据帧并转入阶段(4)从接收一个数据帧的流程重新开始。After the transmission feasibility check module enters the waiting state (1), it will wait for the reminder event registered by itself. When the reminder event is received, it means that the sending of the data frame has been completed, and then clears the content in the transmission feasibility check module and sends it to the queue through the data pipeline. Request a new data frame. If the feedback given by the queue is that the queue is empty, it returns to the idle state. Otherwise, the data frame is successfully requested and transferred to stage (4) to restart the process of receiving a data frame.

如图9所示,等待状态(2)的流程如下:As shown in Figure 9, the process of waiting state (2) is as follows:

在等待状态(2)的情况下,如果接收到自己的提醒事件则会重新转入门控检查(5)状态。In the waiting state (2), if it receives its own reminder event, it will re-enter the door control check (5) state.

如图10所示,等待状态(3)的流程如下:As shown in Figure 10, the process of waiting state (3) is as follows:

在等待状态(3)的情况下,传输可行性检查模块无法给自己注册提醒事件,只能依靠其他模块,通常是后面的时间感知整型查询模块或者出端口传输控制模块来注册事件提醒传输可行性检查模块在合适的时间唤醒并进行下一步的工作;In the case of waiting state (3), the transmission feasibility check module cannot register a reminder event for itself and can only rely on other modules, usually the later time-aware integer query module or the egress port transmission control module, to register the event reminder that the transmission is feasible. The sex check module wakes up at the right time and proceeds with the next step;

当传输可行性检查模块再次被唤醒时存在两种情况:1.之前尝试的检查经过一段时间之后得到了确定失败的结果,那么传输可行性检查模块重新转入门控检查状态(5);2.之前尝试的检查结果最终确定为成功,那么传输可行性检查模块进入清缓存(6)状态,并继续进行之后的流程。When the transmission feasibility check module is awakened again, there are two situations: 1. The previously attempted check has a confirmed failure result after a period of time, then the transmission feasibility check module re-enters the gate control check state (5); 2. The check result of the previous attempt is finally determined to be successful, then the transmission feasibility check module enters the cache clear (6) state and continues with the subsequent process.

传输可行性检查模块的整体状态机如图11所示。The overall state machine of the transmission feasibility check module is shown in Figure 11.

进一步地,时间感知整型查询模块用于实现802.1Qbv中规定的TAS机制,此模块为传输可行性检查模块提供检查门控的接口。Furthermore, the time-aware integer query module is used to implement the TAS mechanism specified in 802.1Qbv. This module provides an interface for checking gating control for the transmission feasibility check module.

如图12所示,所述时间感知整型查询模块的工作流程如下:As shown in Figure 12, the workflow of the time-aware integer query module is as follows:

当时间感知整型查询模块接收到检查请求之后,会首先根据自身门控配置信息检查数据帧是否能在当前时刻通过门控检查,如果不能通过则给传输可行性检查模块失败且有时间的反馈;如果能通过门控检查还需要进行向后检查,这里向后检查的含义是对本模块之后的模块进行检查;因为实际上,传输可行性检查模块只对检查时间感知整型查询模块的状态然后进行相应的动作,因此传输可行性检查模块对时间感知整型查询模块进行检查的时候就需要时间感知整型查询模块代替传输可行性检查模块对后续模块进行检查,这样才能给传输可行性检查模块提供完整的结果让其作出正确的判断;When the time-aware integer query module receives the check request, it will first check whether the data frame can pass the gate check at the current time based on its own gate configuration information. If it cannot pass, it will give feedback to the transmission feasibility check module that it failed and has time. ; If it can pass the gate control check, it is necessary to perform a backward check. The meaning of backward check here is to check the modules after this module; because in fact, the transmission feasibility check module only senses the status of the integer query module at the check time and then Carry out corresponding actions, so when the transmission feasibility check module checks the time-aware integer query module, it needs the time-aware integer query module to replace the transmission feasibility check module to check subsequent modules, so that the transmission feasibility check module can Provide complete results to allow them to make correct judgments;

如果有更多需要检查的模块则也依次进行向后检查并给传输可行性检查模块提供状态;如果时间感知整型查询模块的向后检查通过且已知时间则给传输可行性检查模块成功且已知时间的反馈;其余情况都给传输可行性检查模块失败且未知时间的反馈。If there are more modules that need to be checked, backward checks are also performed in sequence and status is provided to the transmission feasibility check module; if the backward check of the time-aware integer query module passes and the time is known, the transmission feasibility check module is successful and Feedback of known time; in other cases, the transmission feasibility check module fails and the feedback of unknown time is given.

进一步地,如图13所示,所述出端口传输控制模块的工作流程如下:Further, as shown in Figure 13, the workflow of the outbound port transmission control module is as follows:

当出端口传输控制模块被触发检查的时候,首先判断是否有数据帧正在被发送,如果有则给传输可行性检查模块失败反馈,并给当前数据发送完成的时间;如果没有数据正在发送则检查是否设定自检查,如未设定则设定并注册自检查事件;When the egress port transmission control module is triggered to check, it first determines whether there is a data frame being sent. If so, it will give failure feedback to the transmission feasibility check module and give the time when the current data transmission is completed; if no data is being sent, check Whether to set the self-check, if not set, set and register the self-check event;

设置自检查的原因:一个出端口有一个出端口传输控制模块但是对应多个传输可行性检查模块,在某个时刻T1可能存在多个传输可行性检查模块都在检查出端口传输控制模块,但是从事件表的实现原则上来说即使是同一个时刻的事件在事件表中也是存在先后顺序的,先后顺序的不同会导致对出端口传输控制模块的检查表现出不同的结果,因此必须额外加以检查;The reason for setting up self-check: An egress port has one egress port transmission control module but corresponds to multiple transmission feasibility check modules. At a certain time, T1 may have multiple transmission feasibility check modules all checking the egress port transmission control module, but In principle, from the perspective of the implementation of the event table, even events at the same time are in sequence in the event table. Different sequences will cause the inspection of the egress port transmission control module to show different results, so additional inspections must be carried out. ;

自检查从实现上来讲是注册一个未来最小时间单的事件提醒出端口传输控制模块来判断究竟是哪个传输可行性检查模块中的数据可以发送,所述最小时间单为1ns或1ps;然后判断数据帧是否是最高优先级,如果是则可以直接发送,给时间感知整型查询模块成功的反馈,给出时间并转入发送状态;如果不是最高优先级则先放入待发送缓存,如果当前发送缓存中的数据优先级低于自己,将其传入待发送缓存并将当前数据转入发送缓存;如果有比自己优先级高的,则什么也不做;In terms of implementation, self-checking is to register an event with a minimum time order in the future to remind the port transmission control module to determine which data in the transmission feasibility check module can be sent. The minimum time order is 1ns or 1ps; and then determines the data Whether the frame is the highest priority, if so, it can be sent directly, and the time-aware integer query module is given successful feedback, the time is given, and the frame is transferred to the sending state; if it is not the highest priority, it is first put into the buffer to be sent. If it is currently sent If the data in the cache has a lower priority than itself, pass it into the to-be-sent cache and transfer the current data to the sending cache; if there is data with a higher priority than itself, do nothing;

当接收到自检查事件的时候,给发送缓存中数据帧对应缓存模块发送发送成功提醒事件,给待发送缓存中的数据对应的缓存模块发送发送失败提醒事件。然后转入发送状态。When a self-check event is received, a sending success reminder event is sent to the cache module corresponding to the data frame in the sending cache, and a sending failure reminder event is sent to the cache module corresponding to the data in the cache to be sent. Then enter the sending state.

在更具体的实施例中,假设存在如下的网络拓扑结构:In a more specific embodiment, assume that the following network topology exists:

三个源节点ES1,ES2,ES3,一个目的节点ES4以及一个交换机0SW1。并且每个源节点各产生一条流,总共产生三条流,每条流的目的都是目的节点ES4。三条流分别表示为S(ES1:ES4),S(ES2:ES4),S(ES3,ES4),链路速率为1000Mbps。Three source nodes ES1, ES2, ES3, one destination node ES4 and one switch 0SW1. And each source node generates a stream, a total of three streams are generated, and the destination of each stream is the destination node ES4. The three streams are represented as S(ES1:ES4), S(ES2:ES4), S(ES3,ES4), and the link rate is 1000Mbps.

每条流的信息通过一个向量表示为F(cycle,offset,length,S,priorty),其中cycle表示流的发送周期,单位为ns,offset表示流发送时间相对于零点的偏移量,单位为ns,length表示数据帧的长度,单位为比特,S表示流的源节点和目的节点,priorty表示数据帧的优先级(相当于vlantag中的PCP码)。The information of each stream is represented by a vector as F(cycle,offset,length,S,priorty), where cycle represents the sending cycle of the stream, in units of ns, and offset represents the offset of the stream sending time relative to zero, in units of ns, length represents the length of the data frame in bits, S represents the source node and destination node of the stream, and priority represents the priority of the data frame (equivalent to the PCP code in vlantag).

流S(ES1:ES4)的流信息向量为F(3000,0,512,(ES1:ES4),7)。流S(ES2:ES4)的流信息向量为F(1500,336,678,(ES2:ES4),5)。流S(ES3:ES4)的流信息向量为F(1500,886,128,(ES3:ES4),1)。三条流的发送在时间轴上的位置如图14所示。The flow information vector of flow S(ES1:ES4) is F(3000,0,512,(ES1:ES4),7). The flow information vector of flow S(ES2:ES4) is F(1500,336,678,(ES2:ES4),5). The flow information vector of flow S(ES3:ES4) is F(1500,886,128,(ES3:ES4),1). The positions of the three streams sent on the timeline are shown in Figure 14.

设定门控的周期为3000ns,在一个门控周期内流S(ES1:ES4)到达交换机一次,到达时间为512ns;流S(ES2:ES4)到达交换机两次,到达时间为1014ns和2514ns。S(ES3:ES4)到达交换机两次,到达时间为1014ns和2514ns。Set the gating period to 3000ns. In a gating period, flow S (ES1:ES4) arrives at the switch once, with an arrival time of 512ns; flow S (ES2:ES4) arrives at the switch twice, with arrival times of 1014ns and 2514ns. S(ES3:ES4) arrives at the switch twice, with arrival times of 1014ns and 2514ns.

交换机的门控周期为3000ns,门控设置如图15所示。The gate control period of the switch is 3000ns, and the gate control settings are shown in Figure 15.

整体工作流程为:系统初始化的时候会提前初始化流的发送事件,因此初始化之后事件表中存在5个发送事件,分别是三个节点的流的发送事件。在前面也已经提到了流到达交换机的时间,在数据流进入交换机之前不是本发明的重点,因此从流进入交换机开始进行讨论。在512ns,流S(ES1:ES4)从节点ES1向交换机传输完毕,交换结构将数据帧交换到对应的出端口,数据帧进入对应的出口模块。首先经过队列分配器,此流的优先级为7因此进入队列7。队列7发现传输可行性检查模块为空将此流的数据帧转移到传输可行性检查模块中。传输可行性检查模块开始向时间感知整型查询模块查询门控状态,时间感知整型查询模块查询当前此队列的门控状态处于开启状态,然后时间感知整型查询模块向出端口传输控制模块查询当前端口是否能发送数据帧,出端口传输控制模块发现当前端口没有正在发送的任务并且当前数据帧优先级为最高优先级7,因此返回成功状态给时间感知整型查询模块并给出发送时间,此外还将自身设置为发送状态且发送时间为512ns到1024ns,时间感知整型查询模块再返回成功状态给传输可行性检查模块,传输可行性检查模块确定此数据帧在此端口在当前时间是可以进行传输的,然后向事件缓存中注册一个数据帧的发送开始和发送结束的事件。The overall workflow is: when the system is initialized, the flow sending events will be initialized in advance, so after initialization, there are 5 sending events in the event table, which are the flow sending events of the three nodes. The time when the flow arrives at the switch has been mentioned before. Before the data flow enters the switch, it is not the focus of the present invention. Therefore, the discussion starts from when the flow enters the switch. At 512ns, the flow S (ES1:ES4) is transmitted from node ES1 to the switch. The switching structure switches the data frame to the corresponding egress port, and the data frame enters the corresponding egress module. Passing through the queue dispatcher first, this flow has priority 7 and therefore enters queue 7. Queue 7 finds that the transmission feasibility check module is empty and transfers the data frame of this flow to the transmission feasibility check module. The transmission feasibility check module starts to query the gating status of the time-aware integer query module. The time-aware integer query module queries that the gate status of this queue is currently open. Then the time-aware integer query module queries the egress port transmission control module. Whether the current port can send data frames, the egress port transmission control module finds that the current port has no sending tasks and the current data frame priority is the highest priority 7, so it returns the success status to the time-aware integer query module and gives the sending time. In addition, it also sets itself to the sending state and the sending time is 512ns to 1024ns. The time-aware integer query module then returns the success status to the transmission feasibility check module. The transmission feasibility check module determines that this data frame is available on this port at the current time. Transmit, and then register a data frame sending start and sending end event to the event cache.

在1014ns,流S(ES2:ES4)和S(ES3:ES4)从节点向交换机传输完毕。S(ES2:ES4)进入队列5,S(ES3:ES4)进入队列1。此时两个队列对应的传输可行性检查模块都为空,因此两个队列都将数据帧转交给对应的传输可行性检查模块。传输可行性检查模块开始向时间感知整型查询模块查询门控状态,发现当前处于slot1,队列5和队列1都不可以发送,向传输可行性检查模块返回失败并给后续可能能够发送的时间:1200ns,即slot2开始的时间。传输可行性检查模块接收到失败的信息之后向事件缓存注册自提醒事件提醒时间为第1200ns。At 1014ns, flows S(ES2:ES4) and S(ES3:ES4) are transmitted from the node to the switch. S(ES2:ES4) enters queue 5, and S(ES3:ES4) enters queue 1. At this time, the transmission feasibility check modules corresponding to the two queues are empty, so both queues transfer the data frames to the corresponding transmission feasibility check modules. The transmission feasibility check module began to query the time-aware integer query module for the gate control status, and found that it was currently in slot 1, and neither queue 5 nor queue 1 could send. It returned failure to the transmission feasibility check module and gave a possible time for subsequent sending: 1200ns, which is the time when slot2 starts. After receiving the failure information, the transmission feasibility check module registers a self-reminder event with the event cache. The reminder time is the 1200ns.

在1024ns,传输可行性检查模块7接收到发送完成的事件,清空自己存储的数据帧,然后向队列请求新的数据帧并发现队列为空则进入空闲状态。At 1024ns, the transmission feasibility check module 7 receives the transmission completion event, clears its stored data frames, and then requests a new data frame from the queue and enters the idle state when it finds that the queue is empty.

在1200ns,假设传输可行性检查模块1先接收到自提醒事件。传输可行性检查模块1向时间感知整型查询模块查询门控状态,时间感知整型查询模块查询当前此队列的门控状态处于开启状态,然后时间感知整型查询模块向出端口传输控制模块查询当前端口是否能发送数据帧,出端口传输控制模块发现当前时刻出端口处于空闲状态但是数据帧并不是最高优先级,因此暂时将此发送请求暂时存储到发送缓存中,并在第1201ns注册一个自检查事件。传输可行性检查模块5也接收到自提醒事件,与上面同样的流程,出端口传输控制模块发现出端口处于空闲状态,并且发送缓存中请求优先级低于此请求,因此将发送缓存中请求放入待发送缓存,将此请求放入发送缓存中,因为自检查事件已经注册就不再重复注册。上述两次操作都会向对应传输可行性检查模块发送失败信息并声明不知道时间让两个模块都进入等待外部事件的状态。At 1200ns, it is assumed that the transmission feasibility check module 1 first receives the self-reminder event. The transmission feasibility check module 1 queries the time-aware integer query module for the gating status. The time-aware integer query module queries that the gate status of this queue is currently open. Then the time-aware integer query module queries the egress port transmission control module. Whether the current port can send data frames, the egress port transmission control module finds that the egress port is idle at the current moment but the data frame is not the highest priority, so it temporarily stores this send request in the send cache and registers a self- Check the event. The transmission feasibility check module 5 also receives the self-reminder event. In the same process as above, the egress port transmission control module finds that the egress port is idle and the priority of the request in the sending cache is lower than this request, so the request in the sending cache is placed Enter the cache to be sent, and put this request into the sending cache, because the self-check event has been registered and will not be registered again. The above two operations will send failure information to the corresponding transmission feasibility check module and declare that it does not know the time to put both modules into a state of waiting for external events.

在1201ns,出端口传输控制模块接收到自检查事件,传输可行性检查模块5对应的数据帧请求处于发送缓存,传输可行性检查模块1对应数据帧请求待发送缓存中。最终能够确定传输可行性检查模块5的数据可以发送,另一个无法发送。向能够成功发送的模块注册成功发送提醒事件,并给出传输的开始和结束时间为1201ns到1879ns。向不能发送的模块注册失败事件提醒其重新进入门控检查状态,上述两个事件的时间都在1201ns。传输可行性检查模块5确定此数据帧在此端口在当前时间是可以进行传输的然后向事件缓存中注册一个数据帧的发送开始和发送结束的事件。传输可行性检查模块1重新进行发送可行性检查,时间感知整型查询模块能够通过,但是因为出端口传输控制模块正处于发送的占用状态此状态持续到1879ns,因此传输可行性检查模块1在第1879ns注册一个自提醒事件。At 1201ns, the outbound transmission control module receives a self-check event, the data frame request corresponding to the transmission feasibility check module 5 is in the sending buffer, and the data frame request corresponding to the transmission feasibility check module 1 is in the waiting to send buffer. Finally, it can be determined that the data of the transmission feasibility check module 5 can be sent, and the other cannot be sent. Register a successful sending reminder event to the module that can successfully send, and give the start and end time of the transmission as 1201ns to 1879ns. Register a failure event to the module that cannot send to remind it to re-enter the gated check state. The time of the above two events is 1201ns. The transmission feasibility check module 5 determines that this data frame can be transmitted at this port at the current time, and then registers a data frame sending start and sending end event in the event buffer. The transmission feasibility check module 1 re-performs the sending feasibility check, and the time-aware integer query module can pass, but because the outbound transmission control module is in the sending occupied state and this state lasts until 1879ns, the transmission feasibility check module 1 registers a self-reminder event at 1879ns.

在1879ns,传输可行性检查模块5接收到发送完成的事件,清空自己存储的数据帧,然后向队列请求新的数据帧并发现队列为空则进入空闲状态。传输可行性检查模块1接收到自提醒事件,时间感知整型查询模块和出端口传输控制模块都可以通过因此注册一个发送和开始的事件,开始时间为1879ns结束时间为2007ns。At 1879ns, the transmission feasibility check module 5 receives the transmission completion event, clears its stored data frames, and then requests a new data frame from the queue and enters the idle state when it finds that the queue is empty. The transmission feasibility check module 1 receives the self-reminder event, and both the time-aware integer query module and the egress port transmission control module can register a send and start event with a start time of 1879ns and an end time of 2007ns.

在2007ns传输可行性检查模块1接收到发送完成的事件,清空自己存储的数据帧,然后向队列请求新的数据帧并发现队列为空则进入空闲状态。In 2007ns, the transmission feasibility check module 1 receives the event of completion of transmission, clears its stored data frames, and then requests a new data frame from the queue and enters the idle state when it finds that the queue is empty.

2514ns到达的数据帧在交换机内部的流程和上文描述的类似,此处不再赘述。The process of the data frame arriving at 2514ns within the switch is similar to that described above and will not be described again here.

综上所述,本发明在IEEE 802.1Qbv协议的基础上设计并实现了一种基于独立的TAS软件仿真的交换机模型,用于验证时间敏感网络系统设计的可行性,提供对门控调度算法的验证,能够为各类优化算法提供时间敏感网络的软件支持。To sum up, the present invention designs and implements a switch model based on independent TAS software simulation based on the IEEE 802.1Qbv protocol, which is used to verify the feasibility of time-sensitive network system design and provide verification of the gated scheduling algorithm. , which can provide software support for time-sensitive networks for various optimization algorithms.

本发明的实施例还提供一种电子设备,该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)和一个或一个以上的存储器,其中,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述时间敏感网络交换机模型的实现方法的步骤。Embodiments of the present invention also provide an electronic device, which may vary greatly due to different configurations or performance, and may include one or more processors (central processing units, CPU) and one or more memories. Wherein, at least one instruction is stored in the memory, and the at least one instruction is loaded and executed by the processor to implement the steps of the method for implementing the time-sensitive network switch model.

在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述时间敏感网络交换机模型的实现方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。In an exemplary embodiment, a computer-readable storage medium is also provided, such as a memory including instructions, and the instructions can be executed by a processor in a terminal to complete the implementation method of the above time-sensitive network switch model. For example, the computer-readable storage medium may be ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, optical data storage device, etc.

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。It should be noted that, in this article, the terms "comprising", "comprising" or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article or terminal device including a series of elements not only includes those elements , but also includes other elements not expressly listed or inherent to such process, method, article or terminal equipment. Without further limitation, an element defined by the statement "comprises a..." does not exclude the presence of additional identical elements in a process, method, article or terminal device including the stated element.

在说明书中提到“一个实施例”、“实施例”、“示例性实施例”、“一些实施例”等指示所述的实施例可以包括特定特征、结构或特性,但未必每个实施例都包括该特定特征、结构或特性。另外,在结合实施例描述特定特征、结构或特性时,结合其它实施例(无论是否明确描述)实现这种特征、结构或特性应在相关领域技术人员的知识范围内。References in the specification to "one embodiment," "an embodiment," "exemplary embodiments," "some embodiments," etc. indicate that the described embodiments may include particular features, structures, or characteristics, but not necessarily that every embodiment All include that particular feature, structure or characteristic. Additionally, when a particular feature, structure or characteristic is described in connection with an embodiment, it should be within the knowledge of a person skilled in the relevant art to implement such feature, structure or characteristic in conjunction with other embodiments (whether explicitly described or not).

通常,可以至少部分从上下文中的使用来理解术语。例如,至少部分取决于上下文,本文中使用的术语“一个或多个”可以用于描述单数意义的任何特征、结构或特性,或者可以用于描述复数意义的特征、结构或特性的组合。另外,术语“基于”可以被理解为不一定旨在传达一组排他性的因素,而是可以替代地,至少部分地取决于上下文,允许存在不一定明确描述的其他因素。Often, a term can be understood, at least in part, from its usage in context. For example, the term "one or more" as used herein may be used to describe any feature, structure or characteristic in the singular, or may be used to describe a combination of features, structures or characteristics in the plural, depending at least in part on context. Additionally, the term "based on" may be understood as not necessarily intended to convey an exclusive set of factors, but may instead, depending at least in part on context, allow for the presence of other factors that are not necessarily explicitly described.

本发明涵盖任何在本发明的精髓和范围上做的替代、修改、等效方法以及方案。为了使公众对本发明有彻底的了解,在以下本发明优选实施例中详细说明了具体的细节,而对本领域技术人员来说没有这些细节的描述也可以完全理解本发明。另外,为了避免对本发明的实质造成不必要的混淆,并没有详细说明众所周知的方法、过程、流程、元件和电路等。The present invention covers any alternatives, modifications, equivalent methods and solutions within the spirit and scope of the invention. In order to provide the public with a thorough understanding of the present invention, specific details are described in the following preferred embodiments of the present invention, and those skilled in the art can fully understand the present invention without the description of these details. In addition, well-known methods, processes, flows, components, circuits, etc. have not been described in detail in order to avoid unnecessary confusion.

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The above are only preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention shall be included in the protection of the present invention. within the range.

Claims (4)

1.一种时间敏感网络交换机模型的实现方法,其特征在于,所述交换机模型包括依次连接的多个入端口、交换结构、出口模块和多个出端口;其中,所述出口模块包括队列分配器、多个队列、多个传输可行性检查模块、时间感知整型查询模块和出端口传输控制模块;1. An implementation method of a time-sensitive network switch model, characterized in that the switch model includes a plurality of ingress ports, a switching fabric, an egress module and a plurality of egress ports connected in sequence; wherein the egress module includes queue allocation Server, multiple queues, multiple transmission feasibility check modules, time-aware integer query module and egress port transmission control module; 当数据帧进入交换机模型之后,所述队列分配器根据数据帧中的信息将数据帧分配到合适的队列;所述队列用于数据帧的排队;所述传输可行性检查模块用于判断数据帧在后续环节的可通过性,如果可通过则向后递交,否则暂时存储在本模块;所述时间感知整型查询模块用于实现802.1Qbv协议中规定的TAS机制;所述出端口传输控制模块用于实现严格优先级以及出端口的控制功能;After the data frame enters the switch model, the queue allocator allocates the data frame to the appropriate queue according to the information in the data frame; the queue is used to queue the data frame; the transmission feasibility check module is used to determine the data frame Passability in subsequent links, if passable, will be submitted backwards, otherwise it will be temporarily stored in this module; the time-aware integer query module is used to implement the TAS mechanism specified in the 802.1Qbv protocol; the egress port transmission control module Used to implement strict priority and egress port control functions; 所述时间敏感网络交换机模型的实现方法,包括以下步骤:The implementation method of the time-sensitive network switch model includes the following steps: 数据帧从入端口进入交换机模型;交换结构按照MAC表以及交换规则将数据帧交换到对应的出口模块;队列分配器按照优先级将数据帧放入对应队列;数据帧在传输可行性检查模块等待检查;时间感知整型查询模块对数据帧进行是否通过的检查,如果不能通过则给传输可行性检查模块失败反馈,如果能通过则进行后续步骤;出端口传输控制模块对数据帧进行是否通过的检查,如果不能通过则给传输可行性检查模块失败反馈,如果能通过则进行后续步骤;数据帧从出端口传输;The data frame enters the switch model from the ingress port; the switching structure switches the data frame to the corresponding egress module according to the MAC table and switching rules; the queue distributor puts the data frame into the corresponding queue according to the priority; the data frame waits in the transmission feasibility check module Check; the time-aware integer query module checks whether the data frame passes. If it fails, it will give failure feedback to the transmission feasibility check module. If it can pass, it will proceed to the subsequent steps; the egress port transmission control module checks whether the data frame passes. Check, if it cannot pass, failure feedback will be given to the transmission feasibility check module, if it can pass, proceed to subsequent steps; the data frame is transmitted from the egress port; 其中,所述传输可行性检查模块的工作流程如下:The workflow of the transmission feasibility check module is as follows: 传输可行性检查模块初始处于空闲状态,当其接收到一个数据帧之后,会通过数据管道查询后续的时间感知整型查询模块的状态;The transmission feasibility check module is initially in an idle state. When it receives a data frame, it will query the status of the subsequent time-aware integer query module through the data pipeline; 当前的数据帧如果希望通过时间感知整型查询模块有四种可能的情况,分别是:1.能成功通过,且知道通过的时间;2.能成功通过,但是不知道通过时间;3.本次不能通过,但是可知下次可能通过的时间;4.本次不能通过,对下次的信息一无所知;结合事件表要求时间必须有时间信息的前提,情况2无法作为一个合理的时间放入事件表,所以等同于情况4;最终时间感知整型查询模块检查能提供1、3、4三种情况;If the current data frame wants to pass the time-aware integer query module, there are four possible situations, namely: 1. It can pass successfully, and the passing time is known; 2. It can pass successfully, but the passing time is not known; 3. This It cannot pass this time, but you can know the time when it may pass next time; 4. It cannot pass this time, and you know nothing about the next time; combined with the premise that the event table requires time to have time information, case 2 cannot be used as a reasonable time Put it into the event table, so it is equivalent to case 4; the final time-aware integer query module check can provide three cases 1, 3, and 4; 如果时间感知整型查询模块检查成功且知道通过时间感知整型查询模块的时间T_send,传输可行性检查模块给自己注册一个事件用于提醒自己当前数据帧发送完成;记为等待状态1;If the time-aware integer query module check is successful and the time T_send passed by the time-aware integer query module is known, the transmission feasibility check module registers an event for itself to remind itself that the current data frame is sent; it is recorded as waiting state 1; 当时间感知整型查询模块检查的结果是失败,直到下一次可能的时间,那么时间感知整型查询模块给自己注册一个事件用于提醒自己在下一次可能的时间点再次检查时间感知整型查询模块;记为等待状态2;When the time-aware integer query module check fails until the next possible time, the time-aware integer query module registers an event for itself to remind itself to check the time-aware integer query module again at the next possible time point. ;Recorded as waiting state 2; 如果时间感知整型查询模块检查的情况是失败且不知道额外信息,那么传输可行性检查模块后续的具体工作状况不能自行判断,需要其他的模块来注册特定的事件来提醒传输可行性检查模块后续该如何工作;记为等待状态3;If the time-aware integer query module check fails and no additional information is known, the subsequent specific working status of the transmission feasibility check module cannot be judged by itself. Other modules are required to register specific events to remind the transmission feasibility check module to follow up. How to work; recorded as waiting state 3; 等待状态1的流程如下:The process of waiting state 1 is as follows: 传输可行性检查模块进入等待状态1之后会等待自己注册的提醒事件,当接收到提醒事件之后说明数据帧的发送已经完成,然后清除传输可行性检查模块中的内容并通过数据管道向队列请求新的数据帧,如果队列给出的反馈是队列为空,则返回空闲状态,否则成功请求到数据帧并转入阶段4从接收一个数据帧的流程重新开始;After the transmission feasibility check module enters the waiting state 1, it will wait for the reminder event registered by itself. When the reminder event is received, it means that the sending of the data frame has been completed, and then clears the content in the transmission feasibility check module and requests new data from the queue through the data pipeline. data frame, if the feedback given by the queue is that the queue is empty, it returns to the idle state, otherwise the data frame is successfully requested and transferred to stage 4 to restart the process of receiving a data frame; 等待状态2的流程如下:The process of waiting state 2 is as follows: 在等待状态2的情况下,如果接收到自己的提醒事件则会重新转入门控检查状态5;In the case of waiting state 2, if it receives its own reminder event, it will re-enter the door control check state 5; 等待状态3的流程如下:The process of waiting state 3 is as follows: 在等待状态3的情况下,传输可行性检查模块无法给自己注册提醒事件,后面的时间感知整型查询模块或者出端口传输控制模块注册事件提醒传输可行性检查模块在合适的时间唤醒并进行下一步的工作;In the case of waiting state 3, the transmission feasibility check module cannot register a reminder event for itself. The subsequent time-aware integer query module or the egress port transmission control module registers an event to remind the transmission feasibility check module to wake up at the appropriate time and proceed. one step of work; 当传输可行性检查模块再次被唤醒时存在两种情况:1.之前尝试的检查经过一段时间之后得到了确定失败的结果,那么传输可行性检查模块重新转入门控检查状态5;2.之前尝试的检查结果最终确定为成功,那么传输可行性检查模块进入清缓存状态6,并继续进行之后的流程;When the transmission feasibility check module is awakened again, there are two situations: 1. The previously attempted check has a confirmed failure result after a period of time, then the transmission feasibility check module re-enters the gate control check state 5; 2. The previous attempt The check result is finally determined to be successful, then the transmission feasibility check module enters cache clearing state 6 and continues with the subsequent process; 所述时间感知整型查询模块的工作流程如下:The workflow of the time-aware integer query module is as follows: 时间感知整型查询模块用于实现802.1Qbv中规定的TAS机制,为传输可行性检查模块提供门控检查的接口;The time-aware integer query module is used to implement the TAS mechanism specified in 802.1Qbv and provides a gate control interface for the transmission feasibility check module; 当时间感知整型查询模块接收到检查请求之后,会首先根据自身门控配置信息检查数据帧是否能在当前时刻通过门控检查,如果不能通过则给传输可行性检查模块失败且有时间的反馈;如果能通过门控检查则进行向后检查,这里向后检查的含义是对本模块之后的模块进行检查;实际上,传输可行性检查模块只检查时间感知整型查询模块的状态然后进行相应的动作,因此传输可行性检查模块对时间感知整型查询模块进行检查的时候,时间感知整型查询模块代替传输可行性检查模块对后续模块进行检查,给传输可行性检查模块提供完整的结果让其作出正确的判断;When the time-aware integer query module receives the check request, it will first check whether the data frame can pass the gate check at the current time based on its own gate configuration information. If it cannot pass, it will give feedback to the transmission feasibility check module that it failed and has time. ;If it can pass the gate control check, it will be checked backwards. The meaning of backward check here is to check the modules after this module; in fact, the transmission feasibility check module only checks the status of the time-aware integer query module and then performs the corresponding action, so when the transmission feasibility check module checks the time-aware integer query module, the time-aware integer query module replaces the transmission feasibility check module to check the subsequent modules, and provides the transmission feasibility check module with complete results for it to make sound judgments; 如果有更多需要检查的模块则也依次进行向后检查并给传输可行性检查模块提供状态;如果时间感知整型查询模块的向后检查通过且已知时间则给传输可行性检查模块成功且已知时间的反馈;其余情况都给传输可行性检查模块失败且未知时间的反馈;If there are more modules that need to be checked, backward checks are also performed in sequence and status is provided to the transmission feasibility check module; if the backward check of the time-aware integer query module passes and the time is known, the transmission feasibility check module is successful and Feedback of known time; in other cases, the transmission feasibility check module fails and the feedback of unknown time is given; 所述出端口传输控制模块的工作流程如下:The workflow of the outbound port transmission control module is as follows: 当出端口传输控制模块被触发检查的时候,首先判断是否有数据帧正在被发送,如果有则给传输可行性检查模块失败反馈,并给当前数据发送完成的时间;如果没有数据正在发送则检查是否设定自检查,如未设定则设定并注册自检查事件;When the egress port transmission control module is triggered to check, it first determines whether there is a data frame being sent. If so, it will give failure feedback to the transmission feasibility check module and give the time when the current data transmission is completed; if no data is being sent, check Whether to set the self-check, if not set, set and register the self-check event; 设置自检查的原因:一个出端口有一个出端口传输控制模块但是对应多个传输可行性检查模块,在某个时刻T1可能存在多个传输可行性检查模块都在检查出端口传输控制模块,但是从事件表的实现原则上来说即使是同一个时刻的事件在事件表中也是存在先后顺序的,先后顺序的不同会导致对出端口传输控制模块的检查表现出不同的结果,因此必须额外加以检查;The reason for setting up self-check: An egress port has one egress port transmission control module but corresponds to multiple transmission feasibility check modules. At a certain time, T1 may have multiple transmission feasibility check modules all checking the egress port transmission control module, but In principle, from the perspective of the implementation of the event table, even events at the same time are in sequence in the event table. Different sequences will cause the inspection of the egress port transmission control module to show different results, so additional inspections must be carried out. ; 自检查的实现是注册一个未来最小时间单的事件提醒出端口传输控制模块来判断究竟是哪个传输可行性检查模块中的数据可以发送,所述最小时间单为1ns或1ps;然后判断数据帧是否是最高优先级,如果是则直接发送,给时间感知整型查询模块成功的反馈,给出时间并转入发送状态;如果不是最高优先级则先放入待发送缓存,如果当前发送缓存中的数据优先级低于自己,将其传入待发送缓存并将当前数据转入发送缓存;如果有比自己优先级高的,则什么也不做;The implementation of self-checking is to register an event with a minimum time order in the future to remind the port transmission control module to determine which data in the transmission feasibility check module can be sent. The minimum time order is 1ns or 1ps; and then determine whether the data frame It is the highest priority. If it is, it will be sent directly. It will give the time-aware integer query module successful feedback, give the time and transfer to the sending state; if it is not the highest priority, it will be put into the cache to be sent first. If it is currently in the sending cache If the data priority is lower than your own, pass it into the to-be-sent cache and transfer the current data to the sending cache; if there is data with a higher priority than your own, do nothing; 当接收到自检查事件的时候,给发送缓存中数据帧对应缓存模块发送发送成功提醒事件,给待发送缓存中的数据对应的缓存模块发送发送失败提醒事件。When a self-check event is received, a sending success reminder event is sent to the cache module corresponding to the data frame in the sending cache, and a sending failure reminder event is sent to the cache module corresponding to the data in the cache to be sent. 2.根据权利要求1所述的时间敏感网络交换机模型的实现方法,其特征在于,所述交换机模型中各模块间数据交互的方式包括以下两种:数据管道和事件;2. The implementation method of the time-sensitive network switch model according to claim 1, characterized in that the methods of data interaction between modules in the switch model include the following two: data pipelines and events; 所述交换机模型实现过程中遵循的基本规则是:如果数据只是逻辑上的交互而不需要时间的流动,采用数据管道的方式;如果数据交互需要或者会导致时间的流动,则采用事件的方式;The basic rules followed during the implementation of the switch model are: if data is only logically interactive and does not require the flow of time, use the data pipeline method; if data interaction requires or will cause the flow of time, use the event method; 其中,事件定义为:一个过程中的关键时间点以及其对应的状态信息的集合。Among them, an event is defined as: a collection of key time points in a process and its corresponding status information. 3.根据权利要求1所述的时间敏感网络交换机模型的实现方法,其特征在于,所述交换机模型所在的时间敏感网络中还包含端节点模型和事件表;所述端节点模型分为源节点模型和目的节点模型;3. The implementation method of the time-sensitive network switch model according to claim 1, characterized in that the time-sensitive network where the switch model is located also includes an end node model and an event table; the end node model is divided into source nodes Model and destination node model; 所述事件表包含时间敏感网络中所有事件的数据结构以及对应方法,将事件按照时间信息进行排序后存储在链表中,并从链表的头部依次触发事件,有的事件被触发之后会产生新的事件,新的事件也按照时间信息插入到链表中的合适位置;各个模型之间的事件包含:数据帧发送事件、数据帧发送完成事件、数据帧接收完成事件;The event table contains the data structure and corresponding methods of all events in the time-sensitive network. The events are sorted according to time information and stored in the linked list, and events are triggered sequentially from the head of the linked list. Some events will generate new events after being triggered. Events, new events are also inserted into the appropriate position in the linked list according to time information; events between each model include: data frame sending event, data frame sending completion event, data frame receiving completion event; 所述源节点模型是数据帧产生的位置,只接收数据帧发送事件;当数据帧发送事件到达源节点模型的时候,源节点模型会按照数据帧发送事件中的信息产生数据帧并在成功检测链路连通性之后向事件表注册一个数据帧发送事件并通过数据帧发送事件产生一个数据帧发送完成事件用于未来提醒自己数据帧发送完成;The source node model is the location where the data frame is generated and only receives the data frame sending event; when the data frame sending event reaches the source node model, the source node model will generate the data frame according to the information in the data frame sending event and detect it successfully. After link connectivity, register a data frame sending event to the event table and generate a data frame sending completion event through the data frame sending event to remind yourself that the data frame sending is completed in the future; 所述目的节点模型接收到数据帧接收完成事件之后会得到数据帧的信息并进行统计,包含传输时延抖动的计算以及数据帧在传输过程中状态信息的记录。After receiving the data frame reception completion event, the destination node model will obtain the information of the data frame and perform statistics, including calculation of transmission delay jitter and recording of status information of the data frame during transmission. 4.根据权利要求1所述的时间敏感网络交换机模型的实现方法,其特征在于,所述队列分配器的工作流程如下:4. The implementation method of the time-sensitive network switch model according to claim 1, characterized in that the workflow of the queue distributor is as follows: 初始时队列分配器处于空闲状态,当队列分配器接收到一个数据帧之后会转移到队列分配状态然后根据定义好的分配规则将数据帧转移到对应的数据管道由数据管道将数据帧发送到对应的队列中;之后队列分配器处于反馈等待状态,当队列通过数据管道通知队列分配器分配成功之后,队列分配器会再次进入空闲状态等待下一个数据帧的到达;Initially, the queue allocator is in idle state. When the queue allocator receives a data frame, it will transfer to the queue allocation state and then transfer the data frame to the corresponding data pipeline according to the defined allocation rules. The data pipeline will send the data frame to the corresponding in the queue; then the queue allocator is in the feedback waiting state. When the queue notifies the queue allocator that the allocation is successful through the data pipeline, the queue allocator will enter the idle state again and wait for the arrival of the next data frame; 所述队列的工作流程如下:The workflow of the queue is as follows: 当队列分配器将数据帧分配到队列后会触发队列开始工作;队列定义了两种工作情况,分别是:1.队列分配器分配数据帧到队列;2.传输可行性检查模块请求数据;When the queue allocator allocates the data frame to the queue, the queue will be triggered to start working; the queue defines two working conditions, namely: 1. The queue allocator allocates the data frame to the queue; 2. The transmission feasibility check module requests data; 针对情况1:当队列通过数据管道接收到队列分配器发送的数据帧之后会通过数据管道查询传输可行性检查模块的状态,如果传输可行性检查模块为空,则将刚才被分配的数据帧通过数据管道传递给传输可行性检查模块,否则存入队列中;不论是存入队列还是传递给传输可行性检查模块,当操作完成之后会通过数据管道给队列分配器反馈;For case 1: When the queue receives the data frame sent by the queue distributor through the data pipe, it will query the status of the transmission feasibility check module through the data pipe. If the transmission feasibility check module is empty, the data frame just allocated will be passed through. The data pipeline is passed to the transmission feasibility check module, otherwise it is stored in the queue; whether it is stored in the queue or passed to the transmission feasibility check module, when the operation is completed, feedback will be given to the queue allocator through the data pipe; 针对情况2:当传输可行性检查模块向队列发送数据请求,如果当前队列中还有正在排队的数据帧会通过数据管道递交一个数据帧,如果此时队列已经为空则会通过数据管道给传输可行性检查模块反馈。For situation 2: When the transmission feasibility check module sends a data request to the queue, if there are still data frames being queued in the current queue, a data frame will be submitted through the data pipe. If the queue is empty at this time, it will be transmitted through the data pipe. Feasibility check module feedback.
CN202310005338.5A 2023-01-04 2023-01-04 An implementation method of time-sensitive network switch model Active CN116233031B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310005338.5A CN116233031B (en) 2023-01-04 2023-01-04 An implementation method of time-sensitive network switch model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310005338.5A CN116233031B (en) 2023-01-04 2023-01-04 An implementation method of time-sensitive network switch model

Publications (2)

Publication Number Publication Date
CN116233031A CN116233031A (en) 2023-06-06
CN116233031B true CN116233031B (en) 2024-03-22

Family

ID=86581685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310005338.5A Active CN116233031B (en) 2023-01-04 2023-01-04 An implementation method of time-sensitive network switch model

Country Status (1)

Country Link
CN (1) CN116233031B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109803294A (en) * 2019-01-16 2019-05-24 南京航空航天大学 A kind of statistics priority multiple access method towards Gao Shimin business
CN111327540A (en) * 2020-02-25 2020-06-23 重庆邮电大学 A Deterministic Scheduling Method for Industrial Time-Sensitive Network Data
CN111740924A (en) * 2020-07-29 2020-10-02 上海交通大学 A Time-Sensitive Network Gating Mechanism Traffic Shaping and Routing Planning Scheduling Method
CN112105080A (en) * 2020-11-18 2020-12-18 之江实验室 Time-sensitive network data transmission system and transmission method
CN113821516A (en) * 2021-10-12 2021-12-21 上海交通大学 Time-sensitive network switching architecture based on virtual queue
CN115314444A (en) * 2022-10-11 2022-11-08 北京科技大学 A time-sensitive network gating decision-making method and device based on SDN

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9628406B2 (en) * 2013-03-13 2017-04-18 Cisco Technology, Inc. Intra switch transport protocol

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109803294A (en) * 2019-01-16 2019-05-24 南京航空航天大学 A kind of statistics priority multiple access method towards Gao Shimin business
CN111327540A (en) * 2020-02-25 2020-06-23 重庆邮电大学 A Deterministic Scheduling Method for Industrial Time-Sensitive Network Data
CN111740924A (en) * 2020-07-29 2020-10-02 上海交通大学 A Time-Sensitive Network Gating Mechanism Traffic Shaping and Routing Planning Scheduling Method
CN112105080A (en) * 2020-11-18 2020-12-18 之江实验室 Time-sensitive network data transmission system and transmission method
CN113821516A (en) * 2021-10-12 2021-12-21 上海交通大学 Time-sensitive network switching architecture based on virtual queue
CN115314444A (en) * 2022-10-11 2022-11-08 北京科技大学 A time-sensitive network gating decision-making method and device based on SDN

Also Published As

Publication number Publication date
CN116233031A (en) 2023-06-06

Similar Documents

Publication Publication Date Title
CN112105080B (en) A time-sensitive network data transmission system and transmission method
TWI601395B (en) Method for traffic shaping of data frames in network and device and computer program product therefor
JP7309859B2 (en) Traffic scheduling method, device and system
Imtiaz et al. A performance study of Ethernet Audio Video Bridging (AVB) for Industrial real-time communication
CN110943899A (en) A system and method for adapting an EPA industrial bus to a time-sensitive network
Vogt et al. HeiRAT-quality-of-service management for distributed multimedia systems
CN101471854A (en) Method and device for forwarding message
CN114666280B (en) Industrial Internet time delay optimization method based on time-sensitive software defined network
CN113678414A (en) Switching device, control device and corresponding method for enhanced schedulability and throughput over a TSN network
CN114245424A (en) Method and apparatus for a communication network
CN116032855B (en) Enhanced time-aware shaper for emergency event flows in time-sensitive networks
Wang et al. Deep reinforcement learning aided no-wait flow scheduling in time-sensitive networks
US20240236012A1 (en) Method implemented in packet-switched network for scheduling transmission of ethernet frames, computer program, and equipment
CN115022182A (en) QSILP algorithm-based train communication network real-time flow scheduling optimization method
Qian et al. QoS scheduling for NoCs: Strict priority queueing versus weighted round robin
Li et al. Reliable routing and scheduling in time-sensitive networks
CN114221912A (en) A time-sensitive network access method for aperiodic time-triggered service flow
CN106911593A (en) A kind of industrial control network array dispatching method based on SDN frameworks
Yau et al. Migrating sockets-end system support for networking with quality of service guarantees
CN116233031B (en) An implementation method of time-sensitive network switch model
CN103457815B (en) A kind of construction method being applicable to the moment dispatch list of SpaceWire network
CN116233257A (en) A non-clock synchronous traffic scheduling method and system
CN113055303B (en) Gating scheduling method suitable for multi-cycle application in time-sensitive network
Malcolm et al. Advances in hard real-time communication with local area networks
Nie et al. Tamcqf: Hybrid traffic scheduling mechanism integrating tas and multi-cqf in tsn

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