对穿过sonet/sdh传输路径的基于gfp的客户端数据帧进行高效流控制的方法和系统的制作方法

文档序号:7606696阅读:189来源:国知局
专利名称:对穿过sonet/sdh传输路径的基于gfp的客户端数据帧进行高效流控制的方法和系统的制作方法
技术领域
本发明一般地涉及数字通信网络,更具体而言,本发明涉及用于在SONET/SDH(除了其他协议之外)网络路径上高效地传输光纤信道客户端数据的方法和系统。
背景技术
SONET/SDH和光纤已经作为用于建立大规模的、高速的、基于因特网协议(IP)的网络的重要技术而出现。SONET(同步光纤网络的首字母缩写)和SDH(同步数字体系的首字母缩写)是用于光纤网络上的同步数据传输的一组相关标准。SONET/SDH当前被用在广域网(WAN)和城域网(MAN)中。SONET系统由交换机、复用器和中继器(repeater)构成,所有这些设备通过光纤连接。源和目的地之间的连接被称为路径。
一种用于计算机设备的网络互连的网络体系结构是光纤信道,其核心标准在ANSI(美国国家标准协会)X3.230-1994中有所描述。起源于数据存储需求的光纤信道当前正在为以光纤信道帧形式在通信网络上的双向千兆比特每秒的传输作准备,所述光纤信道帧由用于通过网络系统运载数据的标准化的比特集合构成。光纤信道链路被限制为不超过10公里。
新的标准和协议已经出现,用于组合SONET/SDH和光纤信道技术的优点。例如,有时需要通过通常工作在SONET或SDH标准下的MAN(城域网)或甚至WAN(广域网)来链接两个利用光纤信道协议进行操作的SAN(存储区域网)。光纤信道的这种从100公里到超过几百公里,或甚至上千公里的扩展是通过将光纤信道端口映射到穿过SONET/SDH网络的传输所用的SONET/SDH路径来实现的。用于执行这种功能的一个方法是将光纤信道客户端数据帧封装成透明模式的通用成帧协议(GFP-T)帧,然后将GFP-T帧映射到穿过SONET/SDH网络的传输所用的SONET/SDH帧。
光纤信道系统具有两种类型的流控制1)端对端,以及2)缓冲对缓冲信用(buffer-to-buffer credit)。在这两种流控制中,两个端口彼此报告在该端口的缓冲区中有多少帧可被用于接收来自另一端口的光纤信道帧。在端对端流控制中,源端口和目的地端口是所述的两个端口,并且端口通过ACK链路控制帧而以信号向彼此通知已发送的帧的接收。在缓冲对缓冲信用中,在一条链路的相对两端处的两个端口是所述的两个端口,并且端口利用R_Rdy原生信号(primitive signal)来通知已发送的帧的接收。但是流控制是在光纤信道网络内的,并且基于可变的计数光纤信道帧。
在本发明中,提供了用于连接基于帧的协议网络(例如光纤信道和千兆比特以太网)的SONET/SDH传输网络上的流控制。此外,流控制基于字节,以更好地利用接收GFP封装帧的缓冲区的尺寸。

发明内容
本发明提供了用于通过SONET/SDH传输网络从本地传输接口和与其相关联的至少一个本地端口向远程传输接口和与其相关联的至少一个远程端口高效地发送GFP封装的客户端数据帧的方法和系统,其中所述远程传输接口具有缓冲区,用于保存通过SONET/SDH传输网络接收到的GFP封装的客户端数据帧。
在本发明的一个方面中,所述方法一般具有以下步骤接收来自远程传输接口的关于缓冲区中的字节方式的可用存储器空间的信息;跟踪在从本地传输接口到远程传输接口的传送中的GFP封装的客户端数据帧的字节数;以及响应于关于远程传输接口的缓冲区中的可用字节数和在从本地传输接口到远程传输接口的传送中的字节数的信息而发送更多的GFP封装的客户端数据帧以使所述缓冲区在不发生溢出的情况下的利用率最大化。这使得从本地传输接口到远程传输接口的SONET/SDH传输网络能够被高效利用。
在本发明的另一方面中,本地传输接口包括至少一个集成电路,所述集成电路适合于接收来自远程传输接口的信息,该信息是在用于保存GFP封装的客户端数据帧的字节方面,在所述缓冲区中的可用存储器的信息;跟踪在从所述本地传输接口到所述远程传输接口的传送中的GFP封装的客户端数据帧的字节数;以及响应于关于所述远程传输接口的缓冲区中的可用字节数和在从所述本地传输接口到所述远程传输接口的传送中的所述字节数的信息而发送更多的GFP封装的客户端数据帧以使所述缓冲区在不发生溢出的情况下的利用率最大化,以便实现从所述本地传输接口到所述远程传输接口的所述SONET/SDH传输网络的高效利用。
所述客户端数据帧可以包括光纤信道帧、千兆比特以太网和其他基于帧的协议。
以上是对现有技术中的某些缺陷和本发明的特征的简要描述。从以下描述、附图和权利要求中,本发明的其他特征、优点和实施例将对本领域技术人员来说变得明显。


图1是示出采用本发明的示例性网络的图;图2A是根据本发明的一个实施例,在图1的示例性网络中的传输接口、端口卡的操作的流程图;图2B是在图2A的操作中的初始化步骤中的操作的流程图;以及图3是根据本发明的一个实施例,图1的端口卡的一部分的框图。
在所有附图中,相应的标号指示相应的部分。
具体实施例方式
以下描述用于使本领域的普通技术人员能够制造和使用本发明。对特定实施例和应用的描述仅仅是作为示例提供的,并且本领域的技术人员容易想到各种修改。在不脱离本发明的范围的情况下,这里描述的一般原理可以被应用到其他实施例和应用。因此,本发明不局限于所示实施例,而是将符合与这里描述的原理和特征相一致的最大范围。为了描述的清晰,涉及本发明相关技术领域所公知的技术材料的细节没有被详细描述。
图1示出了用于本发明的环境,其中示例性网络光纤信道端口通过SONET/SDH传输网络10来连接。在该示例中,假设端口工作在光纤信道协议下,但是根据本发明,端口也可以工作在其他基于帧的协议下,例如千兆比特以太网。
在示例性网络中,光纤信道端口16和18分别通过光纤信道链路15和17被连接到多端口光纤信道卡14。同样地,第二光纤信道端口卡24分别通过光纤信道链路25和27被连接到光纤信道端口26和28。光纤信道端口16、18、26和28与通过光纤信道互连的元件相关联。这些元件包括数据存储元件(包括盘驱动阵列、RAID、特大容量盘)或可能包括光纤信道网络元件(例如路由器、交换机或其他光纤信道网络元件)。在图1中,每个光纤信道端口卡14和24例如被连接到一对光纤信道端口,并且每个光纤信道端口卡可以连接多个端口。
SONET/SDH网络10提供了用于将光纤信道端口16和18与光纤信道端口26和28相连的传输路径。光传输平台12和22提供了光纤信道和SONET/SDH网络之间的接口,所述光传输平台12和22例如是ONS15454(可从加州San Jose的Cisco系统公司获得)。光纤信道端口16和18被连接到多端口光纤信道卡14,该多端口光纤信道卡14被装配为适合于光传输平台12;并且光纤信道端口26和28被连接到多端口光纤信道卡24,该多端口光纤信道卡24被装配为适合于光传输平台22。通过分别充当与平台12和22之间的传输接口的光纤信道端口卡14和24,光纤信道端口16和18通过SONET/SDH网络传输路径被互连到光纤信道端口26和28。结果是存在用于位于SONET/SDH网络10一端的代表性光纤信道端口(即端口18)和在另一端的代表性光纤信道端口(即端口28)之间的连接的两条虚拟导线。如上所述,透明模式的通用成帧过程GFP-T在传统上被用作这种网络的成帧协议,用于在SONET/SDH网络10的一端封装将通过SONET/SDH网络发送的光纤信道有效载荷,而在另一端解封装光纤信道数据。利用GFP-T协议,GFP-T帧具有固定长度,并且在本实施例中,帧长度被设置为(67×19)+4=1277字节长。
虽然端口卡14和24以及它们各自的光平台12和22是用于图1的示例性网络的传输接口,但是对于本发明的所述实施例,可以认为传输接口仅位于端口卡12和22中。卡12和22中的每一个都具有FIFO(先进先出)缓冲区,用于在从GFP封装帧中剥离出经封装的光纤信道帧并将光纤信道帧传递到其光纤信道端口目的地之前,保存从SONET/SDH传输网络10接收到的GFP帧。本发明为通过SONET/SDH网络10在光纤信道端口卡14和24(以及它们各自连接的端口)之间高效地传输GFP封装的光纤信道帧作准备。
图2A是示出本地传输接口(即端口卡14)的操作步骤的流程图,其中所述本地传输接口正在向作为远程传输接口的端口卡24传送GFP帧。在开始30之后,初始化步骤32为传送过程设置某些值;图2B示出了初始化步骤32的细节。在子步骤50中,在接收端口卡24的缓冲区中为来自发送端口卡14的GFP帧留出的存储器量由两个端口卡协商,该协商类似于在光纤信道协议中调用的协商过程。在步骤52中,端口卡14向端口卡24发送带有序列号标签的初始GFP帧,并且这时端口卡14还在步骤54中启动计时器。通过SONET/SDH传输网络10,端口卡24在接收到加注了标签的GFP帧之后,将该帧存储在它的FIFO缓冲区中,并在确认中,将该序列号标签(以及在它的缓冲区中剩余的可用存储器的字节量)通过SONET/SDH传输网络10发回端口卡14。在步骤56中接收到标签之后,端口卡14拥有了关于GFP帧穿过SONET/SDH网络10以及该帧的标签返回所需的时间的指示。端口卡14据此利用步骤58来确定如下时限T该时限T是在发出一个GFP帧之后其标签返回的时限。例如,对于1200公里往返延迟来说,T可能是12ms。如果标签在T内没有返回,则可以假设GFP帧或其返回的标签在通过SONET/SDH网络10的传输过程中丢失。
返回到图2A的流程图,在初始化步骤32之后,本地端口卡14在步骤34中确定应该发送到端口卡24的GFP帧的数目。该确定是通过如下方式来执行的从伴随返回的标签的在远程端口卡24的FIFO缓冲区中可用的字节数中减去在从本地端口卡14的传送中的总字节数,该总字节数是利用发送字节计数器(下面步骤38)来计数的。最初,传送中的字节数等于0,因此计算出的将发送的字节数最大。利用步骤36,GFP封装帧被本地传输接口所发送,并且本地端口卡14将唯一的标签附接到每个帧,以标识特定的帧。利用步骤38,本地传输接口还启动计时器,并使用发送字节计数器对正被发送到远程端口卡24的字节数进行计数。
在SONET/SDH传输网络10的另一端,远程端口卡24将每个接收到的GFP帧存储在它的缓冲区中,并将该帧的标签和当前可用缓冲区中的可用存储器量一起通过SONET/SDH传输网络10发送到本地端口卡14。
在步骤40中,本地端口卡14等待已发送的GFP帧的标签从远程端口卡24返回。如果已接收到标签,过程则移动到步骤42,利用步骤42,发送字节计数器被调整,以保持对正传送到远程卡24的字节数的当前计数。由于每个GFP帧具有相同的固定长度(即相同的字节数),因此对于接收到的每个标签,计数器递减相同的量。然后,过程返回到步骤34,并且过程再次启动。利用关于FIFO缓冲区中的可用空间量和被更新的传送中的字节量的信息,执行新计算以发送最大字节数来填充SONET/SDH传输网络10中的信道。
另一方面,如果在步骤40中的测试指示尚未接收到来自远程端口卡24的返回标签,则步骤44测试是否已经到达时限T。如果没有,过程则返回到步骤40。如果该时限已经到达,则假设GFP帧已经丢失。实际上,该帧可能在通过SONET/SDH传输网络10的传送中就已经丢失,或者该帧的标签可能已经在通过传输网络的返回过程中丢失。在任意一种情况下,过程都返回到步骤34,同时从上次接收到的序列号标签和下一未发送的GFP帧中得出的远程缓冲区容量信息被发送。
应该注意,所述传输过程主要关注GFP封装的客户端数据帧通过SONET/SDH传输网络的高效传输,即在可能的最短时间内,通过传输网络的最大量客户端数据的传输。丢失的帧的重传和替换由更高层网络协议来处理。
所描述的传输过程连续操作。本地端口卡14连续更新其对于远程端口24的FIFO缓冲区可用性的观察。如果已发送的GFP帧丢失,或者如果接收确认标签在返回传输中丢失,则仅仅暂时降低两个端口卡14和24之间的传输信道的有效性。只要接收到新的信息,本地端口卡14就会连续地自我校正其自身,并快速确定在远程端口卡24中可用的正确的缓冲区量。发送端口卡14总是最有效地使用传输网络10上的信道,并且补偿由于GFP帧或标签确认丢失所引起的任何失去的带宽。应该明确,在通过SONET/SDH传输网络10的反方向上的传输也可受益于本发明。
上述本发明的实施例被最好地实现在图1的示例性网络中的端口卡14和24中。上述操作除了逻辑之外还需要计时器和计数器。对于本发明的用于客户端数据帧通过SONET/SDH传输网络的最佳传输的高速实现方式来说,在ASIC(专用集成电路)或FPGA(现场可编程门阵列)中的硬件实现方式是优选的。
当吞吐量不一定重要时,本发明可以被实现在诸如微控制器的ROM(只读存储器)之类的固件中或者提供某些优点的软件中。例如,由软件控制的处理器单元也可以执行除所述操作之外的操作,或者可以以软件形式来更容易地执行更新。图3示出了可以用于执行本发明的实施例的软件的代表性计算机系统60的框图。计算机系统60包括存储器62,它可以存储和取得并入了用于实现本发明的多个方面的计算机代码的软件程序、用于本发明的数据等等。示例性计算机可读存储介质包括CD-ROM、软盘、磁带、闪存、半导体系统存储器和硬盘驱动器。计算机系统60还包括子系统,例如中央处理器61、固定存储设备64(例如硬盘驱动器)、可移动存储设备66(例如CD-ROM驱动器)以及一个或多个网络接口67,所有这些子系统都通过系统总线68连接。适合用于本发明的其他计算机系统可以包括更多或更少的子系统。例如,计算机系统60可以包括多于一个处理器61(即多处理器系统)或缓存存储器。计算机系统60还可以包括显示器、键盘和鼠标(未示出)以用作主机。
虽然已经根据所示实施例描述了本发明,但是本领域普通技术人员将容易意识到,在不脱离本发明的范围的情况下,可以对实施例执行各种变化。因此,包含在以上描述中并在附图中示出的所有内容都希望被理解为示例性的,而非限制性的。
权利要求
1.一种用于通过SONET/SDH传输网络从本地传输接口和与其相关联的至少一个本地端口向远程传输接口和与其相关联的至少一个远程端口高效地发送GFP封装的客户端数据帧的方法,所述远程传输接口具有缓冲区,用于保存通过所述SONET/SDH传输网络接收到的所述GFP封装的客户端数据帧,所述方法包括接收来自所述远程传输接口的信息,该信息是在用于保存GFP封装的客户端数据帧的字节方面,在所述缓冲区中的可用存储器的信息;跟踪在从所述本地传输接口到所述远程传输接口的传送中的GFP封装的客户端数据帧的字节数;以及响应于关于所述远程传输接口的缓冲区中的所述可用字节数和在从所述本地传输接口到所述远程传输接口的传送中的所述字节数的信息来发送更多的GFP封装的客户端数据帧,以使所述缓冲区在不发生溢出的情况下的利用率最大化,从而实现从所述本地传输接口到所述远程传输接口的所述SONET/SDH传输网络的高效利用。
2.如权利要求1所述的方法,其中所述客户端数据包括光纤信道信号。
3.如权利要求1所述的方法,其中所述客户端数据包括千兆比特以太网信号。
4.如权利要求1所述的方法,其中所述接收步骤还包括最初与所述远程传输接口协商在所述缓冲区中为从所述本地传输接口接收到的GFP封装的客户端数据帧保留的总空间量。
5.如权利要求1所述的方法,其中所述跟踪步骤还包括伴随着所述GFP封装的客户端数据帧中的每一个发送一个标识标签;并且对由所述本地传输接口发送到所述远程传输接口的所述GFP封装的客户端数据帧中的每一个的字节数进行计数;并且其中所述接收信息的步骤还包括接收由所述远程传输接口接收到的所述GFP封装的客户端数据帧中的每一个的标识标签以及在所述远程传输接口的缓冲区中的可用字节数。
6.如权利要求5所述的方法,其中所述跟踪步骤还包括从所述接收到的标识标签和所述在远程传输接口的缓冲区中的可用字节数计算出在从所述本地传输接口到所述远程传输接口的传送中的GFP封装的客户端数据帧的字节数。
7.如权利要求5所述的方法,其中所述接收信息的步骤还包括判断在预定时间量内是否已经从所述远程传输接口接收到所述标识标签;并且所述发送步骤还包括响应于所述判断步骤中判定在所述预定时间量内没有接收到所述标识标签的情况,发送更多的GFP封装的客户端数据帧。
8.在用于通过SONET/SDH传输网络向具有缓冲区的远程传输接口传输GFP封装的客户端数据帧的网络系统中的一种连接到至少一个本地端口的本地传输接口,所述本地传输接口包括至少一个集成电路,所述集成电路适合于接收来自所述远程传输接口的信息,该信息是在用于保存GFP封装的客户端数据帧的字节方面,在所述缓冲区中的可用存储器的信息;跟踪在从所述本地传输接口到所述远程传输接口的传送中的GFP封装的客户端数据帧的字节数;以及响应于关于所述远程传输接口的缓冲区中的所述可用字节数和在从所述本地传输接口到所述远程传输接口的传送中的所述字节数的信息而发送更多的GFP封装的客户端数据帧,以使所述缓冲区在不发生溢出的情况下的利用率最大化,从而实现从所述本地传输接口到所述远程传输接口的所述SONET/SDH传输网络的高效利用。
9.如权利要求8所述的传输接口,其中所述客户端数据包括光纤信道信号。
10.如权利要求8所述的传输接口,其中所述客户端数据包括千兆比特以太网信号。
11.如权利要求8所述的传输接口,其中所述至少一个集成电路还适合于最初与所述远程传输接口协商在所述缓冲区中为从所述本地传输接口接收到的GFP封装的客户端数据帧保留的总空间量。
12.如权利要求8所述的传输接口,其中所述至少一个集成电路还适合于伴随着所述GFP封装的客户端数据帧中的每一个发送一个标识标签;对由所述本地传输接口发送到所述远程传输接口的所述GFP封装的客户端数据帧中的每一个的字节数进行计数;并且接收由所述远程传输接口接收到的所述GFP封装的客户端数据帧中的每一个的标识标签以及在所述远程传输接口的缓冲区中的可用字节数。
13.如权利要求12所述的传输接口,其中所述至少一个集成电路还适合于从所述接收到的标识标签和所述在远程传输接口的缓冲区中的可用字节数计算出在从所述本地传输接口到所述远程传输接口的传送中的GFP封装的客户端数据帧的字节数。
14.如权利要求12所述的传输接口,其中所述至少一个集成电路还适合于判断在预定时间量内是否已经从所述远程传输接口接收到所述标识标签;并且响应于所述判断步骤中判定在所述预定时间量内没有接收到所述标识标签的情况,发送更多的GFP封装的客户端数据帧。
15.如权利要求8所述的传输接口,其中所述至少一个集成电路是从包括ASIC和FPGA的群组中选出的。
16.如权利要求8所述的传输接口,其中所述至少一个集成电路包括处理器和至少一个存储器子单元,其中所述处理器由存储在所述存储器子系统中的软件代码来配置。
17.在用于通过SONET/SDH传输网络向具有缓冲区的远程传输接口传输GFP封装的客户端数据帧的网络系统中的一种连接到至少一个本地端口的本地传输接口,所述本地传输接口包括用于接收来自所述远程传输接口的信息的装置,该信息是在用于保存GFP封装的客户端数据帧的字节方面,在所述缓冲区中的可用存储器的信息;用于跟踪在从所述本地传输接口到所述远程传输接口的传送中的GFP封装的客户端数据帧的字节数的装置;以及用于响应于关于所述远程传输接口的缓冲区中的所述可用字节数和在从所述本地传输接口到所述远程传输接口的传送中的所述字节数的信息来发送更多的GFP封装的客户端数据帧,以使所述缓冲区在不发生溢出的情况下的利用率最大化,从而实现从所述本地传输接口到所述远程传输接口的所述SONET/SDH传输网络的高效利用的装置。
18.如权利要求17所述的传输接口,其中所述客户端数据包括光纤信道信号。
19.如权利要求17所述的传输接口,其中所述客户端数据包括千兆比特以太网信号。
20.如权利要求17所述的传输接口,还包括用于最初与所述远程传输接口协商在所述缓冲区中为从所述本地传输接口接收到的GFP封装的客户端数据帧保留的总空间量的装置。
21.如权利要求17所述的传输接口,还包括用于伴随着所述GFP封装的客户端数据帧中的每一个发送一个标识标签;并且对由所述本地传输接口发送到所述远程传输接口的所述GFP封装的客户端数据帧中的每一个的字节数进行计数的装置;以及用于接收由所述远程传输接口接收到的所述GFP封装的客户端数据帧中的每一个的标识标签以及在所述远程传输接口的缓冲区中的可用字节数的装置。
22.如权利要求21所述的传输接口,还包括用于从所述接收到的标识标签和所述在远程传输接口的缓冲区中的可用字节数计算出在从所述本地传输接口到所述远程传输接口的传送中的GFP封装的客户端数据帧的字节数的装置。
23.如权利要求21所述的传输接口,还包括用于判断在预定时间量内是否已经从所述远程传输接口接收到所述标识标签的装置;以及用于响应于所述判断步骤中判定在所述预定时间量内没有接收到所述标识标签的情况,发送更多的GFP封装的客户端数据帧的装置。
全文摘要
本发明描述了用于对通过SONET/SDH传输网络的GFP封装的客户端数据帧进行流控制的方法和系统。具有端口卡形式的传输接口具有用于接收GFP帧的FIFO。在接收到的帧的确认中,发送传输接口接收到具有返回帧序列号标签形式的确认以及字节形式的接收传输接口的缓冲区中的可用容量。通过连续更新缓冲区容量以及跟踪去往接收传输接口的传送中的字节数,发送传输接口使通过SONET/SDH传输网络的信道的利用率最大化,即使在帧丢失或确认标签丢失的情况下也是如此。
文档编号H04L12/56GK1809978SQ200480017466
公开日2006年7月26日 申请日期2004年6月22日 优先权日2003年7月3日
发明者维克拉姆·德弗达斯, 海特施·阿敏, 约翰·迪比, 马克·本纳特, 干纳施·荪达拉姆, 汤姆斯·艾里克·赖勒 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1