基于fc交换网络的路由选择方法

文档序号:8415505阅读:1059来源:国知局
基于fc交换网络的路由选择方法
【技术领域】
[0001]本发明属于计算机通信技术,涉及级联交换网络尤其是FC交换网络的一种路由选择方法。
【背景技术】
[0002]FC网络具备高带宽、低延迟和高可靠等特性,非常适合在对数据传输实时性有较高要求的分布式实时系统中使用。
[0003]FC交换机作为整个FC网络的核心部件,负责为网络中所有节点提供单播、组播和广播的数据交换支持。为了支持更多的网络节点,通常将多个交换机级联组成级联网络。
[0004]在单FC交换机网络中,通常通过解析数据帧的目的ID,来进行路由选择,决定将该帧发送到哪个目的端口。
[0005]在两FC交换机组成的级联网络中,连接在一个交换机上的某个节点需要向连接在另一个交换机上的某个或多个节点发送数据帧,如何选择正确的路由是当前存在的一个问题。

【发明内容】

[0006]本发明的目的是,提供一种路由选择方法,用来支持两FC交换机级联交换网络的单播、多播及广播通信功能。
[0007]本发明的技术解决方案是,
[0008]基于FC交换网络的路由选择方法,其特殊之处在于:包括以下步骤:
[0009]1】CPU对交换机的域ID寄存器、级联端口标志寄存器、级联端口数目寄存器、级联端口路由表、多播路由表、广播路由寄存器进行配置;
[0010]2】当交换机某一端口收到数据帧后,解析出该数据帧的目的ID,根据目的ID判断该数据帧的类型,进行相应的路由选择:
[0011]2.1】如果数据帧类型是单播:
[0012]2.11】判断目的端口是否在本交换机,如果在本交换机,则根据目的ID进行路由,将该数据帧转发到对应的目的端口 ;如果目的端口在对方交换机,则查找级联端口路由表,决定将该数据帧转发到哪个级联端口;
[0013]2.12】查询本端口是否是级联端口,如果是本端口是级联端口,则将该数据帧丢弃;如果是本端口不是级联端口,将该数据帧转发到查询到的级联端口 ;
[0014]2.2】如果数据帧类型是多播:
[0015]2.21】查找多播路由表,获得多播目的端口 ;
[0016]2.22】查询本端口是否为级联端口,如果本端口为级联端口,则将该多播帧转发到除级联端口以外的查询到的所有多播目的端口 ;如果本端口不是级联端口,则将多播帧转发到查询到的所有多播目的端口;
[0017]2.3】如果数据帧类型是广播:
[0018]2.31】查找广播路由寄存器,获得广播目的端口 ;
[0019]2.32】查询本端口是否为级联端口,如果本端口为级联端口,则将该广播帧转发到除级联端口外的所有查询到的广播目的端口 ;如果本端口不是级联端口,然后将该广播帧转发到查找到的所有广播目的端口。
[0020]每个交换机都包括本地域ID寄存器和级联端口域ID寄存器,两个寄存器数据宽度都为8位;本地域ID寄存器用来配置本交换机的域ID ;级联端口域ID寄存器用来配置对方交换机的域ID。
[0021]级联端口路由表为一块MxN的RAM,该RAM深度为M,数据宽度为N ;深度为级联端口的数目,宽度为级联端口的端口号。
[0022]多播路由表为一块AxB的RAM,该RAM深度为A,数据宽度为B ;深度为多播组的数目,宽度为目的端口掩码。
[0023]本发明具有的优点是:
[0024]I)控制简单,易于硬件逻辑实现;
[0025]2)保证数据帧到达相应的目的端口,可避免数据帧通过级联端口回传;
[0026]3)可保证各级联端口输出流量均衡。
【附图说明】
[0027]图1为两交换机级联交换网络示意图;
[0028]图2为路由选择流程示意图。
【具体实施方式】
[0029]下面以32端口交换机为例,对【具体实施方式】进行说明。如图1所示,为两个32端口交换机组成的级联交换网络,两个交换机最多可通过四个级联端口进行级联,交换机其余端口分别与节点机连接。
[0030]在交换机启动时,需要CPU对交换机进行初始化配置。当交换机收到数据帧后,根据数据帧的类型(单播、多播、广播),分别进行相应的路由选择。
[0031]1.初始化配置
[0032]1.1域ID寄存器
[0033]在FC级联网络中,每个交换机都有各自的域ID。每个交换机都分别有两个域ID寄存器:本地域ID寄存器和级联端口域ID寄存器,两个寄存器数据宽度都为8位。
[0034]本地域ID寄存器用来配置本交换机的域ID ;级联端口域ID寄存器用来配置对方交换机的域ID。
[0035]1.2级联端口标志寄存器
[0036]两个FC交换机通过级联端口进行级联,组成级联交换网络,如图1所示,交换机I和交换机2通过4个级联端口进行级联。
[0037]级联端口标志寄存器为32位,每位分别对应一个端口,如果该位为I表示该端口为级联端口,如果该位为O表示该位为非级联端口。
[0038]1.3级联端口数目寄存器
[0039]级联端口数目寄存器数据宽度为3位,用来配置本交换机级联端口的数目,取值范围从O到4。
[0040]当该寄存器值为O时,表示本交换机无级联端口,未与其它交换机进行级联;当该寄存器值不为O时,表示本交换机有级联端口。当寄存器值大于I时,表示本交换机有多个级联端口,交换机需要从多个级联端口中选择一个进行转发。
[0041]当需要发到对方交换机的数据帧为单播时,交换机通过级联端口路由表进行路由;当需要发到对方交换机的数据帧为多播时,交换机通过多播路由表进行路由;当需要发到对方交换机的数据帧为广播时,交换机通过广播路由寄存器进行路由。
[0042]1.4级联端口路由表
[0043]级联端口路由表为一块4x5的RAM,该RAM深度为4,数据宽度为5。深度为级联端口的数目,宽度为级联端口的端口号(采用二进制,范围从O到31)。
[0044]当交换机需要将单播数据帧转发到对方交换机时,需要查找该路由表。
[0045]1.5多播路由表
[0046]多播路由表为一块255
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1