为啥会写这篇文章

因为是为了在以后买switch2准备,在看到switch2宣传片后,我的心情是:😮–>😃
看得我心痒……
所以为此做好准备。
(好了不废话了赶紧开始正题)

Switch下载服务器

虽然任天堂已经有了不少的第一方游戏有官方中文了,但其任天堂仍未在中国设立游戏下载的服务器,当非国行的switch玩家在下载游戏时,速度慢到想要哭了,又非常的心急。
在这里我大致讲一下为什么下载慢的原因,如有说不对的地方,还请大家多多指教!

打个比喻,有一个人前来买瓜,虽然他骑着他心爱的小摩托,但依旧需要翻山越岭才能买到甘甜可口的西瓜,买完还得原路返回带给家里人吃,假设他过去和回来都要一个小时,这里的往返时间就是两小时,换做是你花两小时买了个瓜,而且还可能是生瓜蛋子,你愿意吗?我们的互联网也是如此,服务器可能距离我们十万八千里,可能途中经过了许多节点,来自各个ISP的路由器和交换机,而且还不能确定中途会不会发生阻塞或丢包。如果已卖瓜老板的思维来解决这个问题,那就是多开分店了,直接把分店开到用户近的地方,换到互联网上,这就是CDN的干的事情了。

说回任天堂,从eShop下载游戏,大部分流量在一个atum.hac.lp1.d4c.nintendo.net的地址产生,照常来说它会返回一个离我最近的CDN节点,但解析地址拿到的ip在美国,因为中国和美国物理距离较远,所以国内直连延迟延迟非常高。通过工具可以看到任天堂其实用了Akamai这家公司的CDN,在国内使用Akamai这家公司的CDN是需要ICP许可证,然而任天堂在国内没有ICP许可证,不能在国内提供CDN,所以只能解析到国外去了,下载速度就慢了。

解决方法

说明(此方法只是优化DNS的选择,让解析地址解析到离国内最近的CDN)

准备的工具

一台电脑
smartdns:https://pymumu.github.io/smartdns/
使用smartdns来进行DNS优选,来达到提升下载速度。

操作步骤

1.下载好Windows架构的smartdns压缩包。
2.解压出里面的文件,然后进入文件夹里面。
3.在文件夹内新建一个名称为start.bat的脚本文件,用记事本写入。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
@echo OFF&PUSHD %~DP0 &TITLE smartdns启动脚本
:menu
color a
@echo off
for /f "tokens=16" %%i in ('ipconfig ^|find /i "ipv4"') do set ip=%%i
set /p value=<./help.txt
cls
echo.
echo smartdns服务器启动界面
echo ==============================
echo.
echo 输入1,dns地址查询
echo.
echo 输入2,启动dns服务器
echo.
echo 输入3,开启防火墙
echo.
echo 输入4,关闭防火墙
echo.
echo 输入5,帮助
echo.
echo 输入6,退出此界面
echo.
echo ==============================
echo.
echo.
set /p user_input=请输入数字:
if %user_input% equ 1 echo "IP:%ip%"
if %user_input% equ 2 smartdns.exe -c smartdns.conf -x
if %user_input% equ 3 netsh advfirewall set allprofiles state on
if %user_input% equ 3 pause
if %user_input% equ 3 goto menu
if %user_input% equ 4 netsh advfirewall set allprofiles state off
if %user_input% equ 4 pause
if %user_input% equ 4 goto menu
if %user_input% equ 5 echo %value%
if %user_input% equ 6 exit
pause
goto menu

4.再次新建一个名称为smartdns.conf的配置文件,用记事本写入。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
bind 0.0.0.0:53
bind-tcp 0.0.0.0:53
bind [::]:53
bind-tcp [::]:53
server-name smartdns
server 223.5.5.5
server 180.76.76.76
server 8.8.8.8
server 1.1.1.1
server 114.114.114.114
server 119.29.29.29
server 180.184.1.1
server 101.226.4.6
server 101.101.101.101
server 208.67.222.222
server 9.9.9.9
server 202.181.233.243
server 168.126.63.1
server 198.153.194.1
server 168.95.192.1
server 101.226.4.6
server 4.2.2.1
server 202.181.224.2
server 210.2.4.8
server 8.26.56.26
server 168.95.1.1
server 211.78.215.137
server 61.64.127.1
server 80.80.80.80
server 23.41.21.106
server 23.45.157.25
server 185.222.222.222
server 208.67.220.222
server 117.50.10.10
server 182.254.116.116
server 101.6.6.6
server 64.6.64.6
server 209.244.0.3
server 77.88.8.8
server 203.80.96.10
server 202.45.84.58
server 120.196.165.24
server 216.146.36.36
server 23.253.163.53
server 202.14.67.4
server 210.220.163.82
server 164.124.101.2
server 164.124.107.9
server 156.154.70.1
server 139.175.252.16
server 40.73.101.101
server 37.235.1.174
server 84.200.69.80
server 195.46.39.39
server 198.41.0.4
server 199.9.14.201
server 192.33.4.12
server 199.7.91.13
server 192.203.230.10
server 192.5.5.241
server 192.112.36.4
server 198.97.190.53
server 192.36.148.17
server 192.58.128.30
server 193.0.14.129
server 199.7.83.42
server 202.12.27.33
server 112.106.53.22

5.双击打开start.bat,首先选择1,按回车,把查询到的ip记录下来,查询完后选择4,关闭防火墙(使用完后再次打开此脚本选择3重新打开防火墙),选择2启动smartdns即可完成。

使用方法

更改 Nintendo Switch DNS 的方法
首先保证主机与电脑在同一局域网中
1.打开 Nintendo Switch 主菜单并选择系统设置
2.在系统设置菜单中,向下滚动并选择 Internet(互联网)选项
3.点击右侧的:Internet Setting (互联网设置)
4.如果你已经连接到互联网,请选择你正在使用的互联网连接。如果你还没有连接到互联网,请选择设置互联网连接
5.点击 Change Settings(更改设置)选项,进入后找到 DNS Settings(DNS 设置)
6.进入 DNS 选项后更改设置为Manual(手动),确认后返回上一步菜单
7.将 Primary(首选)DNS 和 Second(备选)DNS 数值依次改为查询到的ip
8.更改完毕后点击右侧保存设置