شبکه های محلی -پاورپوینت مسیریابی
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چیست؟
الگوریتم مسیریابی :الگوریتمی که کم هزینه ترین مسیر را انتخاب می کند.
442
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خود را می
سازد.
445
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همسایه می باشند اعمال می شود.
450
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
452
Network Layer
ایده اصلی:
در طی زمان هر نود بردار فاصله خود را برای همسایگانش می فرستد.
هنگامی که نود xبردار فاصله جدیدی را از همسایه اش دریافت می کند ،بردار
فاصله خود را با استفاده از معادله بلمن -فورد به روز می نماید.
for each node y ∊ N
})Dx(y) ← minv{c(x,v) + Dv(y
در طول مدت زمان و ارسالهای متوالی بردارهای فاصله ،تقریب هر نود
از فاصله اش تا نودهای دیگر به کوتاهترین فاصله همگرا می شود.
453
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
454
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