导读:在讨论这个问题,其中群友老孤同志也提供了不少非常有参考价值的资料,所以我们再把这些资料再整理一次,从比较底层的技术原理上重新进行一次分析。   我们知道,因为南电信北网通现象的存在,我们的服务器或网络内容、服务等提供商对网络的选择也至为重要。每位站长或网络内容、服务提供商都希望自己的网站在全国乃至全球都能快速被用户访问到,但现实国情中,单...正文:

其实双线技术的实现方式并不是什么新的技术问题了,说白了就是智能DNS解析+双线路接入,不过最近不少朋友都在讨论这个问题,其中群友老孤同志也提供了不少非常有参考价值的资料,所以我们再把这些资料再整理一次,从比较底层的技术原理上重新进行一次分析。

我们知道,因为南电信北网通现象的存在,我们的服务器或网络内容、服务等提供商对网络的选择也至为重要。每位站长或网络内容、服务提供商都希望自己的网站在全国乃至全球都能快速被用户访问到,但现实国情中,单一服务器是很难实现的。国外网络的速度慢,站长和网友还能够理解并接受,但国内的南北之阻塞,相信站长们是很难理解也很难接受的。但事实如此,站长们也只能根据自己网站主流用户群是在南方还是在北方,服务重点是在南方还是北方而进行取舍,如是南方选取电信网络,如为北方则选取网通网络。当然谁也不想自己的网站因网速而少了另一部分的用户及访问者,都在想办法解决网络瓶颈,希望实现南北快速互通互联。

目前电信、网通瓶颈问题可以说主要是人为因素造成的,只有靠增加成本或用技术来补救,部分IDC提供商分别提出了“双线路”、智能域名DNS和CDN方案。“双线路”方案又包括双线路单IP通过路由解决方案和双线路双IP解决方案。智能域名DNS方案是基于域名的分网解析的(主要通过上网者使用的DNS服务器来判断);CDN(Content Delivery Network)方案,即“内容发布与速递网络” ,此为内容提供商比较全面的解决方案。

而国内大部分运营商开出的双线方案其实是双线双IP的方案,只有少数地区和少数运营商有办法实现BGP方式的双线单IP。

这里顺便说说:什么是BGP双线呢?建立BGP双线又需要什么条件呢?

首先,BGP(Border Gateway Protocol边界网关协议)主要用于互联网AS(自治系统)之间的互联,是一种在自治系统之间动态交换路由信息的路由协议。而自治系统的经典定义是在一个管理机构控制之下的一组路由器,它使用IGP和普通度量值向其他自治系统转发报文。BGP(边界网关协议)是不同自治系统路由器之间进行通信的外部网关协议,作为的EGP替代品,BGP系统之间交换网络的可达到信息,这些信息包括数据到达这些网络所必须经过的自治系统AS中的所有路径,通过这些信息构造自治系统链接图,然后根据连接图删除选路环,制定选路策略。

BGP双线的实现方式跟早期的双网卡双线相比最大的特色就是服务器只需要一个网卡,因此在客户的服务器上不存在任何需要改动的地方,不过运营商就需要购置一台较为昂贵的BGP路由器,因此这种双线技术也称为“全路由双线”。电信及网通的网络接入运营商的BGP路由器,再由交换机将线路分配到每一台客户的服务器上。由于中国网通与中国电信都具有AS号(自治系统号),全国各大网络运营商多数都是通过BGP协议与自身的AS号来互联的。使用此方案来实现双线路需要在CNNIC(中国互联网信息中心)申请IDC自己的IP地址段和AS号,然后通过BGP协议将此段IP地址广播到网通、电信等其它的网络运营商,使用BGP协议互联后网通与电信的所有骨干路由设备将会判断到IDC机房IP段的最佳路由,以保证网通、电信用户的高速访问。

其实目前的BGP双线(单IP双线)主要集中在北京和上海,因为北京就是网络管理部门和电信部门的根据地,所以要办BGP并不难;上海则是成立了一个ISP互联互通组织来进行调解,从而解决了BGP问题;但广东是电信一家独大,而且地管部不去受理BGP的办理手续,所以尽管很多华南的IDC运营商拿到了自治AS域,但还是只能一直使用双IP双线。

双线路双IP方案

例如广东地区IDC机房惯用的双IP双线方案是指在一台服务器上安装两块网卡,分别接入电信网线与网通网线并设置一个网通IP与一个电信IP,这样一台服务器上就有了两个IP地址,需要在服务器上添加网通或电信的路由表来实现网通用户与电信用户分别从不同的线路访问。这种方案虽然成本低,但网络不够稳定并且占用大量的服务器资源,另外一些低端服务器只有一个网卡接口,又是1U的,要扩展一张网卡就比较麻烦,得通过转接卡,还要额外购置一张千兆网卡。

该方案出现时间早,而且技术已经比较成熟,但是存在一些弊端,首先是浪费IP资源,另外是需要服务器有两个网卡接口。

那么,这种技术的工作原理是什么呢?首先,客户端的浏览器会提交一个域名,这个域名当然是提交给用户网络连接使用的DNS服务器,不过用户的DNS服务器是无法解析的,它会询问它上一级的DNS服务器,一直这么问,问到这个域名指定的NS服务器时,OK,这个NS服务器就去判断用户的线路是电信的还是网通的,如果是电信的,就返回被访服务器的电信IP,如果是网通的自然就返回被访服务器的网通IP,所以DNS服务器经过这么一连串复杂的查询之后,终于得到一个用户访问起来最快的IP地址返回给客户端,然后客户端的浏览器就向这个IP地址发送请求,双方建立起TCP对话,这大概就是双线双IP的实现过程了。交流qq2881064152

简单介绍智能DNS解析+双线路接入的更多相关文章

  1. 什么是智能dns解析

    智能DNS解析是针对目前电信和网通互联互通不畅的问题推出的一种DNS解决方案.具体实现是:把同样的域名如test.winiis.com的A记录分别设置指向网通和电信IP,当网通的客户访问时,智能DNS ...

  2. Solr之NamedList 简单介绍与实例解析

    大家都知道,Solr是一个基于Lucene高可配置的搜索服务器,大部分参数值以及相关优化等等都可以在solrconfig.xml中配置,那么就需要一个能够很快的进行解析和读取配置文件内容的数据结构,为 ...

  3. 使用dnspod进行简单的HTTP dns解析(防劫持)

    https://www.dnspod.cn/httpdns/guide https://www.dnspod.cn/misc/D%2B免费版本接口说明.pdf 最简单的get接口去请求dnspod提供 ...

  4. 如何解决dns解析故障

    在实际应用过程中可能会遇到DNS解析错误的问题,就是说当我们访问一个域名时无法完成将其解析到IP地址的工作,而直接输入网站IP却可以正常访问,这就是因为DNS解析出现故障造成的.这个现象发生的机率比较 ...

  5. DNS单机部署以及智能dns部署

    dns理论 dns的出现 网络出现的早期是使用IP地址通讯的,那时就几台主机通讯.但是随着接入网络主机的增多,这种数字标识的地址非常不便于记忆,UNIX上就出现了建立一个叫做hosts的文件(Linu ...

  6. DNS—正、反向解析;委派;主从;子域;转发;智能dns等的实现

    前言:DNS,耳熟能详的东西,内容太多,小编也不太好讲清,只能写几个实验详解,供大家参考. 一.简单介绍 1.DNS:通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析). 端 ...

  7. C#实现DNS解析服务和智能DNS服务

    C#实现DNS解析服务有一个开源项目ARSoft.Tools.Net, ARSoft.Tools.Net是一个非常强大的开源DNS控件库,包含.Net SPF validation, SenderID ...

  8. GlusterFS源代码解析 —— GlusterFS 简单介绍

    原文地址:http://blog.csdn.net/wangyuling1234567890/article/details/24564185 -- -- 本系列博客源代码是基于GlusterFS 3 ...

  9. DNS加速之“智能DNS”跟“双线加速”、“CDN加速”的区别

    “智能DNS”跟“双线加速”.“CDN加速”的区别相信,很大部分IDC用户可能还没弄清楚状况,有人觉得智能DNS跟双线加速.CDN加速是类似的技术.其实不然,它们在工作方式上有着本质的区别,但它们又可 ...

随机推荐

  1. Redis的PHP操作手册(转)

    String 类型操作 string是redis最基本的类型,而且string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象 $redis-> ...

  2. 再次用CodeIgniter实现简易blog

    天变冷了,人也变得懒了不少,由于工作的需要,最近一直在学习CodeIgniter(CI)框架的使用,没有系统的从PHP基本语法学起,在网上靠百度谷歌,东拼西凑的实现了一些简单的功能.所以,老PHPer ...

  3. 【问题排查】StringIndexOutOfBoundsException

    工作中遇到 java.lang.StringIndexOutOfBoundsException ,查看网上资料,总结如下 1.异常定义: Java API指出StringIndexOutOfBound ...

  4. MMORPG大型游戏设计与开发(客户端架构 part1 of vegine)

    重写有些核心接口的时候,其实遇到了许多的问题,甚至一度的想过要放弃,但是最终还是坚持了下来.在客户端提供的这些接口中,可以清晰的看到客户端所依赖的各种模块的支持,以及各自之间的一些关联.下面只是介绍了 ...

  5. SQLServer(MSSQL)、MySQL、SQLite、Access相互迁移转换工具 DB2DB v1.1

    最近公司有一个项目,需要把原来的系统从 MSSQL 升迁到阿里云RDS(MySQL)上面.为便于测试,所以需要把原来系统的所有数据表以及测试数据转换到 MySQL 上面.在百度上找了很多方法,有通过微 ...

  6. linux 清除驱动对网卡的记录

    1.情况说明: 通过U盘做了一个linux 系统镜像(可读可写),设置eth0的ip=10.0.73.11.第一次启动的时候ip正确. 当我将该镜像)在另一台服务器启动的时候,无法通过10.0.73. ...

  7. myeclipse中Web App Libraries无法自动识别lib下的jar包

    在项目目录下找到.object文件修改 <natures> <nature>org.eclipse.jem.workbench.JavaEMFNature</nature ...

  8. PDO 学习与使用 ( 一 ) :PDO 对象、exec 方法、query 方法与防 SQL 注入

    1.安装 PDO 数据库抽象层 PDO - PHP Data Object 扩展类库为 PHP 访问数据库定义了一个轻量级的.一致性的接口,它提供了一个数据访问抽象层,针对不同的数据库服务器使用特定的 ...

  9. phalcon: 表单

    以实例为说明: controller <?php use \Phalcon\Forms\Form; use \Phalcon\Forms\Element\Text; use \Phalcon\F ...

  10. 2 weekend110的HDFS的JAVA客户端编写 + filesystem设计思想总结

    HDFS的JAVA客户端编写  现在,我们来玩玩,在linux系统里,玩eclipse 或者, 即,更改图标,成功 这个,别慌.重新换个版本就好,有错误出错是好事. http://www.eclips ...