محمد قتيبة شيخانيأبني. أستكشف. أشارك

18من 20

أساسيات الإنترنت والشبكات

شبكة توصيل المحتوى (CDN): الحافّة التي تقرّب موقعك من كل مستخدم

غلاف المقال: رسمٌ بخطوطٍ رقيقة على أرضٍ كريميّة. إلى اليمين علبةٌ مكتوبٌ فيها «الأصل»، يخرج منها سهمٌ طويلٌ رقيقٌ إلى اليسار مكتوبٌ فوقه «مرّةً واحدة لكلّ منطقة»، فيبلغ علبةً بالأحمر الترابيّ مكتوبٌ فيها «نقطةٌ قريبة». ومن هذه العلبة تخرج ثلاثة أسهمٍ حمراء قصيرةٌ إلى اليسار نحو ثلاث علبٍ صغيرةٍ مكتوبٌ في كلٍّ منها «زائر»، وفوقها «ثمّ الجميع محليًّا». وفي أسفل الغلاف عنوان المقال وسطرٌ تحته، واسم الكاتب وعلامته.

في المقال السابق عن «التخزين المؤقت» رأيتَ أن أقوى طبقة تخزينٍ حين يكون جمهورك موزّعًا على الكوكب هي التخزين عند «الحافّة»: نسخٌ من موقعك في خوادمَ قريبةٍ من كل مستخدمٍ أينما كان. هذه هي «شبكة توصيل المحتوى» (CDN)، وهي موضوع هذا المقال.

وقد رأيتَ في مقال الشبكة واسعة النطاق أن المسافة عدوٌّ لا تغلبه أيّ تقنية: سرعة الضوء تفرض حدًّا على زمن الوصول مهما اتّسع النطاق. فإن كان خادمك في ألمانيا وزائرك في طوكيو، دفع ثمن المسافة في كل طلب. الـCDN هو الجواب الذكيّ: لا تجعل المسار أسرع، بل اجعله أقصر. وهذا المقال يفتحه: ما هو، وكيف يوجّه كل مستخدمٍ إلى أقرب نقطة، ولماذا صار اليوم أكثر بكثير من مجرّد تخزينٍ مؤقت، وما ثمن أن يمرّ موقعك كلّه بطرفٍ واحد.

ما شبكة توصيل المحتوى

الـCDN شبكةٌ موزّعةٌ عالميًّا من الخوادم، تُنصَب في مراكز بياناتٍ ونقاط تبادلٍ حول العالم، تُسمّى «الخوادم الطرفية» أو «نقاط التواجد» (PoP).[1] وظيفتها أن تحفظ نسخًا من موقعك وتقدّمها للزائر من أقرب نقطةٍ إليه في الشبكة. إن شبّهتَ خادمك الأصليّ بمطعمٍ واحدٍ في إسطنبول، فالـCDN شبكة فروعٍ للمطعم نفسه في كل مدينةٍ كبرى، تقدّم الطعام ذاته لكن محليًّا وبسرعة.[2]

والشبكات الكبرى ضخمةٌ فعلًا: تنتشر نقاط تواجد بعضها في مئات المدن حول العالم، فلا يكاد يخلو إقليمٌ مأهولٌ من نقطةٍ قريبة. والفرق الذي يصنعه هذا القرب ملموس: طلبٌ كان يقطع نصف الكوكب فيكلّف مئات الأجزاء من الألف من الثانية، يُخدَم من نقطةٍ قريبةٍ في عشراتها أو أقلّ. هذا الفارق وحده يحوّل موقعًا يبدو متثاقلًا في قارّةٍ بعيدةٍ إلى موقعٍ يبدو فوريًّا في كل مكان.

والفكرة ليست جديدة: ظهرت أولى شبكات التوصيل أواخر التسعينيّات (كانت شركة Akamai من روّادها) لحلّ بطء المواقع المتنامية، ثمّ تطوّرت من مجرّد تخزينٍ للصور إلى ما هي عليه اليوم من منصّاتٍ متكاملة.

وهذا في جوهره تطبيقٌ لمبدأ التخزين المؤقت الذي فصّلتُه لك في المقال السابق، لكن على نطاقٍ عالميّ: بدل ذاكرةٍ واحدةٍ قرب المستخدم، شبكةٌ كاملةٌ من الذواكر تغطّي الكوكب. ولهذا يلتقي الـCDN كثيرًا مع نقاط تبادل الإنترنت التي مرّت بك، إذ تضع شبكات التوصيل خوادمها عندها لتكون أقرب ما يكون إلى المستخدمين.

شكل 1 عنوانٌ واحد مُعلَنٌ من ثلاث نقاط ثلاث مدنٍ في صفٍّ واحد، وفي كلّ مدينةٍ مستخدمٌ ونقطةٌ طرفيّةٌ تخدمه. والنقاط الثلاث تُعلن العنوان نفسه، وهو المشدَّد، مكتوبًا كما هو في كلٍّ منها. فلا يطلب المستخدم عنوانًا خاصًّا بمدينته، بل يطلب العنوان الواحد فيسلّمه التوجيه إلى النقطة الأقرب إليه في الشبكة. ولا يظهر الأصل في الصورة، لأن الطلب لا يبلغه. عنوانٌ واحد، وثلاث نقاطٍ تُعلنه مستخدمٌ في طوكيو نقطة طوكيو 203.0.113.9 مستخدمٌ في لندن نقطة لندن 203.0.113.9 مستخدمٌ في ساو باولو نقطة ساو باولو 203.0.113.9 العنوان واحدٌ في الثلاث، والتوجيه هو الذي يختار عنوانٌ واحد مُعلَنٌ من ثلاث نقاط ثلاثة أزواجٍ مرتّبةٌ من أعلى إلى أسفل، كلّ زوجٍ مدينةٌ فيها مستخدمٌ ونقطةٌ طرفيّةٌ تخدمه. والنقاط الثلاث تُعلن العنوان نفسه، وهو المشدَّد، مكتوبًا كما هو في كلٍّ منها. فالمستخدم يطلب العنوان الواحد، والتوجيه يسلّمه إلى النقطة الأقرب إليه في الشبكة. ولا يظهر الأصل، لأن الطلب لا يبلغه. عنوانٌ واحد، وثلاث نقاط مستخدمٌ في طوكيو نقطة طوكيو 203.0.113.9 مستخدمٌ في لندن نقطة لندن 203.0.113.9 مستخدمٌ في ساو باولو نقطة ساو باولو 203.0.113.9 العنوان واحدٌ في الثلاث
عنوانٌ واحدٌ مُعلَنٌ من نقاطٍ كثيرة: مستخدمان يطلبان العنوان نفسه فيبلغ كلٌّ منهما نقطةً أخرى، والأصل بعيدٌ عنهما لا يمسّه الطلب. المشدَّد هو العنوان المشترك، وهو موضع الحيلة كلّها.

كيف يصل المستخدم إلى أقرب نقطة: Anycast

لكن كيف يُوجَّه كل مستخدمٍ تلقائيًّا إلى أقرب خادمٍ طرفيّ من بين مئات النقاط؟ السرّ تقنيّةٌ في التوجيه (انظر الشكل 1) تُسمّى «Anycast»: يُعلَن العنوان نفسه من كل نقاط التواجد في آنٍ واحد، فحين يطلبه مستخدمٌ، يسلّمه التوجيه (الذي رأيتَه في مقالَي الموجِّه ومزوّد الخدمة) إلى أقرب نقطةٍ شبكيًّا.[3] فمستخدمٌ في طوكيو يصل إلى نقطة طوكيو، وآخر في لندن يصل إلى نقطة لندن، والعنوان واحد. وهنا فرقٌ يستحقّ الدقّة: «الأقرب» في هذا التوجيه أقربُ شبكيًّا لا جغرافيًّا، أي أقصرُ مسارًا في حساب البروتوكول لا أقصرُ مسافةً على الخريطة، وقد تدخل في الحساب أيضًا حِمْلُ النقطة وسَعتها. ولهذا يقع أن يُخدَم مستخدمٌ في بلدٍ من نقطةٍ في بلدٍ مجاور: لم تُخطئ الشبكة، بل كان ذلك المسار أقصر عندها. ثمّ إنّ Anycast ليس الطريق الوحيد؛ فبعض الشبكات توجّه عبر نظام الأسماء نفسه، فتعطي كلّ مستخدمٍ عنوانًا مختلفًا بحسب موقعه بدل أن تعطي الجميع عنوانًا واحدًا. هكذا لا يحتاج المستخدم أن يعرف أين الفرع الأقرب؛ الشبكة نفسها توصله إليه.

وعمليًّا، تربط موقعك بالـCDN غالبًا بتغيير خوادم الأسماء (التي مرّت بك في مقال DNS) لتشير إلى مزوّد الـCDN، فيصير هو «البوّابة الأمامية»: كل طلبٍ يمرّ به أوّلًا لا بخادمك الأصليّ. ومن هنا تنبع قدرته على أن يفعل أكثر من مجرّد التوصيل، كما سيأتي.

الأصل والحافّة: مسار طلبٍ في CDN

لكل CDN «أصلٌ» (خادمك، مصدر الحقيقة) و«حافّةٌ» (الخوادم الطرفية). ولنرَ الآلية في مثالين، بالمفاهيم التي عرفتَها في مقال التخزين المؤقت. يزور مستخدمٌ في طوكيو موقعك أوّل مرّة، فيصل إلى نقطة طوكيو التي تبحث عن الملفّ فلا تجده (إخفاقٌ في الذاكرة)، فتجلبه من الأصل في ألمانيا مرّةً واحدة، تسلّمه للمستخدم وتحفظ نسخةً منه بمدّة صلاحية. ثمّ يزور مستخدمٌ في أوساكا الصفحة نفسها، فيُوجَّه إلى نقطة طوكيو أيضًا، فتجد الملفّ جاهزًا (إصابة) وتقدّمه فورًا دون أن يسافر الطلب إلى ألمانيا أبدًا.

ولنضع الفرق في أرقام: من دون CDN، قد يقطع طلب زائرٍ في طوكيو إلى خادمٍ في ألمانيا ذهابًا وإيابًا أكثر من مئتي جزءٍ من الألف من الثانية لكل أصلٍ في الصفحة، فتتراكم إلى ثوانٍ بطيئة. ومع CDN، تُخدَم الأصول من نقطة طوكيو في عشراتٍ قليلةٍ من الأجزاء أو أقلّ. هذا الفرق هو ما يفصل صفحةً «تتثاقل» عن صفحةٍ «تنبثق». والنتيجة أن المسار الطويل عبر المحيطات يُقطَع مرّةً واحدةً لكل منطقةٍ جغرافية، ثمّ يُخدَم الجميع محليًّا. وهذا يخفّف الحمل عن خادمك الأصليّ تخفيفًا هائلًا، ويقلّل ما يعبر العمود الفقريّ من مرورٍ متكرّر. ولأن المحتوى نوعان، يتعامل الـCDN معهما بحكمة: الملفّات الثابتة (صورٌ وتنسيقٌ وبرامج) تُخزَّن بسهولةٍ مدّةً طويلة، والمحتوى الديناميكيّ يُعالَج بحيلٍ أدقّ، بل صار كثيرٌ من الـCDN يبني الصفحة الديناميكية نفسها عند الحافّة، كما سيأتي في الجيل الحديث.

وحين تحدّث موقعك، كيف تتخلّص من النسخ القديمة في مئات النقاط؟ بأمر «تطهيرٍ» (Purge) يبلّغ الشبكة بإسقاط نسخةٍ بعينها، أو بتغيير اسم الملفّ ببصمةٍ كما رأيتَ في مقال التخزين المؤقت. وبعض الشبكات تطهّر العالم كلّه في أجزاءٍ يسيرةٍ من الثانية، فيظهر تعديلك فورًا في كل مكان. وهذا حلٌّ لأصعب مشكلةٍ في التخزين: الإبطال على نطاقٍ عالميّ.

وتتناغم طبقتا التخزين: يضبط الـCDN مدّة بقاء النسخة عنده، ويملي على متصفّح الزائر مدّة بقائها لديه أيضًا، فيتقاسمان الحفظ بحيث لا يصل أكثر الطلبات إلى الأصل أصلًا. ولأن الـCDN بوّابةٌ مركزيّةٌ يمرّ بها الجميع، يصلح أيضًا لضبط الوصول جغرافيًّا: حجب منطقةٍ أو تقديم محتوًى مختلفٍ بحسب بلد الزائر، وهو ما تستعمله المنصّات في القيود الإقليمية. فالحافّة موضعٌ مثاليٌّ للتحكّم بقدر ما هي موضعٌ للتسريع، وهذا وجهٌ آخر من القوّة التي تتركّز عند من يملك هذه الشبكات، على نحو ما رأيتَه في غير موضعٍ من هذه السلسلة.

وأبرز استعمالٍ للـCDN اليوم هو بثّ الفيديو، الذي يلتهم أكثر مرور الإنترنت. فمنصّات الفيديو الكبرى تعتمد على شبكات توصيلٍ ضخمة (خاصّةٍ بها أو مستأجَرة) لتقدّم المقاطع من نقطةٍ قريبةٍ من كل مشاهد، مع «معدّل بتٍّ متكيّف» يخفض الجودة تلقائيًّا حين يضعف الاتصال فلا ينقطع البثّ. فلولا الـCDN، لاختنقت خوادم تلك المنصّات وتقطّع كل فيديوٍ في العالم.

بل تذهب أكبر المنصّات أبعد: تبني شبكات توصيلٍ خاصّةً بها، وتضع صناديق تخزينٍ من عندها داخل شبكات مزوّدي الإنترنت أنفسهم وعند نقاط التبادل (كما أشرتُ في مقالَي مزوّد الخدمة ونقاط التبادل). فتصير نسخة الفيلم الذي تشاهده على بُعد قفزةٍ واحدةٍ منك، داخل شبكة مزوّدك، لا في قارّةٍ أخرى. وتُقاس ضخامة هذه الشبكات بانتشارها: تغطّي كبراها مئات المدن في أكثر من مئة بلد، حتى يندر أن يكون مستخدمٌ بعيدًا عن نقطةٍ منها.

أكثر من سرعة: الـCDN طبقة أداءٍ وأمنٍ وموثوقية

هنا التحوّل الأهمّ الذي يغفله كثيرٌ من الشروح: لم يَعُد الـCDN طبقة توصيلٍ فحسب، بل صار طبقة أداءٍ وأمنٍ وموثوقيّةٍ مجتمعة.[4] فبما أنه البوّابة التي يمرّ بها كل مرورٍ قبل خادمك، صار موضعًا مثاليًّا لأداء وظائف عدّة.

على صعيد الأمن: يصدّ هجمات الحرمان من الخدمة (DDoS) بامتصاصها موزّعةً عبر شبكته الضخمة قبل أن تبلغ خادمك (وشبكاتٌ كبرى تمتصّ هجماتٍ تبلغ تيرابتاتٍ في الثانية لا يقوى عليها خادمٌ واحد)، ويشغّل «جدار حماية تطبيقات الويب» (WAF) يفلتر الطلبات الخبيثة، ويميّز الروبوتات من البشر، وكثيرًا ما ينهي تشفير TLS عند الحافّة (كما مرّ في مقال SSL/TLS). وعلى صعيد الموثوقية: إن تعطّل خادمك الأصليّ، قد يخدم الـCDN نسخةً محفوظة، ويوزّع الحمل على عدّة خوادم، فيبقى الموقع حيًّا تحت الضغط. وعلى صعيد الأداء: يضغط الملفّات ويصغّرها ويحوّل الصور إلى صيغٍ حديثةٍ أخفّ تلقائيًّا، ويقدّم لكل جهازٍ مقاسًا مناسبًا من الصورة بدل تحميل الأصل الثقيل دائمًا. وميزةٌ خفيّةٌ في Anycast نفسها: لأن الهجوم يصل موزّعًا على كل النقاط بدل نقطةٍ واحدة، تتقاسم الشبكة عبأه فيذوب فيها، وهذا جزءٌ من سرّ صمودها أمام هجمات الإغراق الضخمة.

لكنّ لإنهاء التشفير عند الحافّة ثمنًا ينبغي وعيُه: حين ينهي الـCDN تشفير TLS ليفحص المحتوى ويخزّنه، فهو يرى بياناتك غير مشفّرةً عنده. أي إنك تضع ثقةً كبيرةً في مزوّد الـCDN، إذ يمرّ مرور موقعك كلّه به مكشوفًا. هذا مقبولٌ مع مزوّدٍ موثوق، لكنّه تذكيرٌ بأن كل طبقة وساطةٍ تضيف سرعةً وأمنًا من جهة، وتضيف طرفًا يرى من جهةٍ أخرى. وهي الموازنة نفسها التي ستلقاها في مقال VPN.

شكل 2 أين ينتهي التشفير حين تعمل الحافّة ثلاث محطّاتٍ في صفٍّ واحد: الزائر، ثمّ النقطة الطرفيّة، ثمّ الأصل. وبين الزائر والنقطة قناةٌ مشفّرة، وبين النقطة والأصل قناةٌ أخرى منفصلة. فالتشفير ليس ممتدًّا من الزائر إلى أصلك، وإنما ينقطع عند النقطة الطرفيّة، وهي المشدَّدة، ففيها يصير المحتوى مقروءًا كي تستطيع أن تفحصه وتخزّنه. وهذا هو الطرف الذي يراك، وهو ثمن السرعة. مسار الطلب حين تعمل الحافّة الزائر قناةٌ مشفّرة النقطة الطرفيّة قناةٌ أخرى الأصل وهنا يصير المحتوى مقروءًا فالقناة لا تمتدّ من الزائر إلى أصلك، وإنما تنقطع عند الحافّة أين ينتهي التشفير حين تعمل الحافّة ثلاث محطّاتٍ من أعلى إلى أسفل: الزائر، ثمّ النقطة الطرفيّة، ثمّ الأصل. وبين الزائر والنقطة قناةٌ مشفّرة، وبين النقطة والأصل قناةٌ أخرى منفصلة. فالتشفير ينقطع عند النقطة الطرفيّة، وهي المشدَّدة، وعندها يصير المحتوى مقروءًا كي تستطيع أن تفحصه وتخزّنه. مسار الطلب حين تعمل الحافّة الزائر قناةٌ مشفّرة النقطة الطرفيّة قناةٌ أخرى الأصل وعندها يصير المحتوى مقروءًا فالقناة تنقطع عند الحافّة، لا عند أصلك
أين ينتهي التشفير فعلًا حين تعمل الحافّة: قناةٌ مشفّرةٌ من الزائر تنتهي عند النقطة الطرفيّة، وهناك يصير المحتوى مقروءًا، ثمّ تقوم قناةٌ ثانيةٌ إلى الأصل. المشدَّد هو الموضع الذي يُقرأ فيه، وهو ما تشتريه بالسرعة.

وللـCDN بنًى متقدّمة تزيد متانته. منها «درع الأصل» (Origin Shield): طبقةٌ وسطى تتجمّع عندها طلبات النقاط قبل أن تصل إلى خادمك، فلا يُقصَف الأصل بطلباتٍ متفرّقةٍ من كل نقطة. ومنها أن المواقع الكبرى تستعمل أكثر من مزوّد CDN معًا (Multi-CDN)، فإن تعثّر أحدهم تولّى الآخر، وتُوزَّع الحركة على الأفضل أداءً في كل منطقة. ومنها أن المحتوى قد يُسحَب عند أوّل طلبٍ أو يُدفَع إلى النقاط مسبقًا، كما مرّ بك في مبدأ التخزين المؤقت.

ولهذا التمركز ثمنٌ ظهر على الملأ يوم 8 يونيو 2021. نشرت «فاستلي» تحديثًا في 12 مايو حمل خطأً كامنًا، ثمّ بدّل عميلٌ واحدٌ إعداداته فأيقظه، فردّت 85% من شبكتها بالأخطاء. مواقع كبرى كثيرة سقطت في اللحظة نفسها. وحسبَ روايتها هي: عرفت المراقبة الخلل في دقيقةٍ واحدة، وعادت 95% من الشبكة إلى العمل في تسعٍ وأربعين دقيقة.[7] وهذا وجهٌ من الحافّة قلّ من يذكره: الشبكة التي تمتصّ عنك الهجوم وتصمد حين يسقط خادمك هي نفسها التي، إن تعطّلت، أسقطت معها كلّ من يستأجرها. فالمرونة التي تشتريها بالمركزيّة تدفع ثمنها بالمركزيّة.

ومَن يتكلّم البروتوكول الجديد عنك

وللحافّة فائدةٌ لا علاقة لها بالمسافة: إنها تتكلّم البروتوكولات الحديثة نيابةً عن خادمك. فبين الزائر والحافّة قد يقوم HTTP/3 على QUIC، وهو نقلٌ يعمل فوق UDP بدل TCP، فلا يُوقِف فقدُ رزمةٍ واحدةٍ بقيّةَ التيّارات معها، ويستأنف الاتصال المعروف سلفًا بأقلّ من دورةٍ كاملة. وبين الحافّة وأصلك قد يبقى الحديث على HTTP/1.1 القديم. أي إنّ زائرك يكسب البروتوكول الجديد دون أن تلمس خادمك.

ولا ينبغي أن يُفهَم من هذا أنّ الويب انتقل إلى HTTP/3. فقياسات «كلاودفلير رادار» تضع نصيبه عند نحو خُمس طلبات الويب، وهو نصيبٌ لم يصعد في السنة الأخيرة، وقد تراجع قليلًا.[6] والسبب أنّ كثيرًا من الشبكات والوسطاء يعيقون النقل الذي يقوم عليه، فيرتدّ المتصفّح إلى الإصدار الأقدم. فالحافّة تفتح لك الباب، ولا تضمن أن يعبره كلّ زائر.

الحوسبة عند الحافّة: الجيل الحديث

وأبعد من ذلك، دخل الـCDN عصر «الحوسبة عند الحافّة» (Edge Computing): لم يَعُد يخزّن المحتوى ويقدّمه فحسب، بل صار يشغّل الكود نفسه في نقاط التواجد القريبة من المستخدم.[5] فبدل أن يسافر الطلب إلى خادمٍ بعيدٍ ليُحسَب، يُحسَب على بُعد أجزاءٍ من الألف من الثانية من المستخدم. تتيح هذه المنصّات تشغيل دوالَّ صغيرةٍ عند الحافّة (مثل Cloudflare Workers وFastly Compute وAkamai EdgeWorkers)، تبني صفحاتٍ شخصيّةً أو تتحقّق من هويّةٍ أو تعدّل استجابةً، كلّه قريبًا من المستخدم. ويَعِد أصحابها ببدايةٍ شبه فوريّة، بتقنيّات عزلٍ يقولون إنها تبدأ في أجزاءٍ ضئيلةٍ جدًّا من الثانية بلا «إقلاعٍ بارد» يُذكَر، فتنفّذ ملايين الطلبات قرب المستخدمين دون خادمٍ مركزيٍّ يديرها.

وهذا يحلّ المعضلة القديمة: المحتوى الديناميكيّ الذي يصعب تخزينه يمكن الآن أن يُبنى عند الحافّة لا في الأصل البعيد. حتى إن بعض مزوّدي الـCDN يعيدون بناء خدماتهم كلّها على منصّات الحوسبة الطرفية هذه. فالحافّة لم تَعُد رفًّا لتخزين النسخ، بل صارت حاسوبًا موزّعًا على الكوكب.

وأمثلة استعمالها عمليّة: توجيه الزائر حسب بلده، أو إجراء اختبارٍ بين نسختين من صفحة، أو التحقّق من هويّةٍ أو رمزٍ قبل بلوغ الأصل، أو تركيب صفحةٍ من أجزاءٍ بعضها مخزّنٌ وبعضها شخصيّ. وعلى هذا النمط تُبنى اليوم «المواقع الثابتة الحديثة» التي تُخدَم بالكامل من الحافّة، فلا خادمَ تطبيقٍ تقليديٌّ ينتظر الطلبات، بل صفحاتٌ جاهزةٌ ودوالُّ طرفيّةٌ عند الحاجة. هذا تحوّلٌ في طريقة بناء الويب نفسها، لا تسريعه فقط.

اللاعبون الكبار، وكيف تختار

تتقاسم السوق أسماءٌ كبرى لكلٍّ طابعه. Cloudflare الأوسع انتشارًا، بشبكة Anycast ضخمةٍ كلّ خوادمها متطابقة، فتؤدّي كلّ نقطةٍ التخزين والأمن والحوسبة معًا، وهو الأقرب إلى المطوّرين والأفراد. وAkamai عملاق المؤسّسات الأقدم والأوسع بنيةً، يجمع التوصيل والأمن والحوسبة الطرفية في منصّةٍ واحدة. وFastly خيار من يريد تحكّمًا دقيقًا في قواعد التخزين وإبطالًا شبه فوريٍّ للمحتوى عبر العالم (تقول الشركة إنها تطهّر العالم كلّه في نحو جزءٍ من سبعة من الثانية)، وحوسبةً طرفيّةً مبنيّةً على تقنيّةٍ عالية العزل. واللافت أن بعض هذه الشركات صارت تعيد بناء شبكة التوصيل ذاتها فوق منصّة الحوسبة الطرفية، فيندمج التخزين والحوسبة في طبقةٍ واحدة، دلالةً على أن مستقبل الـCDN حوسبةٌ موزّعةٌ لا تخزينٌ فقط.

أمّا كيف تختار، فبحسب حاجتك لا بحسب الاسم الأشهر: حجم جمهورك وأين هو، وما تحتاجه من أمنٍ أو حوسبةٍ طرفية، وميزانيتك، وسهولة الإعداد. ولمعظم المواقع، يكفي مزوّدٌ بخطّةٍ مجّانيّةٍ أو رخيصةٍ تعطي قفزةً كبيرةً في السرعة والأمن دون تعقيد. القاعدة أن تبدأ بالأبسط الذي يفي، لا بالأقوى الذي لا تحتاج معظمه، فالأقوى يضيف تعقيدًا وكلفةً قد لا يقابلهما عائدٌ في حالتك.

وله وجهٌ اقتصاديٌّ صريح: كلّ طلبٍ يخدمه الـCDN من الحافّة هو طلبٌ لم يدفع موقعك ثمن نقله من الأصل ولا حِمله على خادمه، فتنخفض فاتورة النطاق والخوادم كثيرًا. ولهذا صار الـCDN اليوم بنيةً قياسيّةً تحت كل موقعٍ جادٍّ تقريبًا، لا ترفًا للكبار. وفي ووردبريس تحديدًا، يكفي ربط النطاق بمزوّدٍ مثل Cloudflare، أو إضافةٌ توصّل الموقع بشبكة توصيل، ليقفز الأداء والأمن قفزةً واحدة دون تغيير الاستضافة.

وهل يحتاج كلّ موقعٍ شبكة توصيل؟ ليس بالضرورة. فموقعٌ صغيرٌ جمهوره كلّه في مدينةٍ واحدةٍ قرب خادمه قد لا يجني كثيرًا من القرب الجغرافيّ. لكنّ أكثر المواقع تستفيد من طبقة الأمن والموثوقيّة وتخفيف الحمل حتى لو كان جمهورها محلّيًّا، ولهذا صار الـCDN خيارًا افتراضيًّا لا استثنائيًّا. والحذر الوحيد أن يُضبَط تخزين المحتوى الديناميكيّ والشخصيّ بعنايةٍ، لئلّا يُقدَّم لمستخدمٍ ما يخصّ غيره، وهي المخاطرة التي مرّت بك في مقال التخزين المؤقت.

من يشغّل الحافّة، وكيف تعرف أن موقعًا يستعملها

هذه الشبكات لا تبنيها المواقع بنفسها غالبًا، بل تستأجرها من شركاتٍ متخصّصة. أشهرها Cloudflare وAkamai وFastly، ولها خوادمُ في مئات المدن حول العالم تشترك فيها آلاف المواقع. وتستطيع أن تكشف بنفسك إن كان موقعٌ يستعمل شبكة توصيلٍ: افتح «أدوات المطوّر»، ولسان «Network»، وانقر أيّ ملفٍّ، وتأمّل ترويسات الردّ، فكثيرًا ما تجد ترويسةً تكشف المزوّد (مثل cf-cache-status لكلاودفلير) أو حالة التخزين المؤقّت (HIT إن خُدِمت من الحافّة، MISS إن جُلِبت من الأصل). فما يبدو سحرًا في السرعة له أثرٌ تقرؤه في تفاصيل كل طلب.

جرّبه بنفسك: اقرأ الحافّة في ترويسات الجواب

افتح موقعًا كبيرًا تعرفه، ثمّ افتح أدوات المطوّر ولسان الشبكة، وأعِد التحميل، واضغط أيّ ملفٍّ واقرأ ترويسات جوابه. أوّل ما تبحث عنه ترويسةٌ تكشف الوسيط: cf-cache-status أو x-cache أو via أو ما يشبهها، فوجود واحدةٍ منها يعني أنّ الجواب لم يأتِك من خادم الموقع مباشرةً. ثمّ ابحث عن حالة التخزين: HIT تعني أنّ النقطة القريبة كانت تحمل نسخةً جاهزة، وMISS تعني أنها ذهبت إلى الأصل تجلبها لك.

ثمّ ثلاث خطواتٍ تكشف الباقي. أوّلًا: أعِد التحميل ثانيةً وانظر هل تحوّلت MISS إلى HIT؛ فذلك القرب يعمل أمامك. ثانيًا: افتح لسان الأمان في أدوات المطوّر واقرأ من أصدر الشهادة ولمن؛ ستجد كثيرًا أنّ من ينهي التشفير هو مزوّد الحافّة لا صاحب الموقع، وهو الشكل 2 يتحقّق في متصفّحك. ثالثًا: من الطرفيّة، curl -I https://example.com يعطيك الترويسات وحدها، وبعض الشبكات تضيف فيها اسم النقطة التي خدمتك (رمز مطارٍ من ثلاثة أحرفٍ غالبًا)، فتعرف من أيّ مدينةٍ جاءك الجواب.

من الحافّة إلى النفق الخاص

هذه هي شبكة توصيل المحتوى: حافّةٌ عالميّةٌ تقرّب موقعك من كل مستخدم، توجّهه إليها تقنيّة Anycast، تطبّق التخزين المؤقت على نطاق الكوكب، ثمّ تتجاوزه إلى الأمن والموثوقيّة والحوسبة الطرفية. بها يصير موقعٌ على خادمٍ واحدٍ سريعًا وآمنًا وصامدًا في كل مكان. وهي في صورتها الحديثة تستعمل كل ما مرّ بك في هذه السلسلة دفعةً واحدة: عناوين Anycast على بنية التوجيه، وخوادمُ عند نقاط التبادل والكابلات، وتخزينٌ مؤقتٌ بكل طبقاته، وتشفير TLS، وحوسبةٌ موزّعة. الـCDN ليس قطعةً منفصلة، بل خلاصةٌ تجتمع فيها خيوط القصّة كلّها. ولأن السرعة صارت جزءًا من جودة التجربة، ومن قدرة الموقع على إبقاء زائره، صار وجود هذه الطبقة فارقًا حقيقيًّا بين موقعٍ يُحتمَل وموقعٍ يُهجَر قبل أن يُحمَّل. فالحافّة، في النهاية، هي حيث يلتقي الإنترنت بالمستخدم.

وبهذا تكون قد تتبّعتَ مسار الإنترنت من أوّله: من طلبٍ يخرج من متصفّحك، عبر البروتوكولات والعناوين، فالأسلاك والموجِّهات والمزوّدين والكابلات البحرية ونقاط التبادل، إلى طبقات التخزين والتوصيل التي تقرّب العالم منك. يبقى سؤالٌ أخير: كيف تحمي خصوصيّتك وأنت تعبر هذا كلّه؟ هذا موضوع المقال التالي: «الشبكة الخاصة الافتراضية (VPN)».

المصادر

  1. Cloudflare: ما شبكة توصيل المحتوى (CDN)؟ التعريف والخوادم الطرفية.
  2. Cloudflare: الخادم الطرفيّ ونقاط التواجد (PoP). بنية الحافّة.
  3. Cloudflare: شبكة Anycast. توجيه المستخدم إلى أقرب نقطة.
  4. Atlantic.Net: الـCDN طبقة أداءٍ وأمنٍ وموثوقية (2026). ما يتجاوز التخزين.
  5. Fastly: الحوسبة عند الحافّة (Edge Compute). تشغيل الكود في نقاط التواجد.
  6. Cloudflare Radar: اعتماد البروتوكولات واستعمالها. نصيب HTTP/3 من طلبات الويب، وأنه لم يصعد في السنة الأخيرة.
  7. Fastly: خلاصة انقطاع 8 يونيو 2021. الخطأ الكامن، ونسبة الشبكة التي ردّت بالأخطاء، وزمن الكشف وزمن العودة.

اترك تعليقاً

الحقول المميّزة بـ مطلوبة