RTT چیست | همه چیز درباره زمان رفت و برگشت در شبکه
سرعت در شبکه بسیار حائز اهمیت است. کاربران انتظار دارند در عرض کمتر از سه ثانیه دسترسی انجام شود و مدتزمان طولانیتر برای آنان قابل قبول نیست. اهمیت این فاکتور بهقدری بالاست که معیار مشخصی برای معرفی این سرعت در قالب «زمان رفت و برگشت شبکه» یا rtt معرفی میشود. rtt تضمین میکند سرور با سرعت و کارایی مطلوب به درخواستهای کاربران پاسخ دهد و میزان تاخیر را اندازهگیری میکند. در این مقاله قصد داریم با مفهوم این اصطلاح در شبکه آشنا شویم؛ ببینیم rtt چیست و جزئیات مربوط به آن را مرور کنیم. همراه ما باشید.
rtt چیست؟
Rtt مخفف «Round Trip Time» به معنای «زمان رفت و برگشت در شبکه» مفهومی است که مدت زمان ارسال یک بسته داده و زمان دریافت تصدیق (acknowledge) آن سیگنال را در قالب میلیثانیه اندازهگیری میکند. زمان انتشار مسیرهای بین دو اندپوینت مرتبط در این تاخیر زمانی گنجانده میشود و مهمترین هدف مدیر شبکه کاهش این مقدار است. چرا که این زمان رفت و برگشت، مستقیما کیفیت ارتباطات شبکه بین دو اندپوینت را نشان میدهد.
rtt چطور کار میکند؟
اکنون که با تعریف مدت زمان رفت و برگشت در شبکه آشنا شدیم، بیایید ببینیم کارکرد rtt چیست.
گفتیم که هرگاه دادهها به سمت مقصدی فرستاده شوند، مدتزمان ناخالصی که طول میکشد تا کل فرایند رفت و برگشت انجام شود، با rtt معرفی میشود.
فرض کنید یک مشتری در ایران سعی میکند با سروری در ترکیه ارتباط برقرار کند. مشتری اینجا درخواست خود را ميفرستند و قبل از آنکه ترافیک وب به ترکیه برسد، از چند روتر در مکانهای مختلف عبور میکند؛ در نهایت سرور ترکیه پاسخی به سرور ایران میفرستد و تصدیق میکند که پیام را دریافت کرده است.
مدت زمان این فرایند از موقع ثبت درخواست در ایران تا دریافت پاسخ از سرور ترکیه تخمین زده شده و به عنوان rtt یا زمان رفت و برگشت معرفی میشود. توجه کنید که این معیار کاملا تخمینی است و نمیتوان به آن مطمئن بود.
مقدار استاندارد RTT چیست؟
هر شبکهای با هر برنامه و هدفی که دارد، الزامات متفاوتی داشته و ارائه یک بازه زمانی مشخص که برای همه شبکهها مناسب باشد، تقریبا غیرممکن است. با این حال، تقریبا میتوان گفت بهترین زمان رفت و برگشت در شبکه بین حداقل ۹۵ میلیثانیه و حداکثر ۱۹۰ میلیثانیه است.
اگر مقدار Rtt خیلی زیاد باشد چه اتفاقی میافتد؟
دادههای تکراری کمترین کارایی را در شبکه دارند. زمان رفت و برگشت بیش از حد یک بسته نشان میدهد احتمالا شبکه حجم ترافیک را در زمانهای شلوغی دوپلیکیت (کپی) میکند.
چه عواملی بر زمان رفت و برگشت تاثیر میگذارند؟
سوال بعدی که ممکن است مطرح شود، این است که تاثیر عوامل بیرونی بر rtt چیست و اصلا چه عواملی بر آن تاثیر میگذارند؟
- تاخیر پردازش، صف و کدگذاری: اتصالات بهینه شده CDN تعداد پرشهای لازم برای رسیدن به مقصد را به حداقل میرساند. این موارد بر اساس تعداد نودهای شبکه که اندپوینتها را به هم متصل میکنند، متفاوت خواهند بود.
- فاصله (تاخیر انتشار): طولانی شدن فاصله کیفیت اتصال شبکه را تحت تاثیر قرار میدهد.
- ترافیک LAN: به دلیل حجم ترافیک در شبکه محلی، اتصالات ممکن است قبل از رسیدن به شبکه اینترنت گستردهتر با مانع مواجه شوند.
- زمان پاسخگویی: مدت زمانی که طول میکشد تا سرور به یک درخواست پاسخ بدهد، با توجه به قابلیت پردازش، تعداد درخواستهای پردازش شده و نوع درخواست تعیین میشود. در نتیجه، زمان RTT افزایش مییابد.
- رسانه انتقال برای مسیریابی سیگنال: مواردی مثل کابل کواکسیال یا کابلهای فیبر نوری میتوانند بر زمان rtt تأثیر بگذارد.
نحوه اندازهگیری RTT در شبکه
سازوکار شبکه طوری است که نمیتوانیم هر موقع خواستیم با سرور تماس بگیریم و از طبیعی بودن سرعت شبکه اطمینان حاصل کنیم. برای بهدست آوردن مقدار rtt باید از دستورات تخصصی استفاده کنیم. برنامهنویسان سرعت را با پینگ اندازه میگیرند. برای اینکه بدانید مقدار rtt چیست، در محیط ویندوز این مراحل را دنبال کنید:
- Windows و R را فشار دهید.
- وقتی پنجره Run باز شد، عبارت cmd را تایپ کرده و enter را فشار دهید.
- عبارت “ping” و آدرس IP که میخواهید سرعتش را بدانید را تایپ کرده و enter را بزنید.
در همان پنجره عددی نمایش داده میشود که نشان میدهد سرعت سرور چقدر است.
همچنین پیشنهاد می شود مقاله آدرس IP چیست را مطالعه نمایید.
rtt همان Latency نیست!
مفهوم تأخیر شبکه ارتباط نزدیکی با rtt دارد؛ اما این دو مفهوم یکی نیستند. تأخیر مدت زمانی است که طول میکشد تا بستهای از یک نقطه پایانی (محل ارسال) به نقطه پایانی دیگر (محل دریافت) برود. در حالی که RTT تاخیر پردازش در نقاط پایانی را نیز در نظر میگیرد.
Rtt همان پینگ نیست!
زمان رفت و برگشت (rtt) و پینگ (Ping) اغلب مترادف در نظر گرفته میشوند. در حالی که این دو مفهوم با هم فرق میکنند.
پینگ شاید تخمین خوبی از زمان رفت و بازگشت ارائه دهد؛ اما تفاوت اینجاست که تست پینگ با استفاده از بستههای ICMP روی پروتکل انتقال اجرا میشود. در حالی که RTT در لایه برنامه اندازهگیری میشود و تاخیر پردازش اضافی که توسط پروتکلها و برنامههای سطح بالاتر (مانند HTTPS) اتفاق میافتد را نیز شامل میشود.
برای آشنایی بیشتر با پینگ مقاله Ping چیست را مطالعه کنید.
بهترین روش کمکردن rtt چیست؟
گاهی اوقات چندین بار سرعت سرور را اندازه میگیریم و به نتیجه خوبی نمیرسیم. سرعت سرور بهمراتب کندتر از رقبا است. در این شرایط چکار میتوان کرد؟ چاره پایین آوردن rtt چیست؟
اولا باید بدانید که برخی از این موانع خارج از کنترل شما هستند؛ مثلا اگر درخواستهای زیادی روی سرور اجرا شود، ترافیک LAN بیش از حد قانونی آن پر شود، مسافت بین مبدا و مقصد طولانیتر شود یا موانع فیزیکی مثل کابلها و سوئیچهای شبکه زیاد باشند، معمولا نمیتوان آنها را در لحظه تغییر داد و بر سرعت شبکه تأثیر میگذارند. برای اطلاعات بیشتر درباره سوئیچ و سرور پیشنهاد می شود مقاله های سوئیچ چیست و سرور چیست را مطالعه نمایید.
اما پاسخ کند سرور میتواند نشانه حملات انکار سرویس توزیع شده (DDoS) هم باشد. تشخیص این موارد از ترافیک عادی دشوار است. اما آزمایش پینگ مکرر میتواند یک حمله در حال انجام را کشف کند. به محض مشاهده این حمله بلافاصله سطح حمله را پایینتر بیاورید.
اما اگر خبری از حمله نیستید ولی همچنان عدد rtt کمتر از میزان مورد انتظار است، به فکر راهاندازی یک شبکه تحویل محتوا (CDN) باشید. گروهی از سرورها را به هم پیوند دهید و آنها را در لبه شبکه مستقر کنید تا فرایند تحویل محتوا سریعتر شود.
همچنین میتوانید کاربران معمولی را به استفاده از دادههای کش (حافظه نهان) تشویق کنید تا صفحات وبسایت سریعتر برای آنها بارگذاری شود.
تفاوت میان ttl و rtt چیست؟
زمان رفت و برگشت در شبکه (Round Trip Time) بیشتر بهعنوان زمان پینگ شناخته میشود. این معیار برای فعالسازی اتصالات روی دایرکتوری یک وب محلی یا ارائه دهندگان خدمات اینترنتی بزرگتر اهمیت دارد و میتواند سرعت و یکپارچگی اتصالات شبکه را تجزیه و تحلیل کند. rtt به میلیثانیه اندازهگیری میشود و با تکیه بر جنبههای مختلف مثل زمان پاسخدهی سرور، کل زمان لازم برای ارسال بسته داده و بازگرداندن یک تأییدیه از مکان مقصد را ارائه میکند.
در حالی که زمان برای زندگی (Time To Live) معمولا نشانگر محدودیت هاپ یا نرخ پرش است. این معیار طول عمر بسته داده روی شبکه را نشان میدهد و به ما کمک میکند از چرخش بیپایان بسته داده در مسیر روتر جلوگیری کنیم. ttl را میتوان به ثانیه اندازهگیری کرد و به سیستمی متکی است که بسته را ارسال میکند.
مفهوم Wi-Fi RTT چیست و چگونه کار میکند؟
به لطف Wi-Fi RTT، تلفنهای هوشمند میتوانند به جای قدرت سیگنال، از زمان پرواز (time-of-flight) استفاده کنند تا بفهمند چقدر از روترهای وای فای فاصله دارند. کاربران تلفنهای هوشمند برای کارکرد Wi-Fi RTT نیازی به اتصال به هیچ روتر Wi-Fi نخواهند داشت؛ چراکه این تکنولوژی فقط از تلفن هوشمند برای تعیین فاصله استفاده میکند. همچنین برای اطلاعات بیشتر درباره روتر می توانید مقاله روتر چیست را مطالعه نمایید.
گوگل Wi-Fi RTT برای محافظت از حریم خصوصی کاربران، سیستم را به موقعیت مکانی اندروید متصل میکند. علاوه بر این، برای حفظ امنیت تراکنشهای Wi-Fi RTT، آدرسهای MAC دستگاهها باید رندم شوند تا اشخاص ثالث غیرمجاز قادر به ردیابی موقعیت مکانی کاربران گوشیهای هوشمند نباشند.
کلام آخر
زمان رفت و برگشت یکی از جنبههای مهمی است که تأخیر شبکه، یعنی زمان بین درخواست داده و نمایش آن را تحت تأثیر قرار میدهد. بهتر است عدد rtt بین چند میلیثانیه تا نهایتا چند متغیر باشد؛ به همین خاطر معمولا مدیران شبکه از روشهای مختلفی مثل راهاندازی cdn، پایین آوردن سطح حملات (در صورت تشخیص حمله) یا تشویق کاربران به استفاده از دادههای کش استفاده میکنند تا این بازه زمانی را به حداقل مقدار ممکن برسانند.
هدف از نگارش این مقاله این بود که ببینیم rtt چیست، چه عواملی روی آن تاثیر میگذارند و چطور میتوان آن را به حداقل رساند. امیدواریم این مطلب برای شما مفید واقع شده باشد.
در پایان خواهشمندیم نظرات و دانستههای خود را درباره مفهوم rtt و جزئیات مربوط به آن با ما و همراهان ما به اشتراک بگذارید.
Comment (1)
سلام وقت به خیر
ممنون بایت توضیح مفهوم rtt
و توضیح تفاوت بین تاخیر در شبکه یا Latency و پینگ با rtt بسیار مفید بود.