(物理电子学专业论文)光纤通道交换机线卡软件系统的研究.pdf_第1页
(物理电子学专业论文)光纤通道交换机线卡软件系统的研究.pdf_第2页
(物理电子学专业论文)光纤通道交换机线卡软件系统的研究.pdf_第3页
(物理电子学专业论文)光纤通道交换机线卡软件系统的研究.pdf_第4页
(物理电子学专业论文)光纤通道交换机线卡软件系统的研究.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

i 摘摘 要要 存储系统的容量和处理器速度的不断提高,以及人们对信息需求量的日益增 加,使得实现网络存储的存储区域网(storage area network,san)技术越来越广 泛地应用到各个领域。san 是一种在服务器和存储设备之间实现高速、可靠访问的 专用网络,它也很好地满足了数据统一存储、数据共享、远程数据容灾等需要。 光纤通道是一种工业标准互联和高性能串行 i/o 协议,它以支持设备数量多、 扩展能力强、高带宽、低延迟、长传输距离,以及支持面向块的存储协议等优点成 为 san 当前事实上所采用的标准。 光纤通道交换机在 san 中处于核心的地位,它按照光纤通道交换型拓扑结构 连接服务器和存储设备。本文首先简单介绍了存储区域网和光纤通道技术,接着分 析了本实验室提出的 1616 交换结构、端口速率为 2gbps 的光纤通道交换机的设计 方案,包括光纤通道交换机的体系结构、线卡、交换背板、控制器以及它们之间的 接口。接下来,在介绍光纤通道部分协议的基础上,提出了基于 s3c44b0x 处理器 的线卡控制器的硬件实现,对线卡软件系统的主要功能和结构进行了探讨。随后在 uclinux 下实现了线卡的基本控制功能包括交换结构注册、端口转发表更新、线卡 硬件初始化和状态实时监测,论述了扩展功能包括支持简单名字服务器、状态转变 通告、分区、交换机级联和多链路聚合等,并预留了软件接口。本文还介绍了线卡 软件开发环境的建立,提出了线卡软件系统的调试方案,并给出了相关调试结果。 最后对未来的工作提出了建议。 关键词:关键词:存储区域网,光纤通道交换机,线卡,线卡控制器,嵌入式软件 ii abstract with the growth of the capability of storage system and speed of processor, the requirement of the information make the technology of storage area network which has realized network storage more and more popular in many fields. san is a special network that realizes rapid and reliable access between server and storage equipment. it perfectly meets the needs of data storage, data share, and remote data recovery, etc. fibre channel is an industry standard connection and high performance serial i/o protocol. because of the advantages such as supporting a large number of equipment, distensible, high bandwidth, low-delay, long-distance transmission, and supporting the block-oriented storage protocol, in fact, it becomes the standard protocol in san. fibre channel switch is the key device in san, it connects the server and storage equipment using the fibre channel fabric. in this dissertation, we simply introduce the technology of san and fibre channel first, and then analysis the design scheme of the fibre channel switch which has 16*16 fabric and the port rate is 2gbps. base the introduction of part of the fibre channel protocol, we present the implementation of line card controller which bases the processor of s3c44b0x, and we study the main function and structure of the software system of line card in the switch. we implement the basic control function of the system includes fabric login, route table update, hardware initial and status real-time monitor under uclinux, disscuss the expanded function which includes supporting sns, scn, zoning, fabric , isl trunking, etc, and obligate the extended interface. we also introduce the building of the developing environment, discuss the debugging scheme of the software system, and give the related debugging results. at last, the further develop scheme is proposed. keywords: storage area network, fc switch, line card, line card controller, embedded software 独创性声明独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中以明确方式标明。本人完全意识到,本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密 ,在_年解密后适用本授权书。 不保密。 (请在以上方框内打“” ) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 本论文属于 1 1 绪论绪论 1.1 引言引言 信息技术日益广泛和深入的应用对数据存储性能的要求越来越高,随着因特网 和企业内部网的广泛应用,信息容量正以飞快的速度增长。爆炸式的信息增长使得 传统的存储管理系统面临着巨大的挑战,很多对数据可用性、可靠性及可扩展性有 严格要求的企业迫切需要一种性能先进、安全可靠的海量存储系统。传统的分布式 网络存储系统虽可提供较高的网络传输速度和网络存储性能,但这种网络存储方式 不方便管理而且成本较高。基于局域网(local area network,lan)的网络管理模 式虽然提供了便利的数据管理方式,但其性能和网络的传输速度随着网络数据流量 的增长,将会大大降低1。 存储区域网络(storage area network,san)具备了传统存储模式的所有优势, 因此被越来越广泛地应用在各个领域。san 是一种在服务器和外部存储设备或独立 的存储设备之间实现高速、可靠访问的专用网络。在 san 中,每个存储设备都不 隶属于任何一台单独的服务器,所有的存储设备都可以在全部的网络服务器之间作 为对等资源共享。就像 lan 可以用来连接客户机和服务器一样,san 可以用来在 服务器和存储设备之间、存储设备和存储设备之间建立互连2。 san 是网络技术与存储技术的融合,它打破了传统的存储设备和计算机的连接 方式,将存储设备从网络中分离出来,使之成为计算机网络的对等体,其类型主要 有两种:基于光纤通道(fibre channel,fc)的 san 和基于千兆以太网的 ip san3。 一个基本 san 的系统结构的示意图如图 1.1。从图中可以看出,san 网可以一分为 二。其一是由客户机、集线器和交换机组成的“前端网络” ,二是由 san 构成的“后 端网络”,即数据存储/备份网络,其对数据服务器、应用服务器和磁盘阵列、光盘 存储器、磁带存储器等进行互连。san 提供了无限制的存储、快速访问、可扩展等 2 功能以及优良的数据存储和恢复机制4。 idc ciscosystems com3 客户机 客户机 客户机 磁盘阵列 磁带库 lan交换机 服务器 san交换机 前 端 网 络 后 端 网 络 前 端 网 络 后 端 网 络 图 1.1 san 拓扑结构示例 光纤通道是 1994 年由 ansi 制订的一种适合于千兆位数据传输通信网络技术的 通用名称。光纤通道是一种工业标准互联和高性能串行 i/o 协议,它独立于介质, 并支持同时传输 ip、scsi 等多种不同协议。fc 不是建立 san 的唯一技术,但是 由于其具有支持设备数量大、扩展能力强、高带宽、低延迟、长传输距离,以及支 持面向块的存储协议的能力等优点而成为 san 当前事实上所采用的标准。 光纤通道可以以电或光为媒介以 133mbps、266mbps、530mbps 和 1gbps 四种 速度进行通信。传送距离的长短取决于采用何种传送媒体和传输速度,如果以单模 光纤为传送媒介,以长波激光为光源,在传送速度为 1gbps 时可达到的最大传送距 离为 10km。 光纤通道的通信端口间的拓扑结构有 3 种基本类型:点对点(point to point) 、 仲裁环(arbitrated loop)和交换型结构(fabric) ,如图 1.2 所示5。 服务器 idc 服务器 存 储 设 备 服务器 idc 服务器服务器 com3 hewlett packard 存 储 设 备 存 储 设 备 光纤环集线器 光纤通道交换机 点对点拓扑环拓扑交换结构拓扑 3 图 1.2 光纤通道的三种拓扑结构 点对点结构是以上 3 种拓扑结构中最简单的一种,它指两个通信设备收发端口 间通过光纤直接进行连接,独享全部带宽。 仲裁环结构支持 3 个以上的通信端口进行通信,环路中的端口数量最多为 127 个。通信设备间共享传输媒体,端口间的数据流为同步、对称、全双工方式。在这 种通信模式中仲裁环每次只支持一个点对点通信。这种环结构的缺点是:如果环结 构中的某个地方断掉,整个系统就会全部瘫痪。 交换型结构为各连接端口提供了一种交换式的内部连接,这种结构允许用户通 过增加连接的端口数来线性增加系统的吞吐量。交换型结构的优点在于能对网络上 的节点数目做很大的扩展而不减少每个端口的带宽,使用通用的环路,低带宽端口 和高带宽端口可以在同一个平台范围的网络中有效地进行交互操作。因此,交换型 结构是 fc 三种拓扑结构中性能最高的,交换型结构在基于 fc 的 san 中也使用得 最为普遍6。 1.2 光纤通道交换机在存储区域网中的地位光纤通道交换机在存储区域网中的地位 光纤通道交换机是构成 san 的关键设备,它按照光纤通道交换型拓扑结构, 连接服务器和存储系统,以提供高速数据传输和数据共享、无局域网数据备份和存 储合并。 光纤通道交换机为高带宽和低延迟的数据通信提供光纤通道切换功能。光纤通 道交换机是使用光纤网络路由直接连接的方式,使用路由软件直接连接发起者和目 标,这样就可以独享链路的所有带宽。这就意味着链路中每一个连接都可以单独存 在,与其它连接互不干扰。当发起者发送一帧数据到交换机时,交换机收到后,将 该帧路由到适当的目标设备中去。 光纤通道交换机端口的数量从 8 口到 64 口,甚至更多,其中包含智能交换硬 件,使交换机所有端口中的任意两点可以建立连接。光纤通道交换机基本端口串行 线速率为 1.0625gbps,带宽为 100mbps,它远远高于同规格其它类型网络的数据传 4 输率,而且光纤通道交换机的接口是专门为存储网络设计的,具有高可用性。同时, 交换机大大提高了光纤网络的性能,例如:名称服务、管理服务以及更加完善的设 备连接协议。交换机在绝大多数的环境中被用来作为提供主机到阵列连接的完善机 制,尤其是在多重设备、多重引导的环境中交换机是不可或缺的。光纤通道交换机 在 san 存储架构中处于连接核心地位。 光纤通道交换机提供基于交换结构的服务,它有着许多不同的功能,包括支持 千兆位接口卡(giga bit interface card,gbic) 、冗余风扇和电源、分区、环操作和 多管理接口等。每一项功能都可以增加整个交换网络的可操作性。光纤通道交换机 的主要功能有:自配置端口、环路设备支持、交换机级联、自适应速度检测、可配 置的帧缓冲、分区(基于物理端口和基于 wwn 的分区)、ip over fiber channel(ipfc) 广播、远程登录、web 管理、简单网络管理协议(simple network management protocol,snmp)以及 scsi 接口独立设备服务等。 1.3 国内外发展现状国内外发展现状 光纤通道交换机从问世一直发展到今天,客户的需求发生了巨大的变化,主要 表现在客户要求更高的传输速度和需要更高性能的连接。 在端口速率的选择上,2gbps 已经不能满足日益增长的数据传输和文件交换的 需求,但 10gbps 由于其不能保证良好的兼容性以及性价比不高的缺点,同样也不 是最佳的选择。折中考虑来说,4gbps 的端口速率可以很好地解决上述的问题。当 前光纤通道交换机正处于从 2gbps 向 4gbps 过渡的时期。2004 年市场上主流产品 的端口速率为 2gbps,而在 2005 年用户开始关注 4gbps 产品。随着 4gbps 交换机 成本的不断降低,从 2005 年下半年开始,4gbps 交换机逐渐取代 2gbps 交换机, 成为市场主流。随着 4gbps 时代的到来,从 2005 年初开始,各光纤通道交换机厂 商加大了对 4gbps 产品的推广力度,并发布了一些低价位的新产品。与此同时,各 大厂商正在研究和开发 8gbps、10gbps 的产品。毋庸置疑,光纤通道交换机和设备 之间的连接将会不断达到更高的性能和带宽,从 1gbps、2gbps 到现存的 4gbps 和 5 将来的 8gbps、10gbps。 光纤通道交换机同时也在向着智能化的方向发展,光纤通道交换机不再是一个 把服务器与存储设备连接起来的简单设备,它要解决互连问题、fabric(即 san) 的管理问题,直到存储的管理问题,这都需要交换机有很强的智能。目前,著名 fc 交换机厂商 broadcom 公司在智能化方面的努力方向就是通过交换机来进一步管理 存储系统,把存储虚拟化的功能融合进入交换机。 目前国内已经掌握了 san 中的部分关键技术,如华中科技大学计算机学院研制 的基于网络的磁盘阵列已经通过了专家评审。国内的一些公司如浪潮、联想、曙光 等已经推出了从低端到高端的一系列服务器产品。而在光纤通道交换机方面,一直 由 brocade、mcdata、cisco、qlogic 等国外厂商来提供,国内目前还基本上没有起 步。因此,对光纤通道交换机的自主研制就显得具有十分重要的意义。 1.4 全文的内容和组织全文的内容和组织 本文的主要内容是在介绍实验室自主研制的 1616 交换结构、端口速率为 2gbps 的光纤通道交换机体系结构的基础上,研究该交换机线卡软件系统的主要功 能和结构。全文共分为六章,各章内容安排如下: 第一章,阐述存储区域网和光纤通道的相关技术,强调了光纤通道交换机在存 储区域网中的重要地位,并描述了光纤通道交换机的市场前景和国内外研究现状, 指出了研制光纤通道交换机的现实意义。 第二章,介绍了本实验室提出的光纤通道交换机的体系结构和逻辑组成,对线 卡和交换背板的功能和结构进行了具体的分析。 第三章,在介绍光纤通道协议相关知识的基础上,提出了基于 s3c44b0x 的线 卡控制器硬件平台的实现。 第四章,对线卡软件系统的功能和结构进行探讨,并在 uclinux 环境下实现了 线卡软件系统中的基本控制功能模块,对线卡的扩展功能进行了详细的论述,并预 留了软件接口。 第五章,建立线卡软件开发平台,提出系统调试方案,对已经实现的功能模块 进行调试,并给出相关的调试结果。 6 第六章,对全文进行总结并对下一步的工作给出建议。 7 2 光纤通道交换机光纤通道交换机 2.1 引言引言 至今,对传统通信设备(比如以太网交换机和路由器)的研究已取得了显著的 成就,包括体系结构的转变和一些优秀排队调度算法的提出。在光纤通道交换机的 设计过程中,我们参考了国内外高速 ip 路由器的设计思想。本章主要介绍光纤通 道交换机的逻辑组成及其中的各个硬件组件。 2.1.1 两种体系结构两种体系结构 从体系结构上来看,交换机和路由器经历了从共享总线到交换结构的发展过程 7,如图 2.1 所示。 系统总线系统总线 系统内存系统内存cpucpu 接口 卡1 接口 卡1 接口 卡2 接口 卡2 接口 卡n 接口 卡n 交 换 结 构 交 换 结 构 接口卡1接口卡1 接口卡n接口卡n 控制单元控制单元 接口卡2接口卡2 共享总线式体系结构交换式体系结构共享总线式体系结构交换式体系结构 图 2.1 两种体系结构 共享总线式的体系结构主要基于软件包转发,这种体系结构的主要问题是共享 总线的容量限制,共享总线的容量直接限制了设备的吞吐率,成为系统无法避免的 瓶颈,而且其扩展性能很差。 交换式体系结构主要基于硬件包转发,无阻塞的交换背板提供比共享总线高的 多的带宽,而且该体系结构具有良好的可扩展性8。 8 2.1.2 排队策略排队策略 在交换结构中,如图 2.2 所示为常见的两种排队策略9。 n x n croassbar 交换结构 n x n croassbar 交换结构 输入缓存输入缓存 1 2 n 1 2 n 1 2 n 1 2 n n x n croassbar 交换结构 n x n croassbar 交换结构 1 2 n 1 2 n 输出缓存输出缓存 1 2 n 1 2 n 输入排队输出排队输入排队输出排队 图 2.2 两种排队策略 传统的交换机和路由器采用输出排队策略 (output queuing,oq) 。在这种策 略下,数据到达输入端口马上被交换到相应的输出端口,从而能够提供最优的吞吐 量和延迟控制。oq 的调度算法在理论上已得到深入的研究。oq 的缺陷在于可扩 展性差,为了保证 oq 的正常运行,交换结构的内部带宽和输出队列的存储器访问 速率必须是输入端口链路速率的 n 倍(如果输入速率不同,则为端口输入速率之 和) ,即要求 n 倍的加速比,这里的 n 是指输入端口数。而随着链路速率或端口数 的增加,在现有的工艺水平下很难实现高速的基于 oq 的交换结构10。 在输入排队(input queuing,iq)策略中,到达的数据首先被保存在输入端口的 缓冲区中,然后通过调度算法决定数据何时通过交换结构传送到输出端口。iq的优 点是不需要加速比,iq只需要线速运行即可。因此,目前高性能的交换机和路由器 大都采用iq交叉开关交换机制。光纤通道交换机的端口速率是gbps量级,采用iq策 略。 iq的缺陷在于采用先进先出(first in first out,fifo)队列时会存在链头阻塞 问题,即如果队列链头的数据包被阻塞,同队列到其他输出端口的数据包就不能被 转发。研究表明,当端口数较多时,在所有输出均匀分布的bernoulli到达下,iq只能 达到58.6%的吞吐率。而周期性的链头阻塞可能导致更差的效果11。 9 n x n 交换结构 n x n 交换结构 1 1 2 n q11 q1n 1 1 2 n q11 q1n n qn1 qnn n qn1 qnn 图 2.3 虚拟输出队列 链头阻塞可以用一个简单的输入侧缓冲策略来解决。不把所有的信元排在一个 输入队列里,而是给每个输入到每个输出都建一个缓冲队列,这就是如图2.3所示的 虚拟输出队列(virtual output queuing,voq)12。 实际上,如果交换结构速率比端口速率要快,这样就需要在交换结构输出端设 置输出缓存防止溢出。如图 2.4 所示,这样就形成了组合输入输出队列 cioq (combined input output queuing)13。 在我们的光纤通道交换机的设计方案中, 采用速率为 2.125gbps 的高速交换芯片,实际数据传输速率为 2.0gbps。采用 cioq 调度算法后,其性能可达到 oq 的性能14。 n x n 交换结构 n x n 交换结构 1 q 1 q1111 q q1n1n n q n qn1n1 q qnnnn 输出缓存输出缓存 1 2 n 1 2 n 图 2.4 组合输入输出队列 2.2 光纤通道交换机的整体结构光纤通道交换机的整体结构 对于端口速率为 gbps 量级的高速光纤通道交换机来说,我们采用了交换式体 系结构和 cioq 调度算法。光纤通道交换机的整体结构如图 2.5 所示。 10 phy mac 转发 vsc870 层层引擎接口 f 端口 线卡控制器 crossbar8 8 vsc882 交换背板主控制器 总线 总线 phy mac 转发 vsc870 层层引擎接口 f/e 端口 线卡控制器 总线 同轴电缆 线卡1 线卡8 百兆以太网 网口 串口 图 2.5 光纤通道交换机整体结构 线卡和交换背板组成了光纤通道交换机的高速转发单元,为光纤通道帧的转发 提供了快速通道, 交换结构采用了vitesse公司的串行收发器vsc870和基于1616 交叉开关结构的 vsc882 套片,冗余配置 2gbps 的 88 交换,为简化设计,vsc882 配置为自路由的包模式。线卡上采用了支持光纤通道协议的四通道 phy 层芯片, mac 层、转发引擎以及与 vsc870 的接口等功能通过现场可编程门阵列(field programmable gate array,fpga)实现。 线卡控制器和交换背板控制器组成了交换机的控制管理单元,为整个交换机的 管理信息的交互提供慢速通道。为了满足对线卡和交换背板实时监控和管理的要 求,同时为了减少开发成本,线卡和交换背板控制器均采用相同的基于高性能 arm 处理器的嵌入式平台,并移植了通信设备中广泛使用的优秀嵌入式操作系统 uclinux。本交换机中所有的软件程序都在该平台上开发,方便了软件模块的重用。 控制单元和帧转发单元通过自定义总线信号进行信息的交互。交换背板控制器和各 线卡控制器之间通过百兆以太网进行通信,这种交换式独占带宽的通信方式不仅保 证了较低的通信时延,还可以利用网络套接字来广播全局端口转发表15。 2.3 线卡线卡 线卡的主要功能是从物理媒介上接收和发送数据,提供数据处理能力,并为交 11 换背板工作提供端口转发信息。线卡的数据流程如图 2.6 所示。 线 卡 控 制 器线 卡 控 制 器 转发引 擎 转发引 擎 时钟 恢复 时钟 恢复 串并转换串并转换 时钟 分频 时钟 分频 本地 时钟 本地 时钟 并串转换并串转换 时钟 倍频 时钟 倍频 并串 转换 并串 转换 本地 时钟 本地 时钟 时钟 倍频 时钟 倍频 数据 接口 数据 接口 串并 转换 串并 转换 时钟 提取 时钟 提取 时钟 分频 时钟 分频 交 换 卡 交 换 卡 物理层芯片 串行收发器 多 模 光 纤 物理层芯片 串行收发器 多 模 光 纤 光收发 模块 光收发 模块 16位并 行crc校 验和 eof更新 16位并 行crc校 验和 eof更新 16:32解 复用 16:32解 复用 20b16b 解码 20b16b 解码 接收 控制 接收 控制 数据 接口 数据 接口 注册帧 提取 注册帧 提取 camcam 线 卡 控 制 器线 卡 控 制 器 mac层、控制器接口和转发引擎mac层、控制器接口和转发引擎 16位并 行crc校 验和 eof更新 16位并 行crc校 验和 eof更新 接收 fifo 接收 fifo 16b20b 编码 16b20b 编码 32:16 复用 32:16 复用 发送 控制 发送 控制 端口状 态机 端口状 态机 响应帧 插入 响应帧 插入 r_rdy 插入 r_rdy 插入 图 2.6 线卡的数据流程图 2.3.1 线卡上各部分的功能线卡上各部分的功能 光收发模块实现物理层的比特流,完成电信号与光信号的转换。物理层在接收 通路上实现比特流的 10 位字对齐、输出 10 位并行总线及串行时钟的恢复等功能, 在发送通路上实现 10 位并行总线转串行比特流及串行时钟的生成等功能。根据光 纤通道协议,传输经 16b/20b 编码后的数据,以维持直流平衡(dc balance)和区 分数据和特殊字。接收通路方向上,从物理层传送过来的数据需经 20b/16b 解码; 发送通路方向上,将要发送到物理层上的数据需经 16b/20b 编码。16 位/32 位解复 用和 32 位/16 位复用模块实现总线位宽的改变。 端口状态机实现交换机与端口两者之间的状态同步与协调,在端口处于正常状 态后交换机需对数据进行 mac 帧处理并为交换背板工作提供端口转发信息。端口 状态机跨接在收发两个通路上,实现与远端端口通信。当端口处于正常状态时,端 口状态机通过接收控制模块和发送控制模块分别控制接收通路和接收通路数据传 输。 数据在传输过程中在接收和发送通路上都必须经 mac 帧处理部分,主要包括 接收控制模块、发送控制模块、16 位 crc 校验与 eof 更新模块、r_rdy 插入模 块等。 12 线卡控制器接口电路在接收通路上提取特定控制帧,发送通路上插入响应帧。 转发引擎为交换背板提供端口信息,即在接收通路上接收线卡控制器端口转发 表的下载,将数据按输出端口存储进 voq 相应的队列供交换背板交换。 2.3.2 线卡的实现方案线卡的实现方案 在数据流程两端的光收发模块、物理层芯片及串行收发器均有商业芯片可以选 用,而帧处理和接口电路没有现成的方案以供选用,必须自己采用 fpga 实现。转 发引擎的实现可以借鉴路由器设计方案,有三种选择:asic、网络处理器(network processor,np)及 fpga16。 asic 存在线卡上元件分散以及与其它电路接口困难 的问题从而提高了设计难度和降低了设计的可靠性。采用 np 实现起来价格昂贵, 也存在线卡上元件分散的问题17。 fpga 也可以实现转发引擎,以前用 fpga 设计转发引擎存在着存储容量不足 而需要外接存储器的问题,但近年来 fpga 在片内存储容量上有很大增长,完全可 以满足转发引擎的设计。又由于帧处理和接口电路是在 fpga 上实现,以 fpga 实 现转发引擎则可以将帧处理、转发引擎和接口电路全部集成在一片 fpga 上,能有 效的提高系统可靠性。 因此,光纤通道交换机线卡的总体方案是:光收发模块、物理层芯片和串行收 发器采用商业芯片,而帧处理、转发引擎和接口电路部分采用 fpga 实现。 物理层芯片选用 vitesse 公司的光纤通道专用物理层系列芯片,它具有四通 道的收发能力,集成度高且价格合理18。串行收发器与交换背板配套,我们的交换 背板方案中选用的是 vitesse 公司的 vsc870/vsc882 套片,vsc870 是串行收发 器,它是线速度为 1.0625gps2.125gps 的单通道串行收发器19。 fpga 的选用要 保证有足够的片内存储容量和逻辑资源,altera 公司的新型的 stratix 系列 fpga 具 有片内存储容量大和逻辑资源多的特点,全系列中规格多,合乎设计要求20。 较高的系统集成度有利于提高系统可靠性,而在单块板上集成过多的通路会增 加设计难度。每片物理层芯片集成四路收发通道,而每片 vsc870 提供一路处理能 力,fpga 则可以选用不同规格灵活安排。综合以上实际因素的考虑,我们在单块 13 板上实现两路信号处理。为了维持线卡的正常工作,线卡上还配有电源稳压电路、 配置芯片、风扇以及一些接插件。 2.4 交换背板交换背板 交换机的交换结构负责把内部交换信元或者数据包从一个端口送到另外一个端 口。如何选择交换结构中每个端口的最大速率、合理地配置交换结构和调度线卡从 而提高交换机构的吞吐能力一直是研究的热点。图 2.7 为交换背板的功能示意图。 控制接口 同轴电缆接口 同轴电缆接口 同轴电缆接口 同轴电缆接口 同轴电缆接口 同轴电缆接口 同轴电缆接口 同轴电缆接口 至线卡至线卡 至交换背板控 制器 vsc882 图 2.7 交换背板功能示意图 交换背板主要负责和线卡的串行收发器 vsc870 交互,交换数据包,它们之间 通过传输高速信号的同轴电缆进行连接。交换芯片是整个交换背板的核心,我们选 用 vitesse 公司推出的 vsc870/vsc882 高速交换套片来作为交换结构。其中, vsc882 是支持多种工作模式的高速串行交换芯片,内部拥有 1616 的 crossbar 无 阻塞交换单元和相应的时钟、控制单元。19 vsc870 是与其匹配的高速串行收发器, 它把经过转发引擎处理的数据变成 vsc882 支持的数据格式,并进行并串转换后发 送给 vsc882。 目前,交换结构的交换模式通常有两种:一种是同步信元模式,另一种是包交 换模式。vsc870/882 构成的交换结构可以支持信元模式和包模式19,21。 在信元模式中,整个交换机工作在同步模式,所有的线卡和交换背板保持信元 时钟同步。在每一个信元时隙,交换结构进行一次配置,从每个线卡接收一个信元 送到目的端口。这样的优点在于能高效的利用交换结构,利用许多很成熟的调度算 法,增加交换机的吞吐率。缺点是实现成本太高,需要复杂的调度控制机制,而且 14 调度算法的本身的处理时延也可能会造成性能的下降。另外,信元模式需要的全局 信元时钟同步也会给设计带来一定的困难。 包交换模式是非定长的数据包交换。它不需要全局信元时钟同步,线卡先根据 数据包的目的端口向交换结构提出申请,在交换结构允许以后,线卡就开始发送变 长的数据包,发送完以后,线卡再告诉交换结构发送完毕,可以释放连接。这种工 作模式对于交换结构来说,利用效率相对要低一些,但是它的优点在于便于实现, 几乎不需要全局的同步,大大降低了设计成本。根据我们选用的交换芯片 vsc882 的支持带内提前申请仲裁技术和高加速比的特点,我们的方案中选择了包交换模 式,并采用了提前仲裁技术。在第 n1 个数据包的最后 d 个字节发送前就开始发 送第 n 个数据包的连接请求命令(connection request command,crq) ,这样,如 果该 crq 被响应,那么第 n 个数据包就可以几乎不用等待就可以发送,从而减小 交换带宽的浪费,使得数据包不用在端口等待交换芯片的判决。 根据线卡转发引擎实现策略的不同,包交换模式又可以支持基于优先级的占领 模式、针对多播的重传模式和针对 voq 的多队列单播工作模式。我们的方案中, 在线卡输出队列中采用了 voq 来尽量避免包头阻塞的情况,所以选择多队列单播 模式。在这种模式中,vsc870 可以一次发送到多个端口的请求,交换芯片在接受 到这些请求 crq 以后,进行两次裁决:第一次选出所有可用的输出端口的请求; 第二次再在可用端口中选择其中一个请求进行响应,最后释放掉所有其它的请求。 另外需要注意的是,在 vsc870/882 组成的交换结构中,整个交换结构的时钟 都是同步于 vsc882 的串行传输时钟。在系统启动后,vsc882 把输入的本地时钟 经过倍频以后产生的 2.125gbps 串行位时钟去串化 32 位宽的同步 align 字数据, 然后发送给各个端口。端口上对应的 vsc870 在接收到这些以后,利用内部的时钟 单元恢复出位同步时钟信号,然后利用恢复出的时钟信号来作为输出端口的时钟, 经过相位调整以后与 vsc882 的接收方向同步,从而建立起一条连接 vsc870 和 vsc882 的串行同步链路。在工作中,作为整个系统时钟源的 vsc882 时钟通过高 精度 125.000mhz 的晶振来提供,因为时钟频率的超限偏移会造成链路的同步丢失, 从而导致链路重新同步。因此时钟的高精确度是整个系统稳定工作的保证。 15 2.5 本章小结本章小结 光纤通道交换机的设计方案参考了国内外高速 ip 路由器的设计思想,通过提 供快速通道(数据流)和慢通道(控制流) ,实现了数据高速转发单元和控制管理 单元的隔离。采用分布式交换结构和基于 voq 的 cioq 技术实现了光纤通道帧的 无阻塞高速交换。 本章详细介绍了组成光纤通道交换机的线卡和交换背板的结构。光纤通道交换 机的软件系统均在线卡控制器和交换背板控制器上实现。在后面的章节,将会在介 绍光纤通道相关协议及其实现的硬件平台的基础上,对线卡上的软件系统进行探 讨。 16 3 光纤通道协议及其实现的硬件平台光纤通道协议及其实现的硬件平台 支持光纤通道协议是光纤通道交换机区别于其它类型交换机(如以太网交换 机)的显著特点。光纤通道协议以其众多的优点和良好的扩展性成为构成 san 的 事实上的协议标准,它也是光纤通道交换机与 san 中其它组件保持高度兼容性的 保证。 3.1 光纤通道协议光纤通道协议 3.1.1 光纤通道协议的分层光纤通道协议的分层 光纤通道 osi 模型为 5 层, 分别从 fc-0 到 fc-4 层, 如图 3.1 所示22。 其中 fc-0、 fc-1、fc-2 层属于物理和信号层,fc-3、fc-4 层属于上层协议层。 物理接口与介质 编码/解码与传送协议 成帧协议 流控 仲裁环功能 公共服务 高层协议(ulp)映射 ipi其他scsiiphippi fc-0 fc-1 fc-2 fc-3 fc-4 ulps 图 3.1 光纤通道协议分层结构 fc-0层是物理接口和介质层, 包括线缆、 连接器和它们的各自特性的规范23。 从 本质上来说,它是一对光纤或电缆同发射机、接收机组成的电路系统。它们共同工 作,将链路一端的比特流转换成链路另一端的比特流。 fc-1 层是传输协议层,包括编解码、字节和字之间的转换、发射机和接收机的 状态转换和错误检测等24。 光纤通道网络中,采用 8b/10b 数据编码传送信息。它 17 可以保证在低成本的电路上实现 10-12 的比特误码率,同时还维护了 dc 平衡。除此 之外,fc-1 层还有一个重要的任务:从 10b 编码中识别数据字符和特殊字符,并 交给上一层进行处理。 fc-2 层是帧和信号协议层,定义传输单元内部帧和信息的位置25。fc-2 层是 光纤通道协议中最复杂的部分,也是光纤通道交换机的主要功能层。它涉及到光纤 通道特有的结构、过程和操作的大部分环节。 fc-3 层是通用服务层,支持 hunt 组、striping、组播。fc-3 层用于提供一个成 帧协议和对一个节点上的多个 n 端口进行操作管理的其它服务。许多 fc-3 的具体 功能在 fc-ph-2 和 fc-ph-3 中做了叙述。 fc-4 层定义了光纤通道结构到上层协议的映射。当前已确定的有到许多重要的 信道、外围接口和网络协议的映射,包括 scsi、ipi-3、hippi、ip、atm/aal5 等。 总的来说就是关于通过光纤通道传输上层协议中的信息。 在光纤通道交换机中,需要处理的是物理和信号层,而上层协议作为数据部分 封装在由 fc-2 层定义的光纤通道帧中,相对于交换机来说是透明的26。 fc-4 层的 上层协议包括 ip、scsi、ipi 等多种协议集,如同 tcp/ip 协议一样,光纤通道协议 的这种分层特性使它与最上层的协议无关,不区分是通道协议还是网络协议,所以 具有很好的通用性,是一种通用的传输机制。 3.1.2 光纤通道协议中的一些术语光纤通道协议中的一些术语 1) 物理模型6 结点:存储区域网中的每个通信设备都可以抽象为结点。 端口:每个结点都可以包含多个端口,存储设备上的端口为 n_port(n 端口) , 光纤通道交换机上的端口为 f_port (f 端口) , 除此之外, 还有 e_port、 g_port、 fl_port 和 b_port 等端口,在本文中我们研究的重点为光纤通道交换机线卡上的 f 端口。 拓扑:光纤通道有三种拓扑结构:点到点、交换结构和仲裁环。光纤通道交换 机是基于交换结构拓扑的存储区域网的核心。 2) 带宽和通信开销 18 光纤通道中数据传输的基本时钟频率是 1.0625ghz,即每个时钟周期内传输 1bit。目前已经实现了 2 倍和 4 倍时钟频率的产品化,在不久的将来,将会实现 8 倍和 10 倍时钟频率速度的连接, 即光纤通道数据链路的带宽将朝着 8gbps 和 10gbps 发展。 3) fc-2 层组成部件 帧:通过帧头和帧尾定界符标明一系列的编码传送码字,包括帧头、净荷,也 可能有一个可选帧头字段,它用于传送上层协议数据。光纤通道中有两种类型的帧: 数据帧和链路控制帧。帧的详细格式将在下一小节中进行介绍。 序列:从序列发起端到序列接收端的一个或多个帧组成的单向序列。 交换:由一个或多个非并发序列组成的流动序列,它既可以单向的由交换发起 端向交换接收端流动,又可按照发起序列双向地在交换发起端和接收端之间传送。 协议:一系列帧,可在一个或多个交换机中传送。帧的传送是为某一特定目的, 例如:交换结构或 n 端口注册,交换或者序列的中止交换,或确定远端 n 端口的 状态。 原语信号:光纤通道协议中有空闲(idle)码和 r_rdy 两种原语信号,其作用 为维持比特、 字节和字同步, 保持帧间的链路激活, 并进行链路层流量控制。 r_rdy 信号从接收机发送到发射机来表明一帧缓冲区可用性和接收帧需要缓冲区可靠性的 其它任何必要的资料。空闲码是真正的空闲,当数据或控制信息不传送时,空闲传 送保持链路的工作和提供帧间的处理时间。 原语序列:用来控制端口之间各个链路状态的有序集。主要有无操作(nos) 、 离线(ols) 、链路复原(lr) 、链路复原响应(lrr)等几种。 端口状态机:反映了端口的工作状态。光纤通道交换机线卡状态机一共有 9 种 状态:激活状态(ac) 、链路恢复状态(lr1、lr2 和 lr3) 、链路失效状态(lf1 和 lf2) 、离线状态(ol1、ol2 和 ol3) 。为了保证响应速度,该端口状态机在我 们的方案中采用硬件 fpga 实现。 4) 命名和编址的约定 光纤通道中各个组成设备的惟一性标识,是通过 64 位层次化的固定名字和分 19 配的 24 位的地址标识符来维持的。 64 位的名字为 san 中的设备提供了唯一性标识。 而 24 位的端口地址不仅使得帧头和路由逻辑能够针对高速的帧交换进行优化,还 通过允许拓扑网络自身分配地址,消除了对地址的人为管理负担。 3.1.3 光纤通道帧的格式光纤通道帧的格式 光纤通道中的所有链接操作都是以帧的形式被定义的,光纤通道帧是光纤通道 交换机软件系统中重点处理的数据。帧的数据格式如表 3.1 所示。帧由帧头定界 (sof)、帧内容、帧尾定界(eof)组成27。 帧与帧之间为 26 个帧间原语序列。帧 内容包括帧头、数据区和 crc 校验序列。 表 3.1 光纤通道帧的格式 4 字节24 字节02112 字节4 字节4 字节 sof帧头净荷crceof 1) 帧起始和终止定界符 帧起始定界符(sof)是一个有序集,在一个字边界传送,紧贴在帧内容之前。 不同的 sof 定界符用来定义不同类型的帧。帧尾定界符(eof)是一个紧接循环冗 余校验的有序集,eof 定界符指明帧内容的结束,并且后面必须紧跟空闲码。 2) 帧头 帧头是帧内容的第一字段,而且紧跟所有帧的 sof。帧头包含路由、流控等信 息来控制链路操作,同时用于端口检测出差错或命令帧。帧头的格式如表 3.2 所示, 各种字段的介绍如下: 表 3.2 帧头的格式 第 3124 位第 2316 位第 158 位第 70 位 r_ctld_id cs_ctls_id typef_ctl seq_iddf_ctlseq_cnt ox_idrx_id parameter 20 r_ctl:路由控制字段 s_id 和 d_id:地址标识符 cs_ctl:等级特别控制 type:数据结构类型 f_ctl:帧控制 seq_id:序列 id df_ctl:数据字段控制 seq_cnt:序列计数 ox_id 和 rx_id:交换标识符 parameter:参数 3) 净荷 净荷在帧头之后,净荷应按照字边界进行排列,长度为 4 字节的倍数。链路控 制帧的净荷长度为 0,数据帧的净荷长度范围为 02112 字节。如果 ulp 提供的净 荷容量不能被 4 除尽,13 个填充字节就附加到净荷上来组成一个字边界,并在帧 头字段 f_ctl 中指出填充字节的数目。在一个序列中,填充字节只包括一个信息 类的一系列邻接数据帧的最后数据帧上。 4) 循环冗余校验字段 循环冗余校验(cyclical redundancy check,crc)是一个按字对齐的 4 字节 字段,紧跟在净荷后,用来证明帧头净荷的数据完整性。在传送编码前和编码接收 后,根据帧头和净荷计算循环冗余校验字段,在循环冗余校验值计算和验证中没有 包括帧起始定界符和帧尾定界符。 3.1.4 光纤通道的服务类型光纤通道

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论