基于可编程交换机的SLB加速系统、方法、装置、设备及介质制造方法及图纸

技术编号:28326298 阅读:12 留言:0更新日期:2021-05-04 13:07
本公开涉及交换机技术领域,具体提供了基于可编程交换机的SLB加速方法、装置、设备及介质,其中,所述方法包括:接收来自客户端的连接请求的第一请求封包并提取所述第一封包的基础信息;在所述第一请求封包内增加第一元数据并转发给所述业务单元;接收来自业务单元根据服务器的IP地址信息修改所述基础信息后的第二请求封包,并将所述第二请求封包转给客户端;解析第一响应封包并提取所述第一响应封包的基础信息;在所述第一响应封包内增加第二元数据并转发给所述业务单元;接收来自业务单元根据服务器的IP地址信息修改所述基础信息后的第二响应封包,并将所述第二响应封包转给客户端;转发所述业务单元创建的流表消息给所述控制管理单元。

【技术实现步骤摘要】
基于可编程交换机的SLB加速系统、方法、装置、设备及介质
本公开涉及交换机
,更为具体来说,本公开涉及基于可编程交换机的SLB加速系统、方法、装置、设备及介质。
技术介绍
在多个提供相同服务的服务器的应用场景里,SLB(服务器负载均衡)设备根据负载均衡算法,将流量均衡的分配给后台服务器以平衡各个服务器的负载压力,避免服务器饿死或过载,从而提高服务效率和质量。过载的服务器,在处理客户端的服务请求时,会因达到其性能临界点出现运行缓慢甚至宕机情况。在实现SLB上,负载均衡设备会管理一个虚拟IP地址池,而只提供一个虚拟IP地址给客户段,客户端的所有请求都会由负载均衡设备转发,从避免将后端服务器地址暴露给客户端。因此对客户端而言,RS(RealServer实际服务器)的IP地址就是负载均衡设备VIP(虚拟服务地址IP)地址,真正的RS服务器IP地址对于客户端是不可见的。
技术实现思路
为解决现有技术不能满足交换机高密度接口采集、线速转发以及横向扩展的技术问题。为实现上述技术目的,本公开提供了一种基于可编程交换机的SLB加速系统,包括:用于数据流量接入、阻断和/或引流的可编程交换机;用于会话管理的管理控制单元;用于流表管理的业务单元;所述管理控制单元通过PCIe接口连接可编程交换机下流表;所述业务单元通过数据平面开发套件与所述可编程交换机进行报文收发交互。为实现上述技术目的,本公开还能够提供一种基于可编程交换机的SLB加速方法,应用于如权利要求1所述的系统中,还包括:接收来自客户端的连接请求的第一请求封包并提取所述第一封包的基础信息;在所述第一请求封包内增加第一元数据并转发给所述业务单元,其中,所述第一元数据包括:所述第一请求封包在所述可编程交换机中的端口号和/或所述第一请求封包的哈希值;接收来自业务单元根据服务器的IP地址信息修改所述基础信息后的第二请求封包,并将所述第二请求封包转给客户端;解析第一响应封包并提取所述第一响应封包的基础信息;在所述第一响应封包内增加第二元数据并转发给所述业务单元,其中,所述第二元数据包括:所述第一响应封包在所述可编程交换机中的端口号和/或所述第一响应封包的哈希值;接收来自业务单元根据服务器的IP地址信息修改所述基础信息后的第二响应封包,并将所述第二响应封包转给客户端;转发所述业务单元创建的流表消息给所述控制管理单元。进一步,所述基础信息包括:MAC地址信息、IP信息和/或四层端口号信息。进一步,所述方法还包括:接收所述管理控制单元解析所述流表消息后反馈的信息,并创建两条以所述客户端和所述服务器的五元组信息为键值的流表。进一步,所述接收所述管理控制单元解析所述流表消息后反馈的信息,并创建两条以所述客户端和所述服务器的五元组信息为键值的流表之后,所述方法还包括:接收客户端对指定服务的访问数据,修改目标IP地址并发送给服务器。进一步,所述接收所述管理控制单元解析所述流表消息后反馈的信息,并创建两条以所述客户端和所述服务器的五元组信息为键值的流表之后,所述方法还包括:接收服务器的响应数据,修改目标IP地址并发送给客户端。为实现上述技术目的,本公开还能够提供一种基于可编程交换机的SLB加速装置,包括:请求解析模块,用于接收来自客户端的连接请求的第一请求封包并提取所述第一封包的基础信息;第一封包处理模块,用于在所述第一请求封包内增加第一元数据并转发给所述业务单元,其中,所述第一元数据包括:所述第一请求封包在所述可编程交换机中的端口号和/或所述第一请求封包的哈希值;第一转发模块,接收来自业务单元根据服务器的IP地址信息修改所述基础信息后的第二请求封包,并将所述第二请求封包转给客户端;响应解析模块,用于解析第一响应封包并提取所述第一响应封包的基础信息;第二封包处理模块,用于在所述第一响应封包内增加第二元数据并转发给所述业务单元,其中,所述第二元数据包括:所述第一响应封包在所述可编程交换机中的端口号和/或所述第一响应封包的哈希值;第二转发模块,接收来自业务单元根据服务器的IP地址信息修改所述基础信息后的第二响应封包,并将所述第二响应封包转给客户端;第三转发模块,用于转发所述业务单元创建的流表消息给所述控制管理单元。进一步,所述基础信息包括:MAC地址信息、IP信息和/或四层端口号信息。为实现上述技术目的,本公开还能够提供一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时用于实现上述的基于可编程交换机的SLB加速方法的步骤。为实现上述技术目的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的基于可编程交换机的SLB加速方法的步骤。本公开的有益效果为:采用本公开实施例提供的技术方法,让业务单元维护有状态的流量(如TCPSYN/FIN),连接建立后,后续流量由可编程交换机转发,而不再进到业务单元。释放业务单元的算力和内存,降低转发时延,提高转发效率和整机吞吐率。让业务单元完成更多更复杂的计算任务。采用本公开实施例提供的技术方法,让交换机负责无状态流量的转发,达到低延迟高吞吐目的。借助交换机的可编程特性,可以为业务单元提供部分加速功能,如利用可编程特性可以计算原封信息的哈希值,并附加在封包前面以元数据的形式带给业务单元,不必让业务单元重新计算报文哈希值了。同时,元数据可以做到业务单元多核上的负载均衡,保证业务单元每个处理核心都能高效运行。采用本公开实施例提供的技术方法,让管理单元维护有状态流量的流表,可以制定各种下发策略。附图说明图1示出了本公开的实施例1的结构示意图;图2示出了本公开的实施例2的流程示意图;图3示出了本公开的实施例3的结构示意图;图4示出了本公开的实施例5的结构示意图。具体实施方式以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。在附图中示出了根据本公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状以及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。SLB分为四层负载均衡和七层负载均衡。四层负载均衡工作于OSI模型的传输层(TransportLayer),主要通过报文中的目标IP地址和目标端口号,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。七层负载均衡本文档来自技高网...

【技术保护点】
1.一种基于可编程交换机的SLB加速系统,其特征在于,包括:/n用于数据流量接入、阻断和/或引流的可编程交换机;/n用于会话管理的管理控制单元;/n用于流表管理的业务单元;/n所述管理控制单元通过PCIe接口连接可编程交换机下流表;/n所述业务单元通过数据平面开发套件与所述可编程交换机进行报文收发交互。/n

【技术特征摘要】
1.一种基于可编程交换机的SLB加速系统,其特征在于,包括:
用于数据流量接入、阻断和/或引流的可编程交换机;
用于会话管理的管理控制单元;
用于流表管理的业务单元;
所述管理控制单元通过PCIe接口连接可编程交换机下流表;
所述业务单元通过数据平面开发套件与所述可编程交换机进行报文收发交互。


2.一种基于可编程交换机的SLB加速方法,应用于如权利要求1所述的系统中,其特征在于,还包括:
接收来自客户端的连接请求的第一请求封包并提取所述第一封包的基础信息;
在所述第一请求封包内增加第一元数据并转发给所述业务单元,其中,所述第一元数据包括:所述第一请求封包在所述可编程交换机中的端口号和/或所述第一请求封包的哈希值;
接收来自业务单元根据服务器的IP地址信息修改所述基础信息后的第二请求封包,并将所述第二请求封包转给客户端;
解析第一响应封包并提取所述第一响应封包的基础信息;
在所述第一响应封包内增加第二元数据并转发给所述业务单元,其中,所述第二元数据包括:所述第一响应封包在所述可编程交换机中的端口号和/或所述第一响应封包的哈希值;
接收来自业务单元根据服务器的IP地址信息修改所述基础信息后的第二响应封包,并将所述第二响应封包转给客户端;
转发所述业务单元创建的流表消息给所述控制管理单元。


3.根据权利要求2所述的方法,其特征在于,所述基础信息包括:
MAC地址信息、IP信息和/或四层端口号信息。


4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收所述管理控制单元解析所述流表消息后反馈的信息,并创建两条以所述客户端和所述服务器的五元组信息为键值的流表。


5.根据权利要求4所述的方法,其特征在于,所述接收所述管理控制单元解析所述流表消息后反馈的信息,并创建两条以所述客户端和所述服务器的五元组信息为键值的流表之后,所述方法还包括:
接收客户端对指定服务的访问数据,修改目标I...

【专利技术属性】
技术研发人员:齐航常洵传陈鹏
申请(专利权)人:长沙星融元数据技术有限公司
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1