大陆网络运营商
大陆的主流国际网络有电信电信163、电信CN2、、联通169、联通AS9929、移动CMI以及教育网CERNET/CNGI和科技网CSTNET,其他比如铁通、鹏博士等网络不具有国际出口,故不在本文的讨论范围。
零、概念简述
① 国际互联层
根据电信的资料,一般的国际流量在跨境时要经过的互联层为【C-I-X-S-F】,这一套同样适用于联通移动。这其中C段为国内核心层,对应北上广城域网的超级汇聚;I段为国际出口层,对应北上广的国际出口互联点;X和S段为国际交换层,对应三大运营商位于海外互联的汇聚;F为国际接入层,也就是我们经常提到的POP,用来供给企业等服务商接入网络的接入点。
目前民用网络的拥塞原因主要是C-I段容量不足,由图中亦可看到丢包是发生在C-I段交互后,这一段的网络受政策因素以及成本的影响运营商并不愿意主动扩容这一段网络,网络上可以查到上一次的电信2016上海汇聚扩容招标项目耗资18亿元。
② 带宽接入及结算
在欧洲和北美以外的地区,基础网络运营商之间的互联不是免费的。如果问基础运营商是什么,比较不准确的说就是有服务于家庭或一般企业的网络运营商,能够为其互联网用户提供内容;与此相对,诸如Google、Microsoft之类虽然参与了基础网络建设,但是他们是作为内容提供者的角色存在,需要向基础网络运营商支付带宽费用以满足末端用户的需求。
特别是在亚太地区,本土运营商在基础网络建设中投入了大量的资金,也不存在像欧美互联中心主导的T1免费互联,所以接入本土运营商意味着要向对方支付较高的流量费用。我国普惠家宽的政策使得商用带宽的价格远高于周边国家,整体定价的策略是香港最高,美国最低,接入价格差异可以达到20倍左右。
这里还需要提到一个概念,就是越高级别的骨干网接入的费用越高,因为末端骨干接入多数流量不一定会占用更高一级的骨干网,但是高级的骨干网意味着到末端整条链路的带宽占用,国际出口恰好就站在这个制高点。同时地理位置越近对大陆的运营商而言同时意味着更高的优先级和更低的QoS级别,至于欧美便宜的原因在于欧美互联网中心的连通性支持使得三大运营商也是受益方。
接入一家运营商的网络,有接入点POP接入、点对点电路等方式,最常见的是通过POP接入。POP多数情况下就是指运营商位于海外的接入点,也就是上文F层的存在;还有就是像NTT这样在亚太非常强势的运营商,曾经还在上海建立过POP,与电信的互联就是点对点电路直达I段。
作为机房而言,连接到大陆既可以向大陆运营商直接购买带宽接入POP,也可以接入一些本土运营商比如Telia/Cogent之流再通过他们与运营商的互联到达大陆。如果你通过本地运营商,比如Cogent这样的廉价商宽,它与三大运营商的互联是有限的,大量带宽的出售导致其部分方向出口容量不足。
另外POP到大陆的总带宽也是固定的,比如移动香港POP到大陆带宽不够,即使你在香港接入了足量到达POP的带宽,也会因为I-X/S段拥塞导致网络质量不及预期。但是不管怎么说,对于大陆优化的机房起码要直接接入CTG的POP,这样至少到POP的带宽是可以保证的,不像PCCW的Mainland Access
对电信方向流量进行主动QoS。
③ TraceRoute
大规模的网络互联,极少有两点连线式的网络结构,所有的网络流量都要经过BRAS、市级汇聚、省级汇聚再到核心汇聚再前往目的地,中间的路径是由路由表确定的。每经历一级交换机,TTL值会自动加1,直到到达目的IP或TTL达到上限255,所以当我们用从1开始用递增的TTL向某个IP发送ICMP/TCP请求时,能够得到来自中间的交换机的响应,由此即可勾画出到达该IP所经历的路径。
在TraceRoute中常常会遇到中间返回*的情况,这是由于发送的TTL值未得到任何的交换机响应,可能是屏蔽亦可能是不存在对应交换机;再就是比如DDoS-GUARD这样的服务商在进入其骨干网后屏蔽了ICMP协议,我们便无法通过ICMP测得在其骨干网中的路由情况,这也是对于自身骨干网的一种简单保护。
④ MTR
mtr和traceroute的原理是相同的,不同在于traceroute仅进行一次发包获取路径,而mtr是通过重复发包获得发出与收到数据包的比例来得到一个丢包率的数据,通过对经过每一级交换机的丢包信息可以得到对网络问题以及质量的诊断。
在交换机工作中,当负载较高时不会积极响应ICMP包,这就造成MTR中可能存在中间某一跳丢包明显高于前后的现象(如图中14跳),这是正常现象。在去程与回程相同的情况下,丢包率在MTR中应当是逐级上升的,在实际测试中由于诸多因素这一数据会有一些浮动,但是有一点最终丢包率的判定应使用最后一跳即目标的数据,其他异常数据比如前面提到的异常高丢包在我们进行判定的过程中应当忽略掉这一数据。
⑤ BestTrace
besttrace
是ipip.net
制作的一个简单、便捷的网络工具,官网地址(点击前往)。具有较为美观的TraceRoute、MTR等功能,能够在获取路径交换机的IP同时给予一个IP的运营商、地域归属信息,极大地方便了我们对于路由的判断。
即使ipip.net是国内IP地址库更新最快的,它也不是实时的数据,当运营商部分变动时它也做不到第一时间更新。再就是阿里云、腾讯云内网使用的11.0.0.0/8
和9.0.0.0/8
分别为美国国防部和IBM持有的IP,地图上就会显示路由绕了美国一圈。
所以路径的判断一定要根据实际情况,同样比如到达广州的国际出口后突然出现一个显示为南京的IP,这时我们就要根据前后的延迟判定它究竟有没有去南京,出现这种情况一般是运营商变动了互联点IP,地址库未及时更新。
IPIP.NET的Windows端在这里就不再赘述,主要讲讲Linux端的使用。IPIP提供的包是预编译的二进制包,下载后选择对应的版本直接添加执行权限运行即可。
BestTrace
#添加执行权限
chmod +x besttrace
#执行路由测试
./besttrace IP_Address
#常用附加参数
-q 1 //仅追踪一次
-T //使用TCP模式追踪
-6 //使用IPv6追踪
-g cn //切换中文显示
-g en //切换英文显示
#使用举例
./besttrace -q 1 1.1.1.1 -T -g cn
其中TCP追踪的用途在识别一些玩弄手段的服务商时十分有用,绝大多数情况下ICMP和TCP路由是配置成相同的,我们测试的mtr
和traceroute
默认也是使用ICMP来进行追踪。我们日常使用的http协议等都是基于TCP传输的,有些不法商家比、便让ICMP走CN2而TCP走163,表面测上去光鲜亮丽,实际使用上便露出原形。在交换机的配置中甚至连TCP大小包都可以设置走不同的路由,所以在测试路由时,最起码一定要同时测一下TCP路由是不是和ICMP的一致。我这里刚好就有个CERA香港的例子,ICMP走香港CN2而实际上TCP走了东京CN2,多出来的24ms延迟也说明它确实经过了日本。
一、中国电信
中国电信运营有两个主要的骨干网,分别为163民用网(AS4134)和CN2精品网(AS4809),骨干网IP分别是202.97
和59.43
。电信的精品网全程是ChinaNet Next Carrier Network
,简称CNCN或CN2,流量级别在400G左右。CN2网络的建设电信投入了大量的资金购买了Telia、NTT等T1运营商的Transit,同时在国内使用专用的汇聚点,能够保证互联的稳定性。
接入CN2骨干网可以在国内接入本地CN2,价格以江沪浙最低、内陆价格递增;也可以机房在境外接入,分为GT和GIA两项业务,GT即Global Transit
、GIA即Global Internet Access
。GT业务仅存在于北美,价格是GIA的1/4,国内汇聚点与163共用,质量并没有比163好很多,况且由于CN2骨干网趋于饱和电信已经取消了GT业务的售卖。从163网络前往GIA则是去程走163骨干网前往最近的CN2互联点,回程绝大多数省份可以直接到达城域网;GT则只能在北上广进行互联。
CN2与163的互联点在最近三年都没有扩容的迹象,比如南京的互联点拥塞严重甚至出现了间歇丢包的情况。如果考虑DDoS防护和速度的均衡,像CERA洛杉矶这样采用163去程CN2回程的是很好的选择。
至于GT与GIA的区别,个人就推荐一个最简单的方法,在IPIP.NET选择一个四川电信的节点,如果去程在成都进入CN2骨干网就是GIA,如果在上海或者广州那就是GT。此方法同样适用于陕西、江苏等具有CN2民用互联点的省份,只要出现了在北上广外跨入CN2骨干网则一定是GIA网络。
电信内部对于AS4809的路由隔离没有特殊的要求,向下发送路由表就能够改变路由策略,曾经在CN2骨干网负载较低时不少企业同时购买GT和GIA并使用GT的容量偷跑GIA,其中不乏较大的企业如Zenlayer等,今年早些时候都受到了处罚。当然也有阿里云这样反向操作的,本身阿里云在香港没有购买GT,因为轻量服务器为了差异化禁播了AS4809,去程收不到CN2的路由,回程变为CN2 GT,实际上在使用购买的GIA容量跑GT。
二、中国联通
(写不动了,有时间再说)
联通海外POP接入其实卖的比电信贵一些……
三、中国移动
中国移动运营有CMNET、CMHK、CMI三张骨干网,其中CMI为CMNET和CMHK提供国际网络Transit。
CMI出售的带宽仅保证本地速度,不保证到达CMNET的速度。这里就想说一句,香港移动即使是香港最便宜的大陆直连带宽,也要十几刀1M,还是比北美CN2贵,而且那个渣到爆的质量根本就不值,不要被延迟冲昏了头脑,看丢包啊!
四、中国教育网
中国教育网(AS4538
)是由赛尔网络运营的中国学术网络,接入单位为高校或学术单位,最新的骨干网为101.4
。
教育网的带宽费用相比于三大运营商是很贵的,确切的消息是卖到了一年30万/G,而且网络质量并不好。去年下半年教育网互联点出现了严重的拥塞,晚上到电信的延迟可以达到120ms以上,直连香港拥塞到300ms以上,年初进行了一次扩容,网络质量略有上升。
教育网的国际网络很简单,物理电路有2*10G到洛杉矶、2*10G到欧洲以及去年年底从联通买的一根100G到香港。IPv4香港方向接入了20G的Telstra,北美方向接入了10G的TATA,到欧洲的10G是接到欧洲教育网GEANT的,不承载公网流量,其他海外几个海外高校的接入不清除具体情况。
另一个就是China Next Generation Internet
,简称CNGI(AS23911
),也就是CERNET2,教育网的IPv6出口网络,同时也作为中国科技网AS7497
的IPv6出口。IPv6北美方向接入了共10G的Cogent和HE,香港方向10G的HKIX,其中香港方向由于自有PNI导致很难互联上,负载低速度很快。
五,中国科技网
中国科技网(AS7497
)是由中科院运营的中国学术网络,接入单位为中科院直属单位及高校,骨干网159.226
。科技网只有香港一个出口,接驳了Cogent、PCCW和HKIX,容量都不是非常大,由于骨干网负载低速度并不慢。
另外有一根10G的网络到达欧洲教育网GEANT,延迟也不错;不过科技网受众很小,价格也不便宜,这里也就简单提一句罢了。
六、结语
写这篇文章的目的,一简单谈一下服务器链路怎么看,再就是给三大运营商说两句话;整篇文章是基于博主的一些认知做的描述,不能作为严谨的论述证据引用,可能存在一些谬误,希望大家发现后予以指正。
三大运营商的国际出口并不是想扩容就能扩容,运营商之间的互联也是永远是永恒不变的利益,作为运营商都更希望将流量留在自己网内而不在互联上花更多的钱,这也是一种互联互通发展的阻碍。
2020年6月,城域网IPv6流入流量4454.63Gbps、流出流量2285.40Gbps。
中国电信:1045.15Gbps(入) /718.11Gbps(出)
中国移动:1335.54Gbps(入) /602.29Gbps(出)
中国联通:2053.10Gbps(入) /948.80Gbps(出)
教育网: 20.84Gbps(入) /16.20Gbps(出)
城域网IPv6流入流量占比:中国电信1.29%、中国移动1.83%、中国联通1.53%。
国内互联基础设施的建设成果诸位有目共睹,根据国家IPv6发展平台的流量数据及占比反推三大运营商城域网流量流入峰值已达到300T以上,世界上绝对找不出第二个国家或地区的运营商能够承受如此大的流量。至于用国外服务器感受到的全球畅通感,很大程度上是受益于机房间的互联容量充裕,如果你使用欧美普通家宽访问一些诸如Cogent的廉价单线网络,连通质量便不再是那么光鲜亮丽。
国内国际出口总量还是不少,中国与韩国类似,但是问题在于政策因素使得境外主流服务商无法在大陆设置CDN节点、无备案网站无法使用国内的CDN,本应在末端获取的信息全部压到了国际出口,也是一种浪费。境内设置CDN比如Steam的游戏下载,CDN放在了国内,不知道诸位有没有感受到那一份顺滑,希望政策有一天能够做出一些改变(当然这可能是不切实际的)。
有时候也要多一份理解,横向对比,其实国内的网络不是你们口中的“局域网”,也不是所传口中那么不堪。
特别鸣谢:LiShuo
留言