في الآونة الأخيرة، أرى دائمًا أشخاصًا يشكون دائمًا من تعرض خوادم الألعاب لضربات DDoS، وزمن الاستجابة مرتفع بشكل يبعث على السخرية بعد إضافة شبكة CDN عالية الدفاع. لنكون صادقين، في هذه الأيام، خوادم الألعاب، ليس فقط لتحمل القتال، ولكن أيضًا لتعمل بسرعة. لقد اختبرت العديد من شبكات CDN عالية الدفاع، ووجدت أن العديد من الفرق ببساطة لا تأخذ اختيار العقدة وتحسين التوجيه على محمل الجد، والنتيجة هي أن اللاعبين يلعنون البطاقة أثناء إسقاط الخط.
في الواقع، مشاكل الكمون الدفاعي العالي لشبكة CDN، ثمانون في المئة في نشر العقد واستراتيجية التوجيه. العديد من البائعين لا يتحركون لتفجير عرض النطاق الترددي الدفاعي الخاص بهم كم عدد T، ولكن العقد كلها مستأجرة موارد مستعملة، الخط حول الأرض نصف دائرة. اللاعبون المتصلون، يجب أن تسافر الحزمة أيضًا إلى الخارج قبل العودة، وهذا لا يمكن أن يكون بطاقة؟ خاصة أولئك الذين يلعبون لافتة “الأمن العالية الرخيصة”، في الواقع، هو حركة المرور إلى نفس قابس مركز التنظيف نفسه، وليس المقلية غريبة.
لقد قمت سابقًا بقياس بائع يدعى CDN07، أعلن أن 500 عقدة في العالم، ونتائج فحص قطاع IP، 80٪ من التركيز في أمريكا الشمالية وأوروبا. اللاعبين المحليين المتصلين بالماضي، ارتفع التأخير مباشرة إلى أكثر من 200 مللي ثانية. هناك ما هو أكثر فظاعة - الشركة المصنعة لعقد جنوب شرق آسيا، الموقع الفعلي في البرازيل، هذه الموجة من العملية تسمى ببساطة الإرسال السحري.
البرنامج الذي يعمل حقًا يجب أن يبدأ من مستويين من توزيع العقد واستراتيجية التوجيه. أولاً وقبل كل شيء، العقد: يجب اختيار المسافة الفعلية من اللاعبين القريبين، والأولوية مع عقد BGP متعددة الخطوط. على سبيل المثال، إذا كان لديك الكثير من اللاعبين المحليين، فأنت بحاجة إلى استخدام العقد في الصين واليابان وكوريا وجنوب شرق آسيا، وفتح مجموعة أخرى إذا كان لديك الكثير من اللاعبين في أوروبا والولايات المتحدة. لا تصدق هراء “الجدولة العالمية الموحدة”، فالبث عبر القارات ليس سريعًا.
على سبيل المثال، قمت بتحسين لعبة إطلاق النار عن طريق استبدال العقدة العامة للبائع بعقدة 08Host في آسيا والمحيط الهادئ BGP، وقمت ببساطة بتعديل سياسة التوجيه لتقليل زمن الوصول من 180 مللي ثانية إلى 110 مللي ثانية. ببساطة تعديل استراتيجية التوجيه، الكمون مباشرة من 180 مللي ثانية إلى 110 مللي ثانية. العملية الرئيسية هي في الواقع نقطتان: الأولى هي تعطيل توجيه Anycast الافتراضي للتوجيه إلى أي بث، والتغيير إلى وفقًا لمزود خدمة الإنترنت للاعب لتحديد عقدة الخط الواحد المقابلة؛ الثانية هي التهيئة يدويًا إلى مصدر المسار، لتجنب الذهاب إلى الشبكة العامة عبر المشغل.
تحسين المسار أكثر إثارة للاهتمام. معظم بائعي شبكات CDN يعطون التكوين الافتراضي هو “التوجيه الذكي التلقائي بالكامل”، يبدو هذا الأمر نبيلًا، في الواقع، هو اختيار بلا عقل لأقصر مسار AS. لكن نقل الشبكة ليس خطاً مستقيماً للمسافة ليس بالضرورة أن يكون سريعاً، علينا أن ننظر إلى جودة الرابط الفعلي. على سبيل المثال، قد تبدو بعض المسارات التفافية، ولكن قد تبدو بعض المسارات التفافية، ولكن شبكة الإنترانت الناقلة، ولكنها أكثر استقرارًا من الارتباط المباشر.
عادةً ما أبدأ بقياس موجة من جودة الارتباط في الوقت الفعلي باستخدام أداة. على سبيل المثال، القيام بتتبع المسار باستخدام MTR والتركيز على فقدان الحزمة والارتعاش:
mtr --report --report-cycles 10 cdn-node.example.com
ثم حدد الأولوية يدويًا وفقًا للنتيجة. على سبيل المثال، يتم إعطاء الأولوية لمستخدمي الاتصالات على خطوط CN2 ومستخدمي الهاتف المحمول على العمود الفقري لشبكة الاتصالات المتنقلة. هنا حفرة: لا تعتمد على وظيفة التوجيه التلقائي لبائع CDN، فهم من أجل توفير التكاليف غالبًا ما يحشرون حركة المرور في الروابط الرخيصة.
لقد اختبرنا بائعًا يُدعى CDN5، وكان “التوجيه الذكي” الخاص بهم في الواقع يوجه طلبات مستخدمي قوانغدونغ إلى العقد الهندية، والسبب هو أن “حمل العقد الهندية كان أقل في ذلك الوقت”. لاحقًا، قمنا مباشرةً بإغلاق سياسة التوجيه الإقليمي في الخلفية:
بعد التعديل، انخفض تأخير اللاعبين الآسيويين بشكل مباشر بمقدار 40%، وانخفضت أوروبا بمقدار 35%، وهذا التأثير أكثر واقعية من إضافة عرض النطاق الترددي.
نصيحة أخرى هي تحسين البروتوكول. لا تحتاج حركة مرور اللعبة في الواقع إلى المرور عبر وكيل TCP الكامل، يمكن أن يمر جزء من حزم UDP عبر قناة الاتصال المباشر. على سبيل المثال، الدردشة الصوتية ومزامنة الموقع في الوقت الحقيقي لمثل هذه البيانات الحساسة لوقت الاستجابة، يمكنك الانتقال إلى الإرسال من نقطة إلى نقطة، فقط في الحزمة الأولى من خلال التحقق من CDN. هذا يمكن أن يمنع DDoS، ولكن لن يؤدي إلى تأخير إضافي.
كلمة أخيرة حول التوازن بين الدفاع والكمون. يعتقد الكثير من الناس أن الدفاع العالي يجب أن يضحي بالسرعة، في الواقع لا. مثل 08Host's Anycast + البنية الهجينة للبث الأحادي الهجين ذكية للغاية - عادةً ما تذهب إلى خط البث الأحادي منخفض زمن الوصول، وتضرب تلقائيًا تبديل تنظيف Anycast. بالإضافة إلى ذلك ، فإن خوارزمية تسريع TCP الخاصة بهم مفيدة حقًا ، خاصة في معدل فقدان الحزمة 3% أو أكثر من بيئة الشبكة ، أسرع بكثير من TCP التقليدي.
في الواقع، لا يوجد حل سحري لتحسين زمن الاستجابة، فالمفتاح يجب أن يكون المراقبة والتعديل المستمر. لقد اعتدت استخدام Prometheus+Grafana للقيام بالمراقبة في الوقت الحقيقي، والنظر في العديد من المؤشرات الرئيسية: توزيع التأخير الإقليمي، ومعدل إعادة إرسال TCP، ووقت حل DNS. بمجرد العثور على عقدة متذبذبة، قم بقطع الخط البديل على الفور.
في نهاية المطاف، فإن شبكة CDN عالية الدفاع ليست شيئًا يمكنك شراؤه والراحة. يجب عليك أن تكون مثل ضبط سيارة سباق تقذف باستمرار الخطوط والاستراتيجيات. هؤلاء البائعون الذين يدّعون “التحسين المؤتمت بالكامل” لا يريدونك بصراحة أن ترى مدى بدائية الواجهة الخلفية. الحل الموثوق به حقًا هو دائمًا الحل الذي يتحكم فيه الفريق التقني في التوجيه.
في الآونة الأخيرة، ساعدت فريق كرة يد على القيام بالتحسينات، وقمت بترحيل عقدة أمريكا الشمالية الخاصة بهم من الكتلة المشتركة إلى عقدة CDN5 الحصرية، مع قواعد توجيه مخصصة، تم تقليل التأخير من 140 مللي ثانية إلى أقل من 90 مللي ثانية. ردود الفعل من اللاعبين هي ببساطة عالمان - أولئك الذين كانوا يلعنون التأخير يسألون الآن “ما نوع التكنولوجيا السوداء التي غيرتها”.
لذا توقف عن تكديس عرض النطاق الترددي بشكل أعمى. وفر هذا القدر من المال وادرس بدلاً من ذلك خريطة العقدة وجدول التوجيه. في بعض الأحيان يكون تأثير تغيير العقدة والمسار أكثر وضوحًا من توسيع النطاق الترددي بمقدار 10G. تذكّر أن اللاعبين سيصوتون بأقدامهم فقط، وقد يؤدي ارتفاع وقت الاستجابة إلى نقطة أخرى من التخبط.

