icdn/ccent 100-101 استكشاف عملية توصيل الرزم عند بناء الشبكات


عبد اللطيف ايمش

نحن نعلم أنَّ الطبقة الأولى تتعامل مع الوسائط (media) الفيزيائيّة؛ وهي تتعلق بالبتات والإشارات (signals) والواصلات (connectors) والأكبال وغيرها من المكّونات الفيزيائيّة. أمثلة هي: الاتصالات التسلسلية (serial connections) لشبكات WAN، والمُكرِّرات (repeaters) للشبكات الضوئية (optical networks)، والبروتوكولات الأخرى والمواصفات الفيزيائية للبطاقات الشبكيّة، التي قد تكون مثلًا «إيثرنت» (Ethernet).

packet-delivery.thumb.png.bb1a852c6e825b

أجهزة الطبقة الثانية

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

إسناد العناوين (addressing) في الطبقة الثانية مهمٌ جدًا، لأننا نتكلم عن اتصالات «النّد-للنّد» (peer-to-peer)؛ ومثالٌ عن ذلك هو عنوان MAC ‏(media access control address) في شبكات إيثرنت؛ فجميع النهايات الشبكيّة تملك عنوان MAC، وحتى في بعض الأحيان يكون للمبدِّلات (switches) عناوين MAC.

أجهزة الطبقة الثالثة

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

إن عناوين الطبقة الثالثة مهمة ليس اتباعًا لنموذج اتصالات الند للند، وإنما أيضًا لإضافة هيكليّة إلى تسمية الأجهزة والتعرّف إليها؛ فكل نظام تشغيل خاص بالشبكة له صيغة عناوين خاصة به... فمثلًا، يستخدم بروتوكول TCP/IP عناوين IP. نماذج OSI الشاملة تَستخدم عناوين NSAP؛ لكن حصول كل جهاز على عنوان IP فريد خاص به، بالإضافة إلى الهيكليّة الموجودة في عناوين IP ستخدم هدف السماح للأجهزة والنهايات الشبكية والموجهات بمعرفة أين يجب أن تكون العقدة التوجيهية (next-hop) التالية لكي نصل إلى الوجهة المطلوبة.

شرح عملية ARP

نحن نعلم مدى أهميّة التفاعل بين الطبقات في النموذج الطبقي؛ في الحقيقة، نعلم أن الاتصالات العمودية بين الطبقات مهمة في نموذج اتصالات الند للند؛ حيث ستفدينا عناوين IP في سدّ الفجوة بين الطبقتين الثالثة والثانية؛ وعندما تُجمَّع الرزم الشبكيّة وتُنشَأ الاتصالات، فستحتاج الأجهزة إلى الوصول إلى الوسائط الفيزيائية، أي أن علينا الانتقال إلى الطبقة الثانية، ولهذا سنحتاج عنوان MAC إن كنّا نستخدم بروتوكول إيثرنت؛ إذ أنَّ المعلومات القادمة من الطبقات الأعلى هي عنوان IP، ويستطيع ARP التحويل بينهما. في هذا المثال، سيكون لدينا الجهاز A الذي سيحاول إرسال رزم شبكيّة إلى 172.16.3.2، ولكي يستبين ويتعرَّف على عنوان MAC لذاك IP، فإننا نستخدمARP لإذاعة السؤال الآتي: «من هو 172.16.3.2؟» وسيستلم كل جهازٍ على الشبكة هذا السؤال، لكن سيرد الجهاز صاحب عنوان IP الموافق فقط، ويعطي عنوان MAC الخاص به. وبالتالي سيحصل المُرسِل على معلومات عنوان MAC ويستطيع إنشاء الاتصال في الطبقة الثانية.

3-1.thumb.jpg.efc643b4582b8ec63d2a6629d0 

من المهم أن تُخزَّن (cached) معلومات ARP في كل جهاز على الشبكة، لأن الإذاعة «مكلفة» بتعابير الشبكة، ويجب أن تبقى تلك المعلومات لفترةٍ محددة، ﻷنها من غير المحتمل أن تتغير خلال الاتصال؛ ولهذا، سيحتوي جدول ARP على معلومات الربط (mapping information) وهو ديناميكي لتعلم ARP، وإبقاء جدول الربط لفترة، ومن ثم التخلص منه بعد انقضاء فترة صلاحيته للاستجابة إلى أيّة تغيرات قد حصلت في الربط؛ وتكون المهلة عادةً هي 300 ثانية، لكن هذا يعتمد أيضًا على نظام التشغيل؛ يمكن مثلًا الحصول على جدول ARP على نظام ويندوز باستخدام الأمر arp -a.

C:\Users\Administrator>arp -a
Interface: 192.168.0.7 --- 0xe
  Internet Address Physical Address Type
  192.168.0.1 a0-f3-c1-05-a4-96 dynamic
  192.168.0.6 e4-ce-8f-9c-19-b3 dynamic
  192.168.0.12 00-26-96-00-18-5e dynamic
  192.168.0.255 ff-ff-ff-ff-ff-ff static

أدوات المضيف

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

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

ترجمة -وبتصرّف- للمقال Exploring the Packet Delivery Process.





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


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



يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن