一段预告过的降速:8/13 用 OONI 记录台湾北部移动网络的 30 分钟¶

8 月 13 日周四 14:30 到 15:00,基隆、台北、新北、桃园、新竹市、新竹县、宜兰的移动网络会降速 30 分钟。降速属于「城镇韧性演习」的一部分,由三大电信运营商同时执行。官方公告写明语音通话、短信与小区广播照常,视频流、视频通话、移动支付、云端同步等高流量服务受影响1。NCC 对演练时段的建议是预先为离线情境做准备2。
降速的幅度,官方对外说明过两次。防务部门负责人顾立雄 7 月 20 日在立法机构说明是「降速到 4G、5G 的百分之一」,行政院则在 8 月 10 日中部场结束后补充做法:由电信运营商透过核心网络限流,将移动网络下载速率调降至 256KB。两个说法的量级一致,测量时可以此为预期落点。
日期、时段、七个县市、三家运营商,降速的每个边界都在演练前公开。网络降速的研究少见如此明确的前提,多数案例由用户先察觉变慢,研究者事后回推,时间边界始终模糊。预告式的断网在其他国家并非首见,例如考试期间的全国性断网6。就公开可查的记录而言,预告式的降速较为少见,并且能切分到各家运营商的粒度。
8 月 10 日中部场的同一个时段,全台湾的 OONI 观测里没有任何一笔来自移动网络的性能测量。北部场是今年演习的最后一场,8 月 13 日过后不会再有相同的条件。
若你身在这七个县市,那半小时手机本来就会变慢。与其等它过去,不如顺手留下一笔记录。
为什么要演练移动网络降速,给不在台湾的读者
行政院对演练的说明是「模拟极端情境,验证政府在有限通讯环境下之应变能力」,设想的状况包含天灾、大规模网络攻击与复合式灾害,目标是提升整体通讯与社会防卫韧性1。公告本身没有提到战时或军事演习,框架放在民防与备援。移动网络降速是参考日本、韩国、北欧等国经验后「首度加入」的项目1,范围限于台湾首度,不是国际首例。
对台湾来说,通讯中断不是假设性的问题。台湾是岛屿,对外连接依赖海底电缆,数字发展部设有「海缆障碍状况」的公开页面,逐条列出故障位置、替代路由与预计修复时间7。以 2026 年 7 月 28 日的更新为例,当时有四条海缆处于故障状态,最近的一笔发生在 7 月 14 日,预计修复日期落在 8 月 14 日,也就是演习的同一周。想看这些缆线的实际走向,可以打开 Tor 中继地球仪,上面标了 228 条海缆线段与台湾周边的障碍状态。
真实事故的规模比演练大得多。演练只降速 30 分钟、限定十四个县市、语音与短信照常。海缆中断则可能持续数周,影响整个区域的对外连接。演练的用意在验证备援机制与宣导准备,不是重现事故。
8 月 13 日要做的三件事¶
全部时间为台湾时间(UTC+8)。演练时段是 14:30 到 15:00。
开始之前,8 月 13 日前先完成¶
安装 OONI Probe,App Store、Google Play 与 F-Droid 都可下载,开源免费。OONI 开发此工具的目的,是把网络封锁与连接质量变成可验证的公开数据,完整介绍见什么是 OONI。首次启动有一段设置流程,当天才安装会来不及。装好后先运行一次,确认能正常完成。
接着设一个 14:35 的闹钟,降速中的测量最重要。行有余力再加上 14:15 与 15:10。下午开会时很容易忘记,设闹钟比记忆可靠。真的错过也没关系,补做 15:10 那一次就好,只有一笔一样送得出去。
步骤一、关闭 Wi-Fi 与 VPN,改用移动数据¶
透过固网连接的 Wi-Fi 在演练中不受影响,测量若在固网的 Wi-Fi 上完成,结果等于零。手机常会自动回连办公室或住家的 Wi-Fi,运行前请先确认已切到移动数据。手机分享出来的热点虽然底层走移动网络,OONI 仍会把网络类型记成 Wi-Fi,一样不要用。
VPN 与 Tailscale 都要先关闭。一般 VPN 会把流量绕出去,测量结果只反映 VPN 运营商的线路,记录下来的 ASN 也会变成对方的。Tailscale 就算没有启用 exit node,在 iOS 与 Android 上仍是透过系统的 VPN 机制运作,OONI Probe 会把网络类型记成 vpn 而不是 mobile,测量数据就标不出是移动网络测到的。App 侦测到 VPN 时会跳出提醒,看到提醒请先关掉再运行。测量结束后记得把 Tailscale 开回来,靠它连公司内网的人特别容易忘记。
测量完成后可在结果页看到网络名称与 ASN(自治网络的全域编号,运营商、企业、学校都有各自的号码),确认测量确实在移动网络上完成,名称为自己的运营商。
先确认你的移动数据额度
性能组里的连接速度测试(ndt)会量吞吐量,运行时尽量用满当下可用的带宽。App 在运行前就会标出预估值,画面上写的是 5 到 200 MB、约 1 分 30 秒,实际落点随连接速度而定。降速中的测量因为带宽被压低,用量最小。14:15 与 15:10 都在正常速度下运行,都会落在估计值的高端。
非无限流量的人建议做降速中的测量,再从 14:15 或 15:10 挑一次当对照,两次就有比较的基础。
步骤二、运行「性能」测试¶
开启 App 后点「测试」,选「性能」,勾选要运行的测项,再按下运行。性能组包含 ndt(连接速度)与 dash(模拟视频流的播放行为,估算可达成的位元速率)两个测项,正是测量降速所需,Android 与 iOS 都提供。
步骤三、至少在 14:35 到 14:55 之间做一次¶
最重要的是降速当下的测量。演练 14:30 开始、15:00 结束,前后各留五分钟避开启动与恢复的过渡,所以 14:35 到 14:55 之间开始都可以。ndt 约需 1 分 30 秒,最晚 14:55 开始还来得及在结束前完成。
只做一次也有价值,能跟其他参与者、跟隔日同时段互相参照。时间允许再加上前后两次,同一支手机自己的前后对照最为明确。
| 台湾时间(UTC+8) | UTC | 用途 | 优先序 |
|---|---|---|---|
14:35 到 14:55 |
06:35 到 06:55 |
降速中 | 一定要 |
14:15 |
06:15 |
降速前的对照点 | 有空就做 |
15:10 |
07:10 |
恢复后 | 有空就做 |
每次都要用同一支手机、同一个号码,并且都在移动网络上完成。位置能固定会让数据更好比对,中途需要移动也不影响参与,只要确认没有切回 Wi-Fi 即可。
如果行有余力,8 月 12 日周三 14:35 也测一次。多一笔,隔日同时段的对照会强很多,成本一样是按一下。
14:30 之后才看到本文的人
只要还在 14:55 之前就直接做一次,时间过了就补做 15:10。手上只有一笔也送得出去。
降速中上传失败属于正常
测量结果需要上传,而演练期间带宽已被压低,上传可能延迟或失败。不需要重复运行,OONI Probe 会把结果排入队列,等网络恢复后自动补传。
想多做一点的人,降速期间可另外运行含 Tor 与 Psiphon 的测试(英文界面为 Circumvention),能看出降速对规避工具的影响。规避工具那组会做封锁判定,降速造成的连接失败会被记成 anomaly,成因是带宽而非审查,社区整理结果时会一并说明。
按下运行之前,该知道的隐私影响¶
一句话的版本:性能测试会把你当下的对外 IP 留在 M-Lab 的公开数据集,而移动网络的 IP 浮动、没有账号绑定,实务上难以对应到个人。不想留下记录的人,改运行网页连接测试(web_connectivity,英文界面为 Websites)即可,它不经过 M-Lab。以下是完整说明。
先分清楚两个数据库。OONI 自己发布的测量结果全部公开,内容包含所处的 ASN 与时间戳记,不包含个人 IP 地址。性能组的 ndt 另外会把数据送到 M-Lab,那是另一个机构、另一份数据集,规则不同。
M-Lab 的隐私政策载明测试数据会对外公开,公开内容包含你的 IP 地址与日期时间,并且以长期研究为由无限期保留,公开数据集里不做匿名化。政策提供的删除途径援引 GDPR 与 LGPD,主要对象是欧盟与巴西的数据主体。M-Lab 声明政策原则上适用于所有地区的用户,但条文没有处理台湾这类第三地的请求资格,实务上能不能受理并不明确。App 的性能页面本身也附了免责声明,说明测试透过第三方服务器进行,无法保证 IP 地址不被他人收集。
所以运行 ndt 等于把当下的对外 IP 地址写进一份公开且长期保存的数据集。M-Lab 不认证用户、不保存个人的测试历史,移动网络的 IP 又多为浮动,第三方研究者或一般查询者很难单独从一个 IP 对应回特定个人。上面说的是 M-Lab 与 OONI 这一侧的识别能力。你的运营商本来就能从连接记录对应到号码与 IP,那份记录与测不测量无关,也不会因为参与而增加。是否留下记录,请自行斟酌。
中部场那 30 分钟,移动网络一笔性能测量都没有¶
8 月 10 日 14:30 到 15:00,同样的降速在中部七县市执行过一次(UTC 时间 06:30 到 07:00)。演练结束后,我们查询 OONI 的公开数据库,看台湾在该时段留下了什么。
| 测项 | 该时段全台笔数 | 来源网络 |
|---|---|---|
ndt(连接速度) |
1 | AS131584 台湾智慧光网,固网 |
dash(串流位元速率) |
1 | 同一个固网 ASN |
web_connectivity(网站可达性) |
803 | 几乎全在固网,HiNet 占 593 笔 |
中华电信移动的 AS17421 是 0 笔,远传的 AS9674 是 0 笔。
唯一的速度测量执行在固定光纤上,测量的网络并未降速。那 30 分钟全台湾共有 902 笔 OONI 观测,其中没有任何一笔是移动网络上的性能测量。演习依南部、中部、外离岛、东部、北部的顺序分区实施,北部场是最后一场3,同样条件的降速要再等到明年。
台湾的 OONI 观测,四成来自 HiNet¶
中部场的结果反映了台湾 OONI 数据长期的分布。2026 年 7 月 12 日到 8 月 11 日之间,全台湾有 645,039 笔 web_connectivity 测量,分布在 25 个 ASN:
| 网络 | 近 30 天笔数 | 占比 |
|---|---|---|
AS3462 HiNet |
253,546 | 39.3% |
AS131584 台湾智慧光网 |
191,257 | 29.7% |
| 三家移动运营商合计 | 23,010 | 3.6% |
└ AS24158 台湾大哥大 |
20,099 | |
└ AS17421 中华电信移动 |
2,342 | |
└ AS9674 远传 |
569 |
剩下的也以固网为主,StarVerse 与 DaDa Broadband 各有数万笔,另有辅仁大学、TANet 与台大几个校园网络。
真正需要的性能测项,总量少得多。同一段期间全台湾只有 1,008 笔 ndt。移动端看起来占了一半以上,548 笔,但其中 528 笔来自台湾大哥大一家,中华电信移动只有 16 笔、远传 4 笔。缺口集中在中华电信移动与远传。
要说明台湾的网络环境,目前可引用的数据主要反映家用固定宽带的状况。依 NCC 统计,2026 年第 1 季全台移动号码约 2,833 万户,多数人一天里大半时间透过移动网络上网。
三家都是全国性运营商,OONI 上的测量分布却差了一到两个数量级。性能测项里台湾大哥大有 528 笔,中华电信移动只有 16 笔,差距显然不是用户规模造成的。
公开的 aggregation API 只提供测量笔数,不提供设备数,所以上表无法排除少数几台设备反复测量的可能。台湾大哥大同时经营移动与固网,中华电信也是,因此单看一笔 AS24158 的测量,判断不出它来自手机还是家用调制解调器。
为什么三家要一起测¶
上面那项辨识问题,正好说明为什么要挑演练时段。演练已公告时段与县市范围,在该时段内、在公告范围中,AS24158、AS17421、AS9674 出现的移动端测量有明确的情境可对应,ASN 至此才足以定位到运营商。平常散在各处的测量缺少对应的情境。
同一时段只消除了「时间」一个变因。地点、基站负载、手机型号、信号强度都仍然存在。三十支手机散在七个县市,得到的仍是一批条件互异的观测点,结论只能停在粗粒度的判断,例如三家是否都出现可观察的吞吐下降、下降的量级是否接近。任何精确的运营商排名都超出这批数据能支撑的范围。
即使如此,三家同时面对同一道指令、同一个 30 分钟,仍然是难得的对照时机。单独一家测得再密,也只能得到那一家的曲线。
降速的 30 分钟可以观察到什么¶
行政院说明的做法是核心网络限流加上固定的下载速率上限,属于无差别的带宽管制,ndt 应可测到。不过公告另外列的受影响服务类型(视频流、视频通话、移动支付、云端同步)读起来像依应用层分类,三家运营商对受影响范围的描述也各自不同。台湾大哥大把 LINE、WhatsApp、M+ 等通讯软件列进会出现连接延迟与不稳定的范围4,中华电信写的是「影音、视讯连线、行动上网及部分物联网应用」5,行政院的版本则是文字传输正常1。限流若落在带宽层,ndt 会直接反映。若偏向应用层分类,ndt 对 M-Lab 的流量特征未必被归进受限类别,可能测到接近平常的速度。测量结果本身就能分辨属于哪一种,也是降速期间最值得观察的一项。
带宽被压低时 Tor 与 Psiphon 能否建立连接,是社区长期关注的题目,周四下午正好是现成的测试场。降速结束后速度回复所需的时间,则由 15:10 那一笔回答。
有了平时与降速中的对照,台湾的移动网络也才会有一份基准。少了基准,未来发生非预期的网络劣化时,任何异常都只能停在「大家觉得变慢」。价值随参与量放大。几十支手机足以回答「三家是否都出现明显下降」,要谈到分布与信赖区间则需要数百支。
ndt 与 dash 只能涵盖高流量那一侧,公告称正常运作的语音、短信与小区广播不在两个测项的能力范围内。能观察到的只有界线的其中一边,仍然值得做。社区自己有能力描述网络当下的状态,本身就是韧性的一部分。
解读时须留意 ndt 的测量对端是 M-Lab 的服务器,数字里同时包含最后一哩与到 M-Lab 节点的国际线路,两者无法从单笔结果中分离。官方公布的 256KB 可作为预期落点,先掌握量级所在,判读时较有依据。
参与密度本身也是变因。ndt 会用满可用带宽,同一个基站底下若有多支手机在同一分钟运行,彼此会抢已经被压低的带宽,测到的低速就有一部分来自参与者之间的竞争。以每家电信十支、散在七个县市的规模来说不太会相互重叠,整理结果时仍要把同时段的参与数一并记录。
一起来¶
安装 OONI Probe 并运行一次。设一个 14:35 的闹钟。把本文转给住在北部七县市或在当地工作的朋友。特别欢迎中华电信与远传的用户,两家过去 30 天的性能测量分别只有 16 笔与 4 笔。以远传来说,10 支手机在周四下午各做三次,一个下午就会超过它整个月的累积量。
不在北部七县市的人也可以在同样的时间点测一次。降速范围外的测量构成对照组,能协助分辨哪些变化来自演练、哪些属于当天的一般波动。
测完之后,可在 OONI Explorer 用自己的 ASN 与时段查到记录。社区会在演练后把三个时段、各家运营商的结果整理成一篇后续文章。有问题或想一起整理结果的人,欢迎到社区的 Matrix Public Space 讨论。
常见问题¶
为什么只做性能测试,不把全部测项都运行一遍
性能组以外的测项都会做封锁判定,而降速会让它们产生假的封锁信号。
以 web_connectivity 为例,判定方式是拿手机端的结果跟 OONI 的测试辅助服务器比对。手机在限速下大量逾时,辅助服务器在数据中心运作一切正常,比对出来会被标成 tcp_ip 或 http-failure,也就是封锁的判定签名。几百人同时在限速下运行有封锁判定的测项,等于在台湾的公开数据里注入一批看起来像审查的记录。
性能组不会产生误判的封锁信号。ndt 与 dash 在后端没有实作封锁判定,全球近 90 天各 20 万笔测量的 anomaly 都是 0,只会留下吞吐量的数值。
时间也不允许。性能组约 1 分 30 秒,稳稳落在区间内。网站那组是一份网址清单,正常网络下就要数分钟才能完成,在限速下很可能跨过 15:00,把降速中与恢复后混进同一份报告。
会用掉多少移动数据
App 运行前会显示预估用量。降速期间带宽已被压低,用量最小,14:15 与 15:10 在正常速度下运行,会落在估计值的高端。非无限流量的人优先做降速期间的测量。实际数字见上方的额度提醒。
我的 IP 会被公开,风险有多大
性能测试会把你的 IP 留在 M-Lab 的公开数据集,长期保存且不做匿名化。改做网页连接测试就不会经过 M-Lab。判断风险高低所需的细节,见上方的隐私一节。
我不在北部七县市,还要测吗
可以,而且有参考价值。范围外的数据能当对照组,用来排除当天的一般网络波动。
开会中错过了 14:35 到 14:55 怎么办
补做 15:10。就算只补一笔,也能跟其他参与者或隔天同时段对照,无须凑满三次。
参与这次测量有法律风险吗
测量的动作是在自己的手机上测自己的连接速度,与一般测速 App 的操作无异,不干扰演练,也不影响其他人。OONI Probe 是全球长期使用的开源工具。若你所属的组织有自己的合规考量,可以只做网页连接测试,或选择不参与。
号召测量是为了查核官方公布的 256KB 吗
本文的出发点是演练当天难得的观测条件,时间、地点、运营商都预先公开。官方公布的数字在文中作为预期落点,让参与者知道数据会落在什么量级。测量的对象是网络状态,演习的成效与必要性不在讨论范围。
怎么确认我的测量成功了
完成后结果页会显示网络名称与 ASN,确认上面是自己的运营商,不是 Wi-Fi 也不是 VPN。测量送出后同样能在 OONI Explorer 查到自己的记录。
双卡手机要注意什么
先确认移动数据走的是哪一张卡。手机装了两张 SIM 卡的话,容易以为自己在测某一家,实际上数据从另一家出去。结果页显示的 ASN 是最后的确认。
数据与前提¶
文中的 OONI 数字分成三组,查询日皆为 2026-08-11,端点与参数如下,读者可自行重新查询。
中部场 30 分钟窗口(表格中的 902、803、593 与两笔性能测量)用 measurements 端点,probe_cc=TW、since=2026-08-10T06:30:00Z、until=2026-08-10T07:00:00Z,逐一查 test_name 为 ndt、dash、web_connectivity,回传的每笔都带 probe_asn。
30 天的 ASN 分布(645,039、253,546、191,257、23,010 与三家移动运营商的细项)用 aggregation 端点,probe_cc=TW、test_name=web_connectivity、axis_x=probe_asn、since=2026-07-12、until=2026-08-12。性能测项的 1,008、548、528、16、4 用同一组参数,test_name 换成 ndt。aggregation 的 until 不含当日,所以 until=2026-08-12 涵盖到 8 月 11 日。
性能测项的 anomaly 为 0 用 aggregation 端点,不带 probe_cc 代表全球,since=2026-05-13、until=2026-08-12,test_name 分别为 ndt 与 dash。同一组参数换成 tor 与 web_connectivity 可以看出对照,两者的 anomaly 分别是 13.95% 与 8.05%。
上列数字会随时间继续累积,之后重查会得到略高的值,分布的形状则稳定。
延伸:之后如何用 OONI 佐证研究¶
本次号召针对单一事件,方法本身可以重复使用。OONI 的数据有四个入口,用途各不相同:
- OONI Explorer:网页界面,适合查单笔测量、看某个国家或 ASN 的趋势,无须写程序。
- Aggregation API:
https://api.ooni.org/api/v1/aggregation,免验证免密钥,可依国家、测项、ASN 切分做统计。本文的 30 天 ASN 分布与比率出自此端点。since与until只接受日期,带上时间会回date_from_datetime_inexact错误,所以它适合看天级以上的趋势。 - Measurements API:
https://api.ooni.org/api/v1/measurements,同样免验证,接受精确到秒的时间窗,回传逐笔记录。本文中部场 30 分钟的表格出自此端点。 - AWS S3 公开数据集:
ooni-data-eu-fra,逐笔原始 JSON,适合需要检视测量细节或做大规模分析的研究。原始数据以整点批次上传,落地 S3 的延迟约在半小时到一两小时之间,取用方式与 CSV 输出格式写在 ASN 观测数据撷取与分析,社区维护的撷取程序也在该页。
以本次演练为例,30 分钟的时间窗要用 measurements 端点:probe_cc=TW、test_name=ndt(或 dash)、since=2026-08-13T06:00:00Z、until=2026-08-13T08:00:00Z,回传的每一笔都带 probe_asn,再自行归到 24158、17421、9674 三组。所有时间一律使用 UTC,台湾时间需减 8 小时。要判断某个问题该用哪个测项,OONI 测项速查表整理了每个测项测量什么、规格状态,以及台湾是否有数据。台湾的 ASN 覆盖现况见 ASN 自治网络观测数据分析。
最常见的误解是把异常(anomaly)当成封锁。OONI 的 anomaly 只代表测试未照预期完成,成因包含审查、网络不稳、ISP 暂时故障,以及测试程序本身的问题,将 anomaly 比率直接视为封锁率会产生假指控。以 tor 测项的实测为例,取 2026-07-12 到 2026-08-12 这 30 天,加拿大 16.3%(母数 14,042)、瑞士 22.1%(母数 3,231)、新西兰 20.1%(母数 562),皆为没有审查的国家。前一段 90 天的 ndt 与 dash 用的是另一个时间窗,复查三国的比率要换成 30 天的参数。中段数值属于噪声,只有比率极端高的少数国家与现实相符。
以上只适用于有做封锁判定的测项。性能测项的 anomaly 目前在后端几乎没有实作,全球近 90 天的 ndt 20 万笔与 dash 19.8 万笔,anomaly 都是 0。判断演练期间是否降速,要直接看吞吐量的数值,不能看 anomaly。
授权方面,OONI 发布的测量数据采 CC BY-NC-SA 4.0,禁止商业使用,衍生内容需以相同授权释出。引用数据时要标注来源,将 OONI 数据与其他来源合并产生新的数据档,会让整份成品都受同一授权拘束。
演习细节以行政院公告与各电信运营商公告为准,时间如有调整依官方最新信息。
数据来源:OONI aggregation 与 measurements API(查询条件见上方的数据与前提,测量数据授权 CC BY-NC-SA 4.0)、ASN 名称取自 RIPEstat、M-Lab 的数据处理方式取自 M-Lab 隐私政策。演习相关的官方与媒体来源见下方脚注。
-
2026城镇韧性(防空)演习:行动网路降速演练 - 行政院 ↩↩↩↩
-
韧性演习行动网路降速 NCC吁预先为离线情境做准备 - 中央社 ↩
-
2026城镇韧性(防空)演习期程规划表 - 全民防卫动员署 ↩
-
配合政府115年城镇韧性防空演习,中区、北区行动通讯网路降速说明 - 台湾大哥大 ↩
-
2026城镇韧性(防空)演习行动网路降速演练 - 中华电信 ↩