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

التشبيك Internetworking بين أنواع مختلفة من الشبكات الحاسوبية


Ola Abbas

هناك العديد من التقنيات التي يمكن استخدامها لبناء "روابط الميل الأخير" last-mile links أو لتوصيل عددٍ قليل من العُقد معًا، ولكن كيف يمكن بناء شبكات على نطاق عالمي؟ لا يمكن لشبكة إيثرنت واحدة ربط أكثر من 1024 مضيفًا، حيث يصل الرابط ذو النوع "من نقطة لنقطة" point-to-point link بين مضيفَين فقط، بينما تقيَّد الشبكات اللاسلكية بنطاق أجهزة الراديو الخاصة بها، وتحتاج إلى طريقةٍ لربط هذه الأنواع المختلفة من الروابط والشبكات متعددة الوصول لبناء شبكةٍ عالمية. يُعَدّ مفهوم الربط بين أنواع مختلفة من الشبكات لبناء شبكة عالمية كبيرة هو الفكرة الأساسية للإنترنت وغالبًا ما يشار إليه باسم التشبيك internetworking.

يمكن تقسيم مشكلة التشبيك (عدم اتصال الشبكات ببعضها مباشرة Not All Networks are Directly Connected) إلى عددٍ قليل من المشاكل الفرعية، حيث ستحتاج أولًا إلى طريقة لوصل الروابط، إذ تسمّى غالبًا الأجهزة التي تصل بين روابط من نفس النوع بالمبدّلات switches، أو مبدلات الطبقة الثانية L2، كما يُستخدَم صنفٌ مهمٌ وخاص من مبدّلات الطبقة الثانية حاليًا وهو النوع المُستخدَم لربط أقسام الإيثرنت، وتُسمّى هذه المبدّلات أيضًا جسورًا bridges في بعض الأحيان.

تتمثل المهمة الأساسية للمبدّل في أخذ الرُّزم المستقبَلة وإعادة تمريرها (أو تبديلها) إلى المخارج الصحيحة (أو الوجهة النهائية) حتى تصل إلى وجهتها المناسبة، وهناك مجموعة متنوّعة من الطرق التي يمكن للمبدّل من خلالها تحديد مخارج الرزمة الصحيحة، والتي يمكن تصنيفها غالبًا إلى طرقٍ عديمة الإتصال connectionless؛ أي أنها لا تتطلب إنشاء اتصال، وطرقٍ معتمدة على الاتصالات connection-oriented، وقد وُجدت مجالات تطبيقية مهمة لهاتين الطريقتين على مرّ السنين. نظرًا للتنوع الهائل في أنواع الشبكات، نحتاج أيضًا إلى طريقة لربط الشبكات والروابط المختلفة أي التعامل مع عدم التجانس heterogeneity . حيث تُعرف الأجهزة التي تؤدي هذه المهمة، والتي سُمِّيت في السابق بوابات gateways، باسم الموجّهات routers أو مبدّلات الطبقة الثالثة L3. اُخترع بروتوكولٌ للتعامل مع أنواع الشبكات المختلفة هو بروتوكول الإنترنت Internet Protocol أو اختصارًا IP. من المحتمل أن يكون هناك العديد من الطرق الممكنة للانتقال من نقطةٍ إلى أخرى بمجرد ربط مجموعة كبيرة من الروابط والشبكات بالمبدّلات والموجّهات، ويُعدّ العثور على مسارٍ أو توجيه مناسب عبر شبكة ما، أحد أهم المشاكل الرئيسية للشبكات. إذ يجب أن تكون هذه المسارات فعّالةً (ليست أطول من اللازم مثلًا) وخاليةً من الحلقات، وقادرةً على الاستجابة لحقيقة أنّ الشبكات ليست ثابتة، فقد تفشل العقد أو يُعاد تشغيلها، كما قد تنقطع الروابط، وتُضاف عقدٌ أو روابط جديدة.

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

أساسيات التبديل Switching Basics

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

  • يحتوي المبدّل على عددٍ ثابت من المداخل والمخارج، مما يحدّ من عدد المضيفين الممكن توصيلها بمبدّلٍ واحد، ولكن يمكن بناء شبكات كبيرة عن طريق تشبيك عدد من المبدّلات ببعضها بعضًا.
  • يمكن توصيل المبدّلات ببعضها البعض وبالمضيفين باستخدام روابط نقطة إلى نقطة point-to-point links، مما يشيرعادةً إلى إمكانية بناء شبكات ذات نطاق جغرافي كبير.
  • لا يقلل إضافةُ مضيفٍ جديد إلى الشبكة عن طريق توصيله بمبدّل من أداء الشبكة للمضيفين الآخرين المتصلين بالشبكة مسبقًا.

ASwitchProvidesAStarTopology

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

يُوصَل المبدّل بمجموعة من الروابط، ويشغِّل بروتوكول ربط البيانات المناسب لكلٍ من هذه الروابط للتواصل مع العقدة الموجودة في الطرف الآخر من الرابط. وتتمثل مهمة المبدّل الأساسية في تلقّي الرُّزم الواردة على أحد روابطه وإرسالها على رابطٍ آخر، حيث يشار إلى هذه الوظيفة أحيانًا إمّا بالتبديل switching أو بـالتمرير forwarding، وهي الوظيفة الرئيسية لطبقة الشبكة network layer، بالنسبة لمعمارية نموذج اتصال الأنظمة المفتوحة Open Systems Interconnection أو اختصارًا OSI.

السؤال إذًا هو كيف يقرِّر المبدّل اختيار رابط الخرج المناسب لإيصال الرزم إليه؟ الجواب العام هو أنّه يبحث في ترويسة header الرزمة عن المعرّف المُستخدم لاتخاذ هذا القرار. تختلف تفاصيل كيفية استخدامه لهذا المعرّف، إلا أن هناك عدّة طرق شائعة لتحديد ذلك. الأولى هي طريقة مخطط البيانات datagram أو الطريقة عديمة الإتصال connectionless، والطريقة الثانية هي الدارة الافتراضية virtual circuit أو الطريقة الموجَّهة بالاتصال connection-oriented، أمّا الطريقة الثالثة فهي توجيه المصدر source routing وهي الأقلّ شيوعًا من الأسلوبين الآخرين، ولكن لديها بعض التطبيقات المفيدة.

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

تعدد الإرسال بتقسيم الطول الموجي الكثيف Dense Wavelength Division Multiplexing

نركّز ضمن شبكات تبديل الرزم packet-switched لا سيما في شبكات المناطق الواسعة wide-area networks أو اختصارًا WAN، على حقيقة أنّ النقل الفيزيائي الأساسي يكون ضوئيًا optical بالكامل -أي لا توجد رزم-، حيث تستطيع معدّات تعدّد الإرسال تقسيم الطول الموجي الكثيف Dense Wavelength Division Multiplexing أو اختصارًا DWDM المتاحة تجاريًا نقلَ أعداد كبيرة من الأطوال الموجية الضوئية (الألوان) في هذه الطبقة خلال ليفٍ واحد. فقد تُرسَل بيانات على 100 أو أكثر من الأطوال الموجية المختلفة على سبيل المثال، وقد يحمل كلّ طول موجيّ ما يصل إلى 100 جيجابت في الثانية من البيانات.

توصَل هذه الألياف بجهازٍ ضوئي يسمى معدّدات الإضافة والحذف الضوئية القابلة لإعادة الضبط Reconfigurable Optical Add/Drop Multiplexers أو اختصارًا ROADM، حيث تُشكِّل مجموعةٌ من أجهزة ROADM (التي تمثّل العقد) والألياف (التي تمثّل الروابط) شبكة نقلٍ ضوئية. تستطيع أجهزة ROADM إعادة توجيه أطوال موجيّة منفردة على طول مسار متعدّد القفزات، مما يؤدّي إلى إنشاء دارة منطقية من طرفٍ إلى طرف. ويبدو الطول الموجي الواحد من منظور شبكة تبديل الرزم التي أنشِئت فوق هذا النقل الضوئي مثل رابط نقطةٍ لنقطة واحدٍ بين مبدّلين حتى لو عبرَ هذا الطول الموجي عدّة أجهزة ROADM، ويمكن اختيار تشغيل بروتوكول SONET، أو بروتوكول إيثرنت 100 جيجابت في الثانية كبروتوكول تأطيرframing protocol. إن ميزة إعادة ضبط أجهزة ROADM تعني إمكانية تغيير هذه الأطوال الموجية الكامنة من طرف إلى طرف، ممّا يؤدّي إلى إنشاء مخططٍ جديد في طبقة تبديل الرزمة بفعالية.

مخططات البيانات Datagrams

فكرة مخطّطات البيانات بسيطة جدًا، فما عليك سوى تضمين معلوماتٍ كافية في كلّ رزمة لتمكين أيّ مبدّلٍ من تحديد طريقة توصيله بوجهته أي احتواء كلّ رزمة على عنوان الوجهة الكامل. ليكن مثال الشبكة الموضّح في الشكل الآتي، حيث يمتلك المضيفين A وB وC عناوينًا. يستعين المبدّل بجدول التمرير forwarding table، والمُسمى أحيانًا جدول التوجيه routing table لتحديد كيفية إعادة توجيه الرزمة. ويوضّح الجدول الآتي معلومات إعادة التوجيه التي يحتاجها المبدّل رقم 2 لإعادة توجيه مخطّطات البيانات في نموذج الشبكة. يُعَدّ اكتشاف مثل هذا الجدول أمرًا سهلًا عندما يكون هناك خارطة كاملة لشبكةٍ بسيطة مثل الشبكة الموضّحة هنا، حيث يمكن لمشغّل الشبكة ضبط الجداول بصورة ثابتة. ولكنّ إنشاء جداول إعادة التوجيه في شبكات كبيرة ومعقدة وذات مخططٍ متغيِّر ديناميكيًا ومسارات متعدّدة بين الوجهات يُعَدّ أمرًا صعبًا جدًا، وتُعرف هذه المشكلة الصعبة باسم التوجيه routing، الذي سنتكلم عنه لاحقًا. يمكن التفكير في التوجيه كعملية تحدث في الخلفية background بحيث سيكون لديك المعلومات الصحيحة في جدول إعادة التوجيه عندما تظهر رزمة بيانات لتتمكّن من إعادة توجيه الرزمة أو تبديلها.

DatagramForwardingAnExampleNetwork

الوِجهة Destination المنفذ Port
A 3
B 0
C 3
D 3
E 2
F 1
G 0
H 0

تتمتع شبكات مخطَّط البيانات بالخصائص التالية:

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

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

تبديل الدارة الافتراضية Virtual Circuit Switching

تَستخدم التقنية الثانية لتبديل الرزم مفهوم الدارة الافتراضية virtual circuit أو اختصارًا VC، ويتطلّب هذا الأسلوب الذي يُشار إليه أيضًا بإسم النموذج الموجَّه بالاتصال connection-oriented model إعداد اتصال افتراضي من المضيف المصدر إلى المضيف الوجهة قبل إرسال أيّ بيانات.

افترض الشكل التالي، حيث يريد المضيف A مرةً أخرى إرسال رزمٍ إلى المضيف B، ويمكنك التفكير بذلك كعملية مكوَّنة من مرحلتين: الأولى هي إعداد الاتصال connection setup، والثانية نقل البيانات data transfer، حيث تجري كل مرحلة بدورها.

AnExampleOfAVirtualCircuitNetwork

من الضروري إنشاء حالة اتصال في مرحلة إعداد الاتصال في كل المبدّلات الواقعة بين مضيفي المصدر والوجهة. تتكون حالة الاتصال لاتصالٍ واحد من مدخلةٍ في جدول VC في كلّ مبدّلٍ يمرّ من خلاله الاتصال، كما تحتوي المدخلة في جدول VC لكلّ مبدّل على:

  • معرّف الدارة الافتراضية virtual circuit identifier أو اختصارًا VCI الذي يعرّف الاتصالَ في هذا المبدّل بطريقة فريدة، كما سيُحمَل داخل ترويسة الرزم التي تنتمي إلى هذا الاتصال.
  • واجهة واردة incoming interface تصل عليها رزم VC إلى المبدّل.
  • واجهة صادرة outgoing interface تُترك فيها الرزمُ الخاصة بهذه الدارة الافتراضية VC المبدّلَ.
  • معرّفات VCI مختلفة مُحتملة ستُستخدَم للرزم الصادرة.

دلالات إحدى هذه المدخلات هي كما يلي: إذا وصلت رزمة إلى الواجهة الواردة المعينة واحتوت تلك الرزمة على قيمة معرّف VCI معينة في ترويستها، يجب إرسال تلك الرزمة إلى الواجهة الصادرة المحدّدة مع قيمة معرّف VCI الصادرة المحدّدة التي وُضعت لأوّل مرة في ترويستها.

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

هناك طريقتان لتأسيس حالة الاتصال: الأولى هي ضبط مسؤول الشبكة network administrator للحالة وهنا تكون الدارة الافتراضية دائمة permanent ويمكن للمسؤول حذفها أيضًا. لذلك قد يُنظر إلى الدارة الافتراضية الدائمة permanent virtual circuit أو اختصارًا PVC على أنها دارة VC طويلة العمر أو مضبوطة إداريًا. كما يمكن للمضيف بدلًا من ذلك إرسال رسائل إلى الشبكة لتأسيس الحالة، حيث يُشار إلى ذلك بعملية إصدار الإشارات signalling، ويُقال إن الدارات الافتراضية الناتجة قد بُدِّلت، أمّا السمة البارزة لـ الدارة الافتراضية المُبدَّلة switched virtual circuit أو اختصارًا SVC، فهي قدرة المضيف على إعداد وحذف مثل دارة VC هذه ديناميكيًا دون تدخُّل مسؤول الشبكة. يجب أن يُطلق على دارة SVC بصورة أدق اسم دارة VC ذات الإشارة signalled، نظرًا لأن ما يميز دارة SVC عن دارة PVC استخدام الإشارات (وليس التبديل).

عند رغبة مسؤول الشبكة في إنشاء اتصال افتراضي جديد يدويًا من المضيف A إلى المضيف B، يحتاج أولًا إلى تحديد مسار عبر الشبكة من المضيف A إلى المضيف B -يوجد مسار واحد فقط في مثال الشبكة بالشكل السابق ولكن قد لا يكون هذا هو الحال دائمًا-، ثم يختار المسؤول قيمة معرّف VCI غير المستخدم حاليًا على كلّ رابطٍ للاتصال. على افتراض أنّ قيمة معرّف VCI هي 5 للرابط من المضيف A إلى المبدّل 1، واختيرت القيمة 11 للرابط من المبدّل 1 إلى المبدّل 2، وبالتالي سيحتاج المبدّل 1 مدخلةً في جدول VC الخاص به المضبوط كما هو موضح في الجدول التالي:

الواجهة الواردة
Incoming Interface
VCI الوارد
Incoming VCI
الواجهة الصادرة
Outgoing Interface
VCI الصادر
Outgoing VCI
2 5 1 11

لنفرض أنّ قيمة معرّف VCI هي 7 لتحديد هذا الاتصال على الرابط من المبدّل 2 إلى المبدل 3، وأنّ قيمة معرّف VCI هي 4 للرابط من المبدّل 3 إلى المضيف B. سيحتاج المبدّل 2 في هذه الحالة لضبطه مع مدخلات جدول VC كما هو موضح في الجدول التالي:

الواجهة الواردة
Incoming Interface
VCI الوارد
Incoming VCI
الواجهة الصادرة
Outgoing Interface
VCI الصادر
Outgoing VCI
3 11 2 7

ويحتاج المبدّل 3 لضبطه مع مدخلات جدول VC كما هو موضح في الجدول التالي:

الواجهة الواردة
Incoming Interface
VCI الوارد
Incoming VCI
الواجهة الصادرة
Outgoing Interface
VCI الصادر
Outgoing VCI
0 7 1 4

لاحظ أن قيمة معرّف VCI الصادر عند أحد المبدّلات هي قيمة معرّف VCI الواردة عند المبدّل الذي يليه.

APacketIsSentIntoAVirtualCircuitNetwork

يمكن المضي قدمًا في مرحلة نقل البيانات بمجرد إعداد جداول VC، كما هو موضح في الشكل السابق. ويضع المضيف A قيمة معرّف VCI البالغة 5 في ترويسة الرزمة المراد إرسالها إلى المضيف B ويرسلها إلى المبدّل 1، ويستقبل المبدّل 1 أية رزمة من هذا القبيل على الواجهة 2 ويستخدم مزيجًا من الواجهة ومعرّف VCI في ترويسة الرزمة للعثور على مدخلة جدول VC المناسبة.

وكما هو مُبين في الجدول الخاص بالمبدّل 1، ستخبر مدخلةُ الجدول في هذه الحالة المبدّلَ 1 بإعادة توجيه الرزمة من الواجهة 1، ووضع قيمة معرّف VCI التي هي 11 في الترويسة عند إرسال الرزمة. وبالتالي ستصل الرزمة إلى المبدّل 2 على الواجهة 3 حيث يحمل معرّف VCI القيمة 11، ويبحث المبدّل 2 عن الواجهة 3 ومعرّف VCI ذي القيمة 11 في جدول VC الخاص به ويرسل الرزمة للمبدّل 3 بعد تحديث قيمة معرّف VCI في ترويسة الرزمة بصورة مناسبة، كما هو مبين في الشكل الآتي. تستمر هذه العملية حتى الوصول إلى المضيف B مع معرّف VCI ذي القيمة 4 في الرزمة وهذا يحدِّد بالنسبة للمضيف B أنّ الرزمة جاءت من المضيف A.

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

APacketMakesItsWayThroughAVirtualCircuitNetwork

يرسل المضيف A رسالة إعداد setup message إلى الشبكة (أي إلى المبدل 1) لبدء عملية إصدار الإشارات. تحتوي رسالة الإعداد، من بين أشياء أخرى، على عنوانَ الوجهة الكامل للمضيف B. يجب أن تصل رسالة الإعداد إلى كلّ الطريق الواصل إلى المضيف B لإنشاء حالة الاتصال اللازمة في كلّ مبدل على طول ذلك الطريق. يمكن الملاحظة بأن إحضار رسالة الإعداد إلى المضيف B يشبه إلى حدٍ كبير حصول المضيف B على مخطط بيانات datagram، حيث يتعين على المبدلات معرفة المخارج التي ستُرسَل رسالة الإعداد إليها حتى تصل في النهاية إلى المضيف B. بفرض أن المبدّلات تعرف حاليًا ما يكفي عن مخطط الشبكة لمعرفة كيفية القيام بذلك، تتدفق رسالة الإعداد إلى المبدّلين 2 و3 قبل وصولها أخيرًا إلى المضيف B.

ينشئ المبدّل 1 مدخلةً جديدةً في جدول دارته الافتراضية للاتصال الجديد عندما يتلقّى طلب الاتصال، إلى جانب إرساله إلى المبدّل 2. هذه المدخلة هي نفسها تمامًا كما هو موضّح سابقًا في الجدول الخاص بالمبدّل 1، ولكنّ الفرق الرئيسي هو أنّ مهمّة إسناد معرّف VCI غير مستخدم على الواجهة ينفذّها المبدّل لهذا المنفذ، فيختار المبدّل القيمة 5 في هذا المثال. يحتوي جدول الدارة الافتراضية الآن على المعلومات التالية: "عند وصول الرُّزم إلى المنفذ 2 بالمعرّف 5، أرسلْها على المنفذ 1". هناك مشكلة أخرى تتمثّل في حاجة المضيف A إلى معرفة وجوب وضع قيمة معرّف VCI البالغة 5 في الرُّزم التي يريد إرسالها إلى المضيف B.

ينفّذ المبدّل 2 عمليةً مماثلةً عندما يتلقّى رسالة الإعداد، حيث يختار في هذا المثال القيمة 11 على أساس قيمة VCI الواردة، وبالمثل يختار المبدّل 3 القيمة 7 على أساس قيمة VCI الواردة، ويمكن لكلّ مبدّل اختيار أيّ رقمٍ يريد طالما أنّ هذا الرقم ليس قيد الاستخدام حاليًا لاتصالٍ آخر على هذا المنفذ من هذا المبدّل. وكما ذُكر أعلاه، تمتلك VCI نطاق رابط محلي، وهي بذلك لا تحمل أيّ أهمية عالمية.

بعد أن تصل رسالة الإعداد إلى المضيف B أخيرًا، وبافتراض سلامة المضيف B واستعداده لقبول اتصالٍ من المضيف A، سيُخصّص أيضًا قيمة معرّف VCI الوارد، وهي في هذه الحالة 4، كما يمكن للمضيف B استخدام قيمة معرّف VCI هذه لتحديد جميع الرزم القادمة من المضيف A.

يجب إخبار الجميع بقيمة معرّف VCI التي يستخدمها جارهم التالي من أجل هذا الاتصال، فيرسل المضيف B إشعارًا بإعداد الاتصال للمبدّل 3 ويضمّن في تلك الرسالة قيمة معرّف VCI التي اختارها (وهي 4)، وبهذا يستطيع المبدل 3 الآن إكمال مدخلة جدول الدارة الافتراضية لهذا الاتصال، فهو يعرف أن القيمة الصادرة يجب أن تكون 4، كما يرسل المبدل 3 الإشعار إلى المبدّل 2 مع تحديد قيمة معرّف VCI التي هي 7، ثم يرسل المبدّل 2 الرسالة إلى المبدّل 1 مع تحديد قيمة معرّف VCI التي هي 11 ، وبهذا يمرّر المبدّل 1 الإشعار إلى المضيف A أخيرًا، ويطلب منه استخدام قيمة معرّف VCI التي هي 5 لهذا الاتصال.

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

يفكّك المضيف A الاتصال عن طريق إرسال رسالة تحرير teardown إلى المبدّل 1، عندما لا يرغب المضيف A في إرسال بيانات إلى المضيف B. كما يزيل المبدّل المدخلة ذات الصلة من جدوله ويعيد توجيه الرسالة إلى المبدّلات الأخرى في المسار، والتي تحذف أيضًا مدخلات الجدول المناسبة. فإذا أرسل المضيف A رزمةً بمعرّفٍ VCI هو 5 إلى المبدل 1، ستُهمَل كما لو لم يكن الاتصال موجودًا مطلقًا.

هناك العديد من الأشياء التي يجب ملاحظتها حول تبديل الدارة الافتراضية virtual circuit، وهي:

  • يوجد تأخير واحد على الأقل ذهابًا وإيابًا round-trip time أو اختصارًا RTT قبل إرسال البيانات، لأنّ على المضيف A انتظار وصول طلب الاتصال إلى الجانب البعيد من الشبكة ثم العودة إليه قبل تمكُّنه من إرسال رزمة البيانات الأولى.
  • يحتوي طلب الاتصال على العنوان الكامل للمضيف B، الذي قد يكون كبيرًا جدًا، لأنه معرّف عالمي global identifier على الشبكة. ولكن تحتوي كلّ رزمة بيانات على معرّف صغير واحد فريد فقط على رابطٍ واحد، وهو ما يُقلَّل حِمل كلّ رزمة ناجمٌ عن الترويسة بالنسبة إلى نموذج مخطّط البيانات. والأهم من ذلك هو سرعة البحث، نتيجة تعامله مع رقم الدارة الافتراضية على أنه دليلٌ في جدول بدلًا من عدّه مفتاحًا يجب البحث عنه.
  • إذا فشل مبدّلٌ أو رابطٌ في الاتصال، فسيُقطع الاتصال وبالتالي يجب إنشاء اتصالٍ جديد، ولابدّ أيضًا من تفكيك الاتصال القديم لتحرير مساحة تخزين الجدول في المبدّلات.
  • لقد أُخفيت مسألة كيفية تحديد المبدّل للرابط الذي يعيد توجيه طلب الاتصال عليه. وهي من حيث المضمون نفس مشكلة بناء جدول إعادة التوجيه الخاص بإعادة توجيه مخطط البيانات، حيث يتطلب ذلك نوعًا من خوارزمية التوجيه routing algorithm. سنتحدث عن التوجيه في قسمٍ لاحق، والخوارزميات الموضحة هناك قابلة للتطبيق عمومًا على طلبات إعداد التوجيه بالإضافة إلى مخططات البيانات.

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

  1. تُخصَّص المخازن المؤقَّتة Buffers لكلّ دارة افتراضية عند تهيئة الدارة.
  2. يُشغَّل بروتوكول النافذة المنزلقة sliding window protocol بين كلّ زوج من العقد على طول الدارة الافتراضية، ويُعزَّز هذا البروتوكول بالتحكم في التدفق لمنع عقدة الإرسال من الإفراط في تشغيل المخازن المؤقَّتة المخصَّصة في العقدة المستقبلة.
  3. ترفض عقدةٌ معينة الدارة، إذا لم تتوفّر مخازن مؤقتّة كافية في تلك العقدة عند معالجة رسالة طلب الاتصال.

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

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

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

كان هناك عدد من الأمثلة الناجحة لتقنيات الدارات الافتراضية على مرّ السنين، ولا سيما تقنيات X.25 ترحيل الإطارات Frame Relay ووضع النقل غير المتزامنAsynchronous Transfer Mode أو اختصارًا ATM، ولكن لم يَعُد يتمتّع أيٌّ منها بشعبية كبيرة اليوم بعد نجاح نموذج الإنترنت عديم الاتصال Internet’s connectionless model. كان أحد أكثر تطبيقات الدارات الافتراضية شيوعًا لسنوات عديدة هو إنشاء الشبكات الخاصة الوهمية virtual private networks أو اختصارًا VPN، ولكن حتى هذا التطبيق يُدعَم الآن في الغالب بإستخدام التقنيات المستندة إلى الإنترنت اليوم.

وضع النقل اللاتزامني Asynchronous Transfer Mode أو اختصارًا ATM

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

ATMCellFormatAtTheUNI

يحتوي الأسلوب الذي تتّبعه تقنية ATM على بعض الخصائص المثيرة للإهتمام، مما يجعل الأمر يستحقّ المزيد من الدراسة. يوضّح الشكل السابق صورة صيغة رزم تقنية ATM والتي تُسمى خلية ATM. يتم تخطِّي بتات التحكم في تدفق التحكم المعمَّم generic flow control أو اختصارًا GFC، والتي لم تشهد استخدامًا كبيرًا من قبل، ونبدأ بالـ 24 بت والتي يُشار إليها بمعرّف VPI (معرّف المسار الافتراضي virtual path identifier -bits 8 وVCI (معرّف الدارة الافتراضية virtual circuit identifier - bits 16. إذا كانت هذه البتات معًا مثل حقل واحد 24 بت، ستتوافق مع معرّف الدارة الافتراضية، وسبب تقسيم الحقل إلى جزئين هو السماح بمستوى من الهرمية، إذ يمكن في بعض الحالات التعامل مع جميع الدارات التي لها نفس معرّف VPI مثل مجموعة (مسار افتراضي)، ويمكن تبديلها معًا بالنظر فقط إلى معرّف VPI، مما يبسّط عمل المبدّل الذي يمكنه تجاهل جميع بتات معرّف VCI وتقليل حجم جدول دارة VC بصورة كبيرة.

بالانتقال إلى آخر بايت في الترويسة، نجد فحص التكرار الدوري cyclic redundancy check أو اختصارًا CRC ذو 8 بتات، والمعروف باسم فحص خطأ الترويسة header error check، واختصارًا HEC، والذي يَستخدم آلية CRC-8 ويوفِّر إمكانية اكتشاف الأخطاء وتصحيح الخطأ أحادي البت في ترويسة الخلية فقط. تُعَدّ حماية ترويسة الخلية مهمةً خاصةً لأن أيّ خطأ في VCI، يؤدي إلى خطأٍ في تسليم الخلية.

ربما يكون أهم شيء يجب ملاحظته بشأن خلية ATM هو إتيانها بحجم واحد فقط هو 53 بايتًا، وهو السبب في تسميتها خلية cell وليس رزمة packet. ولكن ما هو السبب في ذلك؟ كان أحد الأسباب الرئيسية هو تسهيل تنفيذ عتاد المبدّلات، حيث كانت شبكة إيثرنت بسرعة 10 ميجابت في الثانية هي أحدث التقنيات من حيث السرعة عندما أُنشئت تقنية ATM في منتصف وأواخر الثمانينات. يفكّر الناس الذين تعاملوا مع عالم الهاتف أن المبدّلات شيءٍ كبير، حيث تخدّم مبدّلات الهاتف عشرات الآلاف من العملاء. تُعَد الرزم ذات الطول الثابت شيئًا مفيدًا للغاية عند إنشاء مبدّلات سريعة وقابلة للتوسع بدرجة كبيرة. وهناك سببان رئيسيان لهذا:

  1. من الأسهل بناء عتاد للقيام بمهامٍ بسيطة، حيث تكون مهمة معالجة الرزم أبسط عندما تعرف بالفعل المدّة التي تستغرقها معالجة كل رزمة.
  2. إذا كانت جميع الرزم بنفس الطول، فقد يكون لديك الكثير من عناصر التبديل التي تقوم جميعها بنفس الشيء على التوازي، ويستغرق كلٌّ منها نفس الوقت لأداء وظيفته.

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

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

يوجد سؤالٌ آخر بعد أن قرّرتَ استخدام رزم صغيرة ثابتة الطول، والذي يقول ما هو لطول الثابت المناسب؟ إذا كانت قصيرة جدًا، فكمية معلومات الترويسة التي يجب نقلها بالنسبة إلى كمية البيانات التي تناسبها في خلية واحدة تصبح أكبر، وبالتالي تنخفض النسبة المئوية لحيز النطاق التراسلي للرابط المستخدم فعليًا لنقل البيانات. إذا بنيت جهازًا يعالج الخلايا باستخدام أقصى عددٍ من الخلايا في الثانية، فعندها تصبح الخلايا أقصر، وبالتالي ينخفض إجمالي معدّل البيانات بالنسبة لحجم الخلية. قد يكون أحد الأمثلة على مثل هذا الجهاز هو محوّل الشبكة network adaptor الذي يعيد تجميع الخلايا في وحدات أكبر قبل تسليمها إلى المضيف. يعتمد أداء مثل هذا الجهاز مباشرةً على حجم الخلية. ومن ناحية أخرى، إذا كانت الخلايا كبيرة جدًا، هناك مشكلة في حيّز النطاق التراسلي الضائع بسبب الحاجة إلى حشو البيانات المنقولة لملء خلية كاملة. فإذا كان حجم حمولة payload الخلية 48 بايتًا ونريد إرسال 1 بايت، فسنحتاج إلى إرسال حاشية padding قدرها 47 بايتًا، وستكون استخدامية utilization الرابط منخفضةً جدًا، عند الحدوث المتكرر لذلك الأمر.

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

توجيه المصدر Source Routing

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

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

SourceRoutingInASwitchedNetwork

تحتاج الرزمة إلى اجتياز ثلاثة مبدّلات للانتقال من المضيف A إلى المضيف B في هذا المثال، حيث يجب الخروج من المنفَذ 1 في المبدّل 1، كما يجب الخروج عند المنفذ 0 من المبدّل التالي، ومن المنفذ 3 في المبدّل الثالث. وبالتالي يحتوي العنوان الأصلي عندما تغادر الرزمة المضيف A على قائمة المنافذ (1, 0, 3)، حيث نفترض قراءة كلّ مبدلّ للعنصر الموجود في أقصى اليمين من القائمة. وللتأكد من حصول المبدّل التالي على المعلومات المناسبة، يدوِّر كلّ مبدّلٍ القائمة بعد قراءته للمدخلة الخاصة به. وبالتالي يكون مسار ترويسة الرزمة التي تترك المبدّل 1 إلى المبدّل 2 هو (0 , 3 , 1)، كما يجري المبدّل 2 تدويرًا آخر للقائمة ويرسل رزمةً بها (3 , 1 , 0) في الترويسة. ويجري المبدّل 3 دورانًا آخر على الرغم من عدم ظهوره، بحيث يُعيد الترويسة إلى ما كانت عليه عندما أرسلها المضيف A.

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

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

ثالثًا، هناك بعض الإختلافات في هذه الطريقة. فبدلًا من تدوير الترويسة على سبيل المثال، يمكن لكلّ مبدّل تجريد العنصر الأول فقط أثناء استخدامه. حيث للتدوير ميزة على التجريد، ومع ذلك يحصل المضيف B على نسخة من الترويسة الكاملة، مما قد يساعده في معرفة كيفية العودة إلى المضيف A. وهناك بديل آخر وهو جعل الترويسة تحمل مؤشرًا إلى مدخلة "المنفذ التالي next port" الحالي بحيث يحدّث كلّ مبدّلٍ المؤشر فقط بدلًا من تدوير الترويسة؛ فقد يكون هذا أكثر كفاءةً في التطبيق. نعرض هذه الطرق الثلاث لتوجيه المصدر في الشكل الآتي، حيث سيحتاج المبدّل في كلّ حالة إلى المدخلة A لقراءتها، أمّا المدخلة التي يحتاج المبدّل التالي لقراءتها فهي B؛ وتعرض الحالة (أ) طريقة التدوير rotation، كما تعرض الحالة (ب) طريقة التجريد stripping، بينما تعرض الحالة (ج) طريقة المؤشر pointer، وتُقرأ العناوين من اليمين إلى اليسار:

ThreeWaysToHandleHeadersForSourceRouting

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

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

ترجمة -وبتصرّف- للقسم Switching Basics من الفصل Internetworking من كتاب 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.


×
×
  • أضف...