游戏卡顿白皮书 › L2 客户端操作系统与设备
安全软件检查数据包 Antivirus / firewall inspection
原因 ID co-security · 主责 外部·外部 · 配合 研发团队·客户端开发
在含图示和实验的完整版中打开此卡片 →
杀毒软件、防火墙逐个检查数据包会增加延迟,检查过度时还会把游戏误判为攻击并拦截。
起因 安全软件逐个检查收发的数据包 → 结果 每个数据包都多出延迟,检查跟不上时就被丢弃 → 画面表现 ping 不规律地飙升,或连接被拦截
- 症状
- 一卡一卡, 连不上/无限加载
- 因素
- 抖动, 丢包
- 谁会遇到
- 只有我
- 何时出现
- 一直, 刚登录/维护结束后
- 负责方
- 主责 外部·外部 · 配合 研发团队·客户端开发
- 研发团队要做的事
- 维护安全软件兼容性列表,安装时在 Windows 防火墙中为游戏添加例外。
- 外部要做的事
- 引导玩家在安全软件中把游戏加入例外;游戏被误判为攻击时,请安全软件厂商修正误报。
- 数值参考
- 正常情况下检查数据包所需的时间通常不到 1 ms。问题出在检查模块处理不过来或有 bug 时,以及把游戏通信误判为攻击时。
- 监控图上
- 仅部分偏高 · RTT、连接失败(按玩家)
- 查看位置
- 暂时关闭安全软件,或把游戏加入例外后对比。Windows 在审核策略中开启 Audit Filtering Platform Connection、Audit Filtering Platform Packet Drop 后,安全日志会记录 5157(连接被阻止)、5152(数据包被阻止);用性能监视器的 WFPv4\Packets Discarded/sec 查看丢弃的数据包数
- 确认依据
- 有发往游戏服务器地址的连接、数据包被拦截的记录,或关闭安全软件后跳 ping、连不上的问题消失
- 排除依据
- 与安全软件无关、同一家庭的其他设备也一样,是路由器或线路问题
- 确认手段
- 需在玩家侧环境确认
出处
- About Windows Filtering Platform Microsoft
Windows 网络栈用钩子和过滤引擎放行或阻止数据包,第三方安全厂商可以插入自己的过滤模块(callout) - Windows Firewall Rules Microsoft
默认阻止入站连接,所以应用需要例外规则,通常由应用安装程序创建规则 - Address false positives/negatives in Microsoft Defender for Endpoint Microsoft
正常程序被误判为威胁(误报)时,设置例外并向 Microsoft 提交分析的流程 - 5157(F): The Windows Filtering Platform has blocked a connection. Microsoft
事件 5157:Windows Filtering Platform 阻止了连接(Audit Filtering Platform Connection) - Audit Filtering Platform Packet Drop Microsoft
事件 5152:Windows Filtering Platform 阻止了数据包 - Network-Related Performance Counters Microsoft
WFPv4、WFPv6:Packets Discarded/sec 计数器
相关原因
同一层:L2 客户端操作系统与设备
其他层中同样导致“一卡一卡”的原因
查看含图示和实验的原卡片