
وصلني منذ فترة سؤال على تويتر حول كيفية تحليل وفهم الرسائل الخاصة بأداة الـ PING وقد جاوبت حينها على السؤال بشكل سريع وأعود اليوم لأفصل فيه قليلا , ومهما تحدثنا في أمر الـ PING فهو شيئ جيد وهام كون تشخيص أغلب المشاكل يبدأ من هنا .
ماذا أعني برسائل الـ Ping ؟
عندما تقوم بعمل ping على أحد الايبيات تتولد ردة فعل على هذا الطلب وهي تخبرك بالنتيجة وهي أما تكون صحيحة Success أو غير صحيحة Failure الأجابة الصحيحة لطلب الـ Ping نعبر عنه تقنيا بي Reply

وهي تعني أن الطلب الموجه من خلالك إلى الهدف قد تم الرد عليه وفكرة وجود رد طبعا تشير إلى أن الأتصال بينكم فعال وسليم وكل شيئ تمام , أما فهم معاني المعطيات والأرقام التى داخل الرد فلقد شرحتها في تدوينة سابقة لي في كيفية عمل الـ Ping النوع الثاني من الردود وهو الرد السلبي فله عدة أنواع ومن أهمها
TTL Expired in Transit
الـ TTL التى نتحدث عنها هنا غير التى نجدها في الـ Reply وهي تشير إلى Time to live وهي في بروتوكول الـ ICMP تساوي 32 في حالتها الطبيعية , وهي تشير إلى عدد الـ Hop (الهوب هو الروتر عادة) التى سوف تمر من خلاله الباكيت إلى أن تصل إلى الهدف المنشود فلو زاد العدد عن 32 عندها سوف نحصل على هذا الرد. لكن ماهو السبب ؟
أحيانا قد يكون هناك بالفعل أكثر من 32 هوب للوصول إلى الهدف لكن هذا أكيد يشير إلى مشكلة في تصميم الشبكة لأن من غير المعقول أن يكون هناك شبكة يحتاج فيها أحد الأشخاص الوصول إلى الهدف أن يعبر من خلال 32 روتر لذلك نحن لانعتبر هذا حلا منطقيا للمشكلة لكن يمكن أخذه بعين الأعتبار, أما السبب الحقيقي والمنطقي لمثل هذا النوع من المشاكل فهو وجود لووب Loop في الشبكة فلو حدث لديك Loop على مستوى الطبقة الثالثة فحينها سوف تحصل على مثل هذا النوع من الردود والحل هو فحص الشبكة والتحقق من جداول التوجيه Routing Table للوصول إلى السبب المنطقي للمشكلة.

Destination Host Unreachable
النوع الثاني من الردود لو ترجمناه إلى العربية يعني لايمكن للوصول إلى الهدف وهو عادة مايشير إلى وجود مشكلة محددة في المسار ويعطيك الرد المرسل الأحداثيات بدقة أي المكان الذي لايستطيع الباكيت فيه الوصول إلى الهدف أو المكان الذي توقفت الباكيت فيه فلو فرضنا أن عملية الوصول للهدف تحتاج المرور من خلال ثلاث روترات وصادف أن هناك مشكلة بين الروتر الثاني والثالث فسوف نجد أن الروتر الثاني هو من يرد ويقول أن الوصول إلى الروتر الثالث غير متاح والسبب عادة يكون مشكلة في عملية التوجيه أو الـ Routing أو قد يكون المنفذ الموجود على الروتر ثلاث مغلق أو يوجد مشكلة في التوصيلات. لذلك فهو يعتبر تحليل جيد للمشكلة لانه يشير إلى المكان الذي توقفت فيه الباكيت عن المتابعة إلى الهدف.

Request Timed Out
عندما يرسل الـ ICMP طلب البينغ يكون هناك وقت محدد (يمكن التلاعب به) لإستقبال الرد فلو تأخر الرد سوف تكون النتيجة هي هذه الرسالة , مدة الأنتظار تكون ثانية واحدة وهي كافية للذهاب إلى زيمبابوي أكثر من مرة , لكن ما هي الأسباب التى نتعلمها من هذا النوع من الردود ؟ الحقيقة حصر المشكلة صعب جدا لأن الأسباب كثيرة من أشهرها وجود أحتقان في الشبكة او ضغط كبير على الروتر ونستدل على هذا السبب عندما نجد Reply و Request Timed Out في نفس الوقت وللتأكد من أن السبب ليس أحتقان في الشبكة يفضل التلاعب بالوفت المحدد للانتظار فعوضا عن ثانية واحدة إجعله خمس ثواني مثلا وتابع ردود الأفعال , السبب الثاني هو وجود مشكلة في الـ ARP Table والحل هو فحص جدول الـ ARP إبتدا من جهاز الكمبيوتر الذي لدينا من خلال الأمر arp –a للتأكد من مطابقة الماك أدريس للـ Gateway لكن من أكثر الأسباب شيوعا هو وجود مشكلة في الـ Routing Table وتحديدا أثناء رجوع الرد من الهدف لأن توجيه الطلب إلى الهدف ليس كافيا للحصول على Reply بل يجب أيضا أن تكون عملية التوجيه معده لكي يرجع الطلب إلى مصدره فلو كان لدينا رد مثل هذا فالأفضل أولا فحص جداول التوجيه والتأكد من أن الطلب يستطيع الرجوع إلى مصدره , الـ Filtering يمكن أيضا أن تكون احد أسباب هذه المشكلة من خلال وجود Access-list على أحد الروترات , وكما ذكرت تحديد سبب هذه المشكلة يحتاج إلى خبرة وفهم جيد لعملية الـ Ping بالأضافة إلى وجود معرفة جيدة ببناء الشبكة لديك وخصوصا أن المشكلة أيضا يمكن أن تكون في الـ Layer 1 .

مدونة NetworkSet مدونة تختص بأمور الشبكات والأجهزة التى تدعمها 

ما شاء الله عليك أخي أيمن أفدتنا بتدوينتك القيمة عن احد اهم الأدوات التي لا نستغني عنها في فحص المشاكل . وحقيقتا إستفدت من هذه التدوينة وأشكرك جدا وأتمنى ان تضع لنا تدوينات في Troubleshooting لأنه من أهم المواضيع في الشبكات .
غفرالله لك ولوالديك وأزادك علماً .
الله يحفظك ..
والله كفيت و وفيت ..
keep going
شكرا استاذنا معلومات جميلة
شكرا على الموضوع ولكن لي ملاحظة او استفسار
بخصوص القيمة الافتراضية للTTL
فاعتقد انها تحدد من قبل نظام التشغيل نفسه اولا ثم من احد ال routers
التي تمر بها ال Packet
الدليل انه لكل نظام تشغيل قيمة خاص به يضعها لل TTL
http://www.binbert.com/blog/2009/12/default-time-to-live-ttl-values/ راجع الرابط
مع ذلك ستجد انه هناك من يقوم بالتعديل على القيمة الافتراضية لها والتي اعطاها لها نظام التشغيل
الله يبارك فيك
يسلموووووووووووووووووووو
شكرا أخواني على المرور وبارك الله فيكم.
أخي ابن الشام كلامك صحيح وأنا ذكرت هذا الكلام في أول تدوينة كتبت فيها عن البينغ وتحدثت عن اللبس الذي يحدث عند الحديث عن الـ TTL http://www.networkset.net/2010/02/21/how-ping-working/ لكن عندما كتبت عن هذه التدوينة واجهت الكثير من المصادر التى تتحدث عن كلا الأمرين فأخترت الأمر الثاني أي عدد الهوب لأن الرد على البينغ يكون برسالة واحدة ولا يخرج اي معطيات آخرى أو أرقام , وهذا يتضح لك عندما تحدثت في المرة الأولى عن البينغ سوف تجدني أعتمدت على التوضيح الأول الذي تفضلت به لأن هناك نجد توضيح وأرقام مثل 127 254 والخ… على كلا المجال مفتوح لمن يود المشاركة أكثر حول هذا الموضوع ويوضح لنا الفكرة الأساسية
اوجزت وابلغت اخي أيمن
بارك الله فيك ووفقك .. ..
شكراً جزيلاً سعادة المهندس وحبذا لو أعلمتنا عن كيفية طباعة الموضوع بالكامل وذلك للإستفادة منه
وشكراً
🙄 رائع جدا يا أيمن وأتمني منك ان تظهر لنا من اهم المشكلات التي قابلتها في هذا الموضوع او بشكل عام وتسرد ها في المجله وشكرا كثيرا
مروان
من اليمن صنعاء
بارك الله فيك يا اخى مدونه ممتازه
كلام جدا مميز ويستفاد منه ، وهذه عوائدك
موفق أخي أيمن
عاشت الايادي على هذا التفصيل الدقيق
هل تختلف هذه الايعازات او الاجابات من شركة لاخرى مثلا بين سسكو ومايكروسوفت ام ان الاجابات واحدة في هذه الايعازات .. ودمتم
حقيقه معلومات رائعه جدا مشكور اخوي ايمن
جزاك الله خيراااا
النقطة الاخيرة وهي الـ TTL
أكثر معضلة واجهتها في هذا الموضوع والاجابات تعددت في الانترنت وفي غوغل فمنهم من يقول هي عدد الهوب للوصول للهدف وهناك من يقول هي الوقت الذي يستغرقه الطلب للوصول للهدف وبعد البحث والتجربة توصلت الى انها قيمة تحدد من قبل كل روتر أو جهاز وهي تزيد او تنقص حسب مسار الباكيت الى الهدف
وكمثال على ذلك قم بعمل Ping 127.0.0.1 اي لووباك على الجهاز لوجدتها 128 وهذا يعني أن قيمة الـ TTL في ويندوز تساوي 128 ينما القيمة في لينوكس تساوي 64
والسوال:
ما وحدة قياس هذه القيمة…………. ومتي تزيد ومتي تنقص؟
ولكم منا جزيل الشكر!!!!!!!!!!!
almbarak==>إستخدم هذا الموقع http://www.printwhatyoulike.com/
مروان الدالي==> إن شاء الله أخي .
يوسف سلطان==> أكيد واحدة .
Mohamed eid==> القيم عادة ماتكون ثابتة بالنسبة لكل جهاز أو نظام والموقع التالي يوضح http://www.binbert.com/blog/2009/12/default-time-to-live-ttl-values/
بارك الله فيك وفي المجهودات التي تبذلها
اخ ايمن هو مش من اسباب Request Timed Out
قد يكون الجهاز المقابل ليس لدى DGW وقد لانعرف ذلك مش كده ولا ايه
أنظر ماذا كتبت في القسم المخصص : قلت من أكثر المشاكل شيوعا هو الـ Routing Table وهو غير مقصور كما تعلم على الروترات بل هناك جداول على أجهزة الكمبيوتر فلو في حال لم يكن هناك مخرج للجهاز فهذا يعني ان هناك مشكلة في التوجيه وهو عادة يكون خطأ في المخرج الخاص به .
مشكور أخ أيمن ع المعلومات المفيدة بس إذا في مجال معلومات عن اختصارات DTE وDCE
إبحثي على المدونة وسوف تجدي شرح كامل عنهم وعن أهم الفروقات بينهم
معلومات قيمة مهندس أيمن و جزاك الله كل خير..و أحب أن أضيف معلومة بسيطة و هي أنه لو فشلت عملية PING فهذا دليل على أننا يجب أن نركز على Layer1 to 3 في حال حل المشكلة. و اذا نجحت عملية PING و ما زالت المشكلة موجودة في الشبكة فيجب عليك أن تركز على L4 -7 . و جزاكم الله كل خير على هذا الموقع المفيد جدا
مشكور اخي الكريم علي هذه المعلومه القيمة
لكن اريد ان اعرف ما هو الفرق بين
TTL=128
&
TTL=127
مشكور اخي الكريم علي هذه المعلومه القيمة
لكن اريد ان اعرف ما هو الفرق بين
TTL=128
&
TTL=127
ارجو افادتي
ولكم جزيل الشكر
موضوع جميل وننتظر المزيد