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

คู่มือเกมแลค › ต้นเหตุของการส่งซ้ำใน TCP

อุปกรณ์กลางทางเกินขีดความสามารถ (ไฟร์วอลล์/IPS/ระบบป้องกัน DDoS) Inline appliance PPS / CPU overload

ID สาเหตุ rt-appliance-pps · ผู้รับผิดชอบหลัก อินฟราเครือข่าย (ทีมอินฟรา) · ร่วมกับ พัฒนาเซิร์ฟเวอร์ (ทีมพัฒนาเกม)

เปิดการ์ดในฉบับหลักที่มีภาพและการทดลอง →

ไฟร์วอลล์, อุปกรณ์ป้องกันการบุกรุก (IPS) และอุปกรณ์ป้องกัน DDoS ตรวจแพ็กเก็ตที่ผ่านทีละตัว เมื่อเกินความสามารถในการตรวจ แพ็กเก็ตที่ประมวลผลไม่ทันจะถูกทิ้งตั้งแต่จังหวะนั้น

ทำไม ช่วงพีคหรืออีเวนต์ แพ็กเก็ตเกมเล็ก ๆ ทะลักเข้ามาเกินหลายแสนตัวต่อวินาที หรือกฎการตรวจหนัก → ผลคือ CPU หรือขีดจำกัดจำนวนแพ็กเก็ตต่อวินาทีของอุปกรณ์เต็ม อุปกรณ์จึงทิ้งแพ็กเก็ต ถ้าเป็น false positive แพ็กเก็ตปกติก็ถูกบล็อกด้วย → บนหน้าจอ ผู้เล่นบนทุกเซิร์ฟเวอร์ที่อยู่หลังอุปกรณ์นั้นค้างหรือวาร์ปพร้อมกัน, หนักขึ้นเฉพาะตอนคนแห่มารวมกัน

อาการ
ค้าง, กรอเร็ว, วาร์ป, หลุด
ปัจจัย
แพ็กเก็ตหาย, ความหน่วง
ใครเจอ
ทั้งเซิร์ฟเวอร์, บางพื้นที่/บาง ISP
เกิดเมื่อไร
ช่วงพีคหัวค่ำ, ตอนคนแห่มารวมกัน
ผู้รับผิดชอบ
ผู้รับผิดชอบหลัก อินฟราเครือข่าย (ทีมอินฟรา) · ร่วมกับ พัฒนาเซิร์ฟเวอร์ (ทีมพัฒนาเกม)
งานฝั่งทีมพัฒนาเกม
แชร์รูปแบบทราฟฟิกของเกม (พอร์ต, ขนาดแพ็กเก็ต, จำนวนแพ็กเก็ตต่อวินาที) ให้ทีมอินฟรา, รวมข้อความเล็ก ๆ ที่จะส่งในหนึ่งทิกแล้วส่งครั้งเดียวเพื่อลดจำนวนแพ็กเก็ต
งานฝั่งทีมอินฟรา
ดู CPU, จำนวนแพ็กเก็ตต่อวินาที และตัวนับการดรอปของอุปกรณ์คู่กับเมตริกของเกม, คำนวณความจุของอุปกรณ์โดยอิงแพ็กเก็ตเล็ก, เอาพอร์ตเกมออกจากการตรวจที่หนัก, ปรับกฎป้องกัน DDoS ให้เข้ากับรูปแบบทราฟฟิกของเกม
ตัวเลขที่ควรรู้
ตัวเลข “10 Gbps” ในสเปกอุปกรณ์มักวัดด้วยแพ็กเก็ตใหญ่ 1,500 ไบต์ แพ็กเก็ตเกมขนาดราว 100 ไบต์จะมีจำนวนแพ็กเก็ตมากกว่า 10 เท่าขึ้นไปในแบนด์วิดท์เท่ากัน ต่อให้ลิงก์ดูว่าง ขีดจำกัดจำนวนแพ็กเก็ตต่อวินาทีก็จะเต็มก่อน
บนกราฟ
ชนเพดานแล้วแบนราบ · จำนวนแพ็กเก็ตต่อวินาทีและอัตราการใช้ CPU ของอุปกรณ์, จำนวนการดรอปของอุปกรณ์
จุดที่ต้องดู
CPU, จำนวนแพ็กเก็ตต่อวินาที และตัวนับการดรอปของอุปกรณ์ เทียบจำนวนแพ็กเก็ตของพอร์ตสวิตช์ด้านหน้าและด้านหลังอุปกรณ์ด้วยรอบการเก็บค่าเดียวกัน วางซ้อนบนหน้าจอเดียวกับจำนวนผู้เล่นออนไลน์พร้อมกันและอัตราการส่งซ้ำของเซิร์ฟเวอร์
สัญญาณว่าใช่
ช่วงพีคหรืออีเวนต์ จำนวนแพ็กเก็ตต่อวินาทีหรือ CPU ของอุปกรณ์ตันอยู่ที่ค่าหนึ่ง แพ็กเก็ตที่ออกจากอุปกรณ์น้อยกว่าที่เข้าไป และในเวลาเดียวกันอัตราการส่งซ้ำของทุกเซิร์ฟเวอร์ที่อยู่หลังอุปกรณ์ก็ขึ้นตาม
สัญญาณว่าไม่ใช่
จำนวนแพ็กเก็ตด้านหน้าและด้านหลังอุปกรณ์เท่ากันและไม่มีการดรอปที่อุปกรณ์: เป็นสาเหตุอื่น ถ้าตัวนับการทิ้งของ NIC หรือ softnet dropped ของเซิร์ฟเวอร์เพิ่มขึ้น น่าจะเป็น “เครื่องเซิร์ฟเวอร์ฝั่งรับทิ้งแพ็กเก็ต”
วิธีตรวจ
ใช้เครื่องมือฝั่งอินฟรา (ไม่ต้องใช้โค้ดเกม)

แหล่งอ้างอิง

  1. RFC 2544: Benchmarking Methodology for Network Interconnect Devices IETF
    ต้องทดสอบประสิทธิภาพของอุปกรณ์ด้วยเฟรมหลายขนาด รวมทั้งขนาดเล็กสุดและใหญ่สุด (ประสิทธิภาพการประมวลผลเปลี่ยนไปตามขนาดแพ็กเก็ต)

สาเหตุที่ควรดูประกอบ

ชั้นเดียวกัน: ต้นเหตุของการส่งซ้ำใน TCP

สาเหตุจากชั้นอื่นที่ทำให้เกิดอาการเดียวกัน (ค้าง)

ดูการ์ดในฉบับหลักที่มีภาพและการทดลอง