صفحه 1:
ir فاوری افلامات
UPd
۰
ود ردان
:E.mailh osstin ft un 5
ttp://hosseini.staffcms.um.ac.ir :Home page
ا
فص
2
3
لي
2
2
9
© 7
>
هج 3
2
ل
©
2
2
صفحه 2:
Ly Ly Je ا
اروش برقراري ارتباط در پروتکل 06
لا روش کنترل جریان دادهها در پروتکل ۳۵۵
۵ زمان سنجها و عملکرد آنها در پروتکل
TCR
OOP پروتکل ۵
00۵۵00۵۵0۵۵۵۵۵
صفحه 3:
4 إمبد a
ihe دول رفرادى ااساط در
* لعا
مرحله اول:
* ارسال یک بسته 00 خالي از داده از طرف شروعکننده ارتباط با
يتهاي ۵۷۵2 و 000-0 و قراردادن عدد « درون فیلد شماره ترتیب
هه هه هه هه 0
* اعلام شروع ترتیب دادههاي
ارسالي از ۸6« به ماشین طرف"
مقابل
صفحه 4:
۰ رد تقاضاي برقراري ارتباط: ارسال بستهاي خالي
با بيت ROTA
٠ قبول تقاضاي برقراري ارتباط: ارسال بسته
oleae Des زب از قرف كيرنده بسنه
تقاضا:
بيت 0 2 6۷۵
بیت 0 < 00
0
هه ۵۵ 0۵۵۵۵۵
صفحه 5:
رولمت الى س ey [ep
۰
ها
2
ه11
2
2
2
Le
le
و
هه
4
a
©
Le
2
صفحه 6:
TcP Le sbi
۰ ارسال بسته ۲۵6 با بیت 20 60 از طرف
درخواستکننده اتمام ارسال
۰ موافقت طرف مقابل با اتمام ارتباط یکطرفه و
ادامه ارسال داده توسط آن
Ss ese دورن مقدار پیت
هه ۵۵ 0۵۵۵۵۵
صفحه 7:
الع در رو
وم مس *
* استفاده از بافر جهت کنترل جریان دادهها در پروتکل 7۵۵6
بافرشدن دادهها قبل از ارسال به برنامه كاربردي لایه بالاتر
- امكان عدم دريافت و ذخيره دادهها توسط برنامد کارجوگی
درمهلت مقرر و پرشدن بافر اعلام حجم فضاي آزاد بافر در
فیلد :۵ درهنگام ارسال بسته 7060 به طرف مقابل
- ایجاد یک ساختمان داده خاص به ازاي هر ارتباط برقرارشده POP
و نگهداري اطلاعاتي ازآخرین وضعیت ارسال و دریافت جریان
دادهها < ساختمان داده بلوک نظارت بر انتقال < ۲00
ان ها هه هه 0۵
صفحه 8:
رای مان داد TCP
متغیرهای نظارت بر ارسال دادهها
ان ترتیب آخرین بسته اي که ارسال شده ولي هنوز پیغام ۸61 آن برنگشته
شمارة ترنیب آخرین cub که داده ها از آن شماره به بعد در بستة بعدي که باید
ارسال شود.
مبزان فضاي آزاد در بافر ارسال
شمارة ترتیب آخرین داده هاي اضطراري که تحویل برنامة كاربردي شده است.
مقدار فيلد :ءطتصتنه وعصعديوة 5
Acknowledgement number abs jlaas
شمارة ترتیب آخرین داده هايي که باید آني به برنامة 522515 (Push) JawS
شود.
مقدار اولية شمارندة ترتبب داده هاي دريافتي که در حین ارتباط بر روي آن
توافق ميشود.
متغیرهای نظارت بر دریافت دادهها
شمارة ترتیب آخرین بایت در بستة بعدي که از آن شماره به بعد انتظار دریافت
آنرا دارد.
نام تفیر
5
SND.NXT
‘SND.WND
SND.UP
SND WLI
‘SND.WL2
SND.PUSH
SND.ISS
RCV.NXT.
۵ 0 ۵ ۵ ۵ ۵ ۵ ۵ ۵ ۵ 0 ۵ ۵ ۵ ۵ ۵
صفحه 9:
3
(
2
>
2
>
2
>
1 سج
لي
soe bal
>
2-2
مثال روند كنترل جريان در بروتكل DOP
صفحه 10:
!4( مب
FEP—
برای هر فرستنده دو پنجره در نظر گرفته می شود.
پنجره اول بر اساس اعلام گیرنده مقدار می گیرد . پنجره دوم پنجره "
. ازدحام است
:هر یک از این پنجره ها جد اکتر تعداد بایتهایی را که فرستنده می
توانند ارشال کند را مشخص مى كند. تعداد بايتها مينيمم اين دو
خواهد بود.
“بنجره ازدحام در ابتذا بس از ارتباط مقدار مى كيرد و مقدار آن طول
جداکثر یک قطعه که موقع اتصال توافق شده
"اگر 0:۲ در موقع مقرر آمد اندازه پنجره به اندازه طول حداکثر قطعه
اضافه می شود(2 برابر).
"از آن پس هر قطعه که ۸616 آمد طول آن 2 برابر خواهد شد به
صورت صعودی رشد می کند.
ان هن هه هه 0۵
ای جلوگیری ار ازدحام طول پنجره
صفحه 11:
ud (4)
Ton
ia پارامتر آستانه یه
۰ لینپ ارامتر را علاوه بر 2 پنجره قبلیدر نظر میگیرد.
یک پارامتر داخلی هست که مقدار اولیه آن 64 کیلو بایت هست.
*وقتی پس از ارسال بسته ها که مهلت ارسال 00۲ گذشته باشد در
این صورت مقدار آستانه نصف پنجره ازدحام می شود و مقدار پنجره
ازدحام به مقدار آولیه خودش بعنی حداکثر 1 بسته.
“در این الگوریتم رشد نمائی ازدحام تا حد اکثر پارامتر آستانه رشد می
eet ee و 0 2010 زارد تازاینکه نی یک بسته نرسد.
۵ 0 ۵ ۵ ۵ ۵ ۵ ۵ ۵ ۵ ۵ ۵ ۵ ۵ ۵ ۵
صفحه 12:
۰ 9 ۰ 4 ۰ ۰ ۰ ۰ ۰ 6
۱1۳2 2 Sk ۷ 2 ۱ ۱ (Ee Ave
صفحه 13:
زان چا ده ل ۲0۳
وابستگن عملکرد صحیح پروتگل ۲۵6 به
استفاده درست از زمان سنجها
14
Be
>
ad
a
>
2
>
_ 2
۰
>
4
a
-
2 >
a
صفحه 14:
پس از برفراري ارتباط و ارسال بسته براي پروسه مقصد, زمانس:
ier glade Le (RT) فرض تنظیم و فعال ميگردد و شروع به شمارنث
معکوس مينماید که اگر در مهلت مقرر پیغام دریافت بسته (00۲)) نرسي
>
- لي
2
2
_ 2
>
2
هه
>
@
?
a
a
۰
©
>
صفحه 15:
بهترین راه تنظیم زمان سنج : روشهاي وفقي و پویا
>
لي -
2
2
2 _
>
2
هه
>
>
2-2
>
a
۰
©
>
صفحه 16:
رتم
الف) ایجاد یک متغیر حافظه یه نام 6
و مقداردهي آن هنگام برقراري یک
ارتباط ۲00 (مقدار بزرگ-از حد اکثر
زمان پاسخ بزرگتر باشد)
ب) تنظیم یک زمانسنج به ازاي ارسال
هر بسته و اندازه زمان رفت و برگشٌ
on) Baryon ety فرض زمان
QPP =a RTT + (La 0
جوم ده
8 ورمع ,هد
O= a+ (a) |RTT-O|
QT =RTT+ FO
8 -©, سن , ولح © -©
ان ها هه هه 0۵
صفحه 17:
۰ توقف ارسال اطلاعات و عدم تبادل داده
على رغم فعال و باز بودن ارتباط POP
۰ قطع ارتباط يكي از طرفین به دلیل خرابي
سخت افزاري و یا نرم افزاري
اه هه ۵۵۵۵
pre بازگشت پیغام دریافت
ارتباط به بت یکطرفه و آزاد
صفحه 18:
۰ مقدار فضاي بافر آزاد يكي از طرفین ارتباط 52۳ (0 ۵ سط0)
متوقف شدن پروسه طرف مقایلسه
۰ خالي شدن مقداري از فضاي بافر پر شده بعد از مدتي اعلام
آزادشدن فضاي بافر جهت احياي پروسه بلوکه و متوقف شده توسط
ارسال بسته 2006 در
جهت احبا و ادامه ارسال داده توسط Ol
>
5
2
2
يا
2
2
-2
2
@
?
۰
4
@
2
a
صفحه 19:
Ce Dome
هنكام بسته شدن یک ارتباط ۲0 با شماره پورت خاص تا مدت
= معيني که زمان سنج ۳ ۵9 تعیین مي نماید (مقدار پیش فرض
ثانیه) هیچ پروسه اي اجازه استفاده از شماره پورت بسته شده را 0
=> ندارد.
جهت رسیدن بسته هاي سرگردان ناشي از ارتب
إيان يافته موجود در شبكه به مقصد
ااگر نلاش براي نکرار ارسال یک بسته بیش اژ حد متعارف انجام ۵ شید ارتباط
aa 0 تعمل كد تسكر و نساید. مقدارمعمول أن 0
دام
صفحه 20:
32 Bits
fi pepe ee eae ee a Pe i ee
Source port Destination port
UDP length UDP checksum
صفحه 21:
فلراى بت upp
>
لي -
2
2
2 _
>
2
هه
ه -
4
?
a
a
۰
©
>
صفحه 22:
فلراى بت upp
۰ فیلد 16 بيتي
در كر کشف حطا در اين فیلد
۰ فیلد اختياري (جهت ارسال
«یجیتال صدا و : مقدا
تمام بيتها صفر )
مناسبترين كاربرد يروتكل 006 - بروسه هابي که عملیات آنها مبتني بریک
تقاضا و یک پاسخ ميباشد.
مانند : سیستم 006
>
- لي
2
2
_ 2
>
2
هه
>
@
?
a
a
۰
©
>
صفحه 23:
ماشينهاي مب ,0 : ماشينهايي که ابتدا بایت
پرارزش و سپس بایت کم ارزش را ذخیره ميکنند
کامپيوترهاي سري 600
ماشينهاي فج۵ طا : ماشينهايي که ابتدا بایت کم ارزش وا
سپس بایت پرارزش را ذخیره ميکنند مثل كامپيوترهاي
با پردازنده سري 6065 و پنتیوم
>
- لي
2
2
_ 2
>
2
هه
>
@
?
a
a
۰
©
>
صفحه 24:
تشکیل بستههاي 46 ابتدا در حافظه و ارسالاز طریق سخت افزار
شبکه دریافت بسته ۵ ارسالي از نک ماشین 6 :0 به یک
ماشين مدفه© حلانا bs برعکس تعویض بایتها و فاقد ارزش بودن
مرس سس رس
ry Carta ارد ماشينهاي
0۵۵0۵۵ ۵۵
س
ط
ف
مهند ی ناوری ا العات
اراهئ دهنده
مي حس
ي
ن
کت
س
د ر يد ا ن ي
:E.mail h o s s e in i@ u m .a c .ir
http://hosseini.staffcms.um.ac.ir :Home page
ن
ي
ت
ش
ن
بک
الهي انتقال رد ه ا ر ت
روش برقراري ارتباط در پروتکل TCP
روش کنترل جريان دادهها در پروتکل TCP
زمان سنجها و عملکرد آنها در پروتکل
TCP
پروتکل UDP
ت
ک
روش ربرقاري ارتباط رد رپو ل
TCP
روش دست تکاني سه
مرحلهاي
مرحله اول:
•
ارسال يک بسته TCPخالي از داده از طرف شروعکننده ارتباط با
ِ
بيتهاي SYN=1و ACK=0و قراردادن عدد xدرون فيلد شماره ترتيب
• اعالم شروع ترتيب دادههاي
ارسالي از x+1به ماشين طرف
مقابل
• پيشگيري از مساوي بودن
شماره ترتيب دادههاي ارسالي
با انتخاب مقدار xبه صورت
تصادفي
ن
روش دست ت کا ي هس
رمحلهاي
:مرحله دوم
• رد تقاضاي برقراري ارتباط :ارسال بستهاي خالي
با بيت RST=1
• قبول تقاضاي برقراري ارتباط :ارسال بسته
خالي با مشخصات زير از طرف گيرنده بسته
تقاضا:
• بيت SYN = 1
• بيت ACK = 1
• Acknowledgement = x+1
• Sequence Number = y
ن
حل
روش دست ت کا ي هس رم هاي
:مرحله سوم
تصديق شروع ارتباط از طرف شروعکننده ارتباط با قراردادن
:مقادير زير در بيتهاي
•SYN = 1
• ACK = 1
•Acknowledgement Number = y + 1
• Seq. No = x + 1
روند خاتمه ارتباط TCP
• ارسال بسته TCPبا بيت FIN = 1از طرف
درخواستکننده اتمام ارسال
• موافقت طرف مقابل با اتمام ارتباط يکطرفه و
ادامه ارسال داده توسط آن
• قطع ارتباط دو طرفه با يک نمودن مقدار بيت
FINدر آخرين بسته ارسالي و تصديق پايان ارتباط
از طرف مقابل
ت
ک
ن
ک
ت
Jرل رجيان رد رپو ل
TCP
• استفاده از بافر جهت کنترل جريان دادهها در پروتکل TCP
•
بافرشدن دادهها قبل از ارسال به برنامه کاربردي اليه باالتر
• امکان عدم دريافت و ذخيره دادهها توسط برنامه کاربردي
اعالم حجم فضاي آزاد بافر در
درمهلت مقرر و پرشدن بافر
فيلد Windowدرهنگام ارسال بسته TCPبه طرف مقابل
• ايجاد يک ساختمان داده خاص به ازاي هر ارتباط برقرارشده TCP
و نگهداري اطالعاتي ازآخرين وضعيت ارسال و دريافت جريان
دادهها = ساختمان داده بلوک نظارت بر انتقال = = TCB
Transmission Control Block
مت
غ
ي
خت
راهي سا مان داده TCP
توضيح
نام متغير
متغيرهاي نظارت بر ارسال دادهها
شمارة ترتيب آخرين بسته اي كه ارسال شده ولي هنوز پيغام Ackآن برنگشته
است.
SND.UNA
شمارة ترتيب آخرين بايت كه داده ها از آن شماره به بعد در بستة بعدي كه بايد
ارسال Xشود.
SND.NXT
ميزان Xفضاي آزاد در بافر ارسال
SND.WND
شمارة ترتيب آخرين داده هاي اضطراري كه تحويل برنامة كاربردي شده است.
SND.UP
مقدار فیلد Sequence number
SND .WL1
مقدار فیلد Acknowledgement number
SND.WL2
شمارة ترتيب آخرين داده هايي كه بايد آني به برنامة كاربردي گسيل ()Push
شود.
SND.PUSH
مقدار اولية شمارندة ترتيب داده هاي دريافتي كه در حين ارتباط بر روي آن
توافق ميشود.
SND.ISS
متغيرهاي نظارت بر دريافت دادهها
شمارة ترتيب آخرين بايت در بستة بعدي كه از آن شماره به بعد انتظار دريافت
آنرا دارد.
RCV.NXT
گيرنده
فرستنده
فضاي بافرگيرنده
4 Kbyte
ارسال Kbyte 2داده
Window Size=2048
ارسال Kbyte 2داده
Window Size=0
گيرنده 2KBاز بافر ميخواند
ميشود
فرستنده متوقف
Window
Size=2048
ارسال Kbyte 1داده
مثال روند کنترل جريان در پروتکل TCP
ميشود
فرستنده مجدداً احيا
ت
ک
ن
ک
ت
رل ازدحام رد رپو ل
TCP
• برای هر فرستنده دو پنجره در نظر گرفته می شود.
• پنجره اول بر اساس اعالم گیرنده مقدار می گیرد
ازدحام است .
.
پنجره دوم پنجره
•هر یک از این پنجره ها حد اکثر تعداد بایتهایی را که فرستنده می
توانند ارسال کند را مشخص می کند .تعداد بایتها مینیمم این دو
خواهد بود.
• پنجره ازدحام در ابتذا پس از ارتباط مقدار می گیرد و مقدار آن طول
جداکثر یک قطعه که موقع اتصال توافق شده
•اگر Ackدر موقع مقرر آمد اندازه پنجره به اندازه طول حداکثر قطعه
اضافه می شود( 2برابر).
•از آن پس هر قطعه که Ack
آمد طول آن 2برابر خواهد شد به
صورت صعودی رشد می کند.
لگ یت
ک بس
•اگر بسته ای تصدیق نشود برای جلوگیری ار ازدحام طول پنجره نصف
ت
ک
ن
ک
ت
رل ازدحام رد رپو ل
TCP
پارامتر آستانه threshold
• TCPاXیXنپXXاراXمXتر را عالوه XبXXر 2پXXXنجره XقXبلیدر نXXظر مXیگXXیرد.
•یک پارامتر داخلی هست که مقدار اولیه آن 64کیلو بایت هست.
•وقتی پس از ارسال بسته ها که مهلت ارسال Ackگذشته باشد در
این صورت مقدار آستانه نصف پنجره ازدحام می شود و مقدار پنجره
ازدحام به مقدار اولیه خودش یعنی حداکثر 1بسته.
•در این الگوریتم رشد نمائی ازدحام تا حد اکثر پارامتر آستانه رشد می
کندو سپس به صورت خطی ادامه دارد تا اینکه Ackیک بسته نرسد.
ن
ک
یت
ت
الگور م رل ازدحام
ت
ن
س
ک
ج
TCPزمان ها رد رپو ل
بهTCP وابستگي عملکرد صحيح پروتکل
استفاده درست از زمان سنجها
زمان سنجها
Retransmission Timer
Keep- Alive Timer
Persistence Timer
Quite Timer
Idle Timer
زمان سنج Retransmission Timer
پXس از برقراري ارتباط و ارسXال بسXته براي پروسXه مقصXد ,زمانسنجي
( )RTبXا مقدار پيXش فرض تنظيXم و فعال ميگردد و شروع به شمارش
معکوس مينمايXد کXه اگXر در مهلXت مقرر پيغام دريافXت بسXته ( )Ackنرسيد
رخداد انقضاي زمان تکرار روي داده و ارسال مجدد بسته صورت گيرد.
Retransmission
Timeout Event
زمان سنج Retransmission Timer
عملکرد اين زمان سنج Retransmission Timerبسيار ساده است اما مشکل در
اينجاست که:
-1عمل ارسال مجدد يک بسته چند بار بايد
تکرارشود؟
مXقدار پXXXيشفXXرضزXمانسXXنج چه XمXقدار 2-
بXXاشد؟
بهترين راه تنظيم زمان سنج :روشهاي وفقي و پويا
يت
الگور م
Jacobson
الف) ايجاد يک متغير حافظه يه نام RTT
و مقداردهي آن هنگام برقراري يک
ارتباط ( TCPمقدار بزرگ-از حد اکثر
زمان پاسخ بزرگتر باشد)
ب) تنظيم يک زمانسنج به ازاي ارسال
هر بسته و اندازه زمان رفت و برگشت
بسته =
دريافت
پيغام
مقدارMپيش فرض زمان
شدن
بهنگام
ج)
:سنج از رابطه
RTT = RTT + (1- )M
RT = β RTT
β =4, =7/8
|D= D + (1- ) |RTT-M
RT = RTT+ 4D
β =4, =7/8 , First D =0
Keep- Alive Timer
• توقXف ارسال اطالعات و عدم تبادل داده
علي رغم فعال و باز بودن ارتباط TCP
جهت تمايز
اين دو
حالت
• قطXع ارتباط يکXي از طرفيXن بXه دليXل خرابي
سخت افزاري و يا نرم افزاري
ارسال بسته TCPخالي از داده از طرف فرستنده اطالعات
براي مقصد با استفاده از زمان سنج ( Keep- Alive Timerزمان
پيش فرض بين 30تا 45ثانيه)
بازگشت پيغام دريافت از
طرف مقصد
ارتباط TCPباز و فعال
عدم بازگشت پيغام دريافت
قطع ارتباط به صورت يکطرفه و آزاد
نمودن تمام بافرها
Persistence Timer
• مقدار فضاي بافر آزاد يکي از طرفيXن ارتباط صفر ()Window Size= 0
متوقف شدن پروسه طرف مقابل
اعالم
• خالXي شدن مقداري از فضاي بافXر پXر شده بعXد از مدتي
آزادشدن فضاي بافXر جهXت احياي پروسXه بلوکXه و متوقXف شده توسط
سيستم عامل و شروع و ادامه ارسال پروسه متوقف شده
ارسال بسته TCPدر فواصل زماني منظم با استفاده از زمان سنج
Persistence Timerپس از آزاد شدن فضاي بافر براي پروسه بلوکهشده
جهت احيا و ادامه ارسال داده توسط آن
Quite Timer
هنگام بسته شدن يک ارتباط TCPبا شماره پورت خاص تا مدت زمان
معيني که زمان سنج Quite Timerتعيين مي نمايد (مقدار پيش فرض = 30تا
120ثانيه) هيچ پروسه اي اجازه استفاده از شماره پورت بسته شده را
ندارد.
جهت رسيدن بسته هاي سرگردان ناشي از ارتباط
پايان يافته موجود در شبکه به مقصد
Idle Timer
اگر تالش براي تکرار ارسال يک بسته بيش از حد متعارف انجام شود ارتباط
TCPرا بصورت يکطرفه رها کرده و قطع مينمايد .مقدارمعمول آن 360
ثانيه است.
ت
ک
رپو ل UDP
• پروتکل بدون اتصال ()Connectionless
• پروتکل ساده و سريع
• کاربرد در سيستم هاي DNSو FTP
بسته UDP
ارسال بسته به مقصد
بدون اطمينان ازبرقراري
ارتباط و آماده بودن
ماشين مقصد
ف
بس
يل
ت
داهي ه UDP
فيلد Source Port
• فيلد 16بيتي
• مشخص کننده آدرس پورت
پروسه مبدأ
فيلد Detination Port
• فيلد 16بيتي
• مشخصکننده آدرس پورت
پروسه مقصد
فيلد UDP Length
• فيلد 16بيتي
• طول بسته UDPبر حسب بايت (شامل
سرآيند و دادهها)
فيلد UDP Checksum
ف
بس
يل
ت
داهي ه UDP
• فيلد 16بيتي
• درج کد کشف خطا در اين فيلد
• فيلXد اختياري (جهXت ارسال
ديجيتال صXXدا و تصوير مقدار
تمام بيتها صفر )
مناسبترين کاربرد پروتکل = UDPپروسه هايي که عمليات آنها مبتني بريک
تقاضا و يک پاسخ ميباشد.
مانند :سيستم DNS
ماشينهاي Big Editionو Little Edition
ماشينهاي : Big Endianماشينهايي که ابتدا بايت
پرارزش و سپس بايت کم ارزش را ذخيره ميکنند
مثل کامپيوترهاي سري SUN
ماشينهاي : little Endianماشينهايي که ابتدا بايت کم ارزش و
سپس بايت پرارزش را ذخيره ميکنند مثل کامپيوترهاي
شخصي با پردازنده سري 80X86و پنتيوم
تشکيل بستههاي IPابتدا در حافظه و ارسال از طريق سخت افزار
دريافت بسته IPارسالي از يک ماشين Big Endianبه يک
شبکه
تعويض بايتها و فاقد ارزش بودن
ماشين Little Endianو يا برعکس
محتوي بسته دريافتي
پروتکل ، TCP/IPاستاندارد ماشينهاي Big Endianرا مبنا قرار
داده است