一种以太网数据流量控制方法

文档序号:7957050阅读:213来源:国知局
专利名称:一种以太网数据流量控制方法
技术领域
本发明涉及通信领域的数据传输技术,尤其涉及一种以太网数据流量控制方法。
背景技术
以太网是当今现有局域网采用的最通用的通信协议标准,该标准定义了在局域网(LAN)中采用的电缆类型和信号处理方法。以太网在互联设备之间以10~100Mbps的速率传输数据流,由于其简单、成本低、可扩展性强、与IP能够很好地结合等特点,以太网技术的应用也日益广泛。随着宽带技术的发展,以太网接口,比如MII接口(百兆以太网接口)、GE(千兆以太网接口)等,也已经广泛运用于计算机或通讯系统中,用以实现两传输端口之间上百兆、千兆比特数据流的传输。在以太网数据传输过程中,当发送端(传输设备)发送的数据量超过接收端(传输设备所能承受)的接收容量时,就会发生拥塞甚至大量数据丢失,因此需要进行流量控制,以确保数据的正常传输及传输的可靠性。
如图1所示为MII接口图,端口之间的连接信号有时钟信号(clk),数据信号(data),错误信号(err)及使能信号(en),其中en信号有效表述数据有效,err有效则表示是错帧。当A端发送B端接收时,如果B端的接收FIFO(先入先出储存器)状态已经达到预先设定的接收阈值,则该接收FIFO会输出满信号有效,表明B端接收完当前帧后,A端暂时不能再向B端发送数据。以太网接口不像其他接口,比如POS接口或UTOPIA接口那样,有一个物理连线实时地反映接收端B端的接收状态并输出到对端A,而是必须通过B端的发送端口发送一个流控帧(PAUSE帧,网络中专门用于控制流量的一种数据帧)到对端A,该PAUSE帧中带有延时参数T。A端在收到流控帧后,其发送端口必须首先将当前帧发送完毕后才能响应所述流控帧,暂停向B端发送数据,暂停时间为T。
由于以太网接口每次都必须发送一个完整的帧,从B端的接收FIFO满信号有效开始,到A端暂停向B端发送数据,整个过程有一个时延,B端的接收FIFO必须预留一定的储存器空间来消化这个时延;且该预留的存储空间必须能够满足最极端的情况,即当端口之间收发的数据帧都是最长帧的情况。按照图1所示的收发关系,下面结合图2对这一极端情况进行说明。
在t0时刻,A端开始向B端发送1个最长帧,在t1时刻B的接收FIFO已经达到其预设阈值,则该接收FIFO出现满信号有效,需要向A端发送PAUSE帧,使A端暂停发送数据,而恰巧B端此时也正在向A端发送一个最长帧,B端必须先发送完该当前最长帧后才能发送PAUSE帧。B端于发送完当前最长帧后的t2时刻开始向A端发送流控帧,A端在t4时刻接收完该PAUSE帧。但由于在t2和t4之间的t3时刻,A端又向B端发出了另一个最长帧,到t5时刻B端才接收完该帧,所以A端要在t5时刻才能响应该PAUSE帧,即流控帧开始起作用,暂停向B端发送数据。从时间上看,从t1时刻B端的接收FIFO满开始到t5时刻流控帧开始起作用相差了2个最长帧的时延,B端的接收FIFO必须预留2个最长帧的存储空间来补偿这个时延。
从以上可以看出,B端的接收FIFO预留了2个最长帧的存储空间,当接收FIFO满信号有效时,在非上述极端情况下,如收发数据流都是短帧,或A端接收完PAUSE帧时不处于发送数据的状态,B端的接收FIFO不需要使用2个最长帧的存储空间,这样就使接收FIFO的存储空间利用率降低。

发明内容
本发明所要解决的技术问题是提供一种以太网数据流量控制方法,以减少接收缓冲器需预留的存储空间,提高接收缓冲器存储空间的利用率。
为解决上述技术问题,本发明的一种以太网数据流量控制方法,包括
a、判断接收端的接收缓存器是否已经达到设定的接收阈值;b、如果所述接收缓存器已经达到设定的接收阈值,则进一步判断所述接收端当前的状态,并根据该状态进行流量控制。
如果所述接收端正处于数据帧发送状态,则进行流量控制的方式具体为b1停止发送所述数据帧,再向发送端反馈带有时延参数的流控帧;否则,进行流量控制的方式具体为b2向发送端反馈带有时延参数的流控帧。
当发送端接收到流控帧后,则暂停向发送端发送数据。
其中步骤b1还包括在停止发送所述数据帧时,首先向发送端反馈错帧信息,并使接收端的发送缓存器的读指针回复到发送所述数据帧的初始状态。
而所述向发送端反馈错帧信息是通过之错误信号有效的方法实现的。
在步骤b1之后还包括发送端发送完流控帧后,重新发送所述被停止发送的数据帧。
流控帧中所带的时延参数为要求发送端暂停发送数据的最长时间。
所述的接收/发送缓存器均为先入先出存储器。
由上述方案可以看出,相对于现有技术而言,本发明根据接收端的具体状态进行流量控制,当接收端正处于数据发送状态时,通过置err信号有效的方式,强制中断所述正在发送的数据帧的发送,优先向发送端反馈流控帧,缩短了从流控帧发出到对端响应的迟延时间,从而减少了接收FIFO需要预留的存储空间。
其次,由于本发明在发送端发送完流控帧后,通过对所述被中断发送数据帧的重发机制,保证了链路数据传输的正确性和可靠性。


下面结合附图对本发明实施方式作进一步说明图1所示为一以太网接口示意图;
图2所示为现有的以太网流控帧作用延迟示意图;图3所示为本发明实施例的以太网数据流量控制方法流程示意图;图4所示为本发明实施例的以太网流控帧作用延迟示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,便于本领域一般技术人员理解和实现本发明,下面将结合附图及具体实施例对本发明作进一步的描述。
本发明的核心在于,当接收端的接收缓存器达到预先设定的阈值需要发送流控帧时,判断接收端当前所处的状态并根据其状态进行流量控制,如果所述接收端正处于数据发送状态,则强制中断所述接收端数据帧的发送,优先向发送端发流控帧,以缩短从流控帧发出到对端响应的迟延时间,减少接收缓存器需预留的存储空间,提高接收缓存器的利用率。
具体的,接收端接收来自于发送端的数据帧后,首先判断接收端的接收缓存器是否达到预设的阀值,如果是,则进一步判断接收端当前的状态,并根据所述状态进行流量控制,即如果接收端空闲,则立即向发送端发送带有时间参数的流控帧;反之,如果接收端正在发送数据帧,则首先停止所述数据帧的发送,并向发送端反馈带有时间参数的流控帧,接收端在收到所述流控帧后,便暂停向发送端发送数据。所述发送端在发送完所述流控帧后,重新发送所述被中断发送的数据帧。
为便于描述、理解,下面以发送端A、接收端B收发的数据帧都是最长帧这一极端情况为例进行描述。当然,本发明并不局限于收发的数据帧都为最长帧,对于非极端情况,如收发的数据帧都是短帧;或者收发的数据帧中,一个是短帧,另一个是最长帧等,仍适用本发明的技术方案。
参见图3及图4,分别为根据本发明具体实施例的方法流程图及流控帧作用迟延示意图,在图4中,横坐标表示时间,纵坐标表示发送端A及接收端B的各个发送端口、接收端口。具体描述如下
1、发送端向接收端发送数据帧。
比如,在t0时刻,A端通过其发送端口向B端发送一最长帧。
2、接收端接收来自于发送端的数据帧,判断其缓存器是否到达预设的接收阈值。
B端接收所述最长帧,并判断其接收FIFO(先入先出存储器,一种缓存器)是否已经到达预先设定的接收阈值比如在t1时刻,当B端开始接收所述最长帧的第一个单元时,判断其接收FIFO(先入先出存储器,一种缓存器)是否已到达所述预设的接收阈值,若发现其接收FIFO已经达到所述预设的接收阈值,则该接收FIFO输出满信号有效,表明需要向A端反馈一流控帧(PAUSE帧),以使A端暂时不要再向B端发送数据;否则,返回步骤1。
3、进一步判断B端当前所处的状态,并根据其状态进行流量控制。
如果B端正处于空闲状态,则马上向A端反馈带有时延参数T的流控帧;否则,说明B端当前正处于发送数据帧的状态,则立刻置err信号线有效,以向A端发反馈错帧信息,并停止所述数据帧的发送(比如在t2时刻),而后再向A端反馈带有时延参数T的流控帧,B端在停止发送所述数据帧时,可同时将其发送FIFO的读指针弹回到发送所述数据帧的初始状态,以便随后重发该数据帧。
比如在t3时刻,A端接收到B端发送的所述错帧后,进行相应的处理,比如直接丢弃该错帧。
在t4时刻,B端开始向A端发送所述带有时延参数T的流控帧,所述时延参数T为要求发送端A暂停向接收端B发送数据的最长时间,其具体的值可根据标准协议的规定来确定。
B端在发送完所述PAUSE流控帧后,下一个要发送的帧即是所述被中断发送的数据帧,比如在t5时刻,B端通过其发送端口重新发送所述被中断发送的数据帧。
4、发送端接收到接收端反馈的流控帧后,暂停向接收端发送数据。
当B端接收完所述最长帧时(比如t6时刻),此时,A端已经响应了所述流控帧,所以A端在t6时刻以后便暂停向B端发送数据帧,暂停发送的最长时间为所述流控帧中携带的时延参数T。从以上描述可知,从时间上看,从t1时刻B端的接收FIFO满信号有效到t6时刻A端暂停向B端发送数据帧仅相差了1个最长帧的时间,相对于现有技术中需要2个最长帧的时间而言,少了一个最长帧的时间,从而接受FIFO只需要预留1个最长帧的存储空间即可,减少了接受FIFO需要预留的存储空间,提高了接受FIFO的利用率。
此外,当B端发送完所述PAUSE帧后,首先发送原来被中断发送的数据帧,即通过对所述被中断发送的数据帧的重发机制,从而确保了链路数据传输的正确性及可靠性。
虽然通过实施例描绘了本发明,但本领域普通技术人员知道,在不脱离本发明的精神和实质的情况下,就可使本发明有许多变形和变化,本发明的范围由所附的权利要求来限定。
权利要求
1.一种以太网数据流量控制方法,其特征在于,该方法包括a、判断接收端的接收缓存器是否已经达到设定的接收阈值;b、如果所述接收缓存器已经达到设定的接收阈值,则进一步判断所述接收端当前的状态,并根据该状态进行流量控制。
2.如权力要求1所述以太网数据流量控制方法,其特征在于,如果所述接收端正处于数据帧发送状态,则进行流量控制的方式具体为b1则停止发送所述数据帧,再向发送端反馈带有时延参数的流控帧;否则,进行流量控制的方式具体为b2向发送端反馈带有时延参数的流控帧。
3.根据权利要求2所述的以太网数据流量控制方法,其特征在于,该方法还包括发送端接收到流控帧后,暂停向接收端发送数据。
4.根据权利要求2或3所述的以太网数据流量控制方法,其特征在于,所述的步骤b1还包括所述接收端的发送缓存器的读指针回复到发送所述数据帧的初始状态。
5.根据权利要求4所述的以太网数据流量控制方法,其特征在于,在步骤b1之后还包括发送端发送完流控帧后,重新发送所述被停止发送的数据帧。
6.根据权利要求2或3所述的以太网数据流量控制方法,其特征在于所述步骤b1还包括接收端在停止发送所述数据帧时,首先向发送端反馈错帧信息。
7.根据权利要求6所述的以太网数据流量控制方法,其特征在于所述向发送端反馈错帧信息是通过之错误信号有效的方法实现的。
8.根据权利要求2或3所述的以太网数据流量控制方法,其特征在于所述的时延参数为要求发送端暂停发送数据的最长时间。
9.根据权利要求1所述的以太网数据流量控制方法,其特征在于所述的接收缓存器为先入先出存储器。
10.根据权利要求4所述的以太网数据流量控制方法,其特征在于所述的发送接收缓存器为先入先出存储器。
全文摘要
本发明公开了一种以太网数据流量控制方法,在接收端的接收缓存器达到设定阈值需要发送流控帧时,判断接收端所处的状态并根据其状态进行流量控制,如果所述接收端正处于数据发送状态,则通过置err信号有效的方式,强制中断数据帧的发送,优先向发送端发流控帧,从而缩短了从流控帧发出到对端响应的迟延时间,进而减少了接收缓存器需要预留的存储空间,提高了接收缓存器的利用率;此外,在流控帧规定的暂停时间结束后,首先发送被中断的数据帧,从而保证了链路数据传输的正确性和可靠性。
文档编号H04L12/28GK101047615SQ20061006068
公开日2007年10月3日 申请日期2006年5月14日 优先权日2006年5月14日
发明者雷春 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1