自从上个月玩机以来,看了很多有关线路的科普,下面是我对线路(尤其是CN2)的一些理解,希望对刚入门的萌新有帮助,在选配机器的时候可作为参考,当然也希望大佬指正。
- 首先线路分为两种,一种是去程线路(你家到VPS),一种是回程线路(VPS到你家)。那么是哪个线路对你的体验影响最大呢?是回程线路。为什么呢?举个例子,你想看一个大小为1GB的油管视频,数据是怎样流动的呢?这里我用最简单通俗易懂的方式来做一个说明(不严谨):
1.你的电脑发送一个数据包给VPS,告诉你的VPS我想看这个1GB的视频,这个数据包的大小非常小,大概只有1KB左右。 ------走去程线路 (1KB)
2.经过去程线路,你的VPS知道了你的意图,原来你要看这个1GB的视频,那么它就会帮你去访问油管,拿到这个数据的内容 ------走国际互联(1GB)
3.VPS拿到了这个视频,将这1GB的数据传回给你,这次走的是回程线路。 ------走回程线路 (1GB)
- 通过这个过程可以发现,回程的数据包显然是要比去程的数据包要大得多的,所以回程线路更重要。那么去程线路就随便选了吗?当然不是,因为数据的交互过程其实并不是这么简单的。假设你看视频,刷网页,这些数据都是基于TCP协议传输,当去程线路太差,丢包率高的情况下,你的VPS根本收不到你的ACK请求(也就是你想看视频的请求),它就不会跟你建立连接,数据仍然发送不过来,你的视频也就卡住了(看视频是分段传输,不是一口气发1GB过来的)。所以最好的线路选择就是:能跑满你本地的带宽,并且丢包率低。
- 那么怎么查看你的去程线路和回程线路呢?
1.查看去程线路:打开cmd窗口,输入:
tracert <你的VPS的公网ip>
- 这可以简略地看到你的数据包经过了哪些路由器,为什么说是简略呢?因为这tracert命令是基于ICMP的,有些路由器接收到ICMP的数据包会拒绝给你响应(在路由跟踪里体现就是'',但其实还是把你的数据包转发给了下一个路由器)。根据这经过的ip地址,可以判断你的线路数据哪一种(是CN2,163,还是4837,9929)。具体怎么判断,此处不展开说明。
- 2.查看回程线路:首先你要知道运营商分配给你的公网ip(因为中国公网ip数量是人口的1/4,绝大部分人没有独立公网ip,运营商是通过一种叫做NAT端口映射的方式让你变相拥有了公网ip),打开baidu.com,搜索框输入ip,这里显示的就是你的公网ip(如果显示在国外请关闭代理或关闭全局模式)。拿到你的公网ip后,登上你的VPS,在终端里输入
# 安装 NextTrace (Linux)
curl nxtrace.org/nt | bash
# 安装完成后,追踪回程
nexttrace <你的本地公网IP>
- 这就可以分析出你的回程线路属于哪种(在商家不大小包的情况下)。
- 若你用的是电信,那么接下来我的经验可能对你有些帮助。接下来全部说的是电信:
- 目前据我测试,在去程的时候,电信并不提供CN2GIA线路,如果你去traceroute提供CN2GIA线路的VPS,例如Dmit的Malibu,无一例外你会发现数据包都是在国内走163线路到上海或广州(除非你本身就在上海或广州),转交那里的59.43路由器出海到达美国西海岸。这种线路,我没理解错的话,叫CN2GT线路。也就是说,去程大部分都走的是CN2GT线路(你可以用你的电脑看看路由)。像这张图展现的路由一样:

- 请注意观察,第5跳的ip是202.97,那么说明从第5跳到第6跳,数据包是由202.97发往59.43的,这202.97.43.96就是一个BGP边缘节点,完成了从AS4134至AS4809的跳跃,数据包在这一段仍然在163骨干网传输。除上海,广州外的城市,绝大部分去程路由几乎都像上图这样。
- 那么现在来看看回程的区别。我这里先给出一个结论:你当地的运营商分配给你的NAT公网ip会导致你原来本应该走CN2GIA的线路降级为CN2GT。这就会导致一个情况,那就是你觉得用CN2回程不如9929,表现就是虽然你用电信,但eb的效果比pro更好。这不是VPS服务商的问题(我用DMIT的Malibu实测过,这是公认的CN2GIA了吧)。
- 以我本地的NAT公网ip(110.191.181.x)为例,在Malibu的终端里跑nexttrace,结果如下:

- 看这回程路由,可以发现:数据包在广州的时候就进入了163骨干网,由163运输回成都,这就是CN2GT。那么这是成都电信的问题吗?其实并不是,若换一个同样的成都电信ip,例如:

- 就可以发现这数据包一直送到成都市才下CN2,进入163,这才是真正的CN2GIA。
- 一句话就是,若运营商给你的ip不支持CN2GIA,那么就有可能体现出9929比CN2回程更好的情况,我自己就是这个情况,也有一小部分人有这个情况。如果碰上了这个情况,那就没有必要执着去回程CN2了,9929可能更适合你(出现PRO不如EB的情况)。
大佬啊
大佬
大佬,学习了
不错的科普贴
后面分析的还挺专业,不是电信用户,帮顶一下,有参考价值
感谢科普
感谢科普
9929 也是要经过163啊又不是9929直通你家。移动用gia也是也要经过cmi一下,但是用gia就是没qos。说明你讨论的这个问题不算什么问题。
整体很对,楼主分析很专业
但GIA/GT不能光靠国内的几跳是163还是cn2来判断
家宽大部分都是163,路由最终无论是什么线路都会落到163,早几跳晚几跳更多是路由策略决定的,163电信的骨干网不考虑出境的情况下在境内很多地区反而比cn2要稳定且直。追求这个没必要
另外全国很多地区电信联通互联很烂,晚高峰丢包和延迟严重,走9929未必在所有地区都适用
感谢科普,已投鸡腿