570 likes | 655 Views
فصل پنجم. لایه شبکه. 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 data link physical. network data link physical. network data link
E N D
فصل پنجم لایه شبکه
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 data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical application transport network data link physical
لايه شبكه در اينترنت • هنگامي كه بخواهيم بين LANهاي مختلف ارتباط برقرار كنيم وظايف لايه شبكه شروع ميشود. • هنگاميكه بستههاي اطلاعاتي روي شبكه WAN منتشر ميشود بايد مكانيزمي براي هدايت بستهها از مبدا به مقصد وجود داشته باشد تا ميان شبكهها با توپولوژيها و ساختارهاي مختلف بتوانند حركت كنند كه به اين عمل هدايت همان مسيريابي گفته ميشود
سوئیچینگ مداری • منابع موجود در یک برای تماس رزرو میشوند. • منابع • پهنای باند • بافر سوئیچ • منابع به قسمت های کوچیکتر تقسیم می شوند و هر قسمت کوچکتر به یک تماس اختصاص داده می شود. • TDM • FDM • منابع اختصاص یافته حتی اگر استفاده نشود در اختیار دیگران قرار نمیگیرد. • احتیاج به برقراری تماس وجود دارد. connection oriented
تقسیم کانال اختصاص به تماس خاص رزرو منبع سوئیچینگ بسته ای هر داده به بسته هایی تقسیم میشود. • هر بسته از تمامی پهنای باند استفاده می کند. • منابع در صورتی که نیاز باشند مورد استفاده قرار می گیرند. • استفاده بهینه از منابع • احتیاجی به برقراری تماس نمی باشد.(Connectionless) • منابع به صورت on demand (بر اساس تقاضا) در اختیار کاربران قرار می گیرند. • امکان این وجود دارد که بعضی از پیغام ها مجبور باشند برای استفاده از منابع مثل کانال مدتی صبر کنند. (Delay)
D E سوئیچینگ بسته ای: تسهیم آماری 100 Mb/s Ethernet C A statistical multiplexing 1.5 Mb/s B queue of packets waiting for output link در اینترنت از سوئیچینگ بسته ای استفاده می شود. سوال: دلیل این امر چیست؟
آدرس جهاني و مشخص کننده ماشين به صورت يکتا و فارغ از ساختار شبکهاي • ماشيني با تعدادي ورودي و خروجي • دريافت بستههاي اطلاعاتي از ورودي و هدايت و انتخاب کانال خروجي مناسب بر اساس آدرس مقصد مسيرياب آدرس IP مسيرياب Router))
لايه اينترنت (Network) زيرشبکه (( Subnet : زير ساخت ارتباطي شبکهها ستون فقرات ( Backbone) : خطوط ارتباطي با پهناي باند ( نرخ ارسال ) بسيار بالا و مسيريابهاي بسيار سريع و هوشمند در قسمت زيرشبکه
پروتکل IP: • قرارداد حمل و تردد بستههاي اطلاعاتي • مديريت و سازماندهي مسيريابي صحيح بستهها از مبدأ به مقصد ديتاگرام واحد اطلاعات که به صورت يکجا از لايه IP به لايه انتقال تحويل داده ميشود يا بالعکس لايه شبکه آنرا جهت ارسال روي شبکه به لايه پیوند داده تحويل داده می شود.
فيلد Version • چهار بيت • مشخص کننده نسخه پروتکل IP فيلد IHL (IP Header Length) • چهار بيتي • مشخص کننده طول کل سرآيند بسته بر مبناي کلمات 32 بيتي • حداقل مقدار فيلد IHP عدد 5 نسخه شماره 4 پروتکل Version= 0100 IP نسخه شماره 6 پروتکل IP
فيلد 8 بيتي • مشخص کننده درخواست سرويس ويژهاي توسط ماشين ميزبان از مجموعه زيرشبکه براي ارسال ديتاگرام فيلد Type of sevice تعيين کننده اولويت بسته IP بخشهاي فيلد: قراردادن عدد 1 توسط ماشين ميزبان در اين بيتها جهت انتخاب مسير مناسب توسط مسيريابها
فيلد Total Length • فيلد 16 بيتي • مشخص کننده طول کل بسته IP ( مجموع اندازه سرآيند و ناحيه داده) • حداکثر طول کل بسته IP 65535 بايت فيلد Identification • فيلد 16 بيتي • مشخص کننده شماره يک ديتاگرام واحد در صورتی که قطعه قطعه شده باشد
فيلد Fragment Offset الف) بيت DF (( Don’t Fragment: با يک شدن اين بيت در يک بستهIP هيچ مسيريابي اجازه قطعه قطعه نمودن بسته را ندارد ب) بيت MF (More Fragment ): MF=0 : مشخص کننده آخرين قطعه IP از يک ديتاگرام MF=1 : وجود قطعات بعدي از يک ديتاگرام • ج) Fragment offset • 13 بيتي • نشان دهنده شماره ترتيب هر قطعه ازيک ديتاگرام شکسته شده • حداکثرتعداد قطعات يک ديتاگرام 8192
فيلد Time To Live • فيلد 8 بيتي • مشخص کننده طول عمر بسته IP • حداکثر طول عمر بسته IP = 255 فيلد پروتکل • نشان دهنده شماره پروتکل لايه بالاتر متقاضي ارسال ديتاگرام • فيلد 8 بيتي
فيلد Header Ckecksum • فيلد 16 بيتي • کشف خطاهاي احتمالي در سرآيند هر بسته IP روش محاسبه كد كشف خطا: Header Checksum
فيلد Source Address • فيلد 32 بيتي • مشخص کننده آدرس ماشين مبدأ فيلد Destination Address • فيلد 32 بيتي • مشخص کننده آدرس IP ماشين مقصد
فيلد اختياريOption • حداکثر 40 بايت • محتوي اطلاعات جهت يافتن مسير مناسب توسط مسيريابها
آدرسها در اينترنت و اينترانت شناسايي تمام ابزار شبکه (ماشينهاي ميزبان, مسيريابها, چاپگرهاي شبکه ) در اينترنت با يک آدرس IP آدرس IP • 32 بيتي • نوشتن آدرسهاي IP به صورت چهار عدد دهدهي که با نقطه از هم جدا شده اند جهت سادگي نمايش
کلاسA کلاسC کلاسهايآدرس IP کلاسB کلاسE کلاسD تقسيم 32 بيتآدرس IP به قسمتهاي : آدرس ماشين/ آدرس زيرشبکه/ آدرس شبکه
مقدرا پرارزشترين بيت = 0 • 7 بيت از يک بايت اول = مشخصه آدرس IPشبکه • 3 بايت باقيمانده مشخصکننده آدرس ماشين ميزبان • بايت پرارزش در محدوده صفر تا127 • در کل 128-2 آدرس برای آدرس شبکه وجود دارد (چرا؟) آدرسهاي کلاس A Host ID Network 0 32 bits Network ID = 7Bit 15 0 0
مقدار دو بيت پرارزش = 10 • 14 بيت از دو بايت سمت چپ = آدرس شبکه • دو بايت اول از سمت راست = آدرس ماشين ميزبان کلاس B Host ID Network ID 10 32 bits Network ID = 14 Bit Host ID Network
مناسبترين و پرکاربردترين کلاس از آدرسهاي IP • مقدار سه بيت پرارزش = 110 • 21 بيت از سه بايت سمت چپ = مشخصکننده آدرس شبکه • 8 بيت سمت چپ = آدرس ماشين ميزبان کلاس C Host ID Network ID 110 32 bits
مقدار چهار بيت پرارزش = 1110 • 28 بيت = تعيين آدرسهاي چند مقصده ( آدرسهاي گروهي ) • کاربرد = عمليات رسانهاي و چند پخشي کلاسD Multicast Address 1110 32 bits
مقدار پنج بيت پرارزش = 11110 کلاس E Unused Address Space 11110 32 bits
آدرسهاي خاص آدرس 255 NetID. آدرس 255.255.255.255 آدرس خاص آدرس 0.0.0.0 آدرس 0. HostID آدرس .XX.YY.ZZ127 در بين تمام کلاسهاي آدرس IP با پنج گروه از آدرسها نمي توان يک شبکه خاص را تعريف و آدرسدهي نمود.
آدرس 0.0.0.0: هر ماشين ميزبان كه از آدرس IP خودش مطلع نيست اين آدرس را بعنوان آدرس خودش فرض ميكند. آدرس 0. HostID : اين آدرس زماني به كار ميرود كه ماشين ميزبان ، آدرس مشخصة شبكهاي كه بدان متعلق است را نداند. در اين حالت در قسمت NetID مقدار صفر و در قسمت HostID شمارة مشخصة ماشين خود را قرار ميدهد.
آدرس 255.255.255.255: جهت ارسال پيامهاي فراگير براي تمامي ماشينهاي ميزبان بر روي شبكة محلي كه ماشين ارسالكننده به آن متعلق است . آدرس 255NetID. : جهت ارسال پيامهاي فراگير براي تمامي ماشينهاي يك شبكة راه دور كه ماشين ميزبان فعلي متعلق به آن نيست. آدرس 127.xx.yy.zz : اين آدرس بعنوان “آدرس بازگشت” شناخته ميشود و آدرس بسيار مفيدي براي اشكالزدايي از نرم افزار ميباشد.
Subnet یا زیرشبکه 223.1.1.1 • آدرس IP: • قسمت subnet: بیتهای با درجه بالا (سمت چپ) • قسمت host: بیتهای با درجه پایین (سمت راست) • Subnet چیست؟ • واسط دستگاههایی که قسمت subnet درون آدرس IP آنها یکی میباشد. • بدون مداخله هیچ روتری میتوانند با یکدیگر ارتباط برقرار کنند. 223.1.2.1 223.1.1.2 223.1.2.9 223.1.1.4 223.1.2.2 223.1.1.3 223.1.3.27 LAN 223.1.3.2 223.1.3.1 شبکهای شامل سه subnet
Subnet یا زیرشبکه 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.7.0 223.1.9.2 223.1.9.1 223.1.7.1 223.1.8.1 223.1.8.0 223.1.2.6 223.1.3.27 223.1.2.1 223.1.2.2 223.1.3.1 223.1.3.2
کلاسهای آدرس IP • در آدرس دهی با استفاده از کلاسها تعداد بیتهای subnet میبایست 8، 16و یا 24 باشد. • مشکلات: • به عنوان مثال اگر از کلاس C استفاده شود تعداد host ها در یک شبکه بسیار محدود میشود. • اگر از کلاس B استفاده شود برای سازمانهایی که تعداد hostهای نه چندان زیادی دارند تعداد زیادی آدرس IP بلااستفاده میماند. • به عنوان مثال برای شبکه ای با 2000 host کلاس C کافی نیست و در کلاس Bحدود 63000 آدرس خالی میماند.
host part subnet part 11001000 0001011100010000 00000000 200.23.16.0/23 آدرس دهی بدون کلاس یا CIDR CIDR:Classless InterDomainRouting یا مسیریابی بین دامنهای بدون کلاس • قسمت subnet در آدرس IP برخلاف آدرس دهی با کلاس، میتواند هر طول دلخواهی داشته باشد. • فرمت آدرس: a.b.c.d/x که x تعداد بیتهایی است که مربوط به قسمت subnet میباشد.
چگونه IP بدست می آوریم؟ پاسخ: شبکه قسمتی از آدرس را که مربوط به فضای آدرس ISP او است را بدست میآورد. ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20 Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. …. Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23
مسيريابي • وظيفه اصلي لايه شبكه مسير يابي و هدايت بسته ها از منبع به مقصد مي باشد . در بيشتر زير شبكه ها بسته ها براي آنكه به مقصد برسند نياز دارند كه چند پرش انجام دهند. • الگوریتم مسیریابی • الگوريتم مسير يابي بخشي از نرم افزار لايه شبكه است كه تعيين مي كند بسته ورودي به كدام خط خروجي بايد منتقل شود.
الگوريتم مسيريابي • یک الگوریتم مسیریابی می بایست دارای موارد زیر باشد: • صحت • سادگی • تحمل عیب • پایداری • عدالت و بهینگی
ب) از ديدگاه چگونگي جمعآوري و پردازش طلاعات زيرساخت ارتباطي شبكه الف) از ديدگاه روش تصميمگيري و ميزان هوشمندي الگوريتم پويا ايستا غيرمتمركز سراسري / متمركز انواع الگوريتمهاي مسيريابي
عدم توجه به شرايط توپولوژيكي و ترافيك لحظهاي شبكه • جداول ثابت مسيريابي هر مسيرياب در طول زمان • الگوريتمهاي سريع • تنظيم جداول مسيريابي به طور دستي در صورت تغيير توپولوژي زيرساخت شبكه • تغيير مسيرها به کندي در اثناي زمان الگوريتم ايستا • به هنگام سازي جداول مسيريابي به صورت دورهاي بر اساس آخرين وضعيت توپولوژيكي و ترافيك شبكه • تغيير سريع مسيرها • تصميمگيري بر اساس وضعيت فعلي شبكه جهت انتخاب بهترين مسير • ايجاد تأخيرهاي بحراني هنگام تصميمگيري بهترين مسير به جهت پيچيدگي الگوريتم الگوريتم پويا
اطلاع كامل تمام مسيريابها از همبندي شبکه و هزينه هر خط • الگوريتمهاي Link State(LS) الگوريتم سراسري الگوريتم غير متمركز • محاسبه و ارزيابي هزينه ارتباط با مسيريابهاي همسايه (مسيريابهايي كه به صورت مستقيم و فيزيكي با آن در ارتباط هستند) • ارسال جداول مسيريابي توسط هر مسيرياب در فواصل زماني منظم براي مسيريابهاي مجاور • پيچيدگي زماني كم • الگوريتمهايDistance Vector
Routing and Forwarding routing algorithm local forwarding table header value output link 0100 0101 0111 1001 3 2 2 1 value in arriving packet’s header 1 0111 2 3 Network Layer
گراف شبکه 5 3 5 2 2 1 3 1 2 1 x z w y u v Graph: G = (N,E) 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
گراف شبکه: هزینهها 5 3 5 2 2 1 3 1 2 1 x z w y u v • c(x,x’) = هزینه کانال (x,x’) • مثال : c(u,w)=5 • هزینه هر کانال می تواند همواره 1 باشد و یا با • پهنای باند و میزان ازدحام کانال مرتبط باشد. Cost of path (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp) سوال: کم هزینه ترین مسیر بین روتر u و روتر z چیست؟ الگوریتم مسیریابی: الگوریتمی که کم هزینه ترین مسیر را انتخاب می کند. Network Layer
الگوریتم مسیریابی سیل آسا (Flooding) • هر روتر بسته را به همه روترهای مجاور خود ارسال میکند. • سريعترين الگوريتم براي ارسال اطلاعات به مقصد در شبكه • جهت ارسال بستههاي فراگير و كنترلي مانند اعلام جداول مسيريابي • مشکل • ايجاد حلقه بينهايت و از كارافتادن شبكه
الگوریتم سیل آسا • راه حل رفع مشكل حلقه بينهايت • قراردادن شماره شناسايي براي هر بستهSelective Flooding • قراردادن طول عمر براي بستهها B C A E D
الگوریتم حالت لینک (Link State) الگوریتم دیکسترا (Dijkstra): • همه نودها از توپولوژی شبکه و هزینه لینکها با خبر می شوند. • توسط ارسال همگانی بسته های حالت لینک • همه نودها دارای اطلاعات یکسان می باشند • هر نود به صورت جداگانه هزینه خود را تا دیگر نودهای شبکه محاسبه می کند. • بدین وسیله جدول forwarding خود را می سازد. • تکراری (iterative): بعد از k تکرار نود کوتاهترین مسیر خود تا k نود را محاسبه می نماید. • C(x,y): هزینه لینک از نود x به نود y. در صورتی که نودهای x و y همسایه نباشند ∞ است. • D(v): هزینه فعلی مسیر از مبدا به مقصد v • P(v): نود ماقبل در مسیر مبدا تا نود v • N‘: مجموعه نودهایی که کوتاهترین مسیر تا آنها محاسبه شده است. Network Layer
Dijsktra’s Algorithm 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
Dijkstra’s algorithm: example 5 3 5 2 2 1 3 1 2 1 x z w y u v D(v),p(v) 2,u 2,u 2,u D(x),p(x) 1,u D(w),p(w) 5,u 4,x 3,y 3,y D(y),p(y) ∞ 2,x Step 0 1 2 3 4 5 N' u ux uxy uxyv uxyvw uxyvwz D(z),p(z) ∞ ∞ 4,y 4,y 4,y Network Layer
Dijkstra’s algorithm: example (2) x z w u y v destination link (u,v) v (u,x) x y (u,x) (u,x) w z (u,x) Resulting shortest-path tree from u: Resulting forwarding table in u: Network Layer
تمرین (Link State) مبدا نود A Network Layer
الگوریتم بردار فاصله معادله بلمن- فورد: dx(y): هزینه کمترین مسیر از نود x به نود y آنگاه dx(y) = min {c(x,v) + dv(y) } مینیمم بر روی تمامی نودهای v که با x همسایه می باشند اعمال می شود. v Network Layer