مدونة NetworkSet

بروتوكول الـ WCCP تحت مجهر NetworkSet

الطلب الثاني من العرض الذي طرحته والذي وصلني من الأخ 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 سيرفر

طريقة الأعداد

Cisco's
Router(config)# ip wccp version 2
Router(config)# ip wccp web-cache password NetworkSet
Router(config)# interface Fa0/0
Router(config-if)# ip wccp web-cache redirect in
Router(config-if)#exit
Router(config)# interface Fa0/1
Router(config-if)# ip wccp web-cache redirect out

الأوامر واضحة ولاتحتاج إلى شرح وهي الأعدادت الأساسية اللازمة لتشغيل البروتوكول وهناك أوامر وأعدادت آخرى مثل لو كان لدينا أكثر من سيرفر ونريد ربطهم من خلال ملتي كاست أيبي, يمكن ربط الطلبات الداخلة بي Access-List لعزلها عن بروتوكول الكاش وارسالها مباشرة إلى الأنترنت والخ…

أجهزة سيسكو التى تدعم البروتوكول

Cisco 1000 series
Cisco 1600 series
Cisco 1700 series
Cisco 2500 series
Cisco 2500 series access servers
Cisco 3600 series
Cisco 3800 series
MC3810
Cisco 4000 series
Cisco 4500 series
Router Switch Module (RSM) for Catalyst 5000 Series
Cisco AS5100 access server
Cisco AS5200 universal access server
Cisco AS5300 access server
Cisco AS5800 series
Cisco 7000 series
Cisco 7200 series
Cisco 7500 series

الأجهزة والبرامج التى تدعم هذه البروتوكول

كثيرة هي الشركات التى تدعم هذه الخاصية على أجهزتها وهذه لائحة ببعض الشركات وأجهزتها المخصصة للعمل مع هذا البروتوكول بالأضافة إلى بعض البرامج.

Aladdin/SafeNet eSafe Web
ApplianSys CACHEbox
Barracuda Networks Barracuda Web Filter
Blue Coat ProxySG
Citrix Systems, Inc. WANScaler
CensorNet Ltd CensorNet Professional web filter
CYAN Network Security CYAN Secure Web
Cymphonix Corp. Network Composer/Conductor
F5 Networks Wan Optimization Module
Fortinet FortiOS4.0
M86 Security Secure Web Gateway
McAfee McAfee Web Gateway Formerly Webwasher
Microdasys SCIP SSL Content Proxy
PerfTech, Inc. Bulletin System
Replify Accelerator
Riverbed Technology Steelhead
SmoothWall Ltd Guardian Web Content Filters
Sophos Web Appliance
Squid
Stampede Technologies Stampede Application Acceleration Series
Trend Micro IWSVA 3.x and 5.x
Websense Web Security Gateway
Wedge Networks BeSecure
XipLink XA Optimizers

من هذه القائمة وجدت برنامج Squid أحد البرامج المجانية المفتوحة المصدر وهو برنامج معروف وتستخدمه شركات كثيرة في العالم.(وأكيد لن أدخل في طريقة إعداده 😉 )

إلى هنا أكون قد وصلت وفصلت البروتوكول والحمد لله أن نفدت للمرة الثانية فالبروتوكول أعرفه وقرأت عنه قبل ستة شهور تقريبا لكن لم أدخل في كل تفاصيله لكن اليوم قرأت عنه كل شيئ, أما مداخلتي على هذا البروتوكول فأنا اقول أن عمر هذا البروتوكول قد أنتهى فإستخدامه كان مفيد في ايام السرعات البطيئة والـ Dial UP والآن لا أجد داعي للتكلف وأحضار سيرفرات للقيام بعملية الكاش وخصوصا أن هناك أجهزة أسعارها تصل إلى آلاف الدولارات والنقطة الثانية التى أود أطرحها هي عن ماهية الشركة التى تطر إلى إستخدام الكاش في عملها فأنا أتصورها شركة كبيرة جدا ولديها عدد كبير جدا من الموظفين وتحتاج إلى الأنترنت بشكل كبير حينها يمكن الأستفادة من هذا البروتوكول أما على صعيد الشركات المتوسطة والصغيرة فأنا لا أعتقد أن الأمر هام إلى هذه الدرجة وسوف أترك السؤال مفتوحا للأخ أبو صالح الذي طلب مني هذا الموضوع ليخبرني عن سبب أختيار هذا البروتوكول وهل هناك مخطط لتنفيذ مشروع مثل هذا في عمله ودمتم بود.

Exit mobile version