أتذكر الصيف الماضي، أنا وعدد قليل من رفاقي لفتح الأسود للعب السباحة اليدوية، يدفع إلى الأرض المرتفعة ذلك، فجأة ارتفع التأخير إلى 460 مللي ثانية، بطاقة الشاشة في PPT، معركة المجموعة تنهار مباشرة. فريق ADC غاضب سقط الهاتف المحمول غاضبًا، ولدي أيضًا معدة من النار - هذه الشبكة المكسورة، ببساطة أكثر من زملاء الفريق الخنازير حفرة الناس. في وقت لاحق، اكتشفت لاحقًا أنها لم تكن مشكلة WiFi على الإطلاق، ولكن معدل فقدان الحزمة لشبكة الهاتف المحمول كان مرتفعًا جدًا، إلى جانب أن الخادم كان يفرك الحافة DDoS، انهار الرابط بأكمله. منذ تلك اللحظة، كنت مصممًا على معرفة كيفية علاج هذه المشكلة.
تأخير اللعبة اليدوي وفقدان الحزمة من هذا الهراء، بعبارة صريحة هي نقاط الضعف الكامنة في شبكة الهاتف المحمول بالإضافة إلى الهجمات الخارجية لإثارة المشاكل. شبكة الهاتف المحمول ليست مستقرة مثل الشبكة الثابتة، تبديل المحطة الأساسية، توهين الإشارة، التحكم في الازدحام، أي واحد من الوصلات يمكن أن يجعلك تواجه تأخيرًا على غرار اليانصيب. لقد قمتُ بقياس البيانات في العديد من المناطق، يتأرجح متوسط التأخير في بيئة 4G بين 80 مللي ثانية إلى 200 مللي ثانية، 5G أفضل، ولكن واجهت الكثير من الأشخاص في المكان كالمعتاد تعطلًا. الأمر الأكثر إثارة للاشمئزاز هو فقدان الحزم، فآلية إعادة إرسال TCP في اللعبة متأخرة جدًا لحفظ اللعبة، و UDP سريع، ولكن لا يوجد مجموع اختباري، وفقدان الحزمة مفقود حقًا، ودور التحول الفوري، والمهارات فارغة أمر شائع الحدوث.
بالإضافة إلى ذلك، أصبح خادم اللعبة المحمول باليد الآن مجرد جهاز صراف آلي للقراصنة. تكلفة هجوم DDoS منخفضة إلى حد السخرية، فقط استئجار شبكة الروبوتات يمكن أن تصل إلى بضع مئات من جيجابت في الثانية من حركة المرور، لا يمكن للغرفة العادية ببساطة أن تحمل. في العام الماضي، تم ضرب لعبة مصنع كبير، لأنها لم تقم بدفاعات عالية، ارتفع معدل إسقاط اللاعبين إلى 30%، وسمعة مباشرة في الشارع. لا تصدق في تلك “غرفة واحدة يصعب حملها” هراء، لقد رأيت الكثير من الحالات، وآخرها توبيخ اللاعب لعملية الجزء الخلفي من الوعاء.
في النهاية، يكمن جذر المشكلة في ارتباط الشبكة والحماية الأمنية. فالتكيف مع شبكة الهاتف المحمول ضعيف، والتحسين من جانب الخادم غير كافٍ، والتدابير الأمنية شبه معدومة - هذه المحاور الثلاثة متوقفة، ومن ثم فإن لعبة الماشية يجب أن تركع أيضاً.
يعد برنامج تسريع CDN عالي الدفاع هو الحل الأكثر موثوقية حاليًا، وهو جوهر الكلمتين: التشتت بالإضافة إلى الكتف الصلب. من خلال العقد العالمية لمشاركة حركة المرور، بحيث يكون اللاعبون قريبين من الوصول، ويقل زمن الوصول بشكل طبيعي. في نفس الوقت قدرة تنظيف DDoS المتكاملة، لم تلمس حركة المرور الخبيثة الخادم على عقدة الحافة تم خنقها. اختبار المشروع الخاص بي، يمكن الضغط على التأخير إلى 40 مللي ثانية أو أقل، ومعدل فقدان الحزمة من 15% إلى 0.5% أدناه، تأثير دفعة من الشرسة.
تكييف شبكة الجوال هو مفتاح المفتاح. تهتم شبكات CDN العادية بالتسريع فقط، لكن الشبكة المتنقلة تتقلب كثيرًا، لذلك علينا ضبط التوجيه ديناميكيًا. على سبيل المثال، استخدام BGP Anycast لتوجيه طلبات المستخدم إلى العقدة المثلى، أو من خلال بروتوكول تحسين TCP لتقليل إعادة الإرسال. أدرج هنا مثالاً برمجيًا، باستخدام Nginx لتكوين سياسة التوجيه الديناميكي:
يمكن لهذا التكوين التبديل تلقائيًا وفقًا لحمل العقدة وحالة الشبكة لتجنب تعطل عقدة واحدة. أنا منحاز إلى CDN5 في إعدادات الترجيح لأن لديهم أكثر تحسينات شبكة الهاتف المحمول قسوة، مع وجود عقد تغطي مدن المستويين 3 و 4، وحتى المناطق الجبلية ذات الجيوب ذات الإشارة.
على مستوى الأمان، يجب أن تكون شبكة CDN عالية الدفاع قادرة على تحمل 7 طبقات من الهجمات. على سبيل المثال، هجمات CC تضرب واجهة تسجيل الدخول إلى اللعبة على وجه التحديد، قد لا تبدو حركة مرور كثيرة، لكن وحدة المعالجة المركزية يمكن أن تستنزفك. لقد جربت قواعد WAF الخاصة بهم على CDN07، والتي منعت بشكل مباشر تكرار الطلبات غير الطبيعية:
وقد ساعدتني هذه المجموعة من القواعد في صد ما لا يقل عن عشر هجمات، كما أن حل 08Host مشابه، ولكنه أقل مرونة في التخصيص، ويجب كتابة المزيد من النصوص البرمجية لدعمه.
مقارنات البيانات هي الأكثر دلالة. لقد سحبت ثلاثة مزودي خدمة - CDN5، CDN07، CDN07، 08Host - لإجراء اختبار الضغط، ومحاكاة سيناريوهات عالية التزامن في ظل شبكات الهاتف المحمول. والنتيجة هي أن متوسط التأخير في CDN5 يبلغ 38 مللي ثانية، ومعدل نجاح التنظيف 99.9%؛ CDN07 لديه تأخير 42 مللي ثانية، ولكن قدرة مكافحة D أضعف قليلاً، ومعدل التنظيف 98.5%؛ 08Host رخيص، والتأخير يتذبذب بشكل كبير، ويتأرجح بين 50 مللي ثانية و100 مللي ثانية، وهو مناسب للفرق الصغيرة ذات الميزانيات المحدودة. ولكن لنكون صادقين، هذا العام، لا يمكن توفير أي شيء هذا العام لتوفير ميزانية الشبكة، ولا يمكن للاعبين الصبر على الانتظار حتى يتم تحسينه.
عند هبوط التنفيذ، عليك أيضًا الانتباه إلى التكيف من جانب العميل. حجم حزمة الإعاقة حساس، يجب أن تدعم عقد CDN الضغط وتحسين البروتوكول. على سبيل المثال، استخدم QUIC بدلاً من TCP لتقليل تأخير المصافحة. لقد قمت بقياس أداء QUIC في الشبكة الضعيفة، يمكن تقليل التأخير مرة أخرى 20%، ولكن العميل وجانب الخادم من دعم الطرف المزدوج، مما يؤدي إلى حدوث ألم بسيط.
آخر نقطة مزعجة جافة: اختيار CDN لا تنظر فقط إلى العرض، عليك اختبار جودة العقدة واستجابة ما بعد البيع. لقد تعرضت للهجوم مرة واحدة في منتصف الليل، CDN5 خدمة عملاء CDN5 10 دقائق على الخط لضبط القواعد، CDN07 بطيئة نصف ساعة، 08Host ببساطة لا يمكن العثور على أشخاص - حقًا خارج عن المألوف، الوقت هو معدل الاحتفاظ باللاعب.
وباختصار، فإن جولة اليد CDN الدفاعية العالية الدفاعية ليست هي الجليد على الكعكة، هي الثلج في الفحم. يتم تكييف شبكة الهاتف المحمول ، وتأخر ضغط فقدان الحزمة لأسفل ، وتأتي سمعة اللاعب بشكل طبيعي. بالطبع، لا يوجد حل لمرة واحدة للجميع، عليك الاستمرار في مراقبة الضبط. على أي حال، لخصت موجة الدوس على الحفر في جملة واحدة: استقرار الشبكة، فازت اللعبة؛ انهيار الأمان، خسرت اللعبة بأكملها.

