한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

游戏卡顿白皮书 › L4 公网链路

国家/运营商级 UDP 限制与包检测 UDP blocking, throttling and inspection by networks

原因 ID isp-udp-block · 主责 外部·外部 · 配合 研发团队·客户端开发, 研发团队·服务器开发, 运维团队·网络运维

在含图示和实验的完整版中打开此卡片 →

有些网络会封锁特定的 UDP 地址和端口,或限制 UDP 速率;包检测设备还会过滤掉它识别不了的协议。用 UDP 通信的游戏在这类网络里会连不上,或频繁掉线。

起因 从限制 UDP 速率的部分运营商网络,或部署了国家/运营商级流量检测(审查)设备的网络接入 → 结果 封锁特定的 UDP 地址/端口,或在繁忙时段限制 UDP 速率,或过滤掉白名单以外的端口和协议,或只放行最初几个包之后就封锁 → 画面表现 只有特定国家或运营商的玩家出现连不上/无限加载、连上后很快掉线,繁忙时段因丢包而瞬移

症状
连不上/无限加载, 掉线, 瞬移
因素
丢包
谁会遇到
特定地区/运营商
何时出现
刚登录/维护结束后, 一直, 晚高峰
负责方
主责 外部·外部 · 配合 研发团队·客户端开发, 研发团队·服务器开发, 运维团队·网络运维
研发团队要做的事
客户端:UDP 几秒内连不上就自动切换到 TCP/TLS 443 备用通道;一开始连上、随后很快断开的情况也要能检测到,并改走备用通道重试;在日志里记下走的是哪条通道。服务器:同一套游戏协议也通过 TCP 443(TLS)接收;备用通道的延迟可能更高,要相应调整超时。
运维团队要做的事
新增海外国家/地区之前,先在当地运营商网络中测量 UDP 能否到达以及高峰时段的丢包;在靠近当地的位置部署接收 TCP 443 备用通道的中继或网关;按国家、ASN 监控 UDP、TCP 连接成功率;对已确认限制 UDP 速率的运营商,收集证据升级反馈。
外部要做的事
向相关运营商或机构询问 UDP 限制的标准和放宽办法;引导玩家换一个网络连接对比。
数值参考
按 IETF 文档引用的测量,3~5% 的网络会完全封锁 UDP。Google 统计 2016 年 QUIC(基于 UDP)的使用情况时发现,4.4% 的客户端因为 UDP/QUIC 被封或路径 MTU 太小而用不了,其中大多在企业防火墙后面,没有观察到整个运营商封锁的情况。另有 0.3% 的客户端所在网络在高峰时段丢包大增,看起来在限制 UDP 速率;Google 向运营商提出要求后,这一比例已从 2015 年的 1% 降了下来。
监控图上
仅部分偏高 · UDP 连接成功率(按国家/ASN)
查看位置
按国家、ASN 分别查看 UDP 连接成功率和 TCP 443 备用通道成功率。在该运营商网络里的云 VM 或玩家电脑上,分别向游戏 UDP 端口和 TCP 443 做连接测试,并用 mtr -u -P(游戏端口)和 mtr -T -P 443 对比从哪一跳开始没有响应
确认依据
只有特定国家或 ASN 收不到 UDP 的首个响应,或几秒后就断开,同一位置的 TCP 443 正常。如果是限速,只在高峰时段 UDP 丢包明显增加,TCP 受影响较小
排除依据
TCP 也一起失败,看路径故障、IP 被封或“DNS 故障/延迟”。所有国家都一样,看我方服务器或防火墙配置;不分 UDP、TCP,只在瞬时发送量大时丢包,看“流量监管丢弃超额流量”
确认手段
运维工具即可确认(无需游戏代码)
深入了解
包检测设备可能按地址、端口、协议挑出 UDP 流加以封锁,也可能采用除放行协议外一律封锁的方式(白名单)(IRTF 调研文档)。设备只看数据包的部分字段做判断时,协议稍作改动就可能被封。QUIC 早期,曾有一台防火墙在报头的 1 个比特变化后,先放行最初几个包,再拦截之后的包,导致客户端改用 TCP 连接的逻辑没能生效。新增海外国家/地区时,这类问题可能以“国内正常,只有那个国家的部分运营商连不上”这样的反馈暴露出来。如果只在咖啡馆、公司这类某个场所的网络里被封,请看“公共 Wi-Fi/公司网络限制”。

出处

  1. RFC 9308: Applicability of the QUIC Transport Protocol IETF
    测量研究显示 3~5% 的网络完全封锁 UDP,基于 UDP 的应用要么接受连接失败,要么准备 TCP(TLS)备用通道;没有对应已注册服务的端口可能会被防火墙封锁
  2. The QUIC Transport Protocol: Design and Internet-Scale Deployment (SIGCOMM 2017) ACM
    2016 年:4.4% 的客户端用不了 QUIC(UDP)(UDP/QUIC 被封或路径 MTU 小,主要在企业防火墙后面,未观察到整个运营商封锁);0.3% 处于疑似限制 UDP 速率的网络(高峰时段丢包增加,向运营商提出要求后从 2015 年的 1% 降下来);有防火墙在报头 1 个比特变化后只放行最初几个包、随后全部拦截,使 TCP 回退逻辑失效的案例
  3. RFC 9505: A Survey of Worldwide Censorship Techniques IRTF
    网络中的检测设备可以按地址、端口、协议挑出 TCP、UDP 流加以封锁(QUIC 中观察到针对 UDP 端点的封锁);只放行允许协议的方式会造成过度封锁;也有限制特定流量速率的做法
  4. mtr(8) manual page source mtr
    用 -u 发 UDP、-T 发 TCP SYN,再用 -P 指定目的端口,以和游戏相同的协议、端口测量路径

相关原因

同一层:L4 公网链路

其他层中同样导致“连不上/无限加载”的原因

查看含图示和实验的原卡片