访问请求的三角转发方法和glb服务器的制作方法

文档序号:7696009阅读:227来源:国知局
专利名称:访问请求的三角转发方法和glb服务器的制作方法
技术领域
本发明涉及网络通信技术,特别涉及一种访问请求的三角转发方法和全 局负载均衡(GLB, Global Load Balance )服务器。
背景技术
随着网络技术的不断发展和各种业务的不断扩大,运营商通常在不同物 理位置设置具有相同域名的数据中心,以便在单个数据中心发生故障时,用 户仍可以通过访问其它数据中心而保障业务的正常进行,并且,使得处于不 同物理位置的用户能够通过访问最近的站点而获得最优的访问速度。其中,处于相同物理位置的一个或多个数据中心对应一个GLB服务器, GLB服务器负责将接收到的来自用户的访问请求发送给最优的数据中心。 用户可以通过域名或者IP地址进行对数据中心的访问,如图1所示,如果 通过域名访问数据中心,则大致过程可以为用户通过客户端发送包含域名 www.datacenter.com的解析请求给IP网络中的域名服务器(DNS) , IP网 络中的DNS可以是不同网络架构的,例如,可以包含本地DNS、才艮DNS、 权威DNS等;如果其中某个DNS能够对该域名进行解析,即获取该域名对 应的数据中心的GLB服务器的IP地址,则将该解析出的IP地址回复给客 户端;客户端根据获取的该IP地址发送访问请求,假如该IP地址为GLB 服务器a的IP地址,则GLB服务器a接收到该访问请求后,在具有相同域 名的所有数据中心之间进行全局负载均衡,从而确定最优的数据中心,如果 自身对应的数据中心a是最优的数据中心,则将该访问请求发送给数据中心 a允许用户对数据中心a进行访问,否则,将访问请求发送给最优的数据中 心对应的GLB服务器,假如确定距离客户端最近的数据中心b为最优的数据中心,则GLB服务器a并将该访问请求发送给GLB服务器b; GLB服务 器b确定最优的数据中心为数据中心b后,将该访问请求发送给数据中心b, 数据中心b通过GLB服务器b向客户端回复请求应答。该过程称为三角转 发,是现有技术中较优的一种实现方式。在上述过程中,由于客户端发送的访问请求的源地址为客户端的IP地 址,目的地址为GLB服务器a的IP地址,因此,需要保证接收到的请求应 答的源地址为GLB服务器a的IP地址,目的地址为客户端的IP地址时, 才能够保证客户端正确接收,如果请求应答的源地址和访问请求的目的地址 不一致,客户端会丢弃该请求应答报文,导致客户端不能够正常访问数据中针对上述问题,GLB服务器b需要在接收访问请求时获取GLB服务器 a的IP地址和客户端的IP地址,目前已有的解决方式主要有两种 一种是 通过配置专用的IP地址的方式,即为GLB服务器配置多个IP地址,每个 IP地址专用于与特定的GLB服务器通信,例如,为GLB服务器b配置一个 专用的IP地址与GLB服务器a进行通信,GLB服务器a接收到访问请求后, 将该访问请求的目的地址修改为GLB服务器b的该专用IP地址发送给GLB 服务器b,GLB服务器b中保存有该专用IP地址和GLB服务器a的IP地址 之间的对应关系,GLB服务器b接收到通过该专用IP地址发送来的访问请 求,便可以获知GLB服务器a的IP地址,并从访问请求的源地址可以获知 客户端的IP地址。但是,这种方式需要另外对每个GLB服务器配置多个IP 地址,由于公网地址有限,因此,该方法在预设GLB服务器的专用IP地址 时实现十分麻烦,实用性较低。另一种方式是通过隧道转发的方式,GLB 服务器之间通过专用的隧道进行访问请求的转发,例如,GLB服务器a和 GLB服务器b之间通过专用的隧道发送访问请求,GLB服务器b可以通过 该专用隧道可以获取GLB服务器a的IP地址。由于在隧道两端需要对访问 请求进行封装和解封装,实现起来比较麻烦,降低了报文的转发性能。发明内容有鉴于此,本发明提供了 一种访问请求的三角转发方法和GLB服务器, 以便于更加简单地实现用户对最优数据中心的访问。一种访问请求的三角转发方法,该方法包括第一全局负载均衡GLB服务 器接收到访问请求后,利用全局负载均衡策略确定最优的数据中心;如果该第 一 GLB服务器对应的数据中心不是最优的数据中心,则将该访问请求的目的地 址替换为最优的数据中心对应的第二 GLB服务器的IP地址,并在该访问请求 中携带第一 GLB服务器的信息后,将该访问请求发送给第二 GLB服务器;第二 GLB服务器接收到该访问请求后,利用其中包含的所述第一 GLB服 务器的信息获取第一 GLB服务器的IP地址,并将该访问请求发送给最优的数 据中心;接收到所述最优的数据中心返回的请求应答后,将该请求应答的源地 址替换为第一 GLB服务器的IP地址后进行发送。一种GLB服务器,该GLB服务器包括接收识别单元、策略执行单元、 第一报文处理单元和第二报文处理单元;所述接收识别单元,用于对接收到的访问请求进行识别,如果该访问请求 中没有其它GLB服务器的信息,则将该访问请求发送给所述策略执行单元;如 果该访问请求中携带其它GLB服务器的信息,则将该访问请求发送给第二报文 处理单元;所述策略执行单元,用于根据所述访问请求,利用全局负载均衡策略确定 最优的数据中心,如果该GLB服务器对应的数据中心不是最优的数据中心,则 将该访问请求发送给第 一报文处理单元;所述第一报文处理单元,用于将所述访问请求的目的地址替换为最优的数 据中心对应的GLB服务器的IP地址,并在该访问请求中携带该GLB服务器的 信息后,发送给最优的数据中心对应的GLB服务器;所述第二报文处理单元,用于利用所述接收识别单元发送的访问请求中 携带的GLB服务器的信息,获取该信息对应的GLB服务器的IP地址,并将该访问请求发送给最优的数据中心;接收到最优的数据中心返回的请求应 答后,将该请求应答的源地址替换为该第二报文处理单元获取的GLB服务 器的IP地址后进行发送。由以上技术方案可以看出,在本发明提供的方法和GLB服务器中,第 一 GLB服务器接收到访问请求后,如果利用全局负载均衡策略确定的最优 数据中心不是自身对应的数据中心,则将该访问请求的目的地址替换为最优 的数据中心对应的第二GLB服务器的IP地址,并在该访问请求中携带第一 GLB服务器的信息后发送,以便第二 GLB服务器在接收到该访问请求后能 够获取第一GLB服务器的1P地址,并在向客户端回复请求应答时,将第一 GLB服务器的IP地址作为请求应答的源地址。从而实现客户端能够正确接 收该请求应答保证正常访问数据中心,并且,本发明无需占用额外的公网地 址,也无需对报文进行额外的封装和解封装,实现更加简单。


图1为用户访问数据中心的网络架构图; 图2为本发明实施例提供的方法流程图; 图3为现有技术中IP报文头的选项字段格式示意图; 图4为本发明实施例提供的利用路由选项字段携带GLB服务器a的IP 地址的示意图;图5为本发明实施例提供的利用预留选项字段携带GLB服务器a的IP 地址的示意图;图6为本发明实施例提供的利用路由选项字段携带多个IP地址的示意图;图7为本发明实施例提供的GLB服务器结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明提供的方法主要包括第一 GLB服务器接收到访问请求后,在 具有相同域名的数据中心之间进行全局负载均衡,确定最优的数据中心;如 果该第一 GLB服务器对应的数据中心不是最优的数据中心,则将该访问请 求的目的地址替换为最优的数据中心对应的第二GLB服务器的IP地址,并 在该访问请求中携带该第一 GLB服务器的信息后,将该访问请求发送给第 二 GLB服务器;第二 GLB服务器利用接收到的访问请求获取第一 GLB服 务器的IP地址,并将该访问请求发送给最优的数据中心,接收到最优的数 据中心返回的请求应答后,将该请求应答的源地址替换为第一 GLB服务器 的IP地址后进行发送。下面仍以图1所示的架构为例,对上述方法进行详细描述。图2为本发 明实施例提供的方法流程图,如图2所示,该方法可以包括以下步骤步骤201: GLB服务器a接收到客户端发送来的访问请求后,在具有相 同域名的数据中心之间进行全局负载均衡,确定最优的数据中心。如果客户端采用域名方式进行访问,则在步骤201之前还包括从DNS 获取解析结果,即GLB服务器a的地址的IP地址的操作,然后,客户端根 据DNS返回的IP地址向GLB服务器a发送访问请求,该过程与现有技术 相同,不再赘述。客户端也可以直接采用IP地址的方式进行访问,即预先 知晓GLB服务器a的IP地址,并利用该IP地址向GLB服务器a发送访问 请求。GLB服务器a接收到访问请求后,进行全局负载均衡确定最优的数据 中心的方式主要有两种其一,在各GLB服务器中预先配置IP地址和物理位置之间的对应关系 列表,由于各GLB服务器中已经存在具有相同域^的数据中心所对应的 GLB服务器的IP地址信息,因此,GLB服务器a接收到访问请求后,根据 该访问请求中的源地址信息即客户端的IP地址信息,确定客户端的物理位 置,然后确定距离客户端最近的数据中心。其二, GLB服务器a接收到访问请求后,立即通知具有相同域名的数 据中心所对应的GLB服务器进行距离探测,各GLB服务器针对该客户端进 行距离探测,例如,通过发送探测报文的方式,获取发送探测报文到接收到 客户端返回的探测响应之间的时间差,将该时间差发送给GLB服务器a, GLB服务器a从各时间差中选择最小的,确定该最小时间差的GLB服务器 所对应的数据中心为距离客户端最近的数据中心。通过以上两种方式确定距离客户端最近的数据中心,将该最近的数据中 心确定为最优的数据中心,目的是使处于不同物理位置的客户端能够访问距 离各自最近的数据中心,从而达到各数据中心的全局负载分担。当然,除了 选择距离最近的数据中心之外,还可以采用其它方式确定最优的数据中心。步骤202: GLB服务器a判断确定的最优的数据中心是否为自身对应的 数据中心a,如果是,执行步骤203,否则,执行步骤204。步骤203: GLB服务器a将该访问报文发送给自身对应的数据中心,接 收到自身对应的数据中心返回的请求应答后,将该请求应答回复给客户端。 结束流程。如果GLB服务器a对应的数据中心即为最优的数据中心,则无需进行 访问请求的转发,本步骤中的过程与现有技术相同,不再赘述。步骤204: GLB服务器a将该访问报文中的目的地址替换为最优的数据 中心对应的GLB服务器b的IP地址,并将自身的IP地址携带在访问报文 的IP报文头的选项字段中后,将该访问报文发送给GLB服务器b。由于各GLB服务器中均保存有具有相同域名的数据中心对应的GLB服务器的IP地址,因此,GLB服务器a能够获知GLB服务器b的IP地址信台在本步骤中GLB服务器a可以利用网^^地址转换(NAT, Network Address Translation)技术将访问请求的目的地址替换为GLB服务器b的IP部网络的攻击所采用的一种技术,将内部网络中的所有服务器采用相同的IP地址,但具有不同的私有地址,该内部网络的代理服务器接收到发送到某个 服务器的报文后,进行IP地址和私有地址的转换后,将该报文发送给内部网络中具体的服务器;接收到内部网络中的服务器发送的报文后,进行私有 地址和IP地址的转换后,使该报文的源地址仍旧为该内部网络共有的IP地 址。本实施例中GLB服务器a借用该技术,将访问请求原本的目的地址即 GLB服务器a的IP地址替换为GLB服务器b的IP地址。目的地址进行替换后,为了使得GLB服务器b服务器获知该访问请求 来自GLB服务器a以便在返回请求响应时能够以GLB服务器a作为源地址 回复给客户端,本步骤中采用访问请求的IP报文头的选项字段来携带GLB 服务器a的IP地址信息。其中,可以采用IP报文头中已有的路由选项(RR) 字段来携带,也可以选择其它预留的选项字段来携带GLB服务器a的IP地 址信息。下面分别举一个具体例子进行说明。首先对采用IP报文头中已有的路由选项字段来携带的方式进行描述。 IP报文头的选项字段格式如图3所示,整个路由选项字段包含多个小字段, 其中,类型(Code )字段占用一个字节,用户标识该选项的类型,长度(length ) 字段占用一个字节,用于标识该路由选项字段的总长度,指针(Pointer)用 于指示携带的IP地址信息的位置,路由数据(route data)字段用于携带IP 地址信息,本发明中可以利用该route data字段携带一个或者多个IP地址, 本实施例中仅携带GLB服务器a的IP地址即可,如果GLB服务器b发现 自身对应的数据中心不可用或者超负荷,可以进一步将该访问请求发送给临 近的其它GLB服务器,此时,GLB服务器b可以进一步将自身的IP地址携 带在该route data字段中。本实施例中利用该路由选项字段携带GLB服务器a的IP地址可以如图 4所示,code字段中的值为7标识该选项字段为路由选项字段;length字段 中的值为4,标识该路由选项字段的总长度为4个字节;pointer字段中的值 为4,标识GLB服务器a的IP地址存放在第4个字节中。GLB服务器a通过这种方式,在访问请求的IP报文头中添加路由选项字段来携带自身的IP地址信息,然后发送给GLB服务器b。由于该添加的 选项字段很小,几乎不会对访问报文的处理造成影响,例如,不会引起报文 分片的问题的出现。如果采用其它预留的选项字段来专门携带GLB服务器a的IP地址,则 可以如图5所示。其中采用预留的未被使用过的code来表示该选项字段中携带GLB服务 器的IP地址,length和pointer字段的定义可以和路由选项字段中的相同, length字段是该选项字段字节的总长度,最大值为39字节,pointer字段指 向存放GLB服务器的IP地址,最小值为第4字节,最大值为第36字节。 GLB服务器数据(GLB data )字段用来携带GLB服务器a的IP地址。另外,也可以通过以上方式在选项字段中携带GLB服务器a的标识信 息,而不直接携带IP地址信息,此时需要在各GLB服务器中存储GLB服 务器标识与IP地址之间的对应关系。除了将GLB服务器a的标识信息或IP地址携带在IP报文头的选项字 段中之外,还可以携带在另外设置的私有协议报文头中,即预先在各GLB 服务器之间约定一个私有协议,在访问请求中添加该私有协议的报文头, GLB服务器a利用该私有协议的报文头携带自身的标识或IP地址,GLB服 务器b接收到访问请求后,剥离该私有协议的报文头并从中获取GLB服务 器a的标识信息或IP地址。步骤205: GLB服务器b接收到该访问请求后,从IP报文头的选项字 段中获取GLB服务器a的IP地址信息后,将该访问请求发送给数据中心b。在本步骤中,如果GLB服务器b仅对应一个数据中心b,则将该访问 请求发送给数据中心b即可,如果对应多个数据中心,则可以在多个数据中 心中进行本地负载均衡,例如,可以找出一个负载状况最小的数据中心发送 访问请求。另外,在向数据中心b发送访问请求时,如果该数据中心b和GLB服 务器b之间的通信采用的是IP地址,则GLB服务器b将该访问请求的目的地址替换为数据中心b的IP地址后进行发送;如果该数据中心b和GLB服 务器b之间的通信采用的是MAC地址,则不需要更改该访问请求的目的地 址,利用数据中心b的MAC地址发送即可。这需要根据数据中心的本地策 略确定,该部分与现有技术的实现方式相同,不再具体论述。步骤206:数据中心b向GLB服务器b返回请求应答,GLB服务器b 将该请求应答的源地址替换为GLB服务器a的IP地址后发送给客户端。由于GLB服务器b发送给数据中心b的访问请求的源地址为客户端的 IP地址,因此,数据中心b返回请求应答时,该请求应答的目的地址为该客 户端的IP地址。GLB服务器b接收到该请求应答时,确认该请求应答的目 的地址为该客户端的IP地址时,将该请求应答的源地址替换为GLB服务器 a的IP地址发送给客户端,这样客户端便可以成功接收该请求应答,从而实 现对数据中心b的访问。至此图2所示流程结束。在图2所示流程中,如果在步骤205, GLB服务器b接收到携带GLB服务 器a的IP地址的访问请求后,如果数据中心b发生诸如超负荷或者故障等原因 不可用,则GLB服务器b可以将该访问请求的目的地址修改为临近的GLB服 务器的地址,发送给该临近的GLB服务器,其中,该访问请求IP报文头的选 项字段中的route data字段中可以仅携带GLB服务器a的IP地址,也可以进一 步增加GLB服务器b的IP地址,表明GLB服务器b对应的数据中心超负荷或 发生故障。当采用路由选项字段的方式时,字段结构可以如图6所示。然后上 述临近的GLB服务器接收到该访问请求后,执行步骤205和步骤206中GLB 服务器b所执行的操作。以上是对本发明提供的方法的描述,下面对本发明提供的GLB服务器进行 描述,图7为本发明实施例提供的GLB服务器结构图,由于在网络中布设的 GLB服务器通常具有相同的结构,并且,每一个GLB服务器接收到客户端发 送的访问请求的几率几乎相同,因此,每一个GLB服务器都需要具备上述方法 中的GLB服务器a和GLB服务器b的功能,如图7所示,该GLB服务器可以包括接收识别单元701、策略执行单元702、第一报文处理单元703和第二报 文处理单元704。接收识别单元701,用于对接收到的访问请求进行识别,如果该访问请求 中没有其它GLB服务器的信息,则将该访问请求发送给策略执行单元702;如 果该访问请求中携带其它GLB服务器的信息,则将该访问请求发送给第二报文 处理单元704。策略执行单元702,用于接收到所述访问请求后,利用全局负载均衡策略 确定最优的数据中心,如果该GLB服务器对应的凝:据中心不是最优的数据中 心,则将该访问请求发送给第一才艮文处理单元703。该策略4丸行单元702利用全局负载均衡策略确定最优的数据中心的方式可 以采用方法中步骤201中提供的两种方式,即通过查找IP地址和物理位置之间 的对应关系列表的方式和通知其它GLB服务器进行距离探测的方式。第一报文处理单元703,用于将访问请求的目的地址替换为最优的数据中 心对应的GLB服务器的IP地址,并在该访问请求中携带该GLB服务器的信息 后,发送给最优的数据中心对应的GLB服务器。第一报文处理单元703在该访问请求的IP报文头的选项字段或另外设置的 私有协议报文头中携带该GLB服务器的信息;其中,IP报文头的选项字段为 IP报文头中已有的路由选项字段或者其它预留的选项字段。第二报文处理单元704,用于利用接收识别单元701发送的访问请求中携 带的GLB服务器的信息,获取该信息对应的GLB服务器的IP地址,并将该访 问请求发送给最优的数据中心;接收到最优的数据中心返回的请求应答后,将 该请求应答的源地址替换为该第二报文处理单元704获取的GLB服务器的IP 地址后进行发送。另外,该GLB服务器还可以包括第三"^艮文处理单元705。策略执行单元702,还用于在确定该GLB服务器对应的数据中心是最优的 数据中心时,将接收到的访问报文发送给第三报文处理单元705。第三报文处理单元705,用于将接收到的访问请求发送给该GLB服务器对应的数据中心;接收到该GLB服务器对应的数据中心返回的请求应答后,以该 GLB服务器的IP地址作为源地址发送请求应答。其中,上述第二报文处理单元704可以包括地址获取牛单元7041、发送 接收子单元7042、判断子单元7043和报文处理子单元7044。地址获取子单元7041,用于利用接收识别单元701发送的访问请求中携带 的GLB服务器的信息,获取该信息对应的GLB服务器的IP地址,并获取该访 问请求的源地址信息,并将该访问请求提供给发送接收子单元7042。发送接收子单元7042,用于将所述访问请求发送给最优的数据中心;接收 最优的数据中心返回的请求应答,并提供给判断子单元7043;发送报文处理子 单元7044提供的请求应答。判断子单元7043,用于判断接收到的请求应答的目的地址是否为地址获取 子单元获取的源地址信息,如果是,则将该请求应答发送给报文处理子单元 7044。报文处理子单元7044,用于将该请求应答的源地址替换为地址获取子单元 7041获取的GLB服务器的IP地址后提供给发送接收子单元7042。另外,第二报文处理单元704在接收到访问请求后,可以首先判断自身 对应的最优的数据中心是否可用,如果是,则继续执行获取利用接收识别单 元701发送的访问请求中携带的GLB服务器的信息,获取该信息对应的GLB 服务器的IP地址的操作;否则,将该访问请求转发给临近的GLB服务器。 在转发给临近的GLB服务器时,还可以进一步在该访问请求中携带自身的 信息。由以上描述可以看出,在本发明提供的方法和GLB服务器中,第一 GLB 服务器接收到访问请求后,如果利用全局负载均衡策略确定的最优数据中心 不是自身对应的数据中心,则将该访问请求的目的地址替换为最优的数据中 心对应的第二 GLB服务器的IP地址,并在该访问请求中携带第一 GLB服 务器的信息后发送,以便第二 GLB服务器在接收到该访问请求后能够获取 第一 GLB服务器的IP地址,并在向客户端回复请求应答时,将第一 GLB服务器的IP地址作为请求应答的源地址。从而实现客户端能够正确接收该 请求应答保证正常访问数据中心,并且,本发明无需占用额外的公网地址, 也无需对报文进行额外的封装和解封装,实现更加简单。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在 本发明保护的范围之内。
权利要求
1、一种访问请求的三角转发方法,其特征在于,该方法包括第一全局负载均衡GLB服务器接收到访问请求后,利用全局负载均衡策略确定最优的数据中心;如果该第一GLB服务器对应的数据中心不是最优的数据中心,则将该访问请求的目的地址替换为最优的数据中心对应的第二GLB服务器的IP地址,并在该访问请求中携带第一GLB服务器的信息后,将该访问请求发送给第二GLB服务器;第二GLB服务器接收到该访问请求后,利用其中包含的所述第一GLB服务器的信息获取第一GLB服务器的IP地址,并将该访问请求发送给最优的数据中心;接收到所述最优的数据中心返回的请求应答后,将该请求应答的源地址替换为第一GLB服务器的IP地址后进行发送。
2、 根据权利要求1所述的方法,其特征在于,所述访问请求的源地址为发 送该访问请求的客户端的IP地址;所述第二 GLB服务器接收到所述访问请求后,还进一 步获取所述客户端的 IP地址;接收到所述请求应答后,如果所述请求应答的目的地址为所述客户端 的IP地址,则执行所述将该请求应答的源地址替换为第一 GLB服务器的IP地 址后进行发送的步骤。
3、 根据权利要求2所述的方法,其特征在于,所述利用全局负载均衡策略 确定最优的数据中心为所述第一 GLB服务器根据预先配置的IP地址和物理 位置之间的对应关系,确定所述客户端的物理位置,并根据预先配置的各数据 中心的IP地址,将距离所述客户端最近的数据中心作为所述最优的数据中心;或者,所述第一 GLB服务器接收到所述访问请求后,立即通知各数据中心对应的 GLB服务器进行针对所述客户端的距离探测,接收到各数据中心对应的GLB 服务器回复的探测结果后,根据该探测结果将距离所述客户端最近的数据中心 作为所述最优的数据中心;其中,所述各数据中心具有所述客户端请求访问的域名。
4、 根据权利要求1所述的方法,其特征在于,该方法还包括如果该第一 GLB服务器对应的数据中心是最优的数据中心,则所述第一 GLB服务器将所 述访问请求发送给自身对应的数据中心,接收到自身对应的数据中心返回的请 求应答后,以自身的IP地址作为源地址发送所述请求应答。
5、 根据权利要求1所述的方法,其特征在于,所述在该访问请求中携带第 一 GLB服务器的信息为将所述第一 GLB服务器的信息携带在所述访问报文 的IP报文头的选项字段中,或者携带在另外设置的私有协议报文头中。
6、 根据权利要求5所述的方法,其特征在于,包括所述访问报文的IP报预留的选项字段。
7、 根据权利要求l、 5或6所述的方法,其特征在于,所述第一GLB服务 器的信息为所述第一 GLB服务器的标识信息;所述第二 GLB服务器利用接收 到的访问请求获取第一 GLB服务器的IP地址为所述第二 GLB服务器从所述 访问请求中获取所述第一 GLB服务器的标识信息,利用预先配置的GLB服务 器标识与IP地址之间的对应关系,确定所述第一 GLB服务器的IP地址;或者,所述第一 GLB服务器的信息为所述第一 GLB服务器的IP地址;所述第二 GLB服务器直接从所述访问请求中获取第一 GLB服务器的IP地址。
8、 一种GLB服务器,其特征在于,该GLB服务器包括接收识别单元、 策略执行单元、第一报文处理单元和第二报文处理单元;所述接收识别单元,用于对接收到的访问请求进行识别,如果该访问请求 中没有其它GLB服务器的信息,则将该访问请求发送给所述策略执行单元;如 果该访问请求中携带其它GLB服务器的信息,则将该访问请求发送给第二报文 处理单元;所述策略执行单元,用于根据所述访问请求,利用全局负载均衡策略确定 最优的数据中心,如果该GLB服务器对应的数据中心不是最优的数据中心,则 将该访问请求发送给第 一报文处理单元;所述第一报文处理单元,用于将所述访问请求的目的地址替换为最优的数据中心对应的GLB服务器的IP地址,并在该访问请求中携带该GLB服务器的 信息后,发送给最优的数据中心对应的GLB服务器;所述第二报文处理单元,用于利用所述接收识别单元发送的访问请求中携 带的GLB服务器的信息,获取该信息对应的GLB服务器的IP地址,并将该访 问请求发送给最优的数据中心;接收到最优的数据中心返回的请求应答后,将 该请求应答的源地址替换为该第二报文处理单元获取的GLB服务器的IP地址 后进行发送。
9、 根据权利要求8所述的GLB服务器,其特征在于,该GLB服务器还包 括第三报文处理单元;所述策略执行单元,还用于在确定该GLB服务器对应的数据中心是最优的 数据中心时,将接收到的访问报文发送给所述第三报文处理单元;所述第三报文处理单元,用于将接收到的访问请求发送给该GLB服务器对 应的数据中心;接收到该GLB服务器对应的数据中心返回的请求应答后,以该 GLB服务器的IP地址作为源地址发送所述请求应答。
10、 根据权利要求8所述的GLB服务器,其特征在于,所述第二报文处理 单元包括地址获取子单元、发送接收子单元、判断子单元和报文处理子单元;所述地址获取子单元,用于利用所述接收识别单元发送的访问请求中携带 的GLB服务器的信息,获取该信息对应的GLB服务器的IP地址,并获取该访 问请求的源地址信息;所述发送接收子单元,用于将所述接收识别单元发送的访问请求发送给最 优的数据中心;接收最优的数据中心返回的请求应答,并提供给所述判断子单 元;发送所述报文处理子单元提供的请求应答;所述判断子单元,用于判断接收到的请求应答的目的地址是否为所述地址 获取子单元获取的源地址信息,如果是,则将该请求应答发送给报文处理子单 元;所述报文处理子单元,用于将该所述请求应答的源地址替换为所述地址获
11、根据权利要求8所述的GLB服务器,其特征在于,所述第一报文处理 单元在该访问请求的IP报文头的选项字段或另外设置的私有协议报文头中携 带该GLB服务器的信息;其中,所述IP报文头的选项字段为所述IP报文头中已有的路由选项字段 或者其它预留的选项字段。
全文摘要
本发明提供了一种访问请求的三角转发方法和全局负载均衡(GLB)服务器,第一GLB服务器接收到访问请求后,如果利用全局负载均衡策略确定的最优数据中心不是自身对应的数据中心,则将该访问请求的目的地址替换为最优的数据中心对应的第二GLB服务器的IP地址,并在该访问请求中携带第一GLB服务器的信息后发送,以便第二GLB服务器在接收到该访问请求后能够获取第一GLB服务器的IP地址,并在向客户端回复请求应答时,将第一GLB服务器的IP地址作为请求应答的源地址。从而实现客户端能够正确接收该请求应答保证正常访问数据中心,并且,本发明无需占用额外的公网地址,也无需对报文进行额外的封装和解封装,实现更加简单。
文档编号H04L29/12GK101325552SQ20081011762
公开日2008年12月17日 申请日期2008年8月1日 优先权日2008年8月1日
发明者崔晓会 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1