一种fc-ae交换机和交换方法_2

文档序号:8285162阅读:来源:国知局
例的目的,而并不认为是对本发明的限制.在整个附图中,相同的参考符号表不相同的部件.
[0034]图1是本发明具体实施例的交换基本单元的结构示意图;
[0035]图2是本发明具体实施例的多个交换基本单元通过扩展端口扩展的示意图.
【具体实施方式】
[0036]下面将参照附图来更具体描述本发明的优选实施例,虽然附图中显示了本发明的优选实施例,然而应当理解,可以以各种形式实现本发明而不应该被下述实施例所限制.相反,提供这些实施例是为了能够更透彻的理解本发明,并且能够将本发明的范围完整的传达给本领域技术人员。
[0037]根据本发明的实施例,提供了一种FC-AE交换机,图1是本发明具体实施例的交换基本单元的结构示意图,如附图图1所示,根据本发明具体实施例的FC-AE交换机,包括一个或多个交换基本单元,每个交换基本单元可提供8个FC端口。多个交换基本单元通过扩展端口互连,可扩展FC端口的数量,其中,
[0038]所述基本交换单元包括端口管理模块、交叉矩阵模块、地址表模块、扩展端口模块、CPU模块等5种单元模块,其中,
[0039]I)端口管理模块:端口管理模块用于实现FC链路层和物理层协议,包括串行器/解串器、8b/10b编解码、CRC校验、缓冲到缓冲信用管理、链路层状态机等。端口管理模块与交叉矩阵之间为AXI4Stream接口,端口管理模块接收到来自FC端口的数据帧后,会根据数据帧中的目的ID从地址表中查询需要转发的端口号,然后通过交叉矩阵转发给指定的端口。端口管理模块接收到从交叉矩阵模块发送过来的数据帧,按照链路层和物理层的协议要求重新组装后从FC端口发送出去
[0040]所述端口管理模块共8个,用于实现8个FC端口,所述FC端口遵循F端口的协议,可与标准的节点卡设备相连,支持l/2/4Gbps自适应数据速率。
[0041]2)交叉矩阵模块:用于将数据帧发送到指定的端口号。对外接口均为AXI4Stream。交叉矩阵模块共10个端口。每个端口的端口号可动态分配,端口号范围为O?255。每个端口可以分配一个端口号,也可以分配多个端口号。交叉矩阵模块与扩展端口模块之间的接口带宽为40Gbps,与其它模块之间的接口速率为lOGbps。
[0042]3)地址表模块:用于存储地址表,实现数据帧的目的ID (知名ID/节点卡ID)与端口号之间的映射关系,当目的ID为知名ID时,对应的端口号为CPU。其他目的ID与端口号之间的映射关系由登录协议确定。每个映射关系为一个表项,地址表模块中最多可存储1000个表项。可以由CPU模块添加、删除和查询表项,也可以由端口管理模块查询表项。
[0043]4)扩展端口模块:用于对FC端口数量进行扩展。可以根据CPU模块运行的扩展端口协议,通过扩展端口模块相互连接N个交换基本单元扩展为8*N个FC端口的交换机。
[0044]5) CPU模块:CPU模块为通用CPU,用于对其它模块进行初始化配置,通过配置端口管理模块和地址表模块实现隐式登录协议,实现扩展端口协议。
[0045]一种交换机工作方法,包括以下步骤:
[0046]I)交换机加电后,CPU模块对其它模块进行初始化,并通过配置端口管理模块和地址表模块实现隐式登录协议。
[0047]在交换机上电后默认为隐式登录,对端口管理模块和地址表模块进行配置。FC协议要求节点卡要先登录再进行数据收发。登录的主要目的是确定节点卡和交换机端口的参数,包括缓冲到缓冲的信用值、错误检测超时、资源分配超时、接收发送超时、节点卡ID、支持并发序列个数等参数。
[0048]当节点卡连接到交换机的FC端口后,
[0049]如果节点卡采用隐式登录协议,所述参数事先存储在交换机的Flash中,CPU从Flash中读取各个接口的配置参数,对端口管理模块进行配置,将上述参数写入CPU寄存器中,同时添加地址表模块表项,完成节点卡ID与端口号的映射关系。
[0050]如果节点卡不支持隐式登陆协议,则采用显式登录协议,在显式登录的过程中,节点卡发送FLOGI ELS帧给交换机,交换机清除对该端口的配置,重新按照显示登录的参数重新配置端口管理模块,并更新地址表模块的表项,回复ACC ELS帧,双方确定登录参数。
[0051]这样就能够让支持隐式登录的设备快速建立拓扑连接,同时又可以允许只支持显式登录的设备接入该网络中。
[0052]2)端口管理模块解析通过FC端口接收到的数据,生成内部格式的数据帧。根据数据帧中的目的ID,查询地址表的表项,找到需要转发的端口号,将数据帧发送给交叉矩阵模块。
[0053]3)交叉矩阵模块根据需要转发的端口号将数据帧转发给对应的端口管理模块或CPU模块或端口扩展模块。
[0054]4)端口管理模块接收到从交叉矩阵模块发送过来的数据帧,按照链路层和物理层的协议要求重新组装后从FC端口发送出去。
[0055]5)如果扩展端口与另一个交换基本单元连接,则CPU模块通过运行端口扩展协议实现多个交换基本单元之间的数据同步,以扩展FC端口的数量。
[0056]交换基本单元在系统启动后运行端口扩展协议。当检测到扩展端口与其它交换基本单元连接时,则通过端口扩展协议重新配置各自的参数,以完成端口扩展功能。
[0057]步骤(5)具体包括:
[0058]I)上电启动后,所有的CPU端口号都为255,8个端口管理模块的端口号分别为O?7.扩展端口的端口号为8?254.每个CPU有一个32位的唯一 ID。
[0059]2)端口扩展互联协议通过组播实现。CPU能够分配的端口号范围是224?255.组播的端口号为224?255,即所有的CPU为一个组播组。每个CPU通过组播发送的帧其它所有CPU都能接收到。
[0060]3)从交换网络中选择主CPU。当交换基本单元上电或检测到扩展端口有连接后,CPU发送组播帧,帧中包含自己的ID和端口号。其它CPU在收到该帧后,如果自己的ID大于组播帧中的CPU ID,则将自己的ID和端口号通过组播发送出去。如果CPU发送组播帧后超出预定时间仍没有收到ID大于自己的回应帧,则该CPU为主CPU。
[0061 ] 4)确定CPU的端口号。主CPU的端口号为255.主CPU通过组播发送请求,要求其它所有交换基本单元回复自己的ID和对应的端口号。主CPU在收到这些应答后,如果其它CPU的端口号在224-254之间且没有与其它CPU的端口号相同,则该CPU的端口号保持不变。如果有两个CPU有相同的端口号,则ID较大的CPU的端口号保持不变,ID较小的CPU重新分配一个224?255之间未用的端口号,,并将该CPU ID和更新的端口号通过组播发送出去。该CPU收到组播帧之后,更新自己的CPU的端口号。
[0062]5)在确定CPU的端口号之后,每个CPU修改各个交换基本单元其它模块的端口号。端口管理模块O?7的端口计算公式为:
[0063](255-CPU 端口号)*8+ (O ?7)
[0064]扩展端口号为O?255中除了 CPU和8个端口号之外的端口号。
[0065]6)同步地址表。CPU通过组播协议将自己的地址表发送给其它交换基本单元。在地址表改变时通过组播通知其它交换基本单元进行更新。接收到其它交换基本单元发送的地址表更新时,更新地址表模块中的数据。
[0066]每个扩展端口将内部交叉矩阵的接口转换为4路高速串行接口,每路的数据速率为1Gbps。因此扩展端口最大可提供40Gbps的互联带宽。多个交换基本单元通过扩展端口连在一起。
[0067]通过采用本发明提供的FC-AE交换机及交换方法,可以:
[0068]同时支持隐式登录和显式登录,能够让支持隐
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1