الطلب الثاني من العرض الذي طرحته والذي وصلني من الأخ ACCESS POINT كان حول أحد البروتوكولات التى قامت سيسكو بتطويرها عام 1997 ويدعى WCCP أو Web Cache Communication Protocol وهو بروتوكول يقوم بتوجيه طلبات الـ HTTP إلى سيرفرات وظيفتها عمل Cache لكل الترافيك الذي يمر من الأنترنت والصديق العزيز أبو صالح طلب الشرح بالتفصيل لذا لنفصل قليلا 😯 .
ماهو WCCP ؟
قد تكون فكرة وجود سيرفرات للكاش شيئ معروف عند الجميع وأفضل مثال هو سيرفر الـ ISA لكن لنفكر قليلا ونطرح سؤال صغير لماذا سيسكو قررت تطوير بروتوكول لهذا الأمر ؟ إدعاءات سيسكو تقول أن هذا البروتوكول لايحتاج إلى أجبار العملاء والمستخدمين الموجودين على الشبكة لتغيير أعدادات المتصفح وربطه مع سيرفرات كاش مخصصة وبالتالي المستخدم لن يشعر بوجود أي عملية كاش للترافيك على الشبكة, وسوف أقدم مداخلتي حول هذا البروتوكول في آخر الموضوع, وكما ذكرت في البداية بأنه بروتوكول وظيفته الرئيسية توجيه طلبات الـ HTTP إلى سيرفرات وظيفتها عمل Cache وليس الكاش نفسه.
كيف يعمل البروتوكول ؟
لتوضيح فكرة عمل البروتوكول سوف أستعين هذه الصورة المأخوذة من كتاب CCIE R&S
-
الخطوة الأولى: تبدأ من جهاز العميل الذي يرسل طلب معين HTTP Get request إلى الـ Default Gateway وهو عادة الروتر.
-
الخطوة الثانية: يستلم الروتر الطلب ويقوم بأعادة توجيهها الـ HTTP Get request إلى سيرفر الكاش أو الـ Cache engine (سوف أعود لأتحدث عن بعض أنواعها)
-
الخطوة الثالثة: يستلم الطلب سيرفر الكاش ويبدأ البحث في ملفاته وقاعدة بياناته عن الطلب.
-
الخطوة الرابعة A: لو وجد الطلب المقصود يتم أرسال المطلوب HTTP response إلى الروتر ليقوم بعدها بتمريره إلى العميل بدون أن يشعر بشيئ.
-
الخطوة الرابعة B: لو لم يتم إيجاد الطلب على السيرفر يتم إعادة توجيه الطلب HTTP Get request إلى الروتر ليتم بعدها أيصاله إلى العالم الخارجي وإلى وجهته الأصلية.
-
الخطوة الخامسة: هي الرد على طلب العميل من السيرفر الخارجي المخصص.
وقد تم بناء هذا البروتوكول على فكرة ذهبية تساعد في تسريع تحرك البيانات وضمان عدم المساس بمحتويات الباكيت لو في حال لم يجد الطلب مايريده على السيرفر وذلك من خلال ممر مخصص من تطوير سيسكو أيضا يطلق عليه Generic Routing Encapsulation أو GRE يعمل هذا الممر على حفظ الباكيت كما هيا وهي فكرة سيسكو عندما وصفت هذا البروتوكول بالشفافية Transparent, فلو في حال لم يتم إيجاد المطلوب يتم إعادة أرسال الطلب إلى الروتر ليمرره إلى العالم الخارجي وكأن شيئ لم يحدث وبذلك تتحرك البيانات بشكل أسرع بين الروتر والسيرفر بدون الحاجة إلى تغيير معلومات الأيبي أو الماك أدريس.
ملاحظة: البروتوكول يرتبط مع السيرفر من خلال بروتوكول الـ UDP مستخدما المنفذ 2048.
إصدارات البروتوكول.
لهذا البروتوكول إصداران ويختلف الاول عن الثاني بعدة أمور حساسة وهذا جدول بسيط للتوضيح
WCCP v2 |
WCCP v1 |
يدعم الـ TCP, UDP |
يدعم الـ TCP فقط |
يعمل مع أي IP Protocol وهذا يشمل HTTP, FTP |
يعمل مع المنفذ 80 فقط أي بروتوكول الـ HTTP |
يقوم بتشفير كلمة السر من خلال MD5 |
لايوجد كلمة سر |
يدعم عناوين الملتي كاست لتبسيط الأعدادت لو في حال كان لدينا أكثر من كاش سيرفر |
لايدعم الملتي كاست |
يدعم عمل منظومة تضم اكثر من روتر مع أكثر من كاش سيرفر |
فقط روتر واحد |
كلا البروتوكولان يدعمان ربط الروتر حتى 32 سيرفر |