CN1791053A - 一种对多服务器进行最优选择的方法 - Google Patents
一种对多服务器进行最优选择的方法 Download PDFInfo
- Publication number
- CN1791053A CN1791053A CNA2004100971721A CN200410097172A CN1791053A CN 1791053 A CN1791053 A CN 1791053A CN A2004100971721 A CNA2004100971721 A CN A2004100971721A CN 200410097172 A CN200410097172 A CN 200410097172A CN 1791053 A CN1791053 A CN 1791053A
- Authority
- CN
- China
- Prior art keywords
- server
- tunnel
- balancing equipment
- address
- carried out
- 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
Links
Abstract
本发明公开了一种对多服务器进行最优选择的方法,通过均衡设备与每台服务器所在网络的路由设备建立一条隧道,在均衡设备上配置域名和服务器的IP地址、隧道以及三者间的对应关系,并保存隧道的时延数据;均衡设备收到用户发来的DNS请求后,根据域名查出对应的服务器IP地址,完成响应数据包的封装,并依据隧道时延数据,对不同数据包进行适当时延后,向对应的隧道发送这些响应包到服务器对应的路由设备,保证这些数据包到达路由设备的时间基本相同。路由设备收到响应数据包后,直接将封装的IP地址进行正常路由转发,由用户端程序处理最先接收到的DNS响应,实现实时动态选择最优的服务器。
Description
技术领域:
本发明涉及一种对网络中的多服务器进行最优选择的方法,尤其涉及一种根据网络时延最小的特性对多服务器进行最优选择的方法。
背景技术:
随着因特网技术的发展,提供网络的服务器越来越多,为了满足不同地域的用户访问服务器的需求,通常在多个地方设置镜像的服务器,这样不同地域的用户可以通过就近访问附近的服务器来提高用户的访问速度,降低广域网络的数据流量。
用户进行服务器访问时,先要将服务器对应的网址所对应的域名转换成服务器的IP(Internet Protocol因特网协议)地址,域名转换成IP地址的功能是由DNS(Domain Name System域名系统)服务器来完成的,对于存在多个镜像的服务器,其域名将对应多个IP地址,一般通过控制域名的解释就可以控制服务器的选择,这种方法能够自动实现镜像服务器的选择。
现有技术通过配置源地址列表范围来决定应该向用户返回哪个服务器的地址,源地址一般能代表一个地域的用户请求,源地址列表就可以配置某个地域范围的用户访问哪个服务器。这种方法能够很好的根据地域特性来访问不同的服务器,但配置比较麻烦,特别当服务器比较多时,配置数据将急剧增加。现有技术的另一个缺点就是,因为源地址列表是静态配置的,因此无法适应动态的网络情况,将访问的数据流引向最优的服务器。
发明内容:
本发明提供了一种动态选择最优服务器的方法。对用户而言,最优的访问服务器就是网络时延最小的服务器。有些距离远的服务器可能网络带宽比距离近的更优,本发明基于选择当前与用户时延最小的服务器作为最佳的服务器,而不是简单的以地域来区分,可以充分利用现有的网络设备来实时动态选择最优的服务器。
本发明是通过如下技术方案来实现的,一种对多服务器进行最优选择的方法,包含如下步骤:
(1)指定DNS服务器的授权服务器为均衡设备,所述均衡设备与每台服务器所在网络的路由设备建立一条隧道,在均衡设备上配置域名和服务器的IP地址、隧道以及三者之间的对应关系;
(2)在均衡设备上保存所述隧道的时延数据;
(3)均衡设备收到用户端发来的DNS请求后,根据域名查出对应的服务器IP地址,完成不同IP地址响应数据包的封装。
(4)均衡设备根据所述的隧道时延数据,对不同数据包进行适当时延后,向对应的隧道发送这些响应数据包到服务器对应的路由设备,保证这些数据包到达路由设备的时间基本相同。
(5)路由设备收到所述响应数据包后,去掉隧道,直接将封装的IP地址进行正常路由转发,由用户端程序处理最先接收到的DNS响应。
其中,在步骤1中所述的隧道,可以通过在每个服务器所在的网络上接入一个均衡设备的代理设备,使用内部协议来完成。
其中,在步骤2中所述的隧道时延数据,通过均衡设备定时对路由隧道进行检查获得并动态更新。
其中,在步骤2中所述的隧道时延数据,在均衡设备上直接静态配置。
有益效果:
1、通常检测时延是直接在设备之间发送检测包才能得到,本发明的最大优点就是不用直接去检查用户与服务器的时延,而是通过用户的请求响应来得到时延最小的服务器,非常快捷方便。
2、本发明能充分利用现网的设备,因为目前的路由器基本都支持常用的隧道技术,除了均衡设备外几乎不用再添加其它额外的设备,实现成本低。
3、配置维护简单,只需要在均衡设备上维护域名与IP地址之间的对应信息即可。
4、采用的是标准的隧道协议与路由器相连,避免直接与采用私有协议的内部交换设备相连,可以方便的兼容其它厂家的设备,突破原有设备厂商的技术垄断。
附图说明:
图1为本发明实现方法的结构示意图。
具体实施方式:
本发明涉及的隧道技术作为现有技术,是指这样一种技术,一个种协议数据包被封装在另一个协议数据包中进行传输,在隧道传输的过程中,被封装在内部的协议数据不会被修改,这两个协议数据包可以是不同种协议也可以是同一种协议,例如:GRE(通用路由封装)隧道、IP in IP等等都是隧道技术。
本发明的实现基于这样一个方法,从候选服务器所在网络同时向用户发出数据包,用户最早收到的数据包就是时延最小的,对应的服务器就是最优,只要保证数据包同时发出就能够检测出最优的服务器,实现这个方案的设备称为均衡设备。方案由如下几个步骤完成:
1、在DNS服务器上把下一级的授权服务器设置为均衡设备,由均衡设备完成真正的DNS解释(例如在DNS服务器上把huawei-3com.com的域名授权DNS服务器配置为均衡设备,这样所有XXX.huawei-3com.com的域名都转到均衡设备上来解释);每个域名将对应多个IP地址,不同的IP地址将对应不同的隧道。均衡设备与每个服务器所在网络中的一台路由设备建立一条隧道(如GRE(通用路由封装)隧道),在均衡设备上配置好域名、服务器IP地址、隧道及三者之间的对应关系,通过服务器IP就可以查到对应隧道。
2、均衡设备定时动态检查与服务器相连的路由设备的时延,即隧道的时延,并保存好这些数据,这些数据也可直接静态配置。
隧道时延是隧道本身的一个特性,隧道的时延可以手工设置(假设时延比较固定),也可以实时去检测(假设时延经常变化),例如发探测包,计算来回的时延值。
3、均衡设备收到用户端发来的DNS请求后,先通过步骤1中配置的域名、IP地址、隧道及三者之间的对应关系,查出域名对应的服务器地址,根据不同服务器的IP地址,完成不同响应数据包的封装。假设当均衡设备收到DNS请求后,根据域名查出对应的IP地址有两个:IP1、IP2,对应的隧道为Tunnel1、Tunnel2,对于发往Tunnel1的数据包,封装的DNS响应IP地址就是IP1,对于发往Tunnel2的数据包,封装的DNS响应IP地址就是IP2,有多少服务器就封装多少个响应数据包。
4、均衡设备根据步骤2得到的隧道时延,对不同数据包进行适当延时后,向对应的隧道发送这些响应数据包到服务器对应的路由设备,保证这些数据包到达路由设备的时间基本相同。假设前面的两个隧道Tunnel1的时延为T1,Tunnel2的时延为T2,T2>T1。先向Tunnel2发送数据包,过了T2-T1时间后再向Tunnel1发送数据包,这样到达各自服务器的时间,分别为Tunnel1=T2-T1+T1=T2,Tunnel2=T2,二者是同时到达各自的服务器的,这样就保证了数据包的同时到达。
5、路由设备收到通过隧道传来的DNS响应数据包后,去掉隧道,将完整的DNS响应数据包直接进行正常路由转发,发至用户端。用户端程序只处理最先接收到的DNS响应,DNS响应消息中包含了域名对应的IP地址,用户端程序根据该IP地址选择对应的服务器进行相关的数据业务,实现了选择网络响应最优的服务器。在此过程中,DNS响应包相当于到各个路由设备绕了绕路,但用户感觉不到这样一个极其微小的时延差。
例如假设
www.huawei-3com.com在北京、上海和广州有3台服务器,IP地址分别为202.10.0.1、203.10.0.1、204.10.0.1,通过本发明提供的技术方案即可满足用户访问网站的时候能够自动选择网络时延最优的服务器:
1、配置
huawei-3com.com所属的DNS服务器,将xxxx.
hu awei-3com.com的DNS授权服务器指向均衡设备,这样所有的xxxx.
huawei-3com.com的DNS查询请求都会送到均衡设备上。
2、在均衡设备上配置与三个服务器对应网络的路由设备的隧道分别为tunnel1、tunnel2、tunnel3,然后配置域名、IP地址、隧道及三者之间的对应关系:
www.huawei-3com.com 202.10.0.1 tunnel1
www.huawei-3com.com 203.10.0.1 tunnel2
www.huawei-3com.com 204.10.0.1 tunnel3
3、配置三个隧道的静态时延,或配置自动检测时延,假设得到tunnel1、tunnel2、tunnel3的时延分别为T1、T2、T3,且T3>T2>T1。
4、这样配置就完成了,当一个用户需要访问
www.huawei-3com.com时,会首先发起DNS查询,查询将会送到均衡设备,均衡设备会查出域名对应的IP地址,针对北京服务器202.10.0.1,会封装DNS响应包,解释的IP地址为202.10.0.1,同样封装好另两个响应数据包,针对上海服务器为203.10.0.1,针对广州服务器为204.10.0.1。然后立即将广州服务器的响应包发向tunnel3,延时T3-T2后发送上海服务器的响应包,再延时T3-T1后发送北京服务器的响应包,这样到达各自服务器网络的时间基本上都是T3,即同时到达。
5、各服务器对应的路由设备接收到通过隧道发来的响应数据包后,路由设备去掉隧道,将完整的DNS响应数据包直接进行正常路由转发,发至用户端。这时如果访问者在上海的话,正常情况下会最先收到上海服务器的DNS响应包(一个包同时从北京、上海、广州发往上海,正常情况下上海发出的一般都会快些),用户端程序只处理最先接收到的DNS响应,该DNS响应消息中包含了域名对应的IP地址,即位于上海的服务器IP地址,用户端程序根据该IP地址选择上海的服务器进行相关的数据业务,这样用户就直接访问上海的服务器,实现了选择网络响应最优的服务器。
另外,在本发明的技术方案中,可以在每个服务器所在的网络上接入一个均衡设备的代理设备,使用内部协议来完成隧道功能,也能达到目的。使用代理设备就可以不用对方的路由器,这在对方没有路由器,或者路由器上不能配置隧道的时候使用。由代理设备完成解释内部协议的功能,使用内部协议可以更简单,例如我们可以把协议定义为:把DNS响应消息封装到一个均衡设备到代理设备的UDP(UDP User Datagram Protocol,用户数据报协议,是一种简单的数据传输协议)报文中,代理设备收到数据后剥离UDP报文头就可以得到完整的DNS响应消息,不用实现相对通用、但比较复杂的隧道协议了。
本发明还可以用于任何控制与业务分离类型方式的服务设备选择,即指那些先通过控制协议获得服务设备地址,然后向该服务设备展开业务的业务类型。主要是指那种先通过控制信令获得某个资源,然后通过该资源进行通信的业务类型,例如:对于某种系统由控制系统和业务系统构成,控制系统是集中的,业务系统是分散的。用户发起业务请求时,会先向控制系统请求业务资源,控制系统就可以采用本方法来分配业务资源,可以达到路径访问最优,像即时通信系统,视频接入系统都属于这样的系统,先到控制系统进行身份验证,然后由控制系统分配资源。
Claims (4)
1、一种对多服务器进行最优选择的方法,其特征在于:该方法包含如下步骤:
(1)指定DNS服务器的授权服务器作为均衡设备,所述均衡设备与每台服务器所在网络的路由设备建立一条隧道,在均衡设备上配置域名和服务器的IP地址、隧道以及三者之间的对应关系;
(2)在均衡设备上保存所述隧道的时延数据;
(3)均衡设备收到用户端发来的DNS请求后,根据域名查出对应的服务器IP地址,完成不同IP地址响应数据包的封装;
(4)均衡设备根据所述的隧道时延数据,对不同数据包进行适当时延后,向对应的隧道发送这些响应数据包到服务器对应的路由设备,保证这些数据包到达路由设备的时间基本相同;
(5)路由设备收到所述响应数据包后,去掉隧道,直接将封装的IP地址进行正常路由转发,由用户端程序处理最先接收到的DNS响应。
2、根据权利要求1所述的一种对多服务器进行最优选择的方法,其特征在于:在步骤1中所述的隧道,可以在每个服务器所在的网络上接入一个均衡设备的代理设备,使用内部协议来完成。
3、根据权利要求1所述的一种对多服务器进行最优选择的方法,其特征在于:在步骤2中所述的隧道时延数据,通过均衡设备定时对路由隧道进行检查获得并动态更新。
4、根据权利要求1所述的一种对多服务器进行最优选择的方法,其特征在于:在步骤2中所述的隧道时延数据,在均衡设备上直接静态配置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2004100971721A CN1791053A (zh) | 2004-12-13 | 2004-12-13 | 一种对多服务器进行最优选择的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2004100971721A CN1791053A (zh) | 2004-12-13 | 2004-12-13 | 一种对多服务器进行最优选择的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1791053A true CN1791053A (zh) | 2006-06-21 |
Family
ID=36788570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004100971721A Pending CN1791053A (zh) | 2004-12-13 | 2004-12-13 | 一种对多服务器进行最优选择的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1791053A (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889605B (zh) * | 2006-07-14 | 2010-04-21 | 华为技术有限公司 | 彩铃业务的实现方法 |
US20100131660A1 (en) * | 2008-11-26 | 2010-05-27 | Wojciech Dec | Deterministic session load-balancing and redundancy of access servers in a computer network |
CN101820451A (zh) * | 2009-02-26 | 2010-09-01 | 上海数讯信息技术有限公司 | 一种动态域名服务优化系统 |
WO2010097035A1 (zh) * | 2009-02-24 | 2010-09-02 | 华为技术有限公司 | 时钟报文隧道传输的方法、网络节点和通信系统 |
CN102130811A (zh) * | 2010-01-14 | 2011-07-20 | 深圳市深信服电子科技有限公司 | 一种通过vpn接入应用服务器的方法及终端 |
CN101741886B (zh) * | 2008-11-05 | 2012-05-02 | 北京搜狗科技发展有限公司 | 访问路径生成方法、系统及设备 |
WO2012083800A1 (zh) * | 2010-12-22 | 2012-06-28 | 华为技术有限公司 | 基于内容分发网络的路由实现方法及相关设备、系统 |
CN102571479A (zh) * | 2010-12-31 | 2012-07-11 | 中国移动通信集团河北有限公司 | 延时的测量方法、装置及系统 |
CN101378407B (zh) * | 2008-09-26 | 2012-10-17 | 成都市华为赛门铁克科技有限公司 | 一种信息推送方法、系统及设备 |
CN101494659B (zh) * | 2008-01-24 | 2012-11-07 | 中国移动通信集团公司 | 选取会话控制装置的方法以及相关设备 |
CN101262477B (zh) * | 2007-03-09 | 2012-11-21 | 国际商业机器公司 | 用于检测多个ip地址的系统和方法 |
CN102684993B (zh) * | 2009-02-24 | 2015-03-25 | 华为技术有限公司 | 时钟报文隧道传输的方法、网络节点和通信系统 |
CN111327507A (zh) * | 2018-12-17 | 2020-06-23 | 上海擎感智能科技有限公司 | 一种apn链路负载均衡的实现方法及系统 |
CN112187584A (zh) * | 2020-09-30 | 2021-01-05 | 腾讯科技(深圳)有限公司 | 路径故障探测方法、系统、服务器及存储介质 |
CN114124832A (zh) * | 2020-08-31 | 2022-03-01 | 中国移动通信集团浙江有限公司 | Dns系统业务处理方法及装置 |
CN114374669A (zh) * | 2022-01-11 | 2022-04-19 | 杭州迪普科技股份有限公司 | Vpn客户端代理dns解析方法及系统 |
CN115086332A (zh) * | 2022-06-27 | 2022-09-20 | 北京奇艺世纪科技有限公司 | 一种通信方法、装置、电子设备及存储介质 |
CN114374669B (zh) * | 2022-01-11 | 2024-04-26 | 杭州迪普科技股份有限公司 | Vpn客户端代理dns解析方法及系统 |
-
2004
- 2004-12-13 CN CNA2004100971721A patent/CN1791053A/zh active Pending
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889605B (zh) * | 2006-07-14 | 2010-04-21 | 华为技术有限公司 | 彩铃业务的实现方法 |
CN101262477B (zh) * | 2007-03-09 | 2012-11-21 | 国际商业机器公司 | 用于检测多个ip地址的系统和方法 |
CN101494659B (zh) * | 2008-01-24 | 2012-11-07 | 中国移动通信集团公司 | 选取会话控制装置的方法以及相关设备 |
CN101378407B (zh) * | 2008-09-26 | 2012-10-17 | 成都市华为赛门铁克科技有限公司 | 一种信息推送方法、系统及设备 |
CN101741886B (zh) * | 2008-11-05 | 2012-05-02 | 北京搜狗科技发展有限公司 | 访问路径生成方法、系统及设备 |
US20100131660A1 (en) * | 2008-11-26 | 2010-05-27 | Wojciech Dec | Deterministic session load-balancing and redundancy of access servers in a computer network |
US9491234B2 (en) | 2008-11-26 | 2016-11-08 | Cisco Technology, Inc. | Deterministic session load-balancing and redundancy of access servers in a computer network |
US8782256B2 (en) * | 2008-11-26 | 2014-07-15 | Cisco Technology, Inc. | Deterministic session load-balancing and redundancy of access servers in a computer network |
US8638822B2 (en) | 2009-02-24 | 2014-01-28 | Huawei Technologies Co., Ltd. | Network node, communication system, and method for transmitting clock packet through tunnel |
WO2010097035A1 (zh) * | 2009-02-24 | 2010-09-02 | 华为技术有限公司 | 时钟报文隧道传输的方法、网络节点和通信系统 |
CN102684993B (zh) * | 2009-02-24 | 2015-03-25 | 华为技术有限公司 | 时钟报文隧道传输的方法、网络节点和通信系统 |
CN101494613B (zh) * | 2009-02-24 | 2012-04-04 | 华为技术有限公司 | 时钟报文隧道传输的方法、网络节点和通信系统 |
CN101820451A (zh) * | 2009-02-26 | 2010-09-01 | 上海数讯信息技术有限公司 | 一种动态域名服务优化系统 |
CN101820451B (zh) * | 2009-02-26 | 2014-03-19 | 上海数讯信息技术有限公司 | 一种动态域名服务优化系统 |
CN102130811A (zh) * | 2010-01-14 | 2011-07-20 | 深圳市深信服电子科技有限公司 | 一种通过vpn接入应用服务器的方法及终端 |
WO2012083800A1 (zh) * | 2010-12-22 | 2012-06-28 | 华为技术有限公司 | 基于内容分发网络的路由实现方法及相关设备、系统 |
CN102571479B (zh) * | 2010-12-31 | 2014-12-10 | 中国移动通信集团河北有限公司 | 延时的测量方法、装置及系统 |
CN102571479A (zh) * | 2010-12-31 | 2012-07-11 | 中国移动通信集团河北有限公司 | 延时的测量方法、装置及系统 |
CN111327507A (zh) * | 2018-12-17 | 2020-06-23 | 上海擎感智能科技有限公司 | 一种apn链路负载均衡的实现方法及系统 |
CN114124832A (zh) * | 2020-08-31 | 2022-03-01 | 中国移动通信集团浙江有限公司 | Dns系统业务处理方法及装置 |
CN112187584A (zh) * | 2020-09-30 | 2021-01-05 | 腾讯科技(深圳)有限公司 | 路径故障探测方法、系统、服务器及存储介质 |
CN112187584B (zh) * | 2020-09-30 | 2023-07-21 | 腾讯科技(深圳)有限公司 | 路径故障探测方法、系统、服务器及存储介质 |
CN114374669A (zh) * | 2022-01-11 | 2022-04-19 | 杭州迪普科技股份有限公司 | Vpn客户端代理dns解析方法及系统 |
CN114374669B (zh) * | 2022-01-11 | 2024-04-26 | 杭州迪普科技股份有限公司 | Vpn客户端代理dns解析方法及系统 |
CN115086332A (zh) * | 2022-06-27 | 2022-09-20 | 北京奇艺世纪科技有限公司 | 一种通信方法、装置、电子设备及存储介质 |
CN115086332B (zh) * | 2022-06-27 | 2024-03-08 | 北京奇艺世纪科技有限公司 | 一种通信方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11277341B2 (en) | Resilient segment routing service hunting with TCP session stickiness | |
CN1791053A (zh) | 一种对多服务器进行最优选择的方法 | |
US10164910B2 (en) | Method and apparatus for an information-centric MAC layer | |
EP1376954B1 (en) | Packet fragmentation prevention | |
CN102075445B (zh) | 负载均衡方法及装置 | |
EP1645072B1 (en) | Dynamic and traffic-driven optimization of message routing to geographical addresses | |
US9462071B2 (en) | Spoofing technique for transparent proxy caching | |
US20140250204A1 (en) | Virtual channel joining | |
CN1177439C (zh) | 以太网接入应用中代理地址解析协议的方法 | |
US6618398B1 (en) | Address resolution for internet protocol sub-networks in asymmetric wireless networks | |
US20180026935A1 (en) | Hybrid access dns optimization for multi-source download | |
CN103797772A (zh) | 利用网络地址查找的用户类相关调适的数据业务的差异化处理 | |
JP2011525064A (ja) | パケット・ベースの通信ネットワーク上の断片化パケットの伝送のための方法およびシステム | |
CN109547452A (zh) | Linux网桥设备上实现TCP透明代理的方法及系统 | |
US20030225873A1 (en) | Optimization of network performance through uni-directional encapsulation | |
CN104967613A (zh) | 一种移动网络环境下数据传输的系统和方法 | |
EP2294739A1 (en) | Inter-office communication methods and devices | |
USH2065H1 (en) | Proxy server | |
CN102255808B (zh) | 拥塞通告方法、装置、系统及网络设备 | |
CN109246016B (zh) | 跨vxlan的报文处理方法和装置 | |
CN104661249A (zh) | 一种降低ndn网络移动用户内容获取延迟的系统和方法 | |
CN1578296A (zh) | 双栈过渡的实现方法 | |
US20090201931A1 (en) | Method and apparatus for transferring IP transmission session | |
CN104363176A (zh) | 一种报文控制的方法和设备 | |
CN109428819B (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20060621 |