在sonet上ethernet的端对端和本地流控制时的暂停帧重新协调的制作方法

文档序号:7948586阅读:257来源:国知局
专利名称:在sonet上ethernet的端对端和本地流控制时的暂停帧重新协调的制作方法
背景技术
1.发明领域本发明广义地涉及通过SONET电信连接传送ETHERNET(以太网)信号。更特定地,本发明涉及通过SONET重新协调对于ETHERNET的本地和端对端流控制。
2.现有技术同步光网络(SONET)或同步数字分级结构(SDH),正如在欧洲已知的,是一个通用电信传输方案,它被设计成容纳DS-1(T1)和E1业务以及它们的倍数(DS-3和E-3)。DS-1信号包含高达24个时分复用的DS-0信号加一个附加开销比特。每个DS0信号是64kb/s信号,以及是在数字网中最小的带宽配置,即,足以用于单个电话连接。E1信号包含高达32个时分复用的DS-0信号,其中至少一个DS-0载送附加开销信息。
在1980年代早期开发的SONET在北美具有51.84Mbit/s的基本(STS-1)速率。STS-1信号可以容纳28个DS1信号或21个E1信号或它们的组合。基本STS1信号具有125微秒的帧长度(每秒8000帧),并且被组织成具有810个八位位组的帧(9行×90字节宽的列)。将会看到,8000帧×每帧810个八位位组×每个八位位组8比特=51.84Mbit/s。该帧包括同步有用负荷包络(SPE)或虚拟容器(VC),正如在欧洲已知的,以及输送附加开销。输送附加开销被包含在头三列中(27字节),以及SPE/VC占用其余的87列。
在欧洲,基本(STS-1)速率是155.520Mbit/s,等价于北美的STS-3速率(3×51。84=155.520)。STS-3(STM-1)信号可以容纳3个DS-3信号或63个E1信号或84个DS-1信号或它们的组合。STS-12信号是622.080Mbps,它可以容纳12个DS-3信号等等。STS-48信号是2488.320Mbps,它可以容纳48个DS-3信号等等。最高的规定的STS信号,STS-768,是约为40Gbps(每秒千兆比特)。缩略词STS代表同步输送信号,以及缩略词STM代表同步输送模块。STS-n信号当光学地输送而不是电输送时也称为光载体(OC-n)信号。
为了便于实行输送较低速率的数字信号,SONET标准使用子STS有用负荷映射,其被称为虚拟支流(VT)结构(ITU把这些结构称为支流单元或TU)。这种映射把SPE(VC)帧划分成七个相等尺寸的子帧或VT(TU)组,其每个具有9行的12列(108字节)。在下面规定四个虚拟支流尺寸。
VT1.5具有1.728Mb/s的数据传输速率,并且容纳具有附加开销的DS1信号。VT1.5支流占用9行的3列,即27字节。因此,每个VT组可以容纳四个VT1.5支流。
VT2具有2.304Mb/s的数据传输速率,并且容纳具有附加开销的CEPT-1(E1)信号。VT2支流占用9行的4列,即36字节。因此,每个VT组可以容纳三个VT2支流。
VT3具有3.456Mb/s的数据传输速率,并且容纳具有附加开销的DS1C(T2)信号。VT3支流占用9行的6列,即54字节。因此,每个VT组可以容纳两个VT3支流。
VT6具有6.912Mb/s的数据传输速率,并且容纳具有附加开销的DS2信号。VT6支流占用9行的12列,即108字节。因此,每个VT组可以容纳一个VT6支流。
本领域技术人员将会看到,原始的SONET/SDH方案以及VT映射方案被设计成载送已知的和潜在地可预见的TDM(时分复用)信号。在1980年代早期,这些TDM信号基本上是复用的电话线,每条具有56-64kbps的、(现在被认为)相对较小的带宽。在那时,对于数据通信没有实际的标准。有许多不同的方案用于局域网和宽域网,它们最终变为基于“56kbps骨架”的所谓的互联网。自从那时以来,ETHERNET成为用于局域组网的标准。今天,ETHERNET在四个带宽上是可得到的原始的10Mbps系统;100Mbps快速ETHERNET(IEEE 802.3u);1000Mbps千兆比特ETHERNET(IEEE802.3z/802.3ab);和10千兆比特ETHERNET(IEEE 802.3ae)。
近年来已认识到,SONET/SDH是在广泛区域内链接高速ETHERNET的最实际的方式。各种不同的方案被采用来用于级联支流单元,以适应于在SONET网络上的ETHERNET业务。
SONET信号和ETHERNET信号基本上是不同的。SONET信号是以恒定的速率传输的连续数据流。ETHERNET信号是可变尺寸的非连续的(也称为帧)的分组的流,它们以变化的速率被生成。有时ETHERNET分组的生成比它们可以被传送的时间快。为了避免数据丢失,在数据源处提供缓存器。不能立即被传送的分组被存储在缓存器,直至带宽变为可得到时为止。除了带宽问题以外,有时数据源生成分组比数据接收器处理数据的时间快。为了避免在这些情形下数据丢失,在数据接收器处提供缓存器,以用来存储进入的等待处理的分组。除了提供缓存器以外,ETHERNET建立流控制的方法,由此,数据接收器可以通知数据源停止(XOFF)和开始(XON)发送分组。这个流控制信令是一个意义明确的PAUSE(暂停)帧,它被显示于现有技术

图1上。
PAUSE帧的目的地地址(DA)可被设置为要被暂停的源的独特的DA,或全球分配的多播地址01-80-C2-00-00-01(十六进制)。这个多播地址由IEEE 802.3标准保留在MAC(媒体接入控制)PAUSE帧中使用。
PAUSE帧的“类型”区被设置为88-08(十六进制),指示该帧是MAC控制帧。
MAC控制操作码区被设置为00-01(十六进制),指示正在使用的MAC控制帧的类型是PAUSE帧。PAUSE帧是当前被规定的唯一的类型的MAC控制帧。
MAC控制参数区包含一个16比特数值,该16比特数值规定以512比特时间的单元计的PAUSE事件的持续时间。有效的数值是00-00到FF-FF(十六进制)。如果在当前的PAUSE时间消逝之前,一个附加的PAUSE帧到达,则它的参数替代当前的PAUSE时间。具有参数零的PAUSE帧允许传输立即重新开始。
需要42字节保留区(以全零被发送)来把PAUSE帧的长度垫整到最小的ETHERNET帧尺寸。
被使用来把ETHERNET分组封装到SONET支流内的装置被称为映射器,以及被使用来从SONET支流拆卸ETHERNET分组的装置被称为去映射器。典型地,映射器和去映射器被组合成被称为映射器的单一装置。希望给映射器提供本地流控制(L-FC),这样,正在被映射器映射为SONET支流的ETHERNET分组的本地源可被暂停,以防止映射器缓存器溢出。然而,ETHERNET分组的本地源也必须响应于来自远距离的接收器的端对端流控制(EE-FC)的PAUSE帧。这自然提供冲突的可能。例如,如果本地ETHERNET装置在接收到本地生成的PAUSE帧和远端生成的PAUSE帧后处在暂停模式,则XON PAUSE帧(本地生成的或远端生成的)会使得本地ETHERNET装置过早地重新开始持续发送。这将本地地(在远端生成的XON超过本地生成的XOFF的情形下)或远端地(在本地生成的XON超过远端生成的XOFF的情形下)导致数据损失。
发明概要所以,本发明的目的是提供当在SONET上封装和解封装ETHERNET帧时的本地和端对端流控制。
本发明的另一个目的是防止本地和端对端流控制互相干扰。
按照这些将在下面描述的目的,无论何时PAUSE帧被本地地生成时,用来自PAUSE帧的暂停参数对一个暂停刷新定时器进行设置。从远端数据接收器接收的PAUSE帧被捕获,以及暂停参数的数值被进行估值。如果其数值小于当前的暂停刷新定时器值,则暂停帧被丢弃。如果其数值等于或大于当前的暂停刷新定时器值,则PAUSE帧被传送到数据源,并且端对端流控制(EEFC)定时器用从远端数据接收器接收的暂停参数来设置。当EEFC定时器进行向下计数时,具有小于定时器数值的暂停参数的本地生成的PAUSE帧被抑制。
本发明任选地被体现在一个双向千兆比特ETHERNET SONET映射器中,其中本地PAUSE帧在发送端被生成。每个千兆比特ETHERNET端口配备有一个FIFO、两个可编程水印寄存器、一个PAUSE帧定时器寄存器、一个暂停刷新定时器、和一个EEFC定时器。水印寄存器利用FIFO充满度数值来编程,该充满度数值触发本地XONPAUSE帧。PAUSE帧定时器寄存器利用当生成本地XOFF PAUSE帧时被装载到暂停刷新定时器中的数值来编程。这个数值还被用作为在本地生成的XOFF PAUSE帧中的暂停参数。用从远端数据接收器接收的XOFF PAUSE帧中得到的暂停参数来装载EEFC定时器。按照本优选实施例,暂停刷新定时器可以在它完成向下计数或75%的向下计数后生成PAUSE帧。该75%的设置值允许例如在网络等待时间(latency)的情形下更大的用于缓解拥塞的余量。
在参考结合所提供的附图作出的详细说明后,本发明的附加目的和优点对于本领域技术人员将是显而易见的。
附图简述图1是ETHERNET PAUSE帧的现有技术图;图2是适用于实现本发明的方法的设备的示意性框图;以及图3是显示本发明的方法的流程图。
优选实施例详细说明本发明的方法在ETHERNET SONET映射器/去映射器内有利地被实施,该映射器/去映射器典型地将对于单个SONET信号映射/去映射多个ETHERNET端口。图2是用于一个ETHERNET端口的映射器/去映射器的部件的高级别框图。因此,图1的设备10包括ETHERNETMAC接收机12,该接收机接收ETHERNET分组。来自接收机12的分组被馈送到发送FIFO 14,以便等待经由SONET信号的传输。离开FIFO 14的分组被封装电路16接收,该封装电路把分组映射到SONET支流。SONET支流被SONET发射机18发射。在流的相反的方向,SONET接收机20接收SONET信号。ETHERNET分组由解封装电路22从信号解封装。按照本发明的一个方面,解封装的ETHERNET分组在流动到接收FIFO 26之前经过捕集器24被馈送。捕集器24被设计成识别和任选地删除进入的PAUSE帧(正如下面更详细地描述的)以防止远端生成的PAUSE帧超过本地生成的PAUSE帧。按照本发明的另一个方面,从FIFO 26送出的分组在到达ETHERNETMAC发射机30之前被馈送经过复用器28。如下所述,复用器28被控制成把本地PAUSE帧32间插在流到MAC发射机30的分组流中。
按照所显示的实施例,逻辑块34被提供来控制捕集器24和复用器28。逻辑块34与三个寄存器36,38,40、两个定时器42,44、和一个发送FIFO充满度指示46有关。该寄存器是经由映射器/去映射器上的处理器端口(未示出)可编程的,设备10是该映射器/去映射器的一部分。XON水印寄存器36被使用来存储FIFO充满度数值,该充满度数值将触发本地XON PAUSE帧。同样地,XOFF水印寄存器38被使用来存储FIFO充满度数值,该充满度数值将触发本地XOFF PAUSE帧。暂停定时器寄存器40被使用来存储暂停参数,该暂停参数在本地XOFFPAUSE帧中被使用。暂停刷新定时器42是向下计数定时器,当本地XOFF PAUSE帧通过复用器28被传送到MAC发射机30时,该向下计数定时器42被装载以来自暂停刷新寄存器40的数值。EE-FC定时器44是向下计数定时器,该定时器被装载以从在捕集器24中检测的PAUSE帧中得到的并被传送到FIFO 26暂停参数。FIFO充满度度量值46指示发送FIFO 14的充满度,并由逻辑块34结合来自水印寄存器36和38的数值一起被使用来确定本地PAUSE帧何时可被发送到MAC发射机30。如以上概略地描述的,除非帧的暂停参数大于或等于在EE-FC定时器44上剩余的暂停时间,将不生成本地PAUSE帧。这将防止本地生成的PAUSE帧过早地缩短由远端生成的PAUSE帧所设置的PAUSE时间。同样地,在捕集器24中获取的PAUSE帧将被删除,除非它的暂停参数大于或等于在暂停刷新定时器42上剩余的暂停时间。这将防止远端生成的PAUSE帧过早地缩短由本地生成的PAUSE帧所设置的暂停时间。换句话说,具有最长的暂停时间的PAUSE帧总是被选择来被发送到本地ETHERNET装置。
按照本优选实施例,暂停刷新定时器可被控制成在它完成向下计数或75%的向下计数后生成PAUSE帧。这个75%的设置值允许例如在网络等待时间的情形下对于缓解拥塞的更大的余量。如图2所示,暂停75信号43可被施加到定时器42,该定时器使得在定时器向下计数到它的数值的75%后生成PAUSE帧。将会看到,该75%的特性可以以不同的方式达到。例如,它可以当它被装载时通过减小暂停刷新定时器的数值25%,或当它的设置值的75%已被向下计数时通过向逻辑块32指示应当认为定时器已经满时而达到。
图3显示以流程图表示的本发明的方法的实施方案。在描述图3时还要参照图2。在图3,从100开始,逻辑电路34(图2)读寄存器36,38,40、定时器42,44和FIFO充满度46。
在102,把FIFO充满度46与从XOFF水印寄存器38读出的数值进行比较。如果充满度大于或等于XOFF数值,则逻辑块在104确定从端对端流控制定时器44读出的计数值是否大于从暂停定时器寄存器40读出的数值。如果从端对端流控制定时器44读出的计数值不大于它,则生成本地XOFF PAUSE帧32,暂停刷新定时器42被装载以从暂停定时器寄存器40读出的数值,以及复用器28被控制成把PAUSE帧32发送到MAC发射机30,所有这些在图3上以106表示。如果从端对端流控制定时器44读出的计数值大于从暂停定时器寄存器40读出的数值,则不发送本地PAUSE帧,处理过程返回到100。
如果充满度小于XOFF数值,如在102所确定的,则在108,把FIFO充满度46与从XON水印寄存器36读出的数值进行比较。如果FIFO充满度46小于或等于XON数值,则逻辑块34在110确定EE-FC定时器44是否仍旧向下计数。如果定时器33已时间到(即,定时器不是>0),则本地XON PAUSE帧32被生成,暂停刷新定时器42被设置为零,以及复用器28被控制成把PAUSE帧32发送到MAC发射机30,所有这些在图3上以106表示。
如果EEFC定时器44仍旧向下计数,如在110确定的,或如果FIFO充满度大于XON值,如在108确定的,则逻辑块在112确定由远端数据接收器生成的PAUSE帧是否在捕集器24被捕获。如果在捕集器中没有PAUSE帧,则处理过程返回到100。如果接收到PAUSE帧,则在114把它的暂停参数与来自暂停刷新定时器42的读数进行比较。如果暂停参数大于或等于来自暂停刷新定时器42的读数,则PAUSE帧从捕集器24被释放,在116被转发到MAC发射机30,并且处理过程返回到100。如果暂停刷新定时器42包含高于被捕获的PAUSE帧中的暂停参数的计数值,则捕获的帧在118被丢弃,并且处理过程返回到100。
在这里已描述和显示用于通过SONET对于ETHERNET的端对端和本地流控制进行暂停帧重新协调的方法和设备。虽然已描述本发明的具体的实施例,但本发明不打算限于此,因为本发明意图在范围上是技术上允许的那样宽,以及要以同样的意图去阅读本说明书。因此,虽然已公开示例性电路,但将会看到,其它软件、硬件、或固件装置可被使用来执行基本上相同的功能。另外,虽然已参照流程图的步骤序列描述了方法,但将会看到,这些步骤可以以不同的时序被执行而达到相同的结果。而且,参照图3描述的过程可以是通过使用中断的而由事件引起的,因此,该方法步骤的次序能随时改变。而且,丢弃PAUSE帧的动作可以以若干不同的方式来完成,例如,通过不能把帧写入到FIFO、通过在帧被写入到FIFO后再重写该帧、或通过不从FIFO读出帧。所以,本领域技术人员将会看到,可以对于所提供的发明作出其它的修改,而不背离如权利要求的本发明的精神和范围。
权利要求
1.一种用于重新协调本地生成的和远端生成的ETHERNETPAUSE帧的方法,包括当PAUSE帧被本地地生成时,用本地生成PAUSE帧的暂停参数设置暂停刷新定时器;当远端生成的PAUSE帧被接收时,捕获该帧;把捕获的远端生成的PAUSE帧的暂停参数与暂停刷新定时器进行比较;以及如果暂停刷新定时器数值大于远端生成的PAUSE帧的暂停参数,则丢弃远端生成的PAUSE帧。
2.按照权利要求1的方法,还包括如果远端生成的PAUSE帧的暂停参数大于或等于暂停刷新定时器数值,则释放捕获的远端生成的PAUSE帧。
3.按照权利要求2的方法,还包括当远端生成的PAUSE帧被释放时,用远端生成的PAUSE帧的暂停参数设置流控制定时器。
4.按照权利要求3的方法,还包括抑制具有低于流控制定时器的数值的暂停参数值的本地生成的PAUSE帧。
5.按照权利要求1的方法,还包括把在暂停刷新定时器中的暂停参数的数值减小一个预定的百分数。
6.按照权利要求5的方法,其中所述百分数约为25%。
7.一种用于重新协调本地生成的和远端生成的ETHERNETPAUSE帧的设备,其每个ETHERNET PAUSE帧具有暂停参数,包括一个用本地生成的PAUSE帧的暂停参数来进行设置的暂停刷新定时器;捕集器,用于当它被接收时捕获远端生成的PAUSE帧;比较器,用于把远端生成的PAUSE帧的暂停参数与暂停刷新定时器进行比较;以及逻辑块,如果暂停刷新定时器数值大于远端生成的PAUSE帧的暂停参数,则该逻辑块阻止远端生成的PAUSE帧到达它的目的地。
8.按照权利要求7的设备,还包括逻辑块,如果远端生成的PAUSE帧的暂停参数大于或等于暂停刷新定时器数值,则该逻辑块允许获取的远端生成的PAUSE帧继续到达它的目的地。
9.按照权利要求7的设备,还包括流控制定时器,当远端生成的PAUSE帧被释放时,用远端生成的PAUSE帧的暂停参数来对该流控制定时器进行设置。
10.按照权利要求9的设备,还包括逻辑块,用于抑制具有小于流控制定时器的数值的暂停参数值的本地生成的PAUSE帧。
11.按照权利要求7的设备,还包括逻辑块,用于把在暂停刷新定时器中设置的暂停参数的数值减小一个预定的百分数。
12.按照权利要求11的设备,其中所述百分数约为25%。
13.一种用于重新协调本地生成的和远端生成的ETHERNETPAUSE帧的设备,其每个ETHERNET PAUSE帧具有暂停参数,包括暂停刷新定时器装置,用于从本地生成的PAUSE帧的暂停参数向下计数;捕集器装置,用于当远端生成的PAUSE帧被接收时捕获该帧;比较器装置,用于把远端生成的PAUSE帧的暂停参数与暂停刷新定时器进行比较;以及逻辑装置,如果暂停刷新定时器数值大于远端生成的PAUSE帧的暂参数,则该逻辑块用于阻止远端生成的PAUSE帧到达它的目的地。
14.按照权利要求13的设备,还包括逻辑装置,如果远端生成的PAUSE帧的暂停参数大于或等于暂停刷新定时器数值,则该逻辑装置用于允许捕获的远端生成的PAUSE帧继续到达它的目的地。
15.按照权利要求14的设备,还包括流控制定时器装置,用于当远端生成的PAUSE帧被释放时从远端生成的PAUSE帧的暂停参数向下计数。
16.按照权利要求15的设备,还包括逻辑装置,用于抑制具有小于流控制定时器的数值的暂停参数值的本地生成的PAUSE帧。
17.按照权利要求13的设备,还包括逻辑装置,用于把在暂停刷新定时器中设置的暂停参数的数值减小一个预定的百分数。
18.按照权利要求17的设备,其中所述百分数约为25%。
全文摘要
无论何时PAUSE帧(106)被本地生成时,用来自PAUSE帧的暂停参数设置暂停刷新定时器(106)。从远端数据接收器接收的PAUSE帧被捕获(112),以及暂停参数的数值被估值。如果该数值小于当前的暂停刷新定时器值,则暂停帧被丢弃(118)。如果该数值等于或大于当前的暂停刷新定时器值,则PAUSE帧被传送(116)到数据源,并且端对端流控制(EEFC)定时器用从远端数据接收器接收的暂停参数来设置。当EEFC定时器向下计数时,具有小于定时器数值的暂停参数的本地生成的PAUSE帧被抑制。
文档编号H04J1/16GK101019356SQ200580028603
公开日2007年8月15日 申请日期2005年8月22日 优先权日2004年8月23日
发明者S·穆克霍帕迪亚伊, N·辛格, R·尚卡, P·亚达夫 申请人:美商传威股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1