پروتکل مسيريابي ARA
روش مسيريابي ARA
اين الگوريتم مبتني بر بهينه سازي کلونی مورچه (Blum, 2005) ميباشد. روش مسيريابي شامل 3 فاز است : فاز کشف مسير، فاز نگهداري مسير و فاز اداره کردن خطاي مسير.
فاز کشف مسير
در مرحله کشف مسير، مسيرهاي جديد ايجاد مي شود. ايجاد مسيرهاي جديد نيازمند استفاده از يک مورچه عازم (FANT) و يک مورچه درحال برگشت (BANT) است. FANT عاملي است، که فرمون را با شروع از گره منبع انتشار ميدهد، و BANT عاملي است که فرمون را با شروع از گره مقصد انتشار ميدهد.
FANT بسته کوچکي با شماره توالي يکتا است. گرهها ميتوانند بستههاي تکراري را بر اساس شماره توالي و آدرس منبع FANT تشخيص دهند. FANT بوسيله فرستنده به همه فرستاده ميشود و بوسيله گرههاي همسايه رله ميشود. شکل 2-4 اين عمليات را نشان ميدهد، که يک FANT با نام F توسط گره منبع (S) به طرف گره مقصد (D) فرستاده ميشود. FANT بوسيله گرههاي ديگر رله ميشود که جدول مسيريابيشان و مقادير فرمون مقداردهي اوليه ميشود.
گرهي که اولين بار يک FANT را دريافت ميکند، يک رکورد در جدول مسيريابياش ايجاد ميکند. يک رکورد در جدول مسيريابي هر گره شامل 3 جزء است: آدرس مقصد، hop بعدي و مقدار فرمون. گره آدرس منبع FANT را به عنوان آدرس مقصد تفسير ميکند، آدرس گره قبلي را به عنوان hop بعدي و مقدار فرمون را از روي تعداد hopهايي که FANT براي رسيدن به گره دارد، بدست ميآورد. سپس گره، FANT را به همسايهاش رله ميکند. FANT هاي تکراري از طريق شماره توالي يکتا شناخته ميشوند و بوسيله گرهها از بين ميروند. وقتي FANT به گره مقصد ميرسد، به روش مخصوصي پردازش ميشود. گره مقصد اطلاعات را از FANT استخراج ميکند و آن را از بين ميبرد، سپس يک BANT ايجاد ميکند و به گره منبع ميفرستد. شکل 2-5 اين عمليات را نشان ميدهد. BANT کاری همانند کار FANT را انجام ميدهد، که بوسيله گره مقصد به گره منبع فرستاده ميشود و مسيري را به گره منبع انتشار ميدهد.
فاز نگهداري مسير
اين فاز مسئول بهبود مسيرها در خلال ارتباط است. ARA هيچ بسته خاصي براي نگهداري مسير نياز ندارد. يکبار که FANT و BANT مسير فرمون را به گرههاي منبع و مقصد انتشار دادند، بستههاي داده بعدي براي نگهداري مسير استفاده ميشود. مشابه با طبيعت مسيرهاي انتشار داده شده مقدار فرمون اوليهشان را براي هميشه نگهداري ميکنند، وقتي که يک گره يک بسته داده به طرف مقصد به يک گره همسايه ميفرستد، گره مقدار فرمون ورودي ( ) را به اندازه افزايش ميدهد، يعني مسير به مقصد بوسيله بستههاي داده تقويت ميشود. در مقابل، hop بعدي مقدار فرمون ورودي ( ) را به اندازه افزايش ميدهد يعني مسير به گره منبع نيز تقويت ميشود.
پروسس بالا براي نگهداري مسير ميتواند منجر به حلقههاي ناخواسته شود. ARA از حلقهها بوسيله يک روش ساده جلوگيري ميکند، که در فاز کشف مسير نيزاستفاده ميشود. گرهها ميتوانند دريافتهاي تکراري بستههاي داده را بر اساس آدرس منبع و شماره توالي تشخيص دهند. اگر يک گره يک بسته تکراري دريافت کند، پرچم DUPLICATE-ERROR را 1 ميکند و بسته را رو به عقب به گره قبلي ميفرستد. گره قبلي لينک به اين گره را غيرفعال ميکند، بهطوريکه بستههاي داده ديگر نميتوانند به اين جهت فرستاده شوند.
فاز اداره کردن خطاي مسير
سومين و آخرين فاز ARA، اداره کردن خطاهاي مسيريابي است، که به خاطر سيار بودن گرهها در شبکههاي موردي سيار زياد اتفاق ميافتد. ARA خطاي مسير را از گم شدن تأييديه تشخيص ميدهد. اگر يک گره دچار خطا شد، يک لينک جايگزين در جدول مسيريابياش جستجو ميکند. اگر لينک دوم وجود داشت آن بسته را از طريق اين مسير ميفرستد، در غير اينصورت گره همسايهاش را آگاه ميکند، با اين اميد که آنها ميتوانند بسته را رله کنند. هر بسته ميتواند به گره مقصد انتقال داده شود يا به گره منبعاش برگردانده شود. اگر بسته به مقصد نرسيد، مبدأ فاز کشف مسير جديدي را شروع ميکند.
الگوریتم مسیریابی ARA، در مسیریابی و استفاده از مسیرهای کشف شده برای ارسال داده، انرژی گرهها را در نظر نمیگیرد (Asif et. al., 2008).