网络服务器之间的负载平衡的制作方法

文档序号:7553583阅读:135来源:国知局
专利名称:网络服务器之间的负载平衡的制作方法
技术领域
本发明涉及在网络服务器之间实现负载平衡的方法和设备。此类网络服务器可以是连接到内部IPv6网络的web服务器,内部网络又连接到外部IPv4或IPv6网络。
背景技术
负载平衡是用于在执行相同或类似功能的网络服务器之间有效分布业务以便无单独服务器负担过重并且在业务活动突然波动的情况下网络性能能够应付的技术。负载平衡可例如用于处理对特定网站的HTTP请求。如果只有一个web服务器响应对该网站的所有进入的HTTP请求,则一旦该网站变得受欢迎,web服务器的容量便可能不能处理大容量的进入业务。网站的页面将加载缓慢,并且一些用户将不得不等待至web服务器有空以便处理其请求。为实现web服务器可伸缩性,能够添加更多服务器以在服务器的组之间分布负载。服务器的此类组有时称为“服务器群集”。负载平衡能够应用到许多不同类型的服务器(包括应用服务器和数据库服务器)。当前负载平衡解决方案基于连接到一般是IPv4网络的内部网络的网络服务器。内部网络又连接到某一负载平衡设备,该设备又直接或间接连接到外部网络(同样地,外部网络一般是IPv4网络)。外部网络可以是公共网络,如因特网,或诸如电信服务提供商的骨干网络等私有网络。负载平衡可在应用层上被运行,其中会话一旦建立便在相同群集服务器得到维护。分组报头的深度分组检查(DPI)由负载平衡设备(或相关联DPI设备)来执行。例如,HTTP请求到达服务器负载平衡器时,在将分组转发到分配的群集服务器之前,使用DPI检查分组,并且改写目的地IP和端口号。负载平衡的此 已知方案的缺点包括:
在IPv与IPv6之间没有共同负载平衡系统,即,根据外部网络为IPv4或IPv6,采用不同方案;
外部和内部网络均为IPv4的情况下,IPv4到IPv4网络地址转换要求在IP和TCP/m)P端口级别的状态绑定。负载平衡的备选方案是依赖维护对应于群集的相应服务器的IP地址的集合的域名系统(DNS)服务器。客户端请求来自DNS的IP地址时,例如对于HTTP请求,DNS服务器使用DNS记录中存储的IP地址的集合中的公共IP地址,发送DNS响应。DNS服务器例如在循环的基础上选择群集服务器IP地址之一,并且将此地址返回到客户端。使用选择的IP地址作为目的地地址,客户端将HTTP请求继续发送到服务器网络。

发明内容
本发明的目的是简化在负载平衡服务器IP分组报头的处理,并且具体而言降低用于此类处理的计算开销。本发明还有的目的是提供用于在负载平衡服务器处理进入的分组的方法和设备,并且这最小化了映射和转换数据到分组报头中的需要。
根据本发明的第一方面,提供了一种用于在连接到内部IPv6网络的网络服务器之间执行负载平衡的设备。该设备包括耦合到外部IPv4或IPv6网络以接收跨外部网络发送的分组的第一接口和耦合到所述第一接口的IP分组创建器。此IP分组创建器配置成为在该接口的每个接收的分组选择要分配到该分组的网络服务器或者识别已经分配的网络服务器。IP分组创建器还配置成创建对应IPv6分组以用于通过所述内部网络到选择或识别的网络服务器的传送,包括执行以下任务:
(a)在IPv6分组报头的源IP地址字段中包括该接收的分组的源IP地址,
(b)在IPv6分组报头的目的地IP地址字段中包括该接收的分组的目的地IP地址字段的至少一部分,以及
(c)将选择或识别的网络服务器的地址包括到IPv6分组报头的目的地IP地址字段中, 该设备还包括耦合到所述内部IPv6网络的第二接口以用于跨内部网络向相应选择或
识别的网络服务器传送创建的IPv6分组。在外部网络是IPv6网络的情况下,IP分组创建器的任务相对简单。它只需将IPv6目的地地址的某些比特(例如,最低有效16比特)改写成选择或识别的网络服务器的地址。在外部网络是IPv4网络的情况下,虽然某些比特必须插入IPv4报头中以生成IPv6报头,但与例如对于深度分组检查的现有技术要求相比,该过程仍然是计算上高效的。根据本发明的第二方面,提供了一种用于在连接到内部IPv6网络的网络服务器之间执行负载平衡的方法。该方法包括接收跨外部IPv4或IPv6网络发送的分组,并且对于每个接收的分组,选择要分配到该分组的网络服务器或者识别已经分配的网络服务器。通过执行以下步骤,创建对应的IPv6分组以用于通过所述内部网络到选择或识别的网络服务器的传送:
(a)在IPv6分组报头的源IP地址字段中包括该接收的分组的源IP地址,
(b)在IPv6分组报头的目的地IP地址字段中包括该接收的分组的目的地IP地址字段的至少一部分,以及
(c)将选择或识别的网络服务器的地址包括到IPv6分组报头的目的地IP地址字段中。随后,跨内部网络将创建的IPv6分组向相应选择或识别的网络服务器传送。


图1示意示出简单的负载平衡情形,其中,跨网络服务器的集合或群集使来自客户端的业务实现负载平衡;
图2示意示出将负载平衡选择考虑在内的用于将IPv4报头变换成IPv6报头的过程;图3示意示出用于将从负载平衡服务器接收的响应分组从IPv6格式变换成IPv4格式的过程;
图4示意示出配置成实现图2的过程的负载平衡服务器;以及 图5是进一步示出图2的过程的流程图。
具体实施例方式此处陈述了负载平衡的方案,该方案依赖在网络服务器的组(服务器“群集”)连接到的内部网络内IPv6地址的使用。IPv6地址空间明显非常大,并且此事实被用于允许内部IPv6地址输送除了仅跨网络路由分组所要求的信息以外的信息。在下述内容中,假设这些服务器是web服务器,但该方案同样适用于其它网络服务器类型,包括数据库服务器、文件服务器等。先考虑图1所示的情况,其中,附接到外部IPv4网络2的客户端I寻求访问web服务提供商提供的服务。服务提供商维护主管相同或类似服务并且连接到内部IPv6网络4的web服务器3的群集。这可能只是信息服务,例如,在线报纸、在线银行服务等。内部和外部网络通过包括网络地址转换器(NAT)的负载平衡服务器(或可能交换器或路由器)互连。NAT可形成防火墙的一部分。在第一实例中,客户端可能使用该服务器的公共IPv4地址作为目的地地址(DA),经外部网络将HTTP请求发送到负载平衡服务器。客户端在分组中将其自己的IPv4地址包括作为源地址(SA)以及包括源端口(SP)和目的地端口(DP)号。IPv4分组结构在图2的上部分中示出,示为“客户端IPv4->IPv4外部LB/ΝΑΤ”。负载平衡服务器5不在分组上执行深度分组检查(DPI),而是使用IPv4分组报头数据构建IPv6分组报头以供内部使用。此过程在图2的下部分中示 出,其中,构建的IPv6分组示为“LB/ΝΑΤ-〉服务器内部IPv6”。图2中的箭头用于表示IPv4报头的部分到IPv6报头的映射。IPv6报头包括以下组成部分:
权利要求
1.一种用于在连接到内部IPv6网络的网络服务器之间执行负载平衡的设备,所述设备包括: 第一接口,耦合到外部IPv4或IPv6网络以用于接收跨所述外部网络发送的分组;以及 IP分组创建器,耦合到所述第一接口并且为在该接口的每个接收的分组配置成: 选择要分配到该分组的网络服务器,或者识别已经分配的网络服务器, 创建对应IPv6分组以用于通过所述内部网络到所选择或识别的网络服务器的传送,所述IP分组创建器配置成 在所述IPv6分组报头的源IP地址字段中包括该接收的分组的源IP地址, 在所述IPv6分组报头的目的地IP地址字段中包括该接收的分组的目的地IP地址字段的至少一部分,以及 将所选择或识别的网络服务器的地址包括到所述IPv6分组报头的目的地IP地址字段中, 所述设备还包括耦合到所述内部IPv6网络的第二接口以用于跨所述内部网络向相应选择或识别的网络服务器传送创建的IPv6分组。
2.如权利要求1所述的设备,其中所述网络服务器地址是16比特地址,并且此地址被包括作为所述IPv6分组报头的目的地IP地址字段的第112到127比特。
3.如权利要求1或2所述的设备,其中所述IP分组创建器配置成将该接收的分组的目的地端口号包括到所述IPv6分组报头的目的地IP地址字段中。
4.如权利要求3所述的设备,其中所述目的地端口号被包括作为所述IPv6分组报头的目的地IP地址字段的第96到111比特。
5.如前面权利要求任一项所述的设备,其中在所述外部网络是IPv6网络的情况下,所述IP分组创建器配置成通过将该接收的IPv6分组报头的目的地IP地址字段的一部分改写成所选择或识别的网络服务器的地址来创建所述对应IPv6分组。
6.如权利要求1到4的任一项所述的设备,其中在所述外部网络是IPv4网络的情况下,所述IP分组创建器配置成通过向IPv4分组的报头数据中: 在所述IPv4源地址的前面插入所述内部网络的IPv6 /64源地址;以及 在所述IPv4目的地地址的前面插入所述内部网络的IPv6 /64目的地地址, 而创建所述对应IPv6分组报头。
7.如权利要求6所述的设备,所述IP分组创建器还配置成向所述IPv4分组报头数据中: 在所述IPv4源地址后插入该接收的分组的源端口号;以及 在所述IPv4目的地地址后插入该接收的分组的目的地端口号。
8.如权利要求7所述的设备,所述IP分组创建器还配置成在所述插入的目的地端口号之后将所选择或识别的网络服务器的所述地址插入所述IPv4分组报头数据中。
9.如权利要求6或7所述的设备,所述IP分组创建器配置成在所述插入的源端口号之后将16个填充比特的集合插入到所述报头中。
10.如前面权利要求任一项所述的设备,其中所述IP分组创建器在创建所述IPv6分组以用于通过所述内部网络的传送时保持该接收的分组报头的源和目的地端口号字段不变。
11.如前面权利要求的任一项所述的设备,所述设备配置成作为网络地址转换器NAT来操作。
12.一种在连接到内部IPv6网络的网络服务器之间执行负载平衡的方法,所述方法包括: 接收跨外部IPv4或IPv6网络发送的分组; 对于每个接收的分组, 选择要分配到该分组的网络服务器或者识别已经分配的网络服务器, 通过以下操作来创建对应的IPv6分组以用于通过所述内部网络到所选择或识别的网络服务器的传送: 在所述IPv6分组报头的源IP地址字段中包括该接收的分组的源IP地址, 在所述IPv6分组报头的目的地IP地址字段中包括该接收的分组的目的地IP地址字段的至少一部分,以及 将所选择或识别的网络服务器的地址包括到所述IPv6分组报头的目的地IP地址字段中,` 跨所述内部网络将创建的IPv6分组向相应选择或识别的网络服务器传送。
13.如权利要求12所述的方法,其中所述网络服务器地址是16比特地址,并且此地址被包括作为所述IPv6分组报头的目的地IP地址字段的第112到127比特。
14.如权利要求12或13所述的方法,并且包括将该接收的分组的目的地端口号包括到所述IPv6分组报头的目的地IP地址字段中。
15.如权利要求14所述的方法,其中所述目的地端口号被包括作为所述IPv6分组报头的目的地IP地址字段的第96到111比特。
16.如权利要求12到15的任一项所述的方法,其中在所述外部网络是IPv6网络的情况下,所述方法包括通过将该接收的IPv6分组报头的目的地IP地址字段的一部分改写成所选择或识别的网络服务器的地址来创建所述对应IPv6分组。
17.如权利要求12到15的任一项所述的方法,其中在所述外部网络是IPv4网络的情况下,所述方法包括通过向IPv4分组的报头数据中: 在所述IPv4源地址的前面插入所述内部网络的IPv6 /64源地址;以及 在所述IPv4目的地地址的前面插入所述内部网络的IPv6 /64目的地地址, 而创建所述对应IPv6分组。
18.如权利要求17所述的方法,并且包括向所述IPv4分组报头数据中: 在所述IPv4源地址后插入该接收的分组的源端口号;以及 在所述IPv4目的地地址后插入该接收的分组的目的地端口号。
19.如权利要求18所述的方法,并且包括在所述插入的目的地端口号之后将所选择或识别的网络服务器的所述地址插入所述IPv4分组报头数据中。
20.如权利要求17或18所述的方法,并且包括在所述插入的源端口号之后插入16个填充比特的集合到所述报头数据中。
21.如权利要求12到20的任一项所述的方法,其中在创建所述IPv6分组以用于通过所述内部网络的传送时,该接收的分组报头的源和目的地端口号字段保持不变。
全文摘要
本发明描述了用于在连接到内部IPv6网络的网络服务器之间执行负载平衡的设备。该设备包括耦合到外部IPv4或IPv6网络以用于接收跨外部网络发送的分组的第一接口和耦合到所述第一接口的IP分组创建器。此IP分组创建器配置成为在该接口的每个接收的分组选择要分配到该分组的网络服务器或者识别已经分配的网络服务器。IP分组创建器还配置成创建对应IPv6分组以用于通过所述内部网络到选择或识别的网络服务器的传送,包括执行以下任务(a)在IPv6分组报头的源IP地址字段中包括该接收的分组的源IP地址,(b)在IPv6分组报头的目的地IP地址字段中包括该接收的分组的目的地IP地址字段的至少一部分,以及(c)将选择或识别的网络服务器的地址包括到IPv6分组报头的目的地IP地址字段中。该设备还包括耦合到所述内部IPv6网络的第二接口以用于跨内部网络向相应选择或识别的网络服务器传送创建的IPv6分组。
文档编号H04L29/06GK103119903SQ201080069371
公开日2013年5月22日 申请日期2010年9月30日 优先权日2010年9月30日
发明者T.泰尼, C.戈塔雷, J.克尔希, A.维林 申请人:瑞典爱立信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1