一种客户端、流表配置管理的方法和系统的制作方法
【专利摘要】本发明提供了一种客户端、流表配置管理的方法和系统,该客户端应用于交换机,并通过交换机的一个端口,与外设的控制器相连,包括:确定单元,用于确定交换机的各个硬件对应的API接口;接收单元,用于接收外设的控制器发送的至少一个流表;转换发送单元,用于将所述接收单元接收到的至少一个流表转换为交换机的各个硬件能够识别的规则信息,并将该规则信息通过所述确定单元确定的API接口,发送给对应的交换机的各个硬件,能够提高数据转发效率。
【专利说明】
一种客户端、流表配置管理的方法和系统
技术领域
[0001]本发明涉及计算机通信技术领域,特别涉及一种客户端、流表配置管理的方法和系统。
【背景技术】
[0002]网络节点间的数据交互常常通过交换机进行数据转发来完成,而为了实现交换机的数据转发需要对交换机进行流表配置管理。目前,流表配置管理的主要方式是,交换机在接收到转发数据的请求时,将数据发送给所有的端口,其中,只有与请求中端口信息一致的端口才能成功接收到数据,此时,交换机将对这一数据传输路径进行记录,记录到流表中,例如:交换机有3个端口记为端口 1、端口 2和端口 3,假如想要将数据a转发给端口 I连接的网络节点时,交换机会分别向端口 1、端口 2和端口3发送该数据a,其中,只有端口 I成功接收到数据a,则在流表中记录数据a到端口 I的转发路径,那么,当数据转发量较多时,通过上述方式配置流表将导致数据转发拥堵,造成数据转发效率较低。
【发明内容】
[0003]本发明实施例提供了一种客户端、流表配置管理的方法和系统,能够提高数据转发效率。
[0004]—种客户端,应用于交换机,并通过交换机的一个端口,与外设的控制器相连,还包括:
[0005]确定单元,用于确定交换机的各个硬件对应的API接口;
[0006]接收单元,用于接收外设的控制器发送的至少一个流表;
[0007]转换发送单元,用于将所述接收单元接收到的至少一个流表转换为交换机的各个硬件能够识别的规则信息,并将该规则信息通过所述确定单元确定的API接口,发送给对应的交换机的各个硬件。
[0008]优选地,所述接收单元,进一步用于接收外设的控制器发送的交换机的各个端口的端口属性;
[0009]所述转换发送单元,用于根据所述接收单元接收到的各个端口属性,将至少一个流表转换为交换机的各个端口能够识别的流表规则,将该流表规则配置给该流表规则对应的所述交换机的目标端口。
[0010]优选地,所述流表包括:所述交换机的端口间数据转发的路径、端口的匹配字段和端口标签中的任意一个或多个。
[0011]优选地,所述接收单元,用于当所述至少一个流表需要更新时,接收所述外设的控制器发送的新的流表;
[0012]所述转换发送单元,用于将新的流表更新对应的交换机的各个硬件中已经配置的流表。
[0013]—种流表配置管理的方法,将交换机的一个端口与控制器相连,还包括:
[0014]确定交换机的各个硬件对应的API接口;
[0015]接收控制器通过交换机的一个端口发送的至少一个流表;
[0016]将所述至少一个流表转换为交换机的各个硬件能够识别的规则信息,并将该规则信息通过所述确定的API接口,发送给对应的交换机的各个硬件。
[0017]优选地,在所述确定交换机的各个硬件对应的API接口之后,在所述接收控制器发送的至少一个流表之前,进一步包括:
[0018]接收外设的控制器发送的交换机的各个端口的端口属性;
[0019]所述将所述至少一个流表转换为交换机的各个硬件能够识别的规则信息,并将该规则信息通过所述确定的API接口,发送给对应的交换机的各个硬件,包括:根据接收到的各个端口属性,将至少一个流表转换为交换机的各个端口能够识别的流表规则,将该流表规则配置给该流表规则对应的所述交换机的目标端口。
[0020]优选地,所述流表包括:所述交换机的端口间数据转发的路径、端口的匹配字段和端口标签中的任意一个或多个。
[0021]优选地,上述方法进一步包括:
[0022]当至少一个流表需要更新时,接收所述控制器发送的新的流表;
[0023]将新的流表更新对应的交换机的各个硬件中已经配置的流表。
[0024]一种流表配置管理的系统,包括:运行于交换机中的上述任意一种客户端、交换机的各个硬件和控制器,其中,
[0025]所述交换机的各个硬件,通过API接口与所述客户端相连,用于接收所述客户端发送的规则信息,并根据该规则信息,进行数据转发;
[0026]所述控制器,通过所述交换机的一个端口与所述客户端相连,用于确定至少一个流表,并将确定的所述至少一个流表通过所述交换机的一个端口发送给所述客户端。
[0027]优选地,所述控制器,用于接收用户配置的至少一个流表。
[0028]优选地,所述控制器,用于根据交换机属性,定期计算数据转发规则,生成至少一个流表。
[0029]优选地,所述控制器,用于向所述客户端发送交换机的各个端口的端口属性;
[0030]所述交换机的各个硬件,包括:交换机的各个端口,用于接收客户端分配的端口属性和流表规则。
[0031]本发明实施例提供了一种客户端、流表配置管理的方法和系统,该客户端,应用于交换机,并通过交换机的一个端口,与外设的控制器相连,还包括:确定单元,用于确定交换机的各个硬件对应的API接口 ;接收单元,用于接收外设的控制器发送的至少一个流表;转换发送单元,用于将所述接收单元接收到的至少一个流表转换为交换机的各个硬件能够识别的规则信息,并将该规则信息通过所述确定单元确定的API接口,发送给对应的交换机的各个硬件,通过在交换机中安装的客户端,能够直接为交换机的硬件配置流表,交换机能够直接按照配置的流表进行数据转发,而无需交换机通过自学习的方式来配置流表,从而有效地提高了数据转发的效率。
【附图说明】
[0032]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0033]图1是本发明一个实施例提供的一种客户端的结构示意图;
[0034]图2是本发明一个实施例提供的一种流表配置管理的方法的流程图;
[0035]图3是本发明另一个实施例提供的一种流表配置管理的方法的流程图;
[0036]图4是本发明一个实施例提供的一种流表配置管理的系统的结构示意图。
【具体实施方式】
[0037]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038]如图1所示,本发明实施例提供了一种客户端,应用于交换机,并通过交换机的一个端口,与外设的控制器相连,还包括:
[0039]确定单元101,用于确定交换机的各个硬件对应的API接口;
[0040]接收单元102,用于接收外设的控制器发送的至少一个流表;
[0041]转换发送单元103,用于将接收单元102接收到的至少一个流表转换为交换机的各个硬件能够识别的规则信息,并将该规则信息通过确定单元101确定的API接口,发送给对应的交换机的各个硬件。
[0042]通过确定单元确定交换机的各个硬件对应的API接口;接收单元接收外设的控制器发送的至少一个流表;转换发送单元将所述接收单元接收到的至少一个流表转换为交换机的各个硬件能够识别的规则信息,并将该规则信息通过所述确定单元确定的API接口,发送给对应的交换机的各个硬件,通过在交换机中安装的客户端,能够直接为交换机的硬件配置流表,交换机能够直接按照配置的流表进行数据转发,而无需交换机通过自学习的方式来配置流表,从而有效地提高了数据转发的效率。
[0043]在本发明另一实施例中,接收单元102,进一步用于接收外设的控制器发送的交换机的各个端口的端口属性;
[0044]转换发送单元103,用于根据接收单元102接收到的各个端口属性,将至少一个流表转换为交换机的各个端口能够识别的流表规则,将该流表规则配置给该流表规则对应的交换机的目标端口。
[0045]在本发明另一实施例中,流表包括:所述交换机的端口间数据转发的路径、端口的匹配字段和端口标签中的任意一个或多个。
[0046]在本发明又一实施例中,接收单元102,用于当至少一个流表需要更新时,接收外设的控制器发送的新的流表;
[0047]转换发送单元103,用于将新的流表更新对应的交换机的各个硬件中已经配置的流表。
[0048]如图2所示,本发明实施例提供一种流表配置管理的方法,该方法可以包括如下步骤:
[0049]步骤201:将交换机的一个端口与控制器相连;
[0050]步骤202:确定交换机的各个硬件对应的API接口 ;
[0051 ]步骤203:接收控制器通过交换机的一个端口发送的至少一个流表;
[0052]步骤204:将至少一个流表转换为交换机的各个硬件能够识别的规则信息,并将该规则信息通过确定的API接口,发送给对应的交换机的各个硬件。
[0053]在本发明一个实施例中,在步骤202之后,在步骤203之前,进一步包括:接收外设的控制器发送的交换机的各个端口的端口属性;步骤204的【具体实施方式】:根据接收到的各个端口属性,将至少一个流表转换为交换机的各个端口能够识别的流表规则,将该流表规则配置给该流表规则对应的所述交换机的目标端口,通过这一过程实现了根据交换机的各个端口的属性,为交换机的各个端口配置流表,使得流表配置具有针对性。
[0054]在本发明一个实施例中,所述流表包括:所述交换机的端口间数据转发的路径、端口的匹配字段和端口标签中的任意一个或多个,以保证数据转发的准确性。
[0055]在本发明一个实施例中,上述方法进一步包括:当至少一个流表需要更新时,接收所述控制器发送的新的流表;所述转换发送单元,用于将新的流表更新对应的交换机的各个硬件中已经配置的流表,保证了流表能够被及时更新,从而进一步保证了数据转发的准确性。
[0056]为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
[0057]如图3所示,本发明另一实施例提供了一种流表配置管理的方法,该方法可以包括以下步骤:
[0058]步骤301:将交换机的一个端口与控制器相连;
[0059]步骤302:确定交换机的各个硬件对应的API接口 ;
[0060]步骤303:接收外设的控制器发送的交换机的各个端口的端口属性;
[0061]该步骤主要是根据与端口连接的网络节点的属性如服务商属性、客户属性等,为后续端口间的数据转发提供基础。
[0062]步骤304:接收控制器通过交换机的一个端口发送的至少一个流表;
[0063]在该步骤中,接收到的流表包括:交换机的端口间数据转发的路径、端口的匹配字段和端口标签中的任意一个或多个。
[0064]步骤305:根据接收到的各个端口属性,将至少一个流表转换为交换机的各个端口能够识别的流表规则,将该流表规则配置给该流表规则对应的所述交换机的目标端口;
[0065]由于交换机的硬件如各个端口只能够识别出一定格式的信息,那么,客户端当接收到控制器发送的流表时,需将流表转换为端口能够识别的格式,才能有效地部署流表。
[0066]步骤306:当至少一个流表需要更新时,接收所述控制器发送的新的流表;
[0067]步骤307:将新的流表更新对应的交换机的各个硬件中已经配置的流表。
[0068]步骤306和步骤307主要是为了能够及时更新端口的流表以保证数据转发的准确性,例如:端口 I的服务商发生变化,其由原来为端口2对应的客户提供数据,变更为为端口3对应的客户提供数据,则需要重新对端口 1、端口 2和端口 3的流表进行配置,从而,保证端口I发送的数据能够快速准确的送达到端口 3,以完成数据转发。
[0069]如图4所示,本发明实施例提供一种流表配置管理的系统,包括:运行于交换机中的上述任一种客户端401、交换机的各个硬件402和控制器403;其中,
[0070]交换机的各个硬件402,通过API接口与客户端401相连,用于接收客户端401发送的规则信息,并根据该规则信息,进行数据转发;
[0071 ] 控制器403,通过交换机的一个端口与客户端401相连,用于确定至少一个流表,并将确定的至少一个流表通过交换机的一个端口发送给客户端401。
[0072]在本发明另一实施例中,控制器403,用于接收用户配置的至少一个流表。
[0073]在本发明另一实施例中,控制器403,用于根据交换机属性,定期计算数据转发规贝1J,生成至少一个流表。
[0074]在本发明又一实施例中,控制器403,用于向客户端401发送交换机的各个端口的端口属性;
[0075]交换机的各个硬件402,包括:交换机的各个端口,用于接收客户端401分配的端口属性和流表规则。
[0076]根据上述方案,本发明的各实施例所提供的客户端、流表配置管理的方法和系统,至少具有如下有益效果:
[0077]1.通过确定单元确定交换机的各个硬件对应的API接口 ;接收单元接收外设的控制器发送的至少一个流表;转换发送单元将所述接收单元接收到的至少一个流表转换为交换机的各个硬件能够识别的规则信息,并将该规则信息通过所述确定单元确定的API接口,发送给对应的交换机的各个硬件,通过在交换机中安装的客户端,能够直接为交换机的硬件配置流表,交换机能够直接按照配置的流表进行数据转发,而无需交换机通过自学习的方式来配置流表,从而有效地提高了数据转发的效率。
[0078]2.通过接收单元接收外设的控制器发送的交换机的各个端口的端口属性;转换发送单元根据所述接收单元接收到的各个端口属性,将至少一个流表转换为交换机的各个端口能够识别的流表规则,将该流表规则配置给该流表规则对应的所述交换机的目标端口,实现了为交换机的各个端口直接配置流表,根据端口属性进行流表配置,保证了流表配置的准确性。
[0079]3.通过接收单元当所述至少一个流表需要更新时,接收所述外设的控制器发送的新的流表;转换发送单元将新的流表更新对应的交换机的各个硬件中已经配置的流表,使得流表能够根据客户的需求能够及时被更新,保证了数据转发的准确性。
[0080]需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃.....”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
[0081]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
[0082]最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1.一种客户端,其特征在于,应用于交换机,并通过交换机的一个端口,与外设的控制器相连,还包括: 确定单元,用于确定交换机的各个硬件对应的API接口 ; 接收单元,用于接收外设的控制器发送的至少一个流表; 转换发送单元,用于将所述接收单元接收到的至少一个流表转换为交换机的各个硬件能够识别的规则信息,并将该规则信息通过所述确定单元确定的API接口,发送给对应的交换机的各个硬件。2.根据权利要求1所述的客户端,其特征在于, 所述接收单元,进一步用于接收外设的控制器发送的交换机的各个端口的端口属性;所述转换发送单元,用于根据所述接收单元接收到的各个端口属性,将至少一个流表转换为交换机的各个端口能够识别的流表规则,将该流表规则配置给该流表规则对应的所述交换机的目标端口。3.根据权利要求1所述的客户端,其特征在于,所述流表包括: 所述交换机的端口间数据转发的路径、端口的匹配字段和端口标签中的任意一个或多个。4.根据权利要求1所述的客户端,其特征在于, 所述接收单元,用于当所述至少一个流表需要更新时,接收所述外设的控制器发送的新的流表; 所述转换发送单元,用于将新的流表更新对应的交换机的各个硬件中已经配置的流表。5.—种流表配置管理的方法,其特征在于,将交换机的一个端口与控制器相连,还包括: 确定交换机的各个硬件对应的API接口 ; 接收控制器通过交换机的一个端口发送的至少一个流表; 将所述至少一个流表转换为交换机的各个硬件能够识别的规则信息,并将该规则信息通过所述确定的API接口,发送给对应的交换机的各个硬件。6.根据权利要求5所述的方法,其特征在于,在所述确定交换机的各个硬件对应的API接口之后,在所述接收控制器发送的至少一个流表之前,进一步包括: 接收外设的控制器发送的交换机的各个端口的端口属性; 所述将所述至少一个流表转换为交换机的各个硬件能够识别的规则信息,并将该规则信息通过所述确定的API接口,发送给对应的交换机的各个硬件,包括:根据接收到的各个端口属性,将至少一个流表转换为交换机的各个端口能够识别的流表规则,将该流表规则配置给该流表规则对应的所述交换机的目标端口。7.根据权利要求5所述的方法,其特征在于,所述流表包括: 所述交换机的端口间数据转发的路径、端口的匹配字段和端口标签中的任意一个或多个。8.根据权利要求5所述的方法,其特征在于,进一步包括: 当至少一个流表需要更新时,接收所述控制器发送的新的流表; 将新的流表更新对应的交换机的各个硬件中已经配置的流表。9.一种流表配置管理的系统,其特征在于,包括:运行于交换机中的权利要求1至权利要求4任一所述的客户端、交换机的各个硬件和控制器,其中, 所述交换机的各个硬件,通过API接口与所述客户端相连,用于接收所述客户端发送的规则信息,并根据该规则信息,进行数据转发; 所述控制器,通过所述交换机的一个端口与所述客户端相连,用于确定至少一个流表,并将确定的所述至少一个流表通过所述交换机的一个端口发送给所述客户端。10.根据权利要求9所述的系统,其特征在于, 所述控制器,用于接收用户配置的至少一个流表; 和/或, 所述控制器,用于根据交换机属性,定期计算数据转发规则,生成至少一个流表; 和/或, 所述控制器,用于向所述客户端发送交换机的各个端口的端口属性; 所述交换机的各个硬件,包括:交换机的各个端口,用于接收客户端分配的端口属性和流表规则。
【文档编号】H04L12/947GK105897624SQ201610202704
【公开日】2016年8月24日
【申请日】2016年4月1日
【发明人】石江涛, 杨兆伦
【申请人】浪潮电子信息产业股份有限公司