درخواست های تکرار خودکار که اغلب به اختصار ARQ نامیده می شود، پروتکلی برای کنترل خطا در انتقال داده است. با استفاده از کدهای تشخیص خطا و تایید، پروتکل های ARQ می توانند تحویل داده های بدون خطا را تضمین کنند و اطمینان حاصل کنند که گیرنده یک کپی دقیق از داده های ارسال شده توسط فرستنده را دریافت می کند.
ریشه ها و تاریخچه اولیه درخواست های تکرار خودکار
ریشههای درخواستهای تکرار خودکار را میتوان به روزهای اولیه تلگراف در قرن نوزدهم ردیابی کرد. اپراتورهای تلگراف به صورت دستی پیام هایی را که نامشخص یا مخدوش بودند درخواست ارسال مجدد می کردند. با این حال، اولین اشاره به یک سیستم خودکار مشابه ARQ در حق اختراع A. Harry Nyquist در سال 1924 برای "سیستم تکرار تلگراف" یافت می شود.
توسعه و اصلاح پروتکلهای ARQ با ظهور ارتباطات دادههای دیجیتال در قرن بیستم به سرعت افزایش یافت. مهم ترین جهش رو به جلو در این دوره شاید معرفی بررسی افزونگی چرخه ای (CRC) در دهه 1960 بود، یک طرح کدگذاری تشخیص خطا که هنوز به طور گسترده در پیاده سازی های ARQ مدرن استفاده می شود.
جذابیت درخواست های تکرار خودکار
درخواستهای تکرار خودکار برای سیستمهای ارتباطی دادهها اساسی هستند و از یکپارچگی دادهها در حین انتقال اطمینان میدهند. برای دستیابی به این هدف، پروتکلهای ARQ سه مکانیسم اصلی را شامل میشوند: تشخیص خطا، تصدیق و ارسال مجدد.
در یک سیستم ARQ، فرستنده یک کد تشخیص خطا (مانند CRC) را به داده های خروجی متصل می کند. پس از دریافت، گیرنده از همان الگوریتم تشخیص خطا برای اعتبارسنجی داده ها استفاده می کند. اگر داده ها بدون خطا باشد، گیرنده یک تأییدیه را برای فرستنده ارسال می کند. اگر خطایی تشخیص داده شود، گیرنده یک تأییدیه منفی (NAK) ارسال می کند، یا در برخی موارد، به سادگی ساکت می ماند و فرستنده را وادار می کند که داده ها را مجددا ارسال کند.
مکانیسم های پشت درخواست های تکرار خودکار
پروتکلهای ARQ عموماً بر اساس اصول ذکر شده در بالا عمل میکنند، اما در نحوه برخورد با موقعیتهای خاص متفاوت هستند. برخی از ملاحظات در طراحی ARQ عبارتند از:
- چه چیزی باعث ارسال مجدد می شود؟
- چگونه با بسته های خارج از سفارش برخورد کنیم؟
- چگونه کارایی و توان عملیاتی سیستم را بهینه کنیم؟
قوانین دقیق برای مدیریت این سناریوها، رفتار و ویژگی های عملکرد پروتکل ARQ را تعریف می کند. به عنوان مثال، نحوه پاسخگویی پروتکل به چندین ارسال ناموفق میتواند بر قابلیت اطمینان آن در محیطهای ارتباطی پر سر و صدا یا غیرقابل اعتماد تأثیر بگذارد.
ویژگی های کلیدی درخواست های تکرار خودکار
ویژگی های برجسته پروتکل های ARQ عبارتند از:
- تحویل داده بدون خطا: پروتکل های ARQ می توانند تضمین کنند که گیرنده یک کپی دقیق از داده های ارسال شده توسط فرستنده دریافت می کند.
- سازگاری: ARQ می تواند با سطوح مختلف نویز و نرخ خطا در کانال ارتباطی سازگار شود.
- کارایی: ARQ تنها با ارسال مجدد داده های اشتباه، از هدر رفتن پهنای باند در ارسال های غیر ضروری جلوگیری می کند.
انواع درخواست های تکرار خودکار
سه نوع پروتکل ARQ معمولا در سیستم های ارتباطی داده استفاده می شود:
- Stop-and-Wait ARQ: ساده ترین شکل ARQ، فرستنده متوقف می شود و بعد از هر ارسال منتظر تایید می ماند. اگر در یک بازه زمانی مشخص تاییدی دریافت نشود، فرستنده داده ها را مجددا ارسال می کند.
- Go-Back-N ARQ: در این رویکرد، فرستنده می تواند یک سری از بسته ها را بدون انتظار برای تایید، تا حد معینی (N) ارسال کند. اگر خطایی تشخیص داده شود، فرستنده "باز می گردد" و همه بسته ها را از آن نقطه به بعد ارسال می کند.
- ARQ تکرار انتخابی: بهبودی نسبت به Go-Back-N، انتخابی تکرار ARQ به گیرنده اجازه می دهد تا بسته های خارج از سفارش را بپذیرد و فقط بسته های اشتباه را درخواست ارسال مجدد کند.
کاربردها و چالش های عملی
پروتکلهای ARQ تقریباً در تمام جنبههای ارتباط دادههای دیجیتال، از جمله شبکههای سلولی، Wi-Fi، ارتباطات ماهوارهای و انتقال فایل از طریق اینترنت کاربرد پیدا میکنند.
با این حال، استفاده از ARQ بدون چالش نیست. به عنوان مثال، داده های اضافی مورد نیاز برای تشخیص خطا و تصدیق می تواند پهنای باند قابل استفاده را کاهش دهد. علاوه بر این، تأخیرهای ایجاد شده توسط ارسال مجدد می تواند بر برنامه های ارتباطی بلادرنگ مانند VoIP و پخش ویدیو تأثیر بگذارد.
مقایسه با سایر پروتکل های کنترل خطا
علاوه بر ARQ، دو پروتکل کنترل خطای اولیه دیگر در ارتباطات داده استفاده می شود:
-
تصحیح خطای پیش رو (FEC): FEC داده ها را به گونه ای رمزگذاری می کند که به گیرنده اجازه می دهد تعداد محدودی از خطاها را تصحیح کند. برخلاف ARQ، FEC به ارسال مجدد داده نیاز ندارد، اما برای کدهای تصحیح خطا اضافی به پهنای باند بیشتری نیاز دارد.
-
ARQ ترکیبی (HARQ): HARQ عناصر هر دو ARQ و FEC را ترکیب می کند. اگر بسته دریافتی دارای خطا باشد، HARQ ابتدا سعی می کند با استفاده از FEC خطاها را تصحیح کند. اگر شکست خورد، به مکانیسم ARQ برای درخواست ارسال مجدد بازمی گردد.
چشم اندازها و فناوری های آینده
با تکامل مداوم فناوری های ارتباط داده، پروتکل های ARQ نیز در حال اصلاح و بهینه سازی هستند. برای مثال، پروتکلهای طراحیشده برای شبکههای جدید 5G از طرحهای پیچیده HARQ استفاده میکنند که میتوانند با شرایط کانال ارتباطی در زمان واقعی تطبیق داده شوند، ظرفیت داده را به حداکثر میرسانند و تأخیر را به حداقل میرسانند.
علاوه بر این، تحقیقات آینده در ارتباطات و محاسبات کوانتومی میتواند به انواع جدیدی از پروتکلهای کنترل خطا منجر شود که به طور بالقوه جایگزین یا تکمیل کننده ARQ سنتی میشوند.
سرورهای پروکسی و درخواست های تکرار خودکار
سرورهای پروکسی، مانند سرورهای ارائه شده توسط OneProxy، می توانند از پروتکل های ARQ نیز بهره مند شوند. به عنوان واسطه بین مشتری و اینترنت، سرورهای پروکسی می توانند از ARQ برای اطمینان از یکپارچگی داده های منتقل شده از طریق آنها استفاده کنند. به عنوان مثال، یک سرور پراکسی ممکن است از ARQ برای ارسال مجدد داده ها استفاده کند، اگر به دلیل ازدحام شبکه، از دست دادن بسته ها یا مسائل دیگر با خطا مواجه شود.
با انجام این کار، سرورهای پروکسی می توانند قابلیت اطمینان اتصال مشتری را بهبود بخشند، به خصوص در سناریوهایی با شبکه های ناپایدار یا غیرقابل اعتماد.
لینک های مربوطه
برای مطالعه بیشتر در مورد درخواست های تکرار خودکار و مفاهیم مرتبط، منابع زیر را در نظر بگیرید: