الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما ذا تحوي عبارة الرد للping

بدأه shado في 27 أكتوبر 2008 · 41 رد · 6,220 مشاهدة · في منتدى الشبكات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــة

يعطيكم العافية ...

Reply from 192.168.1.1 bytes=32 time=1ms TTL=255

IP راتر مثلا

Reply from 192.168.1.200 bytes=32 time=1ms TTL=64

Reply from 66.102.9.99 bytes=32 time=1ms TTL=240

IP موقع مثلا وهوا google

Reply from 192.168.1.1 bytes=32 time=1ms TTL=128

جهاز في شبكة داخلية ضمن سويتش

السؤال : لماذا الاختلاف بالــTTL وما هوا TTL بالاساس :happy:

تحياتي

الله معكم..

#2

تعرف أن أنواع الإرسال هي ثلاثة

uni cast

multicast

Broadcast

TTL دة بقى ياسيدي هو عمر الباكت multicast قبل ما تتوفى :lol:

والله أعلم

#3

TTL=TIME TO LEAVE

هو الوقت الذي تقضيه الداتاقرام في الشبكة قبل ان تخرب(ينتهي مفعولها ) اذا لم تجد مقصدها حتى لا يحدث ازدحام في الشبكة

#4

TTL=Time To Live

#5
اقتباس
TTL=TIME TO LEAVE

Time to Live وليس Leave ...

هو عمر الباكت قبل أن تصل الى ال Next Hop ... اذا وصلت تخزن في Node ويتم عمل Re-Generate لها لتكمل رحلتها الى ال Destination ...

تفاصيل أكثر:

http://searchnetworking.techtarget.com/sDe...i214184,00.html

It's hard to stay in such ridiculous situation

#6

جميل ...

هل لها واحدة تقاس بها ام هي معنية بالعبارة التالية

"كمية او مستوى او مجال ابقاء البيانات حية حتى تأتي البيانات التي بعدها وذلك مقدرة بالزمن الذي قبلها من ms"

هل هناك سبب او تفسير لاختلافها من IP الى اخر غير التفسير التالي

اقتباس
0 is restricted to the same host

1 is restricted to the same subnet

32 is restricted to the same site

64 is restricted to the same region

128 is restricted to the same continent

255 is unrestricted

كما رأيتم TTL=240 في عملية ping لموقع google

تحياتي

الله معكم..

#7

زمن القياس يكون بالملى ثانية

و سبب الإختلاف بين الأزمنة يرجع إلى عدة عوامل مثل المتركMetric و الrouting و أشياء أخرى

خلاصه الأمر كلما كان خط الشبكة سريع كلما كان الزمن أقصر

يعنى لو أنك راح تعمل بينج على جوجل من خط 256 كيلوبت سوف يأخذ زمن أطول لو كان الخط 10ميجابت مثلا

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#8

ليس بهذه البساطه يا نور.

TTL موضوع معقد ومرتبط بال QoS ...

ال QoS لحالو علم :)

It's hard to stay in such ridiculous situation

#9
اقتباس
زمن القياس يكون بالملى ثانية

حسب علمي أن زمن قياس TTL يكون بالثانية وليس بالملي بالثانية ...

وحسب علمي أيضا أن هناك مقياس آخر لل TTL هو عدد ال HOPS الهوبات التي يقطعها الباكت ... قبل أن تموت او يتم تجاهلها.

أرجو التصحيح ممن لديه الخبر اليقين.

شكرا

#10
اقتباس
وحسب علمي أيضا أن هناك مقياس آخر لل TTL هو عدد ال HOPS الهوبات التي يقطعها الباكت ... قبل أن تموت او يتم تجاهلها.

هذا يسمى ال Metric او ال Adinistrative Distance ... ليس لها علاقه بالسرعه إطلاقا.

السرعه تقاس بالمللي كما ذكر نور.

It's hard to stay in such ridiculous situation

#11

TTL = TIME TO LIVE

ماذا يعني هذا الكلام ؟

يعني هو الزمن الذي تستغرقه الباكت Packet حتى يتم الغاءها او انتهاء صلاحيتها Expired وتقاس بالثانية Seconds .

الشرح :

عندما يقوم الجهاز بالاتصال بجهاز آخر او سيرفر او موقع ويب فانه يقوم بارسال رسالة ICMP تتالف من حزمة بيانات تحوي بعض المعلومات مثل رقم IP الجهاز الهدف Destination كما تحوي 1 بايت عبارة عن قيمة TTL هذا البايت يأخذ قيمة تتراوح بين 0 - 255 هذه القيمة تنقص بمقدار واحد 1 عند كل نقطة Hop or Node تمر بها أثناء رحلتها الى الهدف تمثل هذه النقطة مثلا راوتر، ويتم اعادة توليد الرسالة في هذا الراوتر Regeneration مع انقاص قيمة TTL في الباكت بمقدار واحد وهكذا تستمر العملية تنتقل الباكت من راوتر الى آخر وتنقص بمقدار واحد فاذا وصلت الى هدفها قبل ان تصبح قبمة TTL صفر فيتم تسليمها بدون مشاكل اما اذا وصلت قيمتها الى صفر عند راوتر معين في طريقها قبل ان تصل الى هدفها المنشود فان الرسالة تلغى ويقوم ذلك الراوتر بارسال ICMP Reply الى الجهاز المرسل لإعادة الإرسال مرة أخرى ( بحيث يشوفله طريقة ثانيه يوصل بيها رسالته ) .

هذا الزمن الذي استغرقته الرسالة للانتقال من الجهاز المرسل الى ان وصلت الى ذلك الراوتر الذي الغيت عنده ... هذا الزمن هو دورة حياة الباكت TTL ويقاس بالثانيه ، اما الرقم الذي يشير اليه TTL في ال Header Packet للمرسل فهو عبارة عن أكبرعدد من النقاط او الراوترات التي يمكن للرسالة ان تمر بها في هذا الطريق in this Routing قبل تلاشيها .

مثال :

اقتباس

Reply from 66.102.9.99 bytes=32 time=1ms TTL=240

IP موقع مثلا وهوا google

TTL = 240 يعني ان الرسالة عند وصولها الى جوجل كانت قيمة TTL في الباكت تساوي 240 فاذا كانت قيمة TTL عند بداية توجيه الرسالة من المرسل تساوي مثلا 255 فان هذا يعني انها قد مرت في طريقها بخمسة عشرة نقاطه او راوتر( تقريبا ) قبل ان تصل الى جوجل .

أرجو ان تكون قد وضحت الفكرة الى هذا الحد .

مما سبق يتضح ان مفهوم حساب ال TTL بالزمن المستغرق هو نظريا فقط اما حقيقة فان الحساب يتم من خلال عدد النقاط التي يمر بها .

ولعل مفهوم قياس الزمن يستخدم فعليا عند معالجة موضوع ال TTL بالنسبة لل DNS وليس هذا هو مايريده السائل .

والسلام .

تم تعديل هذه المشاركة بواسطة بوحضرم في 29 أكتوبر 2008 في 21:40

الذهب الخالص

#12
بوحضرم كتب:
TTL = TIME TO LIVE

ماذا يعني هذا الكلام ؟

يعني هو الزمن الذي تستغرقه الباكت Packet حتى يتم الغاءها او انتهاء صلاحيتها Expired وتقاس بالثانية Seconds .

الشرح :

عندما يقوم الجهاز بالاتصال بجهاز آخر او سيرفر او موقع ويب فانه يقوم بارسال رسالة ICMP تتالف من حزمة بيانات تحوي بعض المعلومات مثل رقم IP الجهاز الهدف Destination كما تحوي 1 بايت عبارة عن قيمة TTL هذا البايت يأخذ قيمة تتراوح بين 0 - 255 هذه القيمة تنقص بمقدار واحد 1 عند كل نقطة Hop or Node تمر بها أثناء رحلتها الى الهدف تمثل هذه النقطة مثلا راوتر، ويتم اعادة توليد الرسالة في هذا الراوتر Regeneration مع انقاص قيمة TTL في الباكت بمقدار واحد وهكذا تستمر العملية تنتقل الباكت من راوتر الى آخر وتنقص بمقدار واحد فاذا وصلت الى هدفها قبل ان تصبح قبمة TTL صفر فيتم تسليمها بدون مشاكل اما اذا وصلت قيمتها الى صفر عند راوتر معين في طريقها قبل ان تصل الى هدفها المنشود فان الرسالة تلغى ويقوم ذلك الراوتر بارسال ICMP Reply الى الجهاز المرسل لإعادة الإرسال مرة أخرى ( بحيث يشوفله طريقة ثانيه يوصل بيها رسالته ) .

هذا الزمن الذي استغرقته الرسالة للانتقال من الجهاز المرسل الى ان وصلت الى ذلك الراوتر الذي الغيت عنده ... هذا الزمن هو دورة حياة الباكت TTL ويقاس بالثانيه ، اما الرقم الذي يشير اليه TTL في ال Header Packet للمرسل فهو عبارة عن أكبرعدد من النقاط او الراوترات التي يمكن للرسالة ان تمر بها في هذا الطريق in this Routing قبل تلاشيها .

مثال :

TTL = 240 يعني ان الرسالة عند وصولها الى جوجل كانت قيمة TTL في الباكت تساوي 240 فاذا كانت قيمة TTL عند بداية توجيه الرسالة من المرسل تساوي مثلا 255 فان هذا يعني انها قد مرت في طريقها بخمسة عشرة نقاطه او راوتر( تقريبا ) قبل ان تصل الى جوجل .

أرجو ان تكون قد وضحت الفكرة الى هذا الحد .

مما سبق يتضح ان مفهوم حساب ال TTL بالزمن المستغرق هو نظريا فقط اما حقيقة فان الحساب يتم من خلال عدد النقاط التي يمر بها .

ولعل مفهوم قياس الزمن يستخدم فعليا عند معالجة موضوع ال TTL بالنسبة لل DNS وليس هذا هو مايريده السائل .

والسلام .

و لكنى حينما أقوم بعمل بينج على جهاز فى الشبكة يكون TTL=128

فهل معناه أن الباكت عدت على 127 روتر أخرين قبل الوصول !!

أرجو توضيح هذه

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#13
اقتباس

و لكنى حينما أقوم بعمل بينج على جهاز فى الشبكة يكون TTL=128

فهل معناه أن الباكت عدت على 127 روتر أخرين قبل الوصول !!

أرجو توضيح هذه

لا طبعا .

لما ترسل رسالة من جهازك الى جهاز آخر على نفس الشبكة أو ال subnet يعني ماراح يكون بينكم راوتر تكون قيمة TTL في الباكت عند بداية الارسال 128 مثلا ، عندما يستلمها الجهاز الهدف الذي عملت عليه PING فانه سوف يقرأ الباكت وسوف يجد قيمة TTL هي نفسها 128 ولم يتم انقاصها عندها سوف يرسل لك ICMP echo كرد وسوف يضع نفس قيمة TTL التي استلمها 128 وسوف تعود الرسالة اليك في جملة PING دون ان يتم انقاص قيمة TTL الأساسية .

طيب لنفترض ان عندي 2 SUBNETS في شبكتي طبعا هذا يعني ان عندي راوتر واحد ، فاذا عملت PING لجهاز موجود في ال SUBNET الآخر فان قيمة TTL في الرد سوف تصبح 127 لأن الراوتر نقص واحد منها وهذه القيمة سوف تعطيني فكرة ان الرسالة مرت على راوتر واحد في طريقها .

أرجو ان يكون وضح الأمر واذا عندك أي استفسارات اخرى حياك الله لا يردك الا لسانك .

الذهب الخالص

#14

جميل بوحضرم

تفسيرات اجمل من رائعة

ping www.arabteam2000-forum.com

Reply from 206.222.26.10 bytes=32 time 444 msTTL=41

255-41=214ٌ ROUTER :P

بما انك صدرك رحسب للاستفسارات ...كان عندي نفس استفسار الاخ نور لكن صبقني اليه

انا امكلك راوتر واقوم بوصل الشبكات مع بعض لا يهم المهم اننا نستخدم بعض الاحيان ACCES POINT

عملية ping عليه TTL=64 مع العلم ااننا في مجال subnet واحد

هل من تفسير ايضا ؟؟؟

تحياتي

الله معك..

#15
اقتباس

عملية ping عليه TTL=64 مع العلم ااننا في مجال subnet واحد

لما ترسل ping لراوتر معك في نفس ال subnet فان قيمة TTL التي ترسلها له تختلف عن قيمة TTL التي ترسلها لأي جهاز آخر في الشبكة ، ونفس الشيء يحصل يقرأ لراوتر هذه القيمة 64 ويعيده لك لأنه لم تتم معالجتها في الطريق من قبل راوتر آخر .

وكذلك الحال بالنسبة لموقع على النت مثل الفريق العربي ليس بالضرورة ان تكون القيمة المرسله لعمر الباكت دائما 255 قد تختلف وتتغير بل من الممكن تحديدها برمجيا ويدويا من قبل المرسل .

اذا مو واضح خبرني عشان نوضح أكثر .

الذهب الخالص

#16

جيد اذا ليس هناك معايير لهذا المووضوع ... ولما مثلا لا نقول حسب برمجة الهارد وير مثلا الاكسس بوينت له وضعية غير عن غيره اليس كذالك

هذه العبارة التي قلتها

اقتباس
ليس بالضرورة ان تكون القيمة المرسله لعمر الباكت دائما 255 قد تختلف وتتغير بل من الممكن تحديدها برمجيا ويدويا من قبل المرسل .

هل هناك شي علمي تستند عليه ..يعني ممكن نحن بنقدر نتحكم بموضوع TTL عند برمجة راوتر اليس كذالك

يعني مثلا لماذا لا يكون التلاعب بالموضوع من اجل الامن ...لكي لا يسطتيع اي احد تحديد المكان الهدف بسهولة ..اليس كذالك

اذا كانت افكاري صحيحة ارجو الافادة والا نبهني الى ما هوا خطأ ..

تحياتي

الله معك.

#17

اقتباس

جيد اذا ليس هناك معايير لهذا المووضوع ... ولما مثلا لا نقول حسب برمجة الهارد وير مثلا الاكسس بوينت له وضعية غير عن غيره اليس كذالك

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

اذا كنت موجود في النقطة A والموقع الذي اريده موجود في النقطة B والطريق الواصل بينهم يمر بثلاث نقاط هم X , Y AND Z ولنفترض ان عمر الباكت المرسله من A الى B يساوي 3 هذه القيمة لل TTL لن تمكنني من ايصال الرسالة الى B لأنها ستمر على X وتصبح 2 ثم يمررها الى Y وستصبح 1 الذي بدوره يمررها الى Z وستصبح عنده 0 وبالتالي لن يمررها الى الهدف B , في مثل هذه الحالات تقوم بتغيير قيمة TTL الى 4 مثلا لكي يتم الاتصال .

عمليا نصادف في بعض الحالات اننا نحاول ان نستعرض صفحة ويب ولا نستطيع ونعمل PING مافي فايده والصفحة اكيد شغالة والاتصال عندي كويس ومافي مشاكل في الراوتر وكل شي آخر حلاوة فماهو السبب؟! في حالات كثير يكون السبب مثلا ان عمر الباكت لديك 32 وهو غير كافي لذا نقوم بزيادته الى 128 مثلا ... عندها تصفح واستمتع .

من الناحية الأمنية يستفاد كثيرا من ال TTL في عمليات التعقب والمتابعة وذلك من خلال معرفة المسار الذي مرت به الباكت وذلك من خلال الأمر tracert or tracerout .

بالمناسبة هذا الكلام كله علمي 100% :wink:

هذه العبارة التي قلتها

اقتباس
ليس بالضرورة ان تكون القيمة المرسله لعمر الباكت دائما 255 قد تختلف وتتغير بل من الممكن تحديدها برمجيا ويدويا من قبل المرسل .

هل هناك شي علمي تستند عليه ..يعني ممكن نحن بنقدر نتحكم بموضوع TTL عند برمجة راوتر اليس كذالك

يعني مثلا لماذا لا يكون التلاعب بالموضوع من اجل الامن ...لكي لا يسطتيع اي احد تحديد المكان الهدف بسهولة ..اليس كذالك

اذا كانت افكاري صحيحة ارجو الافادة والا نبهني الى ما هوا خطأ ..

تحياتي

الله معك.

الذهب الخالص

#18

القلب يرقع لك لكل هذه الافادة يا مسيو ..وشكرا كتير لالك

دعني اطرح فكرا الان تأكدت منها ..انت تقول :

اقتباس
عمليا نصادف في بعض الحالات اننا نحاول ان نستعرض صفحة ويب ولا نستطيع ونعمل PING مافي فايده والصفحة اكيد شغالة والاتصال عندي كويس ومافي مشاكل في الراوتر وكل شي آخر حلاوة فماهو السبب؟! في حالات كثير يكون السبب مثلا ان عمر الباكت لديك 32 وهو غير كافي لذا نقوم بزيادته الى 128 مثلا ... عندها تصفح واستمتع .

لماذا لا يكون العكس !!!

لي صديق يملك استضافة ويحجز مواقع ولاحظت من احدى اهم الميزات انك عندما تقوم بعملية ping على احدى المواقع المحجوزة على سيرفره يترك لك الايبي دون ان يعطيك اي معلومة

عن رد فعل الــping

قمت بحشريتي وزج انفي فيما لا يعنيني وسالته لماذا ...فاجابني بكذب :قمنا بفصل السيرفر عن الموقع بكود php؟؟!! :lol:

جرب الــping لــ

www.microsoft.com

سيعطيك الايبي في البداية ثم يرفض اعطائك معلومات ping

اليس في كلامي بعض الصحة ....؟؟؟؟

الله معك..

#19
اقتباس

لماذا لا يكون العكس !!!

كيف يعني ؟ وضح كيف يكون العكس !

بالنسبة لمايكروسوفت فهي عاملة حظر لل ICMP ولذا لن تجد رد على ال PING وربما صديقك عمل نفس الشيء وقد يكون صادقا لا أستطيع اتهامه بالكذب :lol: .

الذهب الخالص

#20

العكس هوا عملية حظر لل ICMP

يعني ممكن تعمل تصفح من دومين ولا تستطيع عمل PING

بالنسبة لصديقي لا ادري ما وضعه :lol:

على كلا قد اتضحت الفكرة بالنسبة لي على اكمل وجه

تحياتي ...

الله معك ..

#21

جميع ما قيل عن TTL خطأ ما عدى رد اخونا بوخضرم لكن عليه بعض الغموض فيما يتعلق بالوحدة (الثانية) وأريد توضيحه.

ما أريد قوله

الـTTL تم وضعه في الـIP header كآلية لمنع الـloop. هناك عدة آليات لمحاربة الloop و الـTTL واحدة من بينها. وكونه موضوع في الـIP Header فحكمه يجري على Unicast / multicast / broadcast دون أي تفرقة.

حقل الـTTL عبارة عن 8bit ويعطيك من 0 إلى 255 في نظام العد العشري. عندما يرسل جهازك ping أو أي IP packet حتى لو http request سيضع رقم مبدئي (128 او غيره، المهم يكون رقم كبير كما سيتبين لاحقا)

كل راوتر أو منفذ Layer 3 يستقبل البكت سيقوم بإنقاص الـTTL بواحد. يعني 128 سيصبح 127 عندما يمر على الراوتر الأول. وعندما يمر على الراوتر الثاني سيصبح 126 وهكذا إلى أن يصل إلى مبتغاه. لكن إذا مر الـpacket على 128 راوتر حينها سيصبح الـTTL مساويا 0. عندما يصبح صفرا سيتم الغاء البكت لانه على الأرجح الـPacket looping في دائرة غير منتهية. فهذه الآلية تم وضعها للحفاظ على الـbandwidth و الـCPU/RAM للأجهزة الموجودة في الإنترنت واستخدامها فيما هو مفيد عوضا من الـLooping packets.

لماذا الرقم المبدئي اي رقم كبير كالـ128؟ حتى نضمن ان البكت سيصل إلى الجهة المعنية بغض النظر عن عدد الراوترات في المنتصف. بعض البرامج مثل nmap تقوم بإختيار 255 كرقم مبدئي وهذا شاذ.

ماهي وحدة الـTTL؟ هل هي الثانية؟ ام جزء من الثانية؟ جميع الإجابات خطأ. الوحدة هي عدد وليس زمن. فقط عدد الراوترات في المنتصف. لا اكثر ولا اقل. بعبارة ثانية hop count. ولو تقرأ RFC791 ستجد أن يجب أن لا تنظر إليه كمقياس للزمن. نص مقتبس من RFC791

اقتباس
This field indicates the maximum time the datagram is allowed to remain in the internet system. If this field contains the value zero, then the datagram must be destroyed. This field is modified in internet header processing. The time is measured in units of seconds, but since every module that processes a datagram must decrease the TTL by at least one even if it process the datagram in less than a second, the TTL must be thought of only as an upper bound on the time a datagram may exist. The intention is to cause undeliverable datagrams to be discarded, and to bound the maximum datagram lifetime.

بعض البرامج المستخدمة في الإنترنت، مثل الـeBGP تقوم بوضع الرقم المبدئي مساويا للـ1. لأن البروتوكول يفرض ان الـpeer قريب جدا ومرتبط معاه بشكل مباشر.

هناك استخدام آخر للـTTL وهو الـSecurity. فأنت تقوم بمراقبة الـTTL مبدئيا. وبعدها إذا لاحظت ان الـTTL اصبح أقل من الرقم المعتاد فذا قد يكون دليلا على قيام أحد الهكرز بـMan in the Middle Attack

أسئلة الأعضاء في هذا الموضوع

س: لماذا الاختلاف بالــTTL وما هوا TTL بالاساس؟

ج: السبب قد يكون Man in the middle attack لكن هذا الإحتمال ضئيل. الإحتمال الأقرب للصواب في حالتك (ping googe.com) هو الـLoad balancing القائم على الـInternet routers مما يؤدي إلى أن الـPacket يسلك مسارات مختلفة في كل مرة. فأحيانا يسلك مسار يحتوي على راوترات أكثر من المسار السابق مما يؤدي إلى TTL أقل. ومرة أخرى يسلك مسار بيه راوترز أقل ويعطي TTL أعلى.

س:هل لها واحدة تقاس بها ام هي معنية بالعبارة التالية ؟

ج: هي Hop count وليس وحدة قياس زمنية أبدأ.

س: هل هناك سبب او تفسير لاختلافها من IP الى اخر غير التفسير التالي؟

ج: سبب اختلاف الرقم المبدئي من 128 أو 1 أو 255 هو طبيعة استخدام البروتوكول.

س: كما رأيتم TTL=240 في عملية ping لموقع Google

ج: هذا ليس الرقم المبدئي. هذا الرقم المبدئي ناقص عدد الراوترز في الطريق. يعني لو كان عندنا 10 راوترز فهذا معناه ان الرقم المبدئي كان 250.

س: TTL موضوع معقد ومرتبط بال QoS ...

ج: لا توجد علاقة. أنت لديك خلط بين شيء آخر وهو عداد الوقت الذي يعمل في الجهاز منذ بدء ارسال أول بكت إلى حين الحصول على الرد. يعني وقت الدورة الكاملة للبكت بدأ من الٌReqeust إلى الـReply

س: حسب علمي أن زمن قياس TTL يكون بالثانية وليس بالملي بالثانية ... وحسب علمي أيضا أن هناك مقياس آخر لل TTL هو عدد ال HOPS الهوبات التي يقطعها الباكت ... قبل أن تموت او يتم تجاهلها. أرجو التصحيح ممن لديه الخبر اليقين.

ج: ليس له علاقة بالوقت أبدا. هو Hop فقط. اجابتك الثانية صحيحة.

س: هذا يسمى ال Metric او ال Adinistrative Distance ... ليس لها علاقه بالسرعه إطلاقا.

ج: الـAdministrative Distance و الـMetric شيئان مختلفان ولا يجوز ربطهم بحرف الـ"أو". والـHOP لا يعتبر بأي شكل من الاشكال Administrative Distance. لكن في "بعض" الحالات تكون Metric وها فــــقــــط في RIP و RIPv2 و RIPng. وبقية الراوتينج بروتوكولز تستخدم عوامل أخرى.

س: و لكنى حينما أقوم بعمل بينج على جهاز فى الشبكة يكون TTL=128. فهل معناه أن الباكت عدت على 127 روتر أخرين قبل الوصول !! أرجو توضيح هذه

ج: يجب عدم الخلط. الـping.exe فقط تقوم بإظهار الـTTL كما جاء في الـReply، وهذا ليس مفيدا جدالأنك بالأساس لا تعلم ماهي القيمة الأساسية حتى تقوم بحساب عدد الـhops.

إذا نفعتك أحد مشاركاتي فأدع بظهر الغيب لوالداي بالصحة والسلامة والسعادة وطول العمر وأن يكون هذا زيادة لهما في كل خير.

post-21836-1257612765.gif

before asking: smart questions how-to

#22

حياك الله اخي العزيز

اقتباس

جميع ما قيل عن TTL خطأ ما عدى رد اخونا بوخضرم لكن عليه بعض الغموض فيما يتعلق بالوحدة (الثانية) وأريد توضيحه.

اقتباس
ماهي وحدة الـTTL؟ هل هي الثانية؟ ام جزء من الثانية؟ جميع الإجابات خطأ. الوحدة هي عدد وليس زمن. فقط عدد الراوترات في المنتصف. لا اكثر ولا اقل. بعبارة ثانية hop count. ولو تقرأ RFC791 ستجد أن يجب أن لا تنظر إليه كمقياس للزمن. نص مقتبس من RFC791

اقتباس

ليس له علاقة بالوقت أبدا. هو Hop فقط.

أخي حتى نكون دقيقين في تعاملنا مع المصطلحات على كلا الصعيدين النظري والعملي فإن رفضك التام لفكرة التعبير عن ال TTL بالزمن هو الخطأ . لماذا ؟

لن فكرة ال TTL بالأساس قائمة على المفهوم الزمني وتعريف ال TTL نفسه عبارة عن زمن والزمن يقاس بالثانية ولكن لما لم توجد آليات تتعامل مع هذا المفهوم الزمني تم اهماله واعتبار COUNT OF HOPS كوحدة لقياس الزمن بالنسبة لل PACKET وبالتالي فان رفض فكرة ان ال TTL هو عبارة عن زمن يضعك في تناقض مع تعريف ال TTL فاما ان تلغي التعريف او تعيد صياغة تعريف آخر ولهذا الصواب ان نقول ان الثانية هي وحدة القياس وفقا للنظرية وأن ال HOP COUNT هو الوحدة الفعلية والعملية للقياس والتي تستخدم في التطبيقات ... هذا جانب.

الجانب الآخر .. ان ال TTL هو مصطلح عام الاستخدام فهو يستخدم لقياس الفترة الزمنية بالثانية التي يتم تخزين البيانات في ال DNS CASH بالتالي فهو ليس محصور في قياس زمن الباكت وهذا التعميم يفرض الزمن كوحدة قياس اذا لايجوز القول ان وحدة قياس ال TTL هي ال HOP COUNT فيما يستخدم الزمن فعليا كوحدة قياس في تطبيقات أخرى .

اقتباس

ولو تقرأ RFC791 ستجد أن يجب أن لا تنظر إليه كمقياس للزمن

لاينظر اليه في التطبيقات ولكن نظريا يظل الزمن هو وحدة القياس فال RFC791 لم ترفض الزمن تماما كما فعلت انت .

فيما عدا ذلك اتفق معك في كل ماقلته وأرجو ان أكون قد اوضحت الغموض الذي تتحدث عنه .

الذهب الخالص

#23

TTL كمفهوم عام هو لقياس الزمن، وكما ذكرت مثال الـDNS سليم. لكن عندما نتحدث عن الـIP header فهو عمليا hop count ويجب تسمية الأمور بمسمياتها. وكون اسم الحقل TTL لا يعني أنه فعلا زمن، لا عمليا ولا حتى نظريا. هذا عبارة عن خطأ ارتكبه مؤلفوا RFC791.

ولهذا السبب لو نظرت إلى RFC2460 وهو لـ IPv6 ستجد أن حقل الـTTL موجود 8bit كما كان وبنفس آلية التطبيق، لــــكن تمت إعادة تسميته إلى hop limit :)

لا يجب علينا الدفاع عن خطأ حدث في الماضي فهذا يضع تعقيدات أمام كل من يقرأ هذا الموضوع ليتعلم.

القول أن "TTL في IPv4 هو نظريا زمن ووحدة قياسه الثانية ولكن عمليا ليس زمنا إنما hop count" أشبه ما يكون بنظرية الثالوث التي تحتاج إلى الف نظرية متراكمة وفي النهاية لا من مجيب :)

إذا نفعتك أحد مشاركاتي فأدع بظهر الغيب لوالداي بالصحة والسلامة والسعادة وطول العمر وأن يكون هذا زيادة لهما في كل خير.

post-21836-1257612765.gif

before asking: smart questions how-to

#24

eech u r the man :lol:

-----

نعم TTL يعبر عن hop counts فقط وليس للزمن علاقة هنا إطلاقا , وعملية ال routing trace ك tracert في وندوز أو Traceroute في لنكس يتم فيها عملية تركيبة من ping مع زيادة رقم TTL كل مرة حتى نصل لل destination الأخير , ونعرف بذلك المسار بشكل كامل .

شيء آخر لم يتم التطرق إليه وأعتقد أنه كان مشكلة السائل من البداية .. لماذا وقت TTL مختلف عند عمل Ping google أو مايكروسوفت أو لأي موقع .. في الحقيقة السبب هو أنه إما TTL value نفسها متغيرة من الموقع الذي تم عمل Ping له .. أو أن نظام التشغيل في كل من هذه السيرفرات مختلف عن الآخر ;) .. بالتالي سنعرف أن هناك default TTL value لكل نظام تشغيل ومنه ببساطة سنستنتج أن TTL هو إحدى الطرق المشهورة في عملية OS Fingerprinting للتعرف على نوع نظام التشغيل والإصدارة فيه ..

مثلا في أنظمة

freeBSD ttl value = 64

SolarisOS = 255

linux ttl value =64

windows 2000,2003 = 128

وهكذا .. لكن أحيانا تجد أرقام مختلفة عن الأرقام الإفتراضية ولاأعرف السبب بالضبط هل ال versions الجديدة أو تغيير للقيمة الإفتراضية أو شيء آخر غير مفهوم .

لاحظ للأرقام كأمثله هنا : http://secfr.nerim.net/docs/fingerprint/en/ttl_default.html

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#25

حيا الله الشباب

بدون مقدمات من مصدرك السابق RFC971

اقتباس

Even if no local information is available on the time actually

spent, the field must be decremented by 1. The time is measured in

units of seconds (i.e. the value 1 means one second). Thus, the

maximum time to live is 255 seconds or 4.25 minutes. Since every

module that processes a datagram must decrease the TTL by at least

one even if it process the datagram in less than a second, the TTL

must be thought of only as an upper bound on the time a datagram may

exist. The intention is to cause undeliverable datagrams to be

discarded, and to bound the maximum datagram lifetime.

أعتقد الكلام واضح جدا فالوحدة هي الثانية ولكن لأنها لاتعبر عن الزمن الفعلي كما ذكرنا فانه لايجب ان ينظر لل TTL الا على انه الحد الأعلى للزمن ...

اقتباس آخر جيد من نفس المصدر السابق

اقتباس

Some higher level reliable connection protocols are based on

assumptions that old duplicate datagrams will not arrive after a

certain time elapses. The TTL is a way for such protocols to have

an assurance that their assumption is met.

أوف هذا كلام قوي بصراحة :wink: ... يعني لازالت هناك بروتوكلات تستخدم حقل ال TTL في الباكت من خلال قيم زمنية حقيقة تخمينية ... إذا هناك استخدام فعلي للزمن في التطبيقات .

اقتباس

ولهذا السبب لو نظرت إلى RFC2460 وهو لـ IPv6 ستجد أن حقل الـTTL موجود 8bit كما كان وبنفس آلية التطبيق، لــــكن تمت إعادة تسميته إلى hop limit

مرة اخرى اطالبك ان تكون دقيقا ... هو ليس حقل TTL بل هو حقل Hop of Count :rolleyes: ... هذا هو البديل لل TTL الذي صنع هذه الإشكالية ... لو كانت الأمور كما تقول ببساطة " لاعلاقة للزمن بال TTL " لما تم تغيير هذا الحقل ولكن لأن الأمر هو كما ذكرنا اختلاف بين النظرية والتطبيق خلق هذه الإشكالية لدى البعض ..

الآن

TTL : Time to live

Hop of count : number of hops

اما ان نقول

TTL : number of hops

هذا هو الخطأ

اقتباس

لا يجب علينا الدفاع عن خطأ حدث في الماضي فهذا يضع تعقيدات أمام كل من يقرأ هذا الموضوع ليتعلم.

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

اقتباس

القول أن "TTL في IPv4 هو نظريا زمن ووحدة قياسه الثانية ولكن عمليا ليس زمنا إنما hop count" أشبه ما يكون بنظرية الثالوث التي تحتاج إلى الف نظرية متراكمة وفي النهاية لا من مجيب

هذا لايدعونا الى تغيير الحقائق.

اقتباس
وهكذا .. لكن أحيانا تجد أرقام مختلفة عن الأرقام الإفتراضية ولاأعرف السبب بالضبط هل ال versions الجديدة أو تغيير للقيمة الإفتراضية أو شيء آخر غير مفهوم .

يامعلم غيرها بنفسك وريح دماغك :lol: .

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\DefaultTTL

for your Default value in TCP/IP Protocol & windows OS

تحياتي للجميع .

تم تعديل هذه المشاركة بواسطة بوحضرم في 9 نوفمبر 2008 في 16:43

الذهب الخالص

مواضيع مشابهة