为什么马来西亚的ISP在对接中国ISP的网络时会出现高延迟/高丢包率(Packet Loss)
相信很多人都发现到马来西亚的御三家宽带ISP,也就是 TIMEdotCom (AS9930) , unifi / TMNet (AS4788) 以及 Maxis Fibre (AS9534) 在访问或连接中国网站时特别慢,尤其是晚高峰的时候. 很多人都在骂马来西亚的ISP,问题是,原因真的出自马来西亚ISP而已吗?
*这是一篇非常长的文章,请耐心看完
一些你可能需要知道的名词:
1. ISP = 网络提供商 (e.g : unifi / Maxis / Digi / TIME)
2. 丢包 = 指数据包从发送后无法抵达终点,中间可能出现网络问题导致数据包无法被传送到终点,被称为丢包,简单理解为快递寄出去了可是运输途中不见了
3. ms = 毫秒,指的是延迟 (ping / latency) 的单位
*以下皆为个人观点
首先,让我们先理解地理位置造成的延迟:
我们都知道,要想让数据包从马来西亚传输到世界各个角落,都必须通过海底电缆.
而海洋里密密麻麻的海底电缆承担了这个重任.
这里拿个不是很恰当的例子:
你从吉隆坡国际机场飞往巴黎,大概需要用时 16小时,如果中途可能在日本转机的话,时间可能达到 20小时之多,同样的,数据包也是一样的道理,只不过时间从小时降到了毫秒.
如果数据包无法直接连接他的目的地,而需要中转,延迟肯定高不少.
如果其中一条海底电缆出现故障的话,数据包也有可能因为这个原因需要更多的中转地来抵达他的目的地国家,在这个过程中延迟和丢包就会上来了.
举个例子,今年3月,unifi / TMNet (AS4788) 用户在访问AWS 美国服务器/美国线路会遭遇非常严重的丢包,这是因为欧洲的其中一条海底电缆发生严重的断裂,导致所有通过该电缆的数据包全部要转移到其他电缆上,这无疑加剧了日益倍增的数据量,如果ISP也就是网络服务提供商没有及时调整线路,顾客会有非常明显的网络忽然变慢的感觉.
来自 TM 的电邮:
With regards to the internet service issues at your premise, we understand your frustration regarding this matter. Based on the technical report (1-XXXXXXXXXXXX), we hereby would like to confirm that your technical issue created on 3rd March 2021. Upon checking in our system, we found *VPN trace route* customer involved with the major breakdown in Europe due to fibre cut. As a result, almost the traffic diverted to US region and most of the available contingency backhauls and up streams congested during peak hours. The estimate time to resolved (ETTR) is 19th March 2021. *From the ping plotter results, the results are within acceptable range. Benchmark high latency issues and slow browsing of certain IPs or websites for US is <270ms.*
从电邮中我们可以看到,由于欧洲的其中一条海底电缆发生严重的断裂,导致上游出现拥挤,TM也无法调整线路,他们能做的也就是尽可能将数据平摊到其他线路,使丢包率降低,可是延迟会增高.
此外,运营商也可以在NOC(Network Operation Centre) 调整路由,比如 TIMEdotCom AS9930 以前访问 非 AS4837 可是属于中国联通的网络(比如 AS17816 广东省联通 ASN) 时,会绕至 日本 Tatacommunication 后经由 美国Tatacommunication 再接入广东联通,这些都是为了降低路由成本和压力,只保留优质线路让客户加钱才能使用,导致延迟和丢包感有明显的上升(马来西亚去美国普通大概是 200ms之间,还要从美国连接中国,至少100ms,总体可能会有230-300ms左右,更别谈还有丢包). 现在,TIMEDotCom AS9930 全线只要接入联通网络,包括 AS4837 和 非AS4837 (比如AS17816 广东省联通 ASN)时,只要上游是AS4837中国联通,都会经由 Singtel 新加坡 接入 Singtel 广州,然后由广州的联通AS4837 继续跳向下一个联通路由.
比如下图:
AS9930 TIMEDotCom - AS7473 Singtel - AS4837 China Unicom - AS17816 China Unicom Guangdong
*以下资料均从知乎采集+个人观点
2. 中国大陆只有御三家ISP,也就是中国移动,中国联通,中国电信. 他们基本垄断了中国的网络行业,阿里云/腾讯云的上游也基本是御三家.
而且,别忘了他们还有防火墙,据传由于防火墙性能不到位导致策略性丢包/TCP RST(未经证实).
你或许不知道,中国大陆御三家ISP的商业宽带是全世界数一数二的贵. 而且中国大陆拥有非常多的互联网用户,可是国际连接容量却跟不上节奏,这个问题不解决,晚高峰拥堵的状况是注定无解.
(i) 中国电信: 中国电信拥有2条可以从中国连接国际网络的线路,分别为常用的 163 骨干网(ChinaNet)和 CN2,ChinaNet Next Carrying Network. 163 网是中国电信建设的最早的一个网络,它为超过 1 亿的中国电信用户承载包括连往境外的,普通质量的互联网业务. 相反,CN2 网络的低丢包、低延时、轻负载让它成为中国电信用户连接国际网络的首选. 据统计,在中国电信的总网络连接中,163 网络承担了 85% 的网络流量,其余的 15% 流量,由 CN2 网络承担. 由此可见 CN2 网络的通畅. CN2 还分为 CN2 GT 和 CN2 GIA , GT 代表半程 CN2 网络,半程 163网络. 而 CN2 GIA 为全程 CN2 加持. 所以CN2 GIA 网络是中国电信里面最贵的那个.
虽然出口宽带总量最大,且人均出口带宽排行第二,但电信 163 网连接国际网络,会在高峰时段,在路由出海前的最后一跳,根据优先级,策略性地人为丢包,以减轻对主网的负担(QOS),这让普通电信用户糟糕的外网访问质量雪上加霜
163 网在经过国际节点时会出现 202.97.*.*
CN2 在经过国际节点时会出现 59.43.*.*
不要想当然地以为,服务器距离接入网络的地域蛮近的(上海 → 日本 / 广州 → 新加坡等),延迟和掉包情况一定不大,在该服务器有大量用户访问和绕路以及晚高峰情况下,163 网络的劣化程度比你想象的要严重得多:如从中国 → 新加坡(Godaddy 新加坡虚拟主机 / VULTR),实际上是从中国 → 美国 → 新加坡),单程环两次北太平洋,看你怕不怕
我们大多数访问到的中国网站服务器要不是 中国电信 就是 中国联通. 而由于中国电信不肯继续扩容163 以舒缓国际流量,目前这个情况是无解的,除非本地ISP肯花钱向中国电信购买 CN2 线路,否则高延迟高丢包问题注定无解
马来西亚ISP一般有3种路由可以接入中国电信,其中:
AS9930 TIMEdotCom : AS9930 Tdc - AS6453 Tatacommunication SG - AS6453 Tatacommunication JP - AS6453 Tatacommunication US - AS4134 China Telecom (200ms++)
AS4788 TMNet : AS4788 TMNet - AS6453 Tatacommunication UK- AS4134 China Telecom (200ms++)
某些特别线路:AS9930 Tdc - AS7473 Singtel - AS4134 China Telecom HK - AS4134 China Telecom - AS58543 China Telecom Huizhou
2016-2017 年时,中国电信连接亚太地区的路径普遍较差,绕美国是家常便饭
2018 年末,渐渐有了好转,电信一般都是绕日 NTT 过去,不过访问质量依旧很糟糕,线路无优化的服务器就是通信不稳定
如下图:163 网在经过国际节点时会出现 202.97.*.*
AS9930 Tdc - AS6453 Tatacommunication SG - AS6453 Tatacommunication JP - AS6453 Tatacommunication US - AS4134 China Telecom (200ms++)
AS4788 TMNet - AS6453 Tatacommunication UK- AS4134 China Telecom (200ms++)
AS9930 Tdc - AS7473 Singtel - AS4134 China Telecom HK - AS4134 China Telecom - AS58543 China Telecom Huizhou
(ii) 中国联通
中国联通拥有和电信一样的优质线路,AS9929是中国联通的A网(高级网络),AS4837就类似中国电信的 163骨干网,俗称联通 169 网
中国联通普通用户从市级 → 省级 → 国际出口 → 境外接入点的过程中,全程走 AS 号为 4837 的路由节点,这些路由节点的 IP 地址开头一律是 219.158.*.*
169 网络全天的丢包率在 1% ~ 3%左右,如果在夜晚间高峰期(UTC+8 18:00 至 23:00 时),丢包率可达到 4% 以上
晚高峰时期骨干网选择性丢包的力度比中国电信低很多
中国联通AS9929其实是一张技术相对比较老旧的网络,所具备的优势仅仅是用户少,网络负荷小,所以表现也还不错,主要提供国际和国内跨地市 MPLS-VPN 和大客户互联网专线任务的承载,常用于企业宽带和 IDC,极少用于家用宽带. (来源:CU VIP 是什么?AS4837、AS9929 线路 VPS 哪个好? - P3TERX ZONE)
马来西亚ISP一般有3种路由可以接入中国联通,其中:
AS9930 TIMEdotCom : AS9930 Tdc - AS7473 Singtel - AS4837 China Unicom
AS4788 TMNet : AS4788 TMNet - AS4837 China Unicom HK - AS483 China Unicom Mainland
其余以前常用线路:[Tatacommunication US - AS4837 China Unicom / NTT Japan - AS4837 China Unicom] -> 延迟最高的那个
AS9930 Tdc - AS7473 Singtel - AS4837 China Unicom
AS4788 TMNet - AS4837 CU HK - AS4837 CU Mainland
(iii) 中国移动
中国移动进出国际网络,在国内经过的绝大部分流量,均由 AS9808 网络承载,旧铁通的 AS9314 网络几乎已被放弃,目前未发现中国移动有类似中国联通/电信的优质网络.
目前来看,中国移动网络的国际访问质量中规中矩,尤其是电信用户谈之色变的东南亚未优化 线路(一般要从日本 NTT 过去或是绕美),在移动用户看来真是小 Case,如果不能通过广州移动直接过去,那就呆在广州移动绕一圈再过去
PCCW(电讯盈科) 线路目前是中港之间或是从中国到东南亚其他地区前且必须从香港中转线路的中,国内除纯 CN2 GIA 以外质量最好的线路
国内部分需经过的路由节点较多
回程和去程的路径很少恶意绕路
中国移动无疑是马来西亚用户的福音,基本 AS4788 TMnet / AS9930 Tdc 都是经过新加坡/香港进入,延迟能控制在200以下。
广州移动之类的可以低于 100ms
AS9930 TIMEDotCom 有两条不一样的线路:
AS9930 Tdc - AS2914 NTT SG - AS2914 NTT HK - AS58453 CMI (China Mobile International) HK - AS9808 China Mobile Mainland
AS9930 Tdc - AS6939 He.net KUL - AS6838 He.net SG - Equinix SG - AS58453 CMI (China Mobile International) Guangzhou - AS9808 China Mobile Mainland
AS4788 TMNet 目前发现一条线路:
AS4788 TMNet - Equinix SG - AS58453 CMI (China Mobile International) Guangzhou - AS9808 China Mobile Mainland
AS9930 Tdc - AS6939 He.net KUL - AS6838 He.net SG - Equinix SG - AS58453 CMI (China Mobile International) Guangzhou - AS9808 China Mobile Mainland
AS9930 Tdc - AS2914 NTT SG - AS2914 NTT HK - AS58453 CMI (China Mobile International) HK - AS9808 China Mobile Mainland
AS4788 TMNet - Equinix SG - AS58453 CMI (China Mobile International) Guangzhou - AS9808 China Mobile Mainland
AS4788 TMNet - Equinix SG - AS58453 CMI (China Mobile International) Guangzhou - AS9808 China Mobile Mainland
*以下皆为个人观点
3. 马来西亚ISP的不作为
一直以来,马来西亚ISP的路由问题饱受诟病,forum.lowyat.net 论坛上已经有非常多人吐槽尤其是 AS4788 TMNet 的路由问题.
包括像OVH 路由问题,访问新加坡IP的时候,晚高峰有非常明显的丢包问题.
中国路由问题一直饱受诟病,一方面是中国ISP的商业带宽真的太贵了,本地ISP不想付这个钱,一方面是本地ISP自己的网络都已经很拥挤了,然而他们还不想扩容.
AS4788 晚高峰访问新加坡服务(已经修复)
此外,本地ISP的互联也是做的很差,举个例子:
从 AS9930 TIMEDotCom 访问 AS4788 TMNET unifi 家宽
25/10/2021 测试结果:
AS9930 TIMEDotCom KL - AS9930 TIMEDotCom HK - AS6939 He.net HK - AS4788 TMNet unifi家宽
40-60ms ++
原本可以在本地通过 Myix 互联,延迟可以降低到<20ms 以内
可是如果大量流量从其他ISP涌入AS4788时候,延迟可以飙升至 200ms++ ,丢包 >10%
举个例子:
2020年东京奥运会直播,AS4788 TMNet 旗下的 unifiPlayTV 购买了转播权并且进行免费直播,RTM,马来西亚国营电视台也购买了转播权,所有马来西亚人民可访问 https://tokyo2020.rtm.gov.my 观看东京2020奥运会,并且使用 SwiftServe CDN 进行分发直播流,好巧不巧的,SwiftServe CDN在本地CDN会被指向 AS4788 TMNet 的服务器
由于大量其他ISP的用户涌入 AS4788 观看东京奥运会直播, 导致 AS4788 的出口基本出现非常严重的丢包表现,参见下图Smokeping (AS9930 - AS4788 1.9.62.158 unifiPlayTV server)
AS9930 TIMEDotCom KL - AS9930 TIMEDotCom HK - AS6939 He.net HK - AS4788 TMNet unifi家宽
AS9930 - AS4788 1.9.62.158 unifiPlayTV server
只要本地ISP一天不解决互联问题,从其他本地ISP连接到 AS4788 TMNet 的表现不会好到哪里去,更别提中国线路了.
如果你遇到这类问题,您可以:
收集证据,包括 traceroute / ping / mtr / pingplotter 结果
联系您的ISP并且告知他们这样的问题并附上traceroute / ping / mtr / pingplotter 结果
同时,请前往 https://aduan.skmm.gov.my 投诉,同样的,附上traceroute / ping / mtr / pingplotter 结果.
可以前往 https://forum.lowyat.net 查看是否有用户遇到和你一样相同的问题
资料来源:
特别感谢:
Kevin (https://blog.darkhorse.cloud) 提供 AS4788 TMNet 的 Traceroute 结果