# معالج رسائل المنفذ

معالج رسائل المنفذ (بالإنجليزية: Interface Message Processor IMP)‏ هو عُقدة تعمل في شبكات تبديل الرزم، استُخدمت بشكلٍ أساسيّ لربط شبكات الحاسب مع شبكة الأربانت في الفترة بين عاميّ (1969) و (1989)، وهي تُمثّل الجيل الأول من البوابات التي تُعرف اليوم باسم المُوجّهات.
في البداية كان معالج رسائل المنفذ حاسوب متين صغير من إنتاج هانيويل، تحديداً (DDP-516)، مع منافذ وبرمجيّات خاصّة. لاحقاً تمّ بناء معالج رسائل المنفذ باستخدام الحاسب هانيويل 316 الذي كان قادراً على معالجة ثلثي حركة الاتصالات بنصف الكلفة مُقارنة مع ما سبقه. يُستخدم منفذ تسلسلي لربط معالج رسائل المنفذ مع حاسوب مُضيف، وقد تمّ تعريف الآليّة بالتفصيل في التقرير رقم 1822 الخاص بشركة بي بي إن للتكنولوجيا. جرت مُناقشة البرمجيّة وبروتوكول الاتصال الخاصّين بالمعالج في ووثيقة طلب التعليقات رقم (1) (RFC 1)، وهي أول وثيقة طلب تعليقات صدرت عن مجموعة مهندسي شبكة الإنترنت.

## نبذة تاريخيّة

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

### فريق العمل

تكون الفريق الذي عمل على تطوير المعالج من:
* فرانك هارت، قائداً للفريق.
* ويليام كروثر (William Crowther) وديفيد والدن (David Walden) وبول ويكسلبلات (Paul Wexelblat) وبيرني كوزل (Bernie Cosell) للبرمجيات.
* سيرفيو أورنشتاين (Severo Ornstein) وبين باركر (Ben Barker) للعتاد.
* روبرت خان لتصميم النظام.
بالإضافة لهاولي رايسينغ (Hawley Rising)، لاحقاً أُضيف للفريق كل من مارتي ثروب (Marty Thrope) للعتاد وجيم جيسمان (Jim Geisman) وترويت ثاتش (Truett Thach) من أجل التركيب وبيل بارتيل (Bill Bertell) من هانيويل.

### مراحل العمل

بدأت شركة بي بي إن العمل البرمجيّ في شهر فبراير من العام 1969م. كان نص البرنامج الكامل بطول (6000) كلمة، وقد كُتب بلغة التجميع هانيويل 516. تمّ تطوير البرمجية، أي كتابة وتحرير الشيفرة المصدريّة، على حاسب بي دي بي 1 (PDP-1)، ثُمّ تمّ تشغيله على حاسب معدّل من حواسب (DDP-516) الخاصّة بشركة هانيويل.
صُمم مُعالج رسائل المنقذ ليكون وسيطاً «يُخزّن ويُمرر» (store-and-forward) فقط لاغير. وقد وضعت شركة بي بي إن مُحددات ربط مُعالج رسائل المنفذ مع المُضيف (host-to-IMP) فقط، ولم تُحدد مواصفات الربط بين المُضيفين (host-to-host). دعم معالج رسائل المنقذ آليّة لكشف الأخطاء تعتمد على التخلص من الرزم التي تحتوي على أخطاء بدون إرسال إشعار تأكيد لوصُولها (Acknowledgment)، وعندها سيقوم مقالج الرسائل الذي أرسلها، ولم يستقبل إشار التأكيد بإعادة إرسال رزمة مُطابقة لها مرة أخرى. بناء على مُتطلبات وكالة أبحاث المشاريع المُتقدمة، فقد استخدم مُعالج الرسائل خوارزمية تحقق جمعي مع تراميز بطول (24) بت. وقد اختارت شركة بي بي إن في تصميمها أن يقوم عتاد الحاسب بحساب التدقيق الجمعي لأن العملية عندها ستكون أسرع قيما لو نفذتها البرمجيات. كان التصميم الأوليّة لمعالج رسائل المنفذ موضُوعة بحيث يوجد معالج وحيد يتصل مع حاسب مُضيف واحد في كل موقع، ولكن وبسبب إصرار الباحثين والطُلاب، فقد تمّ تصميم معالج الرسائل ليتصّل مع عدّة حواسب مُضيفة.
تمّ توصيل أول معالج رسائل منفذ إلى المجموعة التي يقودها ليونارد كلينروك في جامعة كاليفورنيا في لوس أنجلوس في 30 أغسطس 1969، وكان الحاسب المُستخدم هو حاسوب سيغما 7. أمّا معالج رسائل المنفذ الثاني فقد تمّ توصيله إلى مركز ستانفورد للأبحاث (SRI) في شهر أكتوبر من نفس العام، حيث كان دوغلاس إنجيلبارت يقود فريقاً آخر، وجرى توصيل المعالج إلى الحاسب أس دي أس 940 (SDS 940). حصل أوّل اتصال بين النظامين في 29 أوكتوبر، حيث أرسل جزء من الكلمة الإنجليزية (login)، والسبب في ذلك هو توقف النظام عن العمل في معهد ستانفورد للأبحاث بعد إرسال أول حرفين، ولكن تمّ بعدها تصحيح المشكلة ونجحت المحاولة.
طوّرت شركة بي بي إن للتكنولوجيا بعد ذلك برنامجاً لفحص أداء دارات الاتصال، وبحسب تقرير كتبه فرانك هارت في أواخر العام 1969 عن اتصال دام لمدة (27) ساعة فإنّ: «نسبة الخطأ كانت رزمة واحدة في كل 20 ألف رزمة»، في التجارب اللاحقة كانت نسبة الخطأ معدومة تقريباً.
وُجد شكل من معالج رسائل المنفذ سُمّي مُعالج منفذ الطرفيّة (Terminal Interface Processor TIP)، وعملت هذه المعالجات على ربط الطرفيّات مع الشبكة بدلاً من ربط الحواسب، وقد بُنيت بشكلٍ أساسيٍ على حواسب هانيويل 316.
بقيت مُعالجات رسائل المنفذ هي قلب شبكة الأربانت حتى خروجها من الخدمة في العام 1990. بعدها تم التخلّص من معظم معالجات رسائل الخدمة أو نقلها إلى شبكة ميل نت (MILNET). بعض معالجات رسائل المنفذ معروضة في المتاحف اليوم، ومنها أوّل معالج رسائل منفذ، وهو معروض للعموم اليوم في مركز كلينروك لتاريخ لإنترنت. أُخرج آخر مُعالج رسائل منفذ من الخدمة في جامعة ميرلاند.

## تقرير شركة بي بي إن للتكنولوجيا رقم 1822

يُحدد التقرير رقم (1822) الخاصّ بشركة بي بي إن للتكنولوجيا طريقة ربط حاسب مُضيف مع مُعالج رسائل المنفذ (IMP) يُشار إلى هذه المُحددات بالبروتوكول (1822)، وهو رقم التقرير نفسُه.
تمّ تطوير الشكل الأولي من البروتوكول في العام 1969م، وبسبب كونه قد سبق نموذج الاتصال المعياري (OSI) بحوالي عقدٍ من الزمن فهو لا يعمل بشكلٍ مُحدد في إحدى طبقاته. ولكنّ، من المُنصف القول أنّ عمله يشمل ثلاث طبقات من النموذج هي الطبقة الفيزيائيّة وطبقة ربط البيانات وطبقة الشبكة.
لنقل البيانات، يقوم المُضيف المُرسل ببناء رسالة تتضمّن حقلاً خاصّاً بالعنوان الرقمي للمُضيف المُستقبل، وهو مُضيف آخر متصل مع الشبكة، وحقلاً خاصّاً بالبيانات، ثُمّ يقوم بنقل الرسالة عبر البروتوكول (1822) إلى مُعالج رسائل المنفذ الذي يوجّه بدوره الرسالة نحو الهدف. يُمكن للرسالة أن تحمل (8159) بتاً منها (96) محجوزة لحقل العنوان.
إنّ بروتوكول (1822) هو بروتوكول موثوق، فهو يضمن نقل رسائله بشكلٍ مُوثوق إلى الوجهة المُحددة بحقل العنوان. إذا لم يتمّ توصيل الرسالة، يقوم مُعالج رسائل المنفذ بإبلاغ المُضيف المصدر بفشل عمليّة التوصيل باستعمال رسالة خاصّة. عمليّاً، كانت الحالات التي لم يحصل فيها المُضيف على رسال تبلغه بفشل عملية التوصيل نادرة، وكذلك الحالات التي يتمّ فيها التبليع عن عدم وصول رسالة في الوقت الذي تكون فيه قد بلغت هدفها.