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

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

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: شبکه هاي کامپيوتري

1

شبکه هاي کامپيوتريفصل پنجم:

(NetworkLayerاليه شبکه )مقدمه، الگوریتم مسیریابی

وحید حقیقت دوستدانشکده فنی و مهندسی دانشگاه شاهد

Page 2: شبکه هاي کامپيوتري

2

وظایف الیه شبکه

انتقال بسته های فرستنده بهگیرنده

پروتکلهای الیه شبکه در تمامی( و مسیریابها hostمیزبانها )

(routerاجرا میگردد ) سه وظیفه اصلی الیه شبکه

عبارتند از:( تعیین مسیرpath

determination:) مسیر انتقال بسته ها از مبدا به

سمت مقصد تعیین میشود )الگوریتم مسیریابی(

( هدایت بسته هاforwarding:) انتقال بسته ورودی به روتر به پورت

خروجی مناسب( برقراری تماسcall setup:)

در برخی معماریهای شبکه نیاز استیک تماس قبل از ارسال بسته ها در مسیر بین فرستنده و گیرنده تنظیم

شود

application

transportnetworkdata linkphysical

networkdata linkphysical

application

transportnetworkdata linkphysical

Page 3: شبکه هاي کامپيوتري

3

وظایف الیه شبکه )ادامه(

در الیه پیوند داده ارتباطات بیندو ایستگاه که روی یک رسانه

مشترک )بصورت منطقی( هستند میپردازد

ولی الیه شبکه ارتباطات بین دومیزبان که بین آنها عناصر

مسیریابی مختلفی وجود دارد میپردازد

( با آدرس 2الیه پیوند داده )الیهفیزیکی که برای هر میزبان

منحصر بفرد است کار میکند ولی الیه شبکه برای شناسایی هر

میزبان از آدرس منطقی استفاده میکند

آدرسهای منطقی در هر شبکهمنحصر بفرد هستند.

الیه شبکه برای رسیدن به اهدافش بایدتوپولوژی زیر شبکه )گراف مسیریابها( را

بداند

application

transportnetworkdata linkphysical

networkdata linkphysical

application

transportnetworkdata linkphysical

Page 4: شبکه هاي کامپيوتري

4

خدمات الیه شبکه خدماتی که الیه شبکه برای الیه انتقال تدارک میبیند با اهداف زیر

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

معتقدند این خدمات باید بدون اتصال باشد

پروسسP1 در میزبان H1 قصد ارتباط با پروسس P2 در میزبان H2دارد .بین این دو میزبان عناصر راه گزینی مختلفی وجود دارد

Page 5: شبکه هاي کامپيوتري

5

Connectionخدمات بدون اتصال یا بی اتصال )less)

،و هر بسته ماهیت مستقل دارد در خدمات بدون اتصالبه زیرشبکه تزریق میشود و هر بسته مستقل از دیگر

بسته ها مسیریابی میشود و برای ارسال نیاز به هماهنگی قبلی وجود ندارد.

و زیر شبکه را داده گرام در این بستر، بسته ها رامیگویندزیرشبکه داده گرام

Routing within a diagram subnet.

Page 6: شبکه هاي کامپيوتري

6

زیر شبکه داده گرام: مدل استفاده شده در اینترنت

packets forwarded using destination host address packets between same source-destination pair may take

different paths

1. Send Data

2. Receive Data

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

Page 7: شبکه هاي کامپيوتري

7

خدمات اتصال گرا نیاز داریم.زیر شبکه مدار مجازی برای خدمات اتصال گرا به در این روش وقتی اتصال برقرار شد، مسیری از ماشین مبدا به

مقصد بعنوان بخشی از تنظیم اتصال انتخاب میشود و در جداول مسیریاب های میانی ذخیره میشود.

:مسیریابها و میزبانها در این روش اقدامات زیر را انجام میدهندنگهداری وضعیت هر یک از اتصاالتدر مسیریابهای میانی( جایگزین کردن برچسب مسیر( )حذف برچسب مسیر )در مسیریاب یا میزبان انتهایی)درج برچسب )در مسیریاب یا میزبان ابتدایی

Routing within a virtual-circuit subnet.

در منابع به این روش راهگزینی نیز label switcingبرچسب

میگویند

Page 8: شبکه هاي کامپيوتري

8

Forwardingجدول هدایت )table)

12 22 32

1 23

VC number

Interface number

Incoming interface Incoming VC # Outgoing interface Outgoing VC #

1 12 3 222 63 1 18 3 7 2 171 97 3 87… … … …

Forwarding table in router a

مسیریابها وضعیت تمامی اتصالها را نگه میدارند

a

Page 9: شبکه هاي کامپيوتري

9

Virtual Circuits: Signaling Protocols فرایندهای مربوط به برقراری، نگهداری و خاتمه دهی به یک

VC در پشته های پروتکلیATM، frame-relay و X.25 استفاده

شده.در اینترنت امروزی استفاده نشده است

1. Initiate call

2. Incoming call3. Accept call

4. Call connected5. Data flow begins

6. Receive data

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

Page 10: شبکه هاي کامپيوتري

10

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

Page 11: شبکه هاي کامپيوتري

11

تحلیل جدول مدارهای مجازی اجازه میدهند بسته ها بجای آدرس کامل، تنها

شماره مدار مجازی را حمل کنند اگر طول پیام کوتاه باشد، حمل آدرس مبدا و مقصد، سربار زیادی

را ایجاد میکند روش اتصال گرا مستلزم آماده سازی اتصال قبل از ارسال است

ولی شناسایی پورت خروجی در مسیریاب ساده تر است در شبکه داده گرام آماده سازی اولیه وجود ندارد ولی یافتن وارده

ای از جدول که حاوی مقصد باشد، روش پیچیده تری احتیاج دارد.

( یا داده گرام virtual circuitمسیر مجازی )(datagram)

مهمترین سرویسهایی که توسط این الیه ارائه “میشود عباتند از

الیه شبکه TCP/IPدر پشته پروتکلی خدمات بدون اتصال را ارائه میدهد

Page 12: شبکه هاي کامپيوتري

12

مسائل اصلی در الیه شبکه نام گذاری منطقی

با عنایت به اینکه در آینده بررسی پشته پروتکلیTCP/IP ارائه خواهد شد، این موضوع در فصل بعد

بطور جدی بررسی میگرددالگوریتم مسیریابی

حالت و ”بردار-فاصله“ دو دسته کلی الگوریتمهای”بررسی خواهند شدپیوند“

کنترل ازدحاممطالب مربوط به صف بندی بیان میگردد

Page 13: شبکه هاي کامپيوتري

13

مسیریاب مسیریاب عنصری راهگزین در شبکه است که هر

پورت آن به یک زیر شبکه متصل میباشد. بررسی الزم روی بسته وارد شده به روتر انجام

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

Page 14: شبکه هاي کامپيوتري

14

الگوریتم مسیریابی همانطور که بیان شد، وظیفه اصلی الیه شبکه، هدایت

بسته ها از ماشین مبدا به ماشین مقصد است( در اغلب زیر شبکه ها بسته ها باید چند جهشhop )

انجام دهند تا به مقصد برسند ،در حاالتی که مبدا و مقصد در یک شبکه نباشند

مسیریابی باید انجام شود“A” “B”

How does R choose a next-hop on the path towards host B?

R

Page 15: شبکه هاي کامپيوتري

15

خواص الگوریتم مسیریابی صرفنظر از اینکه آیا مسیرها برای هر بسته بطور

مستقل انتخاب شود و یا وقتی اتصال جدیدی در حال شکل گیری است )در ارتباطات اتصال گرا(

خواص زیر باید در الگوریتم وجود داشته باشد:( صحتCorrectness)( سهولتSimplicity)( تحمل عیبrobustness)( پایداریstability)( عدالت و بهینگیfairness & optimality)

Page 16: شبکه هاي کامپيوتري

16

( صحتCorrectness) باید اقدامات صورت گرفته برای هدایت بسته در نهایت منتج به رسیدن

بسته به مقصد گردد( سهولتSimplicity)

باتوجه به محدودیتهای حافظه و توان پردازشی در مسیریابها و از طرفدیگر حجم باالی ترافیک عبوری از هر مسیریاب باید الگوریتمهای مسیریابی

دارای پیچیدگی پایین باشند( تحمل عیبrobustness)

انتظار میرود که شبکه های بزرگ، سالها بدون عیب به کار خود ادامه دهند در این مدت ممکن است اشکاالت سخت افزاری و نرم افزاری گوناگونی

حادث شوند و توپولوژی چندین بار تغییر پیدا کند، الگوریتم مسیریابی باید بتواند بدون توقف کار کند و از عهده برخورد با تغییرات در شبکه برآید

( پایداریstability) چنانچه تغییری در شرایط اتصاالت ایجاد نشود باید الگوریتم مسیریابی

همگرا گردد ( عدالت و بهینگیfairness & optimality)

الگوریتم باید به نحوی عمل کند تا توازن بار روی تمامی مسیریابها ولینکهای ارتباطی وجود داشته باشد

Page 17: شبکه هاي کامپيوتري

17

1

23

128.9.16.14

dest. IP addr. in arrivingpacket’s header

routing algorithm

local forwarding tabledest. net.

addr.Output port

65/8128.9/16128.9.16/20128.9.19/24

3221

forwarding و routingساز و کار

Page 18: شبکه هاي کامپيوتري

18

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( }

Graphمدلسازی زیر شبکه با

z

2

2

13

1

1

2

53

5

y

wv

u

x

Page 19: شبکه هاي کامپيوتري

19

: هزینه ها Graphمدلسازی (costs)

z

2

2

13

1

1

2

53

5

Cost of path )x1, x2, x3,…, xp( = c)x1,x2( + c)x2,x3( + … + c)xp-1,xp(

چیست ؟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?(

y

wv

u

x

Page 20: شبکه هاي کامپيوتري

20

: راهکار ساده لوحانه1تکنیک

:مزایابسیار سادهتمامی مقصدها در شبکه در دسترس هستند

معایب:برخی روترها یک بسته را چندین بار دریافت میکنندممکن است بسته ها برای همیشه درون یک حلقه گرفتار شوندغیرکارآمد است

بسته ورودی را در تمامی پورتهای خروجی بجز (: Flood سیل آسا )پورتی که بسته از آن وارد شده ارسال کنیم

R

Page 21: شبکه هاي کامپيوتري

21

Spanningدرختهای پوشا )Trees)

یافتن کم هزینه ترین مسیر از تمامی گره هایسوال: (R1, …, R7 به )R8.

1 1 4

2

4

2 2 3

23

R1

R2

R3

R4

R5

R6

R7

R8

“B”

“A”

Page 22: شبکه هاي کامپيوتري

22

یک درخت پوشا

یک راه حل یافتن درخت پوشا که ریشه آن R8.است میباشدخاصیت درخت این است که در آن حلقه وجود ندارد خاصیت پوشا بودن به این معنی است که تمامی گره ها را در بر

میگیرد:دو الگوریتم اصلی در این خصوص مورد بررسی قرار میگیرند

( الگوریتم بلمن فوردBellman-Ford با عنوان )( بردار فاصلهDistance Vector )

( الگوریتم کوتاهترین مسیر دگستراDijkstra’s shortest path first با ) (Link Stateحالت پیوند )عنوان

1 1 4

2

4

2 2 3

23

R1

R3 R5

R7

R8

Page 23: شبکه هاي کامپيوتري

23

دسته بندی های مختلف الگوریتم های 1مسیریابی

( بصورت مرکزیCentralized در مقایسه با توزیع )(Distributedشده )

:یک گره اطالعات را جمع آوری میکند و سپس مرکزیاطالعات مسیریابی )جداول مسیریابی( را برای تمامی گره ها

ارسال میدارد :تمامی گره ها با یکدیگر برای تکمیل جدول توزیع شده

مسیریابی همکاری میکنند

( مسیریابی توسط مبداSource based در مقایسه با )(hop by hopگام به گام )

Source routing : بسته های دیتا حاوی گام بعدی در خودهستند

Hop by hop : در هر گام روتر تصمیم میگیرد که گام بعدیکدامیک از روترهای همسایه هستند.

Page 24: شبکه هاي کامپيوتري

24

دسته بندی های مختلف الگوریتم های 2مسیریابی

( مسیریابی آماریStochastic در مقایسه با ) ( deterministicمسیریابی متقن )

Stochastic : در این روش ممکن است در جدولمسیریابی به ازای یک مسیر مشخص چندین وارده

بعنوان گام بعدی باشند.بصورت تصادفی در هر لحظه یکی از خروجی ها مشخص میشودقابلیت توزیع بار فراهم میگردد

Deterministic همواره برای رسیدن به یک مقصد :فقط یک گزینه برای گام بعدی وجود دارد.

( پویاDynamic( در مقایسه با ایستا )Static)( پویاDynamic: ) مسیریابی براساس اطالعات:

بدست آمده از وضعیت شبکه تعیین و به روز میشود.( ایستاStatic) مسیرها بسیار کند به روز رسانی :

میشوند

Page 25: شبکه هاي کامپيوتري

25

اصل بهینگی صرفنظر از توپولوژی شبکه و ترافیک، برای

تمامی شبکه ها در مسیرهای بهینه حکمی بنام اصل بهینگی وجود دارد

این اصل بیان میکند که اگر مسیریابj در مسیر بهینه i قرار دارد، آنگاه مسیر k تا مسیریاب iاز مسیریاب

نیز مسیرهای بهینه هستند.k تا j و مسیر jتا

Sink tree

Page 26: شبکه هاي کامپيوتري

26

الگوریتم بردار فاصله ) بلمن فورد(:فرضیات ما در خصوص اطالعات موجود در هر روتر

را روترهای همسایه اش روتر آدرس تمامیمیداند

تبادل اطالعات روتر میتواند با همسایگانش بهبپردازد

به دیگر کم هزینه ترین مسیر روتر میتواند به اطالع بردار فاصلهروترهای شبکه را بصورت

همسایگانش برساند روتر بردارهای فاصله را از همسایگانش دریافت

میکند تا دیگر مسیرهای بهینه و گام بعدی روتر اطالعات

میکندبه روز رسانی روترها را

Page 27: شبکه هاي کامپيوتري

27

مثالی از الگوریتم بردار فاصله

(a) . A subnet ) ( b , , , , Input from A I H K and the new routing table forJ.

Page 28: شبکه هاي کامپيوتري

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

:هر گره در شبکه

Page 29: شبکه هاي کامپيوتري

30

infinityمساله بینهایت گرایی )problem)

همانطور که در شکل مشخص است در صورتی قطع شود، گره های B و Aکه ارتباط بین روتر

دیگر متوجه قطع شدن آن نمیشوند. برای حل این روش یک مقدار ماکسی مم برای

فاصله تا یک گره تعیین میشود.

Page 30: شبکه هاي کامپيوتري

31

Link-State Routing )مسیر یابی حالت پیوندAlgorithm)

روش دگسترا هزینه تمامی لینکهای شبکه برای تمامی گره های

شبکه شناخته شده است را بصورت همه فاصله خود تا همسایگانش هر گره

ارسال میکندتمامی مسیریابها پخشی برای توپولوژی کامل هر گره باتوجه به اطالعات دریافتی

را در اختیار داردشبکه طبق الگوریتم دگسترا کوتاهترین مسیر به تمامی

مقصدها محاسبه و جدول مسیریابی تکمیل میگردد

Page 31: شبکه هاي کامپيوتري

32

اصطالحات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(=5C)B,D(=2; C)D,B(=3…

Source=Ap)F(: A-D-E-FD)F(=4

A F

D

C

E

B

1

1

1

2

2

2

53

53

5

3

:مثال

Page 32: شبکه هاي کامپيوتري

33

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

Shortest Pathالگوریتم کوتاهترین مسیر )دگسترا(

v

w

D)v( c)w,v(

D)w(A

n)n+1(/2(times

n =

num

ber

of

nodes

)exc

ept

the s

ourc

e(

Page 33: شبکه هاي کامپيوتري

34

Dijkstra’s Algorithmمثال :

computes least cost paths from node A to all other nodes

Step012345

start NA

ADADE

ADEBADEBC

ADEBCF

D)B(,p)B(2,A-B2,A-B2,A-B2,A-B2,A-B2,A-B

D)C(,p)C(5,A-C

4,A-D-C3,A-D-E-C3,A-D-E-C3,A-D-E-C3,A-D-E-C

D)D(,p)D(1,A-D1,A-D1,A-D1,A-D1,A-D1,A-D

D)E(,p)E(infinity2,A-D-E2,A-D-E2,A-D-E2,A-D-E2,A-D-E

D)F(,p)F(infinityinfinity

4,A-D-E-F4,A-D-E-F4,A-D-E-F4,A-D-E-F

A F

D

C

E

B

1

1

1

2

2

2

53

53

D)v(: Distance )cost( of A to v.P)v(: nodes along path fromA to v.

Page 34: شبکه هاي کامپيوتري

35

مثالی دیگر از اجرای الگوریتم دگسترا

The first 5 steps used in computing the shortest path from A to D. The arrows indicate the working node.

Page 35: شبکه هاي کامپيوتري

36

مقایسه روش بردار فاصله و حالت پیوند

( بردار فاصلهDistance vector) هر روتر اطالعات بردار فاصله خود را برای همسایگانش

ارسال میکند بردار فاصله ارسالی حاوی فاصله هر روتر تا تمامی روترهای

شبکه میباشدمشکل بینهایت گرایی داردروش قدیمی تری است

( حالت پیوندLink-state) هر روتر اطالعات پیوندهای خودش )فاصله تا همسایگانش( را

برای تمامی روترهای شبکه، بصورت همه پخشی ارسال میکند..پروتکلهای جدید از این روش استفاده میکنند