شرح صفوف ومحتوى الفقرة
بينما يخبرك أمر ping بنجاح أو فشل الوصول إلى الوجهة النهائية، فإنه لا يكشف لك قائمة الموجهات الوسيطة — أي القفزات الشبكية (Network Hops) — التي تعبرها الحزمة، ولا يحدد لك أي راوتر في الطريق هو المتسبب في البطء أو القطع. وهنا يأتي دور أمر tracert في نظام ويندوز (وأمر traceroute في نظامَي لينكس وماك).
كيف يجبر أمر التتبع كل راوتر في الطريق على الإفصاح عن عنوان IP الخاص به؟ يعتمد على حيلة هندسية ذكية توظف عداد العمر TTL في رأس حزمة IP كما يوضح المخطط والمثال الآتيان:
- الدفعة الأولى (
TTL = 1): يرسل جهازك ثلاث حزم نحو الخادم الهدف بعداد عمر يساوي1؛ وبمجرد وصولها إلى أول راوتر (البوابة المحلية — القفزة 1)، ينقص العداد إلى0فيسقط الحزمة ويعيد لجهازك رسالةICMP Time Exceeded(Type 11, Code 0) تحمل عنوانIPالخاص بالراوتر الأول! - الدفعة الثانية (
TTL = 2): يرسل جهازك ثلاث حزم جديدة بقيمةTTL=2؛ فتعبر الراوتر الأول وتنفد عند الراوتر الثاني (مقسم مزود الخدمةISP)، فيرد بدوره كاشفاً عنوانه وزمن استجابته. - الزيادة المتدرجة حتى بلوغ الهدف: يستمر البرنامج في زيادة
TTLبواحد في كل خطوة حتى تصل الحزمة إلى الخادم النهائي نفسه فيرد بنجاح ويكتمل رسم خريطة المسار.
نص
# Windows: tracert (-d skips slow reverse-DNS lookup per hop)
C:\> tracert -d 93.184.216.34
1 1 ms 1 ms 1 ms 192.168.1.1
2 9 ms 8 ms 9 ms 10.20.0.1
3 * * * Request timed out.
4 18 ms 17 ms 18 ms 93.184.216.34
Trace complete.