هندسة البروتوكولات

هندسة البروتوكولات هي تطبيق أساليب منهجية لتطوير بروتوكولات الاتصال . وهي تستخدم العديد من مبادئ هندسة البرمجيات ، ولكنها خاصة بتطوير الأنظمة الموزعة.

تاريخ

عندما طُوّرت أولى شبكات الحاسوب التجريبية والتجارية في سبعينيات القرن الماضي، لم يكن مفهوم البروتوكولات قد ترسّخ بعد. كانت هذه أولى الأنظمة الموزعة . في سياق بنية البروتوكولات الطبقية المُعتمدة حديثًا (انظر نموذج OSI )، ينبغي أن يكون تعريف بروتوكول طبقة معينة بحيث يكون أي كيان يُنفّذ هذا البروتوكول على حاسوب ما متوافقًا مع أي حاسوب آخر يحتوي على كيان يُنفّذ البروتوكول نفسه، وينبغي أن تكون تفاعلاتهم بحيث تُحقق خدمة الاتصال المطلوبة. من جهة أخرى، ينبغي أن يكون تعريف البروتوكول مجردًا بما يكفي للسماح بخيارات مختلفة للتنفيذ على حواسيب مختلفة.

أُقرّ بأهمية التحديد الدقيق للخدمة المتوقعة التي توفرها الطبقة المعنية. [ 1 ] فهو ضروري للتحقق من البروتوكول، الذي يجب أن يُثبت توفير خدمة الاتصال إذا نفّذت كلتا كيانات البروتوكول مواصفات البروتوكول بشكل صحيح. وقد تم اتباع هذا المبدأ لاحقًا خلال توحيد معايير حزمة بروتوكولات OSI ، ولا سيما طبقة النقل .

كما أُقرّ بأنّ وجود نوع من مواصفات البروتوكول الرسمية سيكون مفيدًا للتحقق من البروتوكول وتطوير تطبيقاته، فضلًا عن حالات الاختبار للتحقق من مطابقة التطبيق للمواصفات. [ 2 ] في حين استُخدمت في البداية آلات الحالة المحدودة بشكل أساسي كنماذج (مبسطة) لكيان البروتوكول، [ 3 ] في ثمانينيات القرن الماضي، تمّ توحيد ثلاث لغات مواصفات رسمية، اثنتان منها من قِبل المنظمة الدولية للمقاييس (ISO) [ 4 ] وواحدة من قِبل الاتحاد الدولي للاتصالات (ITU). [ 5 ] وقد استُخدمت الأخيرة، المسماة SDL ، لاحقًا في الصناعة، وتمّ دمجها مع آلات الحالة في لغة النمذجة الموحدة (UML) .

مبادئ

بنية بروتوكول متعددة الطبقات
بنية البروتوكول متعددة الطبقات: عرض أكثر تجريدًا - يوضح خدمة الاتصال المقدمة.

فيما يلي أهم المبادئ لتطوير البروتوكولات: [ 1 ]

  • البنية الطبقية: تتكون طبقة البروتوكول في المستوى n من كيانين (أو أكثر) لهما واجهة خدمة يتم من خلالها توفير خدمة الطبقة لمستخدمي البروتوكول، والتي تستخدم الخدمة التي يوفرها كيان محلي من المستوى (n-1).
  • يصف وصف الخدمة لطبقة ما، من منظور مجرد وعالمي، سلوك الطبقة كما يظهر في واجهات الخدمة الخاصة بها.
  • تحدد مواصفات البروتوكول المتطلبات التي يجب أن يستوفيها كل تطبيق للكيان.
  • يتكون التحقق من البروتوكول من إثبات أن كيانين (أو أكثر) يستوفيان مواصفات البروتوكول سيقدمان الخدمة المحددة لتلك الطبقة في واجهات الخدمة الخاصة بهما.
  • تُستخدم مواصفات البروتوكول (الموثقة) بشكل أساسي للنشاطين التاليين:
  1. تطوير تطبيق الكيان. تجدر الإشارة إلى أن الخصائص المجردة لواجهة الخدمة يتم تحديدها بواسطة مواصفات الخدمة (وتستخدمها أيضًا مواصفات البروتوكول)، ولكن يمكن اختيار الطبيعة التفصيلية للواجهة أثناء عملية التنفيذ، بشكل منفصل لكل كيان.
  2. تطوير مجموعات اختبار المطابقة . يتحقق اختبار مطابقة البروتوكول من توافق تطبيق كيان معين مع مواصفات البروتوكول. تُطوَّر حالات اختبار المطابقة بناءً على مواصفات البروتوكول، وهي قابلة للتطبيق على جميع تطبيقات الكيانات. لذلك، تم تطوير مجموعات اختبار مطابقة قياسية لمعايير بروتوكولات محددة. [ 3 ]

الأساليب والأدوات

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

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

الأساليب البنائية لتصميم البروتوكولات

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

  • توليف البروتوكول شبه التلقائي: [ 6 ] يقوم المستخدم بتحديد جميع إجراءات إرسال الرسائل للكيانات، وتقوم الأداة باستخلاص جميع إجراءات الاستقبال الضرورية (حتى لو كانت هناك عدة رسائل قيد النقل).
  • بروتوكول المزامنة: [ 7 ] يتم تحديد انتقالات الحالة لكيان بروتوكول واحد بواسطة المستخدم، وتستنتج الطريقة سلوك الكيان الآخر بحيث يبقى في حالات تتوافق مع الكيان السابق.
  • البروتوكول المشتق من مواصفات الخدمة: [ 8 ] يتم تقديم مواصفات الخدمة من قبل المستخدم، وتقوم الطريقة باستخلاص بروتوكول مناسب لجميع الكيانات.
  • بروتوكول تطبيقات التحكم: [ 9 ] يتم تحديد مواصفات كيان واحد (يُسمى المصنع - والذي يجب التحكم فيه)، وتستنتج الطريقة مواصفات الكيان الآخر بحيث لا يتم الوصول إلى حالات فشل معينة في المصنع، ويتم استيفاء خصائص معينة لتفاعلات خدمة المصنع. هذه حالة من حالات التحكم الإشرافي .

الكتب

  • مينغ تي. ليو، هندسة البروتوكولات، التقدم في الحوسبة ، المجلد 29، 1989، الصفحات 79-195.
  • جي جي هولزمان، تصميم والتحقق من صحة بروتوكولات الحاسوب ، برنتيس هول ، 1991.
  • H. König, Protocol Engineering , Springer, 2012.
  • م. بوبوفيتش، هندسة بروتوكولات الاتصالات ، مطبعة سي آر سي ، الطبعة الثانية، 2018.
  • فينكاتارام، إس إس مانفي، بي إس بابو، هندسة بروتوكولات الاتصالات ، 2014.

مراجع

  1. 1 2 G. v. Bochmann و CA Sunshine، الأساليب الرسمية في تصميم بروتوكول الاتصال، IEEE Tr. COM-28، رقم 4 (أبريل 1980)، ص 624-631.
  2. انظر سلسلة المؤتمرات حول اختبار وتأكيد مواصفات البروتوكول (PSTV) منذ عام 1981.
  3. 1 2 G. v. Bochmann, D. Rayner and CH West, Some notes on the history of protocol engineering, Computer Networks journal, 54 (2010), pp 3197–3209.
  4. CA Vissers, G. v. Bochmann and RL Tenney, Formal description techniques, Proceedings of the IEEE, vol. 71, 12, pp. 1356-1364, Dec. 1983.
  5. GJ Dickson; PE de Chazal, Status of CCITT description techniques and application to protocol specification, Proceedings of the IEEE, vol. 71, 12, pp. 1346-1355 (1983).
  6. P. Zafiropulo, C. West, H. Rudin, D. Cowan, D. Brand : Towards analysis and syntheizing protocols, IEEE Transactions on Communications (Volume: 28, Issue: 4, Apr 1980)
  7. MG Gouda و YT Yu، توليف آلات الحالة المحدودة المتصلة مع التقدم المضمون، IEEE Trans. on Comm.، المجلد Com-32، العدد 7، يوليو 1984، الصفحات 779-788.
  8. MF Al-hammouri و Gv Bochmann، قابلية تحقيق مواصفات الخدمة، وقائع مؤتمر تحليل النظم والنمذجة (SAM) 2018، كوبنهاغن، LNCS، سبرينغر.
  9. G. v. Bochmann, Using logic to solve the submodule construction problem, Journal on Discrete Event Dynamic Systems, Vol. 23 (1), Springer, March 2013, pp. 27-59.