CN1976298A - 负载均衡系统及其使用方法 - Google Patents

负载均衡系统及其使用方法 Download PDF

Info

Publication number
CN1976298A
CN1976298A CN200610115995.1A CN200610115995A CN1976298A CN 1976298 A CN1976298 A CN 1976298A CN 200610115995 A CN200610115995 A CN 200610115995A CN 1976298 A CN1976298 A CN 1976298A
Authority
CN
China
Prior art keywords
computer
request
data
response
ssl
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN200610115995.1A
Other languages
English (en)
Inventor
C·K·马丁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1976298A publication Critical patent/CN1976298A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request

Abstract

一种用来路由由第一计算机发送的请求的负载均衡系统,其中所述请求可操作来启动与第二计算机的通信协议,其中所述第二计算机可操作来处理所述请求;并且其中,所述第一计算机包括可操作来将与所述第二计算机相关联的数据插入所述请求的插件。所述系统包括:接收器,用于接收启动请求;以及比较器,用于响应于接收到启动请求而比较所述请求中的数据与存储组件中的数据以便确定路由决定。

Description

负载均衡系统及其使用方法
技术领域
本发明涉及负载均衡系统。
背景技术
逐渐地,因特网作为例如在消费者的客户计算机和厂商的服务器计算机之间的电子事务的媒介而越来越流行。
万维网(WWW)是广域信息检索设施,它提供对海量的可通过网络访问的信息的访问。
参考图1,在万维网(WWW)环境(100)中,客户计算机(105)使用超文本传输协议(HTTP)通过因特网(115)与Web服务器(即,服务器1和服务器2)进行通信。应该理解,服务器1和服务器2也可以是应用服务器。Web服务器使用被称为超文本标记语言(HTML)的标准页描述语言来向用户提供对诸如文本、图形、图像、声音、视频等文件的访问。HTML提供基本的文档格式化,并允许开发人员规定被称为超链接的到其他服务器和文件的连接。在因特网范例中,到Web服务器的网络路径是由具有用来定义网络连接的特殊语法的统一资源定位符(URL)所标识的。
Web浏览器(110)作为在客户计算机(105)上运行的应用,使用户能够通过链接规范(即,HTTP请求)经由URL来访问信息并且在不同的HTML(Web)页之间导航,所述Web浏览器例如Netscape Navigator(Netscape Navigator是Netscape Communications公司的注册商标)或Microsoft Internet Explorer(Microsoft、Windows、Windows NT和Windows徽标都是Microsoft公司在美国或其他国家或以上两者内的商标)。
随着因特网上的活动层级的增加,通过安全信道交换敏感数据的需求同样变得非常重要。安全套接层(SSL)协议是来自NetscapeCommunications公司的用来建立通过因特网进行通信的安全信道的实际标准,藉由该标准,通过利用该信道,数据可在服务器计算机和客户计算机之间被安全发送。后来对安全套接层的增强(被称为传输层安全协议(TLS))也是很通用的。TLS以与SSL类似的方式操作,在此这两种协议都将被称为“SSL”。
SSL协议包括两种子协议,即SSL握手协议和SSL记录协议。SSL握手协议利用SSL记录协议来允许Web服务器计算机和客户计算机在任何数据被传送之前互相验证并协商加密算法和密钥。典型地,客户计算机发送未经加密的启动消息(被称为ClientHello消息)到Web服务器。作为响应,Web服务器发送包括密钥、证书等的ServerHello消息。ServerHello消息包括未经加密的标识符(即,session_id)。
客户计算机和Web服务器可在握手过程中交换若干另外的消息。一旦握手已完成,就建立使用经协商的密钥等来进行加密的SSL连接。
客户计算机和Web服务器当前可通过使用SSL记录协议而在SSL连接上交换应用层数据。SSL记录协议被分层于某种可靠的传输协议(例如传输控制协议(TCP))的顶端,并定义数据传输的格式。在操作中,HTTP请求通过经加密的SSL连接从Web服务器发送到客户计算机。通过SSL连接对HTTP的使用被称为HTTPS。
由于因特网上的通信量,网站典型地由被称为Web场(Web farm)的多个Web服务器所支持。主要的性能挑战是要有效地均衡Web服务器上的负载,由此最小化在系统上获得的平均响应时间。过度利用Web服务器可导致过度的请求延迟。另一方面,不充分利用Web服务器是浪费的。
负载均衡器(120)负责通过网络(125)把请求从客户计算机(105)路由到Web服务器(即,服务器1或服务器2)。典型地,请求可被随机路由到Web服务器。可替换地,请求可基于与Web服务器的状态(例如,Web服务器的能力)相关联的功能而被路由到Web服务器。
通常还想要把HTTP请求从给定的客户计算机路由到Web场内的给定Web服务器(或Web服务器组)。例如,如果特定类型的HTTP请求需要用来处理HTTP请求的特定类型的Web服务器功能,则对于该特定HTTP请求来说想要被路由到包括特定功能的Web服务器。这避免了跨Web服务器复制功能的需求、Web服务器进行合作的需求等。
为了以这种方式路由HTTP请求,负载均衡器需要分析与HTTP请求相关联的数据。对于不安全的HTTP请求,该HTTP请求可在两个不同的层级被检查。
在第一个实例中,包括HTTP请求的一个或更多TCP包可以被检查,通过检查在相关联的TCP头部中包括的数据(例如,源和目的地IP地址和/或端口)以找到TCP包中包括的数据。然而,该数据对于HTTP请求路由的目的来说是不充分的。例如,基于与HTTP头部自身相关联的数据做出路由决定是不可能的,因为该数据没有被包括在TCP头部中。
在第二个实例中,HTTP请求自身可以被检查,以找到包括在HTTP请求中的数据,例如,与目标Web服务器相关联的主机名;与被请求的资源相关联的URI;与特定HTTP头部相关联的数据等等。
对于通过SSL连接发送的HTTP请求(即,HTTPS请求),仅在TCP层起作用的负载均衡器无法读取包括在HTTPS请求中的数据,并因此无法确保基于与HTTPS请求相关联的数据而将给定HTTPS请求引导到目标Web服务器。
从而,尽管负载均衡器能够基于与TCP头部相关联的数据(例如,源或目的地IP地址和/或端口)做出路由决定,但是如果负载均衡器只在TCP层起作用,那么负载均衡器无法基于与HTTPS请求相关联的数据来路由请求。
为了使负载均衡器能够检查HTTPS请求,必须在负载均衡器中终止SSL连接。这允许负载均衡器来检查HTTP请求,并且负载均衡器通过代理将HTTP请求发送到目标Web服务器。即,在负载均衡器中创建HTTPS代理。
应该了解,为了代理请求,HTTP代理创建新的HTTPS请求。即,在HTTPS代理和Web服务器之间创建新的SSL连接,以便发送HTTPS请求到Web服务器。SSL连接还被用来将响应从Web服务器传送到HTTPS代理。接着该响应可从HTTPS代理发送到客户计算机。因此,HTTPS代理对HTTPS请求执行与SSL相关联的加密。
这大大地提高了与处理HTTPS请求相关联的性能负担,因为典型地,需要HTTPS代理具有与Web服务器相关联的处理性能类似的处理性能,因为Web服务器和HTTPS代理两者都将需要为给定请求执行SSL加密/解密。
作为比较,负载均衡器的典型功能是对于包括HTTP请求的TCP包进行路由、重写或执行网络地址翻译。执行简单TCP路由、重写和/或网络地址翻译的负载均衡器不需要与重新建立SSL连接和处理来自Web服务器的响应相关联的大量处理资源。
此外,在负载均衡器终止SSL连接是一种安全风险。这是因为,如果负载均衡器被泄密,或者如果在负载均衡器中解密HTTPS请求之后,该请求通过使用HTTP被发送,而在负载均衡器和目标Web服务器之间的网络(125)被泄密,则在客户计算机和目标Web服务器之间发送的所有数据都被泄密。
此外,对于一应用来说,在负载均衡器中引入HTTPS代理可引入复杂性。这是因为HTTPS代理可能对该应用不透明。例如,绝对HTTP重定向技术不能再被使用。这是因为用于在目标Web服务器上直接访问的内容和用于经由HTTPS代理在目标Web服务器上访问的内容的绝对URL现在是不同的。
当从客户计算机接收到SSL连接请求时,建立得很好的用于提供路由数据的技术被用于维护将SSL会话ID关联于目标Web服务器的表。一旦第一SSL连接被建立,负载均衡器就将HTTP请求路由到目标Web服务器,并将数据存储到将SSL会话ID关联于目标Web服务器的表中。
当客户计算机创建新的TCP连接并请求在随后的SSL连接上恢复现有SSL会话之时,客户计算机可发送SSL会话ID到负载均衡器。负载均衡器读取SSL会话ID(因为该SSL会话ID未被加密)。负载均衡器使用该SSL会话ID作为路由决定的输入(例如,用于HTTPS请求)来查阅所述表。即,负载均衡器比较SSL会话ID和所述表,确定与SSL会话ID相关联的目标Web服务器,并发送HTTPS请求到目标Web服务器。
然而,所述表被限制为,对于给定SSL会话ID,仅基于与第一SSL连接相关联的链接来提供路由数据。
发明内容
根据第一方面,提供了一种用来路由由第一计算机发送的请求的负载均衡系统,其中所述请求可操作来启动与第二计算机的通信协议,其中所述第二计算机可操作来处理所述请求;并且其中,所述第一计算机包括可操作来将与所述第二计算机相关联的数据插入所述请求的插件,所述系统包括:接收器,用于接收启动请求;以及比较器,用于响应于接收到启动请求而比较所述请求中的数据与存储组件中的数据以便确定路由决定。
优选地,所述第一计算机可操作来发送数据到所述接收器。更优选地,响应于所述接收器接收到数据,该数据被存储在存储组件中。
在优选实施例中,响应于建立通信协议,所述第二计算机可操作来发送标识符到所述接收器和所述第一计算机中的至少其一。优选地,响应于接收到所述标识符,与所述标识符和相关联第二计算机相关联的另外的数据被存储到存储组件中。更优选地,所述第一计算机可操作来通过发送包括所述标识符的恢复请求而恢复已建立的通信协议。更优选地,所述比较器响应于接收到所述恢复请求,比较所述恢复请求中的标识符与存储组件中的另外的数据。
根据第二方面,提供了一种用于利用负载均衡系统来路由由第一计算机发送的请求的方法,其中所述请求可操作来启动与第二计算机的通信协议,其中所述第二计算机可操作来处理请求;并且其中,所述第一计算机包括可操作来将与所述第二计算机相关联的数据插入所述请求的插件。所述方法包括以下步骤:由接收器接收启动请求;以及响应于接收到启动请求,比较所述请求中的数据与存储组件中的数据以便确定路由决定。
根据第三方面,提供了一种包括程序代码工具的计算机程序,当所述程序在计算机中运行时,所述程序代码工具适于执行上述方法的所有步骤。
应该理解,任何数据都可被插入请求中。例如,某些现有的密码组数据可从请求中移除,而其余的密码组数据可被插入请求。因此,一旦确定了不存在密码组数据,就可以做出路由决定。
有利地,不需要对Web服务器进行改变。
附图说明
现在将仅通过示例并参考本发明的优选实施例来描述本发明,如以下的附图所说明的:
图1是可实现优选实施例的系统的框图;
图2是可实现优选实施例的图1的系统的更详细的图;
图3是示出了在与负载均衡器相关联的过程中包括的操作步骤的流程图;以及
图4是负载均衡环境中包括的组件和那些组件之间的流程的示意图。
具体实施方式
参考图2,示出了可实现优选实施例的系统(200)的框图。客户计算机(215)包括插件(205)和Web浏览器(210)。客户计算机(215)与负载均衡器(250)通过网络(220)通信。负载均衡器(250)包括接收器(225)、读取器(230)和访问存储组件(240)的比较器(235)。负载均衡器(250)与Web服务器(服务器1和服务器2)通过网络(245)通信。现在将参考HTTP和SSL来描述优选实施例。然而,应该理解,优选实施例可与任意数量的协议一同使用。
参考图3,示出了下述流程图,所述流程图示出了与负载均衡器(250)相关联的过程中包括的操作步骤。客户计算机(215)建立与负载均衡器(250)的TCP连接。客户计算机(215)生成ClientHello消息。ClientHello消息的结构的示例如下所示:
struct{
        ProtocolVersion client_Version;
        Random random;
        SessionID session_id;
        CipherSuite cipher_suites<2..216-1>;
        CompressionMethod compression_methods<1..28-1>}ClientHello;
参考以上结构,字段“client_version”表示正由客户计算机使用的SSL协议的版本。字段“random”表示客户生成的随机结构,例如,对于质询,字段“session_id”表示与SSL连接相关联的SSL会话ID。如果没有可用的SSL ID或者如果新的SSL连接正被客户计算机所请求,则“session_id”为空。
字段“cipher_suites”表示由客户计算机支持的加密选项。优选地,客户计算机(215)包括用于将“伪(dummy)”密码组数据插入“cipher_suites”字段的插入器(205)。所述伪密码组数据与目标Web服务器相关联。优选地,此关联被传送给负载均衡器(250)。
字段“compression_methods”表示由客户计算机支持的压缩方法。
优选地,负载均衡器(250)维护在存储组件(240)中的表,所述表响应于从客户计算机(215)接收到关联而将伪密码组数据和目标Web服务器相关联。
伪密码组数据被用作为做出初始路由决定的输入。伪密码组数据可被映射到多个目标Web服务器。应该理解,与目标Web服务器相关联的数据可被添加到启动消息中的任何其他字段(例如:compression_methods字段)。此外,对于其他类型的启动消息,与目标Web服务器相关联的数据可被添加到唯一的字段中。在此所述表被称为“密码组表”。所述表的表示形式如下所示:
  伪密码组  目标Web服务器
表1
优选地,负载均衡器(250)通过执行上述过程来维护在存储组件(240)中将SSL会话ID和目标Web服务器相关联的表。SSL会话ID仅被映射到一个目标Web服务器,因为只有该目标Web服务器知道如何恢复与该SSL会话ID相关联的SSL连接。因此,一旦SSL连接恢复,SSL会话ID就被用作为做出路由决定的输入。在此所述表被称为“SSL ID表”。
所述表的表示形式示出如下:
 SSL会话ID 目标Web服务器
表2
接收器(225)接收(300)ClientHello消息。负载均衡器(250)包括读取器(230),其读取ClientHello消息以便确定(步骤305)ClientHello消息是否包括SSL会话ID。如果ClientHello消息包括SSL会话ID,则SSL连接已经被建立,并且该ClientHello消息正在请求恢复该连接。
在此情形中,负载均衡器(250)包括比较器(235),其比较(步骤330)SSL会话ID与表2。比较器(235)确定(步骤335)SSL会话ID是否已被发现。
响应于包括SSL会话ID的条目未被发现,负载均衡器(250)确定(步骤310)该ClientHello消息是否包括伪密码组数据(稍后进行描述)。
响应于包括SSL会话ID的条目被发现,负载均衡器(250)根据SSL会话ID来选择(步骤340)服务器。即,读取器(230)读取与相关联目标Web服务器相关联的数据。
如果目标Web服务器不可用(步骤345),则负载均衡器(250)确定(步骤310)ClientHello消息是否包括伪密码组数据(稍后进行描述)。
如果目标Web服务器可用,则负载均衡器将ClientHello消息路由(步骤350)到目标Web服务器。目标Web服务器确定它是否识别出SSL会话ID以及它是否希望重建连接。如果是,则目标Web服务器发送包括未经加密的SSL会话ID的ServerHello消息到负载均衡器(250)。
ServerHello消息的结构的示例如下所示:
struct{
        ProtocolVersion server_version;
        Random random;
        SessionID session_id;
        CipherSuite cipher_suites<2..216-1>;
        CompressionMethod compression_method<1..28-1>
}ServerHello;
参考以上的结构,字段“server_version”表示正由Web服务器使用的SSL协议的版本。字段“random”表示服务器生成的随机结构。字段“session_id”表示与SSL连接相关联的SSL会话ID。字段“cipher_suites”表示由客户计算机所支持和由Web服务器所选择的加密选项。字段“compression_methods”表示由客户计算机所支持和由Web服务器所选择的压缩方法。
负载均衡器(250)发送包括未经加密的SSL会话ID的ServerHello消息到客户计算机(215)。完成握手所需的其余的SSL握手协议消息现在可产生,并且应用层数据(例如,HTTPS请求和响应)现在可被交换。
应该理解,为了负载均衡器根据SSL ID来路由消息,连接必须已经被建立。此外,基于之前当第一个SSL连接被建立时所进行的路由,进行根据SSL ID的路由。
响应于ClientHello消息不包括SSL会话ID或响应于在表2中未发现SSL会话ID或者如果所选择的服务器在步骤345不可用,则读取器(230)读取ClientHello消息,以便确定(步骤310)ClientHello消息是否包括伪密码组数据。
响应于ClientHello消息包括伪密码组数据,比较器(235)比较(步骤315)伪密码组数据和表1。比较器(235)确定(步骤320)伪密码组数据是否已经被发现。
响应于包括伪密码组数据的条目未被发现,过程转到步骤370(稍后进行描述)。
响应于包括伪密码组数据的条目被发现,负载均衡器(250)选择(步骤325)所有与该伪密码组数据相关联的目标Web服务器。即,读取器(230)读取与相关联目标Web服务器相关联的数据。
响应于所有目标Web服务器不可用(步骤355),TCP连接被关闭(360)。
响应于一个或多个所选择的目标Web服务器可用,优选地,负载均衡器使用另外的技术来选择(步骤365)目标服务器。例如,消息被路由到随机服务器;消息基于服务器负载被路由;消息基于TCP数据被路由等等。负载均衡器将ClientHello消息路由(步骤350)到所选择的目标Web服务器。握手过程可以继续,并且一旦握手过程结束,就建立SSL连接并且可以交换应用层数据。
因此,应该理解,当SSL连接将被启动时,伪密码组数据被用作为做出路由决定的输入。当SSL连接将被恢复时,SSL ID被用作为做出路由决定的输入,而如果SSL连接不能被恢复,则伪密码组数据被用作输入。
响应于ClientHello消息不包括伪密码组数据,负载均衡器(250)选择所有服务器(步骤370),并且过程转到步骤355。
现在将参考图4描述第一示例,其中示出了在负载均衡环境中包括的组件和那些组件之间的流程的示意图。在第一示例中,初始ClientHello消息被客户计算机(215)发送,以便建立新的SSL连接(即,之前尚未建立过SSL连接)。
客户计算机(215)生成初始的未经加密的ClientHello消息和将伪密码组数据插入ClientHello消息的插件(205)。在第一示例中,所述消息来自公司(即,XYZ银行),并且所述消息被指向处理来自具有以字母“M-Z”为开头的公司名称的银行的请求的服务器。伪密码组数据是“{0x99,0x99}”,并且目标Web服务器是“服务器1”。优选地,关联被传送到负载均衡器(250)。可替换地,客户计算机(215)和负载均衡器(250)可以协商关联。
以下示出ClientHello消息的示例。应该理解,session_id为空,因为SSL连接以前还未被建立。应该理解,在cipher_suites字段中,呈现了实际密码组数据(即,{0x00,0x0A}{0x00,0x09}),并且呈现了伪密码组数据(即,{0x99,0x99})。
struct{
        ProtocolVersion 3.0;
        Random 1234567890123456789012345678;
        SessionID<empty>;
        CipherSuite{0x00,0x0A}{0x00,0x09}{0x99,0x99};
        compressionMethod<empty>;
}ClientHello;
在步骤400,客户计算机(215)建立与负载均衡器(250)的TCP连接。接着,客户计算机(215)发送(步骤405)ClientHello消息到负载均衡器(250)。响应于接收到ClientHello消息,读取器(230)读取ClientHello消息,以便确定ClientHello消息是否包括SSL ID。在第一示例中,ClientHello消息不包括SSL ID,并因此读取器(230)读取ClientHello消息,以便确定ClientHello消息是否包括伪密码组数据。
响应于ClientHello消息包括伪密码组数据,负载均衡器确定(步骤410)目标Web服务器。即,比较器(235)比较(步骤315)伪密码组数据和密码组表。所述表的表示形式如下所示:
伪密码组  目标Web服务器
{0x99,0x99}  服务器1
表3
比较器(235)确定(步骤320)伪密码组数据是否已被发现。比较器(235)在表3中发现包括伪密码组数据的条目。响应于伪密码组数据被发现,读取器(230)读取与目标Web服务器(即,服务器1)相关联的数据。
服务器1可用,并且负载均衡器(250)建立(步骤415)与服务器1的TCP连接。负载均衡器(250)将ClientHello消息路由(步骤350和420)到服务器1。响应于接收到ClientHello消息,服务器1生成ServerHello消息。ServerHello消息的示例如下所示:
应该理解,SSL会话ID现在被包括在session_id字段中。应该理解,服务器1从由客户计算机(215)呈现的选项中选择密码组。优选地,伪密码组不是由服务器1所选择的,因为优选地,服务器1没有将伪密码组配置为可选择选项。因此,由服务器1从密码组的其余集合中选择密码组。服务器1可选择由客户呈现的加密性最强的密码组,或可使用任何其他策略来选择任何密码组。所选择的密码组为{0x00,0x0A}。
struct{
        ProtocolVersion 3.0;
        Random 1234567890123456789012345678;
        SessionID 12345678901234567890123456789012;
        CipherSuite{0x00,0x0A};
        CompressionMethod<empty>;
}ServerHello;
服务器1发送(步骤425)ServerHello消息到负载均衡器(250)。
响应于接收到ServerHello消息,负载均衡器(250)发送(步骤430)ServerHello消息到客户计算机(215)。可以交换另外的消息,直至握手进程完成(步骤435和440)。当前典型的SSL功能被采用,并且应用层数据可被交换(步骤445和450)。
如上所述,负载均衡器(250)将数据存储到SSL表中。所述表的表示形式如下所示:
  SSL会话ID  目标Web服务器
  12345678901234567890123456789012  服务器1
表4
在连接恢复消息中,客户计算机(215)发送SSL会话ID。连接恢复消息的示例如下所示:
struct{
        ProtocolVersion 3.0;
        Random 0123456789012345678901;
        SessionID 12345678901234567890123456789012;
        CipherSuite{0x00,0x0A}{0x00,0x09}{0x99,0x99};
        CompressionMethod<empty>;
}ClientHello;
因此,在连接恢复上,负载均衡器将连接恢复消息中的SSL会话ID与表4进行比较,以便将连接恢复消息路由到目标Web服务器(即,服务器1),如图3所述。
应该理解,通过添加与路由决定相关联的数据到未经加密的启动消息,数据在通信的最早阶段被提供给负载均衡器。相反地,使用SSL ID作为做出路由决定的输入需要首先建立SSL连接。

Claims (15)

1.一种用来路由由第一计算机发送的请求的负载均衡系统,其中所述请求可操作来启动与第二计算机的通信协议,其中所述第二计算机可操作来处理所述请求;并且其中,所述第一计算机包括可操作来将与所述第二计算机相关联的数据插入所述请求的插件,所述系统包括:
接收器,用于接收启动请求;以及
比较器,用于响应于接收到启动请求而比较所述请求中的数据与存储组件中的数据以便确定路由决定。
2.如权利要求1所述的系统,其中所述第一计算机可操作来发送数据到所述接收器。
3.如权利要求2所述的系统,其中响应于所述接收器接收到数据,该数据被存储在存储组件中。
4.如前述任一权利要求所述的系统,其中响应于建立通信协议,所述第二计算机可操作来发送标识符到所述接收器和所述第一计算机中的至少其一。
5.如权利要求4所述的系统,响应于接收到所述标识符,与所述标识符和相关联第二计算机相关联的另外的数据被存储到存储组件中。
6.如权利要求4或权利要求5所述的系统,其中所述第一计算机可操作来通过发送包括所述标识符的恢复请求而恢复已建立的通信协议。
7.如权利要求6所述的系统,其中所述比较器响应于接收到所述恢复请求,比较所述恢复请求中的标识符与存储组件中的另外的数据。
8.一种用于利用负载均衡系统来路由由第一计算机发送的请求的方法,其中所述请求可操作来启动与第二计算机的通信协议,其中所述第二计算机可操作来处理请求;并且其中,所述第一计算机包括可操作来将与所述第二计算机相关联的数据插入所述请求的插件,所述方法包括以下步骤:
由接收器接收启动请求;以及
响应于接收到启动请求,比较所述请求中的数据与存储组件中的数据以便确定路由决定。
9.如权利要求8所述的方法,还包括以下步骤:由所述第一计算机发送数据到所述接收器。
10.如权利要求9所述的方法,还包括以下步骤:响应于接收到数据的步骤,将该数据存储在存储组件中。
11.如权利要求8至10中任一项所述的方法,还包括以下步骤:响应于建立通信协议,由所述第二计算机发送标识符到所述接收器和所述第一计算机中的至少其一。
12.如权利要求11所述的方法,还包括以下步骤:响应于接收到所述标识符,将与所述标识符和相关联第二计算机相关联的另外的数据存储到存储组件中。
13.如权利要求11或权利要求12所述的方法,还包括以下步骤:由所述第一计算机通过发送包括所述标识符的恢复请求而恢复已建立的通信协议。
14.如权利要求13所述的方法,还包括以下步骤:响应于接收到所述恢复请求,比较所述恢复请求中的标识符与存储组件中的另外的数据。
15.一种包括程序代码工具的计算机程序,当所述程序在计算机中运行时,所述程序代码工具适于执行权利要求8至14中任一项所述的所有步骤。
CN200610115995.1A 2005-11-29 2006-08-22 负载均衡系统及其使用方法 Pending CN1976298A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0524256.5 2005-11-29
GBGB0524256.5A GB0524256D0 (en) 2005-11-29 2005-11-29 A load balancing system

Publications (1)

Publication Number Publication Date
CN1976298A true CN1976298A (zh) 2007-06-06

Family

ID=35601406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610115995.1A Pending CN1976298A (zh) 2005-11-29 2006-08-22 负载均衡系统及其使用方法

Country Status (3)

Country Link
US (1) US20070124477A1 (zh)
CN (1) CN1976298A (zh)
GB (1) GB0524256D0 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101296238B (zh) * 2008-06-17 2011-04-20 杭州华三通信技术有限公司 一种保持安全套接层会话持续性的方法及设备
CN104660592A (zh) * 2015-02-04 2015-05-27 北京信安世纪科技有限公司 一种基于安全套接层协议特征的负载分发方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7925785B2 (en) 2008-06-27 2011-04-12 Microsoft Corporation On-demand capacity management
US8549124B2 (en) * 2009-05-27 2013-10-01 International Business Machines Corporation Network management discovery tool
US9712566B2 (en) * 2012-02-10 2017-07-18 Empire Technology Development Llc Providing session identifiers
US9742676B2 (en) * 2012-06-06 2017-08-22 International Business Machines Corporation Highly available servers
US9602498B2 (en) * 2013-10-17 2017-03-21 Fortinet, Inc. Inline inspection of security protocols
US9917882B2 (en) 2014-11-30 2018-03-13 Sonicwall Inc. Transparent deferred spooling store and forward based on standard network system and client interface
US10313486B2 (en) 2015-01-07 2019-06-04 Sonicwall Inc. Optimizing transfer of fragmented packetized data
US9813526B2 (en) * 2015-05-26 2017-11-07 Sonicwall Inc. Reducing transmission pathway lengths within a distributed network
US10158735B2 (en) 2015-08-07 2018-12-18 Sonicwall Inc. Read-ahead on signed connections with unsigning, inline, transparent proxies
US11063758B1 (en) 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof
CN112416269B (zh) * 2020-11-30 2023-05-16 珠海趣印科技有限公司 一种射频传输信息加密访问方法、装置、电子设备及介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6470389B1 (en) * 1997-03-14 2002-10-22 Lucent Technologies Inc. Hosting a network service on a cluster of servers using a single-address image
US6633544B1 (en) * 1998-06-24 2003-10-14 At&T Corp. Efficient precomputation of quality-of-service routes
US6578066B1 (en) * 1999-09-17 2003-06-10 Alteon Websystems Distributed load-balancing internet servers
US7340532B2 (en) * 2000-03-10 2008-03-04 Akamai Technologies, Inc. Load balancing array packet routing system
US7149803B2 (en) * 2000-06-08 2006-12-12 At&T Corp. Method for content distribution in a network supporting a security protocol
WO2002013479A2 (en) * 2000-08-04 2002-02-14 Avaya Technology Corporation Intelligent demand driven recognition of url objects in connection oriented transactions
US7039048B1 (en) * 2000-09-22 2006-05-02 Terayon Communication Systems, Inc. Headend cherrypicker multiplexer with switched front end
US7289433B1 (en) * 2000-10-24 2007-10-30 Nortel Networks Limited Method and system for providing robust connections in networking applications
US20020199014A1 (en) * 2001-03-26 2002-12-26 Accton Technology Corporation Configurable and high-speed content-aware routing method
US6968389B1 (en) * 2001-07-17 2005-11-22 Cisco Technology, Inc. System and method for qualifying requests in a network
US6832260B2 (en) * 2001-07-26 2004-12-14 International Business Machines Corporation Methods, systems and computer program products for kernel based transaction processing
US7860975B2 (en) * 2002-07-31 2010-12-28 Oracle America, Inc. System and method for secure sticky routing of requests within a server farm

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101296238B (zh) * 2008-06-17 2011-04-20 杭州华三通信技术有限公司 一种保持安全套接层会话持续性的方法及设备
CN104660592A (zh) * 2015-02-04 2015-05-27 北京信安世纪科技有限公司 一种基于安全套接层协议特征的负载分发方法
CN104660592B (zh) * 2015-02-04 2018-02-02 北京信安世纪科技股份有限公司 一种基于安全套接层协议特征的负载分发方法

Also Published As

Publication number Publication date
GB0524256D0 (en) 2006-01-04
US20070124477A1 (en) 2007-05-31

Similar Documents

Publication Publication Date Title
CN1976298A (zh) 负载均衡系统及其使用方法
CN1227858C (zh) 实现对计算机网络中服务的安全访问的系统和方法
US7113948B2 (en) Methods and systems for email attachment distribution and management
KR101700176B1 (ko) 적시의 이메일 임베디드 url 신뢰도 결정
CN101064729A (zh) 通过cdn网络实现ftp下载服务的系统和方法
US20060005237A1 (en) Securing computer network communication using a proxy server
CN1820481A (zh) 在客户机-服务器环境中认证客户机的系统和方法
CN1716851A (zh) 信息处理设备、信息处理方法和存储媒体
CN101069145A (zh) 在提供访问联网内容文件中分配访问控制级的方法和设备
US20110231923A1 (en) Local authentication in proxy ssl tunnels using a client-side proxy agent
CN101076988A (zh) 用于提供授权的远程访问应用程序会话的方法和设备
CN101034977A (zh) 在客户端计算机上施加策略兼容的方法、装置、信号和介质
JP2006526843A (ja) クライアントリダイレクトによるプライベートネットワークへの安全なアクセス提供方法およびシステム
CN101068245A (zh) 共享文件的发布、下载方法及文件共享可控系统
CN1925485A (zh) 数据服务器、数据管理方法和数据管理系统
CN101075875A (zh) 在门户/系统之间实现单点登录的方法及其系统
CN1798037A (zh) 用于处理基于浏览器的应用中的安全问题的多域访问代理
CN1575579A (zh) 选择用于有线和无线设备的安全格式转换
CN1505309A (zh) 安全地处理被用于基于web的资源访问的客户证书
CN1930847A (zh) 用于提供事务级安全的方法和装置
US20080140841A1 (en) Method and apparatus for detecting the IP address of a computer, and location information associated therewith
CN1874226A (zh) 终端接入方法及系统
CN101043522A (zh) 一种基于Web服务器的通信方法及系统
CN1628449A (zh) 传送计费信息的方法、系统和设备
CN1933402A (zh) 数据传输设备和数据传输方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20070606