一种数据传输方法及装置与流程
- 国知局
- 2024-10-21 14:19:46
本技术涉及通信,尤其涉及一种数据传输方法及装置。
背景技术:
1、互联网的快速发展使得多媒体网络服务器面对的访问数量迅速增长,而单个服务器的中央处理器(central processing unit,cpu)和输入/输出(input/output,i/o)资源有限,无法满足大量并发访问的需求。因此目前采用多台服务器组成的集群联合对客户端提供服务。负载均衡技术指的是在应对用户请求服务器的高并发流量时,通过均衡算法将流量分配到集群中不同的服务器上的一种技术。其中,四层(l4)负载均衡技术是一种基于数据包的五元组(源ip地址、目的ip地址、源端口、目的端口和传输层协议)实现的负载均衡技术,工作在osi第四层传输层。l4负载均衡通过在服务器集群之前部署一个负载均衡器(load balancer),由负载均衡器接收来自外部客户端的请求数据包、通过均衡算法确定需要将接收到的请求转发到服务器集群中的具体哪一个服务器,并采用网络隧道协议(比如ip隧道协议和虚拟扩展局域网(virtual extensible local area network,vxlan)协议等)将数据包进行封装后发往确定的服务器中。作为一种示例,参见图1,一种l4负载均衡技术的系统架构示意图。
2、但是,一些服务器并不支持网络隧道协议(比如采用windows系统的服务器),因此无法处理来自负载均衡器的数据包,从而无法响应客户端的请求。若是对所有的不支持网络隧道协议的服务器增加网络隧道协议处理模块,所要耗费的成本较大。因此,对于不支持网络隧道协议的服务器如何采用l4负载均衡技术进行数据传输是一个亟需解决的问题。
技术实现思路
1、本技术提供一种数据传输方法及装置用以解决目前一些服务器不支持网络隧道协议从而无法采用l4负载均衡技术进行数据传输的问题。
2、第一方面,本技术实施例提供了一种数据传输方法,所述方法应用于前端设备,所述前端设备连接服务器集群包括的多个服务器,所述方法包括:
3、接收负载均衡器发送第一请求数据包;所述第一请求数据包为所述负载均衡器采用网络隧道协议对第二请求数据包进行封装得到的,所述第二请求数据包来自客户端;
4、根据所述第一请求数据包的目的ip地址从所述多个服务器中确定目标服务器,并采用网络隧道协议将所述第一请求数据包进行解封装得到所述第二请求数据包;
5、设置所述第二请求数据包的包头中的目的mac地址为所述目标服务器的mac地址,得到第三请求数据包;
6、向所述目标服务器发送所述第三请求数据包。
7、在一些实施例中,所述方法还包括:
8、根据预先存储的ip地址映射关系,确定所述目的ip地址对应的所述目标服务器的ip地址;
9、采用地址解析协议确定所述目标服务器的ip地址对应的所述目标服务器的mac地址。
10、在一些实施例中所述目标服务器为所述负载均衡器采用负载均衡算法从所述服务器集群中确定的用于接收所述第一请求数据包的服务器;所述目的ip地址为所述负载均衡器在判断所述目标服务器不支持网络隧道协议时,从存储的前端设备的多个ip地址中获取的与所述目标服务器对应的ip地址。
11、在一些实施例中,所述负载均衡器中存储有前端设备的多个ip地址与所述前端设备连接的多个服务器的ip地址之间的对应关系,所述目的ip地址为所述负载均衡器根据所述对应关系确定的与所述目标服务器的ip地址对应的前端设备的ip地址。
12、在一些实施例中,所述方法还包括:
13、记录所述目的ip地址与所述目标服务器的mac地址之间的对应关系。
14、在一些实施例中,所述设置所述第二请求数据包的包头中的目的mac地址为所述目标服务器的mac地址,具体包括:
15、判断所述第二请求数据包的包头中是否包括目的mac地址;
16、若所述第二请求数据包的包头中包括目的mac地址,则将所述第二请求数据包的包头中的目的mac地址修改为所述目标服务器的mac地址;
17、若所述第二请求数据包的包头中不包括目的mac地址,则在所述第二请求数据包的包头中增加所述目标服务器的mac地址作为所述第二请求数据包的目的mac地址。
18、在一些实施例中,所述方法还包括:
19、设置所述第二请求数据包的包头中的源mac地址为所述前端设备的mac地址。
20、第二方面,本技术实施例提供了一种数据传输装置,所述装置为前端设备,或者所述装置应用于前端设备,所述装置连接服务器集群包括的多个服务器,所述装置包括:
21、通信单元,用于接收负载均衡器发送第一请求数据包;所述第一请求数据包为所述负载均衡器采用网络隧道协议对第二请求数据包进行封装得到的,所述第二请求数据包来自客户端;
22、处理单元,用于根据所述第一请求数据包的目的ip地址从所述多个服务器中确定目标服务器,并采用网络隧道协议将所述第一请求数据包进行解封装得到所述第二请求数据包;
23、所述处理单元,还用于设置所述第二请求数据包的包头中的目的mac地址为所述目标服务器的mac地址,得到第三请求数据包;
24、所述通信单元,还用于向所述目标服务器发送所述第三请求数据包。
25、在一些实施例中,所述处理单元,还用于:
26、根据预先存储的ip地址映射关系,确定所述目的ip地址对应的所述目标服务器的ip地址;
27、采用地址解析协议确定所述目标服务器的ip地址对应的所述目标服务器的mac地址。
28、在一些实施例中,所述目标服务器为所述负载均衡器采用负载均衡算法从所述服务器集群中确定的用于接收所述第一请求数据包的服务器;所述目的ip地址为所述负载均衡器在判断所述目标服务器不支持网络隧道协议时,从存储的前端设备的多个ip地址中获取的与所述目标服务器对应的ip地址。
29、在一些实施例中,所述负载均衡器中存储有前端设备的多个ip地址与所述前端设备连接的多个服务器的ip地址之间的对应关系,所述目的ip地址为所述负载均衡器根据所述对应关系确定的与所述目标服务器的ip地址对应的前端设备的ip地址。
30、在一些实施例中,所述处理单元,还用于:
31、记录所述目的ip地址与所述目标服务器的mac地址之间的对应关系。
32、在一些实施例中,所述处理单元,具体用于:
33、判断所述第二请求数据包的包头中是否包括目的mac地址;
34、若所述第二请求数据包的包头中包括目的mac地址,则将所述第二请求数据包的包头中的目的mac地址修改为所述目标服务器的mac地址;
35、若所述第二请求数据包的包头中不包括目的mac地址,则在所述第二请求数据包的包头中增加所述目标服务器的mac地址作为所述第二请求数据包的目的mac地址。
36、在一些实施例中,所述处理单元,还用于:
37、设置所述第二请求数据包的包头中的源mac地址为所述前端设备的mac地址。
38、第三方面,提供了一种电子设备,所述电子设备包括控制器和存储器。存储器用于存储计算机执行指令,控制器执行存储器中的计算机执行指令以利用控制器中的硬件资源执行第一方面任一种可能实现的方法的操作步骤。
39、第四方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
40、本技术提出在服务器集群之前部署前端设备,由前端设备作为服务器集群和负载均衡器之间的桥梁,前端设备可以采用网络隧道协议对来自负载均衡器的报文进行处理并转发给服务器,从而服务器可以直接采用标准的互联网协议处理报文即可。本技术的方案解决了现有的一些服务器无法支持网络隧道协议的问题,并且无需将负载均衡器与服务器部署到同一局域网中,提升了服务器部署的灵活性。
本文地址:https://www.jishuxx.com/zhuanli/20241021/317746.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表