一种交换机数据转发方法及装置

文档序号:1630667 发布日期:2020-01-14 浏览:16次 >En<

阅读说明:本技术 一种交换机数据转发方法及装置 (Switch data forwarding method and device ) 是由 徐东远 张超 张兴隆 张鹏飞 叶有平 于 2019-09-03 设计创作,主要内容包括:本发明提供一种交换机数据转发方法,所述方法包括:接收待转发的数据;通过对所述数据进行帧解析,判断所述数据帧的类型;若所述数据帧的类型为时间触发帧,则对所述数据帧的接收时间进行判断;若所述数据帧的接收时间在规划时间表内,根据预设的数据转发表转发所述数据帧;若所述数据帧的接收时间不在规划时间表内,则丢弃数据帧。(The invention provides a data forwarding method for a switch, which comprises the following steps: receiving data to be forwarded; judging the type of the data frame by carrying out frame analysis on the data; if the type of the data frame is a time trigger frame, judging the receiving time of the data frame; if the receiving time of the data frame is in a planning time table, forwarding the data frame according to a preset data forwarding table; and if the receiving time of the data frame is not in the planning time table, discarding the data frame.)

一种交换机数据转发方法及装置

技术领域

本发明一种时间规划网络交换机交换引擎算法属于通信技术领域。

背景技术

现有的交换机交换引擎算法是基于事件型以太网帧数据转发应用,由于事件触发的不确定性,现有的交换机交换引擎算法安全性、稳定性和可靠性较低,系统带宽利用率低。

发明内容

本发明的目的是提出用于时间规划网络交换机交换引擎算法,该算法针对于时间规划网络特点以及硬件可实施性,使交换机能够高效的完成不同类型数据帧(适用于时间触发帧和以太网帧)的转发,保证整个网络系统的稳定性和可靠性,尽可能提高系统带宽利用率。

第一方面,本发明提供一种交换机数据转发方法,所述方法包括:

接收待转发的数据;

通过对所述数据进行帧解析,判断所述数据帧的类型;

若所述数据帧的类型为时间触发帧,则对所述数据帧的接收时间进行判断;

若所述数据帧的接收时间在规划时间表内,根据预设的数据转发表转发所述数据帧;若所述数据帧的接收时间不在规划时间表内,则丢弃数据帧。

可选的,所述方法还包括:

若所述数据帧的类型为以太网帧,则判断当前时刻是否有时间触发帧的数据要发送;

若有时间触发帧的数据要发送,则优先发送所述数据帧的类型为时间触发帧的数据;

若没有时间触发帧的数据要发送,则发送数据帧的类型为以太网帧的数据。

可选的,所述发送数据帧的类型为以太网帧的数据,具体包括:

判断所述数据的发送模式;

若所述数据的发送模式是组播帧,则将所述数据发送至组播输出仲裁器,以便组播输出仲裁器完成数据发送;

若所述数据的发送模式是单播帧,则对所述数据进行发送链路建立,发送至输出仲裁器完成数据发送。

可选的,在判断数据帧的类型为以太网帧之后,所述方法还包括:

将所述以太网帧存储到虚拟输出队列缓存区。

可选的,在判断数据帧的接收时间在规划时间表内之后,所述方法还包括:

根据数据转发表,将时间触发帧存储到对应的虚拟输出队列缓存区。

可选的,所述规划时间表用于确定所述数据帧的转发时刻。

第二方面,本发明提供一种交换机数据转发装置,其特征在于,所述装置包括接收单元、判断单元、转发单元,其中:

所述接收单元,用于接收待转发的数据;

所述判断单元,用于通过对所述接收单元接收的数据进行帧解析,判断所述数据帧的类型;在所述数据帧的类型为时间触发帧时,对所述数据帧的接收时间进行判断;

所述转发单元,用于在所述数据帧的接收时间在规划时间表内时,根据预设的数据转发表转发所述数据帧;在所述数据帧的接收时间不在规划时间表时,丢弃数据帧。

可选的,所述判断单元,还用于在所述数据帧的类型为以太网帧时,判断当前时刻是否有时间触发帧的数据要发送;

所述转发单元,还用于在有时间触发帧的数据要发送时,优先发送所述数据帧的类型为时间触发帧的数据;在没有时间触发帧的数据要发送时,发送数据帧的类型为以太网帧的数据。

本发明具有的优点和有益效果:本发明提供时间规划网络交换引擎实现方案,保证数据功能正常转发的同时,还能够保证时间规划网络系统的可靠性和稳定性。最大限度上提高了时间规划网络系统带宽的利用率。

附图说明

图1为本申请提供的一种虚拟输出队列模块的示意图;

图2本申请提供的一种交换引擎算法框图;

图3本申请提供的一种以太网帧链路建立过程;

图4本申请提供的一种输出控制模块状态跳转图;

图5本申请提供的一种时间规划网络交换引擎算法建立实例;

图6本申请提供的一种时间规划网络数据流向说明。

具体实施方式

时间规划网络是基于时间规划的高可靠分布式总线网络协议。时间触发服务在整个网络系统中建立了全局时钟,节点之间的通信基于全局时间来进行,保证了通信延迟和时间偏移的确定性。在航空和其他安全关键领域中,时间规划网络的应用越来越广泛,包括宇航中的系统集成、地面交通工具以及工业过程控制等,汽车工程师协会(SAE)已经将时间规划网络形成AS6802协议标准。

时间规划网络是在以太网架构基础上增加了时间触发服务,整个网络系统是一个无主系统,时间规划网络需要周期性同步,在每个综合周期内,时间规划网络组件通过发送协议控制帧(PCF)来建立和维持时钟同步,时间规划网络系统中总共有三种组件,分别为压缩主设备(一般为交换机)、同步主设备(一般为端系统)、同步从设备(一般为其它设备)。

时间规划网络能够将本地时钟与系统中其它通信控制器及交换机的时钟同步起来,根据规划时间表规划好的发送时刻传输数据帧,保证系统不能有两个时间触发帧(TT)进行竞争传输;时间触发通信不是基于优先级,它仅由时间进程以及规划时间表驱动,这样时间触发帧就防止了网络通信阻塞,并使时间触发帧在以太网中的通信不受任何异步以太网流量负荷的影响,具有固定的时延。除了时间触发帧以外,网络中还有非时间触发通信,在一个时间触发系统中,网络中有两种类型数据:时间触发帧(TT)、以太网帧(BE)。

时间规划网络组件中压缩主设备占有重要的位置,而压缩主设备一般都由交换机来实现;交换机在其中实现的主要作用有两方面:1.时间同步阶段起到压缩作用,用于时间同步建立;2.交换作用,转发来自于不同同步主设备和同步从设备的数据帧,决定了时间触发以太网通信的性能和带宽利用率,而交换作用的实现就是用交换机数据转发方法来实现的。

具体的,时间触发以太网交换引擎算法实现主要包含以下模块:帧解析过滤模块、虚拟输出队列模块、单播请求模块、组播请求模块、单播输出仲裁器、组播输出仲裁器和输出控制模块;

帧解析过滤模块:实现功能是时间规划网络数据帧解析作用,如果是以太网帧,则放入到以太网帧的虚拟输出队列缓存区中;如果是时间触发帧,首先判断时间触发帧(TT)是否是在规划时间表内到达,如果不是在规划时间表内,则丢弃;如果时间触发帧是在规划时间表内,则根据数据转发表,将时间触发帧(TT)放入到相应虚拟输出队列里面去。

虚拟输出队列模块:考虑到队头阻塞的影响,交换机输入端口缓冲区采用虚拟输出队列:每个输入端口划分成2N个缓冲区,N个为以太网帧虚拟输出队列,每一个缓冲区对应每一个输出端口;N个为时间触发帧虚拟输出队列,每一个缓冲区对应每一个输出端口,时间触发帧根据数据转发表转发到相应的输出端口;链路直接建立的原因是基于时间规划网络的特点,由于时间规划网络是根据预设的数据转发表转发,不存在冲突,所以链路可以直接建立好(若此时输出控制模块处于忙状态,则采取打断处理方式,因为时间触发帧的优先级高)。

单播请求模块:此模块功能针对以太网单播帧,经过帧解析过滤模块后,发现时间触发帧为空时,而以太网帧虚拟输出队列为非空时,根据此时这个输入端口非空序号,选择其中一个向相应的输出端口发送请求。选择原则:从1到N形成一个链表,按照顺序轮询方式,选择链表第一个,若后面链路建立起来,则链表第一位数字放置到最后面,其余序号往前面移动一位;若没有建立连接,则顺序不变化。

组播请求模块:此模块功能针对以太网组播帧,组播请求不同于单播请求,组播输入缓冲区不用虚拟输出队列实现,组播的选择只是在输入N个端口选择其中一个端口;选择原则:从1到N形成一个链表(链表中每个数字表示的是每个输入端口序号,共N个端口),按照顺序轮询方式,选择链表第一个,若后面链路建立起来,则链表第一位数字放置到最后面,其余序号往前面移动一位;若没有建立连接,则顺序不变化。

单播输出仲裁器:此模块功能针对以太网单播帧,其功能是从来自输入端口的各个单播请求中选择其中一个,形成一条连接;选择原则:从1到N形成一个链表,按照顺序轮询方式,选择链表第一个,若后面链路建立起来,则链表第一位数字放置到最后面,其余序号往前面移动一位;若没有建立连接,则顺序不变化。

组播输出仲裁器:此模块功能针对以太网组播帧,其功能是从来自N个输入端口的各个多播请求中选择其中一个,形成一条连接;选择原则:从1到N形成一个链表,按照顺序轮询方式,选择链表第一个,若后面链路建立起来,则链表第一位数字放置到最后面,其余序号往前面移动一位;若没有建立连接,则顺序不变化。

输出控制模块:输出控制模块主要作用是用于选择输出链路的建立。对于每一个输出端口,如果此时虚拟输出队列模块中有时间触发帧,则输出控制模块进入到时间触发帧发送状态;如果此时虚拟输出队列模块中没有时间触发帧,而有以太网帧,则输出控制模块进入到以太网帧发送状态,若以太网帧是组播帧,则优先进入组播发送状态,否则进入单播发送状态;虚拟输出队列模块中既没有时间触发帧也没有以太网帧,则输出控制模块处于初始化状态。

下面参考附图对时间规划网络交换机数据转发方法主要部分进行详细的说明。

如图1所示,这部分模块是虚拟输出队列模块,主要功能是数据帧缓冲作用,时间触发帧缓冲区用N个先入先出队列(FIFO)实现即可,先入先出队列的深度就是两个最大时间触发帧的大小。考虑到时间规划这一因素,这样的设计是合理并且节省硬件资源;以太网帧缓冲区用N个先入先出队列实现,每个先入先出队列缓冲区的深度为8个最大以太网帧的大小,由于普通以太网帧是事件触发,所以缓冲区的深度会比较大。

如图2所示,这部分描述整个时间规划网络转发方法,数据帧进入交换机首先进入帧解析过滤模块,解析出来的帧如果是时间触发帧,需要检查其时间是否是在规划时间表内,如果在规划时间表内,进入时间触发帧虚拟输出队列缓冲区,通过查询数据转发表直接将时间触发帧转发出去;如果解析出来的是以太网帧,放入以太网帧虚拟输出队列缓冲区,进入轮询请求阶段(前提是没有时间触发帧,因为时间触发帧的优先级高),许可阶段,最后实现链路建立发送以太网帧。

如图3所示,这部分主要描述以太网帧链路建立过程,是一个实例。输入0端口,有发送到输出0端口和输出1端口的以太网帧,输入1端口,有发送到输出0端口的以太网帧,输入2端口,有发送到输出2端口的以太网帧;对于输入0端口,有向输出0端口的请求和输出1端口的请求,由于轮询指针此时指向0,所以选择向输出0端口发送请求,对于输入1端口,只有发送到输出0端口的以太网帧,所以选择向输出0端口发送请求,对于输入2端口,由于只有发送到输出2端口的以太网帧,所以选择向输出2端口发送请求。许可阶段:由于输出0端口收到了来自输入0端口和输入1端口的请求,根据轮询指向,选择输入1端口,建立连接;输出2端口只收到输入2端口的请求,建立连接。建立连接的端口,轮询指针更新,更新情况见图。

如图4所示,这部分主要说明输出控制模块跳转状态图;上电起始阶段,输出控制模块处于初始化状态;一旦有时间触发帧进入虚拟输出队列缓冲区域,输出控制模块进入时间触发帧发送状态,直接转发时间触发帧;如果有以太网帧(没有时间触发帧),则输出控制模块进入以太网帧发送状态,根据要转发的以太网帧是组播帧还是单播帧,进入到不同的状态,组播帧优先级高,同时存在的情况下,优先进入组播状态。

如图5所示,这部分主要介绍时间规划网络数据转发方法的一个实例。输入0端口有发送到1端口的时间触发帧,还有发送到输出0端口的以太网帧;由于时间触发帧的优先级高,由于时间规划网络是根据预设的数据转发表转发,不存在冲突,所以链路可以直接建立好(不同于以太网帧转发方法)。输入1端口有发送到输出0端口的时间触发帧,还有发送到输出1端口的以太网帧以及输出2端口的以太网帧,由于时间触发帧的优先级高,形成输入1端口到输出0端口的建立,直接转发时间触发数据帧;输入2端口有发送到输出2端口的以太网帧,由于没有时间触发帧,则进入请求许可阶段,最后形成输入2端口到输出2端口的链路建立。至此,一个数据转发方法实例链路建立完成,通过这个例子,可以看出这种算法在保证时间触发以太网可靠性和稳定性的同时,可以提高带宽利用率。

如图6所示,这部分主要介绍时间规划网络数据流向说明。当有数据进入到输入端口时,首先帧解析过滤模块对其进行解析,若不在规划时间表内,则数据帧丢弃;若在规划时刻表到达,判断其是以太网帧还是时间触发帧,不同类型的帧则放入相应的虚拟输出队列缓冲区。如果是时间触发帧,进入虚拟输出队列缓冲区后直接完成转发,因为其优先级最高;如果是以太网帧,则要区分是组播帧还是单播帧,若是组播帧,进入组播请求模块,到组播输出仲裁器完成组播的建立;若是单播帧,进入单播请求模块,到单播输出仲裁器完成单播的建立;最后数据流向输出仲裁器,若有时间触发帧则优先完成时间触发帧的转发,其次是以太网组播帧,最后是以太网单播帧的转发。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于对角分块带状矩阵增强的正交信分复用均衡方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!