在很多人认知里,打开纸飞机 (Shadowsocks),配置服务器,选择模式,开启,便完成了一次典型的「科学上网」。对我们工程师而言,科学上网查 Google 更是工作的主旋律,但是如果只是用最简单的科学上网方式,很多人也许会发现:为什么 ssh / npm / gem 不会经过代理?为什么玩游戏不会经过代理?...

这篇文章尝试把「科学上网」的各种背景知识普及给大家,便于各位理解我们科学上网中可能遇到的各种问题。这篇文章并不会包含具体的科学上网操作指导。

为什么需要科学上网

GFW

出于国家安全需要,所有流入流出中国大陆境内的网络流量,都会经过「防火长城 GFW」设备的审查,并阻断不适宜大陆境内的连接。这也是为什么我们无法访问 Google / Facebook / Twitter 的原因。

GFW 使用了非常多的技术手段来阻断连接,包括 DNS 污染、IP 和端口黑名单、Fake TCP Reset 等。此外配备了一些主动探测技术,用于主动发现潜在的「梯子」并进行 IP 和端口封锁。

<aside> 💡 GFW 被设计成一种旁路设备,这也限制了它无法使用更多复杂的阻断技术。

</aside>

GFW 部署在中国的网络边境(青岛、上海、汕头、海南等海缆登陆点,或北京、上海、广州的网络「国际出入口局」),对所有公共网的跨境流量进行审查。

国际出口带宽不足

CNNIC 于2019年2月公布的「第43次《中国互联网络发展状况统计报告》」指出,大陆主要骨干网络国际出口带宽共有 8.946 Tbps。作为对比,香港2019年3月的国际出口带宽为 71.839 Tbps

考虑到大陆的网络规模和体量,我们的人均国际出口带宽严重不足。因此,即便是没有被封锁的境外网站,例如 github.com,不经过任何加速手段直接访问时,会有十分十分糟糕的速度体验。

优质的国际出口资源掌握在少数人手里

国内最大固网运营商,中国电信,在国内建设了两套公共骨干网:163 网和 CN2 网。

163 骨干网主要面向主流大众用户,包括家庭宽带、3G/4G/5G、国内各大 IDC、各种企业专线宽带(价格最贵的除外),网络质量不进行 SLA 承诺。有典型的峰谷表现,例如晚间网络高峰,部分地区网络质量变差。

CN2 骨干网主要面向政府、国企、金融机构等大金主爸爸,网络质量有 SLA 承诺,为了保障延迟、抖动,网络使用率长期保持在较低水平。

企业拥有的国际出口带宽总量是有限的,在两张网之间如何分配呢?事实上 163 网确实分配了大多数国际出口带宽,但奈不住流量巨大,国际网络链路质量极差(表现为高延迟、低带宽、抖动大)。CN2 网尽管国际带宽的绝对数量不大,但是由于客户少,网络利用率极低,国际网络链路质量非常好。

最优质的网络只有极少量用户能够享受。大部分公众想要接入 CN2 骨干网会有种种限制(但并非不能,例如各种支持外服的网游加速器,上海电信精品网,广东电信游戏带宽)。