مبدأ الطرفين

من ويكيبيديا، الموسوعة الحرة
حسب مبدأ الطرفين، تكون الشبكة مسؤولة فقط عن تأمين الاتصال بين الطرفيّات، أيّ شكل من أشكال الذكاء يوجد في الطرفيات.

في شبكات الحاسب، إنّ مبدأ الطرفين أو مبدأ العلاقة بين طرفين (بالإنجليزية: End-to-End Principle)‏ هو هيكل بُنيوي مستعمل في تصميم الشبكة وتطبيقاتها.[1] بحسب هذا المبدأ، يجب أن تتواجد الميّزات المرتبطة بالتطبيقات العاملة في الشبكة في الطرفيّات، وليس في العقد التي تُشكّل بنية الشبكة كالموجّهات والبوابات.

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

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

نبذة تاريخيّة[عدل]

في عام 1964، وضمن ورقة بحثيّة نُشرت بعنوان:[3] «عن شبكات الاتصال المُوزّع» (On Distributed Communications Networks)، علّق بول باران ودونالد ديفيس على الوثوقيّة في نموذج لشبكة اتصال سبقت شبكة الأربانت بأن:

«الشبكة يجب أن تبنى مع توقّع وجود أعطال كبيرة، الوثوقية ومعدّل الخطأ هي أمور ثانويّة.»

لاحقاً في ورقة بحثيّة أخرى بعنوان:[4] «شبكة اتصال رقميّة للحاسوب من أجل إعطاء ردود سريعة في الطرفيات البعيدة» (A Digital Communication Network for Computers Giving Rapid Response at Remote Terminals)، أضاف ديفيس في تعليقه على التحكّم بالأخطاء في العلاقة الطرفين:

«من المرجّح أن جميع مُستخدمي الشبكة سوف يُزوّدون أنفسهم بطريقة ما بآليّات للتحكّم بالأخطاء [...] لذلك، فإنّه من الإمكان التسامح مع فقدان الرزم إذا كان محدوداً.»
نموذج عمل شبكة سيكلاد، ويُمكن ملاحظة عمل بروتوكول النقل بشكلٍ مُباشر بين الطرفين بمعزل عن معماريّة الشبكة.[5]

في عام 1973م، أنشئت شبكة سيكلاد، وكانت أول شبكة تبديل رزم تُطبق مبدأ الطرفين بشكلٍ عمليّ، حيث نُقلت فيها مسؤوليّة تأمين الوصول الموثوق للبيانات إلى الطرفيات بدلاً من كونها خدمة تقدمُها الشبكة.[6]

لاحقاً، طبّقت شبكة الأربانت مبدأ العلاقة بين الطرفين. وظيفيّاً، قُسّم العمل في عُقد الشبكة إلى مستويين، مستوى أدنى يهتم بكيفية نقل الرزم بين العقد، ومستوى أعلى يختص بالعلاقة بين الطرفين الذين ينشأ الإتصال بينهما. إنّ تصميم شبكة الأربانت تضمّن دعماً لنقل موثوق للرزم لتجنّب أيّ فشل مُحتمل من خلال آليّات إشعار الإستلام الإيجابيّ (Positive Acknowledgment)[7] وإعادة الإرسال بين كل عقدتين مُتتاليين على المسار،[8] لكنّ التطبيق العملي للشبكة أثبت استحالة الوصول للوثوقيّة المرغوبة عند اتباع هذه الآليّات،[9] وبشكلٍ خاص مع توسّع الشبكة وزيادة طول المسار عن أربع عقد. إنّ شبكة الأربانت هي حالة دراسيّة هامة عن محدوديّة آليّات الوثوقيّة المُطبّقة بين العقد على طول المسار (Hop-by-hop) مُقارنةً بتلك المُطبّقة بين الطرفيّات.[10]

مع تطوير حزمة بروتوكولات الإنترنت (TCP/IP)،[11] تمّ اعتماد بروتوكول الإنترنت (IP) كبروتوكول نقل رزم غير موثوق ليكون العمود الفقري للشبكة، لا يُؤمّن هذا البروتوكول أيّ ضمانة لوصول الرزم، ولكنه يعتمد على بروتوكول التحكّم بالنقل (TCP)[12] الذي يعمل في الطبقة الأعلى ويُؤمّن آليّة لضمان الوثوقيّة بين المُضيفَين المصدر والوجهة، تعتمد هذه الآليّة على مبدأ الطرفين. إنّ نجاح الرزم في الانتقال بين الطرفيات عبر شبكة الإنترنت هو دليل على نجاح مبدأ العلاقة بين الطرفين.[13]

في عام 1981، نشر ديفيد كلارك وديفيد ريد (David Reed) وجيري سلاتزر (Jerry Saltzer) ورقة بحثيّة تناولت، ولأول مرّة، مبدأ الطرفين بشكل مُخصص تحت عنوان:[1] «جدليات مبدأ الطرفين في تصميم النظام» (End-to-End Arguments in System Design)، منذ ذلك الوقت تمّت إعادة صياغة هذا المبدأ وتجديده أكثر من مرة.[14] [15]

شرح المبدأ[عدل]

يُمكن أن يُصاغ المفهوم الأساسي المُرتبط بمبدأ العلاقة بين الطرفين كما يلي: من أجل عمليتين تتواصلان مع بعضهما البعض عبر وسط اتصال، لا يتوقّع أن تكون الوثوقيّة المُقدّمة من الوسط كافية لتلبية مطلب الوثوقيّة اللازم للعمليات. بشكلٍ خاصّ، إنّ تلبية مُتطلبات الوثوقيّة العاليّة للعمليات المُوزّعة عبر الشبكة والتي تتواصل من خلالها ذو كلفة كبيرة مقارنة بدرجة معتدلة من الوثوقيّة يمكن الحصول عليها من خلال آليّات تعمل في الطرفيات مثل طلب الإعادة الآليّ(ARQ)، خاصّة أن تأمين وثوقيّة مُعتدلة في الطرفيّات أسهل من تأمينها في العقد الوسطية في الشبكة التي لا تكون إدارتها مُتاحة أو مُمكنة.[16]

إنّ الاعتماد على عدد غير محدود من إشعار الاستلام يُمكن أن يُؤمّن وثوقيّة عاليّة لنقل المُعطيات بين الطرفيّات عبر الشبكة مع احتمال ضعيف للفشل في إيصال الرسائل.[17]

يجب أن يتّم تلبية متطلبات الاتصال مثل الإنتاجيّة وزمن التأخير بشكل متوافق مع هذا المبدأ، أيّ يجب أن تأخذ الآليّات الخاصّة بتلبية المتطلبات هذا المبدأ بالحسبان وتتكيف معه عند تصميمها لا العكس. في ورقة بحثيّة نشرت في العام 2001م بعنوان:[18] «إعادة التفكير في تصميم شبكة الإنترنت: حجج مبدأ الطرفين في مواجهة عالم جديد شجاع»(1) (Rethinking the Design of the Internet: The End-to-End Arguments vs. the Brave New World) ذكر المؤلّف:

«من البداية، هناك جدلٌ مُتعلّق بالمتطلبات التي يمكن تنفيذُها بشكل ٍ صحيح في الطرفيّات، إذا كان التنفيذ في قلب الشبكة هو الطريقة الوحيدة لتلبية المطلب، فإنّ هذا المطلب غير مُناسب في المقام الأول.»

استثناءات[عدل]

ترجع محدوديّة هذا المبدأ إلى الفكرة الأساسيّة التي يرتكز عليها، وهي دفع أيّ شكل من أشكال الذكاء نحو أطراف الشبكة، فبعض التطبيقات لا تتوافق مع هذه الفكرة، خاصّة تطبيقات الشبكات المتحركة (Mobile Network) وبالإضافة لوجود خدمات لا يُمكن تنفيذُها إلاّ في قلب الشبكة وذلك بسبب طبيعة الخدمات نفسها.

تمتاز الشبكات المُتحرّكة ببُنيّة مُتغيّرة حيث لا يوجد طوبولوجيا ثابتة، وبالتالي تكون العلاقة عبر مسار وحيد ثابت بين طرفيتين غير مُستقرة، ولهذا تنزع هذه الشبكات إلى إنشاء العلاقات بين كل زوج من العقد المُتتالية على المسار (Hop-by-Hop) عوضاً عن العلاقة المباشرة بين المصدر والوجهة.[19]

بعض خدمات الشبكة مثل خدمة ترجمة العناوين (NAT)[20] لا تناسب مبدأ الطرفين، ولنجاح هذه الخدمات يجب أن تقوم عقدة ما في قلب الشبكة بوظائف لا ترتبط بتأمين نقل المُعطيات، وتشمل هذه الوظائف تعديل قيم بعض الحقول في ترويسة الرزمة. إنّ استعمال هذه الخدمة [21] في الشبكات التي تدعم الإصدار الرابع من بروتوكول الإنترنت (IPv4)[22] شائع جداً كحل لمشكلة نفاذ العناوين.[23]

انظر أيضاً[عدل]

هوامش[عدل]

1 يحتوي عنوان المقالة على إشارة لرواية ألدوس هكسلي: عالم جديد شجاع.

المراجع[عدل]

  1. ^ أ ب Saltzer، J. H.؛ Reed، D. P.؛ Clark، D. D. (أبريل 1981). "End-to-end arguments in system design". Proceedings of the Second International Conference on Distributed Computing Systems. IEEE Computer Society: 509-512.
  2. ^ Madrigal, Alexis C.; Lafrance, Adrienne (2014). "Net Neutrality: A Guide to (and History of) a Contested Idea". The Atlantic Monthly Group (بالإنجليزية). Archived from the original on 6 أغسطس 2017. Retrieved 8 أغسطس2017. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ الوصول= (help)
  3. ^ Baran، P (مارس 1964). "On Distributed Communications Networks". IEEE Transactions on Communications Systems. IEEE. ج. 12 ع. 1: 1-9. DOI:10.1109/TCOM.1964.1088883. ISSN:0096-1965.
  4. ^ W. Davies، D.؛ A. Bartlett، K.؛ A. Scantlebury، R.؛ T. Wilkinson، P. (مارس 1967). "A digital communication network for computers giving rapid response at remote terminals". SOSP '67 Proceedings of the first ACM symposium on Operating System Principles. ACM: 2.1-2.17. DOI:10.1109/TCOM.1964.1088883.
  5. ^ Pouzin، Louis (يونيو 1976). "Virtual circuits vs. datagrams: technical and political problems". AFIPS '76 Proceedings of the June 7-10, 1976, national computer conference and exposition. ACM: 483-494. DOI:10.1145/1499799.1499870.
  6. ^ Bennett, Richard (Sep 2009). "Designed for Change:End-to-End Arguments, Internet Innovation, and the Net Neutrality Debate" (PDF). Information Technology and Innovation Foundation (ITIF) (بالإنجليزية). Archived from the original (PDF) on 2017-09-12. Retrieved 2017-09-17.
  7. ^ Clark D.، D.؛ Pogran، K. T.؛ Reed، D.P. (مايو 1978). "An Introduction to Local Area Networks". Proceedings of the IEEE. IEEE. ج. 66 ع. 11: 1497-1517.
  8. ^ C. Walden, D. (May 1972). "The Interface Message Processor, Its Algorithms, and Their Implementation" (PDF). AFCET Journées d’Études: Réseaux de Calculateurs (AFCET Workshop on Computer Networks). (بالإنجليزية). Archived from the original (PDF) on 2016-03-04. Retrieved 2017-08-08.
  9. ^ McQuillan, J. (Jun 1973). "RFC 528, Software Checksumming in the IMP and Network Reliability". The Internet Society (بالإنجليزية). Archived from the original on 2019-03-31. Retrieved 2017-08-08.
  10. ^ McQuillan، John M.؛ Walden، David C. (أغسطس 1977). "A digital communication network for computers giving rapid response at remote terminals". Computer Networks. Bolt Beranek and Newman Inc. ج. 1 ع. 5: 243-289. DOI:10.1016/0376-5075(77)90014-9.
  11. ^ Socolofsky, T.; Kale, C. (يناير1991). "RFC 1180, A TCP/IP Tutorial". The Internet Society (بالإنجليزية). Archived from the original on 28 مارس 2019. Retrieved 8 أغسطس 2017. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ= (help)
  12. ^ Postal, J. (Sep 1981). "RFC 793, Transmission control protocol, DARPA internet program,protocol specification". The Internet Society (بالإنجليزية). Archived from the original on 2019-09-18. Retrieved 2017-08-08.
  13. ^ D. Clark, D. (مايو 2007). "Application Design and the End-to-End Arguments. MIT Communications Futures Program Bi-Annual Meeting". MIT CFP (بالإنجليزية). Archived from the original on 8 أغسطس 2017. Retrieved 8 أغسطس2017. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ الوصول= (help)
  14. ^ Saltzer، J. H.؛ Reed، D. P.؛ Clark، D. D. (نوفمبر 1984). "End-to-end arguments in system design". ACM Transactions on Computer Systems (TOCS). ACM. ج. 2 ع. 4: 277-288.
  15. ^ Kempf, J.; Austein, R. (Mar 2004). "RFC 3724, The Rise of the Middle and the Future of End-to-End:Reflections on the Evolution of the Internet Architecture". The Internet Society (بالإنجليزية). Archived from the original on 2019-12-12. Retrieved 2017-08-08.
  16. ^ Bärwolff, M. (أوكتوبر 2010). "Bärwolff's 2010 PhD Thesis "End-to-End Arguments in the Internet: Principles, Practices, and Theory"". bärwolff.de (بالإنجليزية). Archived from the original on 4 مارس 2016. Retrieved 8 أغسطس 2017. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ= (help)
  17. ^ Sunshine، C. (أكتوبر 1975). "Issues in Communication Protocol Design -- Formal correctness". INWG Protocol Note 5.
  18. ^ Blumenthal، Marjory S.؛ Clark، David D. (أغسطس 2001). "Rethinking the design of the Internet: the end-to-end arguments vs. the brave new world". ACM Transactions on Internet Technology (TOIT). ACM. ج. 1 ع. 1: 70-109. DOI:10.1145/383034.383037.
  19. ^ Raychaudhuri, Dipankar; Yates, Roy; Zhang, Yanyong; Dong, Lijun. "CNF Protocol Architecture". WINLAB, Rutgers University (بالإنجليزية). Archived from the original on 2016-06-23. Retrieved 2017-08-08.
  20. ^ Srisuresh, P.; Egevang, K. (Jan 2001). "RFC 3022, Traditional IP Network Address Translator (Traditional NAT)". The Internet Society (بالإنجليزية). Archived from the original on 2019-12-12. Retrieved 2017-08-08.
  21. ^ Ward, Mark (Sep 2012). "Europe hits old internet address limits". BBC (بالإنجليزية). Archived from the original on 2017-07-26. Retrieved 2017-08-08.
  22. ^ Postel, J. (Sep 1981). "RFC 791, Internet Protocol, DARPA Internet Program Protocol Specification". The Internet Society (بالإنجليزية). Archived from the original on 2019-09-18. Retrieved 2017-08-08.
  23. ^ Fuller, V.; Li, T. (Aug 2006). "RFC 4632, Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan". The Internet Society (بالإنجليزية). Archived from the original on 2018-07-08. Retrieved 2017-07-31.

وصلات خارجيّة[عدل]