Tag: CSMA

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

پروتکل CSMA/CD

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

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

برای بررسی بیشتر پروتکل CSMA/CD به شکل زیر نگاه کنید:

image

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

حال مسئله مهم اینجاست که فرض کنید دو ایستگاه دقیقاً در زمان t0 شروع به ارسال نمایند چقدر طول می کشد تا تصادم کشف شود؟ جواب این سوال از برخی جهات حیاتی است.

مدت زمان کشف تصادم به پارامتر تاخیر انتشار بستگی دارد ولی برای آنکه شبکه و ایستگاهها بتوانند درست عمل کنند بایستی اگر حداکثر تاخیر انتشار کانال t باشد به اندازه ۲t صبر کرد تا تصادم یا عدم تصادم کشف شود. چرا؟ فرض کنید ایستگاهی با خالی دیدن کانال شروع به ارسال کند و تا زمانی که سیگنال آن به ایستگاه دیگر برسد به اندازه t طول می کشد. اگر دقیقاً در همین زمان ایستگاه دیگری با خالی دیدن کانال شروع به ارسال نماید و تصادم پیش بیاید دقیقاً به اندازه یک t دیگر طول می کشد تا این قضیه آشکار شود.( البته در اینجا تصادم به روش آنالوگ و سخت افزاری کشف می شود)
برای کانالی به طول تقریبی هزار متر بدترین زمان کشف خطا ۱۰us است که زمان بسیار بدی است.
در پروتکل CSMA/CD پس از آنکه ایستگاهی بدون تصادم موفق به تصرف کانال شد دیگر هیچگاه تصادمی پیش نخواهد آمد و تمامی تصادمها بین ارسال دو فریم اتفاق خواهد افتاد. این زمان که زمان رقابت نامیده می شود روی راندمان کانال به شدت تاثیر منفی خواهد گذاشت و راندمان کانال را کاهش غیر خطی خواهد داد. با بالا رفتن ترافیک ایستگاهها ، حجم تصادمات تیر بصورت تصاعدی زیاد شده و به کاهش راندمان کانال منجر می شود. درضمن هنگامی که طول کانال زیاد شود به تبع آن زمان تاخیر انتشار نیز افزایش می یابد و رقابت نیز افزایش می یابد. شاید برای کانالی به طول یک کیلومتر زمان ده میکروثانیه برای هر تصادم مقدار کمی به نظر برسد ولی برای کانالی که مثلاً با نرخ ۱۰۰mbpکار می کند همین ده میکرو ثانیه معادل زمان ۱۰۰۰ بیت ارسال داده است. حال وقتی زمان رقابت به دلیل تصادمهای متوالی (مثلاً ۱۶ مرحله) ادامه می یابد زمان تلف شده معادل ۱۶۰۰۰ بیت ارسال داده خواهد بود. هرچه ترافیک ایستگاهها و تصادمها زیادتر شود این زمان رشد خواهد کرد فلذا این پروتکلها فقط برای LAN با طول کانال کم و همچنین نرخ ارسال پایین مناسب است و برای شبکه های با نرخ ارسال بالا مناسب نخواهد بود.

image

الگوریتم CSMA/CA

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

image

 

image

 

 

سایر مطالب مرتبط:

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

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

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

شبکه 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 همان زمان لازم برای ارسال یک فریم است). لذا هر نفر با سبز شدن این چراغ اگر حرفی برای زدن داشته باشد بلافاصله حرفش را می زند و کار ندارد که آیا دیگری هم در حال حرف زدن هست یانه (و اصولا قادر به این بررسی نیست). پس از اینکه حرفشان را زدند منتظر می مانند تا مخاطب، حرفشان را تایید کند. در صورتیکه در مدت زمان مشخصی مخاطب تایید نکرد، به اندازه یک زمان تصادفی صبر کرده و از نو با توجه به رنگ چراغ حرفشان را می زنند

 

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