بسیاری افراد حتا متخصصان گاهی از پینگ برای اندازهگیری سرعت هاست و سرور خود استفاده میکنند. اما پینگ تنها تأخیر شبکه را محاسبه میکند که نباید آن را با پهنای باند، سرعت اینترنت، و سرعت انتقال داده یکی دانست. بهتر است با چند تعریف آشنا شویم.
پهنای باند
بیشترین مقدار دادهی کلی که میتواند در ثانیه منتقل شود و معمولاً مقدار ثابتی دارد. در یک شبکه پهنای باند بالاترین سرعتی است که کندترین جزء شبکه میتواند داشته باشد.
مقدار واقعی دادهای که در یک ثانیه در شبکه منتقل میشود با پهنای باند متفاوت است و باید از آن مقدار سربار پروتکلهای اینترنت را کم کرد تا مقدار بار واقعی منتقل شده به دست آید. این مقدار به عوامل متعددی مانند پهنای باند، تأخیر، اندازهی بار، اندازهی بستهها، بار شبکه، تعداد هاپهای مسیر، و… بستگی دارد.
تأخیر (Latency)
تأخیر کمترین زمانی است که شبکه برای ارسال کوچکترین بستهی دادهی ممکن صرف میکند و به فاکتورهایی مانند سرعت مسیر ارتباطی، و تأخیر ارسال و دریافت در مسیریابها و مودمها بستگی دارد. تأخیر کم به معنی کارآیی خوب شبکه است.
تأخیر را میتوان یکسویه (از زمان ارسال بسته از هاست مبدأ تا زمان دریافت آن در هاست مقصد) یا دوسویه (جمع تأخیر یکسویهی مسیر رفت از سمت هاست مبدأ به مقصد و تأخیر یکسویهی مسیر برگشت از سمت هاست مقصد به مبدأ) که به آن round-trip latency میگویند. اغلب از تأخیر دوسویه استفاده میشود، زیرا میتوان آن را از یک نقطه محاسبه کرد. در محاسبهی این تأخیر زمان لازم برای پردازش بسته در مقصد حذف میشود. معمولترین راه برای محاسبهی تأخیر دوسویه استفاده از سرویس ping است.
پینگ (Ping)
پینگ در اصل برای بررسی وضعیت یک ماشین هدف در شبکه ایجاد شده است. برنامهی پینگ با فرستادن یک بستهی 8 بایتی ICMP (پروتکل پیغام کنترلی اینترنت) که به همراه سربار TCP/IP و ICMP به 32 بایت میرسد در دسترس بودن یک هاست را روی شبکهی اینترنت چک میکند و زمان رفت و برگشت این بسته را از هاست مبدأ تا هاست مقصد (round-trip time) برمیگرداند و آمار بستههای از دست رفته را ثبت میکند.
پینگ پردازشی روی بسته انجام نمیدهد و تنها وقتی یک بسته دریافت میکند یک جواب پس میفرستد؛ در نتیجه راه مناسبی برای محاسبهی تأخیر است. در حالت ساده و دقیق تأخیر در هر یک مسیر رفت یا برگشت از لحظهی آغاز ارسال در هاست مبدأ تا لحظهی آغاز دریافت در هاست مقصد محاسبه میشود تا از زمان ناچیز پردازش نیز صرف نظر شود.
اما در یک شبکهی پیچیده یک بسته باید از لینکهای متعدد در گرههای سر راه عبور کند که هر کدام از این گرهها پیش فرستادن بسته را تنها هنگامی آغاز میکنند که دریافت آن را کامل انجام داده باشند. در یک چنین شبکهای تأخیر مجموع:
- حداقل تأخیر هر گره مسیر
- تأخیر ارسال هر هر لینک به جز لینک آخر
- تأخیر هر گره برای پیش فرستادن (forward کردن) بسته
- تأخیرهای صف تشکیل شده در گره دریافتی هر هاست
- و تأخیرهای پردازش هر گره
است.
در شبکههای فیبر نوری سرعت ارسال اندکی کمتر از سرعت نور است. این تفاوت در اثر ایدهآل نبودن مشخصات فیبر، موانع موجود در سر راه، هموار نبودن مسیر و شکست نور و نیاز به تقویتکنندهها در مسیر ایجاد میشود.
در اتصالات ماهوارهای با اینکه سرعت ارتباط تقریباً برابر سرعت نور است به علت قرار گرفتن ماهواره در مدار زمین معمولاً باید انتظار تأخیری حداقل نیم ثانیهای را داشت.
چنان که میبینیم در همهی این شبکهها اگر ابزارها و گرههای واسط حذف شوند رابطهی تقریباً مستقیمی میان تأخیر و فاصله وجود دارد. بسته های پینگ آن قدر کوچکند که با کمترین پهنای باند نیز مشکلی برای ارسال ندارند و عملاً افزایش یا کاهش پهنای باند تأثیری در زمان پینگ ندارد. اما در شبکههای IP عواملی مانند ازدحام ورودی در گرههای پردازشگر در زمان پینگ مؤثرند. به همین دلیل علاوه بر فاصله تعداد گرهها یا هاستهای موجود در مسیر نیز در پینگ تایم دخیل است.
رابطهی تأخیر و پهنای باند
چنان که گفتیم زیاد بودن تأخیر تأثیری در پهنای باند ندارد و افزایش پهنای باند نیز باعث کاهش تأخیر نمیشود. اما این دو پارامتر در میزان اطلاعات قابل ارسال در واحد زمان با هم مرتبطند.
پهنای باند (یا ظرفیت لینک انتقال داده) بر حسب بیت بر ثانیه محاسبه میشود و نشان دهندهی مقدار دادهای است که میتواند در یک ثانیه بر روی شبکه ارسال گردد. تأخیر نیز بر حسب ثانیه (معمولاً میلی ثانیه) اندازه گرفته میشود. حاصل ضرب این دو ماکزیموم مقدار دادهای است که در هر لحظه میتواند روی یک لینک ارتباطی از مبدأ تا مقصد قرار بگیرد، یعنی دادهای که فرستاده شده اما هنوز در مقصد دریافت نگردیده است. به این مقدار «حاصل ضرب پهنای باند-تأخیر» میگویند.
شبکهای که حاصلضرب پهنای باند-تأخیرش زیاد باشد (شبکهی چاق طولانی! یا long fat network یا LFN یا فیل! یا elephant) برای رسیدن به حداکثر کارآیی نیاز به تنظیمات پروتکل دارد. مثلاً پروتکل TCP روی این شبکهها باید بستههایی بزرگ در هر مرتبه ارسال بفرستد تا بتواند از ظرفیت شبکه بیشترین استفاده را بکند. اگر مقدار دادهی ارسالی در هر بار ارسال کافی نباشد -از آنجایی که پروتکل باید پس از ارسال منتظر پیغام تأیید دریافت از گیرنده بماند- لینک ارتباطی به میزان کافی مشغول نخواهد بود و از ظرفیت تعبیه شده در شبکه استفادهی بهینه نمیشود.
بالا بودن این مقدار کار را برای پروتکلها و اپلیکیشنهایی که نیاز به دریافت پاسخ از هاست مقصد دارند یا به پاسخ انتها به انتهای سریع متکیاند دشوار میکند. نمونهی چنین سیستمهایی اتصالات ماهوارهایاند که با وجود پهنای باند زیاد، تأخیر بسیار زیادی نیز دارند. در مصاحبههای تصویری راه دور تلویزیونی حتماً متوجه این مورد شدهاید. تصاویر دریافتی بسیار باکیفیت است و حجم دادهی انتقالی بالاست اما همواره دو سوی ارتباط صدای یک دیگر را با تأخیر دریافت میکنند و منتظر میمانند تا طرف دیگر صحبت آنها را کامل دریافت کند.
بهترین حالت شبکههایی است که پهنای باند بسیار زیاد و تأخیر بسیار کم داشته باشند. شبکههای فیبر نوری چنیناند. با ذکر مثالی نشان میدهیم که افزایش پهنای باند با تأخیر انتها به انتهای ثابت چگونه سرعت انتقال اطلاعات را افزایش میدهد.
فرض کنید یک لینک با پهنای باند 1 مگابیت در ثانیه دارید و زمان پینگ از هاست مبدأ تا مقصد 1 ثانیه است. اگر یک بستهی 10 مگابیتی داده را بخواهید روی این لینک به هاست مقصد بفرستید دریافت کامل بسته در مقصد 10 ثانیه طول خواهد کشید، زیرا بستهی 10 مگابیتی باید به 10 بستهی 1 مگابیت تبدیل شود و این بستهها به نوبت ارسال گردند و ارسال هر بسته 1 ثانیه طول میکشد.
اگر پهنای باند را از 1 مگابیت به 10 مگابیت برسانید با همان تأخیر 1 ثانیهای ارسال بستهی 10 مگابیتی تنها 1 ثانیه طول میکشد، یعنی با وجود تغییر نکردن پینگ تایم یا تأخیر اطلاعات 10 بار سریعتر ارسال شدهاند.
تا اینجا باید روشن باشد که پینگ تایم تنها نشان میدهد که ارسال کوچکترین بستهی ممکن روی یک مسیر ارتباطی به یک هاست مقصد چقدر زمان میگیرد و اگر اتصال اینترنتتان سالم باشد چندان ربطی به سرعت ارتباط شما ندارد و ارتباط آن با سرعت اتصال اینترنت سرور هاست از این هم کمتر است؛ پینگ بیشتر با فاصلهی شما با مقصد مرتبط است. البته میزان مشغول بودن پردازشگر سرور هاست در کندی بالا آمدن هاست شما مؤثر است. اما این کندی به پینگ ارتباطی ندارد.
سلام سوالی خدمتتون داشتم که شاید بتونید کمکم کنید
شما میدونید این دستورات در قسمت کدنویسی وبلاگ چه کاری انجام میده اصلا چی هست؟
c:\>ping4.2.2.4 و دستور c:\>ipconfig/all
باسلام
مواردی که شما به آن اشاره کردید هیچ ربطی به کد نویسی در وبلاگ ندارد
مثلاً کاربرد دستور ipconfig/all مشخصات کارت های شبکه شما رانمایش میدهد. پس از استفاده از این دستور در پنجره cmd مشخصات کارت های شبکه مشخص می شود. ابتدا پیدا کنید کدام کارت شبکه شما را به اینترنت متصل کرده است. سپس در مقابل عبارت IP Address عددی نمایش داده می شود که بیانگر IP شماست.
مثلا سرعت های 128k و 1mg از یه isp پینگشون یکسانه؟؟؟
سلام. جواب شما در متن زیر کاملاً گویاست:
پینگ تایم تنها نشان میدهد که ارسال کوچکترین بستهی ممکن روی یک مسیر ارتباطی به یک هاست مقصد چقدر زمان میگیرد و اگر اتصال اینترنتتان سالم باشد چندان ربطی به سرعت ارتباط شما ندارد و ارتباط آن با سرعت اتصال اینترنت سرور هاست از این هم کمتر است؛ پینگ بیشتر با فاصلهی شما با مقصد مرتبط است. البته میزان مشغول بودن پردازشگر سرور هاست در کندی بالا آمدن هاست شما مؤثر است. اما این کندی به پینگ ارتباطی ندارد.