تبلیغات

پینگ چیست؟! آیا میتوان پینگ صفر داشت؟!

وقتی حرف از «پینگ» زده شود، ناخودآگاه به یاد ورزشی به نام «پینگ پونگ» نیز خواهیم افتاد! پینگ در لغت به معنای «صدای غژ» است. و غژ یعنی صدای چیزی که بسیار تند حرکت می‌کند (صدای تیز و تند)؛ مانند صدای سایش سر شاخ‌های درخت به دیوار و پنجره: “غژ غژ غژ”! و حالا زمانی که پینگ پونگ یا همان تنیس روی میز بازی می‌کنیم، با هربار برخورد توپ، صدایی به وجود می‌آید! «پینگ»!

توپ به راکت تنیس شما برخورد می‌کند و پینگ رخ می‌دهد! سپس به سمت راکت تنیس طرف مقابل رفته و پینگ دیگری رخ می‌دهد! دوباره به سمت راکت شما خواهد آمد و دوباره یک پینگ دیگر! و در این بین، یک زمانی بین این برخوردها محسابه می‌شود و توپ تا ایجاد پینگ یک تاخیر زمانی خواهد داشت.

حالا در علم کامپیوتر، فرض کنید قصد داریم تا فاصله‌ی زمانی اتصال بین دو دستگاه در شبکه را به دست آوریم و همانند بازی «پینگ‌پونگ» که با هربار برخورد توپ، پینگ به وجود می‌آید، در اینجا نیز با هربار اتصال دو دستگاه، پینگ به وجود خواهد آمد و زمانی که برای مثال شما از کامپیوتر شخصی خود به سرور یک سایت درخواست ارسال می‌کنید، وقتی که دخواست شما به سرور برسد، پینگ شما نیز به وجود خواهد آمد و تا رسیدن درخواست شما به سرور، یک تاخیر زمانی وجود دارد که زمان پینگ نامیده می‌شود.

وقتی شما روی لینکی کلیک می‌‌کنید، پیامی را در شبکه‌های اجتماعی به دوستانتان ارسال می‌کنید، وارد یک بازی آنلاین می‌شوید و …، در واقع یک تاخیر زمانی در همه‌ی اینها وجود دارد تا درخواست شما در شبکه به سرور برسد و پینگ رخ دهد! و هرچه پینگ ما سریع‌تر رخ دهد، این زمان کمتر خواهد بود و هرچه پینگ ما دیرتر رخ دهد، این زمان بیشتر خواهد بود! لذا مقدار پینگ کمتر، سرعت بیشتری را به همراه خواهد داشت.

یک کار جالب

اگر پشت کامپیوتر و سیستم عامل ویندوز هستید، کلیدهای ترکیبی Win+R (پرچم + R) را فشار دهید؛ سپس عبارت cmd را نوشته و Enter را بزنید. در نهایت در پنجره‌ی سیاهی که باز می‌شود، دستور زیر را وارد کنید:

با چیزی مثل تصویر زیر رو به رو خواهید شد:

در اینجا، دستور ping در محیط cmd تعریف شده است تا شما با استفاده از آن  بتوانید یک درخواست ساده در شبکه ارسال کنید؛  سپس پینگ رخ داده و اطلاعاتی به دست آورید! در بالا، شما درخواستی به فول کده ارسال کردید و وقتی پینگ رخ داد، جوابی گرفتید! 32 بایت داده ارسال شده است، سپس مدت زمان 46 میلی ثانیه طول کشیده تا پینگ رخ دهد! این کار 4 بار انجام گرفته و در مورد سوم، پینگ در زمان 47 میلی ثانیه رخ داده است.

حالا کاربرد پینگ چیست؟!

پینگ صرفا ابزاری برای اندازه گیری «عملکرد» نیست. و ویژگی بخصوص پینگ، اندازه گیری زمان تاخیر اتصال بین کامپیوتر شما با دستگاه مقصد (Remote Device) است. چراکه پینگ، مدت زمان ارسال بسته (Packet) از رایانه شما، رسیدن آن به دستگاه مقصد و ارسال مجدد آن به رایانه شما را مشخص می‌کند و بسیاری از بازی‌های آنلاین، از پینگ برای سنجش فاصله‌ی زمانی به صورت تصویری بهره می‌برند.

آیا تا کنون به این نکته توجه کرده‌اید که وقتی در یک وبسایت روی لینکی کلیک می‌کنید، صفحه‌ی مقصد بلافاصله باز نمی‌شود؟! در این حالت یک وقفه‌ی زمانی (زمان تاخیر) وجود دارد. درخواست باز کردن صفحه‌ی جدید باید از سوی رایانه‌ی شما ارسال شود و سپس صفحه‌ی مورد نظر برای شما بارگذاری می‌گردد. زمان کوتاهی برای ارسال هر بسته‌ی داده‌ای (Packet Data) از کامپیوتر شما به کامپیوتر مقصد طول خواهد کشید. که پینگ به شما اجازه می‌دهد این زمان را اندازه‌گیری کنید.

این موضوع در هنگام اجرای بازی‌های آنلاین بیشتر قابل درک است. مثلا اگر شما قصد انجام یک بازی آنلاین را دارید که نیاز به پینگ ۲۰ میلی‌ثانیه دارد، زمان تاخیرتان باید بسیار کوتاه باشد. در این صورت اعمالی که در بخش‌های مختلف بازی انجام می‌دهید، تقریبا بلافاصله انجام خواهند شد. اگر پینگ شما بالاتر و مثلا ۲۰۰ میلی‌ثانیه است، اعمالی که در بازی انجام می‌دهید، با یک فاصله‌ی زمانی انجام می‌شوند و در نتیجه شما نسبت به سایر افرادی که به طور همزمان با آنها بازی می‌کنید، عقب می‌مانید.

احتمالا در برخی از بازی‌های آنلاین برایتان پیش آمده با وجود این که سریع پشت دیوار قایم می‌شوید، ولی تیر طرف مقابل به شما اصابت می‌کند! این به دلیل این است که پینگ شما پایین است! و هنوز قایم شدن پشت دیوار به سرور نرسیده است و در آن مدت زمان، تیر به شما اثابت کرده است.

بنابراین این که چرا در بازی‌های آنلاین چند نفره، زمان پینگ خیلی مهم است اینجا مشخص می‍شود. پینگ به شما کمک می‌کند تا میزان کیفیت اتصال خود را در شبکه بسنجید و عملکرد و کارایی مورد انتظار سرور را دریابید. هر چه پینگ کوتاه تر باشد، بهتر است و به معنی زمان تاخیر کمتری خواهد بود؛ در نتیجه اتصالی پرسرعت‌تر بین رایانه‌ی شما و سرور برقرار می‌شود. این موضوع قابل تعمیم به تمام فعالیت های آنلاین شماست؛ خواه انجام یک بازی آنلاین باشد و خواه مرور یک وب سایت مانند فول‌کده!

البته گاهی اوقات ممکن است پینگ فقط به صورت «تاخیر زمانی» به نمایش درآید. ولی در بازی های آنلاین برای اینکه مشخص شود پینگ شما چقدر خوب است، معمولا به صورت یک رنگ برای شما نمایان خواهد شد که شامل سه رنگ سبز (خوب)، زرد (متوسط) و قرمز (ضعیف) می‌باشد (بستگی به توسعه‌دهندگان بازی دارد که این را برایتان نمایش دهند یا نه.

پینگ چگونه کار می کند؟

دستگاه شما شما بسته‌های داده‌ای کوچکی (که در قوانین شبکه، بسته (Packet) نامیده می شوند) را در شبکه، به دستگاه مقصد ارسال می‌کند؛ سپس رایانه‌ی مقصد، بسته‌ی ارسالی شما که نیاز به پاسخ دارد را دریافت می‌کند. و در نهایتف رایانه‌ی مقصد نیز یک بسته به رایانه‌ی شما ارسال می‌کند.

و این مراحل برای هر پینگ تکرار می‌شود. پینگ به شما اجازه می‌دهد مدت زمان رفت و برگشت بسته‌ها را بین رایانه‌ی خود و رایانه‌ی مقصد، اندازه بگیرید. به عنوان مثال همانطور که در تصویر CMD دیدید، ما از ویندوز برای ارسال پینگ به فول کده (fullkade.com) استفاده کردیم؛ و این دستور، ۴ بسته یا ۴ دستور پینگ جداگانه را ارسال کرد. سپس برای ۳ پینگ، زمان ۴۶ میلی‌ثانیه و برای یکی از آنها، ۴۷ میلی‌ثانیه طول کشید. به زبان ساده‌تر، این یعنی برای ارسال ۳ بسته‌ی اول، دوم و سوم به فول کده و دریافت آن توسط رایانه‌ی ما، مدت زمان ۴۶ میلی‌ثانیه صرف شده، در حالیکه برای بسته‌ی سوم، همین مراحل ۴۷ میلی‌ثانیه به طول انجامیده است. اما چرا پینگ سوم بیشتر طول کشید؟! خب دلایل زیادی می‌تواند داشته باشد؛ ممکن است سرور فول کده، این کار را آهسته‌تر انجام داده باشند؛ یا امکان دارد روتر اینترنتی‌ای که بین ما و سرور فول کده قرار دارد، بیشتر از حد معمول مشغول باشد؛ میزان ورودی اطلاعات توسط وای فای ما ممکن است نوسان داشته باشد و دلایل فراوان دیگر. البته برخی از این نوسانات رایج و طبیعی هستند.

بنابراین مدت زمان پینگ تنها به شما بستگی ندارد و به سرور نیز بستگی دارد.

آیا پینگ صفر امکانپذیر است؟

همانطور که گفته شد، هرچه پینگ کوتاه‌تر باشد، بهتر است.لذا پینگ صفر، یعنی رایانه‌ی ما به صورت بی وقفه و بدون تاخیر، با رایانه‌ی مقصد در ارتباط باشد.

اما با توجه به قوانین فیزیک، حتی بخش بسیار کوچکی از یک داده، که بتوان آن را بسته نامید، برای انجام مسیر رفت و برگشت، یک مدت زمانی را نیاز خواهد داشت. حتی اگر داده‌های شما در کابل‌های فیبر نوری ارسال و دریافت شوند، با محدودیت سرعت نور مواجه هستند. از سویی دیگر نیز به دلیل وجود روترهای واسطه که بسته‌های داده‌ای را دریافت کرده و آنها را به اتصالات دیگر می‌فرستند، باز هم در رفت و آمد بسته‌ها محدودیت ایجاد می‌شود.

اگر شما قصد اجرای دستور پینگ را در سرور محلی (Localhost) و روی رایانه خود داشته باشید، در واقع شما از رایانه خود خواسته‌اید تا بسته‌ها را از خودش به خودش ارسال کند و در این حالت شما زمان پینگ را صفر میلی ثانیه خواهید دید. به عبارتی این یعنی رایانه‌ها می‌توانند با خودشان به صورت بلادرنگ ارتباط داشته باشند. البته در این شرایط نیز باز هم نمی‌توان زمان صفر مطلق را برای انجام پینگ انتظار داشت، چرا که برای اجرای دستور توسط نرم افزار مربوطه زمانی هر چند بسیار کوتاه (بسیار نزدیک به صفر)، نیاز خواهد بود. اما به هر حال این زمان آنقدر کم است که می‌توانیم از آن چشم پوشی کرده و زمان صفر میلی‌ثانیه برای ارتباط رایانه با خودش را در نظر بگیریم.

هنگامی که طول کابل‌ها، تعداد روترها و فاصله‌ی بین رایانه‌ی مبداء و مقصد را بیشتر کنید، قطعا دیگر نمی‌توانید انتظار پینگ صفر را داشته باشید. می‌توانید این مورد را روی روتر خانگی خود بررسی کنید. ما دستور پینگ را به روتر خانگی خود، که در یک اتاق نسبتا کوچک قرار دارد و به صورت بی سیم به آن متصل هستیم ارسال کردیم و زمان متوسط پینگ ۳ میلی‌ثانیه و کمترین زمان به دست آمده ۱ میلی‌ثانیه بود؛ چراکه برای ارتباط با سایر دستگاه‌ها به مقداری زمان نیاز است. اگر به صورت بی‌سیم به روتر متصل نباشیم و فقط بخواهیم با آن ارتباط برقرار کنیم، زمان پینگی نزدیک به صفر میلی‌ثانیه را خواهیم داشت؛ و همچنین برای ارسال بسته به شبکه‌ی خدمات دهنده‌ی اینترنت، و بازگشت آن به سمت روتر و اتصال به اینترنت مقداری زمان نیاز خواهد بود.

در نهایت بگذارید خیالتان را راحت کنیم، شما نمی‌توانید پینگی با زمان صفر داشته باشید و این محدودیت به دلیل قوانین فیزیک است. ما نمی توانیم اطلاعات را بلادرنگ انتقال دهیم (مگر با استفاده از قوانین کوانتومی). اگر بتوانیم راهی برای انتقال اطلاعات در بستر اینترنت با استفاده از قوانین کوانتومی پیدا کنیم، آنگاه می‌توان به پینگ صفر دست یافت. اما این موضوع نیز فعلا در حد یک نظریه است و نیازی نیست نفستان را برای رسیدن به این موفقیت در سینه حبس کنید! پس آرام باشید و نفسی عمیق بکشید!

قطعا در آینده تاخیرها و فاصله‌های زمانی ارسال اطلاعات کاهش می‌یابند. برای مثال مرورگرهایی مانند کروم، فایرفاکس و اینترنت اکسپلورر در حال حاضر صفحات وبی که شما احتمالا قصد مشاهده‌ی آن ها را دارید، از قبل بارگذاری می‌کنند تا تغییر محسوسی را هنگام کلیک بر روی یک لینک و مشاهده‌ی صفحه‌ی وب جدید احساس نمایید. به هر حال پینگ صفر (به عبارتی ارسال بدون تاخیر اطلاعات) به احتمال زیاد دست نیافتنی باقی می‌ماند.

تبلیغات
0
کانال تلگرام فول کده
تبلیغات

درباره نویسنده

هادی اکبرزاده

[ مدیر فول کده ]

علاقه‌مند به اشتراک گذاری اطلاعات در هر زمینه‌ای / برنامه‌نویس / مدیر فول کده

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظرات ثبت شده بدون دیدگاه