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

其实双线技术的实现方式并不是什么新的技术问题了,说白了就是智能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. ATS(App Transport Security)对HTTP协议屏蔽引起的问题

    一.问题描述 在学习网络处理的过程,发现代码都没错,运行时会收到如下错误提示: App Transport Security has blocked a cleartext HTTP (http:// ...

  2. jQuery 的原型关系图,整体把握jQuery

            若干个月前,在博客园中看到一篇文章,内容很简单,就是一幅图,展示的是 jQuery 中各对象之间的关系,当时就觉得,这就是我想要的最直观的总结 jQuery 的方式.在那篇文章中,也有 ...

  3. Spring简介和基础

    Spring介绍 1.什么事Spring? spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架. spring的设计模式是单例模式和工厂模式. 2.spring的四大优点 轻量 ...

  4. [C++] memset 和sizeof 的使用注意

    因为使用C++写小题目时经常需要清除数组,这里记录下Memset函数的sizeof运算符的使用注意. memset的特点是:将给定地址后连续的内存(包括给定地址),逐个byte初始化为参数中指明的值. ...

  5. 【转载】C#之int与Java之Integer的区别

    本文涉及到一些JVM原理和Java的字节码指令,推荐感兴趣的读者阅读一本有关JVM的经典书籍<深入Java虚拟机(第2版)>,将它与我在<.NET 4.0面向对象编程漫谈>中介 ...

  6. 安装Postman

    原文地址:http://blog.csdn.net/ouyang111222/article/details/45743831 ** (一)安装篇 ** Postman是一款功能强大的网页调试与发送网 ...

  7. php 调用 java 接口

    php 需要开启 curl模块 /** HTTP 请求函数封装*/function http_request_cloudzone($url, $data){ //var_dump($url." ...

  8. sql语句语法大全

    一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...

  9. C# 在vs2010中打开vs2012的项目(转)

    在vs2010中打开vs2012的项目 今天在自己的电脑上装了vs2010然后要打开之前在vs2012上创建的sln文件 被提示-- 无法打开在新版本上创建的sln--解决方案--文件 其实vs201 ...

  10. lightOJ 1030(期望)

    题意:有一个迷宫是1×n的格子,一个人每到一个格子就能够把这个格子内的金子所有拿走,刚開始站在第1个格子,然后開始掷骰子得到点数x,他就要从当前位置走到加x的位置.假设发现位置是大于n的就又一次掷骰子 ...