تتبع المسار

برنامج يقوم بتعقب مسار رزم البيانات لمستخدم والوقت اللازم لانتقالها إلى وجهتها.
(بالتحويل من تريس راوت)

تتبع المسار[1] (بالإنجليزية: Traceroute «تريسروت»)‏ برنامج إنترنت يقوم بتسجيل ورسم خط بياني للطريق المستخدم وللوقت المطلوب لحزم البيانات للانتقال من حاسب المستخدم إلى مضيف بعيد.[2][3][4]

تتبع المسار.

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

بالنسبة بروتوكول الإنترنت (الإصدار السادس) (IPv6)، تحمل الأداة أحيانًا اسم تتبع المسار6 [5] وترسرت6 tracert6.[6]

تطبيقات عدل

يتوفر الأمر تتبع المسار في العديد من أنظمة التشغيل الحديثة. في الأنظمة المشابهة لـ يونكس مثل فري بي إس دي وماك آو إس ولينكس، يتوفر كأداة لسطر الأوامر. يمكن الوصول إلى تتبع المسار أيضًا بيانياً في نظام ماك آو إس ضمن مجموعة أدوات الشبكة.

يوفر مايكروسوفت ويندوز ورياكت أو إس ReactOS برنامجًا يسمى tracert ترسرت يؤدي نفس وظيفة تتبع المسار. توفر أنظمة التشغيل المستندة إلى ويندوز إن تي أيضًا باثبينج PathPing بوظائف مماثلة. تم تطوير نسخة رياكت أو إس بواسطة جد ميرفي وتم ترخيصها بموجب رخصة جنو العمومية GPL.[7]

في أنظمة التشغيل المشابهة لـ يونكس، يرسل تتبع المسار، افتراضيًا، سلسلة من بروتوكول حزم بيانات المستخدم (UDP)، بأرقام منافذ الوجهة تتراوح من 33434 إلى 33534؛ تتضمن تطبيقات تتبع المسار المشحونة مع لينكس، [8] فري بي إس دي، [9] نت بي إس دي،[10] أوبن بي إس دي،[11] دراغون فلأي بي إس دي [الإنجليزية]، [12] وماك آو إس خيارًا لاستخدام حزم ICMP Echo Request (-I)، أو أي بروتوكول عشوائي (-P) مثل UDP أو TCP باستخدام حزم بروتوكول التحكم بالنقل أو ICMP.[13]

في ويندوز، يرسل tracert حزم طلب ارتداد ICMP، بدلاً من إرسال تتبع حزم بروتوكول حزم بيانات المستخدم افتراضيًا.[14]

تُستخدم تي تي إل (TTL)، والمعروفة أيضًا باسم حد القفزة، في تحديد أجهزة التوجيه الوسيطة التي يتم اجتيازها باتجاه الوجهة. يرسل تتبع المسار حزمًا بقيم تي تي إل التي تزداد تدريجيًا من حزمة إلى أخرى، بدءًا من تي تي إل بقيمة واحدة. تقلل أجهزة التوجيه قيم تي تي إل للحزم بمقدار واحد عند التوجيه وتجاهل الحزم التي وصلت قيمة تي تي إل الخاصة بها إلى الصفر، مما يعيد رسالة خطأ ICMP تجاوز وقت ICMP. بالنسبة للمجموعة الأولى من الحزم، يتلقى الموجه الأول الحزمة، ويقلل من قيمة تي تي إل ويسقط الحزمة لأنها تحتوي على قيمة تي تي إل عندئذٍ صفر. يرسل جهاز التوجيه رسالة ICMP Time Exceeded إلى المصدر.[13] يتم إعطاء المجموعة التالية من الحزم قيمة تي تي إل من اثنين، لذلك يقوم الموجه الأول بإعادة توجيه الحزم، لكن الموجه الثاني يسقطها ويرد مع تجاوز وقت ICMP. بالمضي قدمًا بهذه الطريقة، يستخدم تتبع المسار رسائل تجاوز وقت ICMP التي تم إرجاعها لإنشاء قائمة بأجهزة التوجيه التي تعبر الحزم، حتى يتم الوصول إلى الوجهة وإرجاع رسالة ICMP Destination Unreachable إذا تم استخدام حزم بروتوكول حزم بيانات المستخدم أو رسالة ICMP Echo Reply إذا كان ICMP Echo الرسائل قيد الاستخدام.[13]

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

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

إذا كانت الشبكة تحتوي على جدار حماية وتعمل بنظام ويندوز وأنظمة شبيهة بنظام يونكس، فيجب تمكين أكثر من بروتوكول للداخل من خلال جدار الحماية حتى يعمل تتبع المسار ويتلقى الردود. تستخدم بعض تطبيقات تتبع المسار حزم TCP، مثل tcptraceroute والطبقة الرابعة تتبع المسار (lft). PathPing هي أداة مساعدة مقدمة مع ويندوز إن تي تجمع بين وظائف ping وتتبع المسار. MTR هو نسخة محسنة من ICMP traceroute متاحة للأنظمة المشابهة لـ يونكس وويندوز. تعتمد جميع عمليات التنفيذ المختلفة لـ تتبع المسار على حزم تجاوز وقت ICMP (النوع 11) التي يتم إرسالها إلى المصدر.

في لينكس، يعد tracepath أداة مساعدة مشابهة لـ تتبع المسار، مع الاختلاف الأساسي المتمثل في عدم طلب امتيازات المستخدم الخارق.[15]

يستخدم تنفيذ سيسكو لـ تتبع المسار أيضًا سلسلة من مخططات بيانات بروتوكول حزم بيانات المستخدم، لكل منها قيم تي تي إل المتزايدة، إلى رقم منفذ غير صالح في المضيف البعيد؛ بشكل افتراضي، يتم استخدام منفذ بروتوكول حزم بيانات المستخدم 33434. يمكن لنسخة موسعة من هذا الأمر (المعروفة باسم الأمر تتبع المسار الموسع) تغيير رقم منفذ الوجهة الذي تستخدمه رسائل اختبار بروتوكول حزم بيانات المستخدم.[16]

استعمال عدل

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

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

$ تتبع المسار -w 3 -q 1 -m 16 example.com

في المثال أعلاه، الخيارات المحددة هي الانتظار لمدة ثلاث ثوان (بدلاً من خمس)، وإرسال استعلام واحد فقط لكل قفزة (بدلاً من ثلاثة)، والحد الأقصى لعدد القفزات إلى 16 قبل الاستسلام (بدلاً من 30)، مع example.com باعتباره المضيف النهائي.

يمكن استخدام تتبع المسار للمساعدة في تحديد تعريفات جدول التوجيه غير الصحيحة أو جدران الحماية التي قد تمنع حركة مرور ICMP، أو بروتوكول حزم بيانات المستخدم عالي المنفذ في Unix ping، إلى موقع ما. استجابة مسار التتبع الصحيحة لا تضمن الاتصال بالتطبيقات كما قد يسمح جدار الحماية حزم ICMP ولكنها لا تسمح بحزم البروتوكولات الأخرى.

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

الأصول عدل

تنص صفحة دليل (يونكس) تتبع المسار على أن برنامج تتبع المسار الأصلي كتب بواسطة فان جاكوبسون في عام 1987 بناءً على اقتراح من ستيف ديرينغ، مع اقتراحات أو إصلاحات مقنعة بشكل خاص من سي فيليب وود وتيم سيفر وكين ادلمان. صرح مؤلف برنامج بينغ، مايك موس، على موقعه على الويب أن تتبع المسار تمت كتابته باستخدام دعم كيرنل ICMP الذي قام بترميزه مسبقًا لتمكين مآخذ ICMP الخام عندما كتب برنامج ping لأول مرة.[17]

محددات عدل

إن قيود مسار التتبع [18] معروفة جيدًا ويجب أخذها في الاعتبار عند استخدام الأداة. على سبيل المثال، لا يكتشف تتبع المسار المسارات على مستوى جهاز التوجيه، ولكن على مستوى الواجهة. يظهر قيد آخر عندما لا تستجيب أجهزة التوجيه للتحقيقات أو عندما يكون للموجهات حد لاستجابات ICMP.[19] في وجود موازنة تحميل حركة المرور ، قد يشير مسار التتبع إلى مسار غير موجود بالفعل؛ لتقليل هذه المشكلة، يوجد تعديل تتبع المسار يسمى Paris-تتبع المسار، [20] والذي يحافظ على معرّف تدفق المجسات لتجنب موازنة الحمل.

مراجع عدل

  1. ^ James F.؛ Ross، Keith W. (6 يوليو 2011). شبكات الحاسب والإنترنت: أسس ومبادئ الشبكات والإنترنت: Computer Networking: A Top-Down Approach (4th Edition). العبيكان للنشر. ISBN:9789960549392. مؤرشف من الأصل في 2019-12-15.
  2. ^ The Story of the PING Program نسخة محفوظة 23 فبراير 2018 على موقع واي باك مشين.
  3. ^ Comer, Douglas (2004). Computer Network and Internets with Internet Applications. Pearson Education, Inc. ص. 360–362. ISBN:0131433512.
  4. ^ "Paris Traceroute". paris-traceroute.net (بالإنجليزية البريطانية). Archived from the original on 2018-06-11. Retrieved 2017-06-10.
  5. ^ traceroute6(8) - Linux man page نسخة محفوظة 2016-08-26 على موقع واي باك مشين.
  6. ^ tracert6(8): IPv6 traceroute tool - Linux man page نسخة محفوظة 2016-08-27 على موقع واي باك مشين.
  7. ^ tracert.cpp على غيت هاب "نسخة مؤرشفة". مؤرشف من الأصل في 2021-02-08. اطلع عليه بتاريخ 2021-02-08.{{استشهاد ويب}}: صيانة الاستشهاد: BOT: original URL status unknown (link)
  8. ^ قالب:Man
  9. ^ قالب:Man
  10. ^ قالب:Man
  11. ^ قالب:Man
  12. ^ قالب:Man
  13. ^ أ ب ت Comer, Douglas (2004). Computer Network and Internets with Internet Applications. Pearson Education, Inc. ص. 360–362. ISBN:978-0131433519.
  14. ^ "Tracert". Microsoft Docs. مؤرشف من الأصل في 2021-01-11. اطلع عليه بتاريخ 2020-12-11.
  15. ^ "tracepath(8) – Linux man page". linux.die.net. مؤرشف من الأصل في 2020-11-12. اطلع عليه بتاريخ 2015-06-21.
  16. ^ "Understanding the Ping and Traceroute Commands". Cisco IOS Software Releases 12.1 Mainline. cisco.com. 29 نوفمبر 2006. مؤرشف من الأصل في 2014-02-07. اطلع عليه بتاريخ 2013-12-08.
  17. ^ The Story of the PING Program نسخة محفوظة 14 ديسمبر 2020 على موقع واي باك مشين.
  18. ^ Ray Belleville (3 مارس 2017). "Limitations of Traceroute Explained". مؤرشف من الأصل في 2021-02-08.
  19. ^ Marchetta، P.؛ Montieri، A.؛ Persico، V.؛ Pescapé، A.؛ Cunha، Í؛ Katz-Bassett، E. (يونيو 2016). "How and how much traceroute confuses our understanding of network paths". 2016 IEEE International Symposium on Local and Metropolitan Area Networks (LANMAN): 1–7. DOI:10.1109/lanman.2016.7548847. ISBN:978-1-4673-9882-4.
  20. ^ "Paris Traceroute". paris-traceroute.net (بالإنجليزية البريطانية). Archived from the original on 2020-12-01. Retrieved 2017-06-10.