Tag: تئوری های مقدماتی شبکه

بررسی مکانیزم های کنترل دسترسی به رسانه انتقال مشترک(قسمت دوم)

شبکه Slotted ALOHA[1]

زمان آسیب پذیری یک فریم در Pure-Aloha دوبرابر زمان لازم برای ارسال یک فریم است. دلیل آن هم این است که هیچ قانونی وجود ندارد که معین کند ایستگاهها چه موقع می توانند عملیات ارسال انجام دهند. یک ایستگاه می تواند بلافاصله بعد از اینکه ارسال دیگری شروع به ارسال کرد، اقدام به ارسال نماید. همین اتفاق به صورت وارونه هم ممکن است اتفاق بیافتد؛ یعنی زمانیکه یک ایستگاه اقدام به ارسال می کند، کمی قبل از آن ایستگاه دیگری اقدام به ارسال کرده باشد. Slotted –ALOHA برای بهبود عملکرد Pure-ALOHA در این موارد ابداع شد.

image

در سال ۱۹۷۲ روشی برای بهبود راندمان شبکه ALOHA توسط Roberts پیشنهاد شد که بر اساس آن زمان ، به بازه هایی تفکیک می شد که از لحاظ پهنا به اندازه زمان یک فریم بود. این بازه ها Slot Time اطلاق می شد و هر ایستگاه بایستی با این تقسیم بندی زمان هماهنگ می بود. تمامی ایستگاهها از طریق یک ایستگاه مرکزی که در ابتدای هر Slot Time سیگنالی را شبیه Clock منتشر می کرد سنگرون می شدند.

این شبکه جدید Slotted ALOHA نام گرفت و بر اساس آن هیچ ایستگاهی حق نداشت که هر موقع که دلش خواست اقدام به ارسال نماید بلکه بایستی ارسال را تا رسیدن ابتدای Slot Time بعدی به تعویق بیندازد، این اصلاحیه باعث می شد که هر ایستگاهی موفق به ارسال فریمش شود از تصادم در حین ارسال، مصون بماند. بنابراین بازه های زمانی آسیب پذیری از تصادم فقط به اندازه زمان یک فریم بود ، در صورتی که در Pure ALOHA برای آنکه فریمی دچار تصادم نشود بایستی در دو بازه زمانی (دو برابر زمان یک فریم) ارسالی انجام نشود.

image

 

دسترسی چندگانه با قابلیت شنود حامل[۱](Carrier Sense Multiple Access:CSAM) :

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

به منظور کمینه کردن احتمال تصادم و لذا افزایش بهره وری، روشهای CSMA ابداع شدند. اگر ایستگاهها قابلیت شنود کانال ارتباطی را قبل از اقدام به ارسال فریم داشته باشند، در این صورت احتمال بروز پدیده تصادم کاهش می یابد. روشهای دسترسی چندگانه با قابلیت شنود حامل یا همان CSMA احتیاج دارند که هر ایستگاه قبل از اقدام به ارسال، ابتدا به رسانه انتقال گوش دهد (یعنی حالت رسانه را از نظر آزاد یا مشغول بودن کانال بررسی کند). به بیان دیگر،CSMA بر پایه قانون "گوش بده قبل از اینکه حرف بزنی[۲]" کار می کند. به رسته پروتکلهایی که قبل از ارسال فریم و همچنین در حین ارسال فریم به کانال گوش می دهند و می توانند از وضعیت تصادم به محض بروز مطلع شوند پروتکلهای CSMA گفته می شود.

CSMA میتواند احتمال رخداد تصادم را کاهش دهد، اما نمی تواند این پدیده را حذف کند. دلیل این ناتوانی در شکل زیر قابل مشاهده است در این شکل مدل زمان- مکان یک شبکه CSMA را مشاهده می کنید. ایستگاهها از طریق یک کانال اشتراکی به یکدیگر متصل شده اند. به دلیل پدیده تاخیر انتشار، احتمال رخداد Collision همچنان وجود دارد. زمانی که یک ایستگاه فریمی می فرستد، مدت زمانی (ولو اندک) طول میکشد تا اولین بیت این فریم به هریک از ایستگاههای دیگر برسد و آنها بتوانند این سیگنال را شنود (Sense) کنند. بنابراین یک ایستگاه ممکن است رسانه انتقال را شنود کرده و آن را بیکار(idle) تشخیص دهد، تنها به این دلیل که اولین بیت فریم ارسالی از ایستگاهی دیگر هنوز به این ایستگاه نرسیده است.

 

 

image

شکل: مدل زمان-مکان پروتکل CSMA

در شکل بالا در زمان t1 ایستگاه B کانال انتقال را شنود کرده و آن را خالی می یابد. لذا اقدام به ارسال یک فریم می کند. در زمان t2 (t2>t1)، ایستگاه C کانال انتقال را شنود کرده و آن را خالی تشخیص می دهد (تشخیص به ظاهر درست اما غلط) زیرا در این زمان اولین بیت از ایستگاه B هنوز به ایستگاه C نرسیده است. ایستگاه C نیز یک فریم ارسال می کند. این دو سیگنال با هم برخورد کرده و باعث تخریب فریم های ارسالی می شوند.

زمان آسیب پذیری فریم:

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

زمانی که ایستگاهی اقدام به ارسال فریم می کند، چنانچه ایستگاه دیگری در این بازه زمانی جهت ارسال فریم اقدام کند ممکن است باعث رخداد Collision گردد.

image

در شکل بالا این مفهوم مشاهده می شود. در این شکل در لحظه t1 ایستگاه A اقدام به ارسال فریم می کند و ایستگاه D در لحظهt1+tp  اولبن بیت را دریافت می کند. بازه تیره رنگ در نمودار زمان-مکان بالا بازه آسیب پذیری فریم را نشان می دهد.

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

image

 

پروتکل Non Persistent CSMA

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

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

پروتکل P-Persistent CSMA

در این روش هم ایستگاهها به خط گوش می دهند و در صورت مشغول بودن آنقدر صبر می کنند تا خط آزاد شود. به محض آزاد شدن کانال آنگاه ایستگاه با احتمال P فریمش را ارسال و با احتمال (۱-P) ارسال خودش را به تعویض می اندازد. (پس این روش روشی ایثارگرانه است) برای روشن شدن قضیه عدد P را مثلاً ۰٫۷ در نظر بگیرید. ایستگاه پس از آنکه کانال را خالی یافت با احتمال ۰٫۷ ارسال می نماید یعنی به عنوان مثال یک عدد تصادفی تولید می کند (بین صفر و یک) و اگر عدد از ۰٫۷ کوچکتر بود ارسال را انجام می دهد و در غیر اینصورت ارسال را به تعویض انداخته تا دیگران ارسال نمایند و مجدداً برای خالی شدن خط صبر می کند. تفاوت عمده ای که این روش با دو روش قبل CSMA دارد آنست که این روش بصورت Slotted عمل می کند یعنی ایستگاهها فقط حق دارند در ابتدای Slot Timeارسال را آغاز نمایند.

 

image


[۱] ایستگاههای متصل در یک کانال به شیوه CSMA شبیه به آدم هایی هستند که در یک میزگرد شرکت دارند. این آدم ها مثل دفعه قبل کر نیستند اما موقع صحبت کردن کر می شوند و صدای دیگران را نمی شنوند. لذا هر وقت که حرفی برای زدن داشته باشند پس از اینکه سکوت حکمفرما شد شروع به حرف زدن می کنند و کار ندارند که آیا دیگری هم در حال حرف زدن هست یانه (و اصولا در زمان صحبت کردن کر هستند و قادر به این بررسی نیستند). پس از اینکه حرفشان را زدند منتظر می مانند تا مخاطب، حرفشان را تایید کند. در صورتیکه در مدت زمان مشخصی مخاطب تایید نکرد، به اندازه یک زمان تصادفی صبر کرده و مجددا پس از برقراری سکوت همگانی ، از نو حرفشان را می زنند

[۲] “Sense before transmit” or “listen before talk”

[۱] اگر بخواهیم تمثیلی بیان کنیم، ایستگاههای متصل در یک کانال به شیوه Slotted-ALOHA شبیه به آدم هایی هستند که در یک میزگرد شرکت دارند. این آدم ها کر هستند و هیچ صدایی را نمی شنوند. امام جلو ی آنها یک چراغ رنگی وجود دارد که می تواند سبز یا قرمز باشد. این چراغ رنگی توسط یک ایستگاه مرکزی در هر T ثانیه یک بار سبز و مجددا قرمز می شود (T همان زمان لازم برای ارسال یک فریم است). لذا هر نفر با سبز شدن این چراغ اگر حرفی برای زدن داشته باشد بلافاصله حرفش را می زند و کار ندارد که آیا دیگری هم در حال حرف زدن هست یانه (و اصولا قادر به این بررسی نیست). پس از اینکه حرفشان را زدند منتظر می مانند تا مخاطب، حرفشان را تایید کند. در صورتیکه در مدت زمان مشخصی مخاطب تایید نکرد، به اندازه یک زمان تصادفی صبر کرده و از نو با توجه به رنگ چراغ حرفشان را می زنند

 

بررسی مکانیزم های کنترل دسترسی به رسانه انتقال مشترک (قسمت اول)

بررسی مکانیزم های کنترل دسترسی به رسانه انتقال مشترک (قسمت اول)

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

موضوع:موضوع اصلی این فصل آن است که چگونه یک کانال فراگیر و مشترک را میان ایستگاههایی که خواهان استفاده از آن هستند تقسیم نماییم.

مقدمه:

همانگونه که قبلا در معرفی انواع شبکه ها متذکر شدیم، شبکه ها را می توان به دو رده تقسیم بندی کرد: شبکه هایی که از اتصالات نقطه به نقطه استفاده می کنند و شبکه هایی که از کانالهای پخش فراگیر یا broadcast بهره می گیرند. در این فصل به بررسی بیشتر شبکه های پخش فراگیر خواهیم پرداخت و در فصل های ۱۳ و ۱۴ نمونه هایی عملی از این شبکه ها را با جزئیات بیشتر بررسی خواهیم کرد.

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

image

شکل: نمونه هایی از کانالهای پخش فراگیر

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

نکته تکمیلی: در مجموعه استانداردهای IEEE لایه پیوند داده ها به دو زیر لایه MAC و LLC تقسیم می شود. زیر لایه MAC (Medium Access Control) در حقیقت ناظر به کانلهای اشتراکی است که موضوع این فصل از درس ماست.

image

شکل:لایه پیوند داده ها به دو زیرلایه مرتبط با هم (از نظر عملکرد) قابل تفکیک است

در شبکه های پخش فراگیر، مساله اصلی این است که وقتی برای دسترسی به کانال انتقال اشتراکی، مابین ایستگاهها رقابت وجود دارد، چگونه می توان تعیین کرد که چه کسی باید از کانال استفاده کند. زیر لایه MAC در شبکه های محلی که اغلب آنها از کانالهای اشتراکی به عنوان زیربنای ارتباطی استفاده می کنند، از اهمیت ویژه ای برخوردار است. در مقابل، به غیر از شبکه های ماهواره ای تمام شبکه های WAN از خطوط ارتباطی نقطه به نقطه بهره می برند. (و بنابراین زیرلایه MAC در آنها فاقد موضوعیت است). لذا ممکن است اینگونه به نظر می رسد که موضوع این فصل شبکه هایLAN است.

image

شکل: زیرلایه MAC و LLC در پروژه IEEE 802

از دیدگاه فنی، زیر لایه MAC بخش زیرین لایه پیوند داده ها محسوب می گردد و منطقا می بایست مباحث مربوط به آن قبل از زیرلایه LLC مورد بحث قرار می گرفت. به دلیل این که فهم ارتباطهای نقطه به نقطه ساده تر بود، ما در فصل ۱۱ فرض را بر این گذاشتیم (گرچه یک فرض ناقص) که کانال ارتباطی نقطه به نقطه است. حالا در این مباحث فرض ناقص قبلی خود را کامل خواهیم کرد. لذا این گونه به نظر میرسد که در بررسی لایه ها از پایین به بالا، در این مورد از این ترتیب تخطی کرده ایم.

پروتکلهای متعددی تاکنون برای مساله دسترسی به کانال اشتراکی طراحی شده اند. این پروتکلها را به سه گروه تقسیم کرده ایم که این دسته بندی را در شکل زیر می بینید.

image

در بررسی هر گروه از الگوریتم ها، با مجموعه ای از فرض های زیر روبرو هستیم:

الف- مدل ایستگاه: این مدل شامل N ایستگاه مستقل است که در هر کدام از آنها یک برنامه یا کاربر، فریمهایی برای ارسال تولید می کند. در هر ایستگاه به محض آنکه فریمی تولید گردد، ایستگاه متوقف شده و تا زمانیکه آن فریم به صورت موفقیت آمیز ارسال نگردد، کاری انجام نمیدهد. احتمال آنکه در بازه زمانی فریمی تولید شود، است که پارامتر یک مقدار ثابت (و در حقیقت میانگین نرخ تولید فریمهای جدید است).

ب- فرض کانال منفرد: در این حالت تنها یک کانال منفرد و مشترک برای مخابره داده در اختیار ایستگاههاست. تمام ایستگاهها می توانند اطلاعات خود را بر روی این کانال بفرستند یا از آن دریافت کنند.از دیدگاه سخت افزاری تمام ایستگاهها هم ارز و معادل یکدیگرند.

ج- فرض تصادم: در صورت ارسال همزمان فریم توسط ایستگاهها پدیده تصادم رخ خواهد داد. هر ایستگاه باید از وقوع تصادم مطلع گردد. فریمی که در حین ارسال ان تصادم رخ داده است باید از نو ارسال شود. در این مدلف هیچ خطائی به غیر از خرابی فریم در اثر تصادم لحاظ نمی شود.

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

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

۱۲٫۱ دسترسی تصادفی[۱] (روشهای رقابتی[۲]):

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

در روش دسترسی تصادفی، هر ایستگاهی حق دسترسی به کانال انتقال را دارد، بدون اینکه این دسترسی توسط ایستگاه دیگری کنترل شود. به عبارت دیگر، اگر بیش از یک ایستگاه سعی در ارسال داده ها داشته باشد، در این صورت یک برخورد یا collision[4] اتفاق افتاده است (هر گاه دو فریم به طور همزمان بر روی کانال انتقال (کانال اشتراکی) ارسال شوند با یکدیگر تداخل کرده و سیگنال حاصل بی ارزش و نامعتبر خواهد بود. این رخداد اصصطلاحا "تصادم" یا برخورد یا collision نامیده می شود) که منجر به تخریب و یا تغییر ماهیت فریم ها خواهد شد. برای پیشگیری از تصادم فریم ها و یا حل این معضل – زمانیکه این رخداد اتفاق بیفتد- هر ایستگاه باید از روالی استفاده کند که این روال قادر باشد برای مسائل زیر پاسخی بیابد:

· چه زمانی یک ایستگاه می تواند به رسانه انتقال دسترسی داشه باشد؟ (پیش شرطهای دسترسی به رسانه مثلا بررسی اشغال بودنیا نبودن)

· در صورت اشغال بودن کانال انتقال، ایستگاه چه باید بکند؟ (نحوه انتظار برای دسترسی به کانال انتقال)

· یک ایستگاه چگونه می تواند موفقیت آمیز بودن یا نبودن یک فرآیند انتقال را تعیین کند؟ (روال تعیین رخداد تصادم)

· یک ایستگاه در صورتی که با پدیده تصادم مواجه شود چه باید بکند؟ (روال پس از تصادم)

روشهای دسترسی تصادفی که در این فصل مطالعه خواهیم کرد از یک الگوریتم بسیار ساده و جالب به نام ALOHA شروع می شود که از روش Multiple Access یا MA استفاده می کند. برای بهبود الگوریتم مورد استفاده قابلیت شنود سیگنال حامل یا CS(Carrier Scence) را به آن اضافه می کنیم تا رده دیگری از الگوریتم ها موسوم به CSMA به دست آید. در نهایت دو روال مجزای دیگر به این گروه از الگوریتم ها افزوده خواهد شد تا الگوریتم های CSMA/CD (Carrier Scence Multiple Access with Collision Detection) و CSMA/CA (carrier Sence Multiple Access with Collision Avoidance) حاصل شود. ما در بررسی این الگوریتم ها برای سهولت در فهم آنها از تشبیه هایی استفاده کرده ایم که صرفا برای رساتر شدن مفهوم الگوریتم و تسریع در فهم آن است و ممکن است واجد همه ویژگی های الگوریتم نباشد.

الگوریتم Pure ALOHA:

ایده اصلی در Pure ALOHA آنست که ایستگاهها هرگاه فریمی را برای ارسال داشته باشند آن را روی کانال ارسال می نمایند بنابراین تصادم کاملاً محتمل است و در اثر تصادم فریم ارسالی از بین خواهد رفت. در این شبکه ارسال داده ها به سایت مرکزی روی یک باند فرکانسی مجزا و دریافت روی باندی دیگر است و ایستگاه مرکزی سیگنال دریافتی روی کانال مشترک را روی باند دیگر ارسال مجدد می کند. بنابراین تمامی ایستگاهها از سیگنال روی خط دارای فیدبک خط هستند. این فیدبک ایستگاهها را قادر می سازد پس از ارسال فریمشان روی کانال از وضعیت تصادم یا عدم تصادم مطلع شوند. این فیدبک نسبت به طول کانال با تاخیر انجام می شود. هرگاه ایستگاه ارسال کننده فریم تصادم را روی خط تشخیص بدهد ارسال را قطع کرده و به اندازه یک زمان اتفاقی صبر کرده و مجدداً به ارسال اقدام خواهد کرد. البته ممکن است مجدداً تصادم بروز کرده و این روند بارها تکرار شود. حتی اگر آخرین بیت از یک فریم ارسالی با اولین بیت فریم ایستگاه دیگر دچار اختلاط شود باز هم هر دو فریم دور ریخته می شود. موضوع مهم در این شبکه راندمان کانال است بدین معنا که در این شبکه چند درصد فریمهای ارسالی روی کانال اشتراکی بدون تصادم و سالم تحویل خواهند شد.(پدیده Noise را اصلاً در نظر نمی گیریم یعنی تنها عامل خراب کننده فریمهای ارسالی تصادم –Collision منظور شده است)

image

شکل: نمودار مفهومی نحوه عملکرد الگوریتم ALOHA

در ادامه روال دسترسی به کانال مشترک را برای پروتکل ALOHA مشاهده می کنید:

image

شکل: روال دسترسی به کانال مشترک در ALOHA

ویژگیهای ALOHA:

هدف پروژه ALOHA ایجاد خطوطی ارزان و مناسب برای دسترسی ایستگاههای مستقر در جزایر مجاور هانولولو به کامپیوتر مرکزی مستقر در جزیره هانولولو بود. سیستمی که طراحی شد ویژگی های زیر را داشت:

· سیستم از امواج رادیویی برد کوتاه در باند UHF بهره می گرفت

· هر ایستگاه به یک مودم رادیویی متصل بود که دو فرکانس داشت. فرکانس ارسال (از ایستگاه به کامپیوتر مرکزی ) در باند ۴۰۷٫۳۵ مگاهرتز و فرکانس دریافت (از کامپیوتر مرکزی) در باند ۴۱۳٫۴۷۵ مگاهرتز

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

· هر گاه کاربری داده یا فرمانی را بر روی ترمینال خود درج و کلید Enter را فشار میداد، داده ها پس از سازماندهی در قالب یک فریم، مستقیما بر روی آنتن مخابره می شد.

· قبل از ارسال سیگنال بر روی آنتن، ترمینال بررسی نمی کرد که آیا ایستگاه دیگری در حال ارسال هست یا نه. بنابراین، این امکان وجود داشت که داده های ارسالی کاربر با سیگنال داده ایستگاه دیگر تصادم داشته باشد-collision- و داده های هر دو خراب شوند.

· به دلیل پراکندگی جزایر هاوایی حول هانولولو در شعاعی ۳۰ کیلومتری، در ALOHA برد رادیویی ایستگاهها ۳۰ کیلومتر در نظر گرفته شده بود و لذا سیگنال همه ایستگاهها در مرکز قابل شنود بود ولی دلیلی نداشت که ایستگاهها بتوانند سیگنال ارسالی یکدیگر را شنود کنند. بدین ترتیب بررسی وضعیت کانال قبل از ارسال(برای آگاه شدن از اینکه آیا ایستگاه دیگری در حال ارسال هست یانه) چندان مفید نبود.

· در سیستم ALOHA ارتباط مستقیم ایستگاهها با یکدیگر تعریف نشده بود، بلکه ارتباط دو طرفه صرفا بین ایستگاهها و کامپیوتر مرکزی امکان داشت.

· نرخ ارسال ۹۶۰۰ بیت بر ثانیه بود

· داده های ارسالی در قالب فریمهایی با ۴ بخش سازماندهی می شد: الف) سی و دو بیت Header شامل مشخصات کاربر و طول فریم ب)شانزده بیت کد کشف خطا ج)بخش داده د) مجددا شانزده بیت کد کشف خطا

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

· ایستگاهی که موفق به ارسال فریم خود نمی شد، بایستی قبل از ارسال مجدد فریم، به اندازه مدت زمانی تصادفی صبر کرده و پس از آن مجددا فریم خود را ارسال نماید. در صورت عدم موفقیت در ارسال مجدد، فرستنده دوباره به اندازه مدت زمانی تصادفی صبر می کرد و از نو تلاش می کرد. با این تفاوت که زمان انتظار در تصادمهای متوالی افزایش می یافت. بازه ای که زمان انتظار به صورت تصادفی از آن انتخاب می شد به نام زمان عقبگرد Backoff time شناخته می شد و به ازای تصادم های متوالی با روشی خاص، افزایش می یافت

· هرگاه تعداد تلاشهای متوالی برای ارسال یک فریم مشخص از مقدار مشخصی (مثلا ۱۵ بار) بیشتر می شد سخت افزار ایستگاه با اعلان پیام خطا به کاربر، از ادامه کار صرفنظر می کرد (مگر اینکه کاربر مجددا درخواست ارسال میداد).

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

زمان آسیب پذیری فریم در ALOHA :

فرض کنید زمان لازم برای ارسال یک فریم ۱ ثانیه باشد (برای سادگی بحث و درگیر نشدن با جزئیات فنی غیر ضوری این زمان را نرمال کرده و یک واحد زمانی در نظر گرفته ایم و گرنه این زمان همانT=F/B   است.

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

۱- اگر از لحظه آغاز ارسال تا ۱ ثانیه بعد (مدت زمان ارسال یک فریم)، ایستگاه دیگری شروع به ارسال کند، فریم ارسالی به دلیل تصادم خراب خواهد شد.

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

image

شکل: زمان آسیب پذیری در ALOHA

به زبان ساده تر، در ALOHA برای اینکه فریم دچار تصادم نشود، باید دو آرزو داشته باشد:

اول آنکه تا T ثانیه بعد از لحظه آغاز ارسال فریم، ایستگاه دیگری شروع به ارسال نکند. دوم آنکه از T ثانیه قبل نیز ایستگاه دیگری شروع به ارسال نکرده باشد! در هر دوحالت فریم خراب خواهد شد. بنابراین به ازای هر T ثانیه، زمان آسیب پذیری ۲T ثانیه خوهد بود.

زمان آسیب پذیری، طول دوره زمانی است که به ازای ارسال هر فریم، ایستگاه دیگری نباید اقدام به ارسال کرده باشد.