المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

الاصطلاحات

عملية عامة

IOS و Linux من Cisco

مايكروسوفت ويندوز

تحديد معدل ICMP الذي يتعذر الوصول إليه

الأمثلة

cisco مسحاج تخديد مع cisco ios برمجية

PC مع نظام التشغيل Linux

كمبيوتر مزود ب MS Windows

ملاحظات إضافية

ملخص

معلومات ذات صلة

المقدمة

يتيح لك الأمر traceroute تحديد المسار الذي تسلكه حِزمة للوصول إلى الوجهة من مصدر معين من خلال إرجاع تسلسل الخطوات التي قد اجتازتها الحِزمة. تأتي هذه الأداة مع نظام التشغيل المضيف (على سبيل المثال، Linux أو Microsoft (MS) Windows)، بالإضافة إلى برنامج Cisco IOS®.

المتطلبات الأساسية

المتطلبات

يجب أن يكون لدى قراء هذا المستند معرفة أساسية بأحد أنظمة التشغيل التالية:

- برنامج IOS من Cisco

- لينكس

- مايكروسوفت ويندوز

المكونات المستخدمة

تنطبق المعلومات الواردة في هذا المستند على إصدارات البرامج والمكونات المادية التالية:

- الموجه الذي يشغل برنامج Cisco IOS، الإصدار 12.2(27)

- جهاز الكمبيوتر الذي يعمل بنظام التشغيل Red Hat Linux الإصدار 9

- جهاز كمبيوتر يعمل بنظام التشغيل MS Windows 2000

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

الاصطلاحات

للحصول على مزيد من المعلومات حول اصطلاحات المستندات، ارجع إلى اصطلاحات تلميحات Cisco التقنية.

عملية عامة

إذا قمت بتنفيذ الأمر traceroute ip-address على جهاز مصدر (مثل مضيف، أو موجه يعمل كمضيف)، فإنه يرسل حزم IP نحو الوجهة مع قيم مدة البقاء (TTL) التي تتزايد حتى الحد الأقصى لعدد الخطوات المحددة. هذا 30 افتراضيا. عادة، يقوم كل موجه في المسار نحو الوجهة بخفض حقل TTL بمقدار وحدة واحدة أثناء إعادة توجيه هذه الحزم. عندما يجد الموجه في منتصف المسار حزمة مع TTL = 1، فإنه يستجيب مع رسالة "تجاوز الوقت" لبروتوكول رسالة التحكم في الإنترنت (ICMP) إلى المصدر. تتيح هذه الرسالة للمصدر معرفة أن الحزمة تجتاز الموجه المعين كخطوة

هناك بعض الاختلافات مع الطريقة التي يتم من خلالها تنفيذ الأمر traceroute في أنظمة التشغيل المختلفة التي يتناقش فيها هذا المستند.

IOS و Linux من Cisco

يتم تعيين مدة البقاء (TTL) لمتحقق مخطط بيانات بروتوكول مخطط بيانات المستخدم (UDP) الأولي على 1 (أو الحد الأدنى ل TTL، كما هو محدد بواسطة المستخدم في الأمر traceroute الموسع. تم تعيين منفذ UDP للوجهة من مسبر مخطط البيانات الأولي على 33434 (أو كما هو محدد في إخراج الأمر traceroute الموسع). ال traceroute موسع أمر تنوع من عادي traceroute أمر أن يسمح القيمة التقصير من المعلم يستعمل ب traceroute عملية مثل TTL وغاية ميناء رقم أن يكون عدلت. أحلت ل كثير معلومة على كيف أن يستعمل الموسع traceroute أمر، يستعمل الموسع عملية أزيز وموسع traceroute أمر. يتم تقسيم منفذ UDP المصدر الخاص بمسبار مخطط البيانات الأولي بشكل عشوائي ويحتوي على المشغل المنطقي OR مع 0x8000 (يضمن منفذ مصدر أدنى وهو 0x8000). توضح هذه الخطوات ما يحدث عند تشغيل مخطط بيانات UDP:

ملاحظة: المعلمات قابلة للتكوين. يبدأ هذا المثال ب n = 1 وينتهي ب n = 3.

1. يتم إرسال مخطط بيانات UDP مع TTL = 1، والوجهة UDP port= 33434، ومنفذ المصدر عشوائيا.

2. تتم زيادة منفذ وجهة UDP، ويتم توزيع منفذ UDP المصدر عشوائيا، ويتم إرسال مخطط البيانات الثاني.

3. يتم تكرار الخطوة 2 لما يصل إلى ثلاثة مستكشفات (أو أكثر من المرات المطلوبة في إخراج أمر traceroute موسع). لكل إختبار من الاختبارات التي تم إرسالها، تتلقى رسالة "TTL Exceeded"، والتي يتم إستخدامها لبناء مسار خطوة بخطوة إلى مضيف الوجهة.

4. ويتم زيادة مدة البقاء (TTL)، وتكرر هذه الدورة باستخدام أرقام منافذ الوجهة التزايدية، إذا تم تلقي رسالة "تجاوز وقت" بروتوكول ICMP. يمكنك أيضا الحصول على واحدة من هذه الرسائل:

- رسالة من النوع ICMP 3، الرمز 3 ("destination unreachable"، "port unreachable")، والتي تشير إلى أنه تم الوصول إلى مضيف.

- نوع رسالة "مضيف يتعذر الوصول إليه" أو "net unreachable" أو "maximum TTL Exceeded" أو "timeout"، مما يعني أن التحقيق مستاء.

ترسل موجهات Cisco حزم تحقيق UDP باستخدام منفذ مصدر عشوائي ومنفذ وجهة تزايدي (لتمييز المستكشفات المختلفة). تقوم موجهات Cisco بإرسال رسالة ICMP "التي تم تجاوز الوقت فيها" مرة أخرى إلى المصدر الذي تم إستلام حزمة UDP/ICMP منه.

يكون أمر Linux traceroute مماثل إلى تنفيذ Cisco مسحاج تخديد. مهما، يستعمل هو ثابت مصدر ميناء. يتم إستخدام الخيار -N في الأمر traceroute لتجنب طلب خادم اسم.

مايكروسوفت ويندوز

يستخدم الأمر MS Windows tracert مخططات بيانات طلبات ICMP Echo بدلا من مخططات بيانات UDP كأدوات تحكم. يتم تشغيل طلبات صدى ICMP مع زيادة مدة البقاء (TTL)، وتظهر نفس العملية كما هو موضح في Cisco IOS و Linux. تتمثل أهمية إستخدام مخططات بيانات طلب صدى ICMP في أن الخطوة النهائية لا تعتمد على إستجابة رسالة ICMP "الذي يتعذر الوصول إليه" من مضيف الوجهة. ويعتمد بدلا من ذلك على رسالة رد ICMP Echo.

صياغة الأمر هي:

tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name

يشرح هذا الجدول معلمات الأوامر:

بارامتر

الوصف

-د

يحدد عدم تحليل العناوين إلى أسماء الكمبيوتر.

-h maximum_hops

يحدد الحد الأقصى لعدد الخطوات التي سيتم البحث فيها عن هدف.

-j قائمة حاسوب

تحديد مسار مصدر غير محكم على طول قائمة الكمبيوتر.

مهلة -w

ينتظر عدد المللي ثانية المحددة بواسطة المهلة لكل رد.

target_name

اسم الكمبيوتر الهدف.

تحديد معدل ICMP الذي يتعذر الوصول إليه

يتم تحديد بروتوكولات ICMP التي يتعذر الوصول إليها على حزمة واحدة لكل 500 مللي ثانية (كحماية لهجمات رفض الخدمة (DoS)) في موجه Cisco. من برنامج Cisco IOS الإصدار 12.1 والإصدارات الأحدث، تكون قيمة المعدل هذه قابلة للتكوين. الأمر الذي تم تقديمه هو:

ip icmp rate-limit unreachable

[DF] <1-4294967295 millisecond>

no ip icmp rate-limit unreachable [DF] (DF limits rate for code=4)

راجع معرف تصحيح الأخطاء من Cisco CSCdp28161 (العملاء المسجلون فقط) للحصول على مزيد من التفاصيل.

ويكون هذا القيد خاصا بالمعدل الإجمالي لجميع بروتوكولات ICMP التي يتعذر الوصول إليها، كما يظهر هذا الإخراج. راجع RFC 792 للحصول على مزيد من المعلومات.

type = 3, code

0 = net unreachable;

1 = host unreachable;

2 = protocol unreachable;

3 = port unreachable;

4 = fragmentation needed and DF set;

5 = source route failed.

لا يؤثر هذا التحديد على الحزم الأخرى مثل طلبات صدى ICMP أو رسائل "تجاوز الوقت" ل ICMP.

الأمثلة

يتم إستخدام مخطط الشبكة هذا للأمثلة:

في كل من الأمثلة الثلاثة، يتم إستخدام جهاز مختلف A. من الجهاز A، يتم تنفيذ الأمر traceroute 150.1.4.2 إلى الجهاز 7c.

في كل مثال، يتم تشغيل الأمر debug ip packet detail على الجهاز 11a.

cisco مسحاج تخديد مع cisco ios برمجية

يبدي هذا موسع traceroute أمر الخيار أنت يستطيع غيرت عندما أنت تنفذ traceroute أمر من cisco مسحاج تخديد. في هذا المثال، كل شيء يترك بشكل افتراضي:

rp-10c-2611#traceroute

Protocol [ip]:

Target IP address: 150.1.4.2

Source address: 150.1.1.1

Numeric display [n]:

Timeout in seconds [3]:

Probe count [3]:

Minimum Time to Live [1]:

Maximum Time to Live [30]:

Port Number [33434]:

Loose, Strict, Record, Timestamp, Verbose[none]:

Type escape sequence to abort.

Tracing the route to 150.1.4.2

1 150.1.1.2 4 msec 0 msec 4 msec

2 150.1.2.2 4 msec 4 msec 0 msec

3 150.1.3.2 0 msec 0 msec 4 msec

4 150.1.4.2 4 msec * 0 msec

rp-11a-7204#

*Dec 29 13:13:57.060: IP: s=150.1.1.2 (local), d=150.1.1.1 (Ethernet4/0),

len 56, sending

*Dec 29 13:13:57.060: ICMP type=11, code=0

*Dec 29 13:13:57.064: IP: s=150.1.1.2 (local), d=150.1.1.1 (Ethernet4/0),

len 56, sending

*Dec 29 13:13:57.064: ICMP type=11, code=0

*Dec 29 13:13:57.064: IP: s=150.1.1.2 (local), d=150.1.1.1 (Ethernet4/0),

len 56, sending

*Dec 29 13:13:57.068: ICMP type=11, code=0

في إخراج تصحيح الأخطاء هذا، يرسل الجهاز 11A رسائل "تجاوز الوقت" ل ICMP إلى مصدر الاختبارات (150.1.1.1). وتكون رسائل ICMP هذه إستجابة للاستفسارات الأولية التي كانت تحتوي على TTL=1. يقسم الجهاز 11A مدة البقاء (TTL) إلى صفر، ويستجيب مع الرسائل "تجاوز الوقت".

ملاحظة: لا ترى استكشافات UDP في إخراج تصحيح الأخطاء هذا لسببين:

- ليس الجهاز 11A هو الوجهة من مستكشفات UDP.

- يتم تقليل مدة البقاء (TTL) إلى صفر، ولا يتم توجيه الحزمة أبدا. لذلك، لا يتعرف تصحيح الأخطاء أبدا على الحزمة.

*Dec 29 13:13:57.068: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 28, forward

*Dec 29 13:13:57.068: UDP src=40309, dst=33437

*Dec 29 13:13:57.068: IP: s=150.1.2.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 56, forward

*Dec 29 13:13:57.068: ICMP type=11, code=0

*Dec 29 13:13:57.072: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 28, forward

*Dec 29 13:13:57.072: UDP src=37277, dst=33438

*Dec 29 13:13:57.072: IP: s=150.1.2.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 56, forward

*Dec 29 13:13:57.072: ICMP type=11, code=0

*Dec 29 13:13:57.076: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 28, forward

*Dec 29 13:13:57.076: UDP src=36884, dst=33439

*Dec 29 13:13:57.076: IP: s=150.1.2.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 56, forward

*Dec 29 13:13:57.076: ICMP type=11, code=0

يعرض إخراج تصحيح الأخطاء هذا تحقيق UDP من المصدر 150.1.1.1 الموجه إلى 150.1.4.2.

ملاحظة: في هذه الاختبارات، TTL=2 (لا يمكن رؤية ذلك مع تصحيح الأخطاء). يقوم الجهاز 11A بخفض مدة البقاء (TTL) إلى 1 وإعادة توجيه حزم UDP على الجهاز 7A. يقوم الجهاز 7A بخفض مدة البقاء (TTL) إلى صفر، ويجيب مع رسائل "تجاوز الوقت" ل ICMP.

*Dec 29 13:13:57.080: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 28, forward

*Dec 29 13:13:57.080: UDP src=37479, dst=33440

*Dec 29 13:13:57.080: IP: s=150.1.3.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 56, forward

*Dec 29 13:13:57.080: ICMP type=11, code=0

*Dec 29 13:13:57.084: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 28, forward

*Dec 29 13:13:57.084: UDP src=40631, dst=33441

*Dec 29 13:13:57.084: IP: s=150.1.3.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 56, forward

*Dec 29 13:13:57.084: ICMP type=11, code=0

*Dec 29 13:13:57.084: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 28, forward

*Dec 29 13:13:57.088: UDP src=39881, dst=33442

*Dec 29 13:13:57.088: IP: s=150.1.3.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 56, forward

*Dec 29 13:13:57.088: ICMP type=11, code=0

يمكنك مشاهدة مستكشفات UDP الثلاثة التالية في إخراج تصحيح الأخطاء هذا. مدة البقاء (TTL) لهذه المسابير هي 3. يقوم الجهاز 11A بخفض مدة البقاء (TTL) إلى 2 وإعادة توجيهها إلى الجهاز 7A. يقوم الجهاز 7A بخفض مدة البقاء (TTL) إلى 1 وإعادة توجيه الحزم على الجهاز 7B، والذي يقلل تدريجيا من مدة البقاء (TTL) إلى الصفر والاستجابة باستخدام رسائل "تجاوز الوقت" لبروتوكول ICMP.

*Dec 29 13:13:57.088: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 28, forward

*Dec 29 13:13:57.088: UDP src=39217, dst=33443

*Dec 29 13:13:57.092: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 56, forward

*Dec 29 13:13:57.092: ICMP type=3, code=3

*Dec 29 13:13:57.092: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 28, forward

*Dec 29 13:13:57.096: UDP src=34357, dst=33444

*Dec 29 13:14:00.092: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 28, forward

*Dec 29 13:14:00.092: UDP src=39587, dst=33445

*Dec 29 13:14:00.092: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 56, forward

*Dec 29 13:14:00.092: ICMP type=3, code=3

يمكنك رؤية مستكشفات UDP الثلاثة الأخيرة في إخراج تصحيح الأخطاء هذا. وكانت مدة البقاء (TTL) الأصلية لهذه المسابير 4. تم تقليل مدة البقاء (TTL) إلى 3 حسب الجهاز 11A، ثم تم تقليصها إلى 2 حسب الجهاز 7 A، ثم تم تقليصها إلى 1 حسب الجهاز 7 B. يستجيب الجهاز 7C باستخدام رسائل ICMP "المنفذ الذي يتعذر الوصول إليه"، نظرا لأنه كان وجهة المستكشفات.

ملاحظة: يرسل الجهاز 7C رسالتين من ICMP "المنفذ الذي يتعذر الوصول إليه" فقط بسبب تحديد المعدل.

PC مع نظام التشغيل Linux

[root#linux-pc]#traceroute -n 150.1.4.2

traceroute to 150.1.4.2 (150.1.4.2), 30 hops max, 40 byte packets

1. 150.1.1.2 1.140 ms 0.793 ms 0.778 ms

2. 150.1.2.2 2.213 ms 2.105 ms 3.491 ms

1. 150.1.3.2 3.146 ms 2.314 ms 2.347 ms

1. 150.1.4.2 3.579 ms * 2.954 ms

rp-11a-7204#

*Jan 2 07:17:27.894: IP: s=150.1.1.2 (local), d=150.1.1.1 (Ethernet4/0),

len 56, sending

*Jan 2 07:17:27.894: ICMP type=11, code=0

*Jan 2 07:17:27.894: IP: s=150.1.1.2 (local), d=150.1.1.1 (Ethernet4/0),

len 56, sending

*Jan 2 07:17:27.894: ICMP type=11, code=0

*Jan 2 07:17:27.894: IP: s=150.1.1.2 (local), d=150.1.1.1 (Ethernet4/0),

len 56, sending

*Jan 2 07:17:27.894: ICMP type=11, code=0

في إخراج تصحيح الأخطاء هذا، يرسل الجهاز 11A رسائل "تجاوز الوقت" ل ICMP إلى مصدر الاختبارات (150.1.1.1). وتكون رسائل ICMP هذه إستجابة للاستفسارات الأولية التي كانت تحتوي على TTL=1. يقسم الجهاز 11A مدة البقاء (TTL) إلى صفر، ويستجيب مع الرسائل "تجاوز الوقت".

ملاحظة: لا ترى استكشافات UDP في إخراج تصحيح الأخطاء هذا لسببين:

- ليس الجهاز 11A هو الوجهة من مستكشفات UDP.

- يتم تقليل مدة البقاء (TTL) إلى صفر، ولا يتم توجيه الحزمة أبدا. لذلك، لا يتعرف تصحيح الأخطاء أبدا على الحزمة.

*Jan 2 07:17:27.894: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2(FastEthernet0/0),

g=150.1.2.2, len 40, forward

*Jan 2 07:17:27.894: UDP src=33302, dst=33438

*Jan 2 07:17:27.898: IP: s=150.1.2.2 (FastEthernet0/0), d=150.1.1.1(Ethernet4/0),

g=150.1.1.1, len 56, forward

*Jan 2 07:17:27.898: ICMP type=11, code=0

*Jan 2 07:17:27.898: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2(FastEthernet0/0),

g=150.1.2.2, len 40, forward

*Jan 2 07:17:27.898: UDP src=33302, dst=33439

*Jan 2 07:17:27.898: IP: s=150.1.2.2 (FastEthernet0/0), d=150.1.1.1(Ethernet4/0),

g=150.1.1.1, len 56, forward

*Jan 2 07:17:27.898: ICMP type=11, code=0

*Jan 2 07:17:27.898: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2(FastEthernet0/0),

g=150.1.2.2, len 40, forward

*Jan 2 07:17:27.898: UDP src=33302, dst=33440

*Jan 2 07:17:27.902: IP: s=150.1.2.2 (FastEthernet0/0), d=150.1.1.1(Ethernet4/0),

g=150.1.1.1, len 56, forward

*Jan 2 07:17:27.902: ICMP type=11, code=0

ملاحظة: في إخراج تصحيح الأخطاء هذا، يمكنك الآن رؤية تحقيق UDP من المصدر 150.1.1.1 الموجه إلى 150.1.4.2.

ملاحظة: في هذه الاختبارات، TTL=2 (لا يمكن رؤية ذلك مع تصحيح الأخطاء). يقوم الجهاز 11A بخفض مدة البقاء (TTL) إلى 1 وإعادة توجيه حزم UDP على الجهاز 7A. يقوم الجهاز 7A بخفض مدة البقاء (TTL) إلى صفر، ويجيب مع رسائل "تجاوز الوقت" ل ICMP.

*Jan 2 07:17:27.902: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2(FastEthernet0/0),

g=150.1.2.2, len 40, forward

*Jan 2 07:17:27.902: UDP src=33302, dst=33441

*Jan 2 07:17:27.906: IP: s=150.1.3.2 (FastEthernet0/0), d=150.1.1.1(Ethernet4/0),

g=150.1.1.1, len 56, forward

*Jan 2 07:17:27.906: ICMP type=11, code=0

*Jan 2 07:17:27.906: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2(FastEthernet0/0),

g=150.1.2.2, len 40, forward

*Jan 2 07:17:27.906: UDP src=33302, dst=33442

*Jan 2 07:17:27.910: IP: s=150.1.3.2 (FastEthernet0/0), d=150.1.1.1(Ethernet4/0),

g=150.1.1.1, len 56, forward

*Jan 2 07:17:27.910: ICMP type=11, code=0

*Jan 2 07:17:27.910: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2(FastEthernet0/0),

g=150.1.2.2, len 40, forward

*Jan 2 07:17:27.910: UDP src=33302, dst=33443

*Jan 2 07:17:27.910: IP: s=150.1.3.2 (FastEthernet0/0), d=150.1.1.1(Ethernet4/0),

g=150.1.1.1, len 56, forward

*Jan 2 07:17:27.910: ICMP type=11, code=0

تظهر مستكشفات UDP الثلاثة التالية الآن في إخراج تصحيح الأخطاء هذا. مدة البقاء (TTL) لهذه المسابير هي 3. يقوم الجهاز 11A بخفض مدة البقاء (TTL) إلى 2 وإعادة توجيهها إلى الجهاز 7A. يقوم الجهاز 7A بخفض مدة البقاء (TTL) إلى 1 وإعادة توجيه الحزم على الجهاز 7B، والذي يقلل تدريجيا من مدة البقاء (TTL) إلى الصفر والاستجابة باستخدام رسائل "تجاوز الوقت" لبروتوكول ICMP.

*Jan 2 07:17:27.910: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2(FastEthernet0/0),

g=150.1.2.2, len 40, forward

*Jan 2 07:17:27.910: UDP src=33302, dst=33444

*Jan 2 07:17:27.914: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1(Ethernet4/0),

g=150.1.1.1, len 56, forward

*Jan 2 07:17:27.914: ICMP type=3, code=3

*Jan 2 07:17:27.914: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2(FastEthernet0/0),

g=150.1.2.2, len 40, forward

*Jan 2 07:17:27.914: UDP src=33302, dst=33445

*Jan 2 07:17:32.910: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2(FastEthernet0/0),

g=150.1.2.2, len 40, forward

*Jan 2 07:17:32.910: UDP src=33302, dst=33446

*Jan 2 07:17:32.914: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1(Ethernet4/0),

g=150.1.1.1, len 56, forward

*Jan 2 07:17:32.914: ICMP type=3, code=3

يعرض إخراج تصحيح الأخطاء هذا مستكشفات UDP الثلاثة الأخيرة. وكانت مدة البقاء (TTL) الأصلية لهذه المسابير 4. تم تقليل مدة البقاء (TTL) إلى 3 حسب الجهاز 11A، ثم تم تقليصها إلى 2 حسب الجهاز 7 A، ثم تم تقليصها إلى 1 حسب الجهاز 7 B. ثم يستجيب الجهاز 7C باستخدام رسائل ICMP "المنفذ الذي يتعذر الوصول إليه"، نظرا لأنه كان وجهة المستكشفات.

ملاحظة: يرسل الجهاز 7C رسالتين من ICMP "المنفذ الذي يتعذر الوصول إليه" فقط بسبب تحديد المعدل.

كمبيوتر مزود ب MS Windows

C:\>tracert 150.1.4.2

1 <10 ms <10 ms <10 ms 10.1.1.2

1 <10 ms <10 ms <10 ms 10.1.2.2

1 <10 ms <10 ms <10 ms 10.1.3.2

1 <10 ms 10 ms 10 ms 10.1.4.2

Trace complete

rp-11a-7204#

*Dec 29 14:02:22.236: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 78, forward

*Dec 29 14:02:22.236: UDP src=137, dst=137

*Dec 29 14:02:22.240: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 56, forward

*Dec 29 14:02:22.240: ICMP type=3, code=3

*Dec 29 14:02:23.732: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 78, forward

*Dec 29 14:02:23.732: UDP src=137, dst=137

*Dec 29 14:02:23.736: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 56, forward

*Dec 29 14:02:23.736: ICMP type=3, code=3

*Dec 29 14:02:25.236: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 78, forward

*Dec 29 14:02:25.236: UDP src=137, dst=137

*Dec 29 14:02:25.236: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 56, forward

*Dec 29 14:02:25.240: ICMP type=3, code=3

*Dec 29 14:02:26.748: IP: s=150.1.1.2 (local), d=150.1.1.1 (Ethernet4/0),

len 56, sending

*Dec 29 14:02:26.748: ICMP type=11, code=0

*Dec 29 14:02:26.752: IP: s=150.1.1.2 (local), d=150.1.1.1 (Ethernet4/0),

len 56, sending

*Dec 29 14:02:26.752: ICMP type=11, code=0

*Dec 29 14:02:26.752: IP: s=150.1.1.2 (local), d=150.1.1.1 (Ethernet4/0),

len 56, sending

*Dec 29 14:02:26.752: ICMP type=11, code=0

في إخراج تصحيح الأخطاء هذا، يرسل الجهاز 11A رسائل "تجاوز الوقت" ل ICMP إلى مصدر الاختبارات (150.1.1.1). وتكون رسائل ICMP هذه في إستجابة للمستكشفات الأولية، وهي حزم طلب صدى ICMP باستخدام TTL=1. يقوم الجهاز 11A بتقليل مدة البقاء (TTL) إلى الصفر والاستجابة باستخدام رسائل بروتوكول ICMP.

ملاحظة في الأعلى ترى طلبات اسم NetBIOS. رأيت هذا طلب بما أن UDP ربط مع مصدر وغاية ميناء من 137. لأسباب تتعلق بالوضوح، يتم إزالة حزم NetBIOS من باقي إخراج تصحيح الأخطاء. يمكنك إستخدام الخيار -d في الأمر tracert لتعطيل سلوك NetBIOS.

ملاحظة: لا ترى مستكشفات ICMP في إخراج تصحيح الأخطاء هذا لسببين:

- ليس الجهاز 11A هو وجهة مستكشفات ICMP.

- يتم تقليل مدة البقاء (TTL) إلى صفر، ولا يتم توجيه الحزمة أبدا. لذلك، لا يتعرف تصحيح الأخطاء أبدا على الحزمة.

*Dec 29 14:02:32.256: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 92, forward

*Dec 29 14:02:32.256: ICMP type=8, code=0

*Dec 29 14:02:32.260: IP: s=150.1.2.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 56, forward

*Dec 29 14:02:32.260: ICMP type=11, code=0

*Dec 29 14:02:32.260: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 92, forward

*Dec 29 14:02:32.260: ICMP type=8, code=0

*Dec 29 14:02:32.260: IP: s=150.1.2.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 56, forward

*Dec 29 14:02:32.260: ICMP type=11, code=0

*Dec 29 14:02:32.264: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 92, forward

*Dec 29 14:02:32.264: ICMP type=8, code=0

*Dec 29 14:02:32.264: IP: s=150.1.2.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 56, forward

*Dec 29 14:02:32.264: ICMP type=11, code=0

في إخراج تصحيح الأخطاء هذا، ترى الآن تحقيق ICMP من المصدر 150.1.1.1 الموجه إلى 150.1.4.2.

ملاحظة: في هذه المسابير، TTL=2 (لا يمكن رؤية ذلك مع تصحيح الأخطاء). يقوم الجهاز 11A بخفض مدة البقاء (TTL) إلى 1 وإعادة توجيه حزم UDP إلى الجهاز 7A. يقوم الجهاز 7A بخفض مدة البقاء (TTL) إلى صفر، ويجيب مع رسائل "تجاوز الوقت" ل ICMP.

*Dec 29 14:02:37.776: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 92, forward

*Dec 29 14:02:37.776: ICMP type=8, code=0

*Dec 29 14:02:37.776: IP: s=150.1.3.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 56, forward

*Dec 29 14:02:37.776: ICMP type=11, code=0

*Dec 29 14:02:37.780: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 92, forward

*Dec 29 14:02:37.780: ICMP type=8, code=0

*Dec 29 14:02:37.780: IP: s=150.1.3.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 56, forward

*Dec 29 14:02:37.780: ICMP type=11, code=0

*Dec 29 14:02:37.780: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 92, forward

*Dec 29 14:02:37.780: ICMP type=8, code=0

*Dec 29 14:02:37.784: IP: s=150.1.3.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 56, forward

*Dec 29 14:02:37.784: ICMP type=11, code=0

يمكنك مشاهدة مستكشفات ICMP الثلاثة التالية في إخراج تصحيح الأخطاء هذا. مدة البقاء (TTL) لهذه المسابير هي 3. يقوم الجهاز 11A بخفض مدة البقاء (TTL) إلى 2 وإعادة توجيهها إلى الجهاز 7A. يقوم الجهاز 7A بخفض مدة البقاء (TTL) إلى 1 وإعادة توجيه الحزم على الجهاز 7B، والذي يقلل تدريجيا من مدة البقاء (TTL) إلى الصفر والاستجابة باستخدام رسائل "تجاوز الوقت" لبروتوكول ICMP.

*Dec 29 14:02:43.292: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 92, forward

*Dec 29 14:02:43.292: ICMP type=8, code=0

*Dec 29 14:02:43.296: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 92, forward

*Dec 29 14:02:43.296: ICMP type=0, code=0

*Dec 29 14:02:43.296: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 92, forward

*Dec 29 14:02:43.296: ICMP type=8, code=0

*Dec 29 14:02:43.300: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 92, forward

*Dec 29 14:02:43.300: ICMP type=0, code=0

*Dec 29 14:02:43.300: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),

g=150.1.2.2, len 92, forward

*Dec 29 14:02:43.300: ICMP type=8, code=0

*Dec 29 14:02:43.304: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),

g=150.1.1.1, len 92, forward

*Dec 29 14:02:43.304: ICMP type=0, code=0

يعرض إخراج تصحيح الأخطاء هذا مستكشفات ICMP الثلاثة الأخيرة. وكانت مدة البقاء (TTL) الأصلية لهذه المسابير 4. تم تقليل مدة البقاء (TTL) إلى 3 حسب الجهاز 11A، ثم تم تقليصها إلى 2 حسب الجهاز 7 A، ثم تم تقليصها إلى 1 حسب الجهاز 7 B. ويقوم الجهاز 7C بعد ذلك بالإجابة باستخدام رسائل الرد على صدى ICMP (type=0، code=0)، نظرا لأنه كان وجهة المسابير.

ملاحظة: رسائل الرد على ICMP ECHO ليست محدودة وفقا لمعدل رسائل ICMP "port unreachable". في هذه الحالة، ترى رسائل الرد الثلاث على ICMP Echo المرسلة.

ملاحظات إضافية

في موجهات Cisco، تكون رموز رد الأمر traceroute:

! -- success

* -- time out

N -- network unreachable

H -- host unreachable

P -- protocol unreachable

A -- admin denied

Q -- source quench received (congestion)

? -- unknown (any other ICMP message)

إذا قمت بتشغيل الأمر traceroute من UNIX، لاحظ العناصر التالية:

- يمكنك تلقي رسائل "traceroute: مأخذ ICMP: تم رفض الإذن".

- يعتمد برنامج traceroute على NIT الخاص بضغطة واجهة الشبكة (NIT) للتطفل في الشبكة. لا يمكن الوصول إلى هذا الجهاز إلا من خلال الجذر. يجب إما تشغيل البرنامج كجذر أو تعيين معرف المستخدم كجذر.

ملخص

شرح هذا المستند كيفية تحديد الأمر traceroute للمسار الذي تسلكه الحزمة من مصدر محدد إلى وجهة محددة باستخدام حزم UDP و ICMP. الأنواع المحتملة من رسائل ICMP في المخرجات هي:

- إذا تم تجاوز مدة البقاء (TTL) في النقل، النوع=11، الرمز=0، فسيتم إعادة الحزمة بواسطة موجه النقل في جميع الحالات التي تنتهي فيها مدة البقاء (TTL) لحزم التحقيق قبل أن تصل الحزم إلى الوجهة.

- إذا كان المنفذ غير قابل للوصول، type=3، code=3، حينئذ يتم إرسال الحزمة مرة أخرى كاستجابة لحزم تحقيق UDP عندما تصل إلى الوجهة (تطبيق UDP غير معرف). تقتصر هذه الحزم على حزمة واحدة لكل 500 مللي ثانية. وهذا يفسر سبب فشل الاستجابة من الوجهة (راجع مخرجات موجه Cisco وLinux) في الاستجابات الزوجية. لا يقوم الجهاز 7C بإنشاء رسالة ICMP، ولا ينتظر إخراج الأمر traceroute في كل جهاز لأكثر من ثانية واحدة. في حالة إخراج الأمر MS Windows tracert، يتم إنشاء رسالة ICMP لأن منفذ UDP 137 غير موجود في موجه Cisco.

- إذا كان هناك صدى، نوع=8، رمز=0، ثم يتم إرسال حزمة مسبار الارتداد بواسطة MS Windows pc.

- إذا كان هناك رد صدى، اكتب=0، code=0، ثم يتم إرسال رد على الحزمة السابقة عندما يتم الوصول إلى الوجهة. لا ينطبق هذا إلا على الأمر MS Windows tracert.

معلومات ذات صلة

- الدعم التقني والمستندات - Cisco Systems