پینگ (Ping) چیست؟
PING ابزاری برای تشخیص سالم بودن مسیر و گره یا سرور مقصد و همچنین مشخص کننده مقدار تاخیر برحسب میلیثانیه (MS) است.
پینگ چیست؟
پینگ (Ping) یکی از ابزار و برنامههای مورد استفاده در شبکه است که برای آزمایش در دسترس بودن یک آدرس آی پی یا دامنه (که آن هم تبدیل به آدرس IP میشود) و برای مشخص کردن مقدار زمان تاخیر چرخشی استفاده میشود.
پینگ در سیستم عاملهای مختلف امکانات متفاوتی دارد و فقط یک اسم است که معمولاً برای ابزار ارزیابی وضعیت مقصد مورد استفاده قرار میگیرد. با استفاده از این ابزار کارامد میتوان تاحدودی مشکلات شبکه را اشکال یابی کرد و ارتباطات TCP/IP را مورد ارزیابی قرار داد.
شاخصهای پینگ
ابزار پینگ شاخصهای مختلفی را در اختیار کاربر قرار میدهد که عبارت اند از:
وضعیت یک هاست یا سرور
وقتی ما از ابزار پینگ استفاده میکنیم و یک آدرس آی پی (IP) مثل ۱۳۶.۲۴۳.۱۰۶.۱۳۲ یا یک دامین مثل bytegate.io (که آنهم از طریق DNS به مقدار IP اش تبدیل میشود) را ارزیابی میکنیم، ابتدا برنامه یک درخواست ICMP برای سرور مقصد میفرستد. اگر سرور پاسخ داد مثبت داد یعنی آن سرور در دسترس است.
و اگر پاسخ منفی داد یعنی به هر دلیلی، امکان اتصال به سرور وجود ندارد. حال اگر اصلا پاسخی طی یک زمان مشخص که به آن تایم اوت (Timeout) گفته میشود، دریافت نشود، یعنی آن سرور در دسترس نیست یا وجود خارجی ندارد.
نکته: خود سرور میتواند پاسخی را برنگرداند و با این کار خود را از پروتکل ICMP مخفی کند.
حال وضعیتی را تصور کنید که در پروسه تبادل داده مشکلی وجود داشته باشد. یعنی یا اینترنت ما یا سرور مقصد و یا مسیر ارتباطی دارای مشکل باشد. در این حالت، ممکن است برخی از بستهها به درستی منتقل نشوند مثل تصویر زیر که از ۴ بسته ارسال شده، ۳ مورد به درستی دریافت و یک مورد دریافت نشده است (Request timed out). یعنی ۲۵% از دست رفتن بستهها را داشتهایم.
تاخیر در ارتباط با هاست یا سرور
با ابزار پینگ همچنین میتوانیم علاوه بر مشاهده وضعیت در دسترس بودن یک هاست، میزان تاخیر (Latency) ای که داریم را نیز اندازه بگیریم. این تاخیر در RTT یا به اصطلاح تاخیر چرخشی حساب میشود.
منظور از زمان تاخیر چرخشی، مدت زمانی است که ما یک درخواست alive بودن را به هاست یا مقصد میفرستیم تا زمانی که از طرف آنها، تاییدیه دریافت درخواست برایمان ارسال و توسط برنامه دریافت شود.
میزان تاخیر یا لتنسی بر حسب میلی ثانیه (ms) محاسبه میشود و هر ۱۰۰۰ میلی ثانیه برابر ۱ ثانیه است.
در ابزار پینگ ویندوز میتوانید تاخیری که هر بسته داشته (فیلد time هر آیتم)، میزان تاخیر حداقل (فیلد Minimum) و حداکثر (فیلد Maximum) و تاخیر میانگین (فیلد Average) را مشاهده کنید:
فاصله از هاست یا سرور
با ابزار پینگ میتوان فاصله درخواست کننده تا سرور یا هاست مقصد را نیز برحسب تعداد روترهای موجود بدست آورد.
TTL مخفف عبارت Time To Live (تایم تو لیو) معیاری است که برای مشخص کردن تعداد روترها یا Hopهای موجود در مسیر از آن استفاده میشود. TTL به شبکه یا در مقیاس بزرگتر، به اینترنت، این اجازه را میدهد تا بستههای داده یا به اصطلاح پکت (Packet) دادههایی که بیشتر از چندین مسیریاب (روتر) میگذرند را متوقف کرده و جلوی افتادن آنها به حلقههای تکراری را بگیرد.
برای اطلاعات بیشتر درباره TTL به پست “شاخص TTL (همان Hop Limit) در شبکه چیست؟” بروید.
با در دست داشتن TTL دریافتی از سرور و حدس زدن سیستم عامل سرور، میتوان فهمید که بین ما و سرور چندین روتر قرار دارد. برای مثال میدانیم که بیشتر هاستها (از جمله هاست سایت بایت گیت) بر روی سیستم عامل لینوکس راه اندازی میشوند و چون TTL پیشفرض لینوکس ۶۴ است و در مثال زیر TTL دریافتی ۴۵، پس ۶۴ منهای ۴۵ یعنی بین هاست سایت و من که درخواست پینگ کردهام، ۱۹ روتر قرار دارد که بستهها از بین آنها مسیر دهی میشوند:
سلام امیررضا جان
نمیدونم چجوری ازت تشکر کنم؟
بیشتر از ۱ ساله که من کابر این سایت هستم
خدایا سایه ی این امیررضا رو از سر ما کم و کوتاه نگردان
کاربرا بلند بگین آمین
به داش علیرضامونم سلام برسون از طرف من بگو خیلی آقاس
خوشحالم که رشته ای که دوست داشتی رو انتخاب کردی
درود بر تو
موفق باشی
سلام. خیلی ممنونم آقا علیرضا، دمتون گرم 🙂
دوستانی مثل شما هستن که بهمون انرژی میدن کارمونو پیش ببریم، ایشالا شما هم همیشه موفق و پیروز باشین.
سلام
واقعا عالی بود
موفق باشید
خیلی ممنون 🙂 شما هم موفق باشین.
سلام
نه بارک الله
نــــــــــــــــــــــــه باریک الله
نـــــــــــــــــــــــــــــــــــــــــــــه باریک الله
نـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــه باریک الله
……
:)) خیلی ممنونم ازتون. موفق باشید.