برنامج تعليمي لاختبار البروتوكول (المستوى 2 والمستوى 3)
⚡ ملخص ذكي
يتحقق اختبار البروتوكول من كيفية تبادل أجهزة الشبكة للبيانات عبر بروتوكولات الطبقة الثانية والثالثة. ويتحقق من بنية الحزم، ومطابقتها، وأدائها، وقابليتها للتشغيل البيني للمحولات، وأجهزة التوجيه، ومعدات بروتوكول نقل الصوت عبر الإنترنت (VoIP)، والمعدات اللاسلكية المستخدمة من قبل موردين مثل Cisco، جونيبر، وألكاتيل.

قبل أن نتعرف على اختبار البروتوكول، دعونا نفهم الأساس الذي يقوم عليه.
ما هو البروتوكول؟
عندما تتواصل أجهزة الكمبيوتر مع بعضها البعض، توجد مجموعة مشتركة من القواعد والشروط التي يجب على كل جهاز كمبيوتر اتباعها. بعبارة أخرى، تحدد البروتوكولات كيفية نقل البيانات. transmitيتم تبادل البيانات بين أجهزة الحوسبة وعبر الشبكات. وبدون هذه القواعد المشتركة، لا يمكن للأجهزة من مختلف الموردين تبادل البيانات بشكل موثوق.
ما هو اختبار البروتوكول؟
اختبار البروتوكول اختبار البروتوكولات هو أسلوب لفحص بروتوكولات الاتصال في مجالات التحويل، والشبكات اللاسلكية، وتقنية الصوت عبر الإنترنت (VoIP)، والتوجيه، ومجالات الشبكات المشابهة. الهدف الرئيسي من اختبار البروتوكولات هو فحص بنية الحزم المرسلة عبر الشبكة باستخدام أدوات اختبار بروتوكولات متخصصة. تُستخدم أجهزة التوجيه والمحولات أثناء الاختبار لتمثيل أجزاء من الأجهزة والمنتجات قيد الاختبار.
والآن بعد أن حددنا هذه الممارسة، دعونا ندرس لماذا يُعد هذا التخصص مهمًا في شبكات الإنتاج.
لماذا يُعد اختبار البروتوكول مهمًا؟
تُحمّل الشبكات الحديثة أحمال عمل بالغة الأهمية، مثل مكالمات الصوت عبر الإنترنت (VoIP) والمعاملات المالية وبث الفيديو. قد يؤدي خطأ واحد في البروتوكول إلى تعطيل التوافق بين الموردين، أو فقدان الحزم، أو كشف ثغرات أمنية. يضمن اختبار البروتوكولات الجودة من خلال التحقق من مطابقة كل تطبيق بروتوكول لمواصفاته، وقدرته على التوسع تحت الضغط، وسلوكه المتوقع أثناء الأعطال.
بعد أن اتضحت الدوافع، فإن السؤال التالي هو كيف يتم تصنيف البروتوكولات في الشبكات الحقيقية.
بروتوكولات التوجيه والتوجيه
تُصنف البروتوكولات إلى فئتين: البروتوكولات الموجهة و بروتوكولات التوجيه.
- البروتوكولات الموجهة: تُستخدم بروتوكولات التوجيه لنقل بيانات المستخدم من شبكة إلى أخرى. وهي تنقل بيانات المستخدمين مثل رسائل البريد الإلكتروني، وحركة مرور الإنترنت، ونقل الملفات. ومن أمثلة بروتوكولات التوجيه: بروتوكول الإنترنت (IP)، وبروتوكول تبادل بروتوكول الإنترنت (IPX)، وبروتوكول أبل توك (AppleTalk).
- بروتوكولات التوجيه: بروتوكولات التوجيه هي بروتوكولات شبكية تحدد مسارات التوجيه بين أجهزة التوجيه. وهي تُستخدم فقط بين أجهزة التوجيه. ومن أمثلتها RIP وIGRP وEIGRP.
بعبارات بسيطة ، جهاز التوجيه يشبه الحافلة المستخدمة في النقل، بينما بروتوكولات التوجيه هي إشارات على الطريق.
تُستخدم بروتوكولات مختلفة بناءً على نوع الاتصال. شركات مثل Ciscoتُنتج شركات جونيبر وألكاتيل أجهزة شبكات مثل أجهزة التوجيه والمودمات ونقاط الوصول اللاسلكية التي تستخدم بروتوكولات مختلفة للاتصال. على سبيل المثال، Cisco يستخدم بروتوكولي EIGRP و OSPF. ويتمثل اختبار البروتوكول أساسًا في التحقق مما إذا كان بروتوكول EIGRP (بروتوكول توجيه البوابة الداخلية المحسن)، أو بروتوكول OSPF (بروتوكول فتح أقصر مسار أولاً)، أو أي بروتوكول آخر يعمل وفقًا لمعاييره الخاصة.
أنواع بروتوكولات الكمبيوتر
يسرد الجدول أدناه أكثر البروتوكولات شيوعًا التي سيواجهها المختبر على الشبكة.
| أنواع البروتوكولات | الغرض من البروتوكولات |
|---|---|
| TCP / IP | يتم استخدامه لإرسال المعلومات في حزم صغيرة عبر الإنترنت |
| بروتوكول UDP/ICMP | يُستخدم لإرسال كمية صغيرة من المعلومات في حزم بيانات عبر الإنترنت |
| POP3 و SMTP | يتم استخدامه لإرسال واستقبال البريد |
| بروتوكول نقل النص التشعبي | يُستخدم لنقل صفحات HTML بشكل مشفر لتوفير الأمان للبيانات الحساسة |
| FTP | يتم استخدامه لنقل الملفات عبر الشبكة من عقدة إلى أخرى |
* TCP / IP - Transmission بروتوكول التحكم/بروتوكول الإنترنت، بروتوكول UDP/ICMP - بروتوكول مخطط بيانات المستخدم/بروتوكول رسائل التحكم في الإنترنت، POP3 / SMTP بروتوكول مكتب البريد/بسيط Mail بروتوكول نقل، HTTP - بروتوكول نقل النص التشعبي، FTP – بروتوكول نقل الملفات.
أنواع مختلفة من بروتوكولات الشبكة (الطبقة الثانية والطبقة الثالثة)
يحتوي نموذج OSI على سبع طبقات من اتصالات الشبكة، وتعتبر الطبقة الثانية (L2) والطبقة الثالثة (L3) بالغة الأهمية لاختبار البروتوكول.
- الطبقة الثانية (L2): إنها طبقة ربط البيانات. عنوان MAC، والإيثرنت، وشبكة Token Ring، وFrame Relay كلها أمثلة على طبقة ربط البيانات.
- الطبقة الثانية (L3): تُحدد طبقة الشبكة أفضل مسار متاح للاتصال داخل الشبكة. ويُعد عنوان IP مثالاً على الطبقة الثالثة (L3).
كيفية القيام باختبار البروتوكول
- لاختبار البروتوكول، أنت بحاجة إلى محلل البروتوكولات ومحاكي.
- يضمن محلل البروتوكول فك التشفير بشكل صحيح إلى جانب تحليل المكالمات والجلسات. ويحاكي المحاكي مختلف عناصر الشبكة.
- عادةً ما يتم إجراء اختبار البروتوكول بواسطة جهاز قيد الاختبار (DUT) متصل بأجهزة أخرى مثل المحولات وأجهزة التوجيه، مع تكوين البروتوكول المستهدف عليه.
- بعد ذلك، يقوم الفاحص بفحص بنية الحزم المرسلة من الأجهزة.
- يقوم هذا النظام بفحص قابلية التوسع والأداء وسلوك خوارزمية البروتوكول للجهاز باستخدام أدوات مثل IxNetwork. Scapyو Wireshark.
أنواع الاختبار لاختبار البروتوكول
يشمل اختبار البروتوكول اختبار الوظائف والأداء ومجموعة البروتوكولات وقابلية التشغيل البيني وغير ذلك. ويتم خلال اختبار البروتوكول إجراء ثلاثة فحوصات أساسية.
- صحة: هل نستلم الحزمة X في الوقت المتوقع؟
- الكمون: كم من الوقت تستغرقه حزمة البيانات لعبور النظام؟
- عرض النطاق الترددي: كم عدد الحزم التي يمكننا إرسالها في الثانية الواحدة؟
يمكن تقسيم اختبارات البروتوكول إلى فئتين رئيسيتين: اختبارات الإجهاد والموثوقية، والاختبارات الوظيفية. تغطي اختبارات الإجهاد والموثوقية اختبار الحمل, اختبار الإجهادو اختبار أداء. الاختبار الوظيفي يشمل ذلك الاختبارات السلبية، واختبارات المطابقة، واختبارات قابلية التشغيل البيني.
- اختبار المطابقة: تخضع البروتوكولات المطبقة على المنتجات لاختبارات للتأكد من مطابقتها للمعايير مثل معايير IEEE و RFC.
- اختبار التشغيل البيني: يتم اختبار قابلية التشغيل البيني بين مختلف الموردين. ويتم هذا الاختبار بعد الانتهاء من اختبار المطابقة على المنصة المناسبة.
- اختبار ميزات الشبكة: تُختبر خصائص منتجات الشبكات للتأكد من وظائفها بالرجوع إلى وثيقة التصميم. على سبيل المثال، قد تشمل هذه الخصائص أمان المنافذ في المحول أو قوائم التحكم بالوصول في جهاز التوجيه.
نماذج لحالات اختبار لاختبار البروتوكول لأجهزة الشبكة
فيما يلي مجموعة نموذجية من حالات الاختبار لأجهزة التوجيه والمحولات.
| اسم الاختبار | حالات تجريبية |
|---|---|
| شبكة محلية ظاهرية (VLAN) واحدة على مفتاح واحد | أنشئ شبكتين افتراضيتين مختلفتين (VLAN). تحقق من إمكانية الوصول بين الأجهزة المضيفة على الشبكتين الافتراضيتين المختلفتين. |
| ثلاث شبكات VLAN متناظرة على محول واحد | أنشئ ثلاث شبكات VLAN غير متماثلة مختلفة. تحقق من إمكانية الوصول بين الأجهزة المضيفة. |
| الشجرة الممتدة: تباين تكلفة المسار الجذري | اختبر كيف تتغير تكلفة المسار الجذري بعد تغيير في بنية الشبكة. |
| الشجرة الممتدة: حجب المنافذ | تحقق من كيفية تجنب بروتوكول الشجرة الممتدة لتكوين حلقات في الشبكة، وحجب الروابط الزائدة، في وجود شبكات محلية ظاهرية أيضا. |
| جسر جذري مختلف لـ MSTI المختلفة | أثبت أن كل MSTI يمكن أن يكون له جسر جذري مختلف. |
| الرؤية بين مناطق STP المختلفة | باستخدام نفس شبكات VLAN، تحقق من إمكانية الرؤية بين مناطق STP المختلفة. |
| أداء مفتاح الهاتف | قم بإجراء 1000 مكالمة هاتفية وتحقق مما إذا كان مقسم الهاتف لا يزال يعمل أم أن أداءه يتدهور. |
| نتيجة سلبية لاختبار الجهاز | أدخل المفتاح غير الصحيح وتحقق من المصادقة. لا ينبغي السماح للمستخدم بالوصول. |
| خط سرعة | تأكد من أن الجهاز يعمل بسرعة 10 جيجابت في الثانية، ويستخدم كل النطاق الترددي المتاح للتعامل مع حركة البيانات الواردة. |
| معدل تحويل البروتوكول | Tracإجراء محادثة TCP بين جهازين والتحقق من أن كل جهاز يتصرف بشكل صحيح. |
| زمن الاستجابة لبدء الجلسة | قم بقياس وقت استجابة الجهاز لطلب دعوة لبدء الجلسة. |
أدوات لاختبار البروتوكول
دعونا نناقش أهم أدوات الاختبار المستخدمة للتحقق من البروتوكولات.
1) Scapy لصناعة الحزم
Scapy هو برنامج قوي وتفاعلي لمعالجة الحزم. يُمكّنك من:
- إنشاء الحزم
- فك تشفير الحزم على الشبكة
- التقاط الحزم وتحليلها
- حقن الحزم في الشبكة
باختصار، Scapy يقوم بشكل أساسي بأمرين: تلقي الإجابات وإرسال الحزم. أنت تحدد الحزم، وهي ترسلها، وتستقبل الردود، وتطابق الطلبات مع الردود، وتعيد قائمة بأزواج الحزم وقائمة بالحزم غير المتطابقة.
كما يمكنه التعامل مع مهام أخرى مثل tracالتوجيه الإلكتروني، اختبارات الوحدات، الهجمات، اكتشاف الشبكة، التطويرping بروتوكولات جديدة، واستكشاف.
Scapy يُمكّنك من كتابة Python برنامج نصي يسمح لك بتنفيذ مهام مثل إرسال واستقبال وتحليل حزم البيانات. على سبيل المثال، Scapy يمكنه استنشاق حزم البيانات باستخدام Python النص البرمجي. يظهر أدناه الأمر لفتح المحرر.
#gedit scapysniff.py #!/usr/bin/env python from scapy.all import * a = sniff(count=10) a.nsummary() save, and change the mode of the file into an executable form #chmod +x scapysniff.py # ./scapysniff.py
سيقوم بفحص 10 حزم بيانات، وبمجرد أن يفحص 10 حزم بيانات، سيقوم بطباعة الملخص. Scapy كما يحتوي على مجموعة من الأوامر لإرسال واستقبال الحزم في نفس الوقت.
2) Wireshark للتحليل
Wireshark يُعدّ هذا البرنامج الأداة الرائدة المستخدمة في تحليل اختبار البروتوكولات. فهو يتيح لك التقاط الحزم في الوقت الفعلي وعرضها بصيغة سهلة القراءة. كما يمكنك التعمق في حركة مرور الشبكة وفحص الحزم الفردية باستخدام الترميز اللوني والفلاتر.
Wireshark يلتقط الحزم التي تساعد في تحديد وقت إنشاء الجلسة، ووقت بدء نقل البيانات بالضبط، وكمية البيانات التي يتم إرسالها في كل مرة.
Wireshark يحتوي على مجموعة غنية من الميزات التي تشمل:
- فحص دقيق لمئات البروتوكولات، مع إضافة المزيد باستمرار
- الالتقاط المباشر والتحليل في وضع عدم الاتصال
- تحليل VoIP غني
- متصفح حزم بيانات قياسي بثلاثة أجزاء
- يعمل على منصات متعددة مثل Windowsو Linux و macOS
- يمكن تصفح بيانات الشبكة الملتقطة عبر واجهة المستخدم الرسومية
- دعم فك التشفير للعديد من البروتوكولات مثل IPsec و ISAKMP و SSL/TLS
- يمكن قراءة البيانات المباشرة من خلال الإيثرنت، وATM، والبلوتوث، وUSB، وشبكة Token Ring
- يمكن تصدير المخرجات إلى ملفات CSV و XML ونص عادي
3) تي تي سي إن
TTCN هي لغة اختبار قياسية لتعريف سيناريوهات الاختبار وتطبيقها لاختبار البروتوكول. تحتوي مجموعة اختبارات TTCN على العديد من حالات الاختبار المكتوبة بلغة برمجة TTCN، وتُستخدم لـ اختبار الأنظمة التفاعلية أو الاختبار السلوكي.
على سبيل المثال، لنفترض وجود آلة بيع قهوة تُخرج القهوة عند إدخال عملة معدنية من فئة الدولار، ولكنها لا تستجيب عند إدخال عملة أقل من دولار. لبرمجة هذه الآلات، يُستخدم بروتوكول TTCN-3. لجعل آلة القهوة تستجيب عند إدخال العملة، عليك كتابة مكون TTCN-3 يُحاكي عمل آلة القهوة. يتيح لك هذا إجراء اختبارات قبل طرح آلة القهوة الفعلية كمنتج. بعد ذلك، يمكنك ربط مجموعة اختبارات TTCN-3 بالجهاز الخارجي.
يُصدر نظام الاختبار مُحفزات (عملة معدنية من فئة الدولار) ويستقبل استجابات (قهوة). يستقبل مُهايئ المُحفزات المُحفزات من نظام الاختبار ويُمررها إلى النظام قيد الاختبار. ينتظر مُهايئ الاستجابات استجابات النظام قيد الاختبار ويُمررها إلى نظام الاختبار.
يمكن استخدام TTCN-3 في مجالات متنوعة مثل:
- الاتصالات المتنقلة (LTE، WiMAX، 3G)
- تقنيات النطاق العريض (أجهزة الصراف الآلي، DSL)
- منصات البرمجيات الوسيطة (خدمات الويب، كوربا)
- بروتوكولات الإنترنت (SIP، IMS، IPv6)
- بطاقات ذكية
- السيارات (AutoSAR، MOST، CAN)
في TTCN يمكنك تحديد ما يلي:
- أجنحة الاختبار
- حالات تجريبية
- خطوات الاختبار
- المتغيرات المُعلنة
- المؤقتات المعلنة
- وحدات توزيع الطاقة، وأكثر
يمكن دمج TTCN مع الأنظمة المكتوبة بلغات أخرى مثل ASN.1، XMLو ج/C++توجد اللغة الأساسية TTCN-3 في شكل نصي، إلى جانب الأشكال الجدولية والرسومية والعرضية.
كيفية تطبيق اختبار البروتوكول عملياً
لتطبيق هذه التقنيات على مشروع حقيقي، حدد نطاق البروتوكول (الطبقة الثانية، أو الثالثة، أو أعلى)، وقم بإعداد جهاز قيد الاختبار مع مُحاكي ومحلل مُدمجين، وصياغة حالات اختبار المطابقة والحالات السلبية بالرجوع إلى مواصفات RFC أو IEEE، ثم قم بتشغيل اختبارات الضغط، والتوافق، وفحوصات الشذوذ بمساعدة الذكاء الاصطناعي. سجّل النتائج في Wireshark وكرر العملية حتى يتطابق سلوك الحزمة مع المعيار.

