小结:
1、租用的服务器只有一个IP,用户的访问路线是由路由器根据访客的实际访问速度选择最优访问路径,来选择访问的。而且不占用任何的服务器资源。服务器的上行和下行都是有路由器来选择最佳的路线,所以这样能够真正的做到各运营商之间都达到最佳的访问速度实现真正的BGP效果。
https://baike.baidu.com/item/边界网关协议
- 中文名
- 边界网关协议
- 外文名
- Border Gateway Protocol
- 类 型
- 外部网关协议EGP
- 简 称
- BGP
BGP的结构和功能
BGP用于在不同的自治系统(AS)之间交换路由信息。当两个AS需要交换路由信息时,每个AS都必须指定一个运行BGP的节点,来代表AS与其他的AS交换路由信息。这个节点可以是一个主机。但通常是路由器来执行BGP。两个AS中利用BGP交换信息的路由器也被称为边界网关(Border Gateway)或边界路由器(Border Router) [1] 。
由于可能与不同的AS相连,在一个AS内部可能存在多个运行BGP的边界路由器。同一个自治系统(AS)中的两个或多个对等实体之间运行的BGP 被称为 IBGP(Internal/Interior BGP)。归属不同的AS的对等实体之间运行的BGP称为EBGP (External/Exterior BGP)。在AS边界上与其他AS交换信息的路由器被称作边界路由器(border/edge router)。在互联网操作系统(Cisco IOS)中,IBGP通告的路由的距离为200,优先级比EBGP和任何内部网关协议(IGP)通告的路由都低。其他的路由器实现中,优先级顺序也是EBGP高于IGP,而IGP又高于IBGP。
BGP属于外部网关路由协议,可以实现自治系统间无环路的域间路由。BGP是沟通Internet广域网的主用路由协议,例如不同省份、不同国家之间的路由大多要依靠BGP协议。BGP可分为IBGP(Internal BGP)和EBGP(External BGP)。BGP的邻居关系(或称通信对端/对等实体)是通过人工配置实现的,对等实体之间通过TCP(端口179)会话交互数据。BGP路由器会周期地发送19字节的保持存活keep-alive消息来维护连接(默认周期为30秒)。在路由协议中,只有BGP使用TCP作为传输层协议。
IETF先后为BGP制定了多个建议,分别为:
RFC 4271:当前正使用的BGP协议版本,称之为BGP4。
RFC 1654:BGP4协议的第一个规范。
RFC 1105、RFC 1163、RFC 1267、RFC1771:BGP4之前的BGP版本。
特点
BGP属于外部或域间路由协议。BGP的主要目标是为处于不同AS中的路由器之间进行路由信息通信提供保障。BGP既不是纯粹的矢量距离协议,也不是纯粹的链路状态协议,通常被称为通路向量路由协议。这是因为BGP在发布到一个目的网络的可达性的同时,包含了在IP分组到达目的网络过程中所必须经过的AS的列表。通路向量信息时十分有用的,因为只要简单地查找一下BGP路由更新的AS编号就能有效地避免环路的出现。BGP对网络拓扑结构没有限制,其特点包括:
(1)实现自治系统间通信,传播网络的可达信息。BGP 是一个外部网关协议,允许一个AS与另一个AS进行通信。BGP允许一个AS向其他AS通告其内部的网络的可达性信息,或者是通过该AS可达的其他网络的路由信息。同时,AS也能够从另一个AS中了解这些信息。与距离向量选路协议类似,BGP为每个目的网络提供的是下一跳(next-hop)结点的信息。
(2)多个BGP路由器之间的协调。如果在一个自治系统内部有多个路由器分别使用BGP与其他自治系统中对等路由器进行通信,BGP可以协调者一系列路由器,使这些路由器保持路由信息的一致性。
(3)BGP支持基于策略的选路(policy-base routing)。一般的距离向量选路协议确切通告本地选路中的路由。而BGP则可以实现由本地管理员选择的策略。BGP路由器可以为域内和域间的网络可达性配置不同的策略。
(4)可靠的传输。BGP路由信息的传输采用了可靠地TCP协议。
(5)路径信息。在BGP通告目的网络的可达性信息时,处理指定目的网络的下一跳信息之外,通告中还包括了通路向量(path vector),即去往该目的网络时需要经过的AS的列表,使接受者能够了解去往目的网络的通路信息。
(6)增量更新。BGP不需要再所有路由更新报文中传送完整的路由数据库信息,只需要在启动时交换一次完整信息。后续的路由更新报文只通告网络的变化信息。这种网络变化的信息称为增量(delta)。
(7)BGP支持无类型编制(CIDR)及VLSM方式。通告的所有网络都以网络前缀加子网掩码的方式表示。
(8)路由聚集。BGP允许发送方把路由信息聚集在一起,用一个条目来表示多个相关的目的网络,以节约网络带宽。
(9)BGP还允许接收方对报文进行鉴别和认证,以验证发送方的身份。
https://baike.baidu.com/item/BGP多线
中国联通 、中国电信、中国移动、教育网和一些大的民营IDC运营商都具有AS号,全国各大网络运营商多数都是通过BGP协议与自身的AS号来实现多线互联的。使用BGP协议互联后,网络运营商的所有骨干路由设备将会判断到IDC机房IP段的最佳路由,以保证不同网络运营商用户的高速访问。
BGP 多线的优点:
1.服务器只需要设置一个IP地址,最佳访问路由是由网络上的骨干路由器根据路由跳数与其它技术指标来确定的,不会占用服务器的任何系统资源。服务器的上行路由与下行路由都能选择最优的路径,所以能真正实现高速的单IP高速访问。
2.由于BGP协议本身具有冗余备份、消除环路的特点,所以当IDC服务商有多条BGP互联线路时可以实现路由的相互备份,在一条线路出现故障时路由会自动切换到其它线路。
3.有用BGP协议还可以使网络具有很强的扩展性可以将IDC网络与其他运营商互联,轻松实现单IP多线路,做到所有互联运营商的用户访问都很快。这个是双IP双线无法比拟。
BGP多线技术: [1]
BGP是自治系统间的路由协议,它的主要功能是和其他BGP说话者之间交换网络可达性信息。一个BGP说话者是任何为BGP配置的设备。BGP使用TCP作为它的传输协议(端口179),这提供了可靠的数据传输。
两个BGP路由器形成了一个传输协议的连接。这两个路由器被称为邻居或者对等体。一旦传输连接形成,两对路由器交换报文以开放并确认连接参数。在这一步,路由器交换BGP版本号、AS号、持续时间、BGP标识和其他可选参数等信息。如果对等体间有任何一个参数不一致,就会有差错通知发送,这个对等体连接就不会建立。
如果对等路由器都同意这些参数,则整个BGP路由表通过UPDATE报文进行交换。UPDATE报文包含了经过每个系统的可达目的地的列表(即网络层可达性信息NLRI)以及每个路由的路径属性。路径属性包含了诸如路由源(ORIGIN)之类的信息和优先权的高低。
BGP表在BGP连接的过程中对每个对等体都是有效的。如果有路由报文发生了变化,邻居路由器使用增量的更新(报文)来传递这个信息。BGP并不要求刷新路由信息。如果没有路由变化产生,BGP对等体仅交换保留(keepalive)报文,keepalive报文被周期性地发送以确保连接是保持有效的。
优势分析
BGP机房就是服务器租用商通过技术的手段,实际不同运营商能共同访问一个IP,并且不同运营商之间都能达到最快的接入速度的相关网络技术。
BGP机房在一定程度上解决了各用户南北互通的问题,提高了用户的访问速度,用BGP协议实现的单IP双线路的效果。该方案就是通过BGP协议,直接将其中一条线路的IP映射另外一条线路IP上,当访客浏览你的网站时,会自动根据实际情况选择访问速度最快的线路,这样各个运营商的用户都能达到最佳的访问速度。
1. 租用的服务器只有一个IP,用户的访问路线是由路由器根据访客的实际访问速度选择最优访问路径,来选择访问的。而且不占用任何的服务器资源。服务器的上行和下行都是有路由器来选择最佳的路线,所以这样能够真正的做到各运营商之间都达到最佳的访问速度实现真正的BGP效果。
2. 由于BGP协议本身具有冗余备份、消除环路的特点,所以当你托管或者租用的服务器出现故障时,能实现互相备份。同时自动切换到其它线路去,并且不影响正常访问。
3. BGP服务器租用还有较好的拓展性和融合性,可以实现和其它运营商互联互通,轻松实现单IP多线路,做到所有互联运营商的用户访问都很快。这是双IP双线服务器租用所不能实现的。 [2]
bgp 网络bgp(border gateway protocol)网络是基于边界网关协议与互联网as(自治系统)高速互连互通的网络类型。 腾讯云 bgp 线路覆盖30家运营商,可以解决跨网访问慢、不稳定的情况,为用户业务提供优质的网络访问体验。
https://tig.qpic.cn/doc/2018腾讯移动游戏技术评审标准与实践案例.pdf
说了这么多,那么解决这些DNS问题有什么办法?
我们主要采用httpdns+LDNS结合的方式:
技术原理:
A、SDK通过高效的BGP线路直接访问HTTPDNS后台,获取域名的最优IP,客户端获取到业务IP后,就直接往此IP发送业务协议请求。B、基于容灾考虑,保留使用运营商LocalDNS解析域名的方式作为备份线路。(因为我们发现,有些BGP IP也会被极少数运营商劫持)
由于优先取HTTPDNS,而不是LDNS,跨运营商和4A的问题也相应得到解决。通过搭建我们自己的HTTPDNS服务和LDNS双备份服务,发现域名劫持率基本由1.5%降为0.1%,跨运营商访问率也由4%基本降为0,4A导致的登录慢情况也不再出现。