دانلود - دانشگاه شاهد

Download Report

Transcript دانلود - دانشگاه شاهد

‫شبکه هاي کامپيوتري‬
‫مبحث ششم‪ :‬پروتکل ‪TCP/IP‬‬
‫بخش دوم‪ :‬فرمت بسته های ‪IP‬‬
‫وحید حقیقت دوست‬
‫دانشکده فنی و مهندسی دانشگاه شاهد‬
‫‪1‬‬
‫فرمت بسته ‪IP‬‬
‫‪2‬‬
IP protocol version
Number[4bits]
header length
(4Bytes)[4bits]
“type” of data: Priority [3bits]
Delay[1bit]
Throughput[1bit]
Reliability[1bit]
max number
remaining hops
(decremented at
each router)
how much overhead
with TCP?
 20 bytes of TCP
 20 bytes of IP
 = 40 bytes + app
layer overhead
IP ‫فرمت بسته‬
32 bits
head. “type” of
ver
len service
length
fragment
16-bit identifier flags
offset
upper Checksum: 1’s add of
time to
layer 16bits words in header
live
32 bit source IP address
32 bit destination IP address
Options (if any)
data
(variable length,
typically a TCP
or UDP segment)
A packet is unique in Internet by:
Id + S. IP Add + D. IP Add + Upper L.
total datagram
length (1Byte)
fragmentation/
Reassembly/
DF, MF Flags
upper layer
protocol
to deliver
payload to
(rfc 1700)
1 :ICMP
6 :TCP
17 :UDP
e.g. timestamp,
record route
taken, specify
list of routers
to visit.
3
‫تحلیل فیلدهای سرایند بسته ‪IP‬‬
‫‪‬‬
‫فيلد ‪Version‬‬
‫‪‬‬
‫‪‬‬
‫چهار بيت‬
‫مشخص کننده نسخه پروتکل ‪IP‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫فيلد )‪IHL (IP Header Length‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫نسخه شماره ‪ 4‬پروتکل ‪Version= 0100 IP‬‬
‫نسخه شماره ‪ 6‬پروتکل ‪IP‬‬
‫چهار بيتي‬
‫مشخص کننده طول کل سرآيند بسته بر مبناي کلمات ‪ 32‬بيتي‬
‫حدآقل مقدآر فيلد ‪ IHP‬عدد ‪ 5‬آست یعنی ‪ 20=4×5‬بایت‬
‫فيلد ‪Type of sevice‬‬
‫‪‬‬
‫‪‬‬
‫فيلد ‪ 8‬بيتي‬
‫مشخص کننده درخواست سرويس ويژهاي توسط ماشين ميزبان از مجموعه زيرشبکه براي ارسال ديتاگرام‬
‫‪-‬‬
‫‬‫بالآستفاده‬
‫‪R‬‬
‫قابليت‬
‫آطمينان‬
‫‪T‬‬
‫توآن خروحي‬
‫‪D‬‬
‫تاخير‬
‫‪P1‬‬
‫‪P0‬‬
‫تقدم بسته‬
‫قرآردآدن عدد ‪ 1‬توسط ماشين ميزبان در آين بيتها جهت آنتخاب مسير‬
‫مناسب توسط مسيريابها‬
‫‪P2‬‬
‫‪‬‬
‫فيلد ‪Total Length‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫فيلد ‪ 16‬بيتي‬
‫مشخص کننده طول کل بسته ‪( IP‬مجموع اندازه سرايند و ناحيه داده)‬
‫حداک ثر طول کل بسته ‪ 64 kB=65535 ،IP‬بايت میباشد‬
‫فيلد ‪Identification‬‬
‫‪‬‬
‫‪‬‬
‫فيلد ‪ 16‬بيتي‬
‫مشخص کننده شماره يک ديتاگرام واحد‬
‫‪fragmentation‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫با توجه به محدودیت طول بسته ها‪ ،‬ممکن است بسته هنگام ورود به یک شبکه به بسته های کوچک تر شکسته شود‪.‬‬
‫بیتهای ‪ MF ،DF‬و فیلد ‪ Fragment offset‬اطالعات مربوط به خرد شدن بسته ها را در خود نگه میدارند‪.‬‬
‫الف) بيت ‪)Don’t Fragment( DF‬‬
‫با يک شدن اين بيت در يک بسته ‪IP‬هيچ مسيريابي اجازه قطعه قطعه نمودن بسته را ندارد‬
‫ب) بيت ‪)More Fragment( MF‬‬
‫‪ :MF=0‬مشخص کننده اخرين قطعه ‪IP‬از يک ديتاگرام‬
‫‪ :MF=1‬قطعات بعدي از يک ديتاگرام همچنان باقی مانده‬
‫ج) فیلد ‪Fragment offset‬‬
‫‪ 13‬بيتي‬
‫نشان دهنده شماره ترتيب هر قطعه ازيک ديتاگرام شکسته شده‬
‫حداک ثرتعداد قطعات يک ديتاگرام ‪8192‬‬
‫‪‬‬
‫فيلد ‪Time To Live‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫فيلد پروتکل‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫فيلد ‪ 8‬بيتي‬
‫مشخص کننده طول عمر بسته ‪IP‬‬
‫حداک ثر طول عمر بسته ‪IP = 255‬‬
‫نشان دهنده شماره پروتکل اليه باالتر متقاضي ارسال ديتاگرام‬
‫فيلد ‪ 8‬بيتي‬
‫فيلد ‪Header Ckecksum‬‬
‫فيلد ‪ 16‬بيتي‬
‫کشف خطاهاي آحتمالي در سرآيند هر بسته ‪IP‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫جمع كل سرايند به صورت دو بايت دو بايت‬
‫حاصل جمع به روش مكمل يك منفي مي گردد‬
‫قرارگرفتن عدد منفي حاصله در فيلد ‪Header Ckecksum‬‬
‫‪‬‬
‫فيلد ‪Source Address‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫فيلد ‪Destination Address‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫فيلد ‪ 32‬بيتي‬
‫مشخص کننده ادرس ماشين مبدا‬
‫فيلد ‪ 32‬بيتي‬
‫مشخص کننده ادرس ‪IP‬ماشين مقصد‬
‫فيلد آختياري ‪Option‬‬
‫‪‬‬
‫‪‬‬
‫حداک ثر ‪ 40‬بايت‬
‫محتوي اطالعات جهت يافتن مسير مناسب توسط مسيريابها‬
‫شکستن و بازسازی یک بسته ‪IP‬‬
‫)‪(IP Fragmentation & Reassembly‬‬
‫‪‬‬
‫‪fragmentation:‬‬
‫‪in: one large datagram‬‬
‫‪out: 3 smaller datagrams‬‬
‫یکی از مشخصات شبکه ها پارامتر حداک ثر طول بسته ها‬
‫میباشد که با عنوان ‪MTU (max. transfer‬‬
‫)‪ unit size‬معرفی می شود‪.‬‬
‫‪‬‬
‫‪‬‬
‫بسته ‪ IP‬بزرگ به بسته های کوچک تر خرد‬
‫(‪ )fragment‬میشود‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪reassembly‬‬
‫‪9‬‬
‫شبکه ای با لینکها متفاوت ‪ ‬مقادی متفاوت ‪MTU‬‬
‫‪‬‬
‫یک دیتاگرام به چندین دیتاگرام تبدیل میشود‬
‫بازسازی بسته ها در مقصد انتهای ی انجام میشود‬
‫از بیتهای درنظر گرفته شده در سرایند بسته ‪ IP‬برای‬
‫رعایت ترتیب بسته های خرد شده استفاده می شود‪.‬‬
IP Fragmentation and Reassembly
data
0……….3979
20 Byte
Example
 4000 byte datagram
 MTU = 1500 bytes
length ID fragflag
=4000 =x
=0
offset
=0
4000 Bytes
0……….1479
length ID fragflag
=1480 =x
=1
‫ دیتاگرام کوچک تبدیل‬3 ‫یک دیتاگرام بزرگ به‬
‫میشود‬
‫ باشد‬8 ‫ باید ضریب‬fragment ‫طول هر‬
offset
=0
1480…2959
length ID fragflag offset
=1480 =x
=1
=1480
length ID fragflag offset
=1040 =x
=0
=2960
1480=185*8
10
‫سرویس ‪1 - IP‬‬
‫‪‬‬
‫‪‬‬
‫سرویس تحویل ‪ ،IP‬ساده است‬
‫سرویس ارائه شده توسط الیه ‪IP‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫نتیجه‬
‫‪‬‬
‫‪11‬‬
‫بدون اتصال و غیر قابل اطمینان است‬
‫تالش برای بهترین سرویس (‪ )best effort‬میباشد‬
‫غیر قابل اطمینان‪ IP :‬تالشی برای اصالح بسته های با خطا روبرو شده انجام نمیدهد‬
‫بدون اتصال‪ :‬هر بسته (دیتاگرام) بصورت مستقل پردازش میشود و ‪ IP‬توجهی به اینکه ممکن است‬
‫بسته های تبادل شده بین دو میزبان از یک ترتیب منطقی تبعیت کنند‪ ،‬ندارد‪.‬‬
‫تالش برای بهترین سرویس‪ IP :‬هیچ تضمینی برای سرویس ارائه شده نمیدهد (پهنای باند‪ ،‬تاخیر‪،‬‬
‫ترتیب و‪) ...‬‬
‫پروتکلهای الیه های باالتر باید خطای بسته ها را با ارسال مجدد برطرف نمایند‬
2 - IP ‫سرویس‬
‫ سرویس های زیر را ارائه می نماید‬IP ‫پروتکل‬
(unicast)one-to-one :‫ تک پخشی‬
(broadcast)one-to-all :‫ همه پخشی‬
(multicast)one-to-several :‫ چندپخشی‬
12

ICMP ‫پروتکل‬
TCP/IP Protocol Suite
13
ICMP: Internet Control Message Protocol
Type
0
3
3
3
3
3
3
4
8
9
10
11
12
Code description
0
echo reply (ping)
0
dest. network unreachable
1
dest host unreachable
2
dest protocol unreachable
3
dest port unreachable
6
dest network unknown
7
dest host unknown
0
source quench (congestion
control - not used)
0
echo request (ping)
0
route advertisement
0
router discovery
0
TTL expired
0
bad IP header
‫میزبانها و روترها برای تبادل اطالعات شبکه از ان‬
.‫استفاده میکنند‬

،‫ پورت‬،‫ شبکه‬،‫ در دسترس نبودن میزبان‬:‫گزارش خطا‬
‫پروتکل‬
ping ‫درخواست های بازگشتی مانند‬
‫ قرار میگیرند‬IP ‫ درون بسته‬ICMP ‫پیامهای‬
‫ به‬Code ،Type ‫ دارای موارد‬ICMP ‫پیامهای‬
‫بایت) میباشند‬8( ‫همراه ادرس مبدا و مقصد‬




14
ICMP ‫فرمت بسته های‬
TCP/IP Protocol Suite
15
‫توجه‬
‫‪ ICMP‬همواره برای گزارش خطا به منبع استفاده میشود‬
‫‪16‬‬
‫‪TCP/IP Protocol Suite‬‬
‫تعقیب مسیر (‪ )Traceroute‬با استفاده از ‪ICMP‬‬
‫‪‬‬
‫منبع یک سری سگمنت های ‪ UDP‬به سمت‬
‫مقصد ارسال میکند‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫زمانی که ‪ n‬امین دیتاگرام به ‪ n‬امین روتر وارد‬
‫شود‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪17‬‬
‫این سگمنت ها در ابتدا دارای ‪ TTL=1‬هستند‬
‫سپس ‪ TTL=2‬و به همین ترتیب ادامه می یابد‬
‫روتر از دیتاگرام صرفنظر میکند و به سمت مبدا یک پیام‬
‫‪ )type 11, code 0( ICMP‬ارسال میکند‬
‫پیام در برگیرنده نام روتر و ادرس ‪ IP‬ان است‪.‬‬
‫‪ ‬هنگامی که پیام ‪ ICMP‬وارد میشود‪ .‬منبع ‪ RTT‬را‬
‫محاسبه میکند‪.‬‬
‫‪ Traceroute ‬این اقدام را ‪ 30‬بار انجام میدهد‪.‬‬
‫شرط توقف‬
‫‪‬‬
‫سگمنت ‪ UDP‬به میزبان مقصد وارد شود در‬
‫اینصورت مقصد پیام ‪ ICMP‬با نام ‪“host‬‬
‫”‪reachable‬را ارسال میکند‬
‫‪‬‬
‫‪‬‬
‫)‪(type 3, code 3‬‬
‫هنگامی که مبدا این پیام را دریافت میکند توقف خواهد‬
‫کرد‪.‬‬
tracert ‫ استفاده از‬:‫مثال‬
C:\Users\vahid>tracert shahed.ac.ir
Tracing route to shahed.ac.ir [217.218.141.33]
over a maximum of 30 hops:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1 ms
1 ms
2 ms 192.168.1.1
*
*
*
Request timed out.
104 ms 78 ms 65 ms 172.23.133.90
82 ms 78 ms 87 ms 10.132.75.249
56 ms 97 ms 79 ms 10.132.92.35
58 ms 87 ms 78 ms 10.132.92.44
94 ms 80 ms 87 ms 10.21.252.202
*
*
*
Request timed out.
64 ms 79 ms 79 ms 10.21.22.97
*
*
*
Request timed out.
108 ms 126 ms 125 ms 10.22.71.98
*
*
*
Request timed out.
1510 ms 1765 ms 1668 ms 10.73.73.130
2040 ms 1569 ms
*
10.201.22.61
1153 ms 1685 ms 1473 ms 10.201.42.10
101 ms 94 ms 135 ms 10.201.42.9
98 ms 87 ms 89 ms 217.218.189.197
91 ms 123 ms 119 ms 217.218.146.222
106 ms 121 ms 89 ms shahed.ac.ir [217.218.141.33]
Trace complete.
18
‫‪DHCP: Dynamic Host Configuration Protocol‬‬
‫هدف‪:‬‬
‫‪‬‬
‫به میزبانها اجازه میدهد تا بصورت داینامیک هنگامی که به شبکه متصل میشوند‪ IP ،‬بگیرند‬
‫‪‬‬
‫میزبان میتواند ادرس خود را تازه نماید و یک ‪ IP‬جدید از شبکه بگیرد‬
‫‪‬‬
‫به شبکه اجازه داده میشود تا از ادرسها مجدد استفاده شود‬
‫‪‬‬
‫برای اتصال کاربران سیار بسیار مفید است تا بتوانند به شبکه های جدید به راحتی متصل شوند‬
‫مروری بر ‪:DHCP‬‬
‫‪‬‬
‫میزبان پیام ”‪ “DHCP discover‬را برای یافتن ‪ DHCP Server‬بصورت همه پخشی ارسال میکند‬
‫‪‬‬
‫‪ DHCP Server‬با پیام ”‪ “DHCP offer‬پاسخ میزبان را در یک پیام همه پخشی میدهد‬
‫‪‬‬
‫‪‬‬
‫‪19‬‬
‫میزبان پیام درخواست ‪ IP‬را بصورت ”‪ “DHCP request‬برای ‪ DHCP Server‬بصورت یک پیام همه پخشی‬
‫ارسال میکند‬
‫‪ DHCP Server‬در پاسخ ادرس ‪ IP‬را بصورت پیام ”‪ “DHCP ack‬برای میزبان بصورت پیام همه پخشی می فرستد‬
DHCP client-server scenario
DHCP
server
A 223.1.1.1
223.1.1.2
223.1.1.4
B
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
223.1.1.3
223.1.3.1
223.1.3.2
E
arriving DHCP
client needs
address in this
network
20
DHCP client-server scenario
DHCP server: 223.1.2.5
DHCP discover
arriving
client
src : 0.0.0.0, 68
dest.: 255.255.255.255,67
yiaddr: 0.0.0.0
transaction ID: 654
DHCP offer
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 654
Lifetime: 3600 secs
DHCP request
src: 0.0.0.0, 68
dest:: 255.255.255.255, 67
yiaddrr: 223.1.2.4
transaction ID: 655
Lifetime: 3600 secs
time
DHCP ACK
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 655
Lifetime: 3600 secs
Yiaddr: (client) IP address. Server's response to client.
Ciaddr: Client IP address. Filled in by client if it knows it's IP address (from previouse
requests or from manual configurations)
21
‫مروری بر معماری روتر‬
‫دو فرایند کلیدی در روترها‬
‫‪‬‬
‫‪‬‬
‫‪22‬‬
‫اجرای الگوریتم ها و پروتکلهای مسیریابی )‪(RIP, OSPF, BGP‬‬
‫سوئیچ کردن دیتاگرامهای ورودی به لینکهای خروجی‬
‫عملکرد پورت ورودی‬
‫الیه پیوند داده‪:‬‬
‫‪e.g., Ethernet‬‬
‫‪see chapter 5‬‬
‫الیه فیزیکی‪:‬‬
‫‪bit-level reception‬‬
‫فرایند‪ :‬یافتن پورت خروجی با استفاده از جدول مسیریابی‬
‫بافر کردن‪ :‬اگر دیتاگرامی سریعتر از فرایند پردازش و هدایت بسته قبلی وارد شود‪ ،‬باید انرا بافر نماید‬
‫‪23‬‬
‫پورتهای خروجی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪24‬‬
‫بافر کردن (‪ : )Buffering‬زمانی که دیتاگرامهای ی وارد شوند و برای خروج به یک پورت ارسال شوند و سرعت هدایت دیتاگرامها‬
‫سریعتر از سرعت ارسال در پورت خروجی باشد باید بسته ها بافر شوند‬
‫فرایند زمانبندی (‪: )Scheduling discipline‬انتخاب دیتاگرام برای ارسال از بین دیتاگرامهای قرار گرفته در بافر خروجی‬
‫تاخیر صف بندی و از بین رفتن (‪ : )queuing delay and loss‬باتوجه به پورت خروجی‪ ،‬بافر خروجی سرریز رخ خواهد‬
‫داد‬