في الآونة الأخيرة، اتصل بي العديد من رفقاء التشغيل والصيانة في شركة الألعاب ليشتكوا، قائلين إن اللاعبين في الخارج يتأخرون وينخفضون دائمًا، كما أن DDoS يشل الخدمة بأكملها بشكل مباشر. لقد ألقيت نظرة على تكوين CDN الخاص بهم وهم سعداء - هذه الأيام لا يزال هناك أشخاص قريبون من المصدر دون إضافة أي استراتيجية دفاعية؟
نهاية اللعبة هذا الشيء من جولة اليد والصفحة طنانة، الكمون أكثر من 80 مللي ثانية يمكن رشها في غربال اللاعبين. يفكر بعض البائعين في شراء شبكة CDN ذات النطاق الترددي الكبير على كل شيء، تتركز نتائج العقد في عدد قليل من الغرف، لاعبو جنوب شرق آسيا المتصلون بعقد أمريكا الشمالية حول أوروبا، والتي لا يمكن أن تكون بطاقة؟
لقد اختبرت “العقد العالمية” الخاصة بالشركة المصنعة، مدعيًا أن أكثر من 200 عقدة، ونتائج أمريكا الجنوبية والشرق الأوسط كلها عقد افتراضية، ويتم تفريغ حركة المرور الفعلية إلى أوروبا وغرفة الولايات المتحدة. تظهر قيمة اختبار ping للاعبين 120 مللي ثانية تبدو جيدة، وتظهر قيمة التتبع الفعلي ذهابًا، حوالي نصف العالم.
وتعتمد التغطية الحقيقية للعقدة على ثلاثة مؤشرات ثابتة:يتم إرساء عدد غرف الخوادم الفعلية وجودة روابط BGP والمشغلين المحليين. مثل CDN07، مزود الخدمة المخضرم، هناك 12 نقطة وصول فعلية في جنوب شرق آسيا وحدها، والمشغلين المحليين الذين يطلون مباشرة، ويمكن الضغط على زمن وصول المشغلين المحليين إلى 40 مللي ثانية أو أقل.
في العام الماضي إلى لعبة إطلاق النار للقيام بالترحيل، أجرينا اختبار مقارنة: نفس الوصول إلى لاعب طوكيو، وشبكة CDN التقليدية للوصول إلى مسار طوكيو ← لوس أنجلوس ← طوكيو، وشبكة 08Host's Anycast المترجمة مباشرة، والكمون من 147 مللي ثانية إلى 61 مللي ثانية.
شبكة CDN عالية الدفاع هي منطقة كوارث عالية الدفاع. بعض البائعين لما يسمى بـ “الحماية على مستوى T” هو مجرد تسمية خاطئة، فإن المواجهة الفعلية لهجمات 300G أو أكثر من الهجمات مباشرة لاغية مسار اسم المجال الخاص بك. تريد حقًا أن ترى القدرة الدفاعية للنظر في توزيع مراكز التنظيف وآلية تشغيل الثقب الأسود.
الآن البرنامج الموثوق به هو جدولة مختلطة: تذهب حركة المرور العادية إلى خط التسريع، ويتم جدولة حركة مرور الهجوم تلقائيًا إلى عقدة التنظيف. مثل آلية CDN5 أكثر ذكاءً، وفقًا لنوع الهجوم لاختيار استراتيجية مختلفة: فيضان SYN للذهاب إلى خارج البلد للتنظيف، وهجمات CC مع محرك تحليل السلوك، و dnsQuery Flood الحل المحلي مباشرة.
هذا هو تكوين جدولة nginx الذي نستخدمه:
لا تصدق أبدًا أولئك الذين يدعون “حماية غير محدودة” البائعين، واجهوا حقًا أكثر من هجوم 2T، إما انفجار التكلفة أو تدفق الإغراق المباشر. من الأفضل أن تقوم بعمل جيد في تصنيف حركة المرور، وحركة مرور الألعاب الأساسية مع طريق خط الدفاع العالي، وحزم التحديث والإعلانات تذهب إلى CDN العادي.
يجب أيضًا أن تتبع استراتيجية اختيار العقدة اللاعبين. لقد وجدنا ظاهرة مثيرة للاهتمام من قبل: كان اللاعبون البرازيليون يتصلون بشكل أسرع من العقد المحلية من خلال عقد ميامي، لنكتشف أن المشغلين المحليين لديهم ترابطات ضعيفة. أما الآن فالأمر كله يتعلق بالتوجيه الديناميكي باستخدام أدوات السبر في الوقت الحقيقي:
تحسين الارتباط عبر البلاد هو الصفقة الحقيقية. تبحث بعض المناطق عن المزيد من العقد، لكنها غرف خوادم أحادية الخط. مثل الشرق الأوسط، عليك أن تبحث عن غرفة خوادم BGP متعددة الخطوط مع شركة اتصالات الإمارات العربية المتحدة وOoredoo وغيرها، وإلا فإن لاعبي دبي قد يفقدون الحزم حتى في غرفة الخوادم في قطر.
والأكثر قسوة الآن هو التنبؤ الذكي بالمسار، والذي يضبط المسار تلقائيًا وفقًا للوقت. تذهب أوروبا والولايات المتحدة إلى وصلة آسيا والمحيط الهادئ خلال ساعة الذروة المسائية، وتذهب الساعة الذهبية الآسيوية إلى العبور الأوروبي، والتي يتم قياسها لتقليل تقلبات التأخير 22%.
إن تحسين البروتوكول هو الميزة الخفية. يعمل بروتوكول QUIC بشكل أفضل بكثير من بروتوكول TCP على شبكات الهاتف المحمول، خاصة في مناطق مثل جنوب إفريقيا والهند حيث تتقلب الشبكة كثيرًا. بعد أن فرضنا تشغيل QUIC على اللاعبين في جنوب إفريقيا، انخفض معدل التأخر 38% مباشرة.
ولكن انتبه إلى استهلاك وحدة المعالجة المركزية لوحدة المعالجة المركزية لـ QUIC، فمن الأفضل استخدام موازن تحميل يدعم تسريع الأجهزة. عند اختبار تطبيق برنامج البائع، ارتفع استهلاك وحدة المعالجة المركزية مباشرة إلى 701 تيرابايت 3 تيرابايت، ثم تم تغييره إلى أجهزة CDN5 المخصصة قبل أن يتم الضغط عليه إلى أقل من 151 تيرابايت 3 تيرابايت.
يجب أيضًا تحديث نظام المراقبة بشكل مستمر، فالنظر فقط إلى استخدام النطاق الترددي هو للهواة. نحن نركز الآن على ثلاثة مقاييس رئيسية: وقت إنشاء TCP حسب المنطقة، وعدد الاتصالات الجديدة في الثانية، وزمن انتقال مصافحة SSL. فجأة، وجدنا فجأة أن زمن انتقال SSL في اليابان قد ارتفع بشكل كبير، واكتشفنا وجود خلل في التحقق من سلسلة شهادات معينة.
وأخيرًا، هناك درس مستفاد: لا تستخدم شبكة CDN مشتركة لبروتوكول الإنترنت لتوفير المال! في إحدى المرات، تعرض أحد المنافسين لـ DDoS، ونتيجة لذلك، عانت لعبتنا من نفس قطاع IP. في الوقت الحاضر، يُطلب من البائعين في الوقت الحاضر إعطاء قطاعات IP مستقلة، على الأقل قطاعات شبكة معزولة/24.
إذا كنت قلقًا حقًا بشأن التكلفة، يمكنك أن تفعل ما فعلناه: استخدم عنوان IP حصريًا عالي الدفاع للمعارك الأساسية، واستخدم CDN مشترك لردهة اللعبة وتنزيلات التحديثات. بهذه الطريقة، يمكنك حمل الهجمات دون أن تتسبب في انفجار تكلفة النطاق الترددي.
في الوقت الحاضر، يقدم بائعو شبكات CDN الجيدة واجهات برمجة التطبيقات لضبط السياسات ديناميكيًا، مثل تبديل أوضاع التنظيف تلقائيًا بناءً على الهجمات في الوقت الفعلي. إليك مقتطف من برنامج الجدولة الآلي الذي كتبناه:
في الواقع، تجربة المشغل هي مشروع منهجي، لا يكفي أن يكون لديك عقد، ولكن أيضًا الجدولة الذكية، وتحسين البروتوكول والدفاع الأمني. انظر الآن إلى الأسفل، CDN5 هو الأقوى أداءً في منطقة آسيا والمحيط الهادئ، وتغطية 08Host الأوروبية أكثر كثافة، ونظام الحماية CDN07 هو الأكثر اكتمالاً. يوصى بالمزج والمطابقة وفقًا لتوزيع اللاعبين.
حقيقة أخيرة: لا توجد شبكة CDN يمكنها تغطية جميع المناطق. نحن نستخدم بائعًا محليًا CDN77 في أوروبا الشرقية، وعلى الرغم من عدم وجود العديد من العقد العالمية، إلا أن جودة الوصول من المشغلين المحليين أقوى من اللاعبين الدوليين الكبار. لا يزال المفتاح هو مراقبة التجربة الحقيقية للاعبين في الوقت الحقيقي، ولا تنظر فقط إلى بيانات وحدة التحكم.
في المرة القادمة التي تواجه فيها لاعبين يشتكون من التأخر، لا تتسرع في إضافة النطاق الترددي أولًا. أخرج التتبع لرؤية المسار الفعلي، ربما مجرد ازدحام في الوصلة العابرة للحدود، وتغيير نقطة الوصول سيحل المشكلة. المياه في هذا العمل عميقة جدًا، ولكن هناك في الواقع بضع نقاط رئيسية فقط عندما تتخطاها.

