شبکه‌های حسگر بی‌سیم (WSN) توجه فوق العاده‌ای را در سال‌های اخیر، در دانشگاه‌ها و صنعت به خود جلب کرده است [1]. یک WSN متشکل از یک یا چند چاهک و شاید ده‌ها یا هزاران گره حسگر پراکنده شده در یک منطقه است. ترافیک رو به بالا از گره‌های حسگر به چاهک، همگرای چندگامی چند به یک است. ترافیک بالادست به چهار مدل تحویل مبتنی بر رویداد، متوالی، مبتنی بر پرس‌وجو، وتحویل ترکیبی طبقه‌بندی شده ‌است. با توجه به طبیعت همگرای ترافیک بالادست، ازدحام به احتمال زیاد در جهت بالادست ظاهر می‌شود. ازدحام که می‌تواند منجر به تلفات بسته‌ها و افزایش تاخیر انتقال شود تاثیر مستقیم بر بهره‌وری انرژی و کیفیت سرویس برنامه‌های کاربردی (QoS) دارد و به همین دلیل باید به طور موثر کنترل شود.

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

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

تعریف ازدحام و دلایل به وجود آمدن آن

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

گره‌هاي حسگر داراي انرژي محدود می‌باشند. بنابراین اگر در گره‌اي ازدحام به وجود آید، آن گره به علت فعالیت زیادي که دارد، سریعاً انرژي خود را از دست می‌دهد. این مشکل در برخی کاربردها منجر به پایین آمدن کارایی می‌شود و در برخی دیگر باعث بروز مشکلات بیشتری می‌شود. بنابراین لازم است مکانیسم‌هاي کنترل ازدحام سریع و کارآمدي در شبکه‌هاي حسگر بی‌سیم به کار گرفته شود ]15[.

 می‌توان نتیجه گرفت که کنترل ازدحام در این شبکه‌ها بسیار مهم می‌باشد. به دو دلیل عمده، ازدحام در شبکه‌هاي حسگر بی‌سیم رخ می‌دهد ]16[.

  1. افزایش نرخ بسته‌هاي ورودي نسبت به نرخ بسته‌هاي خروجی ( این حالت در گره‌هاي حسگر نزدیک‌ به چاهک اتفاق‌می‌افتد، چون این گره‌ها معمولاً ترافیک بیتی جمع شونده بیشتري را حمل می‌کنند.)
  2. تداخل و نرخ خطاي بیت روي یک لینک( می‌تواند منجر به ازدحام در لینک شود)

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

کنترل ازدحام در شبکه‌های حسگر بی‌سیم

همانطور که در شکل2-1 مشاهده می‌شود، در حالت کلی دو نوع ازدحام می‌تواند در شبکه‌های حسگر بی‌سیم اتفاق بیافتد ]17[. نوع اول، ازدحام در سطح گره است که شبکه‌های معمولی رایج است. این نوع ازدحام اغلب به دلیل سرریز شدن بافر موجود در گره به وجود می‌آید و می‌تواند مشکلاتی مانند حذف بسته و افزایش تاخیر صف بندی را موجب شود. حذف بسته می‌تواند منجر به ارسال مجدد در نتیجه‌ی آن مصرف انرژی اضافی گردد. در شبکه‌های حسگر بی‌سیم که کانال‌های ارتباطی بی‌سیم توسط چندین گره و با استفاده از مکانیزم‌هایی مانند دستیابی چندگانه با حس کردن حامل[1] به اشتراک گذاشته می‌شود. هنگامی که چند گره بخواهند در یک زمان، کانال ارتباطی را اشغال کنند، ازدحام رخ می‌دهد. این نوع ازدحام را می‌توان به عنوان ازدحام در سطح لینک در نظر گرفت. ازدحام در سطح لینک، زمان سرویس بسته را افزایش داده و موجب کاهش بهره وری لینک و توان عملیاتی شبکه می‌شود.

انواع ازدحام در شبکه‌های حسگر بی‌سیم

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

مکانیزم‌های کنترل ازدحام:

1- تشخیص ازدحام[2] در گره‌های میانی

2- ابلاغ وقوع ازدحام[3] به همسایه‌ها

3- کاهش و اجتناب از ازدحام در همسایه‌های بالادست[4]

  تشخیص ازدحام

تشخیص ازدحام نقش بسیار مهمی را در الگوریتم‌های کنترل ازدحام ایفا می‌کند. در شبکه‌های حسگر بی‌سیم، مکانیزم تشخیص ازدحام معمولاً به محاسبه زمان سرویس بسته ]17[، نسبت میان زمان سرویس بسته و زمان بین ورود بسته[5] ]18[ و با صول صف ]19[، ]20[ در گره میانی بستگی دارد.

 ابلاغ ازدحام

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

- اعلام ازدحام صریح[6]

- اعلام ازدحام ضمنی[7]

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

کاهش و اجتناب از ازدحام

دو روش کلی برای کاهش و اجتناب از ازدحام وجود دارد:

- مدیریت منابع شبکه

- کنترل ترافیک

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

 مطابق با رفتار کنترلی، دو روش عمومی براي کنترل ترافیک در شبکه‌هاي حسگر بی‌سیم وجود دارد:

- انتها به انتها

- گام به گام

کنترل  ترافیک انتها به انتها می‌تواند تنظیم نرخ دقیق را در هر نود منبع انجام دهد و طراحی پروتکل در گره‌هاي میانی را آسان کند. در مقابل، کنترل ازدحام گام به گام پاسخ سریع‌تري دارد. اگرچه معمولاً تنظیم نرخ ارسال داده‌ها در گره‌هاي میانی اساساً دشوار است؛ چون نرخ ارسال بسته به پروتکل MAC وابسته است و می‌تواند متغیر باشد. مکانیزم تنظیم نرخ (کنترل ترافیک) می‌تواند به نوبه خود با برطرف کردن مشکل ازدحام، انرژی را ذخیره وطول عمر شبکه‌های حسگر بی‌سیم را افزایش دهد. تعدادی از مکانیزم‌های تنظیم نرخ در چند سال قبل ارائه شده‌اند. مکانیزم تنظیم نرخ گام به گام[8] و توفق و شروع[9] به منظور برطرف کردن مشکل ازدحام در منبع ]21[ استفاده شده است. در ]19[،]22[ یک روش انتها به انتها[10] به کار گرفته شده است. مکانیزم تنظیم نرخ کارا باید علاوه بر تامین عدالت و بی‌طرفی[11] ساده، از بی‌طرفی انتها به انتهای وزن‌دار[12] نیز پشتیبانی کند.

بی‌طرفی در کنترل ازدحام

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

- کارآمد بودن از لحاظ انرژی[13]

-  بی‌طرفی انتها به انتها و بی‌طرفی وزن‌دار انتها به انتها

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

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