业务出海-跨国网络访问优化方案

2020-05-08 10:25:19 浏览数 (1)

一、国际出口概念

国际出口带宽,一般是指国家的互联网国际出口的带宽,也就是国家的互联网主干光纤的出口带宽。互联网由小网络组成的,有局域网,城域网,省网,集团骨干网,中国的所有网络又构成一个大的网络,这些中国网络要连接世界网络,于是就有了国际出口带宽,带宽越大,带宽负载能力越强,访问国外的网站速度越快。

二、 国际出口现状

国际出口带宽每年都在不断往上增长,但是相比于跨境流量的增长率,这个远远还不满足保证中国国际流量业务需求。目前国际出口总带宽,即所有运营商(包括移动、电信、联通,科技网以及教育网)加起来也就不到9T。截至到2018年12月,中国有8.29亿网民,这样算一下人均,可能就觉得很少了。

另外要是对比一下中国台湾省,一个省有3T,咱们偌大的中国大陆就算小了。中国台湾省国际出口3T:

在国内的运营商中,主要是以三大运营商为主,电信带宽最大;

三、腾讯云海外回国现状

经常会有客户遇到腾讯云海外的服务器网络抖动或者丢包现象,经过18年的努力,腾讯云为了提升国内用户访问腾讯云海外机房质量,从三大运营商都拉了一定带宽的回国专线,比如电信的CN2,改善了网络访问质量。

那么,如何判断国内访问海外云资源是否走了比较优的路径呢?

大家都知道,运营商都是有两张网络;一张是面向公众,一张是面向企业或者高端客户。这里我就以中国电信为例说明一下:ChinaNet(BGP AS号4134),163骨干网也就是我们通常说的AS4134接入的带宽,是中国电信的骨干网,也就是我们经常看到202.97开头的路由。目前163回国方向非常拥堵(大规模流量往国内攻击)导致大家都很不开心。所以腾讯云买了电信的CN2资源。

CN2是对应老一代ChinaNet(电信叫163网)的新一代全球IP骨干网(AS4809)。CN2北京出口到伦敦,上海出口到圣何塞、洛杉矶、法兰克福、东京、中国香港,广州出口到圣何塞、洛杉矶、新加坡、中国香港,国内具体走哪个出口到海外估计要看城域网。不过通过CN2的路由大多是59.43开头的节点,而非CN2的节点多是202.97地址。

因此这里我们先要从电信客户的traceroute判断客户是走CN2网还是163网;运行tracert,如果结果里有多个59.43.x.x的节点,那用的就是CN2的线路了。反之,如果没看到59.43.x.x,而是有多个202.97开头的路由节点,那就不是CN2。但有时候电信提供的CN2线路有时是单向CN2路由,也就是说客户去国外的路由走CN2网,而回来的路由走163网。所以要看双向走CN2才能确定,CN2带宽费用比163费用贵多了。但是依然是有时候会出现不稳定的问题,因为电信国际出口有时候会被攻击。

比如上海电信用户访问腾讯云中国香港机器:可以看到tracert路径就有经过CN2网络。

上海电信用户访问腾讯云中国香港上海电信用户访问腾讯云中国香港

上海电信用户访问美西硅谷有CN2线路,而访问弗吉尼亚没有CN2线路。

上海电信用户访问美西硅谷上海电信用户访问美西硅谷
上海电信用户访问弗吉尼亚上海电信用户访问弗吉尼亚

四、跨国网络优化方案

常见的用户访问场景:

(1)客户端是国内非腾讯云用户,访问海外腾讯云资源

(2)客户端是国内腾讯云资源,访问海外腾讯云资源

(3)客户端是国内腾讯云用户,访问海外第三方资源(亚马逊、苹果等网站)

我们可以针对访问的场景提供一些建设性方案:

1、服务器绑定anycast IP方案(腾讯独有,但目前支持地区有限)

anycast地址方案是从网络路由层面进行加速的一种方案,不同于其他应用层加速服务,它能实现 IP 传输的质量优化和多入口就近接入,减少网络传输的抖动、丢包,最终提升云上应用的服务质量,扩大服务范围,精简后端部署。

总结一下就是把路由在多个地方发布,本地运营商学到之后,从本地运营商访问接入后,就直接走腾讯云的DCI骨干网络,从而达到稳定的效果。anycast地址方案相比于腾讯云对等连接或者全球应用加速方案,成本是最优的。

具体参考:https://cloud.tencent.com/document/product/644/12614

Anycast产品的设计主要以被动访问,使用在服务端,优化用户访问。

另外一种特殊用法便是主动访问,绑定anycast地址的资源也可以作为客户端,主动发起访问。(目前这个功能因为涉及安全合规问题,需要通过腾讯云申请才可以配置)

用户使用场景:经常有客户反馈国内服务器访问海外元素,比如google被GFW拦截

解决方案(非常适合上面说的场景3):

(1)可以在国内服务器上绑定使用anycast的地址

(2)在后端设置首包由境外比如中国香港出(首包设置主要是为了发起探测学习路由,然后通过腾讯DCI访问海外资源)

(3)观察效果

设置首包之前:

配置前访问google资源配置前访问google资源

设置首包之后:

配置后访问google资源配置后访问google资源

2、使用全球应用加速

具体参考:https://cloud.tencent.com/product/gaap?idx=1

其实全球应用加速针对的是服务端是腾讯云资源的场景,也就是上面说的场景(1)的情况;其中的原理是借助了腾讯云海外骨干DCI网络去承载;在客户端侧(比如国内)提供一个对外访问的公网地址,让该地方的用户通过该地址接入,然后走腾讯海外DCI骨干网络(腾讯云的骨干网络比普通公网网络稳定),到达服务端(比如美西腾讯云),从而达到优化网络稳定性的效果,延迟可能也有一定优化。具体架构见下图:

GAAP加速GAAP加速
用户就近访问用户就近访问

底层其实使用的就是对等连接的方案,如果对等连接两端的机器做转发,其实就差不多等同于GAAP全球应用加速方案。如果是源站在海外,需要同时服务国内和海外用户,除了全球应用加速以外,还可以CLB跨境绑定;甚至是国内和海外同时部署CDN。

GAAP底层架构GAAP底层架构

3、对等连接方案

建议通过利用国内私有网络机器和国外的机器建立对等连接,这里仅限私有网络(收费) ;

对等连接方案就是适合上述访问场景(2);当然如果在国内和海外建立了对等连接并开启了两端转发,就可以访问海外第三方,就也比较适合场景(3)。

具体参考:https://cloud.tencent.com/document/product/553/18827

4、CLB跨境绑定

对于不想使用GAAP方案的,也可以尝试CLB跨境绑定;clb后端绑定的服务器可以不在同一个地域,相当于暴露一个clb地址给用户去访问,然后通过腾讯骨干DCI回源到服务器,这种也适用于源站是腾讯云资源,需要提供跨境服务的情况。

具体参考:https://cloud.tencent.com/document/product/214/12014

5、自己搭建V**(成本最低)

客户如果需要业务测试,也可以在中国香港买个机器,搭建代理V**, 有些用户采取的方法是搭建V**,但是随着管控策略加强,很多V**效果也不会特别好,这个也不是合理合法的方式,要做社会主义好公民。

6、资源加速

另外还有一些资源加速的产品,针对静态资源、动态资源进行加速。普通的CDN就是静态加速,像腾讯云的全站加速网络就是静态 动态资源加速。

具体参考:https://cloud.tencent.com/document/product/570/8645

0 人点赞