بيركنت

كانت شبكة بيركلي ، أو بيركنت ، شبكة واسعة النطاق مبكرة ، طُوّرت في جامعة كاليفورنيا، بيركلي عام 1978، بشكل أساسي على يد إريك شميدت كجزء من أطروحته للماجستير . [ 1 ] ربطت الشبكة باستمرار حوالي اثني عشر جهاز كمبيوتر يعمل بنظام BSD [ 2 ] ووفرت خدمات البريد الإلكتروني ونقل الملفات والطباعة وتنفيذ الأوامر عن بُعد لمستخدميها، كما كانت متصلة بالشبكتين الرئيسيتين الأخريين المستخدمتين في ذلك الوقت، وهما ARPANET و UUCPNET . [ 3 ]

كانت الشبكة تعمل باستخدام ما كان يُعرف آنذاك بوصلات تسلسلية عالية السرعة ، بسرعة 1200  بت/ثانية في النظام الأولي. وقد تم تضمين تطبيقها البرمجي مع توزيعة برمجيات بيركلي بدءًا من الإصدار 2.0. [ 1 ] وتألفت من نظام إدارة خطوط ضمن نواة يونكس ، [ 4 ] ومجموعة من البرامج الخفية التي تدير قوائم انتظار الأوامر المراد إرسالها بين الأجهزة، ومجموعة من برامج المستخدم التي تُضيف الأوامر الفعلية إلى قوائم الانتظار. وقد قدمت شبكة بيركلي ملف .netrc .

أدى إصدار بروتوكول UUCP كجزء من نظام يونكس الإصدار السابع عام 1979 إلى قلة الاهتمام الخارجي بالنظام؛ وقد أشارت ماري آن هورتون عام 1984 إلى أن "شبكات بيركنت قد ولّت الآن". [ 5 ] واستمر دعم نظام عناوين البريد الإلكتروني المخصص لشبكة بيركنت في برنامج Sendmail حتى عام 1993. [ 4 ]

تاريخ

بدأ تطوير ما أصبح يُعرف باسم بيركنت بفكرة أولية وضعها بوب فابري ، مستشار إريك شميدت . واصل شميدت تطوير النظام حتى مغادرته لقضاء إجازة في مايو. صُمم النظام في البداية لربط جهازين فقط، يُعرفان بـ A و Q، وكلاهما من طراز PDP-11 يعمل بنظام يونكس . [ 6 ] استمر التطوير حتى نهاية الفصل الدراسي في مايو. وبحلول الأول من مايو، أصبح النظام الأولي، الذي يربط الجهازين A و Q، جاهزًا للتشغيل. ولأن التطوير كان يتم في الغالب على الجهاز A، فقد استُخدم النظام أيضًا لتوزيع الشفرة على الجهاز Q. وقد أدت مهمة نقل الشفرة إلى Q، وهي مهمة روتينية، إلى بذل جهود مبكرة لأتمتة النظام. [ 6 ]

مع بدء تشغيل البرنامج، بدأ مستخدمون آخرون باستخدامه، مما أدى إلى ربط الجهاز A بجهاز جديد، C. وقد نتج عن ذلك مشكلة جديدة، وهي أن التنفيذ الأصلي كان يتطلب نفس بيانات تسجيل دخول المستخدم على كلا الجهازين، ومحاولة مزامنة هذه البيانات بين عدة أجهزة أدت إلى تضخم ملف كلمات مرور الجهاز A بشكل كبير. تمت معالجة هذه المشكلة مبدئيًا من خلال إنشاء حسابات "مجانية" مخصصة على كلا الجهازين، والتي استخدمتها شركة Berknet، بالإضافة إلى استخدام ملف .netrc لتسجيل الدخول إليها تلقائيًا عند الحاجة. [ 6 ]

ثم أُضيف جهاز ثالث، كوري. [ 6 ] ولمعالجة مشكلة الحساب، وإدارة التوجيه المادي، أصبح الجهاز A مركزًا مسؤولًا عن تخزين وإعادة توجيه أي رسائل بين C وكوري. وقد تم استحداث خريطة توجيه قائمة على الجداول للتحكم في ذلك. كان النظام على هذه الحالة عندما أكمل شميدت الإصدار الأول في مايو. أثناء غيابه، أجرى مركز الحوسبة عدة تغييرات على النظام، مما أدى إلى ظهور عدة إصدارات غير متوافقة من بيركنت، وتعطل النظام بشكل دوري، بما في ذلك توقف نظام إرسال البريد. [ 7 ]

عندما عاد شميدت إلى النظام في أكتوبر، أُضيف جهاز VAX 11/780 ، ليصل إجمالي عدد إصدارات يونكس المدعومة إلى ثلاثة. استُخدم برنامج make لبناء وتوزيع الشفرة على الأجهزة، بما في ذلك استخدام الإصدار الأقدم من الشفرة لتشغيل جهاز كوري، الذي كان يعمل بنظام يونكس الإصدار 6 بينما كانت الأجهزة الأخرى تعمل بنظام يونكس الإصدار 7. أدت تغييرات أخرى إلى إصدار مستقر، وبدأ توثيق النظام، وأُضيفت عدة مواقع إضافية. أصبح الأداء مشكلة، خاصةً بالنسبة للأجهزة المكلفة بإعادة التوجيه، مما استدعى صيانة يدوية للحفاظ على عمل النظام. [ 8 ]

وصف

كان النظام مشابهًا إلى حد ما لنظام UUCP من حيث استخدامه نظام نقل ملفات في وضع الدفعات يعتمد على برنامج Unix يعمل كخادم لتنفيذ عمليات النقل الفعلية، بالإضافة إلى تعريف بروتوكول شبكة بسيط مناسب لنقل البيانات عبر روابط الهاتف. هذا البروتوكول مُدمج في تطبيق الشبكة ، الذي يراقب ظهور ملفات جديدة في سلسلة من المواقع المُحددة التي تُمثل قوائم الانتظار. [ 8 ] عند ظهور ملف، يبدأ تطبيق الشبكة اتصالًا طرفيًا بالجهاز البعيد المُختار، ويُصدر الأوامر ويُنفذ عمليات نقل الملفات، ثم يفصل الاتصال ويحذف الملف المحلي إذا تمت العملية بنجاح. [ 9 ]

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

 netcp testfile.txt Cory:/usr/pascal/sh

سيتم نسخ الملف testfile.txt إلى المسار /usr/pascal/sh على جهاز كوري . [ 9 ]

وبالمثل، تم تعديل تطبيق البريد الإلكتروني الحالي ليتوافق مع نظام العنونة نفسه، ودُعم بواسطة أداة mmail التي أضافت تلقائيًا رؤوسًا لتحديد مصدر الرسالة. أما في جانب الاستقبال، فيستخدم تطبيق netmail الجديد الأمر net لتسجيل الدخول إلى جهاز بعيد مُسمى وقراءة أي بريد موجود عليه. عند اكتمال هذه العملية، يقوم prmail بنسخ الرسائل إلى بريد المستخدم المحلي حيث يمكن قراءتها والرد عليها كالمعتاد. وقد تم إدخال أتمتة هذه المهام المنفصلة بسرعة. [ 10 ]

بروتوكول

تم تنظيم بروتوكول النقل الأساسي في ثلاث طبقات. الطبقة العليا هي بروتوكول الأوامر، الذي حدد بنية الملف بشكل عام، وتحته بروتوكول التدفق، الذي قسم الملف إلى حزم متعددة، وفي الأسفل طبقة الأجهزة التي تستخدم المنافذ التسلسلية . [ 11 ]

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

أثناء عملية النقل، يُقسّم الملف إلى حزم لأغراض تصحيح الأخطاء . تحتوي كل حزمة على رأس يتكون من بايت طول يسمح بحد أقصى 255 بايت، متبوعًا برقم الحزمة (بايتين)، ومؤشر نوع (بايت واحد)، ومجموع اختباري (بايت واحد) ، ثم البيانات. [ 11 ] يُوضع المجموع الاختباري في البداية لأن أطوال الحزم متغيرة، مما يُبسّط الكود. توجد عدة أنواع من الحزم، تحتوي على معلومات الأوامر أو البيانات. من بينها حزمة "إعادة الضبط"، التي تُشير إلى بدء عملية نقل جديدة من جهاز بعيد. كان البروتوكول مشابهًا جدًا لبروتوكول XMODEM من حيث التعقيد، ولكنه يفتقر إلى النوافذ المنزلقة أو تأكيد الاستلام المتدفق، وهما ميزتان اعتُبرتا مهمتين لإضافتهما في الإصدارات اللاحقة. [ 12 ]

على مستوى المكونات المادية، كان النظام عبارة عن منفذ تسلسلي يربط بين جهازين. مع ذلك، لم تكن أنظمة يونكس الحالية قادرة على معالجة بيانات ASCII ذات 8 بت مباشرةً دون تكلفة إضافية كبيرة، لذا تُشفّر البيانات المرسلة بثلاثة بايتات من 8 بت مُجمّعة في أربعة أحرف من 6 بت ضمن نطاق الطباعة. يُضيف هذا تكلفة إضافية بنسبة 33%، والتي اعتُبرت أيضًا مجالًا مهمًا للتحسين المحتمل. [ 12 ]

مراجع

الاقتباسات

  1. 1 2 شاكليت، مارك (2004). "نظام تشغيل يونكس" . موسوعة الإنترنت . وايلي. ص  497. ISBN 9780471222019تم الاطلاع عليه بتاريخ 28 أبريل 2020 .
  2. ليرنر، جوش؛ تيرول، جان (2000). "بعض الجوانب الاقتصادية البسيطة للمصادر المفتوحة" (ملف PDF) . سلسلة أوراق عمل المكتب الوطني للبحوث الاقتصادية . تم الاطلاع عليه بتاريخ 30 أبريل 2020 .
  3. ^ هاوبين، مايكل. هاوبين، روندا (1997). مستخدمو الإنترنت: حول تاريخ وتأثير Usenet والإنترنت . وايلي. ص. 170. ردمك  978-0-8186-7706-9.
  4. 1 2 فيكسي، بول أ .؛ أفوليو، فريدريك م. (2002). سيندميل: النظرية والتطبيق . إلسيفير. ص 3. ISBN  9781555582296.
  5. هورتون، مارك ر. (1986). ما هو النطاق؟ مجموعة مستخدمي أدوات البرمجيات [Sof84]. الصفحات 368-372 . تم الاطلاع عليه بتاريخ 28 أبريل 2020 . 
  6. 1 2 3 4 شميدت 1979 ، ص. 2.
  7. شميدت 1979 ، ص 3.
  8. 1 2 3 شميدت 1979 ، ص. 5.
  9. 1 2 شميدت 1979 ، ص. 6.
  10. شميدت 1979 ، ص 7.
  11. 1 2 3 شميدت 1979 ، ص 8.
  12. 1 2 شميدت 1979 ، ص. 9.

فهرس