25
عات لا طوری ا ا ن ف ی س د ن ه م ده ن ه ه د ئ ارا ر کت د ی ن ي س ح% ن ي م د ا ن س. . hosseini@um ac ir E.mail : Home page : http://hosseini.staffcms.um.ac.ir

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

  • Upload
    tuwa

  • View
    70

  • Download
    2

Embed Size (px)

DESCRIPTION

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

Citation preview

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

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

ارائه دهنده

سيد امين حسينيدکتر [email protected] E.mail:

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

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

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

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

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

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

پروتکلUDP

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

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

TCP پروتکل

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

مرحله اول:

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

اعالم شروع ترتيب داده هاي • به ماشين طرف x+1ارسالي از

مقابل

پيشگيري از مساوي بودن •شماره ترتيب داده هاي ارسالي

به صورت xبا انتخاب مقدار تصادفي

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

روش دست

تکاني سه اي مرحله

: مرحله دوم

ارسال بسته اي خالي رد تقاضاي برقراري ارتباط: • RST=1با بيت

ارسال بسته قبول تقاضاي برقراري ارتباط: •از طرف گيرنده بسته خالي با مشخصات زير

تقاضا:

SYN = 1 بيت•

ACK = 1بيت •

• Acknowledgement = x+1

• Sequence Number = y

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

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

:مرحله سوم

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

•SYN = 1

• ACK = 1

•Acknowledgement Number = y + 1

• Seq. No = x + 1

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

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

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

روند خاتمه TCP ارتباط

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

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

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

از طرف مقابل

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

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

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

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

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

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

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

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

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

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

ها متغيرهاي نظارت بر ارسال داده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 ساختمان داده

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

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

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

4 Kbyte

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

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

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

Kbyte 2 ارسالداده

Kbyte 1 ارسالداده

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

Window Size=2048

Window

Size=2048

Kbyte 2 ارسالداده

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

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

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

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

خواهد بود.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

زمان سنجها

Retransmission Timer

Keep- Alive Timer

Persistence Timer

Quite Timer

Idle Timer

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

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

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

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

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

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

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

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

Retransmission Timer زمان سنج

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

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

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

Keep- Alive Timer

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

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

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

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

ت هج

ن ز اي

مايت

تحال

و د

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

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

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

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

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

( 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

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

Quite Timer

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

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

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

مقصد به شبکه

Idle Timer

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

ثانيه است.

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

UDP پروتکل

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

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

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

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

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

مقصد UDPبسته

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

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

UDP Lengthفيلد

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

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

Detination Portفيلد

بيتي16 فيلد •

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

بيتي16 فيلد •

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

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

UDP Checksumفيلد

بيتي16 فيلد •

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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