Routing Protocols

‫‪1‬‬
‫باسمه تعالي‬
‫دانشگاه صنعتي شريف‬
‫پروژه درس شبكههاي‬
‫كامپيوتري‬
‫آشنايي با پروتكلهاي مسير يابي‬
‫وحيد بهروان‬
‫علي تاجر‬
‫تابستان‬
‫‪76113505‬‬
‫‪76116709‬‬
‫‪80‬‬
‫فهرست مطالب ‪:‬‬
‫‪ Routing‬چيست؟ ‪1 ..........................‬‬

‫آشنايي با پروتكلهاي مسيريابي‬
1 .........................
2 ...................
Routing ‫اجزاي‬
Routing ‫الگوريتمهاي‬
3 ....................... Routing ‫متريكهاي‬
4 ...................... Routing ‫پروتكلهاي‬
5 .................................. IGRP
9 ........................... Enhanced IGRP
14.................................. OSPF
18................................... RIP
22.................... Exterior Gateway Routing
25.................................. BGP
33................................... EGP
35.................................. GDP
37........................ IP Multicast Routing
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫‪ Routing‬چيست ؟‬
‫مسيريابي‪ ،‬عمليات انتقال اطالعات از مبدأ به‬
‫مقصد است‪ Routing .‬معمولا با ‪ Bridging‬مقايسه ميشود‪.‬‬
‫اولين تفاوت اين است كه ‪ Bridging‬متعلق به ‪Data‬‬
‫‪ Link Layer‬ميباشد‪ .‬در صورتيكه ‪ Routing‬متعلق به‬
‫‪ Network Layer‬است‪ .‬اين تفاوت باعث ميشود كه در‬
‫متفاوتي‬
‫اطالعات‬
‫از‬
‫اطالعات‬
‫انتقال‬
‫فرآيند‬
‫استفاده شود‪.‬‬
‫اجزاء ‪:Routing‬‬
‫‪ Routing‬وظيفه انجام دو كار عمده را دارد‪،‬‬
‫تعيين بهينه ترين مسير و انتقال گروههاي‬
‫اطالعاتي (‪ )Packets‬از طريق شبكه كه اين موضوع‬
‫‪ Switchong‬ناميده ميشود‪ .‬بر خالف ‪ ،Switching‬تعيين‬
‫مسير كميپيچيده است‪.‬‬
‫تعيين مسير‪:‬‬
‫يك متريك‪ ،‬يك استاندارد براي سنجيدن است‪ .‬مثل‬
‫طول مسير كه در الگوريتمهاي مسيريابي استفاده‬
‫مي شود‪ .‬براي مسير يابي اين الگوريتمها جدولهاي‬
‫مسير يابي دارند و اطالعات مسير با توجه به‬
‫الگوريتم تغيير ميكنند‪.‬‬
‫اين جدولها‪ ،‬اطالعات متنوعي دارند‪ .‬مثالا ‪next hop‬‬
‫به يك ‪ Router‬ميگويد كه يك به مقصد مشخص ميتوان‬
‫بصورت بهينه از طريق يك ‪ Router‬مشخص كه همان ‪hop‬‬
‫بعدي است رسيد‪ .‬وقتيكه يك ‪ Router‬يك ‪ Packet‬را‬
‫ميگيرد‪ ،‬آدرس مقصد را چك ميكند و سعي ميكند‬
‫رابطه اي بين آن و ‪ hop‬بعدي را برقرار كند‪.‬‬
‫مثل جدول زير‪:‬‬
‫‪Net. No.‬‬
‫‪Send to‬‬
‫‪27‬‬
‫‪Node A‬‬
‫‪57‬‬
‫‪Node B‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫‪17‬‬
‫‪Node C‬‬
‫‪ Router‬ها با هم رابطه برقرار ميكنند و از طريق‬
‫رد و بدل كردن پيام‪ ،‬جدولهاي ‪ Routing‬را ميسازند‪.‬‬
‫پيغام ‪ ،Routing update‬معمولا تمام يا قسمتي از جدول‬
‫‪ Routing‬را در بر دارد‪ .‬با بررسي جدول بقيه‬
‫‪Router‬ها‪ ،‬هر ‪ ،Router‬ميتواند يك توپولوژي دقيق از‬
‫شبكه براي خود ترسيم كند‪ .‬نوع ديگري از‬
‫پيغامها‪ ،‬اعالم عمومي‪ Link – State‬است‪ .‬كه به بقيه‬
‫‪Router‬ها در مورد وضعيت رابطهاي فرستنده اطالعات‬
‫ميدهد‪.‬‬
‫‪:Switching‬‬
‫الگوريتمهاي ‪ Switching‬معمولا ساده و يكسان‬
‫هستند‪ .‬در بيشتر مواقع‪ ،‬يك ‪ host‬معين ميكند كه‬
‫بايد به يك ‪ host‬ديگر يك ‪ Packet‬بفرستد و هنگاميكه‬
‫آدرس ‪ Router‬را بدست آورد‪ host .‬مبدأ يك ‪ Packet‬آدرس‬
‫داده شده را به يك آدرس فيزيكي ميفرستد و يا‬
‫پرتو كل و آدرس مقصد‪ .‬حال ‪ Router‬نگاه ميكند كه‬
‫ببيند آيا ميتواند آنرا ‪ forward‬كند يا نه‪ .‬اگر‬
‫نتوانست آنرا رها ميكند اگر توانست به ‪ hop‬بعدي‬
‫ميفرستد‪ .‬و اين كار در ‪hop‬هاي بعدي بصورت مشابه‬
‫تكرار ميشود‪.‬‬
‫الگوريتمهاي ‪: Routing‬‬
‫اين الگوريتمها با توجه به چندين مشخصه ممكن‬
‫است تغيير كنند‪ :‬اول هدف طراح باعث تغيير‬
‫الگوريتم خواهد شد‪ .‬دوم اينكه چندين روش‬
‫مسيريابي وجود دارد كه هر كدام تأثير خاص بر‬
‫شبكه ميگذارند و ‪000‬‬
‫اهداف طراحي‪:‬‬
‫‪ -1‬بهينه بودن‪ ،‬به معني انتخاب بهترين مسير‬
‫است‪ ،‬كه وابسته به ميزان متريكها خواهد بود مثل‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫تعداد ‪hop‬ها و يا تأخيري كه ايجاد ميشود توسط هر‬
‫‪hop‬‬
‫‪ -2‬ساده بودن‪ ،‬به اين معني كه اين الگوريتمها‬
‫بايد تا حد ممكن كار آمد باشند در حاليكه نرم‬
‫افزار آنها پيچيده نباشد و هزينة باليي هم‬
‫نداشته باشد‪.‬‬
‫‪ -3‬همگرايي سريع‪ :‬به معني اين است كه اگر در‬
‫كار شبكه اختاللي ايجاد شد‪ .‬مثل اشكال در كار‬
‫سخت افزار شرايط بار زياد‪ Router ،000 ،‬همچنان با‬
‫كاركردن صحيح ادامه دهد‪ .‬به دليل اينكه از كار‬
‫افتادن ‪Router‬ها ممكن است خسارتهاي سنگيني به بار‬
‫آورد‪.‬‬
‫‪ -4‬انعطاف پذيري‪ :‬به معني اين است كه بايد به‬
‫سرعت و دقت با محيط اطراف خود سازگار شوند‪.‬‬
‫انواع الگوريتمها‪:‬‬
‫اين الگوريتمها بر اساس انواع تفاوتهاي زير‬
‫ميتوانند تغيير كنند‪:‬‬
‫‪ -1‬استاتيك يا ديناميك باشند‬
‫‪ -2‬يك مسير يا چند مسير باشند‬
‫‪ host -3‬هوشمند و يا ‪ Router‬داشته باشند‬
‫‪ Link State -4‬يا ‪ distance Vector‬باشند‬
‫متريكهاي ‪:Routing‬‬
‫جدولهاي ‪ Routing‬اطالعاتي دارند كه نرم افزار با‬
‫استفاده از آنها بهترين مسير را انتخاب‬
‫ميكند‪.‬اين اطالعات ميتوانند شامل متريكهاي زير‬
‫باشند‪ :‬طول مسير‪ ،‬قابليت اطمينان‪ ،‬تأخير‪ ،‬پهناي‬
‫باند و هزينة ارتباطات‪.‬‬
‫‪: IP Routing Protocols‬‬
‫پروتوكلهاي مسير يابي مبتني بر ‪ ،IP‬به دو دسته‬
‫كلي تقسيم ميگردند‪:‬‬
‫)‪Interior Gateway Protocols (IGPs‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫)‪Exterior Gateway Protocols (EGPs‬‬
‫در شبكههايي كه زير نظر يك شبكه مشترك‬
‫‪IGPs‬‬
‫اداره ميشوند استفاده ميگردد‪ .‬انواع پروتكلهاي‬
‫‪ IGP‬عبارتند از‪:‬‬
‫)‪Border Gateway Protocol (BGPs‬‬
‫‪Enhanced IGRP‬‬
‫)‪Open shourtest Path (OSPF‬‬
‫)‪Routing Information Protocol (RIP‬‬
‫)‪Intermediate System to Intermediate System (Is-Is‬‬
‫‪ EGPs‬براي مسير يابي بين شكبههايي كه اشتراكي‬
‫با هم ندارند استفاده ميگردد‪ ،‬اين پرتوكلها قبل‬
‫از اينكه عمل مسير ياب را انجام دهند‪ ،‬سه نوع‬
‫اطالعات نياز دارند‪:‬‬
‫ليستي از مسير يابيهاي همسايه )‪(neighbor routers‬‬
‫ليستي از شبكههايي كه به صورت مستقيم قابل‬
‫دسترسي هستند‬
‫شماره سيستم مستقل )‪ (autonomous system number‬مسير‬
‫يابي محلي‪.‬‬
‫پرتوكلهاي ‪ EGPs‬نيز به دو دسته كلي زير تقسيم‬
‫ميگردند‪:‬‬
‫)‪Border Gateway Protocol (BGPs‬‬
‫)‪Exterior Gateway protocol (EGPs‬‬
‫عالوه بر اينها پرتوكلهايي هم براي شناسايي‬
‫)‪ (router discovery‬وجود دارد كه از‬
‫مسير يابها‬
‫‪ICMP Router‬‬
‫بين آنها ميتوان به‬
‫‪ (RFC1256) Discovery p.‬اشاره كرد‪.‬‬
‫قبل از اينكه به معرفي پروتوكلها بپردازيم اين‬
‫سؤال مطرح ميشود كه براي كار‪ ،‬از كدام يك از‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫پروتكلها استفاده كنيم ؟ در واقع براي انتخاب‬
‫پروتكل بايد پارامترهاي زير را در نظر گرفت‪:‬‬
‫اندازه و پيچيدگي شبكه‬
‫پشتيباني از‬
‫)‪OSPf , IS-IS : Routing Variable Length Subnet Masks (VLSM‬‬
‫اين قابليت را دارند‪.‬‬
‫ميزان ‪ reliability , security‬مورد نياز‪.‬‬
‫مشخصه تأخير )‪ (delay‬شبكه مورد استفاده‪.‬‬
‫قابليت تغيير پذيري پروتكل به صورت سازمان‬
‫يافته‪ ،‬به طوري كه بتوان آن را با شرايط مختلف‬
‫سازگار نمود‪.‬‬
‫پروتكل ‪:IGRP‬‬
‫جزو پروتكلهاي ‪ dynamic distance vector‬به شمار‬
‫ميآيد‪ .‬به طور پيش فرض هر ‪ 90‬ثانيه يك ‪update‬‬
‫‪pakcet‬را به صورت ‪ Broadcast‬ارسال ميكند‪ .‬اگر در‬
‫عرض ‪ 270‬ثانيه جوابي از يك مسيرياب دريافت نكند‬
‫آن را غير قابل دسترس )‪ (inaccessible‬معرفي ميكند‬
‫اگر پس از ‪ 630‬ثانيه پاسخي دريافت نكند‪ ،‬آن مسير‬
‫را از ‪ routing table‬حذف ميكند‪ .‬براي اينكه همگرايي‬
‫اين پروتكل در رسيدن به مسير مناسب بيشتر گردد‬
‫از دو روش ‪ flash update poisson , reverse update‬استفاده‬
‫ميگردد‪.‬‬
‫‪ IGRP‬در دهه ‪ 80‬توسط ‪ Cisco‬ابداع شد و هدف آن‬
‫ايجاد پروتوكلي پايدار و مطمئن براي سيستمهاي‬
‫مستقل بود‪ .‬قبل از دهه ‪ ،80‬پروتكل ‪ RIP‬مشهورترين‬
‫و پركاربردترين پروتكلها بود‪ .‬اما ‪ RIP‬فقط براي‬
‫شبكههاي كوچك مفيد بود (شبكههايي كه حداكثر طول‬
‫‪ 16‬بود) در ضمن فاصله‬
‫مسير در آنها ‪hop‬‬
‫مسيريابها را فقط با شمردن تعداد ‪hop‬هاي بين‬
‫آنها تعيين كرد كه در محيطهاي پيچيده و شكبههاي‬
‫گسترده بازدهي كار را پايين ميآورد‪ .‬به اين‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫دليل پس از ابداع ‪ ،IGRP‬اين پروتكل به سرعت‬
‫جايگزين ‪ RIP‬شد‪.‬‬
‫مشخصات پروتكل ‪(IGRP Protocal characteristics) IGRP‬‬
‫همان طور كه ذكر شد ‪ IGRP‬يك ‪vector * distance Pro.‬‬
‫است‪ .‬در اين نوع پروتكلها هر مسيرياب تمام يا‬
‫خود را در بازههاي زماني‬
‫قسمتي از ‪routing table‬‬
‫منظم براي همسايههاي خود ميفرستد‪.‬‬
‫در مقابل ‪ ،disance v. p.‬پروتكلهاي ‪ link state‬قرار‬
‫دارند كه اطالعات محلي خود را به تمام نودهاي‬
‫ا خواهيم گفت كه ‪،OSPF‬‬
‫شبكه ارسال ميكنند‪ .‬بعدا‬
‫از نوع پروتكلهاي ‪ link state‬ميباشند‪IGRP .‬‬
‫‪IS-IS‬‬
‫براي تعيين فاصله بين مسيريابها از برداري شامل‬
‫چند پارامتر استفاده ميكند‪ ،‬اين پارامترها‬
‫عبارتند از تأخير موجود )‪ ،(delay‬پهناي باند مسير‬
‫)‪ ،(BW‬قابليت اعتمادي كه اين مسير وجود دارد‬
‫)‪ (reliability‬مقدار بار )‪ (load‬كه روي مسير قرار داد‪.‬‬
‫هم چنين براي هر يك از اين پارامترها ميتوان‬
‫وزني تعيين كرد كه اهميت آن بيشتر از بقيه‬
‫گردد‪ .‬نكته قابل ذكر ديگر اينكه هر يك از‬
‫پارامترهاي فوق ميتوانند در بازة وسيعي تغيير‬
‫ميتواند از ‪ 1200 bps‬تا ‪10 giga bps‬‬
‫كنند‪ ،‬مثالا ‪Bw‬‬
‫تغيير كند و اين نكته‪ IGRP ،‬را براي شبكههايي‬
‫كه مشخصات ساختاري آنها تغييرات سريع ندارند‬
‫مناسب مينمايد‪.‬‬
‫انعطاف پذيري بيشتر‪ IGRP ،‬امكان ارسال‬
‫براي‬
‫داده از چند مسير )‪ (multipath routing‬را فراهم‬
‫ميكند‪ .‬مثالا اگر يك مسير ‪ 3‬برابر بهتر از مسير‬
‫ديگر باشد (به خاطر اينكه طول آن بر اساس‬
‫پارامترهاي ذكر شده ‪ ،‬طول ديگري به دست آمده )‬
‫اغلب دادهها از خط اولي فرستاده ميشوند‪ ،‬ضمن‬
‫اينكه اگر يكي از اين خطها خراب شود امكان‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫سوئيچ كردن به خطهاي ديگر وجود دارد‪ .‬اما اين‬
‫نكته را به خاطر داشته باشيد كه در ‪multipath routing‬‬
‫از بين مسيرهاي موجود تنها آنهايي استفاده‬
‫ميشوند كه طول آنها در محدودة شخصي از بهترين‬
‫طولهاي موجود باشد‪.‬‬
‫ويژگيهاي پايداري در ‪:IGRP‬‬
‫‪ IGRP‬ويژگيهايي دارد كه براي افزايش پايداري‬
‫و كارايي آن طراحي شده اند‪ .‬اين ويژگيها‬
‫عبارتند از‪:‬‬
‫‪Poison-reverse update , split Horizon , Hold-down‬‬
‫‪ Hold-down‬از فرستادن پيغام نامناسب ‪ update‬كه‬
‫تثبيت دوبارة يك مسير مشكل دار را در حالي كه‬
‫ا هنوز آن مسير خراب است – به بقيه‬
‫واقعا‬
‫مسيريابها اطالع ميدهد جلوگيري نمايد‪ .‬وقتي يك‬
‫مسيرياب خراب شود‪ .‬مسير يابهاي همسايه از‬
‫نرسيدن منظم پيغامهاي ‪ update‬متوجه ميشوند كه اين‬
‫مسيرياب از مسير خارج شده است‪ .‬سپس مسيرهاي‬
‫جديد محاسبه شده و پيغامهاي مناسب براي آگاهي‬
‫دان بقيه شبكه از وضعيت جديد به مسيريابهاي‬
‫ديگر فرستاده ميشود‪ .‬اين عمل موجي از پيغامهاي‬
‫‪ update‬را ايجاد ميكند كه در شبكه منتشر ميشوند‪.‬‬
‫اين پيغامها به طور آني به هر نقطه شبكه‬
‫نميرسند‪ ،‬بنابراين ممكن است مسير يابهايي كه‬
‫ا مسير‬
‫هنوز اين پيغام به آنها نرسيده (و طبيعتا‬
‫مذكور را سالم فرض ميكنند ) پيغامهايي ناشي از‬
‫سالم بودن مسير مذكور به مسير يابي بفرستند كه‬
‫قبالا از خرابي مسير‪ ،‬آگاه شده بود‪ ،‬در اين حالت‬
‫مسيرياب آخري اطالعات نادرستي از وضعيت مسيرهاي‬
‫شبكه خواهد داشت‪.‬‬
‫‪ Hold down‬به مسيريابها ميگويد كه از هر تغييري‬
‫كه در بازه اي از زمان در مسيرها واقع ميشودصرف‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫نظر كنند‪ ،‬زمان ‪ hold down‬معمولا طوري در نظر‬
‫گرفته ميشود كه بزرگتر از زمان لزم براي ‪update‬‬
‫شدن كل شبكه – پس از وقوع تغييري در وضعيت‬
‫مسيرها – باشد‪.‬‬
‫‪ Split Horizon‬از اين مطلب ناشي ميشود كه هرگز‬
‫مفيد نيست اطالعات مربوط به يك مسير از طريق‬
‫همان مسير به مسيريابهاي ديگر فرستاده شود به‬
‫شكل زير نگاه كنيد‪ ،‬مسيرياب اولي )‪ (R1‬به شبكة‬
‫‪A‬وصل است‪ .‬در اين وضعيت اصالا ضروري نيست كه ‪R2‬‬
‫اطالعات مربوط به اين مسير (مسير بين ‪ R1‬و شبكه‬
‫‪ )A‬را در پيغامهاي ‪ update‬خود‪ ،‬به خود ‪ R1‬بفرستد‬
‫چون ‪ R1‬به شبكه ‪ A‬نزديك تر است مثالا فرض كنيد به‬
‫هر دليلي اتصال ‪ R1‬با ‪ A‬قطع شود در اين صورت ‪R2‬‬
‫خبر سالم‬
‫همچنان در پيغامهاي ‪ update‬خود به ‪R1‬‬
‫هوشمند‬
‫بودن مسير مزبور را ميدهد حال اگر ‪R1‬‬
‫نباشد ممكن است يك ‪ LOOP‬حاصل شود يعني ‪ R1‬و ‪R2‬‬
‫ا به يكديگر اطالع دهند كه مسير سالم است در‬
‫مرتبا‬
‫ا مسير‪ ،‬خراب شده است‪ .‬گر چه ‪hold‬‬
‫حالي كه واقعا‬
‫‪ down‬هم از ايجاد چنين وضعيتي جلوگيري ميكند ولي‬
‫‪ split‬مكانيزم اضافه اي براي ايجاد‬
‫‪Horizon‬‬
‫پايداري است‪.‬‬
‫‪ Split Horizon‬براي جلوگيري از ايجاد يك ‪LOOP‬‬
‫بين دو مسيرياب همسايه بود ولي ‪poison_reverse update‬‬
‫براي شكستن ‪loop‬هاي مسيريابي بزرگتر لزم است‪ .‬از‬
‫ا باعث ايجاد‬
‫آن جا كه افزايش طول مسيرها عموما‬
‫‪posion_reverse update‬‬
‫ميشود‪،‬‬
‫مسيريابي‬
‫‪loop‬هاي‬
‫مكانيزميبوجود ميآورد كه اگر طول يك مسير از‬
‫حدي افزايش يافت‪ ،‬آن مسير را در وضعيت ‪hold down‬‬
‫قرار دهد‪.‬‬
‫زمان سنجي در ‪IGRP‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫‪ IGRP‬حاوي مجموعه اي از زمان سنجها و‬
‫متغيرهايي است كه بازههاي زماني مورد نياز را‬
‫نگهداري ميكنند اين زمان سنجيها شامل ‪flush timer ,‬‬
‫‪ hold_time priod , invalid timer , update timer‬ميباشند‪.‬‬
‫‪ Update timer‬مشخص ميكند كه پيغامهاي ‪ update‬با چه‬
‫فركانسي ارسال گردند مقدار پيش فرض اين زمان ‪3‬‬
‫برابر ‪ update timer‬است ‪ hold_timer‬متغيري است كه مدت‬
‫را معين ميكند‪ .‬مقدار پيش فرض‬
‫زمان ‪hold down‬‬
‫اين متغير در ‪ 3 IGRP‬برابر ‪ update time‬به اضافه‬
‫‪ 15 sec‬ميباشد‪.‬‬
‫‪ Flush time‬تعيين ميكند چه مدت زماني بايد بگذرد‬
‫قبل از اينكه يك مسير از ‪ routing table‬حذف گردد‪،‬‬
‫مقدار پيش فرض اين زمان در ‪ 7،IGRP‬برابر زمان‬
‫‪ update‬است‪.‬‬
‫‪:Enhanced IGRP‬‬
‫پروتكل‬
‫‪ En.IGRP‬تكامل يافته جد خود ‪ IGRP‬ميباشد‪ .‬اين‬
‫تكامل از تغييرات ايجاد شده در شبكهها و لزوم‬
‫ايجاد شبكههاي وسيع و مختلف ناشي گرديد‪En.IGRP .‬‬
‫تواناييهاي پروتكلهاي ‪ link-state‬را در پرتوكلهاي‬
‫‪ distance vector‬جمع آوري ميكند‪ .‬اين پروتكل شامل‬
‫است‪.‬‬
‫)‪(DUAL‬‬
‫‪Diffusing-update‬‬
‫نام‬
‫الگوريتميبه‬
‫‪ En.IGRP‬سازگاري با مسير يابهاي ‪ IGRP‬را حفظ‬
‫ميكند‪ .‬يك مكانيزم خودكار اجازه ميدهد اطالعات‬
‫مسيرها در ‪ IGRP‬به اطالعات در ‪ En.IGRP‬تبديل گردد‬
‫و بالعكس‪ .‬در اين قسمت به بررسي اصول پايه و‬
‫خصوصيات كلي ‪ En.IGRP‬ميپردازيم‪.‬‬
‫‪:En.IRGP‬‬
‫تواناييها و خصوصيات‬
‫تواناييهاي كليدي كه ‪ En.IGRP‬را شاخص ميكند‬
‫عبارتند از‪ :‬همگرايي سريع‪ ،‬پشتيباني از ‪،VLSM‬‬
‫‪‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫و‬
‫پشتيباني‬
‫از‬
‫‪partial‬‬
‫پشتيباني از ‪update‬‬
‫پرتوكلهايي با چندين لية شبكه‪.‬‬
‫يكي مسيرياب كه ‪ En. IGRP‬را اجرا ميكند‪routing ،‬‬
‫‪ table‬تمام همسايههاي خود را نيز ذخيره ميكند‪،‬‬
‫طوري كه خيلي سريع ميتواند مسيرهاي جديدي را‬
‫جايگزين مسير معيوب نمايد‪ .‬اگر مسير مناسبي‬
‫يافت نشود‪ En.IGRP ،‬از همسايههاي خود سوال ميكند‬
‫تا مسير جايگزين را بيابد و اين سؤالها پخش‬
‫ميشوند تا مسير جايگزين‪ ،‬يافت شود‪ En. IGRP .‬به‬
‫طور متناوب پيغامهاي ‪ update‬را نميفرستد در عوض‬
‫هر گاه طول يك مسير تغيير يافت ‪update‬هاي جزيي‬
‫)‪ (partial update‬ارسال ميكند‪ .‬انتشار ‪update.‬هاي جزيي‬
‫به طور اتوماتيك و به گونه اي انجام ميشود كه‬
‫فقط مسيريابهايي كه به اين اطالعات نياز دارند‬
‫‪ update‬گردند‪ .‬به دليل همين قابليت‪En. IGRP ،‬‬
‫پهناي باند خيلي كمتري نسبت به ‪ IGRP‬اشغال‬
‫ميكند‪.‬‬
‫براي ايجاد بازدهي بيشتر در عمليات مسيريابي‪،‬‬
‫‪ En. IGRP‬از ‪ 4‬تكنولوژي كليدي سود ميبرد كه آن را‬
‫متمايز از ساير پروتوكلها نموده است‪:‬‬
‫‪ : Neighbor‬اين قابليت توسط‬
‫‪diocovery/recovery‬‬
‫مسيرياب استفاده ميشود تا به طور فعال و دائمي‬
‫ا به‬
‫از وضعيت مسيريابها در شبكههايي كه مستقيما‬
‫آن وصل هستند آگاه گردد‪ .‬براي اين منظور‬
‫مسيرياب به صورت متناوب ‪packet‬هاي ‪ hello‬براي هم‬
‫ارسال ميكنند‪ .‬تا زماني كه دو مسيرياب از‬
‫همديگر ‪ hello packet‬دريافت ميكنند از سالمت يكديگر‬
‫آگاهند‪.‬‬
‫‪ RIP :Reliable Transport protocol‬مسئول تحويل مطمئن و‬
‫منظم ‪packet‬هاي ‪ En. I.‬به همسايهها است‪ RIP .‬ارسال‬
‫‪packet‬هاي ‪ multicast , unicast‬را پشتيباني ميكند‪ .‬براي‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫اينكه بازدهي بال باشد‪ .‬فقط تحويل مطمئن‬
‫‪packet‬هاي خالص تضمين ميگردد‪ .‬در برخي شبكهها لزم‬
‫نيست برخي از ‪packet‬ها به صورت ‪ reliable‬به همه‬
‫فرستاده شوند‪ .‬بنابراين در هنگام لزوم‪ ،‬فرستنده‬
‫يك ‪ hello p.‬به گيرنده ميفرستد تا به او اطالع دهد‬
‫‪packet‬هاي ارسالي به ‪ ack.‬نياز دارند‪.‬‬
‫‪ DUAL :DUAL finite _ state machine‬الگوريتميبراي‬
‫محاسبه مسير مناسب بر مبناي اطالعاتي است كه‬
‫اطالعات مربوط‬
‫همسايهها ارسال كرده اند‪DUAL .‬‬
‫به فاصله مسيريابها را براي انتخاب مسيري مطمئن‬
‫‪feasible‬‬
‫ا يك‬
‫و بدون ‪ LOOP‬استفاده ميكند و ضمنا‬
‫‪ successor‬براي جايگزين نمودن در ‪ routing table‬انتخاب‬
‫ميكند‪ feasible succ. .‬در واقع يكي از مسيريابهاي‬
‫مجاور است كه در كم فاصله ترين مسير تا مقصد‬
‫قرار دارد‪.‬‬
‫‪ :Protocol-dependent modules‬مسئول برآورده كردن‬
‫نيازهاي خاص پروتوكل ليه شبكه ميباشند‪ ،‬به‬
‫عنوان مثال مدول ‪ IP.En. IGRP‬مسئوليت فرستادن و‬
‫دريافت نمودن ‪packet‬هاي ‪ En. IGRP‬كه در ‪ IP‬جايگزين‬
‫شده اند را بر عهده دارد‪ .‬هم چنين مسئول تجزيه‬
‫كردن ‪packet‬هاي ‪ En. IGRP‬و استخراج اطالعات لزم‬
‫براي ‪ DUAL‬از آنها ميباشد‪.‬‬
‫ابزارهاي مسيريابي ‪:En. IGRP‬‬
‫در اين جا به بررسي سه مفهوم كه در مسيريابي‬
‫توسط اين پروتكل استفاده ميشوند ميپردازيم‪:‬‬
‫‪:Neighbor Tables‬‬
‫وقتي يكي از مسيريابها همسايه جديدي را مييابد‬
‫آدرس و رابطهاي آن را در رديفي از جدولي به نام‬
‫ارسال‬
‫‪ neighbor table‬ذخيره ميكند‪ .‬سپس يك ‪hello p.‬‬
‫كرده و ‪ hold time‬را برقرار ميكند‪ .‬اگر ‪ hello p.‬در‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫مدت زمان ‪ hold time‬دريافت نشد به ‪ DUAL‬تغيير‬
‫وضعيت توپولوژي اطالع داده ميشود‪neighbor table .‬‬
‫همچنين شامل اطالعات لزم براي پروتكل ‪ RTP‬است‪.‬‬
‫از ‪ sequence Num.‬براي تشخيص اينكه كدام يك از‬
‫‪ acknowledge‬شده اند استفاده ميگردد‪.‬‬
‫‪packet‬ها‬
‫آخرين ‪ sequence Number‬دريافت شده ذخيره ميگردد تا‬
‫‪packet‬هاي خارج از نوبت شناسايي گردند‪ .‬هم چنين‬
‫يك ‪packet ،transmission List‬ها را براي ارسال مجدد‬
‫احتمالي در يك صف ذخيره ميكند‪ .‬در ‪neighbor table‬‬
‫زمان سنجهايي وجود دارند كه زمان رفت و برگشت‬
‫‪packet‬ها را محاسبه ميكنند تا بتوانند بازه زماني‬
‫دلخواه براي ارسال مجدد را به مؤثرترين شكل‬
‫انتخاب نمايند‪.‬‬
‫‪ :Topology Tables‬شامل تمام ‪destination‬هايي كه توسط‬
‫مسيريابهاي مجاور معرفي شده اند‪ ،‬همراه با آدرس‬
‫آنها و ليست همسايههايي كه اين ‪destination‬ها را‬
‫معرفي كرده اند و ركوردي از فاصلههايي كه هر‬
‫مسيرياب مجاور با اين ‪ dest.‬دارد ميباشد‪ .‬حال‬
‫حساب شده و به بقيه‬
‫فاصله اي كه براي هر ‪dest.‬‬
‫مسيريابها ارسال ميشود مجموع بهترين فاصله اي‬
‫براي آن ‪ dest.‬وجود دارد و‬
‫كه در ‪Topology Table‬‬
‫فاصله تا بهترين مسيرياب مجاور (يعني مسيريابي‬
‫كه كمترين فاصله را با ‪ dest.‬مورد نظر گزارش كرده‬
‫است ) ميباشد‪.‬‬
‫‪feasible‬‬
‫‪ :Route States‬همان طور كه پيشتر ذكر شد‬
‫‪ successor‬يكي از مسيريابهاي مجاور است كه كم‬
‫فاصله ترين فاصله را تا ‪ dest.‬دارد در حالي كه‬
‫قسمتي از يك ‪ loop‬مسيريابي نيز نيست و مسيرياب‬
‫اصلي‪packet ،‬هايي را كه بايد به ‪ dest.‬برسند به اين‬
‫مسيرياب ‪ forward‬ميكند‪.‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫در ‪ Topology Table‬هر ‪ dest.‬ثبت شده در يكي از دو‬
‫حالت )‪ (state‬فعال )‪ (active‬و يا غير فعال )‪(passive‬‬
‫‪feasible‬‬
‫همواره يك‬
‫ميباشد‪ .‬اگر براي يك ‪dest.‬‬
‫همواره در وضعيت‬
‫‪ successor‬موجود باشد اين ‪dest.‬‬
‫غير فعال ميماند و ‪ recomputation‬براي آن انجام‬
‫نميگردد اگر براي يك ‪ feasible successor ، dest.‬يافت‬
‫‪(Query‬‬
‫نشود از مسيريابهاي مجاور‪ ،‬سئوال ميشود‬
‫)‪ .Packet‬مسيريابهاي مجاور‪ ،‬يا پاسخ ميدهند ‪(Reply‬‬
‫)‪ Packet‬كه يك ‪ feasible succ.‬براي اين ‪ dest.‬دارند و يا‬
‫پاسخ ميدهند كه انها نيز در ‪ recomputation‬شركت مي‬
‫كنند (يعني به همين ترتيب از مسيريابهاي مجاور‬
‫خود سؤال ميكنند)‪ .‬تا وقتي كه يك ‪ dest.‬در وضعيت‬
‫فعال است‪ ،‬مسيرياب نميتواند اطالعات مربوط به آن‬
‫را در ‪ routing table‬تغيير دهد‪.‬‬
‫پس از اينكه از تمام مسيريابهاي مجاور پاسخ‬
‫رسيد (مبني بر اينكه يا خود ‪ feasible succ.‬را يافته‬
‫اند يا از طريق مسيريابهاي ديگر) آن گاه‪dest. ،‬‬
‫به وضعيت غير فعال بر ميگردد و مسيرياب از‬
‫اطالعات به دست آمده‪ ،‬مسير جايگزين مناسب را‬
‫براي اين ‪ dest.‬انتخاب ميكند‪.‬‬
‫انواع ‪packet‬هاي ‪:En. IGRP‬‬
‫‪ En. IGRP‬از ‪packet‬هاي زير استفاده ميكند‪:‬‬
‫‪Replay packet , Query packet , update packet. ،hello packet‬‬
‫‪, acknowledgment‬‬
‫از نوع ‪ multicast‬ميباشد‬
‫‪ Hello packet‬يك ‪packet‬‬
‫(يعني براي مسيرياب خاصي ارسال نميشود) و‬
‫احتياجي نيز به ‪ ack.‬ندارد‪.‬‬
‫‪ acknowledgment packet‬براي مشخص كردن وضعيت قابليت‬
‫دسترسي به مقصدها استفاده ميشود‪ .‬وقتي يك‬
‫همسايه جديد كشف ميگردد‪packet ،‬هاي ‪ * update‬به‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫صورت ‪ * uncast‬براي آن ارسال ميگردند تا مسيرياب‬
‫جديد بتواند ‪ Topology table‬خود را بسازد‪ .‬در بقيه‬
‫حالت مانند تغيير فاصله يك مسير‪packet ،‬هاي ‪update‬‬
‫به صورت ‪ multicast‬براي همه مسيريابهاي مجاور‬
‫ارسال ميگردند‪ .‬ارسال ‪packet‬هاي ‪ update‬همواره‬
‫‪ reliable‬است (يعني به ‪ ack.‬نياز دارند)‪Query packet .‬‬
‫و ‪ Reply packet‬همانطور كه ذكر شد وقتي استفاده‬
‫ميشوند كه يك ‪ feasible succ. ،dest.‬نداشته باشد‪Query .‬‬
‫‪ packets‬همواره ‪ multicast‬ميباشند‪ replay p. .‬در جواب‬
‫‪ Query p.‬فرستاده ميشود تا به مسير سؤال كننده‬
‫اطالع دهد كه ‪ feasible s.‬پيدا شده است واضح است كه‬
‫‪ Reply‬بايد به صورت ‪ unicast‬بوده و همانند ‪،Query‬‬
‫‪ reliable‬ارسال گردد‪.‬‬
‫پروتوكل ‪)OSPF( Open shortest path First‬‬
‫‪ OSPF‬نيز همانند ‪ IGRP‬در دهه ‪ 80‬و به اين دليل‬
‫كه ‪ RIP‬ديگر نميتوانست جوابگوي شبكههاي ناهمگون‬
‫و بزرگي باشد به وجود آمد‪ .‬اين پروتوكل براي‬
‫مسيريابي از الگوريتمي به نام ‪ SPF‬استفاده‬
‫ميكند‪.‬‬
‫دو خاصيت اوليه دارد‪ ،‬اول اينكه ‪OPEN‬‬
‫‪OSPF‬‬
‫است يعني مشخصات آن در دسترس همگان قرار دارد‬
‫)‪ (RFC 1247‬خاصيت اساسي دوم اين است كه اين‬
‫پروتوكل هم پايه الگوريتم ‪ SPF‬كه گاهي به نام‬
‫‪ Dijkstra Algoritin‬نيز ناميده ميشود طرح شده است‪.‬‬
‫‪ OSPF‬يكي از پروتكلهاي ‪ link state‬است (برخالف ‪RIP‬‬
‫و‪ IGRP‬كه ‪ distance vector‬هستند ) مسيريابهايي كه اين‬
‫پروتوكل را اجرا ميكنند‪ .‬از الگوريتم ‪ SPF‬براي‬
‫يافتن كم فاصله ترين مسير تا نود بعدي استفاده‬
‫مينمايند‪.‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫برخالف ‪ OSPF ،RIP‬ميتواند داخل يك سلسله مراتب‬
‫از شبكهها كار كند‪ .‬بزرگترين شيء داخل يك سلسله‬
‫ميباشد‪ AS .‬مجموعه‬
‫مراتب يك سيستم مستقل )‪(AS‬‬
‫اي از شبكهها است كه تحت مديريت مشتركي كار‬
‫ميكنند و استراتژي مسيريابي يكساني دارند‪OSPF .‬‬
‫يكي از پروتوكلهاي ‪ IGP‬به شمار ميآيد‪ ،‬گرچه‬
‫توانايي ارسال و دريافت ‪ Data‬از ‪AS‬هاي ديگر را‬
‫نيز دارد‪ .‬يك ‪ AS‬را ميتوان به مجموعه اي از‬
‫نواحي )‪ (areas‬تقسيم نمود كه هر ناحيه شامل‬
‫شبكههاي مجاور هم و ‪host‬هاي متصل به آنهاست‪.‬‬
‫مسيريابهاي با چندين ‪ interface‬ميتوانند در چند‬
‫ناحيه شركت داشته باشند‪ .‬چنين مسيريابيهايي كه‬
‫‪(arear border‬‬
‫مسيريابهاي كناري ناحيه‬
‫توپولوژيكي‬
‫‪database‬هاي‬
‫ميشوند‬
‫ناميده‬
‫)‪router‬‬
‫مجزايي براي هر ناحيه ذخيره كرده اند‪.‬‬
‫ا يك شماي كلي از‬
‫‪database‬هاي توپولوژيكي اساسا‬
‫شبكهها و ارتباط آنها با مسيريابها هستند و‬
‫حاوي اطالعاتي ميباشند كه از تمام مسيريابهاي آن‬
‫ناحيه رسيده است‪ .‬از آنجا كه مسيريابهاي داخل‬
‫يك ناحيه از اطالعات مشتركي استفاده ميكنند‬
‫دارند‪.‬‬
‫نيز‬
‫يكساني‬
‫توپولوژيكي‬
‫‪database‬هاي‬
‫توپولوژيكي يك ناحيه از ديد افراد خارج ناحيه‬
‫مخفي است‪ .‬با تبديل ‪ AS‬به نواحي مختلف‪OSPF ،‬‬
‫بار ترافيكي كمتري ايجاد خواهد كرد‪ .‬تقسيم بندي‬
‫‪ AS‬به نواحي‪ ،‬دو نوع مختلف مسيريابي را بسته به‬
‫اينكه ‪ source‬و ‪ destination‬داخل يك ناحيه باشند يا‬
‫نه‪ ،‬ايجاد ميكند‪.‬‬
‫‪OSPF‬‬
‫مجموعه مسيريابهاي كناري ناحيهها كه‬
‫ناميده ميشوند مسؤل توزيع اطالعات‬
‫‪backbone‬‬
‫مسيريابي بين نواحي مختلف ميباشند‪ .‬شكل صفحه‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫بعد مثالي از يك شبكه بندي با نواحي مختلف را‬
‫نشان ميدهد‪ .‬در شكل‪ ،‬مسيريابهاي ‪12 , 11, 10 ,6 , 5, 4‬‬
‫‪ backbone‬را تشكيل ميدهند‪ .‬اگر ‪ H1 host‬در ناحيه ‪3‬‬
‫بخواهد يك ‪ packet‬براي ‪ H2‬بفرستد‪ ،‬اين ‪packet‬‬
‫ابتدا به ‪ R13‬فرستاده ميشود‪ ،‬سپس به ‪R11 , R12‬‬
‫‪ forward‬ميگردد‪ R11 .‬از طريق ‪ packet ،backbone‬را به‬
‫‪ R10‬ميفرستد و سپس اين ‪ packet‬از طريق دو مسيرياب‬
‫ميرسند‪.‬‬
‫داخل ناحيه اي يعني ‪ R9‬و ‪ R7‬به ‪H2‬‬
‫‪ backbone‬نيز خودش يك ناحيه ‪ OSPF‬است‪ ،‬بنابراين‬
‫و‬
‫روالها‬
‫‪backbone‬‬
‫داخلي‬
‫مسيريابهاي‬
‫همه‬
‫اطالعات‬
‫نگهداري‬
‫براي‬
‫يكساني‬
‫الگوريتمهاي‬
‫مسيريابي به كار ميبرند‪ .‬توپولوژي ‪ backbone‬از‬
‫ديد مسيريابهاي داخل ناحيه اي مخفي است‪ ،‬همان‬
‫طور كه توپولوژي ناحيهها از ديد ‪ backbone‬مخفي‬
‫است‪.‬‬
‫الگوريتم ‪: SPF‬‬
‫الگوريتم ‪ SPF‬پاية عملياتي است كه ‪ OSPF‬انجام‬
‫ميدهد‪ .‬هنگامي كه مسيرياب ‪ SPF‬شروع به كار‬
‫به‬
‫مربوط‬
‫اطالعاتي‬
‫ساختارهاي‬
‫ابتدا‬
‫ميكند‬
‫اوليه‬
‫دهي‬
‫مقدار‬
‫را‬
‫مسيريابي‬
‫پروتوكلهاي‬
‫مينمايد و سپس منتظر ميماند تا پروتكلهاي‬
‫ليههاي پايين تر تعيين نمايند كه آيا ‪interface‬‬
‫وجود دارد يا نه ؟ پس از اينكه مسيرياب اطمينان‬
‫حاصل نمود كه ارتباط او برقرار است از پروتوكل‬
‫مجاور‬
‫مسيريابهاي‬
‫شناسايي‬
‫براي‬
‫‪OSPF Hello‬‬
‫استفاده ميكند‪ .‬مسيرياب به همسايههاي خود‬
‫‪packet‬هاي ‪ Hello‬را ارسال ميكند و سپس منتظر‬
‫شناسايي‬
‫بر‬
‫عالوه‬
‫ميماند‪،‬‬
‫پاسخ‬
‫دريافت‬
‫مسيريابهاي مجاور ‪packet‬هاي ‪ Hello‬كمك ميكنند تا‬
‫بودن‬
‫زنده‬
‫و‬
‫بودن‬
‫سالم‬
‫از‬
‫مسيرياب‬
‫يك‬
‫‪‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫مسيريابهاي مجاور خود آگاه گردد‪ .‬هر مسيرياب به‬
‫طور متناوب ‪packet‬هايي را به همسايههاي خود ارسال‬
‫ميكند تا از وضعيت آنها اطالع حاصل نمايد‪ .‬بدن‬
‫ا شناسايي شده و‬
‫وسيله مسيريابهاي خراب سريعا‬
‫توپولوژي شبكه به طور مناسب تغيير مينمايد‪ .‬از‬
‫روي اطالعاتي كه هر مسيرياب از مسيريابهاي ديگر‬
‫حاصل ميكند يك درخت ‪ shortest-path‬ايجاد مينمايد كه‬
‫خودش ريشه آن درخت است و با استفاده از اين‬
‫درخت‪ routing table ،‬به دست ميآيد‪.‬‬
‫فرمت ‪packet‬هاي ‪:OSPF‬‬
‫همه ‪packet‬هاي ‪ OSPF‬با يك ‪ 24 header‬بايتي آغاز‬
‫مي شوند كه در صفحه بعد نشان داده شده است‪ .‬به‬
‫طور خالصه هر يك از فيلدهاي اين ‪ header‬را توضيح‬
‫خواهيم داد‪:‬‬
‫‪Vani‬‬
‫‪able‬‬
‫‪Data‬‬
‫‪8‬‬
‫‪2‬‬
‫‪2‬‬
‫‪Auth‬‬
‫‪enticatio‬‬
‫‪n‬‬
‫‪Auth‬‬
‫‪enticatio‬‬
‫‪n type‬‬
‫‪Chec‬‬
‫‪ksum‬‬
‫‪4‬‬
‫‪4‬‬
‫‪Area‬‬
‫‪ID‬‬
‫‪Rout‬‬
‫‪er ID‬‬
‫ميكند‬
‫‪2‬‬
‫‪1‬‬
‫‪1‬‬
‫‪Pack‬‬
‫‪Type‬‬
‫‪Versi‬‬
‫‪et‬‬
‫‪Length‬‬
‫كه‬
‫با‬
‫‪on‬‬
‫‪Number‬‬
‫كدام‬
‫نسخه‬
‫‪ :version number‬تعيين‬
‫‪ OSPF‬سر و كار داريم‪.‬‬
‫‪ :Type‬نوع ‪packet‬ها را تعيين ميكند كه ميتواند‬
‫يكي از انواع زير باشد‪:‬‬
‫‪ : Hello‬براي آغاز و حفظ ارتباط بين‬
‫‬‫مسيريابهاي مجاور است‪.‬‬
‫‪database‬‬
‫محتويات‬
‫‪:Database‬‬
‫‪Description‬‬
‫‬‫توپولوژيكي را توصيف ميكند‪ .‬اين نوع پيامها‬
‫زماني رد و بدل ميگردد كه يك ارتباط جديد آغاز‬
‫شود‪.‬‬
‫‪ :Link‬قسمتهايي از ‪database‬‬
‫‪state‬‬
‫‪pequest‬‬
‫‬‫توپولوژيكي را از مسيريابهاي همسايه درخواست‬
‫ميكند‪ .‬اين پيغامها زماني رد و بدل ميشوند كه‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫يك مسيرياب بفهمد (از روي محتويات ‪packet‬هاي‪.‬‬
‫‪ )Database Description‬كه قسمتي از محتويات ‪ databast‬او‬
‫نامعتبد شده است‪.‬‬
‫‪ :Link state update‬به ‪packet‬هاي ‪Link state req.‬‬
‫‬‫پاسخ ميدهد‪ .‬اين پيغامها همچنين براي توزيع‬
‫منظم اطالعات ‪ Link state‬استفاده ميشوند‪.‬‬
‫‪:Link state Acknowledgment‬ها‪packet‬ي ‪Link state update‬‬
‫‬‫را ‪ ack.‬ميكنند‪.‬‬
‫‪ :Packet Length‬مشخص ميكند كه طول ‪packet‬‬
‫‬‫(شامل ‪ )header‬چقدر است‪.‬‬
‫‪ :Router ID‬مشخص ميكند كه ‪ packet‬از چه مبدأي‬
‫‬‫فرستاده شده است‪.‬‬
‫‪ :Area ID‬ناحيه اي كه ‪ packet‬به آن تعلق‬
‫‬‫دارد را مشخص ميكند‪.‬‬
‫‪ :Checksum‬مكانيزم معروف براي چك كردن‬
‫‬‫خطاهايي است كه هنگام ارسال دادهها ممكن است‬
‫حاصل گردد‪.‬‬
‫‪ :Authentication type‬نوع مكانيزم تصديق را‬
‫‬‫تعيين مينمايد‪.‬‬
‫‪ :Authentication‬اطالعات مربوط به تصديق را در‬
‫‬‫بردارد‪.‬‬
‫شامل اطالعات ليههاي بالتر است كه‬
‫‪:Data‬‬
‫‬‫در ‪ packet‬جاسازي شده اند‪.‬‬
‫‪:(RIP) Routing Information Protocol‬‬
‫يكي از پروتوكلهاي ‪ distance vector‬است كه‬
‫‪RIP‬‬
‫تعداد ‪hop‬ها را به عنوان معياري براي محاسبه طول‬
‫يك مسير استفاده ميكنند‪ RIP .‬نيز يكي از‬
‫است يعني عمليات مسيريابي را‬
‫پروتوكلهاي ‪IGP‬‬
‫داخل يك سيستم مستقل واحد انجام ميدهد‪ ،‬در حالي‬
‫كه پروتوكلهاي ‪ EGP‬مانند ‪ Border Gateway p.‬بين‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫سيستمهاي مستقل مختلف كار مسيريابي را انجام‬
‫ميدهند‪ .‬آخرين بهبودهايي كه در ‪ RIP‬صورت گرفت‬
‫نسخه اي از آن را با نام ‪ RIP2‬ارايه داد كه باعث‬
‫ميشد اطالعات بيشتري در ‪packet‬ها جا داده شوند و‬
‫ا يك مكانيزم تصديق ساده را نيز اضافه نمود‪.‬‬
‫ضمنا‬
‫‪( RFC 1058‬سال ‪ )1988‬اولين نسخه ‪ RIP‬را توضيح‬
‫ميدهد‪ .‬در اين قسمت تواناييهاي اساسي و خصوصيات‬
‫ويژه ‪ RIP‬را به طور خالصه بيان ميكنيم‪:‬‬
‫‪ RIP‬پيغامهاي ‪ routing update‬را در فاصلههاي زماني‬
‫منظم و هنگاميكه توپولوژي شبكه تغيير ميكند‬
‫ارسال مينمايد‪ .‬مسيريابهاي ‪ RIP‬فقط بهترين مسير‬
‫تا مقصد (مسير با كمترين فاصله) را نگاه‬
‫ميدارند‪ .‬پس از ‪ update‬كردن ‪ ،routing table‬مسيرياب‬
‫ا به بقيه‪ ،‬پيغامهاي ‪ update‬ميفرستد تا آنها‬
‫فورا‬
‫را از تغيير وضعيت ايجاد شده در شبكه آگاه كند‪.‬‬
‫پيغامهاي ‪ update‬اينچنين (كه تغييري در شبكه را‬
‫به بقيه اطالع ميدهند) مستقل از پيغامهاي ‪update‬‬
‫كه مسيريابها در فاصلههاي زماني منظم ارسال‬
‫ميكنند ميباشد‪.‬‬
‫‪ RIP‬تنها يك معيار براي محاسبه طول يك مسير‬
‫دارد و آن هم شمارش تعداد ‪hop‬ها است‪ RIP .‬از‬
‫ايجاد ‪ LOOP‬مسيريابي بوسيله محدوديت گذاشتن روي‬
‫تعداد ‪hop‬هايي كه ميتوانند بين ‪ source‬و ‪ dest.‬وجود‬
‫داشته باشند جلوگيري ميكند‪ .‬ماكزيمم تعداد ‪hop‬‬
‫در يك مسير معتبر ‪ 15‬تا ميتواند باشد‪ ،‬اگر يك‬
‫مسيرياب پيغام ‪ update‬مبني بر ورود يك مسيرياب يا‬
‫‪ host‬جديد دريافت كند و اين شيء جديد باعث شود‬
‫كه تعداد ‪hop‬ها در مسيري به ‪ 16‬برسد آنگاه مقصد‬
‫اين مسير از طرف مسيرياب‪ ،‬غير قابل دسترس اعالم‬
‫ميگردد‪.‬‬
‫‪‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫براي اينكه تغييرات ايجاد شده در توپولوژي‬
‫شبكه هر چه سريع تر به همه اطالع داده شود ‪RIP‬‬
‫يك سري قابليتهايي دارد كه در اغلب پروتوكلهاي‬
‫ديگر نيز موجودند‪ .‬به عنوان مثال ‪ RIP‬داراي‬
‫‪hold down , spilit‬‬
‫مكانيزم‬
‫‪ horison‬براي جلوگيري از گسترش اطالعات نادرست‬
‫مسيريابي است عالوه بر اين‪ ،‬محدوديت ‪ hop-count‬كه‬
‫‪ RIP‬قرار ميدهد نيز از گسترش نامحدوده ‪loop‬هاي‬
‫مسيريابي جلوگيري ميكند‪.‬‬
‫‪ RIP‬براي تنظيم كارايي خود از زمان سنجهاي‬
‫زيادي بهره ميبرد‪ .‬شامل ‪flush timer , routing up. t. . route‬‬
‫‪route timeout , routing update timer‬‬
‫را تعيين‬
‫فاصله زماني بين پيغامهاي ‪update‬‬
‫ميكند‪ .‬معمولا اين زمان‪ 30sec ،‬باضافه زماني كه‬
‫به صورت تصادفي انتخاب ميشود – تا از ‪callision‬‬
‫جلوگيري كند – ميباشد‪ .‬هر رديف ‪ routing table‬يك‬
‫‪ route-timeout‬مخصوص به خود دارد‪ ،‬هنگامي كه اين‬
‫زمان سپري ميگردد مسير مربوطه ‪ invalid‬محسوب‬
‫باقي ميماند‬
‫ميگردد ولي هم چنان در ‪routing table‬‬
‫تا وقتي كه ‪ route flush timer‬منقضي گردد و مسير‪ ،‬از‬
‫‪ routing table‬حذف گردد‪.‬‬
‫فرمت ‪ packet‬در ‪:RIP‬‬
‫‪4‬‬
‫‪Metri‬‬
‫‪e‬‬
‫‪4‬‬
‫‪Zero‬‬
‫‪4‬‬
‫‪Addr‬‬
‫‪4‬‬
‫‪Zero‬‬
‫‪ess‬‬
‫‪2‬‬
‫‪Zero‬‬
‫‪2‬‬
‫‪Addr‬‬
‫‪ess‬‬
‫‪Family‬‬
‫‪ID‬‬
‫‪2‬‬
‫‪Zero‬‬
‫‪1‬‬
‫‪Versi‬‬
‫‪on‬‬
‫‪number‬‬
‫‪1‬‬
‫‪Com‬‬
‫‪mand‬‬
‫حال به طور خالصه اين فيلدها را معرفي ميكنيم‪:‬‬
‫‪ :Command‬تعيين ميكند كه آيا ‪ packet‬ارسالي‬
‫‪ Request‬از يك مسيرياب‬
‫‪ Request‬است يا ‪Response‬‬
‫‪‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫ميخواهد كه تمام يا قسمتي از ‪ routing table‬خود‬
‫راارسال نمايد‪ Response .‬ميتواند‪routing update .‬هاي‬
‫منظم باشد و يا جوابي به ‪ .Request‬چندين ‪RIP packet‬‬
‫استفاده ميشوند تا اطالعات را از ‪routing table‬هاي‬
‫بزرگ انتقال دهند‪.‬‬
‫‪ :Version number‬نسخه پروتوكل را تعيين مينمايد‪.‬‬
‫‪ : Zero‬استفاده اي نميگردد‪.‬‬
‫)‪ RIP :Address. Family ID (AFI‬طوري طراحي شده است كه‬
‫بتواند اطالعات مسيريابي را براي پروتوكلهاي‬
‫مختلف حمل نمايد‪ .‬هر پروتوكل يك ‪Add. Family ID‬‬
‫دارد كه نوع آدرس دهي استفاده شده را توضيح‬
‫ميدهد‪ .‬مثالا ‪ AFI‬براي ‪ IP‬برابر ‪ 2‬است‪.‬‬
‫‪ :Address‬آدرس ‪ IP‬مربوط به ‪ host‬كه ‪ packet‬از آن جا‬
‫ارسال شده است‪.‬‬
‫‪ :Metric‬مشخص ميكند كه تا رسيدن به مقصد چند ‪hop‬‬
‫طي ميشود‪ .‬اين مقدار همان طور كه قبالا ذكر شد‬
‫بين ‪ 1‬و ‪ 15‬است‪.‬‬
‫همان طور كه ذكر كرديم نسخه بهبود يافته ‪،RIP‬‬
‫‪ RIP2‬نام گرفت در اينجا نگاه مختصري به فرمت‬
‫‪packet‬هاي اين پروتوكل نيز مياندازيم‪:‬‬
‫‪Mettr‬‬
‫‪ic‬‬
‫‪Next‬‬
‫‪Hop‬‬
‫‪Subn‬‬
‫‪et Mark‬‬
‫‪IP‬‬
‫‪Address‬‬
‫‪Rout‬‬
‫‪e Tag‬‬
‫‪ess‬‬
‫‪Format‬‬
‫‪ID‬‬
‫‪Unus‬‬
‫‪ed‬‬
‫‪version‬‬
‫مانند‬
‫‪on‬‬
‫فيلدهاي‬
‫ميباشند‪.‬‬
‫‪ :unused‬مقدار اين فيلدها صفر قرار داده ميشود‪.‬‬
‫‪ :AFI‬مانند قبل نوع پروتكل استفاده شده را‬
‫تعيين مينمايد‪ .‬اگر فيلد ‪ AFI‬در اولين ‪packet‬‬
‫باشد‪ ،‬بقيه‬
‫وارد شده از پيغام‪ ،‬برابر ‪OFFFFH‬‬
‫‪command‬‬
‫و‬
‫‪Addr‬‬
‫‪Versi‬‬
‫‪Com‬‬
‫‪mand‬‬
‫پروتكل‬
‫‪RIP‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫‪packet‬هاي وارد شده اطالعات مربوط به ‪Authentication‬‬
‫را در بر ميگيرند‪.‬‬
‫‪ :Route Tag‬روشي را فراهم ميكند كه بتوان بين‬
‫مسيرهاي داخلي (كه توسط ‪ RIP‬شناسايي شده اند ) و‬
‫مسيرهاي داخلي (كه توسط بقيه پروتوكلها شناسايي‬
‫شده اند) تمايز قايل شد‪.‬‬
‫ا همان كار فيلد ‪ Address‬در ‪RIP‬‬
‫‪ :IP Address‬دقيقا‬
‫را انجام ميدهد‪.‬‬
‫‪ :Subnet Mask‬اگر اين فيلد صفر باشد يعني ‪mask‬‬
‫نبايد انجام شود‪.‬‬
‫بعدي كه‬
‫‪ : Next Hop‬آدرس ‪ IP‬مربوط به ‪hop‬‬
‫‪packet‬ها بايد به آن جا ‪ forward‬شوند را در بر‬
‫دارد‪.‬‬
‫‪ : Metric‬اين فيلد نيز مانند فيلد مشابه خود در‬
‫‪ RIP‬كار ميكند‪.‬‬
‫‪:Exterior Gateway Protocol‬‬
‫‪ EGP‬پروتوكلي است كه قابليت دستيابي به چندين‬
‫زمينه را ميدهد و در اينترنت استفاده ميشود‪.‬‬
‫هنگاميكه اولين ‪ .EGP‬در سطح جهاني مقبوليت‬
‫يافت‪ .‬اهداف و كارهاي ارزشمندي انجام ميداد‪.‬‬
‫اما متأسفانه با رشد و پيچيده شدن اينترنت‬
‫ضعفهاي ‪ EGP‬بيشتر از پيش آشكار شد‪ .‬به همين علت‬
‫‪EGP‬ها ديگر امروزه كنار گذاشته شده اند و ‪Border‬‬
‫‪)BGP( Gateway Protocol‬ها جانشين آنها شده اند‪.‬‬
‫تكنولوژي‪:‬‬
‫ا براي برقراري ارتباط و دسترسي از‬
‫‪ ،EGP‬ابتدائا‬
‫و به ‪ ARPANET‬طراحي شده بود‪ .‬اطالعات از مرجعهاي‬
‫جداگانه در دامنههاي مختلف اينترنتي عبور‬
‫ميكردند از طريق ‪Router‬هاي مركزي كه اطالعات را از‬
‫‪‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫طريق ‪ Backbone‬ميفرستادند تا به شبكه مورد نظر‬
‫برسند‪ .‬در يك سيستم )‪ (AS‬ديگر مثل شكل زير‪:‬‬
‫‪Router‬‬
‫‪Router‬‬
‫‪AS‬‬
‫‪AS AS‬‬
‫‪Router‬‬
‫‪AS‬‬
‫‪AS‬‬
‫‪AS‬‬
‫اگر ‪ EGP‬يك پروتكل پوياست ولي طرح ساده اي‬
‫دارد‪ .‬هيچ متريكي ندارد و در نتيجه تصميمات‬
‫هوشمندانه نميتواند بگيرد‪ EGP .‬معين ميكند كه‬
‫شبكههاي معيني از طريق مسيرهاي معيني قابل‬
‫دسترسي هستند‪.‬‬
‫‪ EGP‬سه كاركرد اصلي دارد‪ :‬ابتدا مجموعه اي از‬
‫همسايهها درست ميكند‪ .‬اين همسايهها‪Router ،‬هايي‬
‫هستند كه يك ‪ EGP Router‬ميخواهد اطالعات قابليت‬
‫دسترسي را با آنها تقسيم كند‪.‬‬
‫سپس از همسايگانش ميپرسد كه آيا حاضر هستند و‬
‫در نهايت‪ ،‬پيامهايي براي ‪ update‬كردن اطالعات‬
‫ميفرستد‪.‬‬
‫‪Packet Format‬‬
‫‪Variab‬‬
‫‪2‬‬
‫‪Data‬‬
‫‪Seq.‬‬
‫‪2‬‬
‫‪2‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪Cheek‬‬
‫‪Statas‬‬
‫‪Code‬‬
‫‪Type‬‬
‫‪Versio‬‬
‫‪le‬‬
‫‪no‬‬
‫‪As‬‬
‫‪No.‬‬
‫‪su‬‬
‫‪n‬‬
‫‪field‬ها عبارتند از‪:‬‬
‫‪ EGP. VER. :Version‬فعلي را تعيين ميكند و گيرنده‬
‫آن را نگاه ميكند كه ببيند بين گيرنده و‬
‫فرستنده تطابق وجود دارد يا نه‪.‬‬
‫‪ : Type‬نوع پيام را مشخص ميكند و ‪ 5‬نوع پيام‬
‫متفاوت داريم‪:‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫‪ :Neighbor Acquisition -1‬درست كردن همسايه‬
‫‪ : Neighbor Rachability -2‬تعيين ميكند كه آيا‬
‫همسايهها در دسترس هستند يا نه‪.‬‬
‫‪ : poll -3‬در دسترس بودن يك شبكه خاص را تعيين‬
‫ميكند‪.‬‬
‫‪Routing updat -4‬‬
‫‪Error-5‬‬
‫‪ :Code‬بين پيامها تمايز ايجاد ميكند‪.‬‬
‫‪ :Statub‬حاوي اطالعات حالت بر اساس پيغامهاست‪.‬‬
‫‪ :Checksum‬براي يافتن خطاهاي احتمالي بكار‬
‫ميرود‪ ،‬كه ممكن است در انتقال رخ دهد‪.‬‬
‫‪ :AS Number‬مشخص ميكند كه ‪ AS‬به كدام مسيرياب‬
‫فرستنده تعلق دارد‪.‬‬
‫‪ :Seq. Number‬به دو ‪ EGP‬اجازه ميدهد كه تبادل‬
‫اطالعات انجام دهند‪.‬‬
‫نوع پيغام‪:‬‬
‫‪ :Neighbor Aquisition -1‬يك بازة زماني ‪ Hlello‬و يك‬
‫بازة زماني ‪ poll‬دارد‪ .‬بازة ‪ Hello‬دوره زماني چك‬
‫كردن اينكه آيا همسايهها حاضرند را نشان ميدهد‬
‫و دوره زماني ‪ ،poll‬فركانس ‪ update‬كردن مسيريابي‬
‫را نشان ميدهد‪.‬‬
‫‪ :Neighbor Reachability -2‬اين پيغام هيچ چيز اضافي‬
‫اضافه نميكند‪ .‬اين پيغام نشان ميدهد‬
‫به ‪Header‬‬
‫كه پيغام ‪ Hello‬است يا ‪ poll‬است‪ .‬اين كار در كاهش‬
‫ترافيك شبكه بسيار مؤثر خواهد بود‪.‬‬
‫‪ :poll -3‬براي فراهم كردن مسير مناسب بين‬
‫سيستمها‪ EGP ،‬بايد موقعيت ‪Host‬ها را بداند‪ .‬اين‬
‫پيغام به ‪ EGP‬اجازه ميدهد كه اطالعات قابليت‬
‫دسترسي دربارة شبكههايي كه اين ‪host‬ها در آنها‬
‫قرار دارند‪ ،‬بدست آورد‪.‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫‪ :routing Update -4‬راهي براي ‪ EGP‬فراهم ميكند‬
‫كه موقعيت شبكهها را تعيين كند‪ .‬همچنين‬
‫فيلدهايي دارد كه تعداد ‪Goteway‬هاي داخلي ظاهر‬
‫شده در اين پيام را نشان ميدهد‪ .‬همچنين تعداد‬
‫‪Gateway‬هاي خارجي ‪ IP‬آدرس‪ ،‬شبكههايي كه قابليت‬
‫دسترسي در آنها سنجيده ميشود و ‪000‬‬
‫‪: Error -5‬‬
‫‪Error‬هاي متداول عبارتند از‪ :‬فرمت اشتباه براي‬
‫‪ ،EGP header‬فرمت اشتباه براي ديتا‪ ،‬و نبودن‬
‫اطالعات براي سنجيدن قابليت دسترسي‪ .‬پيغام‬
‫اشتباه در ‪ 32‬بيت اول ‪EGP header‬‬
‫‪: BGP‬‬
‫‪ (Border‬همانگونه كه در‬
‫‪Gateway Protocol) BGP‬‬
‫‪RFC‬هاي ‪ 1163‬و ‪ 1267‬تعيين شده است‪ .‬به ما اجازه‬
‫مي دهد كه يك سيستم روتينگ تنظيم كنيم كه بصورت‬
‫اتوماتيك‪ ،‬تبادل اطالعات بين سيستمهاي مستقل را‬
‫بدون ايجاد حلقه تضمين كند‪.‬‬
‫پياده سازي ‪BGP‬هاي ‪:Cisco‬‬
‫در ‪ BGP‬هر مسير تشكيل شده است از يك شمارة‬
‫شبكه‪ ،‬يك ليست از سيستمهاي مستقل كه اطالعات‬
‫مربوط به قابليت دسترسي را بين ساير سيستمهاي‬
‫‪ BGP‬مبادله كند‪ .‬اين اطالعات براي اين مفيد‬
‫هستند كه ميتوانيم يك گراف از نحوة اتصالت شبكه‬
‫بدست آورديم كه بوسيلة آن ميتوانيم حلقهها را‬
‫از بين ببريم و سياست‪ ،‬سطح بندي را اعمال كنيم‪.‬‬
‫‪ BGP‬چگونه مسيرها را انتخاب ميكند ؟‬
‫يك ‪ router‬كه ‪ Cisco IOS Release 12‬را اجرا ميكند‬
‫هيچ مسير ‪ IGBP‬را انتخاب نميكند مگر دو شرط زير‬
‫برآورده شوند‪:‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫‪-1‬‬
‫دارد‪.‬‬
‫‪ Router -2‬يك پيغام ‪ synchronzation‬از طريق ‪IGP‬‬
‫دريافت كرده باشد (مگر اينكه ‪ synchronzation‬غير‬
‫فعال شده باشد‪).‬‬
‫‪ BGP‬بر پايه مقادير و ارزش مشخصات آن تصميم‬
‫گيري ميكند‪ .‬وقتيكه چند مسير كه به يك مقصد‬
‫ميرسند را ببيند‪ BGP ،‬بهترين مسير را از نظر‬
‫ترافيك به مقصد انتخاب ميكند‪ .‬الگوريتمي كه در‬
‫زير ميآيد تعيين ميكند كه ‪ BGP‬چگونه مسير‬
‫انتخاب ميكند‪.‬‬
‫‪ -1‬اگر ‪ hop‬بعدي قابل دسترسي نيست آنرا ديگر در‬
‫نظر نميگيرد‪ .‬به همين دليل است كه داشتن يك‬
‫مسير ‪ IGP‬به ‪ hop‬بعدي مهم است‪.‬‬
‫فعال‬
‫‪ -2‬اگر مسير داخلي است‪Synchrornization .‬‬
‫ميشود و اگر مسير در ‪ IGP‬نيست آنرا در نظر‬
‫نميگيرد‪.‬‬
‫‪ -3‬مسير با بزرگترين وزن را انتخاب ميكند‪.‬‬
‫‪ -4‬اگر مسيرها‪ ،‬وزنهاي يكسان دارند‪ ،‬مسير براي‬
‫مختصات و ارجحيتهاي مكان بيشتر را ترجيح ميدهد‪.‬‬
‫‪ -5‬اگر مشخصات مكاني يكسان داشتند‪ ،‬مسيري را كه‬
‫از ‪ router‬محلي خارج شده است انتخاب ميكند‪.‬‬
‫كه‬
‫مسيري‬
‫نشد‪،‬‬
‫پيدا‬
‫مسيري‬
‫چنين‬
‫‪ -6‬اگر‬
‫كوتاهترين راه به سيستمهاي مستقيم ديگر را دارد‬
‫انتخاب ميكند‪.‬‬
‫‪ -7‬اگر اين مسيرها هم يكسان بودند‪ ،‬سير با‬
‫ميكند‪.‬‬
‫انتخاب‬
‫را‬
‫مبدأ‬
‫كد‬
‫كوچكترين‬
‫‪IGP<EGP<Incomplete‬‬
‫‪ router‬يك مسير قابل دسترسي به ‪ router‬بعدي‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫‪ -8‬اگر كدها يكي بودند بودند مسير با كمترين‬
‫‪(Multi Exit‬‬
‫مشخصات متريك‬
‫‪ Discriminator) med‬را انتخاب ميكند‪.‬‬
‫‪ -9‬يك مسير خارجي را بر يك مسير داخلي ترجيح‬
‫ميدهد‪.‬‬
‫مسيري را انتخاب ميكند كه از طريق‬
‫‪-10‬‬
‫نزديكترين همسايه ‪ IGP‬قابل دسترسي باشد‪ .‬اين‬
‫بدان معناست كه ‪ BGP‬كوتاهترين مسير داخلي را‬
‫بين سيستمهاي مستقل براي رسيدن به مقصد انتخاب‬
‫ميكند‪.‬‬
‫اگر شرايط زير برقرار باشند‪ ،‬اين مسير‬
‫‪-11‬‬
‫را در جدول ‪ IP‬مسيريابي قرار ميدهد‪:‬‬
‫بهترين مسير و اين مسير هر دو خارجي ميباشند‪.‬‬
‫هر دو از يك همسايه گذشته باشند‪.‬‬
‫اگر سيستم چند مسيره فعال شده باشد‪،‬‬
‫‪-12‬‬
‫مسير با كمترين ‪ IP‬را انتخاب ميكند‪.‬‬
‫عمليات ‪ Configuration‬يك ‪BGP‬‬
‫‪ -A‬كارهاي مقدماتي‪:‬‬
‫(‪ )I‬فعال كردن مسيريابي ‪ :BGP‬براي اين كار‬
‫بايد يك فرآيند مسيريابي بوسيلة مراحل زير‬
‫انجام شود‪.‬‬
‫قدم اول‪ :‬يك عمليات فعال كردن مسيريابي را‬
‫قرار‬
‫انجام دهيم كه ما را در حالت ‪configuration‬‬
‫دهد‪.‬‬
‫قدم دوم‪ :‬يك شبكه را به عنوان يك شبكه محلي‬
‫‪ Flag‬بدهيم و آنرا در جدول ‪ BGP‬قرار دهيم‪.‬‬
‫)‪ Configuration (II‬همسايههاي ‪:BGP‬‬
‫مانند ساير ‪EGP‬ها‪ BGP ،‬هم بايد كامالا روابط‬
‫به دو نوع‬
‫خود با همسايگانش را بفهمد‪BGP .‬‬
‫همسايه سرويس ميدهد‪ .‬همسايههاي داخلي و خارجي‪.‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫درون يك سيستم‬
‫همسايههاي داخلي با خود ‪BGP‬‬
‫هستند و همسايههاي خارجي در سيستمهاي متفاوتي‬
‫هستند‪ .‬معمولا همسايههاي خارجي‪ ،‬مجاور هم هستند‬
‫و در يك ‪ Subnet‬شريك هستند در صورتيكه همسايههاي‬
‫داخلي در هر جايي از سيستم ميتوانند باشند‪.‬‬
‫)‪ Reset (III‬كردن اتصالت ‪:BGP‬‬
‫هنگاميكه دو تا ‪ router‬مجزا را به عنوان‬
‫يك اتصال‬
‫همسايههاي ‪ BGP‬مشخص كرده ايم‪ ،‬آنها‬
‫‪ BGP‬تشكيل خواهند داد و اطالعات مسيريابي را‬
‫مبادله ميكنند‪ .‬حال اگر بخواهيم يكي از مشخصات‬
‫‪ BGP‬را عوض كنيم‪ .‬مثل وزن‪ 0000 version ،‬بايد‬
‫اتصالت ‪ Reset‬شوند تا تغييرات لحاظ شوند‪.‬‬
‫بنابراين بايد در ‪ Exec. Mode‬يكي از اتصالت خاص‪،‬‬
‫كه ميخواهيم تغييرات داده شده اثر داده شوند‪،‬‬
‫‪ Reset‬را اعمال كنيم‪.‬‬
‫)‪ (IV‬اطالع يافتن از تغييرات در وضعيت همسايگان‪:‬‬
‫مي توان تعيين كرد كه سيستم هنگاميكه در وضعيت‬
‫همسايهها تغييري حاصل ميشود يك پيغام دريافت‬
‫كند‪ .‬اين پيغام ميتواند در حل مشكالت اتصالت‬
‫شبكه مفيد باشد‪ .‬همچنين براي اندازه گيري‬
‫پايداري شبكه مفيد است‪.‬‬
‫)‪ (V‬تنظيم كردن روابط بين ‪ BGP‬و ‪:IGP‬‬
‫اگر سيستم مورد نظر ما يك سري اطالعات را كه از‬
‫يك سيستم ديگر آمده عبور دهد تا به سيستم ديگري‬
‫برسد‪ .‬لزم است كه سيستم ما در مورد مسيرهايي كه‬
‫در اختيار ديگران قرار ميدهد‪ ،‬هماهنگي لزم‬
‫داشته باشد‪ .‬براي مثال اگر ‪ BGP‬مورد نظر‬
‫بخواهيم يك مسير را قبل از اين كه تعبير ‪router‬ها‬
‫از طريق ‪ IGP‬چيزي راجع به آن بدانند در اختيار‬
‫ديگران قرار دهد‪ ، BGP ،‬اطالعاتي خواهد گرفت كه‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫هنوز بقيه ‪router‬ها قادر به مسير دهي براي آنها‬
‫نيستند‪ .‬براي رفع اين مشكل‪ BGP ،‬بايد صبر كند‬
‫تا ‪ IGP‬اطالعاتي مسيريابي را در سراسر سيستم پخش‬
‫كند‪ .‬اين باعث ميشود كه ‪ BGP‬با ‪ IGP‬سنكرون باشد‬
‫در برخي موارد سنكرون كردن لزم نيست‪ .‬مثالا اگر‬
‫بخواهيم كه اطالعات مربوط به يك سيستم ديگر را‬
‫عبور دهيم ميتوانيم سنكرون بودن را غير فعال‬
‫كنيم‪ .‬اين كار باعث سرعت كار ‪ BGP‬خواهد شد‪.‬‬
‫)‪ (VI‬تنظيم فيلتر كردن مسيرهاي ‪ BGP‬بوسيله‬
‫همسايه‪:‬‬
‫اگر بخواهيم اطالعات مسيريابي كه ‪ router‬ميگيرد‬
‫يا در اختيار ديگران قرار ميدهد‪ .‬محدود كنيم‪،‬‬
‫ميتوانيم مسيرهاي ‪ BGP‬را توسط همسايهها فيلتر‬
‫كنيم‪ .‬براي اين كار بايد يك ليست دستيابي تهيه‬
‫كنيم و آنرا بكار ببريم‪.‬‬
‫)‪ (VII‬غير فعال كردن پردازش ‪ Hop‬بعدي‪:‬‬
‫ميتوانيم ‪ router‬را بنحوي تنظيم كنيم كه پردازش‬
‫براي ‪ hop‬بعدي غير فعال نشود‪ .‬اين كار براي‬
‫زمانيكه شبكههايي كه در آن مش نيست مفيد است‬
‫مثل ‪ Frame Relay‬يا ‪ X.25‬كه در آنها همسايههاي ‪BGP‬‬
‫ممكن است دسترسي مستقيم به تمام همسايههاي ديگر‬
‫نداشته باشد براي انجام اين كار ميتوانيم دستور‬
‫زير را اجرا كنيم‪:‬‬
‫‪Disable next-hop processing on BGP updated to a neighbour‬‬
‫انجام دستور فوق باعث ميشود كه دو ترنعلي خودش‬
‫را به عنوان ‪ hop‬بعدي معرفي كند براي همساية‬
‫مشخص نشده‪ .‬اين كار براي محيط بدون مش مناسب‬
‫است به دليل اينكه ميدانيم كه يك مسير وجود‬
‫دارد كه از ‪ router‬فعلي به آدرس مورد نظر برود‪.‬‬
‫)‪ (VIII‬تنظيم ‪:Version‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫بصورت ‪ BGP ،default‬با ‪ Ver.‬شماره ‪ 4‬كار ميكنند‬
‫و در صورت لزوم ميتوان ‪ ver.‬كار را كم كرد‪.‬‬
‫)‪ (IX‬تنظيم وزن شبكه‪:‬‬
‫وزن شبكه يكي از پارامترهايي است كه در انتخاب‬
‫بهترين مسير مؤثر است‪ .‬كه بايد در زمان راه‬
‫اندازي براي هر شبكه يك مقدار وزن تعريف شود‪.‬‬
‫‪ – B‬كارهاي پيشرفته‪:‬‬
‫)‪ (I‬استفاده از نقشه مسير براي ‪ update‬كردن‪:‬‬
‫يك نقشه مسير را ميتوان هم براي ‪update‬هاي‬
‫دروني و هم بيروني استفاده كرد‪ .‬تنها مسيرهايي‬
‫كه از نقشه مسير ميگذرند در ‪update‬ها فرستاده يا‬
‫گرفته ميشوند‪.‬‬
‫در روي ‪update‬ها فرستاده يا گرفته ميشوند‪.‬‬
‫در روي ‪update‬هاي دروني‪ ،‬ما تطبيق بين سيستمهاي‬
‫مستقل و ارتباطات را در نظر ميگيريم‪ ،‬در حاليكه‬
‫در ‪update‬هاي بيروني‪ ،‬تطابق بين سيستمهاي مستقل و‬
‫ارتباطات و شمارههاي شبكه را در نظر ميگيريم‪.‬‬
‫ا هنگاميكه اتصال از‬
‫)‪ Reset (III‬كردن ‪ BPG‬دقيقا‬
‫بين ميرود‪.‬‬
‫معمولا هنگاميكه يك اتصال بين همسايههاي خارجي‬
‫ا‬
‫از بين ميرود يا قطع ميشود‪ ،‬كارهاي ‪ BGP‬سريعا‬
‫‪ Reset‬نخواهند شد‪ .‬اگر بخواهيم كه يك ‪ ،BGP‬به‬
‫محض اينكه يك رابطه قطع شد‪ Reset ،‬نشود بايد ‪BGP‬‬
‫را در ‪ Mode‬ريست كردن ‪ Automatic‬قرار دهيم‪.‬‬
‫)‪ (III‬شكل دادن آدرسهاي تركيب شده‪:‬‬
‫مسيريابي بدون دسته بندي اجازه ميدهد كه‬
‫مسيرهاي تركيبي بسازيم كه اندازة جدولهاي‬
‫مسيريابي را كم كنيم‪.‬‬
‫يك آدرس تركيبي به جدول ‪ BGP‬اضافه خواهد شد‬
‫اگر حداقل يك ورودي مخصوص ديگر در جدول وجود‬
‫داشته باشد‪.‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫براي ساختن يك آدرس تركيبي در جدول مسيريابي‬
‫يكي از اين كارها بايد انجام شود‪:‬‬
‫‪ -1‬يك ورودي تركيبي در جدول مسيريابي ميسازيم‪.‬‬
‫‪ -2‬يك تركيبي با ‪ AS-SET‬ميسازيم‪.‬‬
‫‪ -3‬فقط خالصة آدرسها را براي همه بفرستيم‪.‬‬
‫)‪ (IV‬غير فعال كردن خالصه كردن اتوماتيك‬
‫شمارههاي شبكه‪:‬‬
‫در ‪ Ver.3 ،BGP‬از يك ‪ BGP‬به يك ‪ Iap‬پخش ميشود‬
‫فقط مسير شبكه در جدول ‪ BGP‬قرار ميگيرد‪ .‬بصورت‬
‫پيش فرض خالصه كردن اتوماتيك انجام ميشود براي‬
‫غير فعال كردن بايد دستوري ‪ Conf.Mode‬بدهيم‪.‬‬
‫)‪ (V‬فيلتر كردن ارتباطات ‪:BGP‬‬
‫پخش اطالعات مسيريابي‪ ،‬سياستهاي‬
‫‪ BGP‬از طريق‬
‫انتقال را كنترل ميكند‪ .‬توزيع اطالعات مسيريابي‬
‫بر پايه سه اصل زير است‪:‬‬
‫ آدرس ‪IP‬‬‫ ارزش ‪ Communication‬كه راهي است براي دسته‬‫بندي مقصدها به اجتماعاتي و اتخاذ تصميمهايي‬
‫براساس اين گروهها‪.‬‬
‫يك اجتماع گروهي از مقصدهاست كه خصوصيات‬
‫مشتركي دارند‪ .‬هر مقصدي ممكن است به چند اجتماع‬
‫تعلق داشته باشند‪ .‬در اجتماعات اينترنتي چند‬
‫اجتماع از پيش تعيين شده معروف وجود دارد‪:‬‬
‫‪ :internet -1‬مسير را به اجتماع اينترنتي اعالم‬
‫ميكند‪.‬‬
‫‪:no-export -2‬‬
‫‪:no-advertise -4‬‬
‫تعريف و تنظيم قانون در حوزة ‪Router‬ها‪:‬‬
‫تقسيم يك سيستم‬
‫يك راه براي كاهش مش ‪IBGP‬‬
‫مستقل به چند سيستم مجزا و ايجاد يك قانون بين‬
‫آنهاست‪ .‬از ديد خارجي‪ ،‬اين هم پيماني مثل يك‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫سيستم است‪ .‬هر سيستم در درون خود پردازش خود‬
‫پردازش است و تعداد كمي اتصالت به بقيه‬
‫سيستمهايي كه با آن در يك جمع هستند‪ ،‬ميباشد‪.‬‬
‫اگر چه سيستمهاي همتا در چند سيستم متفاوت ‪EBGP‬‬
‫دارند ولي اطالعات مسيريابي را مانند اينكه‬
‫سيستم مشابه ‪ IBGP‬هستند‪ .‬تبادل ميكنند‪.‬‬
‫بايد يك مشخصه‬
‫براي ايجاد يك معاهده ‪BGP‬‬
‫معاهده داشته باشيم‪ .‬از ديدگاه خارجي‪ ،‬اين‬
‫معاهده مثل يك سيستم ديده ميشود كه مشخصه‬
‫معاهده تعيين شده به عنوان شماره آن سيستم است‪.‬‬
‫)‪ :(VII‬تنظيم اختيارات همسايهها‪:‬‬
‫براي فراهم كردن اطالعات مسيريابي براي تعداد‬
‫را طوري تنظيم‬
‫زيادي از همسايهها ميتوان ‪BGP‬‬
‫كرد كه همسايهها را بر اساس يك ليست دستيابي‪،‬‬
‫بپذيرد‪ .‬اگر يكي از همسايهها‪ ،‬براي برقراري يك‬
‫اتصال ‪ BGP‬تالش ميكند‪ .‬آدرس بايد در ليست‬
‫دستيابي باشد‪ ،‬تا اتصال آن پذيرفته شود‪ .‬با‬
‫انجام اين كار ديگر ‪ BGP‬براي ايجاد اتصال تالش‬
‫نخواهد كرد‪ .‬بنابراين همسايهها بايد بنحوي شكل‬
‫دهي بشوند تا اتصال ‪ BGP‬را خودشان برقرار كنند‪.‬‬
‫بديهي است در صورت عدم وجود ليست دستيابي‪ ،‬هر‬
‫اتصالي پذيرفته خواهد شد‪.‬‬
‫‪BGP‬هاي خارجي معمولا بايد در يك اتصال مستقيم‬
‫كنار بكشند‪ .‬براي ‪BGP‬هاي داخلي ممكن است كه ما‬
‫بخواهيم كه اتصالت ‪ BGP‬باقي بمانند بدون توجه‬
‫به اينكه چگونه بايد با همسايه مواجه شد و‬
‫اتصال برقرار كرد‪.‬‬
‫)‪ (VIII‬تشكيل گروههاي مشابه و يكسان ‪:BGP‬‬
‫گاهي ميبينم كه چند ‪ BGP‬مجاور و همسايه‪.‬‬
‫اطالعات و سياستهاي يكساني دارند‪( .‬مثل نقشههاي‬
‫مسيريابي ليست فيلترها مراجع ‪ update‬كردن و ‪.)000‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫اين چنين همسايههايي را ميتوان به يك گروه برد‬
‫تا شكل دادن و تنظيم كردن آنها راحت تر باشد‪.‬‬
‫بعد از ايجاد اين گروه هر ‪ ،BGP‬مشخصات گروه را‬
‫به ارث ميبرد‪.‬‬
‫)‪ (IX‬نشان دادن مسيرهاي مخفي‪:‬‬
‫مي توان براي نشان دادن اينكه كدام شبكه قابل‬
‫مرزي‬
‫دسترسي است‪ ،‬از يك مسير مخفي كه ‪Router‬‬
‫بايد از استفاده كند كمك گرفت‪ .‬شبكه مخفي مانند‬
‫يك شبكه محلي عمل ميكند‪ ،‬بجز اينكه هيچ اطالعاتي‬
‫در اختيار ديگران قرار نميدهد‪.‬‬
‫)‪ (x‬تنظيم فاصلههاي اجرايي‪:‬‬
‫فاصلة اجرائي )‪ (Administrative distance‬يك پارامتر‬
‫اندازه براي اولويت دادن به پروتكلهاي مسيريابي‬
‫مختلف است‪ BGP .‬سه نوع مسير و فاصله اجرائي‬
‫مختلف استفاده ميكند‪ :‬خارجي‪ ،‬داخلي و محلي‪ .‬هر‬
‫‪ Router‬كه اطالعاتي از طريق فاصله خارجي بدست‬
‫آورد‪ ،‬فاصلة خارجي دارد و به همين ترتيب براي‬
‫بقيه تغيير دادن فاصله اجرايي يك ‪ Router‬خطرناك‬
‫است و فاصله خارجي بايد كمتر از هر پروتكل‬
‫مسيريابي ديگر باشد و فاصله داخلي بايد بيشتر‬
‫باشد‪.‬‬
‫)‪ (XI‬تنظيم تايمرهاي ‪:BGP‬‬
‫‪ BGP‬از تايمرهاي ميعني براي انجام فعاليتهاي‬
‫متناوب استفاده ميكند‪ .‬اين تايمرها را ميتوان‬
‫تنظيم كرد‪ .‬هنگاميكه يك اتصال برقرار ميشود‪.‬‬
‫‪ BGP‬با همسايه اش در مورد ‪ Hold Time‬صحبت ميكند و‬
‫هر كدام ‪ Hold Time‬كمتر داشته باشد انتخاب ميشود‪.‬‬
‫‪Exterior Gateway Protocol‬‬
‫‪:EGP‬‬
‫مشخص شده است‪،‬‬
‫‪ ،EGP‬همانگونه كه در ‪RFC904‬‬
‫براي ارتباط با ‪Router‬هاي معين در وزارت دفاع‬
‫آمريكا استفاده ميشده است كه آنها را ‪Router‬هاي‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫مركزي ميناميدند‪ .‬يك ‪ Router‬خارجي از ‪ EGP‬استفاده‬
‫مي كند تا اطالعات خود از مسيرهاي شبكه اي كه در‬
‫سيستم آن قرار دارد‪ ،‬در اختيار همه قرار دهد‪،‬‬
‫به ‪Router‬هاي مركز پيغام را ميفرستد و آنها هم‬
‫اطالعات جديد خود را در اختيار ‪ Router‬خارجي قرار‬
‫ميدهند‪.‬‬
‫‪:Cisco‬‬
‫پياده سازي ‪EGP‬هاي‬
‫پياده سازي ‪ ،EGP‬سه كاركرد اصلي دارد‪:‬‬
‫‪Router -1‬هايي كه ‪ EGP‬را اجرا ميكنند‪ .‬مجموعه‬
‫اي از همسايه را ايجاد ميكنند كه اينها اطالعات‬
‫دستيابي را بين خود تقسيم ميكنند‪.‬‬
‫ا از همسايههاي خود‬
‫مرتبا‬
‫‪Router -2‬هاي ‪EGP‬‬
‫سئوال ميكنند آيا كار ميكنند‪.‬‬
‫‪ -3‬پيامهاي حاوي اطالعات درباره قابليت دستيابي‬
‫شبكههاي درون سيستم آنها ميفرستد‪.‬‬
‫‪ Configuration‬يك ‪:EGP‬‬
‫)‪ (I‬فعال كردن مسيريابي ‪:EGP‬‬
‫براي فعال كردن مسيريابي بايد يك شمارة سيستم‬
‫مشخص كنيم يك پردازش مسيريابي انجام دهيم و‬
‫شبكه اي را كه پردازش ‪ EGP‬براي آن صورت خواهد‬
‫گرفت نشان دهيم‪.‬‬
‫)‪ (II‬تنظيم روابط همسايههاي ‪:EGP‬‬
‫يك ‪ ،EGP Router‬نميتواند بصورت پويا‪ .‬همسايهها‬
‫و يا ‪Router‬هاي مشابه را تعيين كند‪ .‬بنابراين‬
‫بايد يك ليست از ‪Router‬هاي همسايه تعيين كنيم‪.‬‬
‫)‪ (III‬تنظيم تايمرهاي ‪: EGP‬‬
‫و يك تايمر‬
‫تايمرهاي ‪ EGP‬از يك تايمر ‪Hello‬‬
‫تشكيل شده است‪ .‬تايمر‬
‫براي بازة زماني ‪polling‬‬
‫معين ميكند كه ‪ Router‬با چه فركانسي به‬
‫‪Hello‬‬
‫‪ Router‬همتاي خود پيامهاي ‪ Hello‬ميفرستد و تايمر‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫‪ polling‬مشخص ميكند با چه فركانسي اطالعات ‪update‬‬
‫شده انتقال يابند‪ .‬نحوة پياده سازي ‪ EGP‬به‬
‫كاربر اين امكان را ميدهد كه تايمرها را تنظيم‬
‫كند‪.‬‬
‫)‪ (IV‬تنظيم ‪Router‬هاي پشتيبان‪:‬‬
‫ممكن است كه ما بخواهيم‪ ،‬در هنگام از كار‬
‫افتادن سايت به ‪ Router‬دوم كه متعلق به يك سيستم‬
‫ديگر است به عنوان ‪ Backup‬براي ‪ EGP Router‬ما كار‬
‫كند‪ .‬براي تفاوت گذاشتن بين ‪ Router‬اول و دوم‪.‬‬
‫اين ‪Router‬ها مسيرهاي شبكه را با فواصل ‪EGP‬‬
‫متمايز در اختيار بقيه قرار ميدهند‪ .‬يك شبكه با‬
‫فاصله كمتر معمولا بر شبكه با فاصله بيشتر ترجيح‬
‫دارد‪.‬‬
‫)‪ (V‬مسيرهاي پيش فرض‪:‬‬
‫ميتوانيم شبكه‪ 0.0.0.0‬را به عنوان مسير پيش فرض‬
‫در نظر بگيريم‪.‬‬
‫‪(Core‬‬
‫)‪ (VI‬تعيين مركز مديريت اطالعات سريابي‬
‫)‪:Gateway‬‬
‫معمولا يك پردازش ‪ EGP‬انتظار دارد كه با‬
‫همسايهها از يك سيستم ارتباط برقرار كند‪ .‬بدليل‬
‫اينكه تمام همسايهها در يك سيستم هستند‪ .‬پردازش‬
‫‪ EGP‬فرض ميكند كه همگي همسايه اطالعات داخلي‬
‫هماهنگ دارند‪ .‬بنابراين اگر ‪ EGP‬راجع به مسيري‬
‫از يكي از همسايهها اطالعي بگيرد‪ ،‬آنرا به بقيه‬
‫همسايهها نخواهد فرستاد‪.‬‬
‫با ‪ EGP‬مركزي‪ ،‬فرض بر اين است كه همه همسايهها‬
‫از سيستمهاي متفاوت هستند و اطالعات ناهماهنگ‬
‫دارند‪ .‬در اين شرايط ‪ ،EGP‬مسيرهاي از يك همسايه‬
‫به بقيه را پخش ميكند‪ .‬اين به ‪ EGP‬اجازه ميدهد‬
‫كه مركز اطالعات باشد با يك مديريت مركزي براي‬
‫اطالعات مسيريابي‪.‬‬
‫‪‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪:Gateway Discovery Protocol :GDP‬‬
‫اين پروتكل براي رفع نيازمنديها طراحي شده است‬
‫ا از ورود يك ‪Router‬‬
‫و به ‪ Host‬اجازه ميدهد كه مرتبا‬
‫جديد مطلع شود‪ .‬براي راحتي پياده سازي روي نرم‬
‫افزارهاي گوناگون‪ GDP ،‬بر پاية ‪ UDP‬كار ميكند‪.‬‬
‫و ‪Query‬‬
‫وجود دارد‪Report .‬‬
‫دو نوع پيام ‪GDP‬‬
‫براي رسانههاي ‪ ،Broadcast‬پيامهاي ‪ Report‬بصورت‬
‫متناوب به آدرس ‪ Broadcast‬فرستاده ميشوند‪ .‬كه نشان‬
‫ميدهد كه ‪ Router‬حاضر و در حال كار است‪ .‬با گوش‬
‫دادن به اين پيام يك ‪ host‬ميتواند ظاهر شدن يك‬
‫‪ Router‬را بفهمد‪.‬‬
‫اگر يك ‪ host‬يك ‪ query‬بفرستد به آدرس ‪ Broadcost‬هر‬
‫‪ Router‬يك ‪ Report‬به آدرس ‪ host‬ميفرستد‪.‬‬
‫شكل زير فرمت پيام ‪ Report‬را تعيين ميكند‪:‬‬
‫‪Reserved‬‬
‫‪Address 1‬‬
‫‪plqbdityngal‬‬
‫‪Address 2‬‬
‫‪Hold Time 2‬‬
‫‪Couat‬‬
‫‪Opcode‬‬
‫‪Version‬‬
‫‪Priority L‬‬
‫‪Priority 2‬‬
‫‪ :Version‬يك ‪ 8 field‬بيتي كه شماره ‪ ver.‬پروتوكل‬
‫را دربردارد‪ .‬ورژن فعل ‪ 1 .GDP‬است‪.‬‬
‫را نمايش‬
‫‪ 8 ،Opcode‬بيت كه نوع پيغام ‪GDP‬‬
‫ميدهد‪Raport Opcode = 1 .‬‬
‫‪ .Query‬به ‪ opcode‬نامفهوم هم توجهي‬
‫‪Opcode = 2‬‬
‫نميشود‪.‬‬
‫‪ 8 :Count‬بيت كه تعداد ‪ Priority ،Address‬و نوع ‪Hold‬‬
‫‪ Time‬را مشخص ميكند‪Query Count = 0 , Report Count = .‬‬
‫‪1‬‬
‫‪ 8 : Reserved‬بيت كه رزو شده است و بايد صفر‬
‫قرار داده شود‪.‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫از‬
‫‪ 32 :Address‬بيت كه نشان دهندة آدرس روتر‬
‫شبكه محلي است و هيچ محدوديت ديگري روي اين‬
‫آدرس نيست‪ .‬اگر يك ‪ Host‬بفهمد كه آدرس متعلق به‬
‫شبكه محلي نيست بايد از آن چشم پوشي كند‪.‬‬
‫بيت كه كيفيت متناسب با آدرس را‬
‫‪16 :Priority‬‬
‫نشان ميدهد‪ .‬هر چه مقدار ‪ priority‬بيشتر باشد آدرس‬
‫را بايد بهتر دانست‪.‬‬
‫‪ 16 :Hold Time‬بيت در رسانههاي ‪ .Broadcast‬تعداد‬
‫ثانيههايي است كه آدرس مورد نظر بايد استفاده‬
‫نشود بدون توجه و گوش دادن به پيغام ديگر‪ .‬در‬
‫تعداد‬
‫‪X.25‬‬
‫مثل‬
‫‪non-Broadcost‬‬
‫رسانههاي‬
‫روي‬
‫ثانيههايي است كه در خواست دهنده بايد صبر كنند‬
‫بايد صبر كنيد قبل از فرستادن ‪ Query‬بعدي‪.‬‬
‫تعداد زيادي كار ميتوان با گوش دان نرم افزار‬
‫به ‪ GDP‬انجام داد‪ .‬مثالا ‪ update‬كردن جدول‬
‫مسيريابي يك ‪ host‬از روي پيغامهايي كه ميآيد‪.‬‬
‫كار عمدة مربوط است به نرم افزار و نيازهاي‬
‫شبكه‪.‬‬
‫‪:IP Multicast Routing‬‬
‫ارتباطات ‪ Ip‬مرسوم به يك ‪ host‬اجازه ميدهد كه‬
‫يا به‬
‫به يك ‪ host‬ديگر بفرستد‪(unicast) .‬‬
‫‪packet‬‬
‫همه بفرستد )‪ IP Multiast (Broadcast‬يك روش سوم ارائه‬
‫ميكند كه به يك ‪ host‬اجازه نميدهد يك ‪ Packet‬را به‬
‫مجموعه اي از ‪host‬ها (نه تمام آنها) بفرستد‪ ،‬اين‬
‫‪host‬ها‪ ،‬اعضاي گروه ناميده ميشدند‪Packet .‬هايي كه‬
‫به اعضاي گروه فرستاده ميشوند با يك آدرس معين‬
‫ميشوند‪ .‬محيط ‪ Multicast‬از فرستنده و گيرنده تشكيل‬
‫شده است‪ .‬هر ‪ ،host‬خواه عضو گروه باشد يا نه‬
‫مي توان به گروه بفرستد اگر چه تنها اعضاي گروه‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫آنرا ميگيرند‪ .‬يك آدرس ‪ ،Malticast‬براي گيرندهها‬
‫انتخاب ميشوند و براي فرستادن ‪ Packet‬به گروه‬
‫بايد به آن آدرس فرستاد‪ .‬عضويت در گروه حالت‬
‫ديناميكي است يعني در هر لحظه ميشود عضو شد يا‬
‫گروه را ترك كرد‪.‬‬
‫‪Router‬هايي كه پروتكل مسيريابي ‪ Multicast‬را انجام‬
‫ميدهند مثل ‪ ،PIM‬جدولهايي دارند كه ديتاگرامها‬
‫را ‪ forward‬كنند‪Router .‬ها از ‪(Internet Group IGMP‬‬
‫)‪ Managmant Protocol‬استفاده ميكنند كه بفهمند كه‬
‫اعضاي گروه به ‪ Subnet‬مورد نظر وصل هستند يا نه‪.‬‬
‫‪:IP Multicast Routing‬‬
‫پياده سازي‬
‫سه راه براي پياده سازي وجود دارد‪:‬‬
‫‪ (Internet Group Management Protocol) ،IGMP -1‬كه بين‬
‫‪host‬ها در يك ‪ LAN‬و ‪Router‬ها در همان ‪ LAN‬استفاده‬
‫ميشود‪ .‬كه ميتوان بوسيله آنها فهميد كه ‪hast‬ها‬
‫عضو كدام گروه هستند‪.‬‬
‫‪ (Protocol Independent) ،PIM -2‬بين ‪Router‬ها استفاده‬
‫ميشود كه ميتوانند بفهمند كدام ‪Packet‬ها را به‬
‫ا به‬
‫همديگر ‪ forward‬كنند و به ‪LAN‬هايي كه مستقيما‬
‫آنها متصل هستند بفرستند‪.‬‬
‫‪(Distance Vector Multicast Rp) :DVMRP -3‬‬
‫‪:IGMP -1‬‬
‫‪host‬هاي ‪ ،IP‬از ‪ IGMP‬استفاده ميكنند تا گروه‬
‫عضويت خود را به ‪Router‬هاي متصل گزارش دهند‪IGMP .‬‬
‫از آدرسهاي گروه استفاده ميكند كه از نوع آدرس‬
‫كالس ‪ D‬هستند‪ .‬چهار بيت باليي كالس ‪ 1110 D‬هستند‪.‬‬
‫اين بدان معني است كه نوع رنج آدرس گروه بين‬
‫‪ 224.0.0.0‬تا ‪ 239.255.255.255‬است‪ .‬و اگر ‪ 224.0.0.0‬هم به‬
‫هيچ گروهي داده نميشود و آدرس ‪ 224.0.0.1‬به تمام‬
‫‪‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫و‬
‫آدرس‬
‫سيستمها تعلق دارد‬
‫‪Router‬ها تعلق دارد‪.‬‬
‫‪،PIM -2‬‬
‫پروتكل ‪ ،PIM‬مد سرويس به كسانيكه تازه به‬
‫‪IP‬‬
‫عضويت درآمده اند در‬
‫‪Multicast‬را بر عهده دارد و وابسته به پروتكل خاصي‬
‫از مسيريابي نيست‪.‬‬
‫‪ PIM‬در دو مد كار ميكند‪:sparse , dense .‬‬
‫در ‪ Dense Mode‬يك ‪ Router‬فرض ميكند كه تمام بقية‬
‫‪Router‬ها ميخواهند كه ‪packet‬هاي ‪ Multicast‬را براي يك‬
‫گروه ‪ forward‬كنند‪ .‬اگر يك ‪ Router‬يك ‪Multicast Packet‬‬
‫حاضر و يا عضو متصل‬
‫دريافت كند و همساية ‪PIM‬‬
‫ندارد‪ ،‬يك پيغام به مبدأ فرستاده خواهد شد‪.‬‬
‫‪Packet‬هاي ‪ Multicast‬متناوب و زياد بطرز ناگهاني به‬
‫اين ‪ Router‬فرستاده نميشوند و ‪ PIM‬يك شاخه پخش‬
‫درخت دار در درست ميكند‪ .‬در ‪ Sparse Mode‬هر ‪Router‬‬
‫فرض ميكند كه بقيه ‪Router‬ها نميخواهند كه ‪Multicast‬‬
‫‪packet‬ها را ‪ forward‬كنند‪ .‬مگر اينكه يك درخواست‬
‫واضح براي ارسال باشد‪ .‬وقتي كه ‪host‬ها به يك‬
‫ا‬
‫ميپيوندند‪ Router،‬هايي كه مستقيما‬
‫گروه ‪Multicast‬‬
‫متصل هستند‪ ،‬پيام اتصال ‪ PIM‬ميفرستند‪.‬‬
‫‪:DVMRP -3‬‬
‫يك ديتابيس ‪ parent-child‬با استفاده از‬
‫‪DVMRP‬‬
‫مدل ‪ Multicasting‬ميسازد تا يك ساختار ‪ forward‬كردن‬
‫است‪.‬‬
‫مثل درختي كه ريشه آن مرجع ‪Multicastpacket‬‬
‫تشكيل دهد‪ .‬در ابتدا اين ‪ packet‬در اين درخت جاري‬
‫ميشوند‪ .‬اگر مسيرهاي غير ضروري در اين درخت‬
‫در اين مسيرها نميروند‪ .‬در‬
‫باشد‪packet ،‬ها‬
‫‪ forwordinxg ،DVMRP‬تا زماني اتفاق ميافتد كه‬
‫پيغامهاي ‪ prune‬دريافت نشود‪.‬‬
‫‪224.0.0.2‬‬
‫به‬
‫تمام‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫‪:Ip Multicast Routing Configuration‬‬
‫)‪ (I‬فعال كردن مسيريابي‪:‬‬
‫فعال كردن مسيريابي به ‪ Router‬اجازه ميدهد كه‬
‫‪ Multicast packet‬را ‪ forward‬كند‪.‬‬
‫)‪ (II‬فعال كردن ‪ PIM‬در يك ‪:Interface‬‬
‫فعال كردن ‪ PIM‬در يك ‪ Interface‬همچنين باعث فعال‬
‫شدن ‪ IGMP‬خواهد شد‪ .‬هر ‪ Interface‬را ميتوان طوري‬
‫تنظيم كرد كه در هر ‪ dense‬يا ‪ sparse‬باشد‪ .‬هر دو‬
‫تعيين ميكند كه چگونه ‪Multicast Packet Router‬ها‬
‫دريافت ميكنند‪ .‬در پركردن جدول مسيريابي ‪Multicast‬‬
‫‪Interface .‬هاي مد ‪ dence‬هميشه به جدول اضافه‬
‫‪Interface ،sparse‬ها تنها زماني‬
‫ميشوند ولي در مد‬
‫به جدول اضافه ميشوند كه پيامهاي ملحق شدن‬
‫‪ Router‬دريافت شوند‪ .‬هنگاميكه از‬
‫متناوب توسط‬
‫يك ‪ forward , LAN‬ميكنيم عمليات حالت ‪ Sparse‬اتفاق‬
‫ميافتد يك ‪ RP‬شناخته شده براي گروه موجود باشد‬
‫و در اين صورت ‪Packet‬ها بسته بندي ميشوند و به‬
‫سمت آن فرستاده ميشوند‪.‬‬
‫در حالت پيش فرض هيچ مدي انتخاب نشده است و‬
‫مسيريابي ‪ Multicast‬غير فعال است‪ .‬اگر ما بخواهيم‬
‫كه ‪ Router‬در حالت ‪ spars‬كار كند بايد يك يا چند‬
‫را انتخاب كنيم كه به عنوان ‪( RP‬نقطه‬
‫‪Router‬‬
‫تالقي) كار كنند‪ .‬و ما نيازي نيست كه به آنها‬
‫بگوئيم اين كار را بكنند و خودشان خواهند‬
‫فهميد‪RP .‬ها توسط فرستندهها استفاده ميشوند‪ .‬تا‬
‫وجود خود را اعالم كنند و گيرندهها هم با گرفتن‬
‫‪Packet‬ها در بازه فرستنده جديد اطالع ميگيرند‪ .‬ما‬
‫بايد آدرس ‪RP‬ها در ‪Router‬هايي تنظيم كنيم كه يا‬
‫ا به يك گروه ‪ Multicast‬متصل هستند يا به يك‬
‫مستقيما‬
‫فرستندة ‪ Multicast‬متصلند‪.‬‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫براي چند‬
‫يك ‪ PIM Router‬ميتواند به عنوان ‪RP‬‬
‫گروه هم كار كند و هر گروه هم ميتواند بيش از‬
‫يك ‪ RP‬داشته باشد‪.‬‬
‫)‪ (III‬افزايش كنترل روي ‪RP‬ها‪:‬‬
‫ما ميتوانيم از ايجاد اختالف توسط يك ‪Leaf Router‬‬
‫براي بقيه شبكه جلوگيري كنيم‪ .‬براي انجام اين‬
‫كار روتر محلي را طوري تنظيم ميكنيم كه پيامهاي‬
‫اتصال را تنها زماني قبول كند كه آدرس ‪ RP‬آن در‬
‫ليست دستيابي تعيين شده باشد‪.‬‬
‫)‪ (IV‬تنظيم اينكه يك ‪ Router‬عضو يك گروه باشد‪:‬‬
‫‪Router‬ها ميتوانند طوري تنظيم شوند كه عضو يك‬
‫گروه ‪ Multicast‬باشند‪ .‬اين براي تعيين قابليت‬
‫در يك شبكه مفيد است‪ .‬اگر يك‬
‫دستيابي ‪Multicast‬‬
‫عضو يك گروه باشد و پروتوكلهاي آنها را‬
‫‪Router‬‬
‫ميكند‪ .‬ميتواند به گروه پاسخ دهد‪ .‬يك‬
‫‪support‬‬
‫‪ Router‬به ‪Packet‬هاي درخواست ‪ ICMP‬كه به گروهي كه‬
‫‪ Router‬عضو آن است فرستاده شوند‪ ،‬جواب ميدهد‪.‬‬
‫)‪ (V‬تعيين زمان پيامهاي ‪:IGMP Host - Query‬‬
‫‪ Multicast Router‬پيامهاي ‪ IGMP Haot-Query‬را براي‬
‫اينكه بفهمند كه گروه حاضر است يا نه ميفرستد‪.‬‬
‫اين پيام را به تمام سيستمها ميفرستد يعني آدرس‬
‫‪ Multicast Router . 224.0.0.1‬اين پيام را بصورت متناوب‬
‫ا اطالعات جديدي از گروهها‬
‫ميفرستد تا مرتبا‬
‫بگيرد‪ .‬اگر بعد از مدتي‪ Router ،‬بفهمد كه هيچ ‪host‬‬
‫محلي در يك گروه وجود ندارد‪ ،‬ديگر عمليات ‪forward‬‬
‫‪Multicast‬‬
‫كردن به آن گروه را متوقف خواهد كرد‬
‫يك روتر طراحي شده با ‪ PIM‬را انتخاب‬
‫‪Router‬‬
‫ميكنند كه بيشترين آدرس ‪ IP‬را دارد‪ .‬اين روتر‬
‫‪IGMP host‬‬‫مسئول فرستادن پيغامهاي‬
‫‪ Query‬است به تمام ‪Host‬هاي ‪ . LAN‬بطور پيش فرض‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫اين پيام دقيقه اي يك مرتبه فرستاده‬
‫ميتوان اين بازه را تغيير هم داد‪.‬‬
‫‪‬‬
‫ميشود‪.‬‬
‫)‪ (VI‬كنترل دستيابي به گروههاي ‪:Multicast‬‬
‫پيامهاي ‪ IGMP host-Query‬را‬
‫روترهاي ‪Multicast‬‬
‫براي تعيين اينكه كدام گروهها اعضايي دارند كه‬
‫به شبكه آن روتر متصل است‪ ،‬ميفرستند‪ .‬سپس هر‬
‫با آدرس گروه را با آن گروه ‪forward‬‬
‫‪packet‬‬
‫ميكنند‪ .‬ما ميتوانيم در هر ‪ Interface‬يك فيلتر‬
‫بگذاريم كه گروههايي را كه‪ host‬ها ميتوانند به‬
‫آنها ملحق شوند محدود كند‪.‬‬
‫)‪ (VII‬تعيين بازة پيام ‪ :PIM Router-Query‬پيامهاي‬
‫‪Router-Query‬براي انتخاب ‪ PIM Router‬استفاده ميشوند‪.‬‬
‫اين ‪ Router‬مسئول فرستادن پيامهاي ‪IGMP host-Query‬‬
‫در هر ‪30‬‬
‫ميباشد‪ .‬بصورت پيش فرض ‪Multicast Router‬‬
‫ثانيه ‪ 1‬مرتبه اين پيغام را ميفرستد‪ ،‬همچنين‬
‫ميتوان اين بازة زماني را عوض كرد‪.‬‬
‫)‪ (VII‬تنظيم تعامل ‪:DVMRP‬‬
‫روترهاي ‪ PIM‬بصورت ديناميكي روترهاي ‪DVMRP‬‬
‫را در شبكههاي متصل پيدا ميكنند‪ .‬هنگاميكه يك‬
‫‪ DVMRP‬پيداشد‪ ،‬روتر بصورت متناوب گزارشهاي‬
‫‪ PVMRP‬را ميفرستد كه اعالم ميكند اين مرجع در‬
‫قابل دسترسي است‪ .‬بصورت پيش فرض‪،‬‬
‫حوزة ‪PIM‬‬
‫‪subnet‬ها و شبكههايي كه بصورت مستقيم متصل هستند‬
‫‪Multicast‬هايي را كه‬
‫اعالم ميشوند‪ .‬روتر ‪Packet‬‬
‫بوسيله ‪ forward ،DVMRP‬شده بودند را ‪forward‬‬
‫ميكند و در عوض ‪ packet‬ها‪ Multicast‬را به روترهاي‬
‫‪ forward ، DVMRP‬ميكند‪ .‬ما ميتوانيم تعيين كنيم‬
‫كه كدام مرجعها‪ ،‬بصورت عمومياعالم شوند‪.‬‬
‫‪:DVMRP‬‬
‫)‪ (IX‬تنظيم يك تونل‬
‫آشنايي با پروتكلهاي مسيريابي‬
‫‪‬‬
‫ما ميتوانيم يك تونل ‪ ،DVMRP‬اگر سر ديگر آن‬
‫‪ DVMRP‬اجرا كند‪ ،‬تنظيم كنيم‪ .‬سپس روتر ‪Multicast‬‬
‫‪Packet‬ها را از طريق اين تونل ميگيرد و ميفرستد‪.‬‬
‫اين به يك حوزة ‪ PIM‬اجازه ميدهدكه در شرايطي‬
‫كه تمام روترها در مسير‪ Muticast ،‬را نميپذيرند‬
‫به يك روتر ‪ DVMRP‬متصل شود‪ .‬هنگاميكه ميخواهيم‬
‫از يك تونل استفاده كنيم به دو دليل بايد به آن‬
‫آدرس بدهيم‪:‬‬
‫‪ -1‬اينكه بتوانيم ‪ IP Packet‬را از طريق تونل‬
‫بفرستيم‪.‬‬
‫‪ -2‬براي اينكه نشان دهيم نرم افزار بايد عمليات‬
‫خالصه كردن ‪ DVMRP‬را انجام دهد‪.‬‬