本发明涉及环网中多节点qbv门控列表计算、下发,尤其是涉及一种qbv自适应门控列表生成及配置算法。
背景技术:
1、ieee 802.1qbv定义了时间感知整形机制(time-aware shaper,tas),其原理是在标准的8个队列输出端设置了8个门控,门控状态为开时表示允许队列输出报文,门控状态为关时表示队列不允许输出报文。门控状态是由门控状态表和当前时间所决定。门控状态表描述的是门控周期内部每个时隙(即时间段)的门控状态,通过循环进行门控状态设置。每条表项定义了每个时隙下每个队列的门控状态,这里每条表项中的时隙长度可以不相同,即每条表项中门控状态的保持时间可以是不等长的。当多个队列的门控状态为开时,输出队列选择算法会根据策略选择特定的队列输出报文,这里输出选择算法通常采用绝对优先级算法(strictpriority,sp)。队列输入端则根据分组到达信息中携带的内部优先级(internal priorityvalue,ipv)字段选择分组所要进入的队列。门控状态表和分组到达信息都是通过控制平面中的规划工具输出的配置信息确定。
2、qbv现场应用涉及的门控列表生成及下发问题,通常情况下,有两种方式生成和下发门控列表,第一种方式是手工计算网络中各交换机的门控时间列表,并逐一配置到交换机,这种方式适用于固定的网络及固定业务,缺点是无法应对网络拓扑的变化;第二种方式是采用qcc协议,由qcc控制器计算计算网络中各交换机的门控时间列表,并逐一通过netconf配置到交换机,这种方式适用于比较灵活的网络及业务应用,缺点是需要有专用qcc服务器,交换机需要支持复杂的qcc协议以及netconf协议。
3、qbv自适应计算门控列表算法是一种针对交换机环形网络中的qbv技术进行优化的算法。它可以通过统筹计算交换机之间的门控列表,来保证网络流量在各个交换机之间的传输顺序和时序的一致性。同时,在环网链路切换时,qbv自适应算法可以通过重新计算门控列表,来保证网络流量的无缝传输,从而提高网络的可靠性和稳定性。
4、公开于该背景技术部分的信息仅仅旨在加深对本发明的总体背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。
技术实现思路
1、本发明的目的在于提供一种qbv自适应门控列表生成及配置算法,以解决现有技术中存在的技术问题。
2、为了实现上述目的,本发明采用以下技术方案:
3、本发明提供一种qbv自适应门控列表生成及配置算法,包括如下步骤:
4、s1:如果当前环网所有链路处于就绪状态,则ecn0 p2端口处于阻塞状态,ecn0仅向p1端口发送配置报文cp1;
5、s2:如果当前环网有链路处于故障状态,则ecn0 p2端口处于转发状态,ecn0向p1端口发送配置报文cp1,向p2端口发送配置报文cp2;
6、s3:cp1报文包含qbv业务报文描述信息,业务报文1描述信息wp1,业务报文2描述信息wp2,业务报文3描述信息wp3;
7、s4:ecn1l接收cp1报文并上送cpu;cpu根据业务报文信息,计算当前交换机所需配置的开门时间;
8、s5:ecn1l根据业务配置,往cp1报文新增业务报文描述信息wpx;
9、s6:ecn1l更新cp1报文,并发送给下一个交换机ecn2l;
10、s7:依次类推,直至下一站链路断开或者绕回至ecn0 p2端口;
11、其中,ecn0交换机作为环网主控交换机,p1是环网主端口,p2是环网备端口。
12、优选地,所述算法中每台ecn交换机加载ecn_qbv.xml配置文件后,遍历所有的wp报文列表,如果本交换机为ecn_head代表,该业务报文的qbv配置信息,由本台交换设备发起,由根据qbv协议配置报文算法,生成qbv配置报文,并发送;
13、每台ecn交换机收到qbv配置报文后,遍历ecn_qbv.xml配置的wp报文列表,找到与qbv配置报文中业务名称及方向匹配的wp报文信息,根据对应ecn_list检查本交换机是否在ecn_list中,如果在ecn_list中,则说明本交换机需要配置该业务报文的qbv门限列表,则根据“交换机收到qbv协议配置报文后算法”,生成新的qbv配置报文,并发送。
14、优选地,所述算法中ecn0生成qbv协议配置报文算法如下:
15、a.将左向业务报报文标志dir_l填充到cp报文;
16、b.将wp报文所属的tc队列编号wp_tc_num填充到cp报文;
17、c.将wp报文长度wp_length填充到cp报文;
18、d.将wp报文门控列表总数wp_gate_total填充到cp报文;
19、e.将wp报文门控基础时间wp_basetime0填充到cp报文;
20、f.将wp报文门控开门wp_gate_o_time及关门时间wp_gate_c_time填充到cp报文;
21、g.将右向业务报报文标志dir_r填充到cp报文;
22、h.将wp报文所属的tc队列编号wp_tc_num填充到cp报文;
23、i.将wp报文长度wp_length填充到cp报文;
24、j.将wp报文门控列表总数wp_gate_total填充到cp报文;
25、k.将wp报文门控基础时间wp_basetime0填充到cp报文;
26、l.将wp报文门控开门wp_gate_o_time及关门时间wp_gate_c_time填充到cp报文;
27、m.完成qbv协议配置cp报文的生成,并进行转发;
28、n.将qbv协议cp报文中的相关参数:wp_tc_num、wp_gate_total、wp_basetime、wp_gate_o_time、wp_gate_c_time信息记录到all_qbv_para中。
29、优选地,所述算法中除ecn0之外的其他其它交换机收到qbv协议配置报文后算法如下:
30、1)接收cp报文;
31、2)读取左向业务报文标志,读取业务报文wp_basetime读取wp报文长度;
32、3)根据报文长度计算sdelay;
33、4)计算pdelay,如果开启802.1as,获取802.1as协议测量的pdelay,否则获取手工输入的pdelay;
34、5)左向业务报文,计算新的 wp_basetime = wp_basetime + sdelay + pdelay,修改cp报文中该wp的wp_basetime;
35、6)读取文右向业务标志,读取业务报文wp_basetime读取wp报文长度;
36、7)根据报文长度计算sdelay;
37、8)计算pdelay,如果开启802.1as,获取802.1as协议测量的pdelay,否则获取手工输入的pdelay;
38、9)右向业务报文,计算新的 wp_basetime = wp_basetime - sdelay – pdelay;
39、10)完成qbv协议配置cp报文的修改,并进行转发;
40、11)将qbv协议cp报文中的相关参数:wp_tc_num、wp_gate_total、wp_basetime、wp_gate_o_time、wp_gate_c_time信息记录到all_qbv_para中。
41、优选地,所述算法中交换机初始化qbv配置算法如下:
42、①每台交换机初始状态为左项业务转发状态;
43、②根据all_qbv_para中左项业务报文的wp_tc_num、wp_gate_total、wp_basetime、wp_gate_o_time、wp_gate_c_time,根据qbv协议配置门限列表。
44、优选地,所述算法中当网络链路发生故障时,qbv更新配置算法如下:
45、ⅰ)当右项端口linkdown时,如果当前为左项业务转发,则读取all_qbv_para右项配置参数;
46、ⅱ)将qbv门限列表配置右项业务配置参数;
47、ⅲ)当左项端口linkdown时,如果当前为右项业务转发,则读取all_qbv_para左项配置参数;
48、ⅳ)将qbv门限列表配置左项业务配置参数。
49、采用上述技术方案,本发明具有如下有益效果:
50、本发明解决了qbv现场应用涉及的门控列表生成及下发问题,不需要支持复杂的qcc协议以及netconf协议,也可以自适应环网拓扑的变化,可以满足大量工业现场需求。