اصول انتقال مطمئن داده
توضیحات
در جلسه بیست و سوم فیلم آموزشی (آموزش مجازی) شبکههای کامپیوتری و شبکه پیشرفته دکتر حقیقت ویژه کنکور کارشناسی ارشد مهندسی کامپیوتر و کنکور کارشناسی ارشد مهندسی فناوری اطلاعات و کنکور دکتری مهندسی کامپیوتر و نیز امتحانات دانشگاهی و آزمونهای استخدامی با عنوان «اصول انتقال مطمئن داده»، ادامه فصل سوم شبکه (لایه انتقال) تدریس میشود. در اين درس، به بررسی كلی مسئله انتقال مطمئن داده میپردازیم. در اين درس به طور تدريجي، يك پروتکل انتقال مطمئن داده را در سمت فرستنده و گيرنده توسعه خواهيم داد. ابتدا از يک مدل ساده شروع میكنیم و كم كم به مدلهای پيچيدهتر میرسیم تادر نهايت به يك پروتکل انتقال مطمئن داده بینقص برسیم. در گام اول، انتقال داده مطمئن روی يک کانال کانال مطمئن (rdt 1.0) شامل مالتی پلکسینگ و دی مالتی پلکسینگ ارائه میشود. سپس انتقال مطمئن داده روی يک کانال با خطاهای بيتی بدون تلفات (rdt2.0) طراحی شده و FSM فرستنده و گیرنده آن شرح داده میشود و در طی آن سه تکنیک تشخیص خطا با Checksum و فیدبک گیرنده با ACK و NAK و ارسال مجدد به تفصیل مورد بحث قرار میگیرند. سپس مشخص میشود که متأسفانه پروتکل rdt2.0 به درستی كار نمیكند. چون احتمال خرابی بسته ACK يا NAK را در نظر نگرفتهايم! در ادامه ابتدا بيتهای كنترلی Checksum را برای تشخيص خطای ACK/NAK اضافه میكنيم. در اين روش، فرستنده بايد در صورت نامفهوم بودن بسته ACK/NAK، بسته داده فعلی رامجدداً ارسال كند (مانند حالتی كه NAK دريافت شده است) و چون مشکل مشکل ارسال مجدد بسته پیش میآید، از یک راه حل ساده شماره ترتیب (Sequence number) استفاده میشود و پروتکل rdt2.1 خلق میشود. میتوانیم به جای فرستادن يک NAK، يک ACK شمارهدار با شماره آخرين بسته سالم دريافت شده بفرستیم. فرستندهای كه دو تا ACK برای يك بسته دريافت مینمايد از اين دريافت ACK تکراری (Duplicate ACK) میفهمد كه گيرنده بسته بعد از آنرا صحيح دريافت نکرده است. ما این پروتکل بدونNAK را با نام rdt2.2 مطرح کرده و FSM آن را شرح میدهیم. در انتها پروتکل انتقال مطمئن داده روی يک کانال با امکان خطای بيتی و تلفات (loss) بسته را طراحی و نام آن را rdt3.0 میگذاریم و در طی آن تکنیک Timeout را معرفی مینماییم. شرح جزییات FSM آن پایان بخش طراحی پروتکلهای انتقال مطمئن داده به شیوه بیت تناوبی (Alternating bit) یا توقف و انتظار (Stop and wait) خواهد بود. حل تشریحی یک تست کنکور دکترای شبکه و رایانش پایان بخش این درس بسیار مهم است.