اذهب إلى المحتوى

المتطلبات اللازمة لبناء شبكة حاسوبية


Abdessamad El Omari

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

أصحاب المصلحة (Stakeholders)

مثلما ذكرنا سابقًا، يمكن للطالب الذي يدرس الشبكات أن يأخذ عدة وجهات نظر. عندما أُلِّفَت الطبعة الأولى الإنجليزية من هذا الكتاب، لم يكن لدى غالبية السكان اتصال بالإنترنت على الإطلاق، وأولئك الذين حصلوا عليه تمكّنوا من ذلك أثناء العمل أو في الجامعة أو عن طريق مودِم الاتصال الهاتفي (dial-up modem) في المنزل. كانت التطبيقات الشائعة حينذاك تعَدّ على أصابع اليد الواحدة. وهكذا، مثل معظم الكتب في ذلك الوقت، ركّز الكتاب على منظور شخصٍ يعمل على تصميم معدّات وبروتوكولات الشبكات. وسوف نواصل التركيز على هذه الرّؤية، ونأمل أنه بعد قراءة هذا الكتاب، سوف تعرف كيفية تصميم معدّات وبروتوكولات الشبكات المستقبلية.

ومع ذلك، نريد أيضًا تغطية وجهات نظر اثنين من أصحاب المصلحة الإضافيين: أولئك الذين يطورون التطبيقات الشبكية وكذلك من يديرون الشبكات أو يشغلونها. دعنا نفكر كيف يمكن لأصحاب المصلحة الثلاثة هؤلاء عرض متطلباتهم لشبكة ما:

  • مبرمجُ التطبيق (application programmer): يعرض قائمةَ الخدمات التي يحتاجها تطبيقه على سبيل المثال، ضمان تسليم كل رسالة يرسلها التطبيق دون خطأٍ في غضون فترة زمنية معيّنة أو القدرة على التبديل بأمان بين الاتصالات المختلفة بالشبكة عندما يتنقّل المستخدم بينها.
  • مُشغّل الشبكة (network operator): يعرض خصائص النظام الذي يسهل تدبيره وإدارته على سبيل المثال، حيث يمكن عزل الأخطاء بسهولة، ويمكن إضافة أجهزة جديدة إلى الشبكة وإعدادها بصفة صحيحة، ويكون من السّهل حساب مقدار الاستخدام.
  • مصمّم الشبكة (network designer): يعرض خصائص التصميم الفعّال نسبةً إلى التكلفة على سبيل المثال، أن يكون استخدام موارد الشبكة بكفاءة وتخصيصها إلى حدّ ما لمختلف المستخدمين. ومن الرّاجح أيضًا أن تكون لمسألة الأداء أهمّية في هذا السياق.

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

الاتصال القابل للتوسع (Scalable Connectivity)

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

لفهم متطلبات الاتصال بصورة كاملة، نحتاج إلى إلقاء نظرة فاحصة على كيفية توصيل أجهزة الحاسوب في الشبكة. إذ يحدث الاتصال على العديد من المستويات المختلفة. في المستوى الأدنى، يمكن أن تتكوّن الشبكة من جهازي حاسوب أو أكثر متصلة مباشرة ببعض الوسائط الفيزيائية، مثل الكابل المِحوري (coaxial cable) أو الألياف البصرية. نسمي مثل هذا الوسيط الفيزيائي رابطًا (link)، وغالبًا ما نشير إلى أجهزة الحاسوب التي تربطها هذه الوسائط بالعُقَد (nodes). (أحيانًا لا تكون العقدة جهاز حاسوب بل قطعةً فيزيائية أكثر تخصيصًا في الجهاز، لكننا نتجاهل هذا التمييز لأغراض هذه المناقشة). كما هو موضّح في الشّكل التالي، تقتصر الروابط الفيزيائية أحيانًا على عُقدتين (يُسمّى مثل هذا الرابط "من نُقطة لِنُقطة" point-to-point) كما هو موضح في القسم (أ) من الشكل التالي، بينما في حالات أخرى قد تشترك أكثر من عقدتين في رابطٍ فيزيائي واحد (ويُسمّى مثل هذا الرابط متعدّد الوصول) كما هو موضح في القسم (ب) من الشكل التالي. تعدّ الروابط اللاسلكية، مثل تلك التي توفرها الشبكات الخلوية وشبكات الواي فاي، فئةً مهمة من روابط الوصول المتعدد. دائمًا ما يكون حجم روابط الوصول المتعدد محدودًا، من حيث المسافة الجغرافية التي يمكن أن تغطيها وعدد العقد التي يمكنها توصيلها. لهذا السبب، يطبّقون في الغالب ما يسمى بقاعدة الميل الأخير، ويربطون المستخدمين النهائيين ببقية الشبكة.

Figure 1.2.jpg

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

يُظهر الشكل التالي مجموعةً من العُقد، كلّ منها مرتبط بواحد أو أكثر من الروابط من نقطة لنقطة. تعمل هذه العقد المرفقة برابطين على الأقل على تشغيل البرامج التي تعيد توجيه البيانات التي يجري تلقيها على رابط واحد من رابطٍ آخر. إذا نُظِّمت بطريقة منظمة، فإن عُقد التوصيل هذه تُشكّل شبكة تبديل (switched network). وهناك أنواع عديدة من شبكات التبديل، لكن أكثرها شيوعًا هي شبكات تبديل الدارات (circuit switched) وتبديل الرزم (packet switched). يُستخدَم النوع الأول بصفة خاصّة في نظام الهاتف، بينما يُستخدَم النوع الثاني في الغالبية العظمى في شبكات الحواسيب، وهو ما سيكون محور هذا الكتاب. (ومع ذلك، نلاحظ عودة نسبية لنظام تبديل الدارات في مجال الشبكات البصرية، والذي اتضحت أهمّيته بحكم تزايد الطلب على سعة الشبكة باستمرار). وتتجلى الميزة المهمّة في شبكات تبديل الرزم في أنّ العُقَد في هذه الشبكات ترسل كُتلًا منفصلة من البيانات فيما بينها. فَكّر في هذه الكتل من البيانات على أنها تتطابق مع جزء من بيانات التطبيق مثل ملف أو جزء من بريد إلكتروني أو صورة. نحن نسمي كل كتلة من البيانات إما رزمة أو رسالة، والآن نستخدم هذه المصطلحات بصفةٍ تبادليةٍ.

Figure 1.3.jpg

تستخدم شبكاتُ تبديل الرزَم (Packet-switched networks) في العادة إستراتيجيةً تسمى خزّن وأعِد التوجيه (store-and-forward). ومثلما يوحي هذا الاسم، تتلقى كل عقدة في شبكة التخزين وإعادة التوجيه أولًا رزمة كاملة عبر رابطٍ ما، وتُخزّن الرزمة في ذاكرتها الداخلية، ثم تُعيد توجيه الحزمة الكاملة إلى العقدة التالية. على النقيض من ذلك، تُنشِئ شبكة تبديل الدارات أولًا دارةً مُخصّصة عبر سلسلة من الروابط ثم تسمح للعقدة المصدر بإرسال مجرىً من البِتات عبر هذه الدارة إلى عقدةٍ وِجهةٍ. إنّ الدافع الرئيسي لاستخدام تبديل الرزم عوضًا عن تبديل الدارات في الشبكة الحاسوبية هو عنصر الكفاءة، الذي نناقشه في القسم الفرعي التالي.

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

اقتباس

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

يُظهر الشكل التالي الطريقة الثانية التي يمكن من خلالها توصيل مجموعة من الحواسيب بصفة غير مباشرة. في هذه الحالة، هناك مجموعة من الشبكات المستقلة (السحابات) المتصلة بعضها ببعضٍ لتشكيل شبكة متشابكة (internetwork) أو بمعنى آخر شبكة إنترنت. نعتمد اصطلاح إنترنت للإشارة إلى شبكة متشابكةٍ عامة من الشبكات بحرف "i" صغير في المفردة الإنجليزية (internet)، ونعتمد لشبكة الإنترنت TCP/IP التي نستخدمها جميعًا كل يوم الحرف الكبير "I" في المفردة الإنجليزية (Internet). عادةً ما تُسمى العقدة المتصلة بشبكتين أو أكثر موجِّهًا (router) أو بوابةً (gateway)، وهي تلعب دورًا مماثلًا تمامًا للمبدّل (switch)، فهي تعيد توجيه الرسائل من شبكةٍ إلى أخرى. لاحظ أنه يمكن عدُّ شبكة إنترنت في حد ذاتها نوعًا آخر من الشبكات، مما يعني أنه يمكن بناء شبكةٍ متشابكة من مجموعةٍ من الشبكات المتشابكة. وبالتالي، يمكننا بصفة متكرّرة بناء شبكات كبيرة بصورةٍ اعتباطية عن طريق ربط السُّحب لتشكيل سُحبٍ أكبر. نستطيع القول على نحوٍ معقولٍ أن فكرة الربط بين الشبكات المختلفة اختلافًا كبيرًا كانت الابتكار الأساسي للإنترنت وأن النمو الناجح للإنترنت إلى حجمها العالمي والمليارات من العُقَد كان ثمرة بعض قرارات التصميم الجيدة جدًا التي اتخذها مهندسو الإنترنت الأوائل، والتي سنناقشها لاحقًا.

Figure 1.4.jpg

إنّ مجرّد وجود مجموعة من المضيفين متصلين بعضهم ببعضٍ بصورةٍ مباشرة أو غير مباشرة لا يعني بالضّرورة أننا نجحنا في توفير اتصال من مُضيفٍ لمُضيفٍ. فالهدف النهائي هو أن تكون كلّ عقدة قادرةً على تحديد أي عُقَد أخرى على الشبكة تريد التواصل معها، ويتم ذلك عن طريق إسناد عنوانٍ (address) لكل عقدة. العنوان هو سلسلة بايتات تُحدّد عقدةً؛ أي أن الشبكة يمكنها استخدام عنوان العقدة لتمييزها عن العُقَد الأخرى المتصلة بالشبكة. عندما تريد العقدة المصدر تسليم رسالة عبر الشبكة إلى عُقدةٍ وِجهةٍ معينةٍ، فإنها تحدّد عنوان العُقدةِ الوِجهة. إذا لم تكن العُقدتان المرسلة والمستقبلة متصلتين مباشرةً، فإنّ مبدّلات الشبكة والموجهات تستخدم هذا العنوان لتحديد كيفية إعادة توجيه الرسالة نحو الوِجهَة. تسمى عملية تحديد كيفية إعادة توجيه الرسائل نحو العُقدة الوِجهة بصورةٍ منهجيةٍ بناءً على عنوانها عمليةَ التوجيه (routing).

تفترض هذه المقدمة الموجزة عن العنونة والتوجيه أنّ العقدة المصدر تريد إرسال رسالة إلى عقدةٍ وِجهةٍ واحدةٍ (البث الأحادي unicast). ورغم أنّ هذا السيناريو هو الأكثر شيوعًا، فمن الممكن أيضًا أنّ العقدة المصدر ترغب في بث رسالةٍ إلى جميع العُقد على الشبكة، أو قد ترغب العقدة المصدر في إرسال رسالةٍ إلى مجموعة فرعية من العُقَد الأخرى ولكن ليس جميعها، وهي حالة تسمى البث المتعدد (multicast). وبالتالي، بالإضافة إلى العناوين الخاصة بالعقدة، فمن متطلّبات الشبكة كذلك أن تدعم عناوين البث المتعدّد والبثّ العريض (broadcast).

اقتباس

إن الفكرة الرئيسية التي ينبغي أن تأخذها من هذه المناقشة هي أننا نستطيع تعريف شبكةٍ بصورة متكررة على أنها عقدتان أو أكثر متصلتان برابطٍ فيزيائي، أو شبكتان أو أكثر متصلتان من خلال عقدة. بمعنى آخر، يمكن إنشاء شبكةٍ من تداخل عددٍ من الشبكات، إذ تتحقق الشبكة في المستوى الأدنى بوجود بعض الوسائط الفيزيائية. ومن بين التحديات الرئيسية في توفير الاتصال بالشبكة إعطاء عنوانٍ لكل عقدة يمكن الولوج إليها على الشبكة (سواء كان ذلك بصورة منطقية أو فيزيائية)، واستخدام هذه العناوين لإعادة توجيه الرسائل نحو العقدة الوِجهة المناسبة (أو العقد إذا كانت متعددة).

مشاركة الموارد ذات التكلفة الفعالة

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

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

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

ومن أجل معرفة كيف يعمل هذا الأمر، نفترض الشبكة البسيطة الموضحة في الشكل التالي، إذ يرسل المضيفون الثلاثة المتواجدون على الجانب الأيسر من الشبكة (المرسلون S3-S1) البيانات إلى المضيفين الثلاثة على اليمين (المستقبلون R3-R1) من خلال تشارك شبكة تبديلٍ تحتوي على رابطٍ فيزيائي واحدٍ فقط. (من أجل التبسيط، نفترض أن المضيف S1 يرسل البيانات إلى المضيف المقابل R1، والأمر نفسه بالنسبة للبقية). في هذه الحالة، سوف يجري تجميع ثلاث تدفقات من البيانات، الموافقة لأزواج المضيفين الثلاثة، على رابطٍ فيزيائي واحدٍ عن طريق المبدّل 1، ومن ثم فكّ الدمج مرة أخرى إلى تدفقات منفصلة عن طريق المبدّل 2. لاحظ أننا نتعمد الغموض لما يحتويه "تدفق البيانات" بالضبط. ولأغراض هذه المناقشة، نفترض أنّ لكلّ مضيف على اليسار مقدارٌ كبير من البيانات التي يريد إرسالها إلى نظيره على اليمين.

Figure 1.5.jpg

هناك طرقٌ عديدة مختلفة لدمج (multiplexing) التدفقات المتعددة على رابطٍ فيزيائي واحد. إحدى الطرق الشائعة هي تعدّد الإرسال بالتقسيم الزمني المتزامن (synchronous time-division multiplexing أو اختصارًا STDM). تتمثّل فكرة STDM في تقسيم الوقت إلى كمّات (quanta) زمنية متساوية، ومنح الفرصة بالدّور لكلّ تدفقٍ كي يُرسِل بياناته عبر الرابط المادي. وبعبارة أخرى، تُنقل البيانات من S1 إلى R1 أثناء الكمّ 1، وخلال الكم الزمني 2، تُرسَل البيانات من S2 إلى R2؛ وفي الكمّ 3، يُرسل S3 البيانات إلى R3. عند هذه النقطة، يبدأ التدفق الأول (S1 إلى R1) مرة أخرى، وتتكرّر العملية. طريقةُ أخرى تستخدم كثيرًا هي تعدّد الإرسال بتقسيم التردد (frequency-division multiplexing أو اختصارًا FDM). وتتجلى فكرة FDM في إرسال كل تدفّق عبر الرابط الفيزيائي بتردّدٍ مختلفٍ، بالطريقة نفسها التي تُرسَل بها الإشارات لمحطّات التلفزيون المختلفة بتردّدات مختلفة عبر موجات الهواء أو على رابط الكابل التلفزيوني المِحوري.

ورغم سهولة فهمهما، إلّا أنّ كلا الطريقتين STDM و FDM تُظهران بعض القصور في نقطتين مهمّتين. أولًا، عندما لا يكون لدى أيّ من التدفقات (أزواج المضيفين) أيّ بيانات لإرسالها، فإنّ نصيبها من الرابط الفيزيائي، أي من الكمّ الزمني أو التردّد، يظلّ خاملًا، حتى لو كان لدى أحد التدفقات الأخرى بيانات لإرسالها. على سبيل المثال، سيكون على المرسل S3 انتظار دوره خلف S1 و S2 في الفقرة السابقة، حتى لو لم يكن لدى S1 و S2 أي شيء لإرساله. وفي معايير الاتصالات الحاسوبية، يمكن أن يكون مقدار الوقت الذي يبقى فيه الرابط خاملًا كبيرًا جدًا. يمكنك أن تأخذ على سبيل المثال مقدار الوقت الذي تقضيه في قراءة صفحة ويب (ترك الرابط خاملًا) وتُقارِنه بالوقت الذي تقضيه في جلب الصفحة. ثانيًا، يقتصر كلّ من STDM و FDM على المواقف التي يكون فيها الحدّ الأقصى لعدد التدفقات ثابتًا ومعروفًا مسبقًا. ولن يكون تغيير حجم الكمّ أو إضافة كمّات إضافية في حالة STDM أو إضافة تردّدات جديدة في حالة FDM، أمرًا عمليًّا.

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

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

Figure 1.6.jpg

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

يمكن اتخاذ القرار بشأن أيّ من الرزم ستُرسَل بعد ذلك على رابطٍ مشتركٍ بعدة طرقٍ مختلفة. على سبيل المثال، في شبكة تتكوّن من مبدّلات متصلة بعضُها ببعضٍ عبر روابط، يُتّخذ القرار على مستوى المبدّل الذي ينقل الرزَم إلى الرابط المشترك. (مثلما سنرى لاحقًا، لا تشتمل جميع شبكات تبديل الرزم في الواقع على مبدّلات، وقد تستخدم آليات أخرى لاتخاذ ذلك القرار). يتخذ كل مبدّل في شبكة تبديل الرزم هذا القرار بشكل مستقلّ، على أساس رزمةٍ بعد رزمةٍ. لكنّ إحدى المشكلات التي تواجه مصمّم الشبكة هي كيفية اتخاذ هذا القرار بطريقة عادلة. على سبيل المثال، يمكن تصميم المبدّل لخدمة رزم البيانات على أساس الداخل أولًا، يخرج أولًا (first-in, first-out أو اختصارًا FIFO). وهناك نهج آخر يتمثّل في إرسال الرزم من كل من التدفقات المختلفة التي ترسل البيانات حاليًا من خلال المبدّل بتخصيصٍ دوريٍ. يمكن القيام بذلك للتأكد من أن تدفقات معينة تتلقى حصّة معينة من حيز النطاق التراسلي (bandwidth) للرابط أو أنّ رزمَها لم تتأخر أبدًا في المبدّل لأكثر من فترة زمنية محدّدة. يقال أحيانًا أن الشبكة التي تحاول تخصيص حيز النطاق التراسلي لتدفقات معينة تدعم جودة الخدمة (quality of service أو اختصارًا QoS).

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

اقتباس

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

دعم الخدمات المشتركة

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

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

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

Figure 1.7.jpg

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

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

تحديد أنماط الاتصال المشتركة

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

يعدّ برنامج الوصول إلى الملفات مثل بروتوكول نقل الملفات (File Transfer Protocol أو اختصارًا FTP) أو نظام ملفات الشبكة (Network File System أو اختصارًا NFS) أحد أقدم التطبيقات المدعومة على أي شبكة. ورغم اختلاف العديد من التفاصيل، كطريقة نقل الملفات على سبيل المثال التي تتمّ بالكامل عبر الشبكة أو أن القراءة أو الكتابة تكون لكُتل مفردةٍ فقط من الملف في وقت معين، فإن عنصر الاتصال الخاصّ بالولوج إلى الملف عن بعد يُدرِج زوجًا من العمليات، إحداهما تطلب قراءة الملف أو كتابته والعملية الثانية تلبّي هذا الطلب. العملية التي تطلب الوصول إلى الملف تسمى العميل (client)، والعملية التي تدعم الولوج إلى الملف تسمى الخادوم (server).

تنطوي قراءة الملف على طلب صغير من العميل إلى الخادوم يرسله في رسالةٍ وعلى استجابة الخادوم برسالة كبيرة تحتوي على البيانات الموجودة في الملف. أما الكتابة فتتمّ على نحوٍ معاكسٍ، إذ يُرسِل العميل رسالة كبيرة تحتوي على البيانات المراد كتابتها إلى الخادوم، ويستجيب الخادوم برسالة صغيرة تؤكد أن الكتابة على القرص قد حدثت.

المكتبة الرقمية هي تطبيق أكثر تعقيدًا من نقل الملفات، ولكنها تتطلب خدمات اتصال مماثلة. على سبيل المثال، تُدير رابطة مكائن الحوسبة (Association for Computing Machinery أو اختصارًا ACM) مكتبة رقمية كبيرة لمؤلّفات علوم الحاسوب على الرابط التالي :

http://portal.acm.org/dl.cfm

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

بالاعتماد على خدمة الولوج إلى الملفات، وعلى المكتبة الرقمية، وكذلك تطبيقي الفيديو المذكورين في المقدمة (المؤتمرات عبر الفيديو والفيديو حسب الطلب) كعيناتٍ نموذجيةٍ، رُبّما نقرّر أن نوفّر نوعين من القنوات: قنوات الطلب/الاستجابة (request/reply) وقنوات تدفّق الرسائل (message stream). سوف يُستخدَم النوع الأول في تطبيقات نقل الملفات والمكتبات الرقمية، وسوف يضمن استلام كلّ رسالةٍ مُرسَلةٍ من أحد الجانبين إلى الجانب الآخر، كما سيضمن تسليم نسخة واحدة فقط من كلّ رسالة. وقد تحمي قناة الطلب/الاستجابة أيضًا خصوصية وتكامل البيانات التي تتدفّق عليها حتى لا تتمكّن الأطراف غير المصرّح لها من قراءة أو تعديل البيانات التي يجري تبادُلها بين عمليات العميل والخادوم. أما قناة تدفق الرسائل فيمكن استخدامها في تطبيقات الفيديو عند الطلب والمؤتمرات عبر الفيديو، شريطة أن تكون مُهيّأة لدعم حركة المرور أحادية الاتجاه وذات الاتجاهين ودعمٍ خصائص التأخير المختلفة. قد لا تحتاج قناة تدفق الرسائل إلى ضمان تسليم جميع الرسائل، إذ يمكن أن يعمل تطبيق الفيديو بصورة مناسبة حتى لو لم يستقبل بعضَ مقاطع الفيديو. ومع ذلك، ينبغي التأكد من وصول تلك الرسائل المُستلَمة بالترتيب نفسِه الذي أُرسِلت به، لتجنب عرض المقاطع خارج تسلسلها السليم. ومثلما هو الأمر بالنسبة لقناة الطلب/الاستجابة، قد ترغب قناة تدفّق الرسائل في ضمان خصوصية بيانات الفيديو وتكاملها. أخيرًا، قد تحتاج قناة تدفق الرسائل إلى دعم البث المتعدّد من أجل تمكين أطراف متعدّدة من المشاركة في المؤتمر عن بعد أو مشاهدة الفيديو. يسعى مصمّمو الشبكة غالبًا للحصول على أقلِّ عدد من أنواع القنوات المجردة التي يمكنها أن تخدم أكبر عدد من التطبيقات، إلا أنّ هناك خطرًا في محاولة الاكتفاء بعدد قليل جدًا من القنوات المجردة. ببساطة، إذا كانت لديك مطرقة، فكل شيء سيبدو لك مثل المسمار. على سبيل المثال، إذا كان كلّ ما لديك من أنواع القنوات هو قنوات تدفق الرسائل وقنوات الطلب/الاستجابة، فسيغريانك باستخدامهما لتطبيقك التالي، حتى لو لم يكن أيّ منهما يوفّر المتطلبات التي يحتاجها التطبيق بالضبط. وهكذا، من الراجح أن يخترع مصممو الشبكات أنواعًا جديدة من القنوات، وأن يضيفوا بعض الخيارات إلى القنوات الحالية، مادام مبرمجو التطبيقات يخترعون تطبيقات جديدة.

لاحظ أيضًا أنه بغض النظر عن الوظيفة التي توفرها قناة معينة بالضبط، سيكون هناك سؤالٌ حول مكان تنفيذ هذه الوظيفة. في كثير من الحالات، يكون من الأسهل النظر للاتصال من مضيف لمضيف في الشبكة الأساسية على أنه مجرد توفير أنبوبٍ للبتات (bit pipe)، مع أية دلالات اتصال عالية المستوى يوفّرها المضيفون النهائيون. وتكمن ميزة هذه المقاربة في حفاظها على المبدّل في منتصف الشبكة بأبسط ما يمكن، إذ إنه ببساطة يُعِيد توجيه الرزم، ولكنها تتطلب من المضيفين النهائيين تحمّل الكثير من العبء لدعم قنوات عمليةٍ لعملية (process-to-process). والحلّ البديل هو إضافة وظائف إضافية إلى المبدّلات، مما يسمح للمضيفين النهائيين بأن يكونوا "أجهزة صامتة" (سماعات الهاتف على سبيل المثال). سوف نرى هذه المسألة المتعلقة بكيفية تقسيم خدمات الشبكة المختلفة بين مبدّلات الرزَم والمضيفين النهائيين (الأجهزة) كمشكلةٍ متكررة في تصميم الشبكات.

التسليم الموثوق للرسائل

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

هناك ثلاثة أصنافٍ عامة من الفشل ينبغي على مصممي الشبكات القلق بشأنها. أولًا، عند إرسال رزمة عبر رابطٍ فيزيائي، يمكن أن تحدث أخطاءُ بِتاتٍ في البيانات؛ أي، أن يتحول البِت 1 إلى 0 أو العكس. في بعض الأحيان يصيب التلف البِتات الفردية، ولكن في أغلب الأحيان يحدث خطأ الرشقة (burst error)، أي أن التلف يلحق بالعديد من البِتات المتتالية. تحدث أخطاء البِت عادةً بفعل القوى الخارجية، مثل ضربات الصواعق، واندفاعات الطاقة، وأفران الميكروويف، إذ تُحدِث تداخلًا مع نقل البيانات. لكن ما يبعث على الارتياح هو أن أخطاء البِتات هذه نادرة إلى حد ما، إذ تؤثر في المتوسط على واحد فقط من كل 106 إلى 107 بِت على كابل نموذجي من النحاس وواحد من كل 1012 إلى 1014 بِت على ألياف بصرية نموذجية. وكما سنرى، هناك تقنياتٌ تكشف عن أخطاء البِتات هذه باحتمالية عالية. وبمجرد اكتشافها، يكون في بعض الأحيان تصحيح هذه الأخطاء ممكنًا، فإذا عرفنا البِتات التالفة، يمكننا ببساطة عكسها، بينما في حالات أخرى يكون الضرر سيئًا لدرجة تستلزم التخلص من الرزمة بأكملها. في مثل هذه الحالة، قد يُتوقع من المُرسِل إعادة إرسال الرزمة. الصنف الثاني من الفشل يكون على مستوى الرزمة وليس في البت، أي عندما تضيع رزمةٌ كاملة في الشبكة. أحد أسباب حدوث ذلك هو أن يكون في الرزمة خطأ بِت غير قابل للتصحيح ويستوجب التخلّص منها. ومع ذلك، فالسبب الراجح هو أن تكون إحدى العُقد التي تتعامل مع الرزمة، كالمبدّل الذي يعيد توجيهها من رابط إلى آخر مثلًا، محملة بشكل زائد فلا يبقى مكانٌ لتخزين الرزمة فتضطر لإسقاطها، وهذه هي مشكلة الاحتقان التي ذكرناها في السّابق. هناك سبب آخر أقل شيوعًا، حينما يحدث خطأ في البرنامج الذي يعمل على إحدى العقد التي تتعامل مع الرزمة. إذ قد يعيد، على سبيل المثال، توجيه رزمة بصورة خاطئة على الرابط الخطأ، فلا تجد الرزمة طريقها إلى الوجهة النهائية. وكما سنرى فيما بعد، فإن إحدى الصعوبات الرئيسية في التعامل مع الرزم المفقودة هي التمييز بين رزمة مفقودة بالفعل وأخرى متأخرة فقط في الوصول إلى الوجهة. يحدث الصنف الثالث من الفشل على مستوى العقدة أو الرابط، كأن ينقطع الرابط الفيزيائي، أو يتعطّل الحاسوب المتصل به. يمكن أن يحدث هذا بسبب عُطلٍ في البرنامج، أو انقطاعٍ في التيار الكهربائي، أو ربّما عمليّة حَفرٍ متهوّرة. كما أن الفشل بسبب الضبط الخاطئ (misconfiguration) لجهازٍ على الشبكة أمر شائع أيضًا. ورغم أنه يمكن تصحيح كلٍّ من هذه الإخفاقات في النهاية، إلا أنّ تأثيرها يمكن أن يكون كبيرًا على الشبكة لفترةٍ طويلةٍ من الزمن. ومع ذلك، فهي لا تستدعي تعطيل الشبكة تمامًا. في شبكة تبديل الحزم، على سبيل المثال، يمكن في بعض الأحيان إعادة التوجيه لتفادي العقدة أو الرابط الفاشل. تتمثل إحدى الصعوبات في التعامل مع هذا الصنف الثالث من الفشل في التمييز بين الحاسوب الفاشل والحاسوب البطيء فقط أو بين الرابط المقطوع والذي يوجد في حالة عدم استقرار فيعطي بذلك عددًا كبيرًا من أخطاء البِت.

اقتباس

إنّ أهمّ ما ينبغي أخذه من هذه المناقشة هو أنّ تحديد القنوات المفيدة يستلزم فهم متطلبات التطبيقات والتعرف على قيود التكنولوجيا الأساسية. يكمن التحدي في سدّ الفجوة بين ما يتوقعه التطبيق وما يمكن أن توفره التكنولوجيا الأساسية. وهذا ما يسمى في بعض الأحيان الفجوة الدلالية (semantic gap).

قابلية الإدارة (Manageability)

المُتطلب الأخير، الذي يبدو أنه كثيرًا ما يُهمَل أو يُترَك حتى النهاية (مثلما نفعل هنا)، هو أنّ الشبكات يجب أن تُدارَ. تتضمن إدارة الشبكة ترقية المعدات أثناء نموّ الشبكة لتحمل المزيد من حركة المرور أو الوصول إلى المزيد من المستخدمين، واستكشاف أخطاء الشبكة وإصلاحها عندما تسوء الأمور أو لا يكون الأداء على النحو المطلوب، وإضافة ميزات جديدة لدعم التطبيقات الجديدة. لقد كانت إدارة الشبكات تاريخيًا مظهرًا كثير الاعتماد على الجانب البشري في مجال الشبكات، ورغم أنه من المستبعد إخراج البشر تمامًا من الصّورة، إلا أنّ هذا يتمّ تدريجيًا من خلال الأتمتة وتصميمات الإصلاح الذاتي. يرتبط هذا المتطلب جزئيًا بمسألة قابلية التوسع التي ناقشناها من قبل. فنظرًا لأن الإنترنت طُوِّر لدعم مليارات المستخدمين ومئات الملايين على الأقل من المضيفين، فإن تحديات إبقاء كل شيء يعمل بصورة صحيحة وضبط الأجهزة الجديدة على نحوٍ صحيح في حال إضافتها أصبحت إشكالية متنامية. غالبًا ما يكون ضبط موجهٍ واحد في الشبكة مهمة تُناط بخبيرٍ متمرّس؛ لكنّ ضبط آلاف الموجهات ومعرفة لماذا لا تتصرف شبكة بهذا الحجم كما هو متوقعٌ سيكون مهمةً تتجاوز أيّ إنسان بمفرده. إنّ هذا هو السبب الذي يعطي للأتمتة أهميتها البالغة. تتجلّى إحدى الطرق التي تسهّل إدارة الشبكة في تجنّب التغيير. بمجرد أن تعمل الشبكة، فلا تلمسها ببساطة! تكشف هذه العقلية عن الشّدّ الموجود بين الاستقرار وسرعة الميزة التي تعني إدخال الميزات الجديدة في الشبكة. كان الرهان على الاستقرار هو النهج الذي اتبعته صناعة الاتصالات السلكية واللاسلكية فضلًا عن مديري الأنظمة الجامعية وأقسام تكنولوجيا المعلومات في الشركات لسنوات عديدة، مما يجعلها واحدة من أكثر الصناعات التي تتحرك ببطء وتتجنب المخاطر على الإطلاق. لكن الانفجار الأخير للسحابة غيّر تلك الديناميكية، ممّا جعل من الضروري تحقيق توازنٍ أكثر بين الاستقرار وسرعة الميزة. إن تأثير السحابة على الشبكة هو موضوع يظهر مرارًا وتكرارًا في جميع أجزاء الكتاب، وهو موضوع نوليه اهتمامًا خاصًا في قسم المنظورات في نهاية كل فصل. في الوقت الحالي، يكفي أن نقول أن إدارة شبكة سريعة التطور هي التّحدّي الرئيسي في عالم الشبكيات اليوم.

ترجمة -وبتصرّف- للقسم Requirements من فصل Foundation من كتاب Computer Networks: A Systems Approach


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...