获取流量控制缓冲区门限的方法及系统的制作方法

文档序号:7745367阅读:115来源:国知局
专利名称:获取流量控制缓冲区门限的方法及系统的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种获取流量控制缓冲区门限的方法及系统。
背景技术
随着网络介质传输技术的快速发展,由链路传输所引起的误码率越来越低,在这 种情况下由交换机侧引起的拥塞就成为了网络丢帧的最关键因素。在网络中,交换机从它的输入端口接收帧并根据帧中的信息把它们从其相应的输 出端口上转发,帧到达的速度可能比交换机接收、处理和转发的速度要快,面对这种溢出情 况,交换机只有丢弃到来的帧。为了解决这种问题,以太网中普遍采用了基于暂停机制的流 量控制。基于暂停机制的流量控制主要的原理是当接收站点(交换机)的缓冲区超过门 限时(将要溢出),接收站点发送一个携带暂停时间的pause帧给发送站点,发送站点收到 pause帧后在一定时间(pause帧携带的暂停时间)内停止发送数据。相关技术是根据经验值利用公式人工算出缓冲区门限的大小。这种方法的思路如 下从理论上来说,缓冲区门限的选取可以首先求出不会溢出的最小缓冲区的大小,然后根 据现有缓冲区的大小和最小缓冲区的大小求出门限。最小缓冲区的大小和接收站点生成 pause帧到发送站点响应pause帧并停止发送数据的最大延迟时间(暂停最大延迟时间) 有关。这段延迟时间可以细分为四个时间段,分别是接收站点产生pause帧需要的时间、 pause帧的传输延迟、发送站点响应pause帧并停止数据传输需要的时间和发送站点响应 pause帧时发送出的数据帧的传输延迟。将这四个时间段加在一起经过一定的换算后可以 得出一个公式,该公式和最大帧长、暂停帧长、线路延迟、接口延迟和高层延迟有关。该方法 将上述五种变量的最大值带入到公式中求出暂停最大延迟时间,并进而求得最小缓冲区的 大小。这种根据经验值计算出的缓冲区门限不够精确,且由于公式中带入的是各种变量 的最大值,导致得出的缓冲区门限通常都会大于实际的缓冲区门限,在一定程度上降低了 缓冲区的利用效率。

发明内容
本发明的主要目的在于提供一种获取流量控制缓冲区门限的方法及系统,以解决 现有技术中根据经验值计算出的缓冲区门限不够精确,从而降低了缓冲区的利用效率的问题。根据本发明的一个方面,提供了一种获取流量控制缓冲区门限的方法,包括第一 网络设备在初始化时,向第二网络设备发送携带暂停时间为0的暂停帧,并同时启动计时; 第一网络设备接收来自第二网络设备响应于所述暂停帧的数据帧,并在接收完毕时结束计 时;第一网络设备根据计时的结果确定流量控制缓冲区门限。
根据本发明的另一方面,提供了一种获取流量控制缓冲区门限的系统,包括位于 通信两端的第一网络设备和第二网络设备。其中,第一网络设备包括第一控制模块,用于控制并同步暂停帧发送模块和计时 模块的启动时间,在获知第一数据帧模块接收完毕来自第二网络设备的数据帧的同时,控 制计时模块结束计时,以及控制门限确定模块确定流量控制缓冲区门限;暂停帧发送模块, 与第一控制模块连接,用于向第二网络设备发送携带暂停时间为0的暂停帧;第一数据帧 模块,与第一控制模块连接,用于接收来自第二网络设备响应于暂停帧的数据帧,并通知第 一控制模块;计时模块,与第一控制模块及门限确定模块连接,用于记录暂停帧发送模块开 始发送暂停帧至第一数据帧模块接收完毕数据帧的时间间隔,并将时间间隔通知门限确定 模块;门限确定模块,与第一控制模块连接,根据计时模块记录的时间间隔确定流量控制缓冲区门限。
其中,第二网络设备包括第二控制模块、暂停帧接收模块以及第二数据帧模块, 其中,第二控制模块,用于控制暂停帧接收模块接收第一网络设备发送的暂停帧,以及在获 知该暂停帧接收完毕时控制第二数据帧模块发送响应该暂停帧的数据帧;暂停帧接收模 块,与第二控制模块连接,用于接收第一网络设备发送的上述暂停帧,并在该暂停帧接收完 毕时通知第二控制模块;第二数据帧模块,与第二控制模块连接,用于发送响应上述暂停帧 的数据帧。通过本发明,采用在一次暂停时间为0的暂停帧的响应过程中记录下暂停最大延 迟时间,并根据暂停最大延迟时间确定流量控制缓冲区门限,从而解决了现有技术中根据 经验值计算的缓冲区门限不够精确,从而降低了缓冲区的利用效率的问题,进而可以精确 得出缓冲区门限,提高了缓冲区的利用效率,使得设计者不用再手动计算缓冲区门限。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明实施例的获取流量控制缓冲区门限的方法的流程图;图2是根据本发明实施例的获取流量控制缓冲区门限的系统的结构示意图;图3是根据本发明实施例一的缓冲区门限的协商流程图;图4是根据本发明实施例二的缓冲区门限的协商流程图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。根据本发明的实施例,首先提供了 一种获取流量控制缓冲区门限的方法。图1是根据本发明实施例的获取流量控制缓冲区门限的方法的流程图,如图1所 示,该方法包括步骤S102、第一网络设备在初始化时,向第二网络设备发送携带暂停时间为0的 暂停帧,并同时启动计时;在具体实施过程中,为保证最终计时的结果为暂停最大延迟时间,第一网络设备发送的数据帧必需是暂停帧,并且该暂停帧的暂停时间必需为0,如果不为O的话,第二网络设备接收到不为0的暂停帧后,收在该暂停帧携带的暂停时间内停止发送数据帧,这样就无法保证最终的计时结果是暂停最大延迟时间。并且,为保证最终计时的结果为暂停最大延迟时间,还需严格控制计时的起始时亥IJ,该起始时刻应与暂停帧的发送时刻同步。步骤S104、第一网络设备接收来自第二网络设备响应于该暂停帧的数据帧,并在接收完毕时结束计时;在具体的实施过程中,为保证最终计时的结果为暂停最大延迟时间,还需严格控制计时的终止时刻,该终止时刻应与上述数据帧接收完毕的时刻同步。步骤S106、第一网络设备根据计时的结果确定流量控制缓冲区门限。为解决现有技术中通过经验值手动计算暂停最大延迟时间存在的问题,本发明实施例通过实际实现一次暂停帧(pause帧)的响应过程并记录下暂停最大延迟时间,而不是 根据经验者通过公式手动计算获得暂停最大延迟时间。以太网协议中对暂停时间为0的pause帧的使用方法进行了规定发送站点接收到暂停时间为0的pause帧后的操作是恢复自己以前被暂停后的操作,但前提是,发送站点在此之前必须接收到了一个暂停时间不为0的pause帧,并停止了向接收站点的数据发送。对于发送站点接收到暂停时间为0的pause帧,并且在此之前没有收到一个暂停时间不为0的pause帧这种情况,以太网协议中没有说明如何处理。这样的话,如果可以保 证发送站点在收到一个暂停时间为0的pause帧之前并没有收到一个暂停时间不为0的pause帧,那么完全可以利用这种pause帧向发送站点传递暂停机制以外的信息。本发明实施例提供的获取流量控制缓冲区门限的方法就是利用以太网协议中这种未定义的情况,规定接收站点利用这种pause帧告知发送站点要进行缓冲区门限的协商。由上述分析可知,采用本发明实施例提供的上述方法获取的流量控制缓冲区门限,与现有的相关技术相比,实际测量出的暂停最大延迟时间更加精确,从而使得最终确定的流量控制缓冲区门限更加精确,提高了网络设备的缓冲区的利用效率。优选地,上述步骤S106具体分为以下步骤步骤S1061、第一网络设备根据计时器的计时结果确定暂停最大延迟时间;步骤S1062、第一网络设备根据暂停最大延迟时间计算最小缓冲区的大小;步骤S1063、第一网络设备根据最小缓冲区的大小和当前缓冲区的大小计算流量控制缓冲区门限。通过上述步骤,采用实际测量出的暂停最大延迟时间替代现有技术中根据经验值计算的暂停最大延迟时间,使得最终确定的流量控制缓冲区门限更加精确。优选地,上述步骤SlOl可以在第一网络设备的初始化模块中实现,这样保证了暂停时间为0的暂停帧发送时,之前并没有其他暂停帧发送。优选地,在第二网络设备发送响应于上述述携带暂停时间为0暂停帧的数据帧之前,第二网络设备可以判断在接收到该携带暂停时间为0的暂停帧之前,是否接收到来自第一网络设备的其他携带暂停时间不为0的暂停帧,如果是,则表明第二网络设备之前响应了其他携带暂停时间不为0的暂停帧,并停止发送数据,此时,该携带暂停时间为0的暂停帧的作用是要求第二网络设备恢复之前被暂停前的操作;如果否,则表明该携带暂停时间为O的暂停帧可视为第一网络设备发送的自协商缓冲区门限的请求,响应于该请求,第 二网络设备向第一网络设备发送数据帧。
上述优选的技术手段,有效地利用了以太网协议中未定义暂停帧使用情况,使得 第一网络设备利用携带暂停时间为0的暂停帧告知第二网络设备要进行缓冲区门限的协 商。使得第二网路设备在处理携带暂停时间为0的暂停帧时,更加明确这种暂停帧的使用 目的,从而选择不同的后续处理。针对不同的业务或不同类型数据,系统中的网络设备会发送的数据帧长度是不同 的,优选地,在具体实施过程中,上述第二网络设备响应带暂停时间为0的暂停帧所发送的 数据帧,可以但不限于是第一网络设备以及第二网络设备支持的最大长度的数据帧。在系 统中的网络设备上电初始化的过程中,会协商系统中所有设备支持的最大长度的数据帧。采用最大长度的数据帧(数据帧长度的极限情况)作为第二网络设备响应于暂停 帧所发送的数据帧,可以确保获取的流量控制缓冲区门限适用于所有类型的业务数据,从 而更进一步地提高了网络设备的缓冲区的利用效率。基于暂停机制的流量控制的网络系统在具体的应用中会出现下述情况第一网络 设备发送一个携带暂停时间的暂停帧给第二网络设备,要求第二网络设备在该暂停时间内 停止发送数据,此时,由于业务的需要,第一网络设备可能要同时发送针对当前业务的数据 帧。考虑到这种情况,优选地,在具体实施过程中,在第一网络设备向第二网络设备发送暂 停帧的同时,第一网络设备还可以向第二网络设备发送数据帧。并且,考虑到第一网络设备发送的数据帧长度的极限情况,第一网络设备向第二 网络设备发送的数据帧可以为最大长度的数据帧。通过上述优选的方式获取的流量控制缓冲区门限考虑到暂停帧发送时的并发情 况,使得获取的流量控制缓冲区门限更加精确,扩展了缓冲区门限的适用范围,进一步地提 高了网络设备的缓冲区的利用效率。根据本发明实施例,还提供了 一种获取流量控制缓冲区门限的系统。图2是根据本发明实施例的获取流量控制缓冲区门限的系统的结构示意图,如图 所示,该系统包括位于通信两端的第一网络设备21和第二网络设备22。第一网络设备21包括第一控制模块211、暂停帧发送模块212、第一数据帧模块 213、计时模块214以及门限确定模块215。其中,第一控制模块211,用于控制并同步暂停帧发送模块212和计时模块214的 启动时间,在获知第一数据帧模块213接收完毕来自第二网络设备22的数据帧的同时,控 制计时模块214结束计时,以及控制门限确定模块215确定流量控制缓冲区门限;暂停帧发送模块212,与第一控制模块211连接,用于向第二网络设备22发送携带 暂停时间为0的暂停帧;第一数据帧模块213,与第一控制模块211连接,用于接收来自第二网络设备22响 应于暂停帧的数据帧,并通知第一控制模块211 ;计时模块214,与第一控制模块211及门限确定模块215连接,用于记录暂停帧发 送模块212开始发送暂停帧至第一数据帧模块213接收完毕数据帧的时间间隔,并将该时 间间隔通知门限确定模块215 ;门限确定模块215,与第一控制模块211连接,根据计时模块214记录的时间间隔确定流量控制缓冲区门限。第二网络设备22包括第二控制模块221、暂停帧接收模块222以及第二数据帧 模块223。其中,第二控制模块221,用于控制暂停帧接收模块222接收第一网络设备21发送的携带暂停时间为0的暂停帧,以及在获知该暂停帧接收完毕时控制第二数据帧模块223 发送响应该暂停帧的数据帧;暂停帧接收模块222,与第二控制模块221连接,用于接收第一网络设备21发送的 携带暂停时间为0的暂停帧,并在该暂停帧接收完毕时通知第二控制模块221 ;第二数据帧模块223,与第二控制模块221连接,用于发送响应上述暂停帧的数据 帧。优选地,第二控制模块221还用于判断在暂停帧接收模块222接收到携带暂停时 间为0的暂停帧之前,暂停帧接收模块222是否接收到来自第一网络设备21的其他携带暂 停时间不为0的暂停帧。优选地,上述数据帧为第一网络设备21以及第二网络设备22支持的最大长度的 数据帧。优选地,第一控制模块211还用于在启动计时器模块214的同时,控制第一数据帧 模块213向第二网络设备22发送最大长度的数据帧。优选地,第一数据帧模块213还用于向第二网络设备22发送最大长度的数据帧。优选地,第二数据帧模块223还用于接收来自第一数据帧模块213的最大长度的 数据帧。由于实际应用的支持基于暂停机制的流量控制的两端网络设备属于对等关系,因 此,只要任意一端网络设备在初始化时,发送携带暂停时间为0的暂停帧并同时启动计时, 该网络设备即可视为上述系统中的第一网络设备,相应的另一端网络设备则视为上述系统 中的第二网络设备。换句话说,实际中支持基于暂停机制的流量控制网络设备可以同时具 备上述系统中第一网络设备和第二网络设备的模块。以下通过具体的实施例详细描述本发明实施例提供的获取流量控制缓冲区门限 的方法和系统。实施例一结合图2所示的系统,本实施例由第一网络设备(接收站点)向第二网络设备(发 送站点)发送暂停时间为0的pause帧,以发起缓冲区门限的协商流程,图3是根据本发明 实施例一的缓冲区门限的协商流程图,该流程包括以下步骤步骤S301、接收站点上电后运行本第一控制模块(第一控制模块可以包括在接收 站点的初始化模块中,这样保证了暂停时间为0的pause帧发送时,之前并没有pause帧发 送);步骤S302、发送站点的第二控制模块发命令开启第二数据帧模块和暂停帧接收模 块,为协商缓冲区门限做准备;步骤S303、接收站点的第一控制模块发命令开启计时模块,同时命令暂停帧发送 模块发送暂停时间为0的pause帧;步骤S304、发送站点的暂停帧接收模块接收到接收站点发送的暂停时间为0的pause中贞;步骤S305、发送站点的第二控制模块检测到暂停时间为0的pause帧后命令第二 数据帧模块发送最大长度帧给接收站点;步骤S306、接收站点的第一数据帧模块接收到发送站点发送的最大长度帧后返回 一个消息给第一控制模块;步骤S307、接收站点的第一控制模块收到消息后发送一个命令给计时模块,命令 它停止并将得到的时间传给门限确定模块;步骤S308、门限确定模块根据收到的时间计算出缓冲区门限。实施例二结合图2所示的系统,本实施例由第一网络设备(接收站点)向第二网络设备(发 送站点)发送暂停时间为0的pause帧,以发起缓冲区门限的协商流程,与实施例一相比, 该实施例中第一网络设备(接收站点)向第二网络设备(发送站点)发送暂停时间为0的 pause帧的同时,还发送最大长度数据帧,图4是根据本发明实施例二的缓冲区门限的协商 流程图,该流程包括以下步骤步骤S401、接收站点上电后运行本第一控制模块(第一控制模块可以包括在接收 站点的初始化模块中,这样保证了暂停时间为0的pause帧发送时,之前并没有pause帧发 送);步骤S402、发送站点的第二控制模块发命令开启第二数据帧模块和暂停帧接收模块,为协商缓冲区门限做准备;步骤S403、接收站点的第一控制模块发命令开启计时模块,同时命令暂停帧发送模块发送暂停时间为0的pause帧,同时命令第一数据帧模块发送最大长度的数据帧;步骤S404、发送站点的第二数据帧模块和暂停帧接收模块接收到接收站点发送的最大长度帧和暂停时间为0的pause帧;步骤S405、发送站点的第二控制模块检测到暂停时间为0的pause帧后命令第二数据帧模块发送最大长度帧给接收站点;步骤S406、接收站点的第一数据帧模块接收到发送站点发送的最大长度帧后返回一个消息给第一控制模块;步骤S407、接收站点的第一控制模块收到消息后发送一个命令给计时模块,命令它停止并将得到的时间传给门限确定模块;步骤S408、门限确定模块根据收到的时间计算出缓冲区门限。综上,本发明通过利用以太网协议的未定义部分,设计了基于暂停机制的获取流 量控制缓冲区门限的方法及系统。该技术方案可以精确算出缓冲区门限,提高了缓冲区的 利用效率,且完全由硬件自动实现,设计者不用再手动计算缓冲区门限。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示 出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或 步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、 等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种获取流量控制缓冲区门限的方法,其特征在于,包括第一网络设备在初始化时,向第二网络设备发送携带暂停时间为0的暂停帧,并同时启动计时;所述第一网络设备接收来自所述第二网络设备响应于所述暂停帧的数据帧,并在接收完毕时结束所述计时;以及所述第一网络设备根据所述计时的结果确定流量控制缓冲区门限。
2.根据权利要求1所述的方法,其特征在于,在所述第二网络设备发送响应于所述暂 停帧的所述数据帧之前,所述方法还包括所述第二网络设备确定在接收到所述携带暂停时间为O的暂停帧之前,没有接收到来 自所述第一网络设备的其他携带暂停时间不为O的暂停帧。
3.根据权利要求1所述的方法,其特征在于,所述第一网络设备根据所述计时器的计 时结果确定流量控制缓冲区门限包括所述第一网络设备根据所述计时器的计时结果确定 暂停最大延迟时间;所述第一网络设备根据所述暂停最大延迟时间计算最小缓冲区的大小;以及所述第一网络设备根据所述最小缓冲区的大小和当前缓冲区的大小计算所述流量控 制缓冲区门限。
4.根据权利要求1至3任一项所述的方法,其特征在于,在所述第一网络设备向所述第 二网络设备发送所述暂停帧的同时,所述方法还包括所述第一网络设备向所述第二网络 设备发送数据帧。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述数据帧为所述第一网络设 备以及所述第二网络设备支持的最大长度的数据帧。
6.根据权利要求5所述的方法,其特征在于,在所述第一网络设备向所述第二网络设 备发送所述暂停帧的同时,所述方法还包括所述第一网络设备向所述第二网络设备发送 最大长度的数据帧。
7.一种获取流量控制缓冲区门限的系统,包括位于通信两端的第一网络设备和第二网 络设备,其特征在于,所述第一网络设备包括第一控制模块,用于控制并同步暂停帧发送模块和计时模块的启动时间,在获知第一 数据帧模块接收完毕来自所述第二网络设备的数据帧的同时,控制所述计时模块结束计 时,以及控制门限确定模块确定流量控制缓冲区门限;所述暂停帧发送模块,与所述第一控制模块连接,用于向第二网络设备发送携带暂停 时间为O的暂停帧;所述第一数据帧模块,与所述第一控制模块连接,用于接收来自所述第二网络设备响 应于所述暂停帧的数据帧,并通知所述第一控制模块;所述计时模块,与所述第一控制模块及所述门限确定模块连接,用于记录所述暂停帧 发送模块开始发送所述暂停帧至所述第一数据帧模块接收完毕所述数据帧的时间间隔,并 将所述时间间隔通知所述门限确定模块;所述门限确定模块,与所述第一控制模块连接,根据所述计时模块记录的时间间隔确 定流量控制缓冲区门限;所述第二网络设备包括第二控制模块,用于控制暂停帧接收模块接收所述第一网络设备发送的携带暂停时间巍峨O的暂停帧,以及在获知所述暂停帧接收完毕时控制第二数据帧模块发送响应所述暂 停帧的数据帧;所述暂停帧接收模块,与所述第二控制模块连接,用于接收所述第一网络设备发送的 所述暂停帧,并在所述暂停帧接收完毕时通知所述第二控制模块;所述第二数据帧模块,与所述第二控制模块连接,用于发送响应所述暂停帧的数据帧。
8.根据权利要求7所述的系统,其特征在于,所述第二控制模块还用于判断在所述暂 停帧接收模块接收到所述携带暂停时间为O的暂停帧之前,所述暂停帧接收模块是否接收 到来自所述第一网络设备的其他携带暂停时间不为O的暂停帧。
9.根据权利要求7或8所述的系统,其特征在于,所述数据帧为所述第一网络设备以及 所述第二网络设备支持的最大长度的数据帧。
10.根据权利要求9所述的系统,其特征在于,所述第一控制模块还用于在启动所述计时模块的同时,控制所述第一数据帧模块向所 述第二网络设备发送最大长度的数据帧;贝U,所述第一数据帧模块还用于向所述第二网络设备发送最大长度的数据帧;以及所述第二数据帧模块还用于接收来自所述第一数据帧模块的最大长度的数据帧。
全文摘要
本发明公开了一种获取流量控制缓冲区门限的方法及系统,在上述方法中,第一网络设备在初始化时,向第二网络设备发送携带暂停时间为0的暂停帧,并同时启动计时;第一网络设备接收来自第二网络设备响应于所述暂停帧的数据帧,并在接收完毕时结束计时;第一网络设备根据计时的结果确定流量控制缓冲区门限。通过本发明的技术方案,可以精确得出缓冲区门限,提高了缓冲区的利用效率,使得设计者不用再手动计算缓冲区门限。
文档编号H04L12/56GK101800706SQ201010140439
公开日2010年8月11日 申请日期2010年3月25日 优先权日2010年3月25日
发明者付涛, 高振中 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1