1 / 35

شبکه هاي کامپيوتري

شبکه هاي کامپيوتري. فصل پنجم: لايه شبکه ( NetworkLayer ) مقدمه، الگوریتم مسیریابی. وحید حقیقت دوست دانشکده فنی و مهندسی دانشگاه شاهد. انتقال بسته های فرستنده به گیرنده پروتکلهای لایه شبکه در تمامی میزبانها ( host ) و مسیریابها ( router ) اجرا میگردد سه وظیفه اصلی لایه شبکه عبارتند از:

Download Presentation

شبکه هاي کامپيوتري

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. شبکه هاي کامپيوتري فصل پنجم: لايه شبکه (NetworkLayer) مقدمه، الگوریتم مسیریابی وحید حقیقت دوست دانشکده فنی و مهندسی دانشگاه شاهد

  2. انتقال بسته های فرستنده به گیرنده پروتکلهای لایه شبکه در تمامی میزبانها (host) و مسیریابها (router) اجرا میگردد سه وظیفه اصلی لایه شبکه عبارتند از: تعیین مسیر (path determination): مسیر انتقال بسته ها از مبدا به سمت مقصد تعیین میشود (الگوریتم مسیریابی) هدایت بسته ها (forwarding): انتقال بسته ورودی به روتر به پورت خروجی مناسب برقراری تماس (call setup): در برخی معماریهای شبکه نیاز است یک تماس قبل از ارسال بسته ها در مسیر بین فرستنده و گیرنده تنظیم شود network data link physical وظایف لایه شبکه application transport network data link physical application transport network data link physical

  3. در لایه پیوند داده ارتباطات بین دو ایستگاه که روی یک رسانه مشترک (بصورت منطقی) هستند میپردازد ولی لایه شبکه ارتباطات بین دو میزبان که بین آنها عناصر مسیریابی مختلفی وجود دارد میپردازد لایه پیوند داده (لایه 2) با آدرس فیزیکی که برای هر میزبان منحصر بفرد است کار میکند ولی لایه شبکه برای شناسایی هر میزبان از آدرس منطقی استفاده میکند آدرسهای منطقی در هر شبکه منحصر بفرد هستند. لایه شبکه برای رسیدن به اهدافش باید توپولوژی زیر شبکه (گراف مسیریابها) را بداند network data link physical وظایف لایه شبکه (ادامه) application transport network data link physical application transport network data link physical

  4. خدمات لایه شبکه • خدماتی که لایه شبکه برای لایه انتقال تدارک میبیند با اهداف زیر تهیه شده اند: • لایه شبکه پایین ترین لایه ای است که با انتقال انتها به انتها سروکار دارد. • خدمات باید مستقل از فناوری باشند • انتقال بسته باید مستقل از تعداد، نوع و توپولوژی مسیریابها باشد • آدرس دهی میزبانها باید براساس اصول منطقی باشد • گروهی اعتقاد دارند این لایه باید خدمات اتصال گرا ارائه دهد و برخی معتقدند این خدمات باید بدون اتصال باشد • پروسس P1 در میزبان H1 قصد ارتباط با پروسس P2 در میزبان H2 دارد • بین این دو میزبان عناصر راه گزینی مختلفی وجود دارد.

  5. خدمات بدون اتصال یا بی اتصال (Connection less) • در خدمات بدون اتصال، هر بسته ماهیت مستقل دارد و به زیرشبکه تزریق میشود و هر بسته مستقل از دیگر بسته ها مسیریابی میشود و برای ارسال نیاز به هماهنگی قبلی وجود ندارد. • در این بستر، بسته ها را داده گرام و زیر شبکه را زیرشبکه داده گرام میگویند Routing within a diagram subnet.

  6. application transport network data link physical application transport network data link physical زیر شبکه داده گرام: مدل استفاده شده در اینترنت • packets forwarded using destination host address • packets between same source-destination pair may take different paths 2. Receive Data 1. Send Data

  7. خدمات اتصال گرا • برای خدمات اتصال گرا به زیر شبکه مدار مجازی نیاز داریم. • در این روش وقتی اتصال برقرار شد، مسیری از ماشین مبدا به مقصد بعنوان بخشی از تنظیم اتصال انتخاب میشود و در جداول مسیریاب های میانی ذخیره میشود. • مسیریابها و میزبانها در این روش اقدامات زیر را انجام میدهند: • نگهداری وضعیت هر یک از اتصالات • جایگزین کردن برچسب مسیر (در مسیریابهای میانی) • حذف برچسب مسیر (در مسیریاب یا میزبان انتهایی) • درج برچسب (در مسیریاب یا میزبان ابتدایی) • در منابع به این روش راهگزینی برچسب label switcing نیز میگویند Routing within a virtual-circuit subnet.

  8. Incoming interface Incoming VC # Outgoing interface Outgoing VC # 1 12 3 22 2 63 1 18 3 7 2 17 1 97 3 87 … … … … جدول هدایت (Forwarding table) VC number a 22 32 12 3 1 2 Interface number مسیریابها وضعیت تمامی اتصالها را نگه میدارند Forwarding table in router a

  9. فرایندهای مربوط به برقراری، نگهداری و خاتمه دهی به یک VC در پشته های پروتکلی ATM، frame-relay و X.25استفاده شده در اینترنت امروزی استفاده نشده است. application transport network data link physical application transport network data link physical Virtual Circuits: Signaling Protocols 6. Receive data 3. Accept call 2. Incoming call 5. Data flow begins 4. Call connected 1. Initiate call

  10. مقایسه زیر شبکه داده گرام و زیر شبکه مدار مجازی

  11. تحلیل جدول • مدارهای مجازی اجازه میدهند بسته ها بجای آدرس کامل، تنها شماره مدار مجازی را حمل کنند • اگر طول پیام کوتاه باشد، حمل آدرس مبدا و مقصد، سربار زیادی را ایجاد میکند • روش اتصال گرا مستلزم آماده سازی اتصال قبل از ارسال است ولی شناسایی پورت خروجی در مسیریاب ساده تر است • در شبکه داده گرام آماده سازی اولیه وجود ندارد ولی یافتن وارده ای از جدول که حاوی مقصد باشد، روش پیچیده تری احتیاج دارد. مهمترین سرویسهایی که توسط این لایه ارائه میشود عباتند از“ مسیر مجازی (virtual circuit) یا داده گرام (datagram) در پشته پروتکلی TCP/IP لایه شبکه خدمات بدون اتصال را ارائه میدهد

  12. مسائل اصلی در لایه شبکه • نام گذاری منطقی • با عنایت به اینکه در آینده بررسی پشته پروتکلی TCP/IP ارائه خواهد شد، این موضوع در فصل بعد بطور جدی بررسی میگردد • الگوریتم مسیریابی • دو دسته کلی الگوریتمهای ”بردار-فاصله“ و ”حالت پیوند“ بررسی خواهند شد • کنترل ازدحام • مطالب مربوط به صف بندی بیان میگردد

  13. مسیریاب • مسیریاب عنصری راهگزین در شبکه است که هر پورت آن به یک زیر شبکه متصل میباشد. • بررسی لازم روی بسته وارد شده به روتر انجام میگیرد و باتوجه به آدرس مقصد، در زیر شبکه مناسب قرار داده میشود.

  14. الگوریتم مسیریابی • همانطور که بیان شد، وظیفه اصلی لایه شبکه، هدایت بسته ها از ماشین مبدا به ماشین مقصد است • در اغلب زیر شبکه ها بسته ها باید چند جهش (hop) انجام دهند تا به مقصد برسند • در حالاتی که مبدا و مقصد در یک شبکه نباشند، مسیریابی باید انجام شود “A” “B” R How does R choose a next-hop on the path towards host B?

  15. خواص الگوریتم مسیریابی • صرفنظر از اینکه آیا مسیرها برای هر بسته بطور مستقل انتخاب شود و یا وقتی اتصال جدیدی در حال شکل گیری است (در ارتباطات اتصال گرا) خواص زیر باید در الگوریتم وجود داشته باشد: • صحت (Correctness) • سهولت(Simplicity) • تحمل عیب(robustness) • پایداری(stability) • عدالت و بهینگی(fairness & optimality)

  16. صحت (Correctness) • باید اقدامات صورت گرفته برای هدایت بسته در نهایت منتج به رسیدن بسته به مقصد گردد • سهولت(Simplicity) • باتوجه به محدودیتهای حافظه و توان پردازشی در مسیریابها و از طرف دیگر حجم بالای ترافیک عبوری از هر مسیریاب باید الگوریتمهای مسیریابی دارای پیچیدگی پایین باشند • تحمل عیب(robustness) • انتظار میرود که شبکه های بزرگ، سالها بدون عیب به کار خود ادامه دهند • در این مدت ممکن است اشکالات سخت افزاری و نرم افزاری گوناگونی حادث شوند و توپولوژی چندین بار تغییر پیدا کند، الگوریتم مسیریابی باید بتواند بدون توقف کار کند و از عهده برخورد با تغییرات در شبکه برآید • پایداری(stability) • چنانچه تغییری در شرایط اتصالات ایجاد نشود باید الگوریتم مسیریابی همگرا گردد • عدالت و بهینگی(fairness & optimality) • الگوریتم باید به نحوی عمل کند تا توازن بار روی تمامی مسیریابها و لینکهای ارتباطی وجود داشته باشد

  17. ساز و کار routing و forwarding routing algorithm local forwarding table dest. net. addr. Output port 65/8 128.9/16 128.9.16/20 128.9.19/24 3 2 2 1 dest. IP addr. in arriving packet’s header 1 2 3 128.9.16.14

  18. مدلسازی زیر شبکه با Graph w x y z v u 5 3 5 2 2 1 3 1 2 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) } 1

  19. مدلسازی Graph : هزینه ها (costs) w x y v z u • c(x,x’) = cost of link (x,x’) • e.g., c(w,z) = 5 • cost could always be 1, or inversely related to • Inverse of bandwidth, • congestion level & queue length • Stability (Is path up or down?) 5 3 5 2 2 1 3 1 2 1 Cost of path (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp) سوال: کوتاه ترین مسیر بین دو گره u و z چیست ؟ الگوریتم مسیریابی پاسخ این سوال را خواهد داد

  20. R تکنیک 1: راهکار ساده لوحانه سیل آسا (Flood): بسته ورودی را در تمامی پورتهای خروجی بجز پورتی که بسته از آن وارد شده ارسال کنیم • مزایا: • بسیار ساده • تمامی مقصدها در شبکه در دسترس هستند • معایب: • برخی روترها یک بسته را چندین بار دریافت میکنند • ممکن است بسته ها برای همیشه درون یک حلقه گرفتار شوند • غیرکارآمد است

  21. درختهای پوشا (Spanning Trees) سوال: یافتن کم هزینه ترین مسیر از تمامی گره های (R1, …, R7) به R8. “A” R2 R4 R6 1 1 4 R1 2 3 2 R7 2 R5 R3 3 2 R8 4 “B”

  22. یک درخت پوشا • یک راه حل یافتن درخت پوشا که ریشه آن R8است میباشد. • خاصیت درخت این است که در آن حلقه وجود ندارد • خاصیت پوشا بودن به این معنی است که تمامی گره ها را در بر میگیرد • دو الگوریتم اصلی در این خصوص مورد بررسی قرار میگیرند: • الگوریتم بلمن فورد (Bellman-Ford) با عنوان بردار فاصله (Distance Vector ) • الگوریتم کوتاهترین مسیر دگسترا (Dijkstra’s shortest path first ) با عنوان حالت پیوند (Link State) 1 1 4 R1 2 3 2 R7 2 R5 R3 3 2 R8 4

  23. دسته بندی های مختلف الگوریتم های مسیریابی 1 • بصورت مرکزی (Centralized) در مقایسه با توزیع شده (Distributed) • مرکزی: یک گره اطلاعات را جمع آوری میکند و سپس اطلاعات مسیریابی (جداول مسیریابی) را برای تمامی گره ها ارسال میدارد • توزیع شده: تمامی گره ها با یکدیگر برای تکمیل جدول مسیریابی همکاری میکنند • مسیریابی توسط مبدا (Source based) در مقایسه با گام به گام (hop byhop) • Source routing: بسته های دیتا حاوی گام بعدی در خود هستند • Hop by hop: در هر گام روتر تصمیم میگیرد که گام بعدی کدامیک از روترهای همسایه هستند.

  24. دسته بندی های مختلف الگوریتم های مسیریابی 2 • مسیریابی آماری (Stochastic) در مقایسه با مسیریابی متقن (deterministic) • Stochastic: در این روش ممکن است در جدول مسیریابی به ازای یک مسیر مشخص چندین وارده بعنوان گام بعدی باشند. • بصورت تصادفی در هر لحظه یکی از خروجی ها مشخص میشود • قابلیت توزیع بار فراهم میگردد • Deterministic:همواره برای رسیدن به یک مقصد فقط یک گزینه برای گام بعدی وجود دارد. • پویا (Dynamic) در مقایسه با ایستا (Static) • پویا (Dynamic) ::مسیریابی براساس اطلاعات بدست آمده از وضعیت شبکه تعیین و به روز میشود. • ایستا (Static): مسیرها بسیار کند به روز رسانی میشوند

  25. اصل بهینگی • صرفنظر از توپولوژی شبکه و ترافیک، برای تمامی شبکه ها در مسیرهای بهینه حکمی بنام اصل بهینگی وجود دارد • این اصل بیان میکند که اگر مسیریاب j در مسیر بهینه از مسیریاب i تا مسیریاب k قرار دارد، آنگاه مسیر i تا j و مسیر j تا k نیز مسیرهای بهینه هستند. Sink tree

  26. الگوریتم بردار فاصله ( بلمن فورد):فرضیات ما در خصوص اطلاعات موجود در هر روتر • روتر آدرس تمامی روترهای همسایه اش را میداند • روتر میتواند با همسایگانش به تبادل اطلاعات بپردازد • روتر میتواند کم هزینه ترین مسیر به دیگر روترهای شبکه را بصورت بردار فاصله به اطلاع همسایگانش برساند • روتر بردارهای فاصله را از همسایگانش دریافت میکند • روتر اطلاعات مسیرهای بهینه و گام بعدی تا دیگر روترها را به روز رسانی میکند

  27. مثالی از الگوریتم بردار فاصله (a) A subnet. (b) Input from A, I, H, K, and the new routing table for J.

  28. بصورت تکراری و غیر همزمان: هر تکرار در هر گره بدلایل زیر رخ میدهد: هزینه لینک محلی تغییر یابد دریافت پیام از همسایه که منجر به تغییر هزینه ها شود Distributed: هر گره به محض تغییر در بردار فاصله خود تا یکی از روترهای شبکه سریعاً آنرا به همسایگانش اطلاع میدهد الگوریتم کلی مسیریابی بردار فاصله هر گره در شبکه: wait for (change in local link cost or message from neighbor) recompute distance table if least cost path to any destination has changed, notify neighbors

  29. مساله بینهایت گرایی (infinity problem) • همانطور که در شکل مشخص است در صورتی که ارتباط بین روتر A و B قطع شود، گره های دیگر متوجه قطع شدن آن نمیشوند. • برای حل این روش یک مقدار ماکسی مم برای فاصله تا یک گره تعیین میشود.

  30. مسیر یابی حالت پیوند (Link-State Routing Algorithm) • روش دگسترا • هزینه تمامی لینکهای شبکه برای تمامی گره های شبکه شناخته شده است • هر گره فاصله خود تا همسایگانش را بصورت همه پخشی برای تمامی مسیریابها ارسال میکند • هر گره باتوجه به اطلاعات دریافتی توپولوژی کامل شبکه را در اختیار دارد • طبق الگوریتم دگسترا کوتاهترین مسیر به تمامی مقصدها محاسبه و جدول مسیریابی تکمیل میگردد

  31. 5 5 3 C B 2 5 3 A 1 2 3 F 1 2 E D 1 اصطلاحات • N:مجموعه گره هایی که فاصله تا آنها از مسیریاب A بینهایت نیست. • c(i,j):هزینه لینک از گره i تا گره j. اگر دو گره همسایه مستقیم نباشند این هزینه بینهایت است. • p(v):گره های قرار گرفته از راس مبدا تا مقصد v • D(v):مقدار صحیح از هزینه بین راس مبدا و راس مقصد v مثال: N: A, B, C, D, E, F C(A,C)=5; C(C,A)=5 C(B,D)=2; C(D,B)=3 … Source=A p(F): A-D-E-F D(F)=4

  32. v c(w,v) D(v) w A D(w) الگوریتم کوتاهترین مسیر Shortest Path (دگسترا) 1 Initialization: 2 N = {A} 3 for all nodes v 4 if v adjacent to A 5 then D(v) = c(A,v) 6 else D(v) = infinity 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 n = number of nodes (except the source) n(n+1)/2) times

  33. 5 3 C B 2 5 3 A 1 2 F 1 2 E D 1 Dijkstra’s Algorithm: مثال computes least cost paths from node A to all other nodes D(F),p(F) infinity infinity 4,A-D-E-F 4,A-D-E-F 4,A-D-E-F 4,A-D-E-F D(C),p(C) 5,A-C 4,A-D-C 3,A-D-E-C 3,A-D-E-C 3,A-D-E-C 3,A-D-E-C D(B),p(B) 2,A-B 2,A-B 2,A-B 2,A-B 2,A-B 2,A-B D(E),p(E) infinity 2,A-D-E 2,A-D-E 2,A-D-E 2,A-D-E 2,A-D-E Step 0 1 2 3 4 5 start N A AD ADE ADEB ADEBC ADEBCF D(D),p(D) 1,A-D 1,A-D 1,A-D 1,A-D 1,A-D 1,A-D D(v): Distance (cost) of A to v. P(v): nodes along path fromA to v.

  34. مثالی دیگر از اجرای الگوریتم دگسترا The first 5 steps used in computing the shortest path from A to D. The arrows indicate the working node.

  35. مقایسه روش بردار فاصله و حالت پیوند • بردار فاصله (Distance vector) • هر روتر اطلاعات بردار فاصله خود را برای همسایگانش ارسال میکند • بردار فاصله ارسالی حاوی فاصله هر روتر تا تمامی روترهای شبکه میباشد • مشکل بینهایت گرایی دارد • روش قدیمی تری است • حالت پیوند (Link-state) • هر روتر اطلاعات پیوندهای خودش (فاصله تا همسایگانش) را برای تمامی روترهای شبکه، بصورت همه پخشی ارسال میکند. • پروتکلهای جدید از این روش استفاده میکنند.

More Related