该方案出现时间早,而且技术已经比较成熟,但是存在一些弊端,首先是浪费IP资源,另外是需要服务器有两个网卡接口。
那么,这种技术的工作原理是什么呢?首先,客户端的浏览器会提交一个域名,这个域名当然是提交给用户网络连接使用的DNS服务器,不过用户的DNS服务器是无法解析的,它会询问它上一级的DNS服务器,一直这么问,问到这个域名指定的NS服务器时,OK,这个NS服务器就去判定用户的线路是电信的还是网通的,假如是电信的,就返回被访服务器的电信IP,假如是网通的自然就返回被访服务器的网通IP,所以DNS服务器经过这么一连串复杂的查询之后,终于得到一个用户访问起来最快的IP地址返回给客户端,然后客户端的浏览器就向这个IP地址发送请求,双方建立起TCP对话,这大概就是双线双IP的实现过程了。

既然这个过程已经十分明确,还要拿出来讨论什么呢?
其实就是一个问题,但是这个问题研究起来却非常有意思,那就是,NS服务器是如何去判定用户的线路是电信的还是网通的?(NS服务器就是在进行域名治理时设置的那个NS记录,只能指定为IP,在双线双IP方案中,NS服务器就是进行域名智能解析的那台服务器)
很多人会说,先获得用户的IP,然后服务器在一个庞大的IP地址表里面查询,就可以知道这个IP是属于哪个ISP甚至是那个地区的,没错,QQ显IP显地址基本也是这么一个原理。
那么,大家可能都有类似经历,QQ显地址经常不准确,一个广东的朋友跟你聊天时你看到他的地址居然是广西的,这个不希奇,因为IP地址的划分不是固定的,这就让人担心,既然IP地址不固定,那么会不会某个IP原来是电信的,后来被划给了网通,但是IP地址数据库是第三方机构收集的,更新肯定不及时,这样这个用户访问双线双IP的服务器时就被解析到错误的地址去了。
理论上确实是这样的,因为NS服务器的IP地址数据库不可能更新的这么及时。
但是,从群友老孤提供的一些资料中,我们也看到一条我们之前没想到的道路,就是让路由器实时计算自动选择最佳线路。这个功能,在思科的全球站点选择器(GSS 4480)介绍上面可以看到,当然这个设备的用途远不止双线解析这么简单,不过我们比较感爱好的还是它的工作原理:
……(省略资料原文部分内容)……
提供DNS快速处理特性。思科GSS 4480可以实时地根据本地DNS与多个站点之间的RTT,将客户端引导至距离最近的数据中心;
分布式导向器利用导向器响应协议(DRP)——由思科系统公司开发的一种基于UDP的应用——执行以下两种任务:
从DRP服务器代理查询分布式服务器与客户端之间的BGP和IGP路由表指标,确定客户端到服务器的拓扑邻近度。
从DRP服务器代理查询客户端到服务器链路延迟指标。
……(省略资料原文部分内容)……
思科分布式导向器在执行负载分布时,能够通过服务器可用性、相对的客户端到服务器拓扑邻近度(“距离”)和客户端到服务器链路延迟大小确定“最佳”服务器。换言之,用户只需要一个子域名称或全局资源定位符(URL)嵌入式主机名称,就能访问一组分布式服务器,而不需要从很多的可能站点中进行选择。总之,思科分布式导向器能够利用网络中的智能自动、动态、有效地为用户挑选出“最佳”服务器。
……(省略资料原文部分内容)……
很有意思,根据我们的判定,思科的这种设计精髓在于可以计算出客户端到服务器拓扑邻近度(“距离”)和客户端到服务器链路延迟,也就是每次用户发出请求时设备都会自动去计算这个用户走哪条路由比较近服务器,但是怎么去计算,当然还是需要预设一个路由表,然后根据这个表去计算怎么走路程才最近,当然这个计算过程是比较复杂的,占用处理器资源也多,大概是找到每条路经过几个路由,经过路由最少的那条路就是最好的,具体不去研究,总之思科做到了。
评论加载中…
![]() |