ScholarGate
دستیار

لایه انتقال و کنترل ازدحام

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

یافتن موضوع با PaperMindبه‌زودیFind papers & topics
Tools & resources
دریافت اسلایدها
Learn & explore
ویدیوبه‌زودی

Definition

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

Scope

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

Sub-topics

Core questions

  • چگونه لایه انتقال داده‌ها را از طریق مالتی‌پلکسینگ و دی‌مالتی‌پلکسینگ به فرآیند کاربردی صحیح تحویل می‌دهد؟
  • چگونه می‌توان تحویل قابل اعتماد و مرتب را بر روی یک شبکه غیرقابل اعتماد و دارای افت بسته‌ها ایجاد کرد؟
  • مکانیسم‌های راه‌اندازی اتصال، کنترل جریان و قابلیت اطمینان TCP چگونه کار می‌کنند؟
  • چه زمانی یک برنامه باید به جای TCP از UDP استفاده کند؟
  • کنترل ازدحام چگونه ازدحام شبکه را تشخیص داده و به آن پاسخ می‌دهد در حالی که عدالت را حفظ می‌کند؟

Key concepts

  • مالتی‌پلکسینگ و دی‌مالتی‌پلکسینگ
  • پورت‌ها و سوکت‌ها
  • انتقال داده قابل اعتماد
  • پنجره کشویی، go-back-N، تکرار انتخابی
  • دست‌دهی سه‌طرفه TCP
  • کنترل جریان
  • کنترل ازدحام
  • افزایش افزایشی/کاهش ضربی (AIMD)
  • شروع آهسته و اجتناب از ازدحام
  • پروتکل دیتاگرام کاربر (UDP)

Key theories

انتقال داده قابل اعتماد بر روی یک کانال غیرقابل اعتماد
قابلیت اطمینان از تأییدیه‌ها، تایمرهای ارسال مجدد، شماره‌های توالی و پروتکل‌های پنجره کشویی (go-back-N و تکرار انتخابی) ساخته شده است که با وجود یک شبکه زیربنایی غیرقابل اعتماد، افت، تکرار و تغییر ترتیب را تشخیص داده و بازیابی می‌کنند.
کنترل ازدحام TCP
TCP ازدحام را از افت بسته استنباط می‌کند و پنجره ارسال خود را با دینامیک افزایش افزایشی/کاهش ضربی — شروع آهسته، اجتناب از ازدحام و بازیابی سریع — تنظیم می‌کند تا پهنای باند موجود را بررسی کند در حالی که در صورت افت به شدت عقب‌نشینی می‌کند.
انتقال بدون اتصال در مقابل انتقال مبتنی بر اتصال
UDP یک سرویس نازک و بدون اتصال را بدون راه‌اندازی، قابلیت اطمینان یا کنترل ازدحام ارائه می‌دهد که تأخیر و سربار را به حداقل می‌رساند، در حالی که TCP یک جریان بایت مبتنی بر اتصال، قابل اعتماد و کنترل‌شده از نظر ازدحام را ارائه می‌دهد؛ انتخاب بین تأخیر و کنترل در مقابل تضمین‌ها است.

Clinical relevance

رفتار لایه انتقال، عملکرد تقریباً هر برنامه شبکه‌ای را شکل می‌دهد: TCP وب، ایمیل و انتقال فایل را به طور قابل اعتماد انجام می‌دهد، در حالی که UDP زیربنای کاربردهای با تأخیر کم مانند DNS، صدا و تصویر بلادرنگ و بسیاری از بازی‌ها است. کنترل ازدحام چیزی است که از اواخر دهه 1980 تاکنون اینترنت را از فروپاشی تحت بار حفظ کرده است، و کارهای جاری بر روی الگوریتم‌هایی مانند CUBIC و BBR و پروتکل‌هایی مانند QUIC همچنان تعادل تأخیر-توان عملیاتی-عدالت را تنظیم می‌کنند.

History

TCP و IP در ابتدا در طراحی Cerf-Kahn در سال 1974 یک پروتکل واحد بودند و بعدها از هم جدا شدند، و UDP (RFC 768, 1980) برای برنامه‌هایی که فقط به سرویس دیتاگرام پایه نیاز داشتند اضافه شد. پس از یک سری فروپاشی‌های ازدحام در اینترنت اولیه، کار ون جاکوبسون در سال 1988 الگوریتم‌های شروع آهسته و اجتناب از ازدحام را معرفی کرد که همچنان اساس کنترل ازدحام TCP را تشکیل می‌دهند و در طول دهه‌ها به انواع مختلفی مانند Reno، CUBIC و BBR اصلاح شده‌اند.

Debates

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

Key figures

  • Van Jacobson
  • Jon Postel
  • Vinton Cerf
  • Sally Floyd

Related topics

Seminal works

  • kurose2021
  • jacobson1988
  • rfc9293

Frequently asked questions

چه زمانی باید به جای TCP از UDP استفاده کنم؟
زمانی از UDP استفاده کنید که تأخیر کم مهم‌تر از تحویل تضمین‌شده باشد و بتوانید افت را تحمل کنید یا خودتان آن را مدیریت کنید — به عنوان مثال، صدا/تصویر بلادرنگ، پرس‌وجوهای DNS یا بازی‌ها. زمانی از TCP استفاده کنید که به تحویل قابل اعتماد، مرتب و کنترل ازدحام داخلی نیاز دارید، مانند صفحات وب، انتقال فایل‌ها و ایمیل.
کنترل ازدحام دقیقاً چه کاری انجام می‌دهد؟
کنترل ازدحام سرعت تزریق داده توسط فرستنده به شبکه را بر اساس سیگنال‌های ازدحام، معمولاً افت بسته یا تأخیر، تنظیم می‌کند. با عقب‌نشینی در هنگام بارگذاری بیش از حد شبکه و بررسی ظرفیت اضافی در غیر این صورت، ترافیک کلی را نزدیک به ظرفیت شبکه نگه می‌دارد و پهنای باند را تقریباً به طور عادلانه بین جریان‌ها تقسیم می‌کند.

Methods for this concept

Related concepts