[发明专利]动态切换数据包的转发方式的方法和设备有效
申请号: | 201310048043.2 | 申请日: | 2013-02-06 |
公开(公告)号: | CN103973584B | 公开(公告)日: | 2017-10-24 |
发明(设计)人: | 王倩;唐猛;陈波;程文平 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L12/803 | 分类号: | H04L12/803;H04L29/06 |
代理公司: | 北京国昊天诚知识产权代理有限公司11315 | 代理人: | 许志勇 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 动态 切换 数据包 转发 方式 方法 设备 | ||
技术领域
本申请涉及计算机通信领域,尤其涉及基于虚拟服务器的负载均衡技术,更具体地涉及动态切换数据包的转发方式的方法和设备。
背景技术
这里的内容尽管是在背景技术标题下阐述的,但是其中也包含了本发明人的发现和构思,所以不应被完全视为现有技术。
随着互联网的迅猛发展,用户访问量和数据流量快速增长,计算机网络的处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。在这样的情况下,如果扔掉现有设备去做大量的硬件升级,这样将造成现有资源的浪费,而且如果再面临下一次业务量的提升时,这又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量增长的需求。
于是出现了负载均衡技术,将负载(用户访问量和数据流量)分摊到多个后端服务器上进行执行,从而共同完成工作任务,这样可以大大提高系统容量和灵活地调整系统容量。目前常用的负载均衡技术之一是基于虚拟服务器实现的,诸如LVS(Linux虚拟服务器),其中将多个后端服务器集成为一个虚拟服务器,实现对多个后端服务器的数据包流量转发和负载均衡。
然而,在上述负载均衡过程中同样受到同步泛洪攻击的威胁。同步泛洪攻击(SYN Flood)是一种常见的针对TCP(Transmission Control Protocol,传输控制协议)连接的黑客攻击手段,其利用IPv4(Internet Protocol version4,网际协议版本4)中TCP协议的三次握手过程发起攻击。TCP协议规定,一端向另一端发起TCP连接时,需要首先发送同步(SYN)数据包到对方,对方收到后发送一个同步/确认(SYN/ACK)数据包回来,发起方再发送确认(ACK)数据包回去。这样三次握手结束。其中在服务器端收到同步数据包时,在发送同步/确认数据包回客户端前,服务器端会先分配好一个数据区专门服务于这个即将形成的TCP连接。一般把收到同步数据包而未收到确认数据包时的连接状态称为半连接状态。
在最常见的同步泛洪攻击中,攻击者在短时间内发送大量的同步数据包给服务器端。只要这些同步数据包具有不同的源地址(这一点对于攻击者来说是很容易伪造的),根据上面的描述可知,服务器就会为每个同步数据包分配一个特定的数据区。这将给服务器系统造成很大的系统负担,最终导致系统不能正常工作。
目前在基于LVS的负载均衡中,作为防御同步泛洪攻击的一种方案,通常执行同步代理(SYN Proxy)操作,同时配合使用全网络地址转换(Full NAT)的转发方式进行数据包转发。
SYN Proxy是基于同步cookie(SYN cookie)机制,在服务器收到同步数据包并返回同步/确认数据包时,不分配专门的数据区供建立连接使用,而是根据同步数据包计算出一个cookie值。在收到确认数据包时,服务器再根据这个cookie值验证数据包的合法性。如果合法,才会建立数据区来处理未来的TCP连接。
在Full NAT转发方式中,发往LVS的数据包的源地址和目的地地址都将被替换,源地址被替换成LVS网卡接口上配置的本地地址,目的地地址被替换成后端服务器的地址,然后转发给后端服务器。后端服务器应答的数据包也会发回给LVS,这时LVS再将应答数据包的源地址替换成虚拟服务的地址,并将目的地地址替换成客户端的地址,再回传给客户端。
然而,在现有Full NAT和SYN Proxy的防御方式下,一旦配置,就会对所有的访问数据流都生效,并且需要访问的入流量和出流量都经过LVS。如此,在没有发生同步泛洪攻击时,LVS的一部分计算资源就浪费在对正常访问请求的多余处理上。另外,由于双向流量都经过LVS,LVS的诸如CPU、带宽等的物理资源都要被双向流量所共享,因而降低了LVS的吞吐量。
因此,期望一种能够在防御同步泛洪攻击的同时最大化地利用LVS的资源的技术。
发明内容
如上所述,在目前基于LVS的负载均衡方案中,可以执行SYN Proxy操作,同时配合采用Full NAT转发方式进行数据包转发,从而成功防御同步泛洪攻击。但是,由于LVS会对所有新建连接都进行SYN cookie的校验,因此,每个新建连接都会有一次多余的数据包来回(即防御操作);同时由于SYN Proxy机制的原理导致,在进行转发之前,需要在LVS上对所有入流量和出流量的数据包做序列号的映射,也就是,需要访问的入流量和出流量都经过LVS才能成功防御。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310048043.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种单相和三相交流斩控调压补偿式交流稳压电源
- 下一篇:即时通信方法及装置