دانلود - دانشگاه شاهد
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باتوجه به پورت خروجی ،بافر خروجی سرریز رخ خواهد
داد