مدت زمان رفت و برگشت (RTT)، مدت زمانی است که برحسب میلی ثانیه طول میکشد تا درخواست شبکه از نقطه شروع به مقصد رفته و دوباره به نقطه شروع برگردد. RTT یک معیار مهم در تعیین سلامت اتصال به شبکه محلی یا اینترنت محسوب میشود و معمولا توسط مدیران شبکه به منظور تشخیص سرعت و قابلیت اطمینان ارتباطات شبکه مورد استفاده قرار میگیرد.
کاهش زمان RTT، یکی از اهداف اصلی CDN به شمار میرود. میزان پیشرفت در latency (تاخیر زمانی) را میتوان با توجه به کاهش RTT و همچنین با محدود کردن مواردی که نیاز به roundtrips دارند، اندازهگیری نمود؛ مانند اصلاح استاندارد TLS/SSL handshake
ابزار ping که تقریبا بر روی تمامی کامپیوترها وجود دارد، به عنوان روشی برای تخمین زمان رفت و برگشت (RTT) مورد استفاده قرار میگیرد. در اینجا مثالی از محاسبه زمان رفت و برگشت چندین پینگ به Google ارائه میشود. (توجه داشته باشید که یکی از زمانهای ping معادل 17.604 میلی ثانیه است که از بقیه بالاتر میباشد.)
عملکرد RTT چگونه است؟
زمان رفت و برگشت (RTT)، بیانگر مدت زمانی است که دادهها برای رفت و برگشت به مکان خاصی نیاز دارند. به عنوان مثال، کاربری در نیویورک قصد برقراری تماس با سروری در سنگاپور را دارد.
زمانی که کاربر درخواست خود را از نیویورک ارسال میکند، ترافیک شبکه قبل از این که در سروری در سنگاپور خاتمه یابد، از روترهای مختلف و از مکانهای فیزیکی مختلف عبور میکند.
سپس سروری که در سنگاپور است، پاسخی را از طریق اینترنت به نیویورک ارسال میکند. زمانی که فرایند درخواست در نیویورک پایان مییابد، میتوان برآوردی از مدت زمان رفت و برگشت بین این دو لوکیشن را به دست آورد.
به خاطر داشته باشید که Round-Trip Time یا همان زمان رفت و برگشت، به صورت تقریبی تخمین زده میشود و نمیتوان مدت زمان کاملا دقیقی را محاسبه نمود. مسیری که بین دو نقطه توسط دادهها طی میشود، به مرور زمان تحت تاثیر فاکتورهایی مانند ازدحام شبکه تغییر میکند و باعث تغییر RTT میشود.
به صورت کلی میتوان گفت RTT یک معیار مهم برای درک بهتر از میسر بودن برقراری ارتباط و همچنین مدت زمان لازم برای رفت و برگشت دادهها محسوب میگردد.
عوامل تاثیر گذار بر روی RTT
عناصر زیرساخت، ترافیک شبکه و همچنین فاصله فیزیکی بین مبدا و مقصد، فاکتورهای بالقوهای هستند که بر روی RTT تاثیر میگذارند.
- The nature of the transmission medium: نحوه برقراری ارتباط و ایجاد کانکشن بر روی سرعت انتقال دادهها تاثیر میگذارد. ارتباطاتی که از طریق فیبر نوری ایجاد میشوند، با آنهایی که از طریق کابلهای مسی ایجاد میشوند، متفاوت هستند.
به همین ترتیب کانکشنهایی که از طریق امواج وایرلس ایجاد میشوند نیز با آنهایی که از طریق ماهواره به وجود میآیند، متفاوت هستند.
- Local Area Network (LAN) Traffic: میزان ترافیک موجود بر روی شبکهی محلی (LAN) میتواند کانکشن را قبل از رسیدن به اینترنت، محدود کند. به عنوان مثال، در صورتی که کاربران زیادی به صورت همزمان در حال استفاده از خدمات پخش ویدئو باشند، این امکان وجود دارد که RTT حتی با وجود ظرفیت خارجی کافی و عملکرد نرمال، مهار گردد.
- Server Response Time: مدت زمانی که طول میکشد تا یک سرور، درخواستی را پردازش کند و پاسخ دهد، به نقطهی تنگنای تاخیر زمانی معروف است. زمانی که یک سرور با انبوهی از درخواستها مواجه میشود، مانند حملات DDoS، توانایی پاسخگویی موثر آن کاهش یافته و منجر به افزایش RTT میگردد.
- Node count and congestion: بسته به مسیری که کانکشن از طریق اینترنت طی میکند، ممکن است از طریق تعداد دیگری از nodeهای میانی، مسیریابی یا “هاپ” شود.
هرچه تعداد nodeهای یک کانکشن بیشتر باشد، سرعت آن کمتر خواهد شد. ممکن است یک node، ازدحام و ترافیک یک شبکهی دیگر را تجربه کند، که در این صورت منجر به کند شدن کانکشن و افزایش RTT میگردد.
- Physical Distance: با این که کانکشنهای بهینه شده توسط CDN قادر به کاهش تعداد “هاپ”های مورد نیاز جهت رسیدن به مقصد میباشند، اما راهی برای دور زدن محدودیتهای ناشی از سرعت وجود ندارد.
فاصلهی بین نقاط شروع و پایانی، یک فاکتور محدود کننده در ارتباطات شبکه است که میتوان با انتقال محتوا به نزدیکی کاربر، آن را کاهش داد. کاری که CDN جهت غلبه بر این مشکل انجام میدهد این است که محتوا را در نزدیکی کاربر کش (cache) میکند تا RTT کاهش یابد.
نقش CDN در بهبود RTT
با نگهداری سرورها در داخل نقاط تبادل اینترنت (Internet Exchange Points) و استفاده از خدمات ارائه دهندگان اینترنت، یک CDN قادر است مسیر شبکه را بین لوکیشنها بهینه نماید، در نتیجه RTT کاهش مییابد و همچنین Latency برای بازدیدکنندگانی که به محتوای ذخیره شده در حافظه پنهان (cache) در CDN دسترسی دارند، بهبود مییابد.