用于传输上的改进型光纤信道超量预订的装置和方法

文档序号:7608995阅读:133来源:国知局
专利名称:用于传输上的改进型光纤信道超量预订的装置和方法
技术领域
本发明涉及数据联网、电信联网,在一个实施例中,涉及用于高效地聚集多条光纤信道链路的系统和方法。
光纤信道标准定义了用来将计算机连接到盘驱动器和其他外设的双向链路协议。典型的光纤信道链路可具有1063Mbps的带宽以及最长为10千米的跨度(span)。
光纤信道的一种典型应用是在大规模计算中心中将CPU与盘驱动器阵列互连,如在金融交易处理中所使用的那样。为了容许故障,希望将冗余存储资源置于远程位置。高数据速率城域光网络(包括基于使用密集波分复用(DWDM)和/或SONET/SDH传输系统的网络)的出现使得可以将承载多条光纤信道链路的所谓的存储区域网(SAN)扩展到比10千米长得多的距离。
应用流行的光纤信道标准以在DWDM网络上通信从而最小化对重新设计计算中心设备的需要将是很有用的。这种DWDM网络自身可采用诸如千兆比特以太网、10千兆比特以太网、SONET等协议。因此,单个波长可承载例如1 Gbps数据流、10 Gbps数据流,等等。光纤信道帧可被封装在千兆比特以太网帧和/或SONET帧中。
但是,如果基于最大光纤信道吞吐量而将光纤信道链路分配给例如千兆比特以太网链路、10千兆比特以太网链路或STS-48 SONET包封(envelope),则可能会出现严重的数据传输低效。典型地,光纤信道链路的瞬时聚集带宽将下降到远少于总的最大带宽。因此,将传输网络容量直接映射到最大光纤信道需求将导致不被使用的容量。希望通过允许对可用的传输容量的超量预订(oversubscription)来更高效地使用容量,从而降低成本。
美国专利申请No.10/366,867描述了一种提供光纤信道超量预订的方法。其中描述的方法一般采用一组本地光纤信道端口和传输网络之间的入口缓冲器。入口缓冲器应当与本地和远程端口之间协商的流控制信用点(credit)数的总和一样大。对于某些光纤信道端口实现,该信用点数可能很大,因此需要很大的入口存储器。由于该存储器还应当是高速的,因此增大规模的成本将会较高。
该方法中的流控制是通过在将接收自远程端口的光纤信道就绪指示转发到本地端口之前对其进行扼制来进行的。由于远程光纤信道端口可能会很远,因此在传达就绪指示时可能有较大的等待时间。操作流控制机制时涉及的等待时间可能导致吞吐量减少。
需要用于光纤信道超量预订的系统和方法,其允许大的流控制信用点许可而无需大的入口存储器,而且不会向流控制操作引入过量的等待时间。

发明内容
本发明的实施例提供了传输网络上的光纤信道链路超量预订。根据本发明的传输接口除了可维护普通出口缓冲器之外还可维护一个小的入口缓冲器。入口缓冲器主要用于超量预订,而出口缓冲器主要用于流控制。对多个本地光纤信道端口的就绪指示可以在流控制条件允许时在本地生成,并且可以响应于预先配置的带宽共享权重在本地光纤信道端口之间分发。通过统计复用实现了传输网络的高效率,而没有显著增加缓冲器存储器需求,也没有向流控制机制引入等待时间。
本发明的一个方面提供了一种用于操作到多个本地光纤信道端口的传输接口的方法。所述方法包括在本地生成用于所述多个本地光纤信道端口的就绪指示,以及响应于所需的带宽共享,在所述本地光纤信道端口之间分布所述就绪指示的传送。
参考本说明书的其余部分和附图,可获得对本发明本质和优点的进一步理解。


图1描述了根据本发明一个实施例的采用传输网络的两条光纤信道链路。
图2是描述了根据本发明一个实施例的处理光纤信道登录帧的步骤的流程图。
图3A是描述根据本发明一个实施例的采用传输接口来在本地生成就绪指示并将它们在本地光纤信道端口之间分发的步骤的流程图。
图3B示出了根据本发明一个实施例的从传输接口出口缓冲器到本地光纤信道端口的帧传送。
图4示出了在实现本发明的实施例时有用的一个网络设备。
具体实施例方式
下面参考代表性应用来描述本发明,其中两条或多条光纤信道链路通过传输网络被建立隧道。在一个特定实现中,传输网络被实现为城域光网络。光纤信道帧被封装在例如以太网分组这样的分组中,通过网络被传输。光网络的细节和封装的细节与本发明的描述关系不大,但是应当理解,以太网分组例如可被以例如1 Gbps、2.5 Gbps或10 Gbps数据波形调制的光信号携带。此外,SONET真可被用来例如代替以太网分组。多个光信号还可以通过使用波分复用(WDM)技术来共享同一光纤。
根据本发明的实施例,两条或多条光纤信道链路可在诸如千兆比特以太网信道、10千兆比特以太网信道之类的单条传输链路上被复用在一起。光纤信道链路的组合最大数据速率可能超过传输链路的带宽。例如,两条1Gbps光纤信道链路可共享同一千兆比特以太网信道。这是可能的,因为光纤信道链路不总是以它们的最大数据速率进行工作。因此,统计复用利用了出现很长的突发和传入链路之间的突发同步的可能性较低这一事实。此外,流控制确保单个突发或同步突发的总效果不会使缓冲器溢出。
图1示出了根据本发明一个实施例的经由传输接口通过传输网络被承载的两条光纤信道链路。第一光纤信道链路互连光纤信道端口A 102和光纤信道端口A’104。第二光纤信道链路连接光纤信道端口B 106和光纤信道端口B’108。每条链路的光纤信道端口根据光纤信道标准来交换数据和控制信号,所述光纤信道标准例如在“Fibre Channel Framing and Signaling(FC-FS),Rev 1.70”,NCITS Working Draft Proposed American NationalStandard for Information Technology,2002年2月8日,中有所描述,其全部内容通过引用而被包含于此,以用于所有目的。光纤信道端口102、104、106和108可提供到例如盘驱动器、盘存储阵列、磁带驱动器、处理单元、打印机等设备的连接。
传输网络110承载两条光纤信道链路,如上所述,这两条光纤信道链路可被组合入同一传输链路。光纤信道帧可被封装在适合于传输网络结构的分组或帧中,例如以太网分组、SONET分组,等等。光纤信道端口102、104、106和108经由传输接口112和114被连接到传输网络110。传输接口112和114对光纤信道帧进行封装和解封装。一个实现中的封装的细节在美国专利申请No.10/305,640中示出。传输接口112和114执行使得两条光纤信道链路可共享一条传输链路的功能。
传输接口112和114分别具有出口缓冲器116和118。出口缓冲器被用来操作流控制机制,如下面将描述的那样。传输接口112和114还分别具有入口缓冲器103和109。
用于本地光纤信道端口的传送的初始信用点被减少为本地入口缓冲器可容纳的数量。后续对本地光纤信道端口的信用点的许可被调节,以考虑到远程出口缓冲器和本地入口缓冲器中的可用空间。
在任何时候,未清信用点(outstanding credit)优选地被维护为等于NI+MAX(NI/M,FE),其中NI是本地入口缓冲器中的可用空间,M是超量预订率,FE是远程出口缓冲器中的可用空间。这允许即使在远程出口缓冲器中没有可用空间,信用点也能被许可。因此,不是在任何时候都向本地发送器许可基于往返延迟T的量的信用点,而是基于本地入口缓冲器空间来许可信用点,并且只要帧被转发出本地入口缓冲器,额外的信用点就被颁发,而无需等待帧从远程出口缓冲器被转发到远程端口。
根据本发明的实施例,通过透明地增强光纤信道流控制机制来实现超量预订,从而根据可配置的共享权重而在链路之间分布可用带宽。在详细提供修改之前,对光纤信道流控制进行基本说明将是有用的。
为了防止远程光纤信道端口的内部缓冲器的溢出,光纤信道提供利用信用点的流控制机制。每个信用点表明远程光纤信道端口接受新帧的能力。信用点由接收者颁发给发送者。当光纤信道链路被建立时,每个端口向另一端口发送初始的缓冲器到缓冲器信用点值。对于每个被发送的帧,发送者将缓冲器到缓冲器信用点递减1。通过从接收者到发送者发送接收就绪指示“R_RDY”来颁发新的信用点。发送端口对于其接收的每个就绪指示将缓冲器到缓冲器信用点递增1。
根据本发明的实施例,就绪指示由传输接口为所附接的端口在本地生成。每个就绪指示是为本地光纤信道端口中特定的一个生成的。就绪指示在本地光纤信道端口上的分发依赖于被配置的带宽共享权重。
本地传输接口和远程光纤信道端口之间的流控制根据美国专利申请No.10/166,213中描述的技术在每条链路的基础上被维护。远程传输接口维护具有与传输链路距离成比例的大小的出口缓冲器。本地传输接口通过监视其自身的传送并从所接收的帧的封装头部提取关于新近释放的缓冲器空间的报告,来逐个链路地跟踪该缓冲器中的空间的可用性。仅当该跟踪过程指示远程缓冲器空间可用时,就绪指示才被传送到本地光纤信道端口。
美国专利申请No.10/166,213还描述了光纤信道流控制是如何适用于调节从出口缓冲器到本地光纤信道端口的帧的传送的。本发明的实施例在每条链路的基础上采用该技术。本地传输接口意识到本地光纤信道端口许可的初始信用点。从缓冲器传送到本地端口的帧被从信用点扣除。从本地端口接收的就绪指示增加信用点。此外,在释放缓冲器空间之后,本地传输接口通过用光纤信道帧封装释放量信息来将释放量通知远程传输接口。
因为本地传输接口和任何本地光纤信道端口之间的距离相对较小(例如是几百米的量级),因此入口缓冲器可以相对较小。在一个实现中,入口缓冲器包括用于为每个本地光纤信道端口容纳大约8-16个最大大小的帧的存储空间。一个有用的经验方法是对于以大约1 Gbps工作的8Km链路,对于每个端口有8个最大大小的帧的缓冲器空间已经足够了。每个端口的入口缓冲器空间被称为BB_CreditH。
本发明的实施例可适应很多种超量预订情景。例如,4条1.06 Gbps光纤信道链路可被容纳在一条2.5 Gbps干线(trunk)上。在另一示例中,两条2.12 Gbps光纤信道链路可被容纳在一条2.5 Gbps干线(trunk)上。在这两个示例中,原始客户端带宽需求是4.24 Gbps。后一两条链路超量预订的示例在图1中示出。
根据本发明实施例,操作者可以配置光纤信道链路之间的带宽共享权重,以在拥塞状况期间分配可用的传输网络容量。这些权重可通过使用远程网络管理工作站等对传输接口本地的终端进行输入来配置。这些权重还可基于诸如与服务质量(QoS)有关的其他配置参数来被自动设置。但是,在典型实现中,用户配置要被每个客户端使用的干线带宽的百分比。还可以存在默认配置,其中带宽在客户端之间平均配置。
建立超量预订的第一步是在链路的每一端截获光纤信道端口之间传送的登录消息,以调节被许可的信用点,使其与可用的传输接口入口缓冲器空间一致。图2是描述根据本发明一个实施例的处理光纤信道登录帧的步骤的流程图。在步骤202,传输接口(例如传输接口112)接收来自本地光纤信道端口(例如光纤信道端口A 102)的光纤信道登录帧。登录帧将包括光纤信道端口A想要许可给光纤信道端口A’104以用于流控制目的的缓冲器到缓冲器信用点值。但是,这里缓冲将发生在入口缓冲器103内而不是光纤信道端口A’处。出口缓冲器118被用来操作传输网络上的光纤信道流控制。
因此,步骤204测试该信用点值,以查看它是否小于等于入口缓冲器103内为缓冲该光纤信道链路预留的空间(以最大大小的帧为单位)。如果信用点值小于等于可用的缓冲器空间BB_CreditH,则在步骤208,登录帧与未被修改的信用点值一起被转发到光纤信道端口A’。但是,如果信用点值大于可用的缓冲器空间,则在步骤208转发登录帧之前,在步骤206,信用点值被该链路的BB_CreditH所替换。在对称网络中,入口缓冲器103和109的大小可以相同。此外,出口缓冲器116和118的大小可以相同。一般对于8Km左右的1Gbps光纤信道客户端到传输接口距离来说,入口缓冲器可以足够大,以容许向每个本地端口许可8个信用点。对于320Km的传输距离来说,出口缓冲器例如应当容许许可240个信用点。
在链路工作期间,每个传输接口将为其本地光纤信道端口生成就绪指示(R_RDY)。就绪信号以与传输链路的帧承载容量大致相同的速率被生成,并且与带宽共享权重成比例地在本地端口之间与一个警告一起被分发,该警告的内容是仅当在特定的本地光纤信道端口的链路上工作的流控制允许时,就绪信号才会被发送到该本地光纤信道端口。在一些实现中,由于流控制而未被一条链路使用的带宽可被其他链路使用。
图3A描述了根据本发明一个实施例的生成和分发就绪信号的步骤。图3A的步骤是对每个本地光纤信道端口并行执行的。在步骤302,传输接口112从本地光纤信道端口接收要被经由传输网络110和远程传输接口114传递到远程光纤信道端口的帧。该帧被封装并被传递到另一侧,而没有显著的入口缓冲延迟。该封装可包括指示在从出口缓冲器116向本地光纤信道端口传送帧之后,出口缓冲器116中被释放的缓冲器空间量。
就绪指示不被立即传送回本地光纤信道端口。相反,在步骤304,延迟被设置。延迟是基于由共享权重乘以总可用传输网络带宽所指示的被分配被该光纤信道链路的带宽来确定的。例如,被分配给该光纤信道链路的带宽可以是42.5兆字节每秒。对于最大大小的光纤信道帧(2148字节),这对应于19786每秒的就绪指示生成速率。因此,对于最大大小的帧来说,步骤304的延迟大约是50微秒。但是,如果帧较小,则就绪指示将被更快地送回。对于128字节的帧来说,就绪指示将在大约仅3毫秒之后就被送回。在考虑到在步骤302接收的帧的帧大小的情况下,延迟被设置为分配的带宽所允许的帧速率的倒数。
在步骤304的延迟结束后,在步骤306,仅当传输接口之间的流控制允许时,就绪指示才被发送回本地光纤信道端口。仅当理解在远程传输接口114处存在足够的出口缓冲器空间时,就绪指示才响应于本地端口先前传送的帧而被允许。为了跟踪可用的远程缓冲器空间,传输接口112使用从另一侧发送的登陆帧中包括的信用点数、先前传送的帧的数量和大小的历史,以及接收到的关于远程传输接口114处的被释放的缓冲器空间的指示。被释放的缓冲器空间的指示被包括在接收到的光纤信道帧的封装中。
图3B示出了从出口缓冲器(例如出口缓冲器116)向本地光纤信道端口(例如光纤信道端口A 102)传送帧的过程。在步骤310,流控制机制调节从出口缓冲器到本地光纤信道端口的帧的传送。该流控制机制的工作基于可用的信用点。只要有信用点,帧就可以被传送到本地端口。初始的信用点值是本地端口初始许可的登录信用点数(而不是被传输接口替换以用于传递到远程传输接口的那一个值)。对于被传送到本地端口的每一帧,信用点数递减,对于来自本地端口的每个就绪指示,信用点数递增。当出口缓冲器空间被释放时,被释放的量在光纤信道帧的封装内被传递到远程传输接口。
因此应当理解,因为不需要传递就绪指示或光纤信道空闲,所以节约了带宽。流控制和超量预订机制即使在距离很长并且光纤信道端口许可大信用点值时也不需要入口缓冲。对入口存储需求的减少导致更低的成本和更小的板面积。此外,由于就绪指示在本地生成,因此等待时间很小。
在一个特定示例中,2.5 Gbps的千兆比特以太网传输链路在4条光纤信道链路之间共享。链路0被分配以可用带宽的20%,链路1是20%,链路2是50%,链路3是10%。因此,被分配给链路0的原始带宽是0.5Gbps,链路1是0.5 Gbps,链路3是1.25 Gbps,链路3是0.25 Gbps。光纤信道流量被使用32/33编码来多协议封装。因此,1.06 Gbps的光纤信道带宽被映射到1.25Gbps的传输带宽。因此,实际带宽共享为链路0是0.424 Gbps,端口1是0.424 Gbps,端口2是1.0625 Gbps,端口3是0.212Gbps。然后,每个端口的就绪指示生成速率将基于这些带宽和帧大小。
图4示出了可被用来实现例如图1的传输网络接口和/或执行图2和3A-3B的任何步骤的网络设备400。在一个实施例中,网络设备400是可在硬件、软件或其任何组合中实现的可编程机器。处理器402执行存储在程序存储器404中的代码。处理器402可以执行上述封装、解封装和流控制操作。程序存储器404是计算机可读存储介质的一个示例。程序存储器404可以是易失性存储器。存储相同代码的另一形式的计算机可读存储介质可以是某些类型的非易失性存储器,例如软盘、CD-ROM、DVD-ROM、硬盘、闪存,等等。通过网络承载代码的载波是计算机可读存储介质的另一示例。
网络设备400经由多个线路卡406与物理介质接口。例如,线路卡406之一可以耦合到光纤,并且可包括合适的物理和链路层功能。在一个实现中,可以存在用于支持传输链路的线路卡和用于连接到本地光纤信道端口的另一线路卡。用于支持传输链路的线路卡可以包括千兆比特以太网接口、10千兆以太网接口、SONET接口等等。当分组被网络设备400接收、处理和转发时,它们可被存储在分组存储器408中。分组存储k器408可以帮助实现缓冲器,例如缓冲器406和408。网络设备400实现上述的所有网络协议及其扩展,以及本发明提供的数据联网特征。
传输接口还可以全部或部分实现为ASIC、FPGA等等。出口缓冲器可以采用任何类型的存储设备或电路,例如SRAM。如果入口缓冲器很小的话,其可以是用于实现传输接口的FPGA的组成部分。入口和出口缓冲器也可被实现为多个客户端设备上共享的单个物理设备。
应当理解,这里描述的示例和实施例仅是示例性的,本领域的技术人员在其教导下作出的各种修改和改变都被包括在所附权利要求的范围及其等同物的整个范围所限定的本申请的精神和范围内。
权利要求
1.一种用于操作到多个本地光纤信道端口的传输接口的方法,所述方法包括在本地生成用于所述多个本地光纤信道端口的就绪指示;以及响应于所需的带宽共享,在所述本地光纤信道端口之间分布所述就绪指示的传送。
2.如权利要求1所述的方法,其中所述就绪指示是在所述传输接口内本地生成的。
3.如权利要求1所述的方法,还包括接收来自所述本地光纤信道端口中第一端口的缓冲器信用点值;响应于所述传输接口内的缓冲器空间,修改所述缓冲器信用点值;以及经由传输网络将所述修改后的缓冲器信用点值传送到远程光纤信道端口。
4.如权利要求1所述的方法,还包括响应于远程传输接口处的缓冲器空间可用性,控制所述就绪指示向所述本地光纤信道端口的传送。
5.如权利要求1所述的方法,还包括经由传输网络传递从所述多个本地光纤信道端口到多个远程光纤信道端口的流量;并且其中通过所述传输网络由所述多个光纤信道端口端接的光纤信道链路的组合最大数据速率超过了经由所述传输网络的可用带宽。
6.如权利要求5所述的方法,还包括抑制传递从所述多个远程光纤信道端口到所述多个本地光纤信道端口的就绪指示。
7.如权利要求1所述的方法,其中所述所需的带宽共享包括在所述本地光纤信道端口之间的带宽的默认平均共享。
8.如权利要求1所述的方法,还包括接收选择所述所需的带宽共享的输入。
9.一种计算机程序产品,用于操作到多个本地光纤信道端口的传输接口,所述产品包括用于致使在本地生成用于所述多个本地光纤信道端口的就绪指示的代码;用于响应于所需的带宽共享,在所述本地光纤信道端口之间分布所述就绪指示的传送的代码;以及存储所述代码的计算机可读存储介质。
10.如权利要求9所述的产品,其中所述就绪指示是在所述传输接口内本地生成的。
11.如权利要求9所述的产品,还包括用于致使接收来自所述本地光纤信道端口中第一端口的缓冲器信用点值的代码;用于致使响应于所述传输接口内的缓冲器空间,修改所述缓冲器信用点值的代码;以及用于致使经由传输网络将所述修改后的缓冲器信用点值传送到远程光纤信道端口的代码。
12.如权利要求9所述的产品,还包括用于致使响应于远程传输接口处的缓冲器空间可用性,控制所述就绪指示向所述本地光纤信道端口的传送的代码。
13.如权利要求9所述的产品,还包括用于致使经由传输网络传递从所述多个本地光纤信道端口到多个远程光纤信道端口的流量的代码;并且其中通过所述传输网络由所述多个光纤信道端口端接的光纤信道链路的组合最大数据速率超过了经由所述传输网络的可用带宽。
14.如权利要求13所述的产品,还包括用于抑制传递从所述多个远程光纤信道端口到所述多个本地光纤信道端口的就绪指示的代码。
15.如权利要求9所述的产品,其中所述所需的带宽共享包括在所述本地光纤信道端口之间的带宽的默认平均共享。
16.如权利要求9所述的产品,还包括用于致使接收选择所述所需的带宽共享的输入的代码。
17.一种用于操作到多个本地光纤信道端口的传输接口的装置,所述装置包括用于在本地生成用于所述多个本地光纤信道端口的就绪指示的装置;以及用于响应于所需的带宽共享,在所述本地光纤信道端口之间分布所述就绪指示的传送的装置。
18.一种用于操作到多个本地光纤信道端口的传输接口的装置,所述装置包括一个或多个集成电路,所述集成电路在本地生成用于所述多个本地光纤信道端口的就绪指示,并且响应于所需的带宽共享,在所述本地光纤信道端口之间分布所述就绪指示的传送。
全文摘要
本发明的实施例提供了传输网络上的光纤信道链路超量预订。根据本发明的传输接口除了可维护普通出口缓冲器之外还可维护一个小的入口缓冲器。入口缓冲器主要用于超量预订,而出口缓冲器主要用于流控制。对多个本地光纤信道端口的就绪指示可以在流控制条件允许时在本地生成,并且可以响应于预先配置的带宽共享权重在本地光纤信道端口之间分发。通过统计复用实现了传输网络的高效率,而没有显著增加缓冲器存储器需求,也没有向流控制机制引入等待时间。
文档编号H04L12/56GK1883158SQ200480033676
公开日2006年12月20日 申请日期2004年12月13日 优先权日2003年12月30日
发明者西拉姆·纳塔拉詹, 普拉萨德·沙若特 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1