شبکه های محلی -پاورپوینت مسیریابی

Download Report

Transcript شبکه های محلی -پاورپوینت مسیریابی

‫الیه شبکه‬
application
transport
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
network
data link
data link
physical
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
application
transport
network
data link
physical
4-2
‫‪‬‬
‫‪‬‬
‫هنگامي كه بخواهيم بين ‪LAN‬هاي مختلف ارتباط برقرار كنيم وظايف اليه‬
‫شبكه شروع مي‌شود‪.‬‬
‫هنگاميكه بسته‌هاي اطالعاتي روي شبكه ‪ WAN‬منتشر مي‌شود بايد‬
‫مكانيزمي براي هدايت بسته‌ها از مبدا به مقصد وجود داشته باشد تا ميان‬
‫شبكه‌ها با توپولوژي‌ها و ساختارهاي مختلف بتوانند حركت كنند كه به اين‬
‫عمل هدايت همان مسير‌يابي گفته مي‌شود‬
‫‪‬‬
‫‪‬‬
‫منابع موجود در یک برای تماس رزرو میشوند‪.‬‬
‫منابع‬
‫◦ پهنای باند‬
‫◦ بافر سوئیچ‬
‫‪‬‬
‫منابع به قسمت های کوچیکتر تقسیم می شوند و‬
‫هر قسمت کوچکتر به یک تماس اختصاص داده می‬
‫شود‪.‬‬
‫‪‬‬
‫منابع اختصاص یافته حتی اگر استفاده نش ‌ود در‬
‫اختیار دیگران قرار نمی‌گيرد‪.‬‬
‫احتیاج به برقراری تماس وجود دارد‪.‬‬
‫‪connection oriented‬‬
‫◦ ‪TDM‬‬
‫◦ ‪FDM‬‬
‫‪‬‬
‫‪ ‬احتیاجی به برقراری تماس نمی باشد‪.‬‬
‫)‪(Connectionless‬‬
‫‪‬‬
‫‪ ‬منابع به صورت ‪( on demand‬بر اساس تقاضا) در‬
‫اختیار کاربران قرار می گيرند‪.‬‬
‫‪‬‬
‫‪ ‬امکان این وجود دارد که بعض ی از پیغام ها مجبور باشند‬
‫برای استفاده از منابع مثل کانال مدتی صبر کنند‪.‬‬
‫‪‬‬
‫(‪)Delay‬‬
‫هر داده به بسته هایی تقسیم میشود‪.‬‬
‫هر بسته از تمامی پهنای باند استفاده می‬
‫کند‪.‬‬
‫منابع در صورتی که نیاز باشند مورد‬
‫استفاده قرار می گيرند‪.‬‬
‫استفاده بهینه از منابع‬
‫تقسیم کانال‬
‫اختصاص به تماس خاص‬
‫رزرو منبع‬
100 Mb/s
Ethernet
A
B
statistical multiplexing
C
1.5 Mb/s
queue of packets
waiting for output
link
D
E
.‫در اینترنت از سوئیچینگ بسته ای استفاده می شود‬
‫ دلیل این امر چیست؟‬:‫سوال‬
6
‫آدرس ‪IP‬‬
‫آدرس جهاني و مشخص کننده ماشين به صورت يکتا و فارغ از ساختار شبکه‌اي‬
‫مسيرياب )‪)Router‬‬
‫‪ ‬ماشيني با تعدادي ورودي و خروجي‬
‫‪ ‬دريافت بسته‌هاي اطالعاتي از ورودي و هدايت و انتخاب کانال خرو‌جي‬
‫مناسب بر اساس آدرس مقصد‬
‫مسيرياب‬
‫مهر ‪85‬‬
‫اليه اينترنت (‪)Network‬‬
‫زيرشبکه ( ‪ : ( Subnet‬زير ساخت ارتباطي شبکه‌ها‬
‫ستون فقرات ( ‪ : )Backbone‬خطوط ارتباطي با پهناي باند ( نرخ ارسال ) بسيار باال و‬
‫مسيريابهاي بسيار سريع و هوشمند در قسمت زيرشبکه‬
‫مهر ‪85‬‬
‫پروتکل ‪:IP‬‬
‫• قرارداد حمل و تردد بسته‌هاي اطالعاتي‬
‫• مديريت و سازماندهي مسيريابي صحيح بسته‌ها از مبدأ به مقصد‬
‫ديتاگرام‬
‫واحد اطالعات که به صورت يکجا از اليه ‪ IP‬به اليه انتقال تحويل داده مي‌شود يا‬
‫بالعکس اليه شبکه آنرا جهت ارسال روي شبکه به اليه پیوند داده تحويل داده می‬
‫شود‪.‬‬
‫مهر ‪85‬‬
‫قالب سرایند بسته‬
‫‪IP‬‬
‫مهر ‪85‬‬
‫فيلد ‪Version‬‬
‫‪ ‬چهار بيت‬
‫‪ ‬مشخص کننده نسخه پروتکل ‪IP‬‬
‫نسخه شماره ‪ 4‬پروتکل ‪Version= 0100 IP‬‬
‫نسخه شماره ‪ 6‬پروتکل ‪IP‬‬
‫فيلد ‪)IP Header Length( IHL‬‬
‫‪ ‬چهار بيتي‬
‫‪ ‬مشخص کننده طول کل سرآيند بسته بر مبناي کلمات ‪ 32‬بيتي‬
‫‪ ‬حداقل مقدار فيلد ‪ IHP‬عدد ‪5‬‬
‫مهر ‪85‬‬
‫فيلد ‪Type of sevice‬‬
‫‪ ‬فيلد ‪ 8‬بيتي‬
‫‪ ‬مشخص کننده درخواست سرويس ويژهاي توسط ماشين ميزبان از‬
‫مجموعه زيرشبکه براي ارسال ديتاگرام‬
‫تعيين کننده اولويت‬
‫بسته ‪IP‬‬
‫بخشهاي فيلد‪:‬‬
‫‪-‬‬
‫‪R‬‬
‫‪-‬‬
‫بالاستفاده‬
‫قابليت‬
‫اطمينان‬
‫‪T‬‬
‫توان‬
‫خروحي‬
‫‪D‬‬
‫تأخير‬
‫قراردادن عدد ‪ 1‬توسط ماشين ميزبان در اين‬
‫بيتها جهت انتخاب مسير مناسب توسط‬
‫مسيريابها‬
‫مهر ‪85‬‬
‫‪P0‬‬
‫‪P1‬‬
‫تقدم بسته‬
‫‪P2‬‬
‫فيلد ‪Total Length‬‬
‫‪ ‬فيلد ‪ 16‬بيتي‬
‫‪ ‬مشخص کننده طول کل بسته ‪ ( IP‬مجموع اندازه سرآيند و ناحيه داده)‬
‫‪ ‬حداکثر طول کل بسته ‪ 65535 IP‬بايت‬
‫فيلد ‪Identification‬‬
‫‪ ‬فيلد ‪ 16‬بيتي‬
‫‪ ‬مشخص کننده شماره يک ديتاگرام واحد در صورتی که قطعه قطعه‬
‫شده باشد‬
‫مهر ‪85‬‬
‫فيلد ‪Fragment Offset‬‬
‫الف) بيت ‪:( Don’t Fragment( DF‬‬
‫با يک شدن اين بيت در يک بسته ‪ IP‬هيچ مسيريابي اجازه قطعه‬
‫قطعه نمودن بسته را ندارد‬
‫ب) بيت ‪:) More Fragment ( MF‬‬
‫‪ : MF=0‬مشخص کننده آخرين قطعه ‪ IP‬از يک ديتاگرام‬
‫‪ : MF=1‬وجود قطعات بعدي از يک ديتاگرام‬
‫ج) ‪Fragment offset‬‬
‫‪ 13 o‬بيتي‬
‫‪ o‬نشان دهنده شماره ترتيب هر قطعه ازيک ديتاگرام شکسته شده‬
‫‪ o‬حداکثرتعداد قطعات يک ديتاگرام ‪8192‬‬
‫مهر ‪85‬‬
‫فيلد ‪Time To Live‬‬
‫‪ ‬فيلد ‪ 8‬بيتي‬
‫‪ ‬مشخص کننده طول عمر بسته ‪IP‬‬
‫‪ ‬حداکثر طول عمر بسته ‪255 = IP‬‬
‫فيلد پروتکل‬
‫‪ ‬نشان دهنده شماره پروتکل اليه باالتر متقاض ي ارسال ديتاگرام‬
‫‪ ‬فيلد ‪ 8‬بيتي‬
‫مهر ‪85‬‬
‫فيلد ‪Header Ckecksum‬‬
‫• فيلد ‪ 16‬بيتي‬
‫• کشف خطاهاي احتمالي در سرآيند هر بسته ‪IP‬‬
‫روش محاسبه كد كشف خطا‪:‬‬
‫‪Header Checksum‬‬
‫مهر ‪85‬‬
‫فيلد ‪Source Address‬‬
‫•فيلد ‪ 32‬بيتي‬
‫• مشخص کننده آدرس ماشين مبدأ‬
‫فيلد ‪Destination Address‬‬
‫• فيلد ‪ 32‬بيتي‬
‫• مشخص کننده آدرس ‪ IP‬ماشين مقصد‬
‫مهر ‪85‬‬
‫فيلد اختياري‌ ‪Option‬‬
‫• حداکثر ‪ 40‬بايت‬
‫• محتوي اطالعات جهت يافتن مسير مناسب توسط مسيريابها‬
‫مهر ‪85‬‬
‫آدرسها در اينترنت و اينترانت‬
‫شناسايي تمام ابزار شبکه (ماشينهاي ميزبان‪ ,‬مسيريابها‪ ,‬چاپگرهاي شبکه ) در اينترنت با يک آدرس ‪IP‬‬
‫آدرس ‪IP‬‬
‫• ‪ 32‬بيتي‬
‫•نوشتن آدرسهاي ‪ IP‬به صورت چهار عدد دهدهي که با نقطه از هم جدا شده‬
‫اند جهت سادگي نمايش‬
‫مهر ‪85‬‬
‫کالس ‪A‬‬
‫کالس ‪E‬‬
‫کالس ‪B‬‬
‫کالسهاي آدرس ‪IP‬‬
‫کالس ‪D‬‬
‫تقسيم ‪ 32‬بيت آدرس ‪ IP‬به قسمتهاي ‪:‬‬
‫آدرس ماشين‪ /‬آدرس زيرشبکه‪ /‬آدرس شبکه‬
‫مهر ‪85‬‬
‫کالس ‪C‬‬
‫آدرسهاي کالس ‪A‬‬
‫• مقدرا پرارزشترين بيت = ‪0‬‬
‫• ‪ 7‬بيت از يک بايت اول = مشخصه آدرس ‪ IP‬شبکه‬
‫• ‪ 3‬بايت باقيمانده مشخص‌کننده آدرس ماشين ميزبان‬
‫• بايت پرارزش در محدوده صفر تا ‪127‬‬
‫•در کل ‪ 2-128‬آدرس برای آدرس شبکه وجود دارد (چرا؟)‬
‫‪Network ID = 7 Bit‬‬
‫‪Host ID‬‬
‫‪1‬‬
‫‪5‬‬
‫‪32 bits‬‬
‫مهر ‪85‬‬
‫‪0 Network‬‬
‫‪00‬‬
‫کالس ‪B‬‬
‫• مقدار دو بيت پرارزش = ‪10‬‬
‫• ‪ 14‬بيت از دو بايت سمت چپ = آدرس شبکه‬
‫• دو بايت اول از سمت راست = آدرس ماشين ميزبان‬
‫‪Network ID = 14 Bit‬‬
‫‪Host ID‬‬
‫‪Host ID‬‬
‫‪NetworkID‬‬
‫‪Network‬‬
‫‪32 bits‬‬
‫مهر ‪85‬‬
‫‪10‬‬
‫کالس ‪C‬‬
‫•مناسب‌ترين و پرکاربرد‌ترين کالس از آدرسهاي ‪IP‬‬
‫• مقدار سه بيت پرارزش = ‪110‬‬
‫• ‪ 21‬بيت از سه بايت سمت چپ = مشخص‌کننده آدرس شبکه‬
‫• ‪ 8‬بيت سمت چپ = آدرس ماشين ميزبان‬
‫‪Host ID‬‬
‫‪Network ID‬‬
‫‪32 bits‬‬
‫مهر ‪85‬‬
‫‪110‬‬
‫کالس ‪D‬‬
‫• مقدار چهار بيت پرارزش = ‪1110‬‬
‫•‪ 28‬بيت = تعيين آدرسهاي چند مقصده ( آدرسهاي گروهي )‬
‫• کاربرد = عمليات رسانه‌اي و چند پخش ي‬
‫‪Multicast Address‬‬
‫‪32 bits‬‬
‫مهر ‪85‬‬
‫‪1110‬‬
‫کالس ‪E‬‬
‫• مقدار پنج بيت پرارزش = ‪11110‬‬
‫‪Unused Address Space‬‬
‫‪32 bits‬‬
‫مهر ‪85‬‬
‫‪11110‬‬
‫آدرسهاي خاص‬
‫در بين تمام کالسهاي آدرس ‪ IP‬با پنج گروه از آدرسها نمي توان يک شبکه خاص را تعريف‬
‫و آدرس‌دهي نمود‪.‬‬
‫آدرس ‪NetID.255‬‬
‫آدرس ‪0.0.0.0‬‬
‫آدرس خاص‬
‫آدرس ‪0. HostID‬‬
‫مهر ‪85‬‬
‫آدرس ‪255.255.255.255‬‬
‫آدرس ‪127.XX.YY.ZZ‬‬
‫آدرس ‪:0.0.0.0‬‬
‫هر ماشين ميزبان كه از آدرس ‪ IP‬خودش مطلع نيست اين آدرس را بعنوان آدرس خودش فرض مي‌كند‪.‬‬
‫آدرس ‪: 0. HostID‬‬
‫اين آدرس زماني به كار مي‌رود كه ماشين ميزبان ‪ ،‬آدرس مشخصة شبكه‌اي كه بدان متعلق است را نداند‪ .‬در‬
‫اين حالت در قسمت ‪ NetID‬مقدار صفر و در قسمت ‪ HostID‬شمارة مشخصة ماشين خود را قرار‬
‫مي‌دهد‪.‬‬
‫مهر ‪85‬‬
‫آدرس ‪:255.255.255.255‬‬
‫جهت ارسال پيامهاي فراگير براي تمامي ماشينهاي ميزبان بر روي شبكة محلي كه ماشين ارسالكننده به آن متعلق‬
‫است ‪.‬‬
‫آدرس ‪: NetID.255‬‬
‫جهت ارسال پيامهاي فراگير براي تمامي ماشينهاي يك شبكة راه دور كه ماشين ميزبان فعلي متعلق به آن نيست ‪.‬‬
‫آدرس ‪:127.xx.yy.zz‬‬
‫اين آدرس بعنوان “آدرس بازگشت” شناخته مي‌شود و آدرس بسيار مفيدي براي اشكالزدايي از نرم افزار مي‌باشد ‪.‬‬
‫مهر ‪85‬‬
‫‪223.1.1.1‬‬
‫‪223.1.2.1‬‬
‫‪223.1.1.2‬‬
‫‪223.1.1.4 223.1.2.9‬‬
‫‪223.1.2.2‬‬
‫‪223.1.3.27‬‬
‫‪223.1.1.3‬‬
‫‪LAN‬‬
‫‪223.1.3.2‬‬
‫‪223.1.3.1‬‬
‫شبکهای شامل سه ‪subnet‬‬
‫‪‬‬
‫آدرس ‪:IP‬‬
‫◦ قسمت ‪ :subnet‬بیتهای با درجه‬
‫باال (سمت چپ)‬
‫◦ قسمت ‪ :host‬بیتهای با درجه پایين‬
‫(سمت راست)‬
‫◦ ‪ Subnet‬چیست؟‬
‫◦ واسط دستگاههایی که قسمت‬
‫‪ subnet‬درون آدرس ‪ IP‬آنها یکی‬
‫می‌باشد‪.‬‬
‫◦ بدون مداخله هیچ روتری می‌توانند با‬
‫یکدیگر ارتباط برقرار کنند‪.‬‬
223.1.1.2
:‫ها‬subnet
223.1.1.0/24 
223.1.2.0/24 
223.1.3.0/24 
223.1.9.0/24 
223.1.7.0/24 
223.1.8.0/24 
223.1.1.1
223.1.1.4
223.1.1.3
223.1.9.2
223.1.7.0
223.1.9.1
223.1.8.1
223.1.2.6
223.1.2.1
223.1.8.0
223.1.7.1
223.1.3.27
223.1.2.2 223.1.3.1
223.1.
‫• در آدرس دهی با استفاده از کالسها تعداد بیتهای ‪ subnet‬می‌بایست‬
‫‪ 16 ،8‬و یا ‪ 24‬باشد‪.‬‬
‫• مشکالت‪:‬‬
‫• به عنوان مثال اگر از کالس ‪ C‬استفاده شود تعداد ‪ host‬ها در یک‬
‫شبکه بسیار محدود می‌شود‪.‬‬
‫• اگر از کالس‪ B‬استفاده شود برای سازمانهایی که تعداد ‪host‬های نه‬
‫چندان زیادی دارند تعداد زیادی آدرس ‪ IP‬بالاستفاده می‌ماند‪.‬‬
‫• به عنوان مثال برای شبکه ای با ‪ host 2000‬کالس ‪ C‬کافی‬
‫نیست و در کالس ‪B‬حدود ‪ 63000‬آدرس خالی می‌ماند‪.‬‬
‫‪ CIDR: Classless InterDomain Routing‬یا‬
‫مسيریابی بين دامنه‌ای بدون کالس‬
‫◦ قسمت ‪ subnet‬در آدرس ‪ IP‬برخالف آدرس دهی با کالس‪ ،‬می‌تواند هر طول دلخواهی‬
‫داشته باشد‪.‬‬
‫◦ فرمت آدرس‪ a.b.c.d/x :‬که ‪ x‬تعداد بیتهایی است که مربوط به قسمت ‪subnet‬‬
‫می‌باشد‪.‬‬
‫‪host‬‬
‫‪part‬‬
‫‪subnet‬‬
‫‪part‬‬
‫‪11001000 00010111 00010000 00000000‬‬
‫‪200.23.16.0/23‬‬
.‫ او است را بدست می‌آورد‬ISP ‫ شبکه قسمتی از آدرس را که مربوط به فضای آدرس‬:‫پاسخ‬
ISP's block
Organization
Organization
Organization
...
Organization
11001000 00010111 00010000 00000000
0
1
2
7
11001000 00010111 00010000 00000000
11001000 00010111 00010010 00000000
11001000 00010111 00010100 00000000
…..
….
11001000 00010111 00011110 00000000
200.23.16.0/20
200.23.16.0/23
200.23.18.0/23
200.23.20.0/23
….
200.23.30.0/23
‫‪‬‬
‫وظيفه اصلي اليه شبكه مسير يابي و هدايت بسته ها از منبع به مقصد مي باشد ‪ .‬در بيشتر‬
‫زير شبكه ها بسته ها براي آنكه به مقصد برسند نياز دارند كه چند پرش انجام دهند‪.‬‬
‫‪‬‬
‫الگوریتم مسيریابی‬
‫◦ الگوريتم مسير يابي بخش ي از نرم افزار اليه شبكه است كه تعيين مي كند بسته ورودي‬
‫به كدام خط خروجي بايد منتقل شود‪.‬‬
‫‪‬‬
‫یک الگوریتم مسيریابی می بایست دارای موارد زیر باشد‪:‬‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫صحت‬
‫سادگی‬
‫تحمل عیب‬
‫ی‬
‫پایدار ‌‬
‫عدالت و بهینگی‬
‫الف) از ديدگاه روش تصميم‌گيري و ميزان هوشمندي الگوريتم‬
‫ايستا‬
‫پويا‬
‫ب) از ديدگاه چگونگي جمع‌آوري و پردازش ط ‌العات زيرساخت‬
‫ارتباطي شبكه‬
‫سراسري ‪ /‬متمركز‬
‫غيرمتمركز‬
‫الگوريتم ايستا‬
‫• عدم توجه به شرايط توپولوژيكي ‌و ترافيك لحظه‌اي شبكه‬
‫در طول‌ زمان‬
‫هر مسيرياب ‌‬
‫• جداول‌ ثابت مسيريابي ‌‬
‫• الگوريتم‌هاي سريع‬
‫تغيير توپولوژي زيرساخت شبكه‬
‫در صورت ‌‬
‫• تنظيم جداول‌ مسيريابي به طور‌ دستي ‌‬
‫در اثناي زمان‬
‫تغيير مسيرها به کندي ‌‬
‫‌‬
‫•‬
‫الگوريتم پويا‬
‫آخرين‬
‫ي جداو ‌ل مسيريابي به صورت دوره‌اي ‌بر اساس ‌‬
‫• به هنگام ساز ‌‬
‫وضعيت توپولوژيكي ‌و ترافيك شبكه‬
‫تغيير سريع مسيرها‬
‫• ‌‬
‫ي ‌بر اساس وضعيت فعلي شبكه جهت انتخاب بهترين‬
‫• تصميم‌گير ‌‬
‫مسير‬
‫مسير به جهت‬
‫‌‬
‫ي بهترين‬
‫• ايجاد تأخيرهاي بحراني هنگام تصميم‌گير ‌‬
‫پيچيدگي الگوريتم‬
‫ي‬
‫الگوريتم سراسر ‌‬
‫هر خط‬
‫• اطالع كامل تمام مسيريابها ‌از همبندي شبکه ‌و هزينه ‌‬
‫•الگوريتم‌هاي ‪)LS( Link State‬‬
‫الگوريتم غير متمركز‬
‫• محاسبه ‌و ارزيابي هزينه ارتباط با مسيريابهاي همسايه‬
‫در ارتباط‬
‫(مسيريابهايي كه به صورت مستقيم ‌و فيزيكي با آن ‌‬
‫هستند)‬
‫در فواصل زماني‬
‫هر مسيرياب ‌‬
‫• ارسال جداول‌ مسيريابي توسط ‌‬
‫منظم براي مسيريابهاي مجاور‌‬
‫• پيچيدگي زماني كم‬
‫• الگوريتم‌هاي ‪Distance Vector‬‬
routing algorithm
local forwarding table
header value output link
0100
0101
0111
1001
3
2
2
1
value in arriving
packet’s header
0111
1
3 2
Network Layer
440
5
2
u
v
2
1
Graph: G = (N,E)
x
3
w
3
1
5
z
1
y
2
N = ‫ { =روترها‬u, v, w, x, y, z }
E = ‫( {=کانالها یا لینکها‬u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }
Network Layer
441
‫•‬
‫•‬
‫•‬
‫•‬
‫)’‪ = c(x,x‬هزینه کانال )’‪(x,x‬‬
‫مثال ‪c(u,w)=5 :‬‬
‫هزینه هر کانال می تواند همواره ‪ 1‬باشد و یا با‬
‫پهنای باند و ميزان ازدحام کانال مرتبط باشد‪.‬‬
‫‪5‬‬
‫‪5‬‬
‫‪z‬‬
‫‪w‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪3‬‬
‫‪y‬‬
‫‪1‬‬
‫‪v‬‬
‫‪2‬‬
‫‪u‬‬
‫‪2‬‬
‫‪x‬‬
‫‪1‬‬
‫)‪Cost of path (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp‬‬
‫سوال‪ :‬کم هزینه ترین مسیر بین روتر ‪ u‬و روتر ‪ z‬چیست؟‬
‫الگوریتم مسیریابی‪ :‬الگوریتمی که کم هزینه ترین مسیر را انتخاب می کند‪.‬‬
‫‪4‬‬‫‪42‬‬
‫‪Network Layer‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫هر رو ‌تر بسته را به همه روترهای مجاور‌ خود ارسال می‌کند‪.‬‬
‫‌‬
‫در شبكه‬
‫سريعترين الگوريتم براي ارسال اطالعات به مقصد ‌‬
‫اگير ‌و كنترلي مانند اعالم جداول‌ مسيريابي‬
‫جهت ارسال بسته‌هاي فر ‌‬
‫مشکل‬
‫◦ ايجاد حلقه بينهايت و از كارافتادن شبكه‬
‫‪‬‬
‫راه حل رفع مشكل حلقه بينهايت‬
‫‪ .1‬قراردادن شماره شناسايي براي هر بسته ‪Selective Flooding‬‬
‫‪ .2‬قراردادن طول عمر براي بسته‌ها‬
‫‪B‬‬
‫‪C‬‬
‫‪E‬‬
‫‪A‬‬
‫‪D‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫)‪ :C(x,y‬هزینه لینک از نود ‪ x‬به نود ‪.y‬‬
‫در صورتی که نودهای ‪ x‬و ‪ y‬همسایه‬
‫نباشند ∞ است‪.‬‬
‫)‪ :D(v‬هزینه فعلی مسير از مبدا به مقصد‬
‫‪v‬‬
‫)‪ :P(v‬نود ماقبل در مسير مبدا تا نود ‪v‬‬
‫‘‪ :N‬مجموعه نودهایی که کوتاهترین مسير تا‬
‫آنها محاسبه شده است‪.‬‬
‫الگوریتم دیکسترا )‪:(Dijkstra‬‬
‫‪ ‬همه نودها از توپولوژی شبکه و هزینه‬
‫لینکها با خبر می شوند‪.‬‬
‫◦ توسط ارسال همگانی بسته های حالت لینک‬
‫◦ همه نودها دارای اطالعات یکسان می باشند‬
‫‪‬‬
‫◦ بدین وسیله جدول ‪ forwarding‬خود را می‬
‫سازد‪.‬‬
‫‪‬‬
‫‪4‬‬‫‪45‬‬
‫‪Network Layer‬‬
‫هر نود به صورت جداگانه هزینه خود را تا‬
‫دیگر نودهای شبکه محاسبه می کند‪.‬‬
‫تکراری )‪ :(iterative‬بعد از ‪ k‬تکرار‬
‫نود کوتاهترین مسير خود تا ‪ k‬نود را‬
‫محاسبه می نماید‪.‬‬
1 Initialization:
2 N' = {u}
3 for all nodes v
4
if v adjacent to u
5
then D(v) = c(u,v)
6
else D(v) = ∞
7
8 Loop
9 find w not in N' such that D(w) is a minimum
10 add w to N'
11 update D(v) for all v adjacent to w and not in N' :
12
D(v) = min( D(v), D(w) + c(w,v) )
13 /* new cost to v is either old cost to v or known
14 shortest path cost to w plus cost from w to v */
15 until all nodes in N'
Network Layer
446
Step
0
1
2
3
4
5
N'
u
ux
uxy
uxyv
uxyvw
uxyvwz
D(v),p(v) D(w),p(w)
2,u
5,u
2,u
4,x
2,u
3,y
3,y
D(x),p(x)
1,u
D(y),p(y)
∞
2,x
D(z),p(z)
∞
∞
4,y
4,y
4,y
5
2
u
v
2
1
x
3
w
3
1
5
z
1
y
2
Network Layer
447
Resulting shortest-path tree from u:
v
w
u
z
x
y
Resulting forwarding table in u:
destination
link
v
x
(u,v)
(u,x)
y
(u,x)
w
(u,x)
z
(u,x)
Network Layer
448
Network Layer
449
‫معادله بلمن‪ -‬فورد‪:‬‬
‫)‪ :dx(y‬هزینه کمترین مسير از نود ‪ x‬به نود ‪y‬‬
‫آنگاه‬
‫‪dx(y) = min‬‬
‫} )‪{c(x,v) + dv(y‬‬
‫‪v‬‬
‫مینیمم بر روی تمامی نودهای ‪ v‬که با ‪ x‬همسایه می باشند اعمال می شود‪.‬‬
‫‪4‬‬‫‪50‬‬
‫‪Network Layer‬‬
5
2
u
v
2
1
x
3
w
3
1
5
z
1
y
:‫می دانیم‬
dv(z) = 5, dx(z) = 3, dw(z) = 3
2
:‫معادله بلمن – فورد‬
du(z) = min { c(u,v) + dv(z),
c(u,x) + dx(z),
c(u,w) + dw(z) }
= min {2 + 5,
1 + 3,
5 + 3} = 4
z ‫ در مسیر رسیدن به نود‬next-hop ‫ به عنوان‬x ‫در نتیجه نود‬
.‫ ثبت می شود‬u ‫ نود‬forwarding ‫در جدول‬
Network Layer
451
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫)‪ :Dx(y‬کمترین هزینه مسير از ‪ x‬به ‪y‬‬
‫)‪ :c(x,v‬نود ‪ x‬هزینه تا نودهای مجاورش را می داند‪.‬‬
‫نود ‪ x‬بردار فاصله را در خود نگهداری می کند‪.‬‬
‫] ‪Dx = [Dx(y): y є N‬‬
‫نود ‪ x‬همچنين بردار فاصله نودهای مجاورش را نيز نگهداری می کند‪.‬‬
‫◦ برای هر نود ‪ v‬که در مجاورت ‪ x‬قرار دارد بردار فاصله زیر را نگه می دارد‪:‬‬
‫] ‪Dv = [Dv(y): y є N‬‬
‫‪4‬‬‫‪52‬‬
‫‪Network Layer‬‬
‫ایده اصلی‪:‬‬
‫‪‬‬
‫‪‬‬
‫در طی زمان هر نود بردار فاصله خود را برای همسایگانش می فرستد‪.‬‬
‫هنگامی که نود ‪ x‬بردار فاصله جدیدی را از همسایه اش دریافت می کند‪ ،‬بردار‬
‫فاصله خود را با استفاده از معادله بلمن‪ -‬فورد به روز می نماید‪.‬‬
‫‪for each node y ∊ N‬‬
‫})‪Dx(y) ← minv{c(x,v) + Dv(y‬‬
‫‪ ‬در طول مدت زمان و ارسالهای متوالی بردارهای فاصله‪ ،‬تقریب هر نود‬
‫از فاصله اش تا نودهای دیگر به کوتاهترین فاصله همگرا می شود‪.‬‬
‫‪4‬‬‫‪53‬‬
‫‪Network Layer‬‬
‫‪Each node:‬‬
‫‪‬‬
‫‪‬‬
‫‪wait for (change in local link‬‬
‫)‪cost or msg from neighbor‬‬
‫‪recompute estimates‬‬
‫‪if DV to any dest has‬‬
‫‪changed, notify neighbors‬‬
‫‪4‬‬‫‪54‬‬
‫‪Network Layer‬‬
‫به صورت تکراری‬
‫غیر همزمان‪ :‬هر تکرار در نود‬
‫در اثر‪:‬‬
‫◦ تغییر هزینه کانالهای متصل به نود‬
‫◦ دریافت یک بردار فاصله جدید از‬
‫همسایگان‬
‫می تواند اتفاق بیفتد‪.‬‬
‫‪ ‬توزیع شده‪:‬‬
‫◦ هر نود تنها زمانی بردار فاصله اش‬
‫را برای همسایگانش می فرستد که‬
‫تغییری در آن ایجاد شده باشد‪.‬‬
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}
= min{2+0 , 7+1} = 2
node x table
cost to
x y z
= min{2+1 , 7+0} = 3
cost to
x y z
from
from
x 0 2 7
y ∞∞ ∞
z ∞∞ ∞
node y table
cost to
x y z
Dx(z) = min{c(x,y) +
Dy(z), c(x,z) + Dz(z)}
x 0 2 3
y 2 0 1
z 7 1 0
x ∞ ∞ ∞
y 2 0 1
z ∞∞ ∞
node z table
cost to
x y z
from
from
x
x ∞∞ ∞
y ∞∞ ∞
z 71 0
time
Network Layer
2
y
7
1
z
455
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}
= min{2+0 , 7+1} = 2
node x table
cost to
x y z
x ∞∞ ∞
y ∞∞ ∞
z 71 0
from
from
from
from
x 0 2 7
y 2 0 1
z 7 1 0
cost to
x y z
x 0 2 7
y 2 0 1
z 3 1 0
x 0 2 3
y 2 0 1
z 3 1 0
cost to
x y z
x 0 2 3
y 2 0 1
z 3 1 0
x
2
y
7
1
z
cost to
x y z
from
from
from
x ∞ ∞ ∞
y 2 0 1
z ∞∞ ∞
node z table
cost to
x y z
x 0 2 3
y 2 0 1
z 7 1 0
= min{2+1 , 7+0} = 3
cost to
x y z
cost to
x y z
from
from
x 0 2 7
y ∞∞ ∞
z ∞∞ ∞
node y table
cost to
x y z
cost to
x y z
Dx(z) = min{c(x,y) +
Dy(z), c(x,z) + Dz(z)}
x 0 2 3
y 2 0 1
z 3 1 0
time
Network Layer
456
Network Layer
457