logo NodeSeekbeta

【科普】对线路的一些理解

自从上个月玩机以来,看了很多有关线路的科普,下面是我对线路(尤其是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线路(你可以用你的电脑看看路由)。像这张图展现的路由一样:
    image
  • 请注意观察,第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,结果如下:
    image
  • 看这回程路由,可以发现:数据包在广州的时候就进入了163骨干网,由163运输回成都,这就是CN2GT。那么这是成都电信的问题吗?其实并不是,若换一个同样的成都电信ip,例如:
    image
  • 就可以发现这数据包一直送到成都市才下CN2,进入163,这才是真正的CN2GIA。
  • 一句话就是,若运营商给你的ip不支持CN2GIA,那么就有可能体现出9929比CN2回程更好的情况,我自己就是这个情况,也有一小部分人有这个情况。如果碰上了这个情况,那就没有必要执着去回程CN2了,9929可能更适合你(出现PRO不如EB的情况)。
12
  • 大佬啊

  • 大佬

  • 大佬,学习了

  • 不错的科普贴

  • 后面分析的还挺专业,不是电信用户,帮顶一下,有参考价值

  • 感谢科普

  • 感谢科普

  • 9929 也是要经过163啊又不是9929直通你家。移动用gia也是也要经过cmi一下,但是用gia就是没qos。说明你讨论的这个问题不算什么问题。

  • 整体很对,楼主分析很专业

    但GIA/GT不能光靠国内的几跳是163还是cn2来判断
    家宽大部分都是163,路由最终无论是什么线路都会落到163,早几跳晚几跳更多是路由策略决定的,163电信的骨干网不考虑出境的情况下在境内很多地区反而比cn2要稳定且直。追求这个没必要

    另外全国很多地区电信联通互联很烂,晚高峰丢包和延迟严重,走9929未必在所有地区都适用

  • 感谢科普,已投鸡腿

12

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有43586位seeker

🎉欢迎新用户🎉