基于FC网络的一种级联端口负载均衡方法技术

技术编号:13005754 阅读:149 留言:0更新日期:2016-03-10 17:27
本发明专利技术属于计算机应用技术,公开了一种基于FC网络的一种级联端口负载均衡方法,本发明专利技术通过FC节点机和FC交换机实现,针对单播、多播及广播数据帧分别提出了相应的级联端口负载均衡方法,该方法控制简单,易于硬件逻辑实现;可保证各级联端口流量负载均衡;易于扩展,支持多FC交换机级联网络;可保证数据帧通过级联端口后不会出现乱序。

【技术实现步骤摘要】

本专利技术属于计算机应用技术,涉及基于FC网络的一种级联端口负载均衡方法的实现。
技术介绍
FC网络具备高带宽、低延迟和高可靠等特性,非常适合在对数据传输实时性有较高要求的分布式实时系统中使用。FC交换机作为整个FC网络的核心部件,负责为网络中所有节点提供单播、组播和广播的数据交换支持。为了支持更多的网络节点,通常通过级联端口将交换机进行级联组成级联网络。当数据帧通过级联端口在交换机之间进行传输时,各级联端口负载存在不均衡的情况,导致网络传输拥堵。
技术实现思路
本专利技术的目的是,为解决网络传输拥堵的技术问题,提出了一种基于FC网络的一种级联端口负载均衡方法,来保证各个级联端口以相同的负载传输数据帧。本专利技术的技术解决方案是,基于FC网络的一种级联端口负载均衡方法,其特殊之处在于,若FC网络中传输的数据帧为单播1) FC节点机向FC交换机发送单播数据帧1.1)上电复位FC节点机,将该帧帧头的0X_ID初始化为0x0,该帧帧头的D_ID初始化为0x0 ;1.2)判断该帧是否为第一帧:如果是,跳转到步骤1.3);否则,跳转到步骤1.5);1.3)将该帧的0X_ID设置为0x0080,并记录该帧D_ID及0X_ID,跳转到步骤1.4);1.4)填充该帧帧头其它字段,该帧具备发送条件后将该帧发送至FC交换机;发送完成后,跳转到步骤1.2);1.5)判断该帧0_10与上一帧的D_ID是否相同:如果相同,则跳转到步骤1.6);否则,跳转到步骤1.7);1.6)将该帧0X_ID设置为上一帧的0X_ID值,并记录该帧D_ID及0X_ID,跳转到步骤1.4);1.7)判断上一帧0X_ID值是否等于OxFFFE:如果等于,则跳转到步骤1.3);否则,跳转到步骤1.8);1.8)将该帧的0X_ID设置为上一帧的0X_ID值加1 ;并记录该帧D_ID及0X_ID,跳转到步骤1.4);2)FC交换机单播数据帧发送至级联端口2.1)配置级联端口路由表,其中该路由表地址为级联端口编号,取值从0到N-1 ;路由表内容为级联端口端口号;2.2) FC交换机接收到的单播数据帧D_ID判断该帧目的端口是否为本地端口:如果是,跳转到步骤2.3);否则,跳转到步骤2.4);2.3)根据该帧0_10进行路由寻址,并进行转发;转发完成后,跳转到步骤2.2);2.4)解析出该帧的0X_ID,将该0X_ID值与接收到该单播数据帧的端口对应的端口号相加;跳转到步骤2.5);2.5)将步骤2.4)所得结果对FC交换机的级联端口数目N取模求余;跳转到步骤2.6);2.6)根据步骤2.5)所得结果作为地址,查询级联端口路由表,得到与步骤2.5)所得结果对应的级联端口端口号,跳转到步骤2.7);2.7)将该帧转发到步骤2.6)所得级联端口端口号对应的级联端口,转发完成后跳转到步骤2.2);若FC网络中传输的数据帧为多播I)配置多播路由表,其中该路由表地址为多播ID,路由表内容为多播目的端口 ;II)FC交换机接收到多播数据帧后,解析得到该帧的多播ID ;跳转到步骤III);III)根据步骤II)得到的多播ID作为地址查询多播路由表,得到多播目的端口 ;跳转到步骤IV);IV)判断步骤III)所得的多播目的端口中是否包含级联端口:如果包含,跳转到步骤V);否则,跳转到步骤VIII);V)将该帧的多播ID与接收该帧的端口对应的端口号相加,跳转到步骤VI);VI)将步骤V)所得结果对级联端口数目N取模求余,跳转到步骤VII);VII)根据步骤VI)所得余数,将步骤III)得到的多播目的端口中级联端口对应位置1,其余级联端口对应位置0,得到新的多播目的端口 ;VIII)根据步骤III)得到的多播目的端口或步骤VII)得到的新的多播目的端口,将该帧进行转发;转发完成后,跳转到步骤II);若FC网络中传输的数据帧为广播a)配置广播路由寄存器,该寄存器内容为广播目的端口 ;b)FC交换机接收到广播数据帧后,查询广播路由寄存器,得到广播目的端口 ;跳转到步骤c);c)判断步骤b)所得的广播目的端口中是否包含级联端口:如果包含,跳转到步骤d);否则,跳转到步骤f);d)将接收该帧的端口对应的端口号对级联端口数目N取模求余,跳转到步骤e);e)根据步骤d)所得余数,将步骤b)得到的广播目的端口中级联端口对应位置1,其余级联端口对应位置0,得到新的广播目的端口 ;f)根据步骤b)得到的广播目的端口或步骤e)得到的新的广播目的端口,将该帧进行转发;转发完成后,跳转到步骤b)。若FC网络中传输的数据帧为多播时,相应步骤I)中所述多播ID的取值从0x0到OxFE。若FC网络中传输的数据帧为多播时,相应步骤I)中还包括如下操作:如果需要通过级联端口转发多播数据帧,则将多播目的端口中级联端口任一端口对应位置1,其余级联端口对应位置0 ;否则,将级联端口对应位全部置0。若FC网络中传输的数据帧为广播时,相应步骤a)中还包括如下操作:如果广播帧需要通过级联端口转发广播数据帧,则将广播目的端口中级联端口任一端口对应位置1 ;否则,将级联端口对应位全部置0。本专利技术具有的优点是:(1)控制简单,易于硬件逻辑实现;(2)可保证各级联端口流量负载均衡;(3)易于扩展,支持多FC交换机级联网络;(4)可保证数据帧通过级联端口后不会出现乱序。【附图说明】 图1是FC交换机级联示意图;图2是FC节点机单播数据帧均衡处理流程图;图3是FC交换机单播数据帧均衡处理流程图;图4是FC交换机多播数据帧均衡处理流程图;图5是FC交换机广播数据帧均衡处理流程图。【具体实施方式】本专利技术针对单播、多播及广播数据帧分别提出相应的级联端口负载均衡方法:(1)单播数据帧通过级联端口时的负载均衡由FC节点机和FC交换机共同完成。FC节点机发送单播数据帧时,对帧头0X_ID字段按照特定规则进行填充,然后发送。FC交换机接收到单播数据帧后,根据解析到的0X_ID字段,然后0X_ID加上端口号所得结果对级联端口数目求模取余的方法,来选择相应的级联端口进行路由,实现负载均衡;(2)多播数据帧的级联端口负载均衡通过FC交换机完成,通过对多播ID与端口号求和,然后对级联端口数目求模取余的方法实现级联路径的选择,实现级联端口的负载均衡;(3)广播数据帧的级联端口负载均衡通过FC交换机完成,通过对端口号对级联端口数目求模取余的方法实现级联路径的选择,实现级联端口的负载均衡。下面结合附图,从单播、多播及广播数据帧三种数据帧分别对级联端口负载均衡方法的【具体实施方式】进行详细说明。如图1所示,为两个FC交换机组成的级联交换网络,两个FC交换机通过N个级联端口进行级联,交换机其余端口分别与节点机连接。1、若FC网络中传输的数据帧为单播单播数据帧通过级联端口时的负载均衡由FC节点机和FC交换机共同完成。FC节点机发送单播数据帧时,对帧头0X_ID字段按照特定规则进行填充,然后发送。FC交换机接收到单播数据帧后,根据解析到的帧头字段选择相应的级联端口进行路由,实现负载均衡。1) FC节点机向FC交换机发送单播数据帧1.1)上电复位FC节点机,将该帧帧头的0X_ID初始化为0x0,该帧帧头的D_ID初始化为0x0 ;1.2)判断该帧是否为第一帧:本文档来自技高网...
基于FC网络的一种级联端口负载均衡方法

【技术保护点】
基于FC网络的一种级联端口负载均衡方法,其特征在于,若FC网络中传输的数据帧为单播1)FC节点机向FC交换机发送单播数据帧1.1)上电复位FC节点机,将该帧帧头的OX_ID初始化为0x0,该帧帧头的D_ID初始化为0x0;1.2)判断该帧是否为第一帧:如果是,跳转到步骤1.3);否则,跳转到步骤1.5);1.3)将该帧的OX_ID设置为0x0080,并记录该帧D_ID及OX_ID,跳转到步骤1.4);1.4)填充该帧帧头其它字段,该帧具备发送条件后将该帧发送至FC交换机;发送完成后,跳转到步骤1.2);1.5)判断该帧D_ID与上一帧的D_ID是否相同:如果相同,则跳转到步骤1.6);否则,跳转到步骤1.7);1.6)将该帧OX_ID设置为上一帧的OX_ID值,并记录该帧D_ID及OX_ID,跳转到步骤1.4);1.7)判断上一帧OX_ID值是否等于0xFFFE:如果等于,则跳转到步骤1.3);否则,跳转到步骤1.8);1.8)将该帧的OX_ID设置为上一帧的OX_ID值加1;并记录该帧D_ID及OX_ID,跳转到步骤1.4);2)FC交换机单播数据帧发送至级联端口2.1)配置级联端口路由表,其中该路由表地址为级联端口编号,取值从0到N‑1;路由表内容为级联端口端口号;2.2)FC交换机接收到的单播数据帧D_ID判断该帧目的端口是否为本地端口:如果是,跳转到步骤2.3);否则,跳转到步骤2.4);2.3)根据该帧D_ID进行路由寻址,并进行转发;转发完成后,跳转到步骤2.2);2.4)解析出该帧的OX_ID,将该OX_ID值与接收到该单播数据帧的端口对应的端口号相加;跳转到步骤2.5);2.5)将步骤2.4)所得结果对FC交换机的级联端口数目N取模求余;跳转到步骤2.6);2.6)根据步骤2.5)所得结果作为地址,查询级联端口路由表,得到与步骤2.5)所得结果对应的级联端口端口号,跳转到步骤2.7);2.7)将该帧转发到步骤2.6)所得级联端口端口号对应的级联端口,转发完成后跳转到步骤2.2);若FC网络中传输的数据帧为多播I)配置多播路由表,其中该路由表地址为多播ID,路由表内容为多播目的端口;II)FC交换机接收到多播数据帧后,解析得到该帧的多播ID;跳转到步骤III);III)根据步骤II)得到的多播ID作为地址查询多播路由表,得到多播目的端口;跳转到步骤IV);IV)判断步骤III)所得的多播目的端口中是否包含级联端口:如果包含,跳转到步骤V);否则,跳转到步骤VIII);V)将该帧的多播ID与接收该帧的端口对应的端口号相加,跳转到步骤VI);VI)将步骤V)所得结果对级联端口数目N取模求余,跳转到步骤VII);VII)根据步骤VI)所得余数,将步骤III)得到的多播目的端口中级联端口对应位置1,其余级联端口对应位置0,得到新的多播目的端口;VIII)根据步骤III)得到的多播目的端口或步骤VII)得到的新的多播目的端口,将该帧进行转发;转发完成后,跳转到步骤II);若FC网络中传输的数据帧为广播a)配置广播路由寄存器,该寄存器内容为广播目的端口;b)FC交换机接收到广播数据帧后,查询广播路由寄存器,得到广播目的端口;跳转到步骤c);c)判断步骤b)所得的广播目的端口中是否包含级联端口:如果包含,跳转到步骤d);否则,跳转到步骤f);d)将接收该帧的端口对应的端口号对级联端口数目N取模求余,跳转到步骤e);e)根据步骤d)所得余数,将步骤b)得到的广播目的端口中级联端口对应位置1,其余级联端口对应位置0,得到新的广播目的端口;f)根据步骤b)得到的广播目的端口或步骤e)得到的新的广播目的端口,将该帧进行转发;转发完成后,跳转到步骤b)。...

【技术特征摘要】

【专利技术属性】
技术研发人员:李玉发王红春王晓华李大鹏李健雷宇宏
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:陕西;61

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

1