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

استكشاف عملية التوجيه (Routing Process) في الشبكات


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

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

 

عناوين الطبقة الثانية: عناوين MAC

عندما يكون لدينا موجِّه بين جهازين، فعلينا استعمال عناوين الطبقتين الثانية والثالثة؛ سنستعمل عناوين MAC المبيّنة في الشكل في أمثلتنا القادمة للموجِّه والمضيفين؛ تذكر أننا سنستبين عناوين MAC للموجِّه لإرسال الرزم من جهازٍ في القطعة الشبكيّة الأولى إلى جهازٍ آخر في قطعةٍ شبكية أخرى.

pdp1.thumb.jpg.7286079a1abddf5e30ed5593d

عناوين الطبقة الثالثة: عناوين IP

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

pdp2.thumb.jpg.25a7aea67890c82808ed2a804

عملية توصيل الرزم عبر توجيه IP

أول خطوة يجب على التطبيقات فعلها هي استبيان (resolve) أسماء DNS إن اُستخدِمَت، وتحويلها إلى عناوين IP واختيار بروتوكول النقل الذي سيُستعمَل؛ سنستخدم في هذا المثال بروتوكول UDP. يصبح السؤال هو التالي -بعد أن تصل المعلومات إلى طبقة الشبكة في نموذج OSI- أين تقع الوجهة، هل هي محليّة (local) أم بعيدة (remote)؟

pdp3.thumb.jpg.aeef1ea95502380c7e77be448

ستُضيف كل طبقة ما يخصها على شكل ترويسات حتى تصل إلى الطبقة 3، التي ستضع ترويسة IP ثم ستطلب من الطبقة الثانية أن تُرسِل الرزمة «فعليًا».

pdp4.thumb.jpg.4512a6c2abfc9e3eb381c97f4

ستجيب الطبقة الثانية قائلةً: «ليست عندي معلوماتٌ حول ذاك عنوان IP ذاك، فليس عندي عنوان MAC؛ لذا سأحاول أن أستبينه عبر طلبية ARP»، وستبقى الرزمة مخزنةً في الحافظة إلى أن تكتمل طلبية ARP.

pdp5.thumb.jpg.ecc9776d14791513159fd6d25

وفي هذه المرحلة -التي هي بين الطبقتين الثالثة والثانية- سيقول الجهاز: «حسنًا، اعتمادًا على عنوان IP والقناع، فإن الشبكة هي ‎/24، والوجهة موجودة في شبكةٍ مختلفة؛ فأنا على الشبكة 192.168.3 والوجهة على الشبكة 192.168.4».

pdp6.thumb.jpg.b4ceb1e87a73cfce291b67fb4

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

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

pdp7.thumb.jpg.72ed36e6f0096665e06aa5b6f

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

pdp8.thumb.jpg.55d405021914137e2499bbfe2

وفي أيّة حال، سيستلم الموجِّه الطلبية وسيبدأ عملية تمرير الرزم؛ لكنه سيحفظ عنوان MAC و IP للجهاز المُرسِل في جدول ARP الخاص به أولًا. فالموجِّه هو جهاز IP مثله كمثل أي جهاز آخر عليه أن يتبع قواعد بروتوكول IP.

pdp9.thumb.jpg.092ccfa588306cdd4fd8cabf8

وفي هذه المرحلة، سيُرسِل الموجِّه رد ARP قائلًا: «هذا أنا! وهذا عنوان MAC الخاص بي، ابدأ تمرير الرزم إليّ».

أصبح الجهاز المُرسِل يعرف ربط عنوان IP للبوابة الافتراضية إلى عنوان MAC الخاص بها في جدول ARP، وهو جاهز لإرسال الرزم إلى البوابة لكي تُمرَّر إلى وجهتها.

pdp10.thumb.jpg.19cec3b352ad40cfc327d84c

تذكر أن تلك المدخلات ستنتهي صلاحيتها، لذا قد يُعاد إجراء عملية ARP أثناء المحادثة اعتمادًا على أوقات الخمول أو الوقت المُطلَق (absolute).

pdp11.thumb.jpg.e24e5273accdf5d70c7f0bc4

الرزمة التي كانت «في الانتظار» قد أرسِلَت باستخدام عنوان IP الوجهة النهائية، وعنوان IP المصدر للمُرسِل، وعنوان MAC المصدر للمُرسِل، وعنوان MAC الوجهة للموجِّه.

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

pdp12.thumb.jpg.4bc556b619583f7f5b6303bd

عندما ينظر الموجِّه في جدول التوجيهات، فسيرى أنَّ عنوان IP الوجهة هو في مدخلاته؛ ويرى أنَّ 192.168.4.0 (بقناع الشبكة الصحيح) هي قطعة شبكية موصولة مباشرةً إليه عبر بطاقة Fast Ethernet 0/1؛ ثم سيقرر الإرسال إلى الطبقة الثانية ويجعلها تستبين عنوان MAC للوجهة. أما لو كانت القطعة الشبكية غير متصلة مباشرةً بالموجِّه، فستُشير المُدخلة في جدول التوجيهات إلى العقدة التالية على شكل عنوان IP لموجِّهٍ آخر في المسار الواصل إلى الوجهة. وفي هذه المرحلة، سيطلب الموجِّه تمرير الرزمة إلى ذاك الجهاز الوسيط، ثم سيُجرى استبيان ARP لمعرفة عنوان MAC لذاك الجهاز؛ لكن الحالة هنا مبسطة، والشبكتان متصلتان بالموجِّه مباشرةً.

pdp13.thumb.jpg.c373e5e0da6e16134f29c4f1

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

pdp14.thumb.jpg.5d70335ed43c19c2c39ae9a6

ستقول الطبقة الثانية: «هذا رائع، لكنني لا أملك عنوان MAC لجهاز الوجهة، لذلك سأحاول أن أستبين عنوان MAC اعتمادًا على عنوان IP في طبية ARP»؛ تذكر أن هذه الرسالة الإذاعية في الطبقة الثانية، لذا ستراها جميع الأجهزة في تلك القطعة الشبكية ثم ستعالجها، ثم ستحدِّد إن كانت سترد عليها أم لا.

pdp15.thumb.jpg.5818d9ca58661f9633e463d4

ثم سيستقبل الجهاز الوجهة طلبية ARP ويعالجها.

pdp16.thumb.jpg.d85ff8f9b376f0c925a33a8b

لاحظ أنَّ عنوان IP يُطابِق الوجهة، وستجيب الوجهة بعنوان MAC الخاص بها.

pdp17.thumb.jpg.addad9b74a42a041759bfbcd

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

pdp18.thumb.jpg.6bae6d90466586906971cf4b

سيرى الموجِّه رد ARP، وسيعلم عنوان MAC للجهاز الوجهة، وسيكون جاهزًا لتجميع كامل الرزمة بعنوان IP للوجهة الهدف والمصدر الأصلي، وعنوان MAC المصدر هو عنوان MAC للموجِّه، وعنوان MAC الوجهة هو عنوان MAC لذاك الجهاز.

pdp19.thumb.jpg.b90fd770721f8280dc21a008

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

إذا أردت أن تتحقق من جداول ARP في الموجِّهات، فيمكنك استعمال الأمر sh ip arp؛ هنا ستشاهد ربط عناوين IP إلى عناوين MAC، والبطاقات التي تتواجد عليها عناوين MAC تلك.

Router#sh ip arp
Protocol Address     Age (min) Hardware Addr  Type Interface
Internet 10.10.98.1  -         7081.0597.ca61 ARPA GigabitEthernet0/1.1098
Internet 10.10.98.2  18        649e.f32c.7571 ARPA GigabitEthernet0/1.1098
Internet 10.10.98.3  76        001d.709f.d1e0 ARPA GigabitEthernet0/1.1098
Internet 10.100.0.1  237       0000.0c07.ac82 ARPA GigabitEthernet0/2.2939
Internet 10.100.0.2  14        000d.6630.a01a ARPA GigabitEthernet0/2.2939
Internet 10.100.0.3  30        000d.6630.9c1a ARPA GigabitEthernet0/2.2939
Internet 10.100.0.4  -         7081.0597.ca62 ARPA GigabitEthernet0/2.2939
Internet 10.100.0.5  -         0000.0c07.ac64 ARPA GigabitEthernet0/2.2939
Internet 10.201.1.1  138       a0f3.e433.6485 ARPA GigabitEthernet0/2.3057
Internet 10.201.1.2  92        001c.5821.968d ARPA GigabitEthernet0/2.3057
Internet 10.201.1.3  243       001a.6dbe.406c ARPA GigabitEthernet0/2.3057
Internet 10.201.1.4  221       001c.f6d5.f64d ARPA GigabitEthernet0/2.3057
Internet 10.201.1.5  148       649e.f32c.7572 ARPA GigabitEthernet0/2.3057

قد تشاهد أنَّ بعض مدخلات الربط السابقة ليس لها وقت انتهاء صلاحية، أي أنَّ ربط عنوان IP إلى عنوان MAC ثابتٌ؛ وهذا مفيدٌ ببعض الحالات، وخطير بحالاتٍ أخرى.

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

أما وظيفة Trace فستعطيك تمثيلًا للموجهات الموجودة في المسار الواصل إلى الوجهة. حيث ستذكر كل تلك العقد الشبكية على الطريق مع عناوين IP أو أسماء DNS مع معلومات إضافية معيّنة مثل وقت الرحلة (round-trip time). يكون ناتج خرج trace عبارة عن سلسلة من الأسطر حيث يمثِّل كل سطر موجِّهًا عالج الرزمة الشبكية ومررها إلى الوجهة. يمكن استخدام trace بشكلٍ شبيهٍ بالأداة ping، كأداةٍ لاختبار إن كان يعمل المضيف الوجهة، ولكن يمكن أن تُستعمَل أيضًا لتحديد المشاكل في الأداء، والمشاكل في تحديد المسارات، وخطوط الاتصال المقطوعة أو العقد الشبكية المتوقفة، والتأخير في زمن الرحلة من المصدر إلى الوجهة. يمكن استعمال وظيفة trace في موجِّهات سيسكو بالأمر traceroute.

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


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

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

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



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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.


×
×
  • أضف...