مجله خبری هاست ایران » شبکه » rtt چیست؟ توضیح رفت و برگشت (Round-Trip Time) در شبکه
شبکه

rtt چیست؟ توضیح رفت و برگشت (Round-Trip Time) در شبکه

rtt چیست

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

RTT یا زمان رفت و برگشت چیست؟

به زبان بسیار ساده می‌توان گفت که زمان رفت و برگشت یا Round-Trip Time نشان‌دهنده مدت‌زمانی است که داده برای رفت و برگشت از یک مکان به مکانی دیگر در شبکه به آن نیاز دارند. برای اینکه ماهیت این زمان را به خوبی درک کنیم بیاید تصور کنیم که یک کاربری در ایران می‌خواهد با یک سرور در آمریکا تماس برقرار کند.

هنگامی‌که کاربر در ایران درخواستی را به سرور در آمریکا ارائه می‌دهد، ترافیک شبکه قبل از پایان دادن به سرور در آمریکا از طریق روترهای مختلف در مکان‌های فیزیکی مختلف منتقل می‌شود. سرور در آمریکا سپس پاسخی را از طریق اینترنت به محل واقع در ایران ارسال می‌کند. زمانی که درخواست در ایران خاتمه یافت، می‌توان تخمین تقریبی از مدت زمان رفت و برگشت بین دو مکان انجام داد. باید به این نکته توجه داشته باشیم که زمان Round-Trip Time یک زمان تخمینی و تقریبی است و تضمین نمی‌کند که این مدت زمان RTT یک واحد دقیق است. عوامل زیادی در این میان دخیل هستند که بر روی آن تأثیر می‌گذارند.

عوامل رایجی که RTT را تحت تأثیر قرار می‌دهند کدم‌اند؟

در بین مسیر عوامل زیادی بر روی RTT تأثیر می‌گذارند که این عوام نقش مهمی در کاهش یا افزایش این مقدار زمان دارند و مهم‌ترین آن‌ها به شرح موارد زیر هستند.

فهرست عوامل مؤثر بر RTT عبارت‌اند از:

زمان رفت و برگشت یا RTT

ماهیت رسانه انتقال در تعیین زمان رفت و برگشت

اصلی‌ترین فاکتوری که روی RTT تأثیر می‌گذارد ماهیت رسانه انتقال دیتا است. برای مثال اتصالات فیبر نوری با اتصالات سیم مسی در مقابل زمان رفت و برگشت واکنش متفاوتی از خود نشان می‌دهند. یا مثلاً رسانه‌هایی که از طریق فرکانس‌های بی‌سیم عمل می‌کنند با رسانه‌هایی که از طریق ماهواره ارتباط برقرار می‌کنند ماهیت مختلف و درە نتیجه زمان رفت و برگشت متفاوتی دارند.

ترافیک شبکه محلی (LAN)

فاکتور دیگری که در این رابطه دخیل است، میزان ترافیک شبکه محلی است. برای مثال اگر ترافیک روی شبکه سنگین باشد و همه کاربران آنلاین و در حال استفاده از شبکه باشند احتمالاً زمان رفت و برگشت به نسبت افزایش میابد.

زمان پاسخگویی سرور در تعیین RTT

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

تعداد گره‌ها و ازدحام شبکه

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

فاصله فیزیکی بین مبدأ و مقصد

می‌توان با استفاده از شبکه‌های توزیع محتوا یا CDN ها یک اتصال بهینه بین مبدأ و مقصد برقرار کرد اما بازهم فاصله فیزیکی می‌تواند عاملی تعیین‌کننده در زمان رفت و برگشت باشد. برای کاهش میزان تأثیر این فاصله فیزیکی اغلب از یک CDN برای کش محتوا استفاده می‌کنند و در نتیجه زمان RTT را با آن کاهش می‌دهند.

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

تفاوت زمان رفت و برگشت در مقابل پینگ چیست؟

گاهی اوقات به اشتباه زمان پینگ با زمان رفت و برگشت اشتباه گرفته می‌شود و یا به‌جای همدیگر به‌کاربرده می‌شوند. باید به این نکته توجه داشته که اگرچه پینگ تخمین خوبی از زمان RTT را به ما می‌دهد، اما تست‌های پینگ معمولاً در یک پروتکل حمل‌ونقل انجام می‌شود که از بسته‌های ICMP استفاده می‌کند. در طرف مقابل زمان رفت و برگشت در لایه اپلیکیشن یا برنامه (لایه ۷ OSI/ISO) به کار گرفته می‌شود که این شامل تأخیرهای پردازشی بیشتری نیز می‌شود. به عنوان مثال بسیاری از تأخیرهای HTTP در زمان RTT دخیل هستند و این عمده تفاوت زمان پینگ با زمان رفت و برگشت است. ابزار پینگ ت در بیشتر کامپیوترها موجود است و یک روش رایج برای تخمین زمان RTT است.

تفاوت RTT با زمان تأخیر در چیست؟

زمان تأخیر و زمان رفت و برگشت با هم ارتباط نزدیکی دارند ولی بازهم باهم متفاوت هستند. تأخیر به مدت‌زمانی گفته می‌شود که یک بسته از نقطه پایانی ارسال‌کننده به نقطه پایانی دریافت‌کننده می‌رسد و به فاکتورهای مختلفی بستگی دارد. RTT شامل تأخیر پردازش در نقاط پایانی است و اصولاً زمان RTT زمان بزرگ‌تری از زمان تأخیر است.

زمان رفت و برگشت بهینه چقدر است؟

بسته به کاربرد و ماهیت یک پلتفرم زمان رفت و برگشت بهینه ممکن است بسیار متفاوت باشد. برای مثال زمان رفت و برگشت در پلتفرم‌های پخش آنلاین باید نسبتاً به پلتفرم‌های پخش آفلاین باید متفاوت باشد و این دو اساساً به RTT های متفاوتی نیاز دارند. با این وجود ذکر چند نکته زیر در این رابطه خالی از لطف نیست.

  • زمان رفت و برگشت (RTT) از شبکه مشتری به مکانی که فضاهای کاری در آن قرار دارند باید کمتر از ۱۰۰ میلی‌ثانیه باشد.
  • اگر RTT بین ۱۰۰ میلی‌ثانیه تا ۲۰۰ میلی‌ثانیه باشد، کاربر می‌تواند به فضای دسترسی داشته باشد، اما عملکرد تحت تأثیر قرار می‌گیرد.
  • اگر RTT بین ۲۰۰ میلی‌ثانیه تا ۳۷۵ میلی‌ثانیه باشد، عملکرد کاهش می‌یابد.
  • اگر RTT از ۳۷۵ میلی‌ثانیه بیشتر شود، اتصال سرویس‌گیرنده قطع می‌شود.

به‌صورت کلی و بر این اساس، زمان RTT 100 میلی‌ثانیه برای استفاده عادی از برنامه‌ و حداکثر ۲۰۰ میلی‌ثانیه زمان نسبتاً خوبی است ولی بازهم بسته به کاربرد و نوع برنامه این زمان متفاوت است.

اهمیت زمان RTT در چیست؟

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

فاکتورهای دخیل در محسابه RTT

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

این زمان رفت و برگشت یک واحد بسیار پیچیده است که چندین مؤلفه در آن دخیل هستند؛ که این شامل مورد زیر است:

عوامل مهم در محسابه RTT

  • تأخیر انتشار
  • تأخیر پردازش
  • تأخیر در صف
  • تأخیر در رمزگذاری

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

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

دو راه‌کار اساسی برای کاهش زمان رفت و برگشت وجود دارد که عبارت‌اند از:

  1. راه‌کارهای کلی
  2. استفاده از شبکه توزیع محتوا

روش‌های کلی کاهش RTT:

  • کاهش تعداد نام‌های میزبان منحصربه‌فرد که منابع از آن‌ها ارائه می‌شوند، تعداد رزولوشن‌های DNS را که مرورگر باید ایجاد کند، کاهش می‌دهد.
  • به حداقل رساندن ریدایرکت ها از یک URL به URL دیگر باعث کاهش RTT های اضافی و زمان انتظار برای کاربران می‌شود.
  • حذف «لینک‌های شکسته یا لینک‌های ۴۰۴» یا درخواست‌هایی که منجر به خطاهای ۴۰۴/۴۱۰ می‌شود.
  • فشرده‌سازی اسکریپت‌های یک صفحه وب.
  • کش مرورگر: این می‌تواند برای کاهش RTT با استفاده از حافظه پنهان مرورگر استفاده شود.
  • نزدیک‌تر کردن محتوا به کاربر: سروری نزدیک به کاربر خود ایجاد کنید، یا می‌توانید از CDN استفاده کنید که می‌تواند این کار را به‌طور خودکار برای شما انجام دهد، زمانی که تقاضا برای محتوای خاصی در یک منطقه خاص وجود دارد استفاده از سی دی ان بسیار موثر است.

سخن پایانی

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

منبع cloudflare

افزودن دیدگاه

کلیک برای ثبت دیدگاه