一种流量控制的方法及系统的制作方法

文档序号:9633745阅读:583来源:国知局
一种流量控制的方法及系统的制作方法
【技术领域】
[0001]本发明涉及通信网络技术领域,尤其涉及一种流量控制的方法及系统。
【背景技术】
[0002]随着虚拟化技术以及云计算的发展,数据中心的内部流量也在急剧增长,在基于NVGER的云数据中心转发网络中,负责报文转发的网络设备通常具有一个出接口和多个入接口,每个入接口分别接收一个网络设备发送的流量,由一个出接口将多个入接口接收到的流量转发出去,然而,当与入接口连接的网络设备需发送的流量过多时,会导致出接口的发生拥塞,进而导致报文丢失,影响网络设备的转发性能。

【发明内容】

[0003]本发明的实施例提供一种流量控制的方法及系统,可以解决网络设备转发性能差的问题。
[0004]为达到上述目的,本发明的实施例采用如下技术方案:
[0005]—种流量控制的方法,所述方法应用于流量控制的系统中,所述系统中包括转发设备和发送设备,所述转发设备用于转发至少一个发送设备发送的报文,所述方法包括:
[0006]所述转发设备确定接收到的每个NVGRE VSI队列的报文流量;
[0007]所述转发设备根据接收到的每个NVGRE VSI队列的报文流量以及每个NVGRE VSI队列的拥塞门限,确定拥塞队列;
[0008]所述转发设备根据每个拥塞队列的拥塞程度,向至少一个发送设备发送流量控制报文,所述流量控制报文中携带每个拥塞队列的队列标识,所述流量控制报文用于指示发送所述拥塞队列的发送设备暂停发送报文。
[0009]一种流量控制的系统,包括:
[0010]发送设备,用于向转发设备发送NVGRE VSI队列中的报文;
[0011]所述转发设备,用于转发至少一个所述发送设备发送的报文,确定接收到的每个NVGRE VSI队列的报文流量;根据接收到的每个NVGRE VSI队列的报文流量以及每个NVGREVSI队列的拥塞门限,确定拥塞队列;根据每个拥塞队列的拥塞程度,向至少一个发送设备发送流量控制报文,所述流量控制报文中携带每个拥塞队列的队列标识,所述流量控制报文用于指示发送所述拥塞队列的发送设备暂停发送报文。
[0012]本发明实施例提供的流量控制的方法及系统,转发设备确定接收到的每个NVGREVSI队列的报文流量,根据接收到的每个NVGRE VSI队列的报文流量以及每个NVGRE VSI队列的拥塞门限,确定拥塞队列,根据每个拥塞队列的拥塞程度,向至少一个发送设备发送流量控制报文,流量控制报文中携带每个拥塞队列的队列标识,流量控制报文用于指示发送拥塞队列的发送设备暂停发送报文,与现有技术中,由于转发设备的出端口拥塞导致报文丢失相比,本发明实施例中,当确定存在拥塞队列时,会及时控制发送拥塞队列的发送设备暂停发送报文,以防止转发设备的出端口发生拥塞,且在进行流量控制时,只需控制发送设备暂停发送拥塞队列中的报文,不影响发送设备发送正常队列中的报文,可以减少报文丢失,提高网络设备的转发性能。
【附图说明】
[0013]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0014]图1为本发明实施例提供的一种流量控制的方法的流程图;
[0015]图2为本发明实施例提供的另一种流量控制的方法的流程图;
[0016]图3为本发明实施例提供的一种流量控制的系统的逻辑结构示意图。
【具体实施方式】
[0017]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0018]为了提高网络设备的转发性能,本发明实施例提供一种流量控制的方法,该方法应用于流量控制的系统中,该系统中包括转发设备和发送设备,转发设备用于转发至少一个发送设备发送的报文,如图1所示,该方法包括:
[0019]101、转发设备确定接收到的每个 NVGRE (Network Virtual Generic RoutingEncapsulat1n,网络虚拟化通用路由协议封装)VSI (Virtual Switch Interface,虚拟交换接口)队列的报文流量。
[0020]102、转发设备根据接收到的每个NVGRE VSI队列的报文流量以及每个NVGRE VSI队列的拥塞门限,确定拥塞队列。
[0021]其中,每个NVGRE VSI队列拥塞门限具体可以为转发设备能够缓存每个NVGRE VSI队列的报文流量的最大值的80%,可以根据各队列的重要程度分别为每个队列设置不同的拥塞门限。转发设备接收到的拥塞队列的报文流量大于或等于拥塞门限。
[0022]103、转发设备根据每个拥塞队列的拥塞程度,向至少一个发送设备发送流量控制报文。
[0023]其中,流量控制报文中携带每个拥塞队列的队列标识,流量控制报文用于指示发送拥塞队列的发送设备暂停发送拥塞报文。
[0024]值得说明的是,转发设备需通过组播的方式向发送设备发送流量控制报文,流量控制报文的格式是基于普通的流量控制报文的格式改进出的一种基于NVGRE VSI的流量控制报文格式。
[0025]其中,目的MAC地址为组播地址,目的地址可设置为01-80-C2-00-00-05,源MAC地址为转发设备的接入端口的MAC地址,MAC头之后紧随的两个字节表示流量控制报文类型,报文类型字段的值设定为固定的0x8858,该流量控制报文中的NVGRE VSI number设置为报文中携带NVGRE VSI的数量,根据报文长度计算确定,最大为8个。之后拥塞队列的标识和对应的暂停时间以成对的形式被设置在流量控制报文中,每个拥塞队列标识为24位,每个暂停时间为16位,如果拥塞队列的数量过多,无法将所有拥塞队列的信息承载在一个流量控制报文中,则可以设置多个流量控制报文,而如果拥塞队列的数量小于该流量控制报文中的NVGRE VSI number,则将流量控制报文中剩余的位置补零。
[0026]本发明实施例提供的流量控制的方法,转发设备确定接收到的每个NVGRE VSI队列的报文流量,根据接收到的每个NVGRE VSI队列的报文流量以及每个NVGRE VSI队列的拥塞门限,确定拥塞队列,根据每个拥塞队列的拥塞程度,向至少一个发送设备发送流量控制报文,流量控制报文中携带每个拥塞队列的队列标识,流量控制报文用于指示发送拥塞队列的发送设备暂停发送报文,与现有技术中,由于转发设备的出端口拥塞导致报文丢失相比,本发明实施例中,当确定存在拥塞队列时,会及时控制发送拥塞队列的发送设备暂停发送报文,以防止转发设备的出端口发生拥塞,且在进行流量控制时,只需控制发送设备暂停发送拥塞队列中的报文,不影响发送设备发送正常队列中的报文,可以减少报文丢失,提高网络设备的转发性能。
[0027]在转发设备发送流量控制报文前,还需确定需暂停发送每个拥塞队列中的报文的时间,基于此目的,在本发明实施例提供的另一种实现方式中,如图2所示,上述步骤103,转发设备根据每个拥塞队列的拥塞程度,向至少一个发送设备发送流量控制报文,具体可已实现为步骤201至203。
[0028]201、转发设备根据每个拥塞队列的拥塞程度,分别确定每个拥塞队列对应的暂停时间。
[0029]其中,转发设备可根据接收到的拥塞队列的报文流量与对应的拥塞门限之间的关系确定拥塞程度,当前转发设备缓存的拥塞队列的报文超出对应的拥塞门限越多,则该拥塞队列对应的暂停时间越长。
[0030]此外,确定拥塞队列对应的暂停时间还需考虑各个队列的优先级,优先级越低的队列越晚被转发设备转发出去,所需等待被转发的时间越长,对应的暂停时间也就越长。
[0031]202、转发设备将每个拥塞队列的队列标识和对应的暂停时间添加至流量控制报文中。
[0032]203、转发设备向至少一个发送设备发送流量控制报文。
[0033]其中,转发设备可以以组播的形式向发送拥塞队列的发送设备发送流量控制报文。
[0034]在转发设备向至少一个发送设备发送流量控制报文之后,转发设备需根据接收到的流量控制报文暂停发送拥塞队列,具体可实现为步骤204至206。
[0035]204、每个发送设备解析接收到的流量控制报文,获取流量控制报文中的队列标识和对应的暂停时间。
[0036]205、当发送设备解析出与自身发送的NVGRE VSI队列的队列标识相同的第一队列标识时,暂停向转发设备发送第一队列标识对应的NVGRE VSI队列中的报文。
[0037]其中,发送设备暂停发送第一队列标识对应的NVGRE VSI队列中的报文的同时,需将该NVGRE VSI队列中的报文进行缓存。
[0038]206、当暂停向转发设备发送第一队列标识对应的NVGRE VSI队列中的报文的时间达到第一队列标识对应的暂停时间时,继续向转发设备发送第一队列标识对应的NVGREVSI队列中的报文。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1