用于分布式多重处理安全网关的系统和方法.pdf

上传人:Y948****062 文档编号:1035708 上传时间:2018-03-27 格式:PDF 页数:22 大小:773.83KB
返回 下载 相关 举报
摘要
申请专利号:

CN200780001807.5

申请日:

2007.06.21

公开号:

CN101495993A

公开日:

2009.07.29

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

G06F15/16

主分类号:

G06F15/16

申请人:

瑞科网信科技有限公司

发明人:

陈 澧; 司徒伟伦

地址:

美国加利福尼亚州

优先权:

2006.8.8 US 11/501,607

专利代理机构:

北京康信知识产权代理有限责任公司

代理人:

余 刚;尚志峰

PDF下载: PDF下载
内容摘要

一种用于分布式多重处理安全网关的系统和方法创建主机侧会话、基于网络信息为服务器选择代理服务器网络地址、以及使用代理服务器网络地址来创建服务器侧会话。选择代理服务器网络地址,以分配同一处理元件处理来自服务器侧会话和主机侧会话的数据包。网络信息包括安全网关网络地址和主机网络地址。通过以这种方式分配处理元件,来提供更高能力的安全网关。

权利要求书

1.  一种用于提供包括多个处理元件的安全网关的方法,包括以下步骤:
(a)创建主机侧会话;
(b)基于网络信息为服务器选择代理服务器网络地址;以及
(c)使用所述代理服务器网络地址来创建服务器侧会话,其中,选择所述代理服务器网络地址,以分配同一处理元件来处理来自所述服务器侧会话和所述主机侧会话的数据包。

2.
  根据权利要求1所述的方法,其中,所述网络信息包括安全网关网络地址和主机网络地址。

3.
  根据权利要求1所述的方法,还包括:
(d)接收来自所述主机侧会话的数据包;
(e)根据所述数据包中的服务器网络地址和主机网络地址来计算所述处理元件的标识;以及
(f)将所述数据包的处理分配给所述处理元件,其中,根据安全策略对所述数据包进行处理。

4.
  根据权利要求3所述的方法,还包括:
(g)接收所处理的数据包;
(h)以所述代理服务器网络地址来代替所述所处理的数据包中的所述主机网络地址;以及
(i)将所述所处理的数据包发送到所述服务器侧会话。

5.
  根据权利要求1所述的方法,还包括:
(d)接收来自所述服务器侧会话的数据包;
(e)根据所述数据包中的服务器网络地址和代理服务器网络地址来计算所述处理元件的标识;以及
(f)将所述数据包的处理分配给所述处理元件,其中,根据安全策略对所述数据包进行处理。

6.
  根据权利要求5所述的方法,还包括:
(g)接收所处理的数据包;
(h)以所述主机网络地址来代替所述所处理的数据包中的所述代理服务器网络地址;以及
(i)将所述所处理的数据包发送到所述主机侧会话。

7.
  根据权利要求1所述的方法,其中,所述选择步骤(b)包括:
(b1)基于主机网络地址选择所述代理服务器网络地址;以及
(b2)通过将所述代理服务器网络地址与数据存储器的地址进行比较来确定所述代理服务器网络地址在现有会话中未被使用。

8.
  一种安全网关,包括:
多个处理元件;
网络地址选择器,用于接收对在主机和服务器之间的会话的会话请求,并用于基于网络信息为所述服务器选择代理服务器网络地址;以及
调度器,用于分配处理元件来处理来自服务器侧会话和主机侧会话的数据包,
其中,通过所述网络地址选择器选择所述代理服务器网络地址,以分配同一处理元件来处理来自所述服务器侧会话和所述主机侧会话的数据包。

9.
  根据权利要求8所述的安全网关,其中,所述网络信息包括安全网关网络地址和主机网络地址。

10.
  根据权利要求8所述的安全网关,其中,所述调度器用于:
接收来自所述主机侧会话的数据包;
根据所述数据包中的服务器网络地址和主机网络地址来计算所述处理元件的标识;以及
将所述数据包的处理分配给所述处理元件,其中,根据安全策略对所述数据包进行处理。

11.
  根据权利要求10所述的安全网关,其中,所述调度器还用于:
接收所处理的数据包;
以所述代理服务器网络地址来代替所述所处理的数据包中的所述主机网络地址;以及
将所述所处理的数据包发送到所述服务器侧会话。

12.
  根据权利要求8所述的安全网关,其中,所述调度器用于:
接收来自所述服务器侧会话的数据包;
根据所述数据包中的服务器网络地址和代理服务器网络地址来计算所述处理元件的标识;以及
将所述数据包的处理分配给所述处理元件,其中,根据安全策略对所述数据包进行处理。

13.
  根据权利要求12所述的安全网关,其中,所述调度器还用于:
接收所处理的数据包;
以所述主机网络地址来代替所述所处理的数据包中的所述代理服务器网络地址;以及
将所述所处理的数据包发送到所述主机侧会话。

14.
  根据权利要求8所述的安全网关,还包括:数据存储器,用于存储现有会话的代理服务器网络地址,其中,所述网络地址选择器通过将所述代理服务器网络地址与所述数据存储器中的地址进行比较来确定所述代理服务器网络地址在现有会话中未被使用,其中,所述网络地址选择器基于主机网络地址来选择所述代理服务器网络地址。

说明书

用于分布式多重处理安全网关的系统和方法
技术领域
本发明大体上涉及数据网络,更具体地,用于分布式多重处理安全网关的系统和方法。
背景技术
随着越来越多的计算机通过数据网络连接并且越来越多的应用程序将数据网络用作它们的功能,数据网络活动性增大。因此,避免数据网络违反安全性变得更加重要。
当前存在许多安全网关,例如,防火墙、VPN防火墙、父母控制应用、电子邮件病毒检测网关、用于网络钓鱼(phishing)和间谍软件(spyware)的专用网关、入侵检测和防护应用、接入控制网关、身份管理网关、以及许多其他类型的安全网关。这些产品通常利用通用微处理器(例如,Intel Pentium、AMD处理器或SPARC处理器)、或者基于诸如MIPS架构、PowerPC架构、或ARM架构的RISC架构的嵌入式微处理器来实现。
微处理器架构在其处理能力方面受到限制。通常它们能够处理达到每秒千兆比特的带宽。在过去几年中,数据网络带宽利用以快于微处理器能力的提高的速度在增加。今天,在许多介质和大的安全公司数据网络中不难见到每秒几千兆比特的数据网络带宽利用。期望提供一种使在包括小型商业数据网络、居民网络和服务提供商数据网络的大多数数据网络中变得更加流行的方案。
增加数据网络使用的趋势显示出了对更好和更高能力的安全网关的需要,特别是在使用多个处理元件中(每个处理元件都是微处理器,或者基于微处理架构),以相互合作地工作来保护数据网络。
发明内容
一种用于分布式多重处理安全网关的系统和方法创建主机侧会话,基于网络信息选择服务器的代理服务器网络地址,以及使用该代理服务器网络地址创建服务器侧会话。选择代理服务器网络地址,以分配相同的处理元件来处理来自服务器侧会话和主机侧会话的数据包。网络信息包括安全网关网络地址和主机网络地址。通过以这种方式分配处理元件,提供了更高能力的安全网关。
附图说明
图1a示出了安全数据网络。
图1b示出了网络地址转换(NAT)处理的概略图。
图1c示出了用于TCP会话的NAT处理。
图2示出了分布式多重处理安全网关。
图3示出了调度处理。
图4示出了代理服务器网络地址选择处理。
具体实施方式
图1a示出了安全数据网络。安全网关170保护安全数据网络199。
在一个实施例中,安全数据网络199是居民数据网络。在一个实施例中,安全数据网络199是企业网络。在一个实施例中,安全数据网络199是区域企业网络。在一个实施例中,安全数据网络199是服务提供商网络。
在一个实施例中,安全网关170是居民宽带网关。在一个实施例中,安全网关170是企业防火墙。在一个实施例中,安全网关170是区域公司防火墙或者部门防火墙。在一个实施例中,安全网络170是企业虚拟专用网络(VPN)防火墙。在一个实施例中,安全网关170是服务提供商网络的互联网网关。
当安全数据网络199中的主机130访问安全数据网络199外的服务器110时,主机130通过安全网关170创建与服务器110的会话。在会话中在主机130和服务器110之间交换的数据包通过安全网关170进行传递。在会话中处理数据包期间,安全网关170应用多个安全策略。安全策略的实例包括网络地址保护、内容过滤、病毒检测和侵袭防护、间谍软件或网络钓鱼阻止、网络入侵或拒绝服务防护、数据流量监控、或者数据流量截取(interception)。
图1b示出了网络地址转换(NAT)处理的概略图。
在一个实施例中,安全策略是保护主机130的网络地址。主机130在主机130和服务器110之间的会话160中使用主机网络地址183。在一个实施例中,主机网络地址183包括主机130的IP地址。在另一实施例中,主机网路地址183包括主机130的会话端口地址。
安全网关170通过不泄露主机网络地址183来保护主机130。当主机130将对会话160的会话请求发送到安全网关170时,会话请求包括主机网络地址183。
安全网关170创建与主机130的主机侧会话169。主机130在会话169中使用主机网络地址183。
安全网关170选择代理服务器网络地址187。安全网关170使用代理服务器网络地址187来创建与服务器110的服务器侧会话165。
服务器侧会话165是在安全网关170与服务器110之间的会话。主机侧会话169是在安全网关170与主机130之间的会话。会话160包括服务器侧会话165和主机侧会话169。
安全网关170对会话160执行网络地址转换(NAT)处理。安全网关170通过以主机网络地址183代替代理服务器网络地址187来对在服务器侧会话165上接收到的数据包执行网络地址转换处理。安全网关170将转换的数据包传输到主机侧会话169上。类似地,安全网关170通过以代理服务器网络地址187代替主机网络地址183来对在主机侧会话169上接收到的数据包执行网络地址转换处理。安全网关170将转换的数据包传输到服务器侧会话165上。
在一个实施例中,会话160是传输控制协议(TCP)会话。在一个实施例中,会话160是用户数据报协议(UDP)会话。在一个实施例中,会话160是网间控制报文协议(ICMP)会话。在一个实施例中,会话160基于在IP协议上的传输会话协议。在一个实施例中,会话160基于在IP协议上的应用会话协议。
图1c示出了用于TCP会话的NAT处理。
主机130发送用于创建与服务器110的会话160的会话请求192。会话160是TCP会话。会话请求192包括主机网络地址183和服务器网络地址184。安全网关170接收会话请求192。安全网关170从会话请求192中提取主机网络地址183。安全网关170确定代理服务器网络地址187。在一个实施例中,主机网络地址183包括主机的IP地址,并且安全网关170确定用代理服务器IP地址来代替主机的IP地址。在一个实施例中,主机网络地址183包括主机的TCP端口号,并且安全网关170确定用代理服务器TCP端口号来代替主机的TCP端口号。安全网关170从会话请求192中提取服务器网络地址184。安全网关170基于服务器网络地址184和代理服务器网络地址187创建与服务器110的服务器侧会话165。服务器侧会话165是TCP会话。
安全网关170还通过响应于会话请求192来创建与主机130的主机侧会话169。
在创建服务器侧会话165和主机侧会话169之后,安全网关170处理来自服务器侧会话165和主机侧会话169的数据包。
在一个实施例中,安全网关170接收来自服务器侧会话165的数据包185。数据包185包括服务器网络地址184和代理服务器网络地址187。安全网关170提取服务器网络地址184和代理服务器网络地址187。安全网关170基于所提取的网络地址来确定主机侧会话169。安全网关170还从主机侧会话169中确定主机网络地址183。安全网关170通过首先以主机网络地址183代替代理服务器网络地址187来更改数据包185。安全网关170更改数据包185的其他部分,例如,TCP校验和、IP报头校验和。在一个实施例中,安全网关170通过以主机网络地址183代替任何使用的代理服务器网络地址187来更改数据包185的有效载荷。
在安全网关170完成更改数据包185之后,安全网关170将更改后的数据包185传输到主机侧会话169上。
以类似的方式,安全网关170接收来自主机侧会话169的数据包188。数据包188包括服务器网络地址184和主机网络地址183。安全网关170提取服务器网络地址184和主机网络地址183。安全网关170基于所提取的网络地址来确定服务器侧会话165。安全网关170还从服务器侧会话165中确定代理服务器网络地址187。安全网关170通过首先以代理服务器网络地址187代替主机网络地址183来更改数据包188。安全网关170更改数据包188的其他部分,例如,TCP校验和、IP报头校验和。在一个实施例中,安全网关170通过以代理服务器网络地址187代替任何使用的主机网络地址183来更改数据包188的有效载荷。
在安全网关170完成更改数据包188之后,安全网关170将更改后的数据包188传输到服务器侧会话165上。
图2示出了分布式多重处理安全网关。
在一个实施例中,安全网关270是分布式多重处理系统。安全网关270包括多个处理元件。处理元件272包括存储模块。存储模块存储主机网络地址、代理服务器网络地址和用于使处理元件272应用图1所描述的安全策略的其他信息。处理元件272具有处理元件标识(identity)273。
安全网关270包括调度器275。调度器275接收数据包并确定处理元件来处理数据包。调度器275通常基于数据包来计算处理元件标识。基于计算出的处理元件标识,安全网关270将数据包分配给所标识的用于进行处理的处理元件。
在一个实施例中,调度器275接收来自主机侧会话269的数据包288,并基于数据包288中的主机网络地址和服务器网络地址来计算第一处理元件标识。在另一实施例中,调度器275接收来自服务器侧会话265的数据包285,并基于数据包285中的代理服务器网络地址和服务器网络地址来计算第二处理元件标识。
安全网关270包括网络地址选择器277。网络地址选择器277基于网络信息选择代理服务器网络地址。网络信息包括在对会话260的会话请求中获得的主机网络地址和安全网关网络地址。还可以使用其他类型的网络信息。代理服务器网络地址被用于创建服务器侧会话265。选择代理服务器网络地址,以使通过调度器275计算出的第一处理元件标识和第二处理元件标识相同。换句话说,分配同一处理元件来处理来自服务器侧会话265的数据包285和来自主机侧会话269的数据包288。
图3示出了调度处理。
调度器375基于从会话360的数据包385中获得的两个网络地址来计算处理元件标识。会话360包括主机侧会话369和服务器侧会话365。主机侧会话369的两个网络地址是服务器网络地址和主机网络地址。服务器侧会话365的两个网络地址是代理服务器网络地址和服务器网络地址。调度器375计算用于主机侧会话369和服务器侧会话365的同一处理元件标识。
在一个实施例中,调度器375基于哈希函数来进行计算。
在一个实施例中,调度器375通过将两个网络地址相加来计算和。在一个实例中,调度器375通过对以二进制数表示的两个网络地址执行二进制计算(例如,异或(XOR)二进制计算、或者与(AND)二进制计算)来计算和。在一个实例中,调度器375通过首先提取两个网络地址的一部分(例如,网络地址的前4位)并将诸如二进制运算的运算应用于所提取的部分来计算和。在一个实例中,调度器375通过首先使两个网络地址与一个数字相乘并将诸如加法的运算应用于该乘积来计算和。
在一个实施例中,调度器375通过处理该和来计算处理元件标识。在一个实施例中,在安全网关370中有4个处理元件。在一个实例中,调度器375提取和的前两位,并将所提取的前两位翻译为0到3之间的一个数字。在一个实例中,调度器375提取和的第一位和最后一位,并将所提取的两位翻译为0到3之间的一个数字。在一个实例中,调度器375将和除以4,并确定该除法的余数。该余数是在0到3之间的数。
在一个实施例中,安全网关370包括8个处理元件。调度器375提取和的3位,并将所提取的三位翻译为0到7之间的一个数字。在一个实例中,调度器375将和除以8,并确定该除法的余数。该余数是0到7之间的数。
在一个实施例中,网络地址包括IP地址和会话端口地址。调度器375计算两个网络地址的IP地址和会话端口地址的和。
尽管上述教导基于上述哈希函数,但是对于本领域技术人员来说,实现用于调度器375的不同哈希函数应当是显而易见的。
图4示出了代理服务器网络地址选择处理。
网络地址选择器477为主机网络地址483选择代理服务器网络地址487。在一个实施例中,主机网络地址483包括主机IP地址484和主机会话端口地址485;代理服务器网络地址487包括代理服务器IP地址488和代理服务器会话端口地址489。选择代理服务器网络地址487,以使调度器475计算对于主机侧会话469和服务器侧会话465的同一处理元件标识。
在一个实施例中,选择处理基于图3所示的调度处理。在一个实例中,调度器475使用计算两个IP地址以及两个会话端口地址的和的方法,然后将和除以4。在一个实施例中,网络地址选择器477首先选择代理服务器IP地址488。然后,网络地址选择器477选择代理服务器会话端口地址489,以使当对服务器网络地址490和主机网络地址483使用该方法时,与当对服务器网络地址490和代理服务器网络地址487使用该方法时一样,调度器475计算同一处理元件标识。
在一个实例中,调度器475根据两个网络地址的二进制运算符XOR来计算和,并提取该和的后3个数字。网络地址选择器477选择后3个数字与主机会话端口地址485的后3个数字相同的代理服务器会话端口地址489。
在一个实施例中,安全网关470执行用于多个现有会话的网络地址转换处理。网络地址选择器477检查所选择的代理服务器网络地址487是否未被用在多个现有会话中。在一个实施例中,安全网关470包括数据存储器(datastore)479。数据存储器479存储用在多个现有对话中的多个代理服务器网络地址。网络地址选择器477通过比较所选择的代理服务器网络地址487与所存储的多个代理服务器网络地址并且没有发现匹配来确定所选择的代理服务器网络地址487未被使用。
在一个实施例中,处理元件包括网络地址选择器。处理元件接收由安全网关基于由调度器计算的处理元件标识所分配的数据包。在一个实施例中,处理元件确定数据包包括会话请求。处理元件中的网络地址选择器基于如图4所示的会话请求中的主机网络地址来选择代理服务器网络地址。
在一个实施例中,特定的第一处理元件包括网络地址选择器。没有网络地址选择器的第二处理元件接收数据包并确定该数据包包括会话请求。第二处理元件使用例如远程函数调用将该数据包发送到第一处理元件。第一处理元件接收该数据包。网络地址选择器基于会话请求中的主机网络地址来选择代理服务器网络地址。
在一个实施例中,在处理元件的存储模块中实现数据存储器。在一个实施例中,在数据存储器中的多个代理服务器网络地址被存储到每个处理元件的每个存储模块中。在一个实施例中,利用在存储在处理元件的存储模块中的由处理元件处理的会话中使用的代理服务器网络地址,以分发的方式将数据存储器中的多个代理服务器网络地址存储到存储模块中。
在一个实施例中,安全网关包括由多个处理元件共享的存储器。安全网关将共享的存储器划分为多个存储区。处理元件对专用存储区进行访问,而不对其他存储区进行访问。
在一个实施例中,安全网关包括中央处理单元。在一个实施例中,中央处理单元包括多个处理线程,例如,超线程、微引擎、或者在诸如特定用途集成电路(ASIC)或现场可编程门阵列(FPGA)的电路中实现的其他处理线程。一个处理元件为一个处理线程。
在一个实施例中,中央处理单元包括多个微处理器核心。一个处理线程为一个微处理器核心。
在一个实施例中,安全策略用于病毒检测或阻止。在一个实施例中,安全策略用于网络钓鱼检测或阻止。在一个实施例中,安全策略用于流量定额强制。在一个实施例中,安全策略用于合法数据截取。
在一个实施例中,NAT处理用于UDP会话。在一个实施例中,安全网关接收UDP包。在一个实施例中,安全网关确定UDP包不是来自现有会话。安全网关将UDP包作为会话请求进行处理。
在一个实施例中,NAT处理用于ICMP会话。以相同的方式,安全网关将来自非现有会话的ICMP包作为会话请求进行处理。

用于分布式多重处理安全网关的系统和方法.pdf_第1页
第1页 / 共22页
用于分布式多重处理安全网关的系统和方法.pdf_第2页
第2页 / 共22页
用于分布式多重处理安全网关的系统和方法.pdf_第3页
第3页 / 共22页
点击查看更多>>
资源描述

《用于分布式多重处理安全网关的系统和方法.pdf》由会员分享,可在线阅读,更多相关《用于分布式多重处理安全网关的系统和方法.pdf(22页珍藏版)》请在专利查询网上搜索。

一种用于分布式多重处理安全网关的系统和方法创建主机侧会话、基于网络信息为服务器选择代理服务器网络地址、以及使用代理服务器网络地址来创建服务器侧会话。选择代理服务器网络地址,以分配同一处理元件处理来自服务器侧会话和主机侧会话的数据包。网络信息包括安全网关网络地址和主机网络地址。通过以这种方式分配处理元件,来提供更高能力的安全网关。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1