|
اشکال زدائی شبکه های مبتنی بر TCP/IP (بخش چهارم )
هر بسته اطلاعاتی در يک شبکه کامپيوتری دارای مسيری
مشخص از زمان ارسال توسط فرستنده تا زمان دريافت توسط گيرنده ( گيرندگان ) می باشد
. در صورتی که مقصد يک بسته اطلاعاتی برای سيستمی خارج از شبکه محلی باشد ، وی در
مسير خود از بين دستگاه ها و يا روترهای متعددی عبور می نمايد تا به مقصد نهائی
خود برسد . مثلا" زمانی که آدرس يک وب سايت را در مرورگر خود تايپ می نمائيد ،
درخواست شما از بين روترها و کامپيوترهای متعددی عبور می نمايد تا در نهايت به
سرويس دهنده مقصد برسد .
برای مشاهده مسير يک بسته اطلاعاتی، از دستور tracerout
که در برخی از سيستم های عامل نظير ويندوز ( از ويندور 98 تا 2003 ) به آن
tracert گفته می شود ، استفاده می گردد.در اکثر سيستم
هائی که از يونيکس و لينوکس استفاده می نمايند ، می توان از دستور
traceroute به منظور مشاهده مسير يک بسته اطلاعاتی
استفاده نمود .
موارد استفاده از دستور tracert
-
عدم امکان
ping نمودن يک کامپيوتر موجود در خارج از
Gateway پيش فرض
. با استفاده از دستور فوق ، می توان کامپيوترها و روترهای موجود در مسير يک بسته
اطلاعاتی تا رسيدن به مقصد نهائی را مشاهده نمود . بدين ترتيب امکان مشاهده محلی
که از آن نقطه به بعد امکان حرکت بسته اطلاعاتی وجود ندارد ، فراهم می گردد .
-
در صورتی که امکان
حرکت بسته های اطلاعاتی از مبداء به مقصد وجود نداشته باشد و يا زمان پاسخ دستور
ping زمانی نامعقول و طولانی باشد .
-
آگاهی از محل توقف يک
بسته اطلاعاتی در شبکه
نحوه عملکرد دستور tracert
دستور فوق از فيلد TTL مربوط به
IP در ICMP Echo Request و پيام های ICMP Time
Exceeded به منظور تعيين مسير مبداء تا مقصد يک بسته اطلاعاتی استفاده می نمايد .
عملکرد اين دستور نيز مشابه ping است و وی نيز از پيام
های مبتنی بر ICMP برای يافتن هر يک از دستگاه های
موجود در مسير يک بسته اطلاعاتی ، استفاده می نمايد . برای تشخيص مسير حرکت ، به
TTL موجود در بسته اطلاعاتی يک مقدار اوليه نسبت داده می
شود . TTL ، يک عدد صحيح است که حداکثر تعداد
hop ( گره و يا روتر ) را که يک بسته اطلاعاتی در مسير
خود با آنان برخورد می نمايد را مشخص می نمايد ( قبل از اين که توسط
IP دورانداخته شود ). مقدار TTL
در ابتدا يک خواهد بود و هر روتر و دستگاه موجود در مسير بسته اطلاعاتی ، يک واحد
به آن اضافه می نمايد .
بدين ترتيب برنامه tracert قادر به دريافت پيام
TIME_EXCEEDED ICMP از هر يک از روترها و يا ساير دستگاه
های موجود در مسير يک بسته اطلاعاتی می باشد .
شکل زير نحوه عملکرد دستور tracert را نشان می دهد .

همانگونه که در شکل فوق
مشاهده می گردد ، کامپيوتر A يک مجموعه از پيام های
ICMP ECHO REQUEST را توليد و آنان را برای کامپيوتر
B ارسال می نمايد. زمانی که اولين بسته اطلاعاتی ارسال
می شود ، مقدار TTL يک خواهد بود و در روتر شماره يک
مقدار آن صفر شده و يک پيام TIME_EXCEEDED ICMP ، برای
کامپيوتر A ارسال می گردد . کامپيوتر
A مجددا" يک بسته اطلاعاتی ICMP ديگر را ارسال می
نمايد . ولی اين مرتبه مقدار TTL آن دو در نظر گرفته می
شود . در چنين حالتی روتر اول ، بسته اطلاعاتی را عبور داده و يک واحد از مقدار
TTL کم می نمايد و آن را برای روتر دوم ارسال می نمايد .
( در اين مقطع مقدار TTL=1 شده است ) . روتر دوم مقدار
TTL را بررسی نموده و از آن يک واحد کم خواهد کرد . با
توجه به اين که مقدار TTL=0 صفر شده است ، مجددا" يک
پيام TIME_EXCEEDED ICMP برای کامپيوتر
A ارسال می گردد . زمانی که ICMP
ECHO REQUEST به کامپيوتر B می رسد ، وی يک ICMP
Echo Reply را برمی گرداند . بدين ترتيب ، کامپيوتر A
قادر به تشخيص تعداد hop موجود در مسير خواهد بود.
استفاده از دستور tracert
جدول زير گرامر دستور tracert به همراه
عملکرد برخی از سوئيچ های متداول آن را نشان می دهد :
|
گرامر دستور
tracert در ويندوز |
|
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name |
|
عملکرد |
سوئيچ |
|
نام
host را به آدرس IP ترجمه نمی نمايد . |
-d |
|
حداکثر تعداد
hop برای جستجوی مقصد را مشخص می نمايد .
|
-h maximum_hops |
|
مدت زمان انتظار برای
دريافت پاسخ بر حسب ميلی ثانيه را مشخص می نمايد . |
-w timeout |
نحوه استفاده از دستور
tracert :
|
تايپ دستور |
خروجی
|
|
C:\>tracert www.google.com
|
Tracing
route to www.google.akadns.net [66.102.11.99]
over a maximum of 30 hops:
1 180 ms 170 ms 191 ms x1.y1.z1.w1
2 201 ms 190 ms 190 ms x2.y2.z2.w2
3 201 ms 180 ms 190 ms x3.y3.z3.w3
4 * 217.218.96.253 reports: Destination net unreachable.
Trace complete. |
توضيحات :
-
در مواردی که در مسير
يک بسته اطلاعاتی مشکل خاصی ايجاد شود و يا پيام ICMP Time Exceeded برگردانده
نشود ، در خروجی علامت "ستاره" نشان داده خواهد شد ( در سه ستونی که معمولا"
زمان round-trip را نمايش می دهند ) . در چنين مواردی
يک پيام Request timed out در قسمت سمت راست نمايش داده می شود .
-
در برنامه اوليه
tracert مقدار پورت در هدر UDP
، يک پورت UNREACHABLE در نظر گرفته می شد . بنابراين
زمانی که بسته اطلاعاتی ICMP به مقصد نهائی خود می رسد
، يک پيام ICMP DESTINATION UNREACHABLE توسط کامپيوتر
مقصد برگردانده می شود .
-
در صورتی که آخرين
گره مشاهده شده در خروجی دستور tracert مقصد نهائی
باشد ، تمامی گره ها و يا روترهای موجود در مسير نمايش داده شده اند .
منبع : www.srco.ir |