مهندسی فناوری اطلاعات

Preview:

DESCRIPTION

مهندسی فناوری اطلاعات. ارائه دهنده دکتر سيد امين حسيني hosseini@um.ac.ir E.mail: Home page: http://hosseini.staffcms.um.ac.ir. لايه انتقال در شبکه اينترنت. روش برقراري ارتباط در پروتکل TCP روش کنترل جريان داده‌ها در پروتکل TCP زمان سنجها و عملکرد آنها در پروتکل TCP پروتکل UDP. - PowerPoint PPT Presentation

Citation preview

مهندسی فناوری اطالعات

ارائه دهنده

سيد امين حسينيدکتر hosseini@um.ac.ir E.mail:

Home page: http://hosseini.staffcms.um.ac.ir

اليه انتقال در شبکه اينترنت

روش برقراري ارتباط در پروتکلTCP

روش کنترل جريان داده ها در پروتکل TCP

زمان سنجها و عملکرد آنها در پروتکلTCP

پروتکلUDP

روش برقراري ارتباط در

TCP پروتکل

روش دست تکاني سه مرحله اي

مرحله اول:

خالي از داده از طرف شروع کننده ارتباط با TCPارسال9 يک بسته •درون فيلد شماره ترتيب x و قراردادن عددACK=0 و SYN=1بيتهاي

اعالم شروع ترتيب داده هاي • به ماشين طرف 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 ارتباط

از طرف FIN = 1 با بيت TCP ارسال بسته •درخواست کننده اتمام ارسال

موافقت طرف مقابل با اتمام ارتباط يکطرفه و •ادامه ارسال داده توسط آن

قطع ارتباط دو طرفه با يک نمودن مقدار بيت •FIN در آخرين بسته ارسالي و تصديق پايان ارتباط

از طرف مقابل

کنترل جريان TCPدر پروتکل

TCPاستفاده از بافر جهت کنترل جريان داده ها در پروتکل •

بافرشدن داده ها قبل از ارسال به برنامه کاربردي اليه باالتر •

امکان عدم دريافت و ذخيره داده ها توسط برنامه کاربردي •اعالم حجم فضاي آزاد بافر در درمهلت مقرر و پرشدن بافر

به طرف مقابلTCP درهنگام ارسال بسته Windowفيلد

TCPايجاد يک ساختمان داده خاص به ازاي هر ارتباط برقرارشده •و نگهداري اطالعاتي ازآخرين وضعيت ارسال و دريافت جريان

= TCB ساختمان داده بلوک نظارت بر انتقال = =داده ها Transmission Control Block

نام متغير توضيح

ها متغيرهاي نظارت بر ارسال دادهSND.UNA آن برنگشته Ackشمارة ترتيب آخرين بسته اي كه ارسال شده ولي هنوز پيغام

است.

SND.NXT شمارة ترتيب آخرين بايت كه داده ها از آن شماره به بعد در بستة بعدي كه بايد ارسال شود.

SND.WND ميزان فضاي آزاد در بافر ارسال

SND.UP شمارة ترتيب آخرين داده هاي اضطراري كه تحويل برنامة كاربردي شده است.

SND .WL1 Sequence numberمقدار فیلد

SND.WL2 Acknowledgement number مقدار فیلد

SND.PUSH ( شود.Pushشمارة ترتيب آخرين داده هايي كه بايد آني به برنامة كاربردي گسيل )

SND.ISS مقدار اولية شمارندة ترتيب داده هاي دريافتي كه در حين ارتباط بر روي آن شود. توافق مي

ها متغيرهاي نظارت بر دريافت دادهRCV.NXT شمارة ترتيب آخرين بايت در بستة بعدي كه از آن شماره به بعد انتظار دريافت

آنرا دارد.

RCV.WND ميزان فضاي آزاد در بافر دريافت

RCV.UP شمارة ترتيب آخرين داده هاي اضطراري كه براي برنامة طرف مقابل ارسال شده است.

RCV.IRS مقدار اولية شمارندة ترتيب داده هاي ارسالي كه در حين ارتباط بر روي آن توافق شود. مي

متغيرهاي TCP ساختمان داده

فرستنده گيرنده

فضاي بافرگيرنده

4 Kbyte

بافر 2KB گيرنده ميخوانداز

TCPمثال روند کنترل جريان در پروتکل

Window Size=0 متوقف فرستندهشود مي

Kbyte 2 ارسالداده

Kbyte 1 ارسالداده

مجدد احيا اeفرستندهشود مي

Window Size=2048

Window

Size=2048

Kbyte 2 ارسالداده

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

پنجره دوم پنجره .اول بر اساس اعالم گیرنده مقدار می گیرد پنجره•ازدحام است .

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

خواهد بود.

پنجره ازدحام در ابتذا پس از ارتباط مقدار می گیرد و مقدار آن طول •جداکثر یک قطعه که موقع اتصال توافق شده

در موقع مقرر آمد اندازه پنجره به اندازه طول حداکثر قطعه Ackاگر • برابر(.2اضافه می شود)

برابر خواهد شد به 2آمد طول آن Ackاز آن پس هر قطعه که •صورت صعودی رشد می کند.

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

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

کنترل ازدحام TCP در پروتکل thresholdآستانه پارامتر

•TCP پنجره قبلی در نظر می گیرد.2 این پارامتر را عالوه بر

کیلو بایت هست. 64یک پارامتر داخلی هست که مقدار اولیه آن •

گذشته باشد در Ackوقتی پس از ارسال بسته ها که مهلت ارسال •این صورت مقدار آستانه نصف پنجره ازدحام می شود و مقدار پنجره

بسته.1ازدحام به مقدار اولیه خودش یعنی حداکثر

در این الگوریتم رشد نمائی ازدحام تا حد اکثر پارامتر آستانه رشد می • یک بسته نرسد. Ackکندو سپس به صورت خطی ادامه دارد تا اینکه

الگوریتم کنترل ازدحام

به TCPوابستگي عملکرد صحيح پروتکل استفاده درست از زمان سنجها

زمان سنجها

Retransmission Timer

Keep- Alive Timer

Persistence Timer

Quite Timer

Idle Timer

زمان سنجها در TCPپروتکل

Retransmission Timer زمان سنج

پس از برقoراري ارتبoاط و ارسoال بسoته بoراي پروسoه مقصoد, زمان سoنجي (RT مارشoه شoروع بoردد و شoال مي گoرض تنظيم و فعoدار پيش فoا مقoب )

( نرسoيد Ackمعکoوس مي نمايoد کoه اگoر در مهلت مقoرر پيغoام دريoافت بسoته )رخداد انقضاي زمان تکرار روي داده و ارسال مجدد بسته صورت گيرد.

Retransmission

Timeout Event

- عمل ارسال مجدد يک بسته چند بار بايد 1تکرارشود؟

مقدار پيش فرض زمان سنج چه مقدار -2باشد؟

بسيار ساده است اما مشکل Retransmission Timerعملکرد اين زمان سنج در اينجاست که:

روشهاي وفقي و پويابهترين راه تنظيم زمان سنج :

Retransmission Timer زمان سنج

RTT = RTT + (1- )MRT = β RTT β =4, =7/8

يک زمان سنج به ازاي ارسال ب( تنظيمهر بسته و اندازه زمان رفت و برگشت

Mپيغام دريافت بسته =

RTTالف( ايجاد يک متغير حافظه يه نام و مقداردهي آن هنگام برقراري يک

)مقدار بزرگ-از حد اکثر TCPارتباط زمان پاسخ بزرگتر باشد(

الگوريتم

Jacobson

ج( بهنگام شدن مقدار پيش فرض زمان :سنج از رابطه

D= D + (1- ) |RTT-M| RT = RTT+ 4D

β =4, =7/8 , First D =0

Keep- Alive Timer

تبoادل داده • توقoف ارسoال اطالعoات و عoدم TCPعلي رغم فعال و باز بودن ارتباط

قطoع ارتبoاط يکي از طoرفين بoه دليoل خoرابي •سخت افزاري و يا نرم افزاري

بازگشت پيغام دريافت از طرف مقصد

باز و فعال TCP ارتباط است

ت هج

ن ز اي

مايت

تحال

و د

عدم بازگشت پيغام دريافت

قطع ارتباط به صورت يکطرفه و آزاد نمودن تمام بافرها

خالي از داده از طرف فرستنده اطالعات TCPارسال بسته Keep- Alive Timerبراي مقصد با استفاده از زمان سنج

(45تا 30پيش فرض بين )زمان ثانيه

( Window Size= 0 مقoدار فضoاي بoافر آزاد يکي از طoرفين ارتبoاط صoفر )• متوقف شدن پروسه طرف مقابل

خoالي شoدن مقoداري از فضoاي بoافر پoر شoده بعoد از مoدتي اعالم •توسoط و متوقoف شoده بلوکoه پروسoه احيoاي بoافر جهت آزادشoدن فضoاي

سيستم عامل و شروع و ادامه ارسال پروسه متوقف شده

در فواصل زماني منظم با استفاده از زمان سنج TCPارسال بسته Persistence Timer پس از آزاد شدن فضاي بافر براي پروسه

بلوکه شده جهت احيا و ادامه ارسال داده توسط آن

Persistence Timer

Quite Timer

با شماره پورت خاص تا مدت زمان TCPهنگام بسته شدن يک ارتباط 30مقدار پيش فرض = تعيين مي نمايد )Quite Timerمعيني که زمان سنج

( هيچ پروسه اي اجازه استفاده از شماره پورت بسته شده را ثانيه120تا ندارد.

سرگردان هاي بسته رسيدن جهتدر موجود يافته پايان ارتباط از ناشي

مقصد به شبکه

Idle Timer

اگر تالش براي تکرار ارسال يک بسته بيش از حد متعارف انجام شود ارتباط TCP 360 را بصورت يکطرفه رها کرده و قطع مي نمايد. مقدارمعمول آن

ثانيه است.

UDP پروتکل

(Connectionless) پروتکل بدون اتصال•

پروتکل ساده و سريع •

FTP وDNS کاربرد در سيستم هاي •

ارسال بسته به مقصد بدون اطمينان ازبرقراري

ارتباط و آماده بودن ماشين مقصد

UDPبسته

فيلدهاي بسته UDP

UDP Lengthفيلد

Source Portفيلد بيتي16فيلد •

مشخص کننده آدرس پورت •پروسه مبدأ

Detination Portفيلد

بيتي16 فيلد •

مشخص کننده آدرس پورت •پروسه مقصد

بيتي16 فيلد •

بر حسب بايت )شامل UDP طول بسته •سرآيند و داده ها(

UDP Checksumفيلد

بيتي16 فيلد •

درج کد کشف خطا در اين فيلد•

ارسoال • )جهت اختيoاري فيلoد مقoدار تصoوير و صoدا ديجيتoال

تمام بيتها صفر (

= پروسه هايي که عمليات آنها مبتني بريک UDPمناسبترين کاربرد پروتکل تقاضا و يک پاسخ مي باشد.

DNS سيستم :مانند

فيلدهاي بسته UDP

Little Edition وBig Editionماشينهاي

ماشين هايي که ابتدا بايت : Big Endianماشين هاي پرارزش و سپس بايت کم ارزش را ذخيره مي کنند

SUNمثل کامپيوترهاي سري

ماشين هايي که ابتدا بايت کم ارزش : little Endianماشين هاي و سپس بايت پرارزش را ذخيره مي کنند مثل کامپيوترهاي

و پنتيوم80X86شخصي با پردازنده سري

ابتدا در حافظه و ارسال از طريق سخت افزار IPتشکيل بسته هاي به يک Big Endian ارسالي از يک ماشين IPشبکه دريافت بسته

و يا برعکس تعويض بايتها و فاقد ارزش Little Endianماشين بودن محتوي بسته دريافتي

را مبنا قرار Big Endian ، استاندارد ماشين هاي TCP/IPپروتکل داده است

Recommended