上次的网游加速文章发表后,有人留言问了机房的选择问题,这个不是一句两句能说明白了,我单开文章进行一下说明。

机房应该如何选择

机房的选择我们要根据你的ISP网络来进行选择。最简单的是使用[traceroute/TRACERT.EXE]后接IP地址,大致就能知道咱们ISP到选择的机房路由线路。 traceroute.png

但是像对IP地址不熟悉的很难一眼看出是怎么走的最多能看出是经过多少眺,并且到达目的地延迟的情况。这里要推荐一个工具BestTrace图形化,可以告诉你这个IP地址的物理地址以及AS号。支持多平台甚至手机上也可以进行测试。

besttrace.png

各平台版本长的有点小区别,其中Windows版本是功能最多的版本。但我手边只有macOS的机器,我们以这个版本为例。在地址栏里可以输入域名或IP后敲击Enter开始查询,上侧列表为显示明细的每一跳的地址、延迟、物理地址、AS编号。当所有路径解析完毕后会在下侧的地图标出路由所经过的地点。

traceroute-gui.png

看图可以知道我们这次测试的路由从北京联通跳出后先进入了上海,再出口到日本东京。但其实联通在中国的北京、上海、广州都有出口机房,所以这个路由不是最优但我们不能人为修改路由的路径只能再换同一VPS商的IP地址段,多试几次就有可能会出现离你最近的机房直接出口。

经过我们的反复尝试总算遇到了一个直接从北京路由出去的目标IP。延迟也一下子缩减到了100ms.

route-bj.png

那么如果我只是为了Swtich联机我应该选哪个机房呢?

我们先看一下NS联机使用的接口域名对应的IP是什么,可以通过nslookup来得到结果

# nslookup api-lp1.znc.srv.nintendo.net
Server:		192.168.88.1
Address:	192.168.88.1#53

Non-authoritative answer:
Name:	api-lp1.znc.srv.nintendo.net
Address: 216.239.34.21
Name:	api-lp1.znc.srv.nintendo.net
Address: 216.239.38.21
Name:	api-lp1.znc.srv.nintendo.net
Address: 216.239.36.21
Name:	api-lp1.znc.srv.nintendo.net
Address: 216.239.32.21

那么这4个IP的服务器播地址哪呢,通过查询这4个IP都是美国谷歌公司的,但这4个IP都是任播地址。也就是你来访问BGP协议会根据来源帮你找到最近的机房,那么谷歌在东亚的几个主要机房就是日本东京和台湾彰化。如果为了NS联机那咱们就尽量找这两个城市的机房最佳。

ISP的选择

上面说了这么多远程机房的选择,但如果你接入的是一个二级运营商,或者你在北方用移动线路都不会有太好的出国路由。那么该怎么选择ISP。

  1. 请只考虑:移动、联通、电信三家运营商,其它都不要考虑
  2. 如果你在北方请优先考虑联通,他在北京都有出国机房。如果你在华北,请优先考虑电信,他的出国机房在魔都。华南的朋友们优先考虑移动吧,移动目前最惨只有广州一个出国机房。

相关资料

  1. 任播:是一种网络定址和路由的策略,使得数据可以根据路由拓扑来决定送到“最近”或“最好”的目的地。https://baike.baidu.com/item/%E4%BB%BB%E6%92%AD/8164974?fr=aladdin
  2. BestTrace下载地址:https://www.ipip.net/product/client.html