با سلام من دو مطلب مفید در این رابطه میذارم.
1. دستور Ping چیست؟
يکی از رایج ترين و فراگيرترين دستورهای تشخیص ارتباط بین کامپيوترهای شبکه، استفاده از دستور Ping است. نام اين دستور از جمع سرواژه های عبارت «Packet Internet Groper»، به معنی پژواک گر بسته های اينترنتی بدست آمده است. اما در واقع اين نام از فرهنگ واژگان ردياب کشتی ها گرفته شده است. در اين روش پيام صوتی ای به نام «پينگ» انتشار می يابد. اين سيگنال ها مي توانند از طريق بازتاب، صدا را شناسايی کند. هرکدام از اين ها را که قبول کنيد، پينگ برای انجام کارش در دنيای اينترنت و کامپيوتر، از پيمان نظارت بر پيام های اينترنتی، مشهور به «ICMP» استفاده مي کند. اين پيمان امکان تصحيح خطا و ديگر داده های مربوط به پردازش بسته های «IP» را فراهم مي سازد. برای مثال، مي تواند به نرم افزار «IP» يک دستگاه امکان دهد عدم توانايی دسترسی به دستگاه ديگر را اطلاع دهد. پينگ با استفاده از «ICMP» بسته داده ای به نام «پژواک درخواست» به کامپيوتر راه دور واقع در شبکه می فرستد. اين بسته، همان بسته ایست که از کامپيوتر راه دور می خواهد يک بسته پژواک پاسخ به کامپيوتر مبدا ارسال کند. به اين ترتيب می توان معلوم کرد که کامپيوتر به شبکه وصل است يا نه؟ غير از اين مي توان از آن برای تعيين ارتباط کارت رابط شبکه با کامپيوتر نيز استفاده کرد. برای مثال فرض کنيد کامپيوتر نمي تواند به کامپيوترهای ديگر شبکه وصل شود. در اينصورت اولين کاری که بايد انجام دهيد انجام پينگ حلقه ی بازگشت است. اين دستور نشان ميدهد که کارت رابط شبکه به درستی کار مي کند يا نه؟ برای اين کار مي توانيد از IP ذخيره شده 127.0.0.1 استفاده کنيد.
برای انجام اين آزمون به صورت عملی، مي توانيد کارهای زير را در ويندوز XP به ترتيب زير انجام دهيد:
1- برنامه Run را از منوی Start اجرا کنید.
2- فرمان CMD را جهت ورود محیط Dos به وارد کنید.
3- در مقابل اعلان فرمان، يکی از فرمان های زير را بنويسيد:
1- Ping 127.0.0.1
2- Ping LocalHost
هنگامی که يکی از دو فرمان را به کار ببريد حلقه بازگشت پينگ اجرا مي شود در اين صورت دو اتفاق زير روی مي دهد:
1- عمل موفقيت آميز بوده که در اين حالت يک مجموعه پاسخ می بينيد که با عبارت Reply from شروع شده است. برای مثال خواهيد داشت:
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
زمان در اين پيام ها نشان مي دهد چه مدتی طول کشيده است تا پژواک درخواست، دريافت شود.
نکته: واژه «TTL» نيز جمع سرواژه های عبارت Time To Live به معنای زمان بقای بسته است.
2- اگر عمل موفقيت آميز نباشد يک پيام درخواست زمان درنگ دريافت مي کنيد.
پس از موفقيت آميز بودن ارتباط کارت شبکه با کامپيوتر، مي توان به سراغ آزمون ارتباط با کامپيوتر های شبکه برويد. برای اين کار می توانيد باز هم به سراغ پينگ عزيز برويد، اما اين دفعه لازم است «آی پی» کامپيوتر مورد نظر را بدانيد. يعنی فرمان پينگ را به صورت زير به کار ببريد:
Ping
برای مثال، اگر IP برابر 10.0.0.2 باشد، در اين صورت خواهيد داشت:
Ping 10.0.0.2
اين بار نيز يکی از دو حالت زير روی مي دهد:
1- عمل موفقيت آميز است و مجموعه پاسخ زير نوشته می شود:
Reply from 10.0.0.2 : bytes=32 time<1 ms TTL=128
2- عمل ارتباط موفقيت آميز نبوده است. که در اين صورت يک مجموعه پیام مبنی بر عدم دسترسی به ميزبان مقصد دريافت مي کنيد. که با عبارت « Request timed out
» معرفی مي شود.
_______________
2. بيشتر مديران شبكه با اين دستور كاملا آشنا هستند و تقريبا هر روز از آن استفاده مي كنند. ساده ترين كاربرد اين دستور تست ارتباط بين دو نقطه از شبكه است. استفاده از اين دستور به ما نشان مي دهد كه آيا دو كامپيوتر همديگر را مي بينند يا خير و همچنين مدت زمان ارسال و دريافت پاكت اطلاعاتي نيز برآورد مي شود. دستور Ping معمولا بصورت تنها بكار برده مي شود اما سوئيچ هايي نيز قابل استفاده با اين دستور هستند. در زير شرح برخي از اين سوئيچ ها آمده است :
Ping –t
تا زماني كه عمل Ping كردن را بطور دستي قطع نكنيم عمليات ارسال و دريافت پاكت اطلاعاتي ادامه پيدا خواهد كرد.
Ping –a
با كمك اين دستور قادر خواهيم شد تا به نام كامپيوتري كه در حال Ping كردن هستيم دسترسي پيدا كنيم.
Ping –n count
تعداد Acho Request ها را مشخص مي كند.
ping
طرز كار ping بدين صورت است كه ابتدا بسته ICMP Echo Request را به سمت كامپيوتر مقصد ارسال مي كند. اگر كامپيوتر مقابل اين بسته را دريافت كند بسته اي به نامه ICMP Echo Reply را به سمت مبدا ارسال مي كند و خبر دريافت پاكت اطلاعاتي اوليه را بطور خودكار مي دهد. بطور پيش فرض تعداد ارسال بسته Echo Request چهار عدد است كه در صورت استفاده از سوئيچ –t اين تعداد بيشتر خواهد گرديد. در صورتيكه روز خوبي را داشته باشيد و ارتباط شما برقرار باشد پاسخ Reply را دريافت خواهيد كرد و در غير اين صورت به پيغام Time out مواجهه خواهيد شد و خب با اين وضعيت بايد دليل عدم ارتباط را كه ممكن است ناشي از مشكلات كارت شبكه و يا لينك فيزيكي شبكه باشد را بيابيد.
The Destination Host Unreachable Message
اين پيغام بدين معني است كه مسيري به كامپيوتر مقصد پيدا نشده است. براي حل اين مشكل كامپيوتر خود را وارسي كنيد و ببينيد آيا تنظيمات آن به درستي انجام شده است يا خير. مطمئن شويد كه default gateway درست تنظيم شده است. در زير نمونه اي از اين پيغام را مشاهده مي كنيد.
Pinging 24.67.54.233 with 32 bytes of data:
Destination host unreachable.
Destination host unreachable.
Destination host unreachable.
Destination host unreachable.
Ping statistics for 24.67.54.233:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
The Request Timed Out Message
شايد اين پيغام را بسيار ديده باشيد. اين پيغام نشاندهنده اين است كه كامپيوتر شما در مدت مشخص تعيين شده اي پاسخ پاكت ارسال شده را دريافت نكرده است. اگر فرض كنيم مسيرفيزيكي ارتباطي كامپيوتر ما با كامپيوتر مقصد مشكلي نداشته باشد اين پيغام مي تواند نشانگر اين مسئله باشد كه كامپيوتر مقصد به شبكه وصل نيست، خاموش بوده و يا به درستي تنظيم نشده است. همچنين اين پيغام مي تواند نشانگر اين باشد كه يكي از دستگاه هاي مياني درست كار نمي كند. در برخي موارد خاص اين پيغام به دليل ترافيك بسيار بالاي شبكه بوجود مي آيد. همچنين ممكن است كه عمل ping به آدرس شبكه اشتباهي صورت گرفته است يا اينكه آن كامپيوتر در شبكه صحيح وجود ندارد و بايد اصلاح آدرس شبكه در آن صورت بگيرد.در زير نمونه اي از اين پيغام را مشاهده مي كنيد:
C:\>ping 169.76.54.3
Pinging 169.76.54.3 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 169.76.54.3:
Packets: Sent = 4, Received = 0, Lost = 4 (100%
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
در برخي موارد هم مشاهده مي شود كه پاسخ ping بصورت ممتد نمي باشد و گاه پاسخ به پاكت اطلاعاتي ما قطع مي شود در زير نمونه اي از اين حالت را مشاهده مي كنيد:
C:\>ping -t 24.67.184.65
Pinging 24.67.184.65 with 32 bytes of data:
Reply from 24.67.184.65: bytes=32 time=55ms TTL=127
Reply from 24.67.184.65: bytes=32 time=54ms TTL=127
Reply from 24.67.184.65: bytes=32 time=27ms TTL=127
Request timed out.
Request timed out.
Request timed out.
Reply from 24.67.184.65: bytes=32 time=69ms TTL=127
Reply from 24.67.184.65: bytes=32 time=28ms TTL=127
Reply from 24.67.184.65: bytes=32 time=28ms TTL=127
Reply from 24.67.184.65: bytes=32 time=68ms TTL=127
Reply from 24.67.184.65: bytes=32 time=41ms TTL=127
Ping statistics for 24.67.184.65:
Packets: Sent = 11, Received = 8, Lost = 3 (27% loss),
Approximate round trip times in milli-seconds:
Minimum = 27ms, Maximum = 69ms, Average = 33ms
در اين حالت معمولا نياز است تا صحت دستگاه هاي مياني را بررسي كنيد كه آيا درست كار مي كنند يا خير. مشكل كارت شبكه هم به ندرت باعث اين خطا مي شود.
The Unknown Host Message
هرگاه آدرس مقصد قابليت تشخيص توسط كامپيوترتان را نداشته باشد اين پيغام را دريافت خواهيد كرد. اين پيغام معمولا وقتي از آدرس مقصد اشتباه استفاده كنيد اتفاق مي افتد. همچنين عدم تنظيم DNS يا درست كار نكردن DNS هم امكان ايجاد اين پيغام را مي دهد.
C:\>ping
www.comptia.ca
Unknown host
www.comptia.ca
در صورتي كه موارد فوق را چك كرديد و هنوز مشكل باقي باشد احتمال دارد مشكل Name Resolution باشيد لذا بايد DNS و WINSرا بررسي كنيد. شما مي توانيد از دستورات nslookup و dig براي اين منظور استفاده كنيد.
The Expired TTL Message
The Time To Live يا TTL مطلبي جالب براي بررسي دستور Ping است. عمل TTL از به لوپ افتادن پاكت هاي پينگ جلوگيري مي كند. TTL هاپ ها را در مسير خود شمارش مي كند و در هر هاپ يك شماره از TTL كم مي شود. وقتي كه عدد TTL به صفر برسد اين بدان معناست كه زمان تعيين شده تمام شده و پيغام زير نمايش داده مي شود :
Reply from 24.67.180.1: TTL expired in transit
در صورتيكه اين پيغام را دريافت كرده باشيد به احتمال قوي مشكل Routing داريد. شما مي توانيد در TTL تغيير حاصل نماييد و براي اين كار از دستور ping –i استفاده كنيد
رفع مشكل توسط دستور Ping
اگرچه دستور ping بطور كامل مشكل را حل نمي كند و احتمال خطا در نتيجه گيري با توجه به تجربه مدير شبكه وجود خواهد داشت اما مي توان تست هاي مفيدي را براي تشخيص بهتر خطا با اين دستور ساده انجام داد.
1- آدرس لوپ بك كامپيوتر خود را توسط دستور ping 127.0.0.1 بررسي كنيد. در صورتيكه موفقيت ping شما از سلامت TCP/IP دستگاه خود مطمئن خواهيد شد. در صورتيكه نتوانيد آدري لوپ بك را پينگ كنيد به احتمال قوي بايد TCP/IP دستگاه خود را دوباره نصب و تنظيم كنيد.
2- آدرس شبكه كارت شبكه خود را پينگ كنيد در صورت موفقيت مطمئن خواهيد شد كه TCP/IP درست كار مي كند و در غير اينصورت مشكل در تنظيم آدرس شبكه رو كارت شبكه داريد و يا اينكه كارت شبكه شما به درستي نصب نشده است.
3- آدرس شبكه كامپيوتر ديگر را پينگ كنيد. با مشاهده پينگ موفق مطمئن خواهيد شد كه كامپيوتر شما در ارتباط با كامپيوترهاي ديگر روي شبكه و ديدن منابع مشكلي نخواهد داشت. در غير اينصورت ارتباط كامپيوتر شما به شبكه داراي مشكل است و بايد اتصالات را بررسي كنيد.
4- پس از اطمينان از اينكه آدرس شبكه كامپيوتر شما درست كار مي كند و قادر هستيد كامپيوتر هاي ديگر در شبكه را ببينيد ، حال بايد ببينيد آيا كامپيوتر شما كامپيوترهاي خارج شبكه را نيز مي تواند به راحتي ببيند يا خير. براي اين منظور بايد آدرس Default Gateway را پينگ كنيد.
5- درصورتيكه كه توانستيد آدرس Default Gateway را در مرحله قبل پينگ كنيد حال مي توانيد اقدام به آدرس شبكه كامپيوتري خارج از شبكه خود را پينگ كنيد.
همانطور كه مشاهده كرديد با انجام موارد بالا بررسي خوبي بر صحت ارتباط كامپيوتر خود خواهيد داشت. در صورتيكه آدم خوشبيني هستيد مي تواند مرحله پنج را در ابتدا انجام دهيد. اگر پينگ در محله پنج بدون مشكل انجام شود نشاندهنده آن است كه كليه مراحل بالا نيز به خوبي كار مي كنند و در غير اينصورت از مرحله يك بررسي خود را شروع كنيد.