ولادت حضرت معصومه (س) و روز دختر مبارک، (کد تخفیف 35%: rozedokhtar)

سبد خرید (0)

پروتکل ها و کنترل های پیوند داده

پروتکل ها و کنترل های پیوند داده

لایه پیوند داده مسئول پیاده سازی جریان نقطه به نقطه و مکانیزم کنترل خطا می باشد.


کنترل جریان

زمانی که یک فریم داده (داده لایه دو) از سوی یک میزبان به دیگری از طریق رسانه انتقال فرستاده می شود، فرستنده و گیرنده می بایست با سرعت یکسان کار کنند. بدین معنا که فرستنده با سرعتی داده را ارسال می کند که گیرنده هم بتواند داده را دریافت کرده و پردازش کند. دلیل اختلاف سرعت بین فرستنده و گیرنده، مربوط به سخت افزار و نرم افزار آنهاست. اگر فرستنده با سرعت بسیار زیاد داده را ارسال کند ممکن است گیرنده دچار سرریز داده شود و داده ها از بین برود.

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

  1. توقف و انتظار
    این مکانیزم کنترل جریان فرستنده را مجبور می کند تا پس از ارسال یک فریم داده، ارسال را متوقف کند تا یک پیام تایید از سمت گیرنده بابت فریم ارسال شده دریافت کند.
    Stop and Wait
  2. پنجره کشویی
    در این مکانیسم کنترل جریان، فرستنده و گیرنده بر روی تعدادی فریم های داده که پس از دریافت پیام تایید باید فرستاده شود با یکدیگر توافق می کنند. همانطور که بررسی کردیم، واضح است مکانیزم کنترل جریان بصورت توقف و انتظار باعث اتلاف و هدر رفتن منابع می شود، این پروتکل تلاش می کند تا استفاده از منابع اساسی به همان اندازه مورد نیاز صورت پذیرد.

کنترل خطا

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

الزامات مورد نیاز برای مکانیزم کنترل خطا در زیر آمده است:
1- تشخیص خطا:

فرستنده و گیرنده، یا هر دو و یا هر کدام، باید برخی خطا های ممکن در حمل و نقل را مشخص کنند.
2- پیام تایید مثبت (Positive ACK):

گیرنده هنگامی که یک فریم صحیح دریافت می کند، می بایست آن را تایید کند.
3- پیام تایید منفی (Negative ACK):

هنگامی که گیرنده یک قاب آسیب دیده و یا یک قاب تکراری دریافت می کند، یک پیام تایید منفی (NACK) به فرستنده باز می گرداند و فرستنده باید قاب درست را مجددا به گیرنده منتقل کند.
4- ارسال مجدد (Retransmission):

فرستنده یک ساعت و یک دوره زمانی را در نظر می گیرد. اگر پیام تایید مثبت برای فریم داده ارسال شده در این محدوده زمانی از سمت گیرنده به فرستنده نرسیده باشد، فرستنده مجددا فریم را ارسال می کند و چنین تصور می کند که قاب داده و پیام تایید آن در حین انتقال از بین رفته است.


به منظور کنترل خطا سه نوع تکنیک موجود می باشد که لایه پیوند داده ممکن است، با ارسال درخواست های تکرار اتوماتیک (ARQ) آنها را به کار گیرد:
1- توقف و صبر ARQ
Stop and Wait ARQ

در این روش ممکن است مراحل انتقال به این صورت اتفاق بیفتد :

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

2- روش برگشت به عقب N ARQ
مکانیسم توقف و انتظار منابع را به بهترین حالت ممکن استفاده نمی کند. هنگامی که پیام تایید دریافت می شود، فرستنده بیکار نشسته و هیچ کاری نمی کند. در روش برگشت به عقب، فرستنده و گیرنده یک پنجره را نگهداری می کنند.

Go-back-n ARQ

اندازه پنجره ارسال، فرستنده را قادر می سازد تا بدون دریافت پیام تایید، فریم های متعدد را ارسال کند. پنجره دریافت، گیرنده را قادر می سازد تا فریم های متعدد را دریافت کرده و پیام تایید آنها را ارسال کند و گیرنده فریم ها را بر اساس ترتیب دریافت می کند.
وقتی فرستنده تمام فریم ها را به پنجره می فرستد، شماره توالی پیام های تایید مثبت را بررسی می کند. اگر تمام فریم ها بصورت مثبت تایید شوند، فرستنده مجموعه بعدی از فریم ها را می فرستد. اگر فرستنده متوجه شود که پیامNACK  دریافت شده است یا اینکه هیچ پیام تایید(ACK) برای یک قاب خاص بدستش نرسیده، مجددا تمام فریم هایی که هیچ پیام تایید مثبتی (ACK) نداشتند را ارسال می کند.

3- تکرار انتخابی ARQ
در این روش، فرض بر این است که گیرنده هیچ فضای بافر برای اندازه پنجره خود نداشته و ناچار است هر فریم دریافتی را پردازش کند. در این حالت فرستنده تمام فریم های تایید نشده را دوباره ارسال می کند.

در روش تکرار انتخابی ARQ، گیرنده ترتیب فریم ها را حفظ می کند ، فریم ها را در حافظه بافر کرده و تنها برای فریم هایی که گم شده یا آسیب دیده پیام تایید منفی (NACK) ارسال می کند.

در این مورد فرستنده تنها یک بستهNACK  دریافت می کند.