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

遊戲 Lag 白皮書 › L5 資料中心網路設備

DDoS 防護導流與誤判 DDoS scrubbing latency, false positives

原因 ID dc-ddos · 主要負責 基礎設施團隊(網路基礎設施) · 協同 遊戲開發團隊(伺服器開發)

在含圖解與實驗的完整版中開啟卡片 →

為了擋下攻擊而把流量導向清洗中心時,路徑會變長,有時還會把正常使用者誤判為攻擊而封鎖。

為什麼 偵測到攻擊後(或常態性地)把進來的流量導向清洗中心 → 於是 路徑變長,部分正常封包被判定為攻擊 → 畫面上 整體 ping 上升,只有特定地區/電信業者連不上

症狀
輸入延遲, 連不上/無限讀取, 瞬移
因素
延遲, 遺失
誰會遇到
整個伺服器, 特定地區/電信業者
何時
人潮湧入時, 偶爾隨機發生
負責單位
主要負責 基礎設施團隊(網路基礎設施) · 協同 遊戲開發團隊(伺服器開發)
遊戲開發團隊要做的事
整理遊戲流量模式(port、封包大小、每秒封包數)並提供給基礎設施團隊,UDP 封包維持在 1,200 位元組以下。
基礎設施團隊要做的事
制定符合遊戲流量模式的防護規則,設置各地區的清洗據點,在通道區段縮小 TCP 封包大小(MSS 調整),以各地區、各電信業者的連線失敗率確認是否誤判。
數值參考
清洗據點在同一個國家時增加數 ms,經過其他國家的據點時會增加 30~100ms 以上。通常只有進來的方向會繞道,伺服器的回應則直接送出。若清洗後的流量透過通道送回,一次能傳送的大小(MTU)也會變小,有時會演變成只有大封包消失的問題。
圖表上
從某個時間點起階梯式上升 · RTT(ping)、各地區/電信業者的連線失敗率
查看位置
把防護設備或服務的導流(清洗)開始與結束紀錄、封鎖 log,與 RTT 圖表、各地區與電信業者的連線失敗率放在同一條時間軸上比對。在問題地區用 mtr、traceroute 確認路徑中是否夾著清洗據點
符合的跡象
導流開啟的時間點 RTT 升高一階並維持,關閉後恢復。或封鎖 log 中出現正常玩家的位址,且只有該地區、該電信業者的連線失敗率上升
不符合的跡象
沒有導流、封鎖紀錄的時段 RTT 仍升高時,是「繞遠路的路由」或「BGP 路由變更與收斂」。只有大封包消失時是「MTU 不一致(只有大封包消失)」
確認方式
用基礎設施工具確認(不需要遊戲程式碼)

出處

  1. Maximum transmission unit and maximum segment size Cloudflare
    進來的流量清洗後經 GRE 通道(MTU 1,476)轉交,出去的回應直接走網際網路(DSR),建議把 TCP MSS 限制在 1,436 以下,不調整的話大封包會被丟棄或分段
  2. Azure network round-trip latency statistics Microsoft Azure
    依據點位置的往返延遲規模:首爾–釜山地區 8ms、首爾–東京 30ms、首爾–新加坡 68ms

相關原因

同一層:L5 資料中心網路設備

同一症狀(輸入延遲)在其他層的原因

查看含圖解與實驗的完整版卡片