游戏卡顿白皮书 › L5 数据中心网络设备
线缆不良/端口错误 Bad cable / optics (CRC errors)
原因 ID dc-bad-cable · 主责 运维团队·网络运维
在含图示和实验的完整版中打开此卡片 →
光模块或线缆不良时,经过这条路径的数据包会按一定比例损坏。
起因 光模块、线缆不良导致误码 → 结果 损坏的数据包被设备悄悄丢弃 → 画面表现 只有走这条路径的部分服务器、玩家持续丢包,出现瞬移、拉回
- 症状
- 瞬移, 拉回
- 因素
- 丢包
- 谁会遇到
- 特定地点/分线
- 何时出现
- 一直
- 负责方
- 主责 运维团队·网络运维
- 运维团队要做的事
- 监控端口错误(CRC)计数器并设告警;更换光模块、线缆等部件;更换前先把问题链路摘除,让流量绕行。
- 监控图上
- 仅部分偏高 · 各端口 CRC 错误数、各服务器/路径的丢包率
- 查看位置
- 看链路两端的 CRC 计数器。交换机看端口的 FCS 错误(dot3StatsFCSErrors)、输入错误(ifInErrors),服务器看 ip -s -s link 的 RX errors 中的 crc(内核统计项 rx_crc_errors)
- 确认依据
- 某个端口的 CRC 错误与流量大小、时段无关地持续增加,只有经过该端口的服务器、玩家有丢包
- 排除依据
- 没有 CRC 错误,只有出方向丢弃增加,属于拥塞(“交换机微突发”“数据中心线路饱和”)
- 确认手段
- 运维工具即可确认(无需游戏代码)
出处
- Understanding and Mitigating Packet Corruption in Data Center Networks (SIGCOMM 2017) ACM
分析了数据中心 35 万条链路:损坏原因是光模块不良、光纤受损、连接器脏污;损坏率与流量无关,始终稳定;在保证路径数量的前提下摘除问题链路再维修 - RFC 3635: Definitions of Managed Objects for the Ethernet-like Interface Types IETF
帧校验(FCS)失败计数器(dot3StatsFCSErrors),这类错误计入输入错误(ifInErrors) - Interface statistics Linux kernel
rx_crc_errors:收到的带 CRC 错误的数据包数,用 ip -s -s link 按错误类型查看
相关原因
同一层:L5 数据中心网络设备
其他层中同样导致“瞬移”的原因
查看含图示和实验的原卡片