基于交换网络的一种广播调度方法技术

技术编号:8536499 阅读:178 留言:0更新日期:2013-04-04 21:14
本发明专利技术是基于交换网络的一种广播调度方法,实现广播的线速转发,确保广播消息可以同时到达所有目的端口;在多端口发送广播时,无死锁,各发送端口发送负载保持均衡;并且支持两交换机级联网络。本发明专利技术通过设计一个全局的广播仲裁器,对所有需要发送广播消息的端口进行仲裁;然后得到许可的端口向所有目的端口发送请求,得到所有目的端口许可后,发送数据帧并撤销广播发送请求;然后转入下一轮仲裁。

【技术实现步骤摘要】

本专利技术属于计算机通信技术,涉及通信网络中交換机的一种广播的调度方法。
技术介绍
现代交換式通信网络,都由节点机和交换机组成,所有节点机均通过链路与交換机相连,实现分布式通信。交換机作为整个交换网络的核心部件,负责为网络中所有节点提供单播、组播和广播的数据交换支持。为了支持更多的网络节点,通常将多个交換机进行级联来实现。 在一些实时通信系统中,对广播消息有特殊要求,要求广播消息同时达到各目的端ロ,这样就要求所有目的端ロ全部就绪后才能发送广播消息。当有多个端ロ需要同时发送广播消息时,可能会出现多个端ロ相互等待而造成广播死锁问题。另外,在两个交换机组成的级联网络中,如何实现广播消息同时到达各目的端ロ,暂无相关技术文献。
技术实现思路
本专利技术的目的是提供基于交换网络的ー种广播调度方法,实现广播的线速转发,确保广播消息可以同时到达所有目的端ロ ;在多端ロ发送广播时,无死锁,各发送端ロ发送负载保持均衡;并且支持两交换机级联网络。本专利技术通过设计ー个全局的广播仲裁器,对所有需要发送广播消息的端ロ进行仲裁;然后得到许可的端ロ向所有目的端ロ发送请求,得到所有目的端ロ许可后,发送数据帧并撤销广播发送请求;然后转入下ー轮仲裁。据此,本专利技术提出以下方案基于交换网络的ー种广播调度方法,包括以下环节I)当ー个或多个Ingress端ロ的广播队列非空时,即处于等待发送的巾贞为广播中贞状态,每个Ingress端ロ向广播仲裁器发送各自的“广播调度请求”,同时还发送级联扩展端ロ标志信号以及优先级标志信号给广播仲裁器;广播仲裁器进行仲裁,根据仲裁结果向选定的Ingress端ロ发送“广播调度许可”;2) Ingress端ロ如果未收到“广播调度许可”,则持续发送“广播调度请求”;如果收到“广播调度许可”,则根据主机配置的广播隔离寄存器,Ingress端ロ向除广播隔离端ロ外的其他所有的Egress目的端ロ发送“广播发送请求”;3) Egress目的端ロ接收到Ingress端ロ发送的“广播发送请求”后,根据步骤I)所述的优先级标志信号优先选择对高优先级“广播发送请求”采用Round Robin算法进行仲裁,根据该仲裁结果,Egress目的端ロ向相应的Ingress端ロ发送“广播发送许可”;当Egress目的端ロ接收到Ingress端ロ发送的“接受广播发送许可”后,转入下ー轮仲裁;否则,Egress目的端ロ持续发送“广播消息发送许可”;4) Ingress端ロ收齐所有Egress目的端ロ的“广播发送许可”后,向所有Egress目的端ロ发送“接受广播发送许可”;同吋,Ingress端ロ控制逻辑产生“广播数据帧出队请求”,其有效状态維持到该帧结束;控制逻辑根据优先级标志信号选择相应优先级的广播帧队列,进入广播发送状态;5) Ingress端口进入广播发送状态后,撤销向广播仲裁器发送的“广播调度请求”;同时,广播仲裁器转入下一轮仲裁,再次执行步骤I)至5);所述广播仲裁器在收到“广播调度请求”后的执行内容是a、检测级联扩展端口是否有“广播调度请求”,如果有,向该级联扩展端口发送“广播调度许可”,然后转步骤d);否则,转步骤b);b、检测是否有高优先级的“广播调度请求”,如果有,利用Round Robin算法对接收到的高优先级“广播调度请求”进行仲裁,并根据仲裁结果,向该端口发送“广播调度许可”,然后转步骤d);否则转步骤c); C、采用Round Robin算法对接收到的低优先级“广播调度请求”进行仲裁,并根据仲裁结果,向该端口发送“广播调度许可”,然后转步骤4);d、检测被许可端口是否已撤销“广播调度请求”,如果是,转步骤a),进行下一轮仲裁;否则,继续检测该端口是否已撤销“广播调度请求”。本专利技术的优点是可靠性高在单交换机及两交换机级联网络中,出现多个端口同时发送广播时,可以确保不会出现死锁。传输效率高单端口发送广播可以达到线速;多端口发送广播时,各发送端口发送均衡。可扩展性强只需要对仲裁器Round Robin端口数目进行扩充,即可支持更多端口的交换机广播的设计和实现。支持广播隔离可以根据实际情况,通过主机配置,使部分端口不接收广播帧。附图说明图1是广播实现方案示意图;图2是广播仲裁器工作流程示意图;图3是广播发送流程示意图。具体实施例方式本专利技术的实现方式分为广播整体方案、广播仲裁器、广播发送流程三个部分。下面以支持两级优先级的32端口交换机为例,对三个部分进行具体介绍。1.广播实现方案如图1所示,当交换机的某个或某些Ingress端口(端口输入端)接收到广播数据帧时,需要向广播仲裁器发送“广播调度请求”,同时执行下述过程I)广播仲裁器从所有的“广播调度请求”端口中,通过“广播仲裁器”仲裁出某一个端口,向它发送“广播调度许可”;2)收到“广播调度许可”的Ingress端口,向所有需要接收广播的Egress目的端口(端口输出端)发送“广播发送请求”信号,在收齐所有Egress目的端口回复的“广播发送许可”后,转入发送状态,并撤销向广播仲裁器发送的“广播调度请求”信号;没有收到“广播调度许可”的Ingress端口,则持续向广播仲裁器发送“广播调度请求”;3)广播仲裁器在向某Ingress端口发送出“广播调度许可”后,持续检测该端口的“广播调度请求”信号是否已被撤销,当检测到该信号撤销后,转步骤1),进行下一轮仲裁。2.广播仲裁器为避免出现广播风暴,广播消息只能通过一个级联扩展端口。广播仲裁器采用基于优先级的Round Robin算法,优先接受高优先级的请求,其中,级联扩展端口优先级最高,其它端口优先级为相应广播帧的优先级。如图2所示,广播仲裁器工作流程如下I)检测级联扩展端口是否有“广播调度请求”,如果有,向该级联扩展端口发送“广播调度许可”,然后转步骤4);否则,转步骤2);2)检测是否有高优先级的“广播调度请求”,如果有,利用Round Robin算法对接收 到的高优先级“广播调度请求”进行仲裁,并根据仲裁结果,向该端口发送“广播调度许可”,然后转步骤4);否则转步骤3);3)利用Round Robin算法对接收到的低优先级“广播调度请求”进行仲裁,并根据仲裁结果,向该端口发送“广播调度许可”,然后转步骤4);4)检测被许可端口是否已撤销“广播调度请求”,如果是,转步骤I ),进行下一轮仲裁;否则,继续检测该端口是否已撤销“广播调度请求”。3.广播发送流程每个数据端口的Ingress端口有一个输入缓存,用来缓存接收到的各种数据帧。该缓存被分成大小相同的N个分区(典型值为4,8,12,14,16),每个缓存分区足够存储一个最大帧。每个缓存分区有一个对应的位置指针,取值分别为O N。尚未使用的缓存分区以及刚释放的缓存分区的位置指针存放在一个指针池中,该指针池用FIFO来实现。每个数据端口的Ingress端口有若干个队列32个单播低优先级队列,32个单播高优先级队列,I个多播低优先级队列,I个多播高优先级队列,I个广播低优先级队列,I个广播高优先级队列。当一个数据帧进入Ingress端口时,从指针池读出未被使用的缓存分区位置指针,然后根据该指针将数据帧写入到输入缓存中对应的位置。同时,根据该数据帧的目的地址,将位置指针写入对应的队列队尾。如图3所示本文档来自技高网...

【技术保护点】
基于交换网络的一种广播调度方法,包括以下环节:1)当一个或多个Ingress端口的广播队列非空时,即处于等待发送的帧为广播帧状态,每个Ingress端口向广播仲裁器发送各自的“广播调度请求”,同时还发送级联扩展端口标志信号以及优先级标志信号给广播仲裁器;广播仲裁器进行仲裁,根据仲裁结果向选定的Ingress端口发送“广播调度许可”;2)Ingress端口如果未收到“广播调度许可”,则持续发送“广播调度请求”;如果收到“广播调度许可”,则根据主机配置的广播隔离寄存器,Ingress端口向除广播隔离端口外的其他所有的Egress目的端口发送“广播发送请求”;3)Egress目的端口接收到Ingress端口发送的“广播发送请求”后,根据步骤1)所述的优先级标志信号优先选择对高优先级“广播发送请求”采用Round?Robin算法进行仲裁,根据该仲裁结果,Egress目的端口向相应的Ingress端口发送“广播发送许可”;当Egress目的端口接收到Ingress端口发送的“接受广播发送许可”后,转入下一轮仲裁;否则,Egress目的端口持续发送“广播消息发送许可”;4)Ingress端口收齐所有Egress目的端口的“广播发送许可”后,向所有Egress目的端口发送“接受广播发送许可”;同时,Ingress端口控制逻辑产生“广播数据帧出队请求”,其有效状态维持到该帧结束;控制逻辑根据优先级标志信号选择相应优先级的广播帧队列,进入广播发 送状态;5)Ingress端口进入广播发送状态后,撤销向广播仲裁器发送的“广播调度请求”;同时,广播仲裁器转入下一轮仲裁,再次执行步骤1)至5);所述广播仲裁器在收到“广播调度请求”后的执行内容是:a、检测级联扩展端口是否有“广播调度请求”,如果有,向该级联扩展端口发送“广播调度许可”,然后转步骤d);否则,转步骤b);b、检测是否有高优先级的“广播调度请求”,如果有,利用Round?Robin算法对接收到的高优先级“广播调度请求”进行仲裁,并根据仲裁结果,向该端口发送“广播调度许可”,然后转步骤d);否则转步骤c);c、采用Round?Robin算法对接收到的低优先级“广播调度请求”进行仲裁,并根据仲裁结果,向该端口发送“广播调度许可”,然后转步骤4);d、检测被许可端口是否已撤销“广播调度请求”,如果是,转步骤a),进行下一轮仲裁;否则,继续检测该端口是否已撤销“广播调度请求”。...

【技术特征摘要】
1.基于交换网络的一种广播调度方法,包括以下环节O当一个或多个Ingress端口的广播队列非空时,即处于等待发送的帧为广播帧状态,每个Ingress端口向广播仲裁器发送各自的“广播调度请求”,同时还发送级联扩展端口标志信号以及优先级标志信号给广播仲裁器;广播仲裁器进行仲裁,根据仲裁结果向选定的Ingress端口发送“广播调度许可”;2)Ingress端口如果未收到“广播调度许可”,则持续发送“广播调度请求”;如果收到 “广播调度许可”,则根据主机配置的广播隔离寄存器,Ingress端口向除广播隔离端口外的其他所有的Egress目的端口发送“广播发送请求”;3)Egress目的端口接收到Ingress端口发送的“广播发送请求”后,根据步骤I)所述的优先级标志信号优先选择对高优先级“广播发送请求”采用Round Robin算法进行仲裁, 根据该仲裁结果,Egress目的端口向相应的Ingress端口发送“广播发送许可”;当Egress目的端口接收到Ingress端口发送的“接受广播发送许可”后,转入下一轮仲裁;否则,Egress目的端口持续发送“广播消息发送许可”;4)Ingress端口收齐所有Egress目的...

【专利技术属性】
技术研发人员:李玉发李大鹏黄韬王红春王晓华田园蒲恺
申请(专利权)人:中国航空工业集团公司第六三一研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1