一种流量控制方法及装置制造方法

文档序号:7783291阅读:153来源:国知局
一种流量控制方法及装置制造方法
【专利摘要】本发明提供了一种流量控制方法及装置,其中一种流量控制方法,应用于与网络处理器关联的流控模块中,包括:获取与网络处理器相连的对端网络设备发送的第一通道化流控报文中的第一流控时间;响应第一流控时间,生成携带有第一流控时间的第一反压指示以指示内部通道反压;发送第一反压指示以控制网络处理器停止发送报文至第一虚拟通道,即控制第一虚拟通道停止发送报文,从而当某条虚拟通道反压时可以直接对反压的虚拟通道进行流量控制,使得网络处理器的MAC端口可以工作在通道化工作模式下。进一步实现在网络处理器的端口侧对多个工作在不同模式的MAC端口进行报文汇聚和分发时控制虚拟通道中的流量。
【专利说明】一种流量控制方法及装置
【技术领域】
[0001]本发明涉及网络处理器【技术领域】,特别涉及一种流量控制方法及装置。
【背景技术】
[0002]伴随着集成电路工艺的不断进步,面对迅猛增加的互联网流量,大流量,大带宽成为网络处理器,如NP (Network Processor,网络处理器)的发展趋势,随之而来的是如何同时管理网络处理器的各个MAC (Medium Access Control,介质访问控制)端口的流控和反压。
[0003]其中流控和反压用于对传输通道和设备中的流量进行控制,流控主要用于对网络设备与网络处理器之间的传输通道的流量进行控制,当网络设备的数据处理能力受限时,发送流控报文至网络处理器,通知网络处理器不再发送报文至传输通道。而反压则是对网络处理器内部模块间的数据进行控制,当网络处理器内部某个逻辑模块的数据处理能力受限时,发送反压指示通知不再向该逻辑模块发送报文,网络设备可以是路由器这种转发装置。
[0004]目前网络处理器中的一个MAC端口可以连接一个网络设备如路由器,此时网络处理器的该MAC端口工作在非通道化工作模式下,此时若网络处理器的MAC端口处于流控状态,则MAC端口所用的全部带宽不再收发数据。
[0005]随着网络处理器的发展,一个网络处理器中会集成多个MAC端口,同时某些MAC端口的带宽可能被多条虚拟通道所共享,每条虚拟通道连接一个网络设备,这种MAC端口的带宽为多个设备所共享的工作模式为通道化工作模式。但是目前使用的网络处理器的MAC端口基本不支持通道化工作模式,因而无法对单条虚拟通道中的流量进行控制。
[0006]总之,目前需要本领域技术人员迫切解决的一个技术问题就是:如何在网络处理器的端口侧对多个工作在不同模式的MAC端口进行报文汇聚和分发时,控制模块间的反压和不同设备间的流控,以保证网络处理器充分利用带宽。

【发明内容】

[0007]本发明所要解决的技术问题是提供一种流量控制方法及装置,用以在网络处理器的端口侧对多个工作在不同模式的MAC端口进行报文汇聚和分发时控制虚拟通道中的流量。技术方案如下:
[0008]第一方面,本发明实施例提供一种流量控制方法,应用于与网络处理器关联的流控模块中,所述流量控制方法包括:
[0009]获取与所述网络处理器相连的对端网络设备发送的第一通道化流控报文中的第一流控时间,其中所述第一通道化流控报文用于指示所述流控模块通信的内部通道反压时间,且所述内部通道对应所述网络处理器中的第一虚拟通道,所述第一虚拟通道为所述网络处理器的一个介质访问控制端口划分后得到;
[0010]响应第一流控时间,生成携带有所述第一流控时间的第一反压指示以指示内部通道反压;
[0011]发送所述第一反压指示以控制所述网络处理器停止发送报文至所述第一虚拟通道。
[0012]在第一方面的第一种可能实现方式中,所述方法还包括:
[0013]获取第二反压指示以指示第二虚拟通道反压,所述第二虚拟通道为所述网络处理器的一个介质访问控制端口划分后得到;
[0014]响应所述第二反压指示,经过通道映射得到指示第一内部通道反压的第三反压指示,其中反压的所述第一内部通道与反压的所述第二虚拟通道对应;
[0015]发送所述第三反压指示以禁止向反压的所述第一内部通道发送报文。
[0016]结合第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,所述方法还包括:
[0017]响应第一非通道化流控报文,生成指示内部通道反压的第四反压指示;
[0018]发送所述第四反压指示以控制所述网络处理器停止发送报文,其中第一非通道化流控报文用于指示禁止网络处理器发送报文。
[0019]在第一方面的第三种可能实现方式中,所述方法还包括:
[0020]响应第五反压指示以指示禁止反压的第二内部通道调度输出报文。
[0021]结合第一方面的第三种可能实现方式,在第一方面的第四种可能实现方式中,所述网络处理器的介质访问控制端口工作在通道化工作模式下,所述方法还包括:
[0022]接收第六反压指示以指示第三内部通道反压;
[0023]将所述第六反压指示映射为指示第三虚拟通道反压的第七反压指示,其中反压的所述第三虚拟通道与所述第三内部通道对应,所述第三虚拟通道为所述网络处理器的一个介质访问控制端口划分后得到;
[0024]依据所述第七反压指示设定第二流控时间,并在所述第二流控时间内指示生成第二通道化流控报文禁止所述对端网络设备向反压的所述第三虚拟通道继续发送报文。
[0025]结合第一方面的第三种可能实现方式或者第四种可能实现方式中,在第一方面的第五种可能实现方式中,所述网络处理器的介质访问控制端口工作在非通道化工作模式下,所述方法还包括:接收第六反压指示以指示第三内部通道反压,并将所述第六反压指示映射为指示介质访问控制端口反压的第八反压指示,以指示生成第二非通道化流控报文禁止所述对端网络设备向反压的介质访问控制端口继续发送报文。
[0026]第二方面,本发明实施例还提供一种流量控制装置,应用于与网络处理器关联的流控模块中,所述流量控制装置包括:
[0027]第一获取单元,用于获取与所述网络处理器相连的对端网络设备发送的第一通道化流控报文中的第一流控时间,其中所述第一通道化流控报文用于指示所述流控模块通信的内部通道反压时间,且所述内部通道对应所述网络处理器中的第一虚拟通道,所述第一虚拟通道为所述网络处理器的一个介质访问控制端口划分后得到;
[0028]第一响应单元,用于响应第一流控时间,生成携带有所述第一流控时间的第一反压指示以指示内部通道反压;
[0029]发送单元,用于发送所述第一反压指示以控制所述网络处理器停止发送报文至所述第一虚拟通道。[0030]在第二方面的第一种可能实现方式中,所述装置还包括:
[0031]第二获取单元,用于获取第二反压指示以指示第二虚拟通道反压,所述第二虚拟通道为所述网络处理器的一个介质访问控制端口划分后得到;
[0032]第二响应单元,用于响应所述第二反压指示,经过通道映射得到指示第一内部通道反压的第三反压指示,其中反压的所述第一内部通道与反压的所述第二虚拟通道对应;
[0033]所述发送单元,还用于发送所述第三反压指示以禁止向反压的所述第一内部通道发送报文。
[0034]结合第二方面的第一种可能实现方式,在第二方面的第二种可能实现方式中,所述装置还包括:
[0035]第三响应单元,用于响应第一非通道化流控报文,生成指示内部通道反压的第四反压指示;
[0036]所述发送单元,进一步用于发送所述第四反压指示以控制所述网络处理器停止发送报文,其中第一非通道化流控报文用于指示禁止网络处理器发送报文。
[0037]在第二方面的第三种可能实现方式中,所述装置还包括:
[0038]第四响应单元,用于响应第五反压指示以指示禁止反压的第二内部通道调度输出报文。
[0039]结合第二方面的第三种可能实现方式,在第二方面的第四种可能实现方式中,所述网络处理器的介质访问控制端口工作在通道化工作模式下,所述装置还包括:
[0040]接收单元,用于接收第六反压指示以指示第三内部通道反压;
[0041]映射单元,用于将所述第六反压指示映射为指示第三虚拟通道反压的第七反压指示,其中反压的所述第三虚拟通道与所述第三内部通道对应,所述第三虚拟通道为所述网络处理器的一个介质访问控制端口划分后得到;
[0042]时间设置单元,用于依据所述第七反压指示设定第二流控时间,并在所述第二流控时间内指示生成第二通道化流控报文禁止所述对端网络设备向反压的所述第三虚拟通道继续发送报文。
[0043]结合第二方面的第三种可能实现方式或者第四种可能实现方式中,在第二方面的第五种可能实现方式中,所述网络处理器的介质访问控制端口工作在非通道化工作模式下,所述装置还包括:处理单元,用于接收第六反压指示以指示第三内部通道反压,并将所述第六反压指示映射为指示介质访问控制端口反压的第八反压指示,以指示生成第二非通道化流控报文禁止所述对端网络设备向反压的介质访问控制端口继续发送报文。
[0044]与现有技术相比,本发明包括以下优点:
[0045]本发明实施例提供的流量控制方法可以响应第一通道化流控报文中的第一流控时间,生成携带有所述第一流控时间的第一反压指示以指示内部通道反压;并发送所述第一反压指示以控制所述网络处理器停止发送报文至所述第一虚拟通道,即控制第一虚拟通道停止发送报文,从而当某条虚拟通道反压时可以直接对反压的虚拟通道进行流量控制,使得网络处理器的MAC端口可以工作在通道化工作模式下。进一步网络处理器在通道化工作模式中停止向某条虚拟通道发送报文的同时,仍可以向其他流量正常的虚拟通道发送报文,避免一条虚拟通道流量异常导致整个带宽无法使用的情况发生,提高带宽利用率,从而实现在网络处理器的端口侧对多个工作在不同模式的MAC端口进行报文汇聚和分发时控制虚拟通道中的流量。
【专利附图】

【附图说明】
[0046]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0047]图1为本发明实施例提供的流量控制方法所基于的系统框架;
[0048]图2为本发明实施例提供的流量控制方法的一种流程图;
[0049]图3为本发明实施例提供的流量控制方法的另一种流程图;
[0050]图4为本发明实施例提供的流量控制方法在图1所示系统框架中的传输走向示意图;
[0051]图5为图1所示系统框架中各个装置在上行方向过程中的工作过程示意图;
[0052]图6为图1所示系统框架中各个装置在下行方向过程中的工作过程示意图;
[0053]图7为本发明实施例提供的一种流量控制方法的再一种流程图;
[0054]图8为本发明实施例提供的一种流量控制方法的再一种流程图;
[0055]图9为本发明实施例提供的一种流量控制方法的再一种流程图;
[0056]图10为本发明实施例提供的一种流量控制装置的一种结构示意图;
[0057]图11为本发明实施例提供的一种流量控制装置的另一种结构示意图;
[0058]图12为本发明实施例提供的一种流量控制装置的再一种结构示意图。
【具体实施方式】
[0059]由于不同厂商生产的网络处理器多数不支持通道化工作模式,而不同网络处理器内部结构不同,对不同网络处理器进行改造使其支持通道化工作模式会提高改造复杂度以及成本,因此本发明实施例提供的流量控制方法应用于一网络处理器关联的流控模块,该流控模块可以作为一个独立的模块与网络处理器相连,使得不同网络处理器可以在流控模块控制作用下支持通道化工作模式,当然其也可以集成到网络处理器中。
[0060]在本发明实施例中,流控模块在对网络处理器的多个网络芯片的报文进行汇聚和分发的同时,可以对网络处理器中的虚拟通道进行流量控制,从而间接使与其相连的网络处理器支持通道化工作模式,可以对每条虚拟通道进行流量控制。其中网络处理器支持通道化工作模式以及工作在通道化工作模式是指网络处理器的MAC端口工作在通道化工作模式,网络处理器工作在非通道化工作模式是指网络处理器的MAC端口工作在非通道化工作模式。
[0061]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0062]请参阅图1,其示出了本发明实施例提供的流量控制方法基于但不限于的一种应用场景,其中I为网络处理器,2为网络设备,3为第一共享缓存,4为接收芯片,5为第二共享缓存,6为发送芯片,7为流控模块、8为反压管理模块。其中网络设备是通过网络处理器与流控模块通信的对端网络设备。
[0063]为了本领域技术人员更好地理解本发明实施例提供的流量控制方法,首先简单介绍该场景中各个模块之间的工作过程。网络设备2通过一条虚拟通道与网络处理器I通信,网络设备2发送的报文通过网络处理器I存储在第一共享缓存3中,由第一共享缓存3发送至接收芯片4。发送芯片6用于发送报文至第二共享缓存5,再由第二共享缓存5和网络处理器I发送至虚拟通道中,以由网络设备2接收。在需要进行流量控制时,信息首先发送至流控模块7,再由流控模块7反馈给反压管理模块8,由反压管理模块8控制接收芯片4和发送芯片6。
[0064]基于图1所示应用场景,本发明实施例提供的一种流量控制方法可以参阅图2所示流程图,阐述如何控制发送芯片以实现对虚拟通道进行流量控制使得网络处理器支持通道化工作模式,可以包括以下步骤:
[0065]步骤201:网络设备判断存储的报文量是否超过第一预设阈值,如果是,生成第一通道化流控报文。
[0066]其中第一预设阈值与网络设备内的存储器的容量相关,可以将存储器的最大容量作为第一预设阈值,但存储器在实际存储数据时还存储其他数据,因此第一预设阈值一般小于存储器的最大容量,第一预设阈值的具体取值可以根据不同应用场景进行设置,对此本发明实施例不加以限制。
[0067]第一通道化流控报文用于指示网络设备上存储的报文量达到存储上线,此时需要通知发送芯片停止发送报文。
[0068]步骤202:网络设备通过虚拟通道发送第一通道化流控报文至网络处理器。该第一通道化流控报文用于指示`虚拟通道反压状态,确定处于反压状态的虚拟通道。
[0069]步骤203:网络处理器转发第一通道化流控报文至第一共享缓存。
[0070]网络处理器在接收到报文后,首先对报文进行识别以确定是否为通道化流控报文,如果是则转发通道化流控报文至第一共享缓存中。第一通道化流控报文的一种格式可以如表1所示:
[0071]表1通道化流控报文格式
[0072]
【权利要求】
1.一种流量控制方法,其特征在于,应用于与网络处理器关联的流控模块中,所述流量控制方法包括: 获取与所述网络处理器相连的对端网络设备发送的第一通道化流控报文中的第一流控时间,其中所述第一通道化流控报文用于指示所述流控模块通信的内部通道反压时间,且所述内部通道对应所述网络处理器中的第一虚拟通道,所述第一虚拟通道为所述网络处理器的一个介质访问控制端口划分后得到; 响应第一流控时间,生成携带有所述第一流控时间的第一反压指示以指示内部通道反压; 发送所述第一反压指示以控制所述网络处理器停止发送报文至所述第一虚拟通道。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 获取第二反压指示以指示第二虚拟通道反压,所述第二虚拟通道为所述网络处理器的一个介质访问控制端口划分后得到; 响应所述第二反压指示,经过通道映射得到指示第一内部通道反压的第三反压指示,其中反压的所述第一内部通道与反压的所述第二虚拟通道对应; 发送所述第三反压指示以禁止向反压的所述第一内部通道发送报文。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括: 响应第一非通道化流控报文,生成指示内部通道反压的第四反压指示; 发送所述第四反压指示以控制所述网络处理器停止发送报文,其中第一非通道化流控报文用于指示禁止网络处理器发送报文。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括: 响应第五反压指示以指示禁止反压的第二内部通道调度输出报文。
5.根据权利要求4所述的方法,其特征在于,所述网络处理器的介质访问控制端口工作在通道化工作模式下,所述方法还包括: 接收第六反压指示以指示第三内部通道反压; 将所述第六反压指示映射为指示第三虚拟通道反压的第七反压指示,其中反压的所述第三虚拟通道与所述第三内部通道对应,所述第三虚拟通道为所述网络处理器的一个介质访问控制端口划分后得到; 依据所述第七反压指示设定第二流控时间,并在所述第二流控时间内指示生成第二通道化流控报文禁止所述对端网络设备向反压的所述第三虚拟通道继续发送报文。
6.根据权利要求4或5所述的方法,其特征在于,所述网络处理器的介质访问控制端口工作在非通道化工作模式下,所述方法还包括:接收第六反压指示以指示第三内部通道反压,并将所述第六反压指示映射为指示介质访问控制端口反压的第八反压指示,以指示生成第二非通道化流控报文禁止所述对端网络设备向反压的介质访问控制端口继续发送报文。
7.一种流量控制装置,其特征在于,应用于与网络处理器关联的流控模块中,所述流量控制装置包括: 第一获取单元,用于获取与所述网络处理器相连的对端网络设备发送的第一通道化流控报文中的第一流控时间,其中所述第一通道化流控报文用于指示所述流控模块通信的内部通道反压时间,且所述内部通道对应所述网络处理器中的第一虚拟通道,所述第一虚拟通道为所述网络处理器的一个介质访问控制端口划分后得到; 第一响应单元,用于响应第一流控时间,生成携带有所述第一流控时间的第一反压指示以指示内部通道反压; 发送单元,用于发送所述第一反压指示以控制所述网络处理器停止发送报文至所述第一虚拟通道。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括: 第二获取单元,用于获取第二反压指示以指示第二虚拟通道反压,所述第二虚拟通道为所述网络处理器的一个介质访问控制端口划分后得到; 第二响应单元,用于响应所述第二反压指示,经过通道映射得到指示第一内部通道反压的第三反压指示,其中反压的所述第一内部通道与反压的所述第二虚拟通道对应; 所述发送单元,还用于发送所述第三反压指示以禁止向反压的所述第一内部通道发送报文。
9.根据权利要求7或8所述的装置,其特征在于,所述装置还包括: 第三响应单元,用于响应第一非通道化流控报文,生成指示内部通道反压的第四反压指示; 所述发送单元,进一步用于发送所述第四反压指示以控制所述网络处理器停止发送报文,其中第一非通道化流控报文用于指示禁止网络处理器发送报文。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括: 第四响应单元,用于响应第五反压指示以指示禁止反压的第二内部通道调度输出报文。
11.根据权利要求10所述的装置,其特征在于,所述网络处理器的介质访问控制端口工作在通道化工作模式下,所述装置还包括: 接收单元,用于接收第六反压指示以指示第三内部通道反压; 映射单元,用于将所述第六反压指示映射为指示第三虚拟通道反压的第七反压指示,其中反压的所述第三虚拟通道与所述第三内部通道对应,所述第三虚拟通道为所述网络处理器的一个介质访问控制端口划分后得到; 时间设置单元,用于依据所述第七反压指示设定第二流控时间,并在所述第二流控时间内指示生成第二通道化流控报文禁止所述对端网络设备向反压的所述第三虚拟通道继续发送报文。
12.根据权利要求10或11所述的装置,其特征在于,所述网络处理器的介质访问控制端口工作在非通道化工作模式下,所述装置还包括:处理单元,用于接收第六反压指示以指示第三内部通道反压,并将所述第六反压指示映射为指示介质访问控制端口反压的第八反压指示,以指示生成第二非通道化流控报文禁止所述对端网络设备向反压的介质访问控制端口继续发送报文。
【文档编号】H04L12/801GK103763204SQ201310752411
【公开日】2014年4月30日 申请日期:2013年12月31日 优先权日:2013年12月31日
【发明者】杨升, 史永杰, 冯颖劼, 苏永中 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1