شبکه هاي کامپيوتري فصل پنجم: لايه شبکه (NetworkLayer) بخش سوم: مسیریابی در شبکه های موقتی )موردی( وحید حقیقت دوست دانشکده فنی و مهندسی دانشگاه شاهد
مسیریابی شبکه های موقتی یا موردی Ad hoc networks
معرفی شبکه های موقتی (Ad hoc) در شبکه های موقتی که دربرخی مراجع شبکه های موردی نیز نامیده میشوند، هیچ گونه زیرساختی برای شبکه وجود ندارد. میزبانها، وظیفه مسیریابی و هدایت بسته ها را نیز انجام میدهند. دو میزبان به یکدیگر متصلند اگر و تنها اگر هر دو میزبان در برد رادیویی دیگری قرار گیرد. در این شبکه ها ممکن است توپولوژی شبکه دائماً در حال تغییر باشد در نتیجه اعتبار مسیرها بدون هیچ خطا و هشداری تغییر پیدا میکند ممکن است در این شبکه ها گره ها در حال حرکت باشند
مقایسه شبکه های Ad hoc و WLAN شبکه وایرلس و شبکه سلولی شبکه موقتی
کاربردهای شبکه های Ad hoc وسایل نقلیه نظامی در میدان جنگ ناوگان کشتی ها در دریا ارتباط کارکنان امداد در هنگام وقوع زلزله گردهمایی افراد با کامپیوترهای قابل حمل
کشف مسیر در شبکه Ad hoc از گره A به گره D B A E C مقصد D مبدا
کشف مسیر در شبکه Ad hoc B A E C D
کشف مسیر در شبکه Ad hoc B A E C D
کشف مسیر در شبکه Ad hoc B A E C D
کشف مسیر در شبکه Ad hoc B A E C D
کشف مسیر در شبکه Ad hoc B A E C D
کشف مسیر در شبکه Ad hoc B A E C D
کشف مسیر در شبکه Ad hoc B A E C D برای تبادل پیام بین مبدا A و مقصد D باید میزبانهای میانی مانند C و E همکاری کرده و بسته ها را هدایت نمایند A E C D
الگوریتم AODV (بردار فاصله براساس درخواست در شبکه موقتی) Ad-hoc On-demand Distance Vector
الگوریتم AODV فرض کنید فرایندی در گره A میخواهد بسته ای را به گره I بفرستد الگوریتم AODV فرض میکند در هر گره جدولی است که کلید آن آدرس مقصد است و اطلاعاتی راجع به آن مقصد ارائه میکند؛ از جمله اینکه بسته را به کدام همسایه باید تحویل دهد اگر گره A مسیریاب I را نبیند (ارتباط مستقیم با I نداشته باشد) باید مسیری را تا I کشف کند.
کشف مسیر در الگوریتم AODV برای یافتن مقصد I، گره A بسته ای با عنوان درخواست مسیر ( Route Request) را ایجاد و آنرا پخش میکند. این بسته به B و D میرسد و بدین ترتیب در شبکه انتشار پیدا میکند. فرمت بسته در شکل زیر آورده شده است. Step 1 Step 2 Step 3
شناسه تقاضا (Request ID): یک شمارنده محلی در گره سازنده بسته میباشد و با ارسال هر درخواست یکی به آن اضافه میشود دو فیلد آدرس منبع و شناسه تقاضا در کنار هم برای هر بسته درخواست مسیر، منحصر به فرد میباشد و به گره ها اجازه میدهد از این طریق بسته های تکراری را شناسایی و حذف نمایند. شمارنده جهش (Hop count): در هر گره که بسته درخواست مسیر دریافت شود، این فیلد مشخص میکند که این بسته تا کنون چند جهش انجام داده است. مقدار اولیه این فیلد صفر است هنگام انتشار بسته درخواست مسیر توسط هر گره به گره های همسایه یکی به آن اضافه میشود شماره ترتیب مبدا (Source sequence Number): همانطور که در ادامه در خصوص پردازش بسته درخواست مسیر توسط هر یک از گره ها توضیح داده خواهد شد، این فیلد جدیدترین معرفی از گره مبدا را انجام میدهد و گره هایی که این بسته را دریافت میکنند اطلاعات مربوط به مبدا را بروز میکنند شماره ترتیب مقصد (Destination sequence Number ): تولید کننده بسته آخرین شماره ترتیبی که از مقصد میشناسد را در این فیلد قرار میدهد در هر گره دو شمارنده وجود دارد: یکی شمارنده شناسه تقاضا و دیگری شمارنده ترتیب میزبان
عملکرد گره ها هنگام دریافت بسته درخواست مسیر اگر بسته تکراری باشد حذف میشود اطلاعات مربوط به شماره ترتیب مبدا در جدول بروز میشود (یادگیری معکوس) آدرس مقصد در جدول مربوط به میزبانها جستجو میشود اگر مسیر تازه تری به مقصد مورد نظر ثبت شده بود، بسته پاسخ مسیر را به مبدا ارسال میکند در غیر اینصورت یک واحد به شمارنده جهش اضافه و بسته درخواست مسیر را به دیگر همسایگانش پخش میکند و اطلاعات بسته را ثبت نموده تا در مسیر معکوس (Reverse Path) هنگام بازگشت بسته پاسخ مسیر از آن استفاده کند اطلاعات بسته در خواست مسیر پس از ارسال به همسایگان در هر مسیریاب میانی ثبت و به ازای آن یک تایمر برای انقضا فعال میشود
بسته پاسخ مسیر (ROUTE REPLY) بسته درخواست مسیر از مسیریابها عبور کرده و در نهایت به مسیریاب مقصد (مسیریاب I در مثال) میرسد. در اینجا I یک بسته پاسخ مسیر را مطابق با شکل فوق مهیا و آنرا به گره ای که بسته درخواست مسیر را از آن دریافت کرده بود تحویل میدهد. آدرس مبدا و مقصد عیناً از بسته درخواست مسیر کپی میشوند شمارنده ترتیب مقصد از شمارنده داخلی نوشته میشود و شمارنده داخلی یکی افزایش می یابد. فیلد شماره جهش در ابتدا برابر صفر است در طی فرایند بازگشت این بسته به هر مسیریاب که میرسد شمارنده جهش یکی افزایش می یابد. طول عمر مشخص میکند که مسیر چه مدت معتبر است گره هایی که بسته درخواست مسیر را گرفتند ولی در مسیر معکوس نبودند (مانند گره های H,F,E,C,B)، با انقضای مدت تایمر، وارده ها را از جدول مسیر معکوس حذف میکنند
مثالی از بسته های RREQ و RREP
نگهداری اطلاعات مسیر از آنجا که ممکن است توپولوژی شبکه تغییر پیدا کند (بعضی از لینکها قطع شوند یا برخی گره ها از شبکه خارج شوند)، باید به نحوی گره های دیگر از نابود شدن یک مسیر مطلع شوند مثلاً اگر گره G از شبکه خارج شود دیگر مسیر ADGI معتبر نمیباشد. مکانیزم حضور و غیاب: هر گره بصورت متناوب پیام Hello ارسال میکند و منتظر دریافت پاسخ از همسایگانش است. اگر پاسخی از همسایه دریافت نشد یعنی آن همسایه از شبکه خارج شده
نگهداری اطلاعات مسیر برای هر مقصد ممکن، هر گره ای (مانند D در شکل زیر) همسایه هایی که در ΔT ثانیه اخیر بسته ای برای آن مقصد فرستاده اند را بعنوان همسایه های فعال نگه میدارد وقتی D میفهمد که G از شبکه خارج شده است به جدول مسیریابی خود نگاه میکند از G در مسیرهایی به E، G و I استفاده شده است اجتماع همسایه های فعال مربوط به این مقصد ها مجموعه {A,B}میباشد. بعبارت دیگر A و B در بعضی از مسیرهای خود به G وابسته اند لذا باید به آنها اطلاع داده شود که این مسیرها دیگر اعتبار ندارند D با ارسال بسته هایی این خبر را به همسایگان فعال خود میدهند تا آنها جداولشان را بروز کنند D وارده های مربوط به E ، G و I را از جدول مسیریابی خود حذف میکند