Upload
jolene-moon
View
89
Download
0
Embed Size (px)
DESCRIPTION
فصل پنجم : لايه انتقال در شبکه اينترنت. مفاهيم لايه انتقال مفهوم پورت و سوکت تشريح پروتکل TCP روش برقراري ارتباط در پروتکل TCP روش کنترل جريان دادهها در پروتکل TCP زمان سنجها و عملکرد آنها در پروتکل TCP پروتکل UDP. هدفهاي آموزشي :. - PowerPoint PPT Presentation
Citation preview
فصل پنجم : اليه انتقال در شبکه اينترنت
مفاهيم اليه انتقال
مفهوم پورت و سوکت
تشريح پروتکلTCP
روش برقراري ارتباط در پروتکل TCP
روش کنترل جريان داده ها در پروتکل TCP
زمان سنجها و عملکرد آنها در پروتکلTCP
پروتکلUDP
: هدفهاي آموزشي
فیزیکی
داده پیوند
شبکه
انتقال
جلسه
نمایش
کاربرد
ای الیه هفت ) OSI (open system interconnectionمدل
شبکه واسط
شبکه
انتقال
کاربرد
ای الیه چهار ) TCP/IP (Transmission control protocolمدل
فیزیکی
داده پیوند
شبکه
انتقال
جلسه
نمایش
کاربرد
شبکه واسط
شبکه
انتقال
کاربرد
TCP/IP
OSI
پروتکلهاي اليه انتقال
TCP
Transmisson Control
Protocol
UDP
User Datagram Protocol
هOدايت و مسOيريابي بسOته هاي اطالعOاتي • از يک ماشين ميزبان به ماشين ديگر
وجOود • بOه احتمOالي مشOکالت حOل عOدم در مسير IPآمده براي بسته هاي
IPاليه
فOراهم آوردن خOدمات سازماندهي شOده, مبتOني •برنامه هOOاي بOراي عامOOل, سيسOOتم اصOOول بOر
کاربردي در اليه باالتر
IPجبران کاستي هاي اليه •
اليه انتقال
کاستي هاي IPاليه
عدم تضمين درآماده بودن •ماشين مقصد جهت دريافت
بسته
برقOراري يOک ارتبOاط و اقOدام بOه •همOاهنگي بين مبOدأ و مقصOد قبOل
از ارسال هر گونه داده
راهکارهاي TCP پروتکل
o عدم تضمين در به ترتيب رسيدن بسته هاي متوالي و داده ها و صحت
آنها
o مارهOOOOOش قOOOOOراردادن ( sequence numberتOOOOرتيب)
براي داده ها
o دOک تنظيم کشOف 16 بيOتي بررسOي مجOدد خطOا در مبOدأ و آن در مقصOد جهت اطمينOان از
صحت داده ها
عدم تنظيم سرعت ارسال و تحويل بسته ها
عدم تمايز در دريافت بسته هاي Duplicationتکراري در مقصد )
Problem)
قرار دادن شماره ترتيب در بسته ارسالي
استفاده از الگوريتم پويا جهت تنظيم مجموعه زمانسنجها
عدم توزيع بسته ها بين پروسه هاي مختلف اجرا شده
بر روي يک ماشين واحد
قراردادن آدرس پورت پروسه فرستنده و گيرنده در سرآيند بسته ارسالي
کاستي هاي IPاليه
راهکارهاي TCP پروتکل
شماره شناسايي مشخص کننده هر پروسه براي برقراري يک ارتباط با پروسه ي ديگر بر روي شبکه
آدرس پورت
Port Protocol Use21 FTP File transfer23 Telnet Remote login25 SMTP E-mail69 TFTP Trivial File Transfer Protocol79 Finger Lookup info about a user80 HTTP World Wide Web
110 POP-3 Remote e-mail access119 NNTP USENET news
شماره پورتهاي استاندارد
آدرس سوکت
و آدرس پورت مشخص کننده يک پروسه يکتا و واحد IPزوج آدرس بر روي هر ماشين در دنيا
(IP Address: Port Number)= Socket Address
193.142.22.121 : 80مثال
ساختار بسته هاي پروتکلTCP
TPDU = Transport Protocol Data Unit = بسته توليد شده در اليه انتقال =TCPقطعه
بسته پروتکل TCP
Sourceفيلد Port• بيتي 16 فيلد
آدرس پورت پروسه مبدأ•
• Email port number : 25
Destination Portفيلد
بيتي16 فيلد •
آدرس پورت پروسه •مقصد
Sequenceفيلد Number
بيتي32 فيلد •
آخرين بايت شماره ترتيب مشخص کننده •قرارگرفته شده در فيلد داده از بسته جاري
درون 1343 : یعنی داده ها تا بایت شماره فیلد داده قرار گرفته اند. این بدان معنا نیست
بایت داده در فیلد داده قرار گرفته 1343که اند. شماره ترتیب اولین بایت یک عدد
شروع نمیشود.0تصادفیست و لزوما از
1343
Acknowledgement Numberفيلد
بيتي32 فيلد •
مشخص کننده شماره ترتيب بايتي که فرستنده •بسته، منتظر دريافت آن است. مثال اگر عدد درون
باشد، فرستنده متوجه میشود که 1000این فیلد بایت توسط گیرنده درست دریافت شده است و 999
ام به بعد می باشد.1000گیرنده منتظر بایتهای
بيتي4فيلد • دراین بیت7 بيتي . مثال عدد 32برمبناي کلمات TCP مشخص کننده طول سرآيند بسته •
بایت است.28مشخص میکند که طول سرایند بسته بایت است.TCP ، 20 : چون قسمت ثابت و اجباری در یک بسته 5 حداقل مقدار = • TCP تعيين کننده محل شروع داده ها در بسته •
TCP Header Lenghtفيلد
URG
ACK
PSH
RST
SYN
FIN
( بیتهای کنترل یا بیتهای درخت کریسمس)Flag بيتهاي
بيتي 6
URGبيت
بيت بالاستفاده جهت استفاده درآينده 6
بيت بالاستفاده 6
نشان دهنده معتبر بودن مقدار موجود در فيلد 1مقدار فيلد = Urgent Pointer
نشان دهنده نا معتبربودن مقدار موجود در فيلد 0مقدار فيلد = Urgent Pointer.که از آن چشمپوشی میشود
URG
ACK
PSH
RST
SYN
FIN
ACK بيت
نشان دهنده معتبر بودن 1مقدار فيلد = Acknowledgement مقدار موجود در فيلد
Number
PSH( (PUSH بيت
نشان دهنده تقاضاي 1مقدار فيلد = فرستنده اطالعات از گيرنده اطالعات جهت
بافرنکردن داده هاي موجود در بسته و تحويل سريع بسته به برنامه هاي کاربردي به منظور انجام
پردازشهاي بعدي)تمرین : مثال بیاورید؟(RSTبيت
نشان دهنده قطع ارتباط به صورت يکطرفه و ناهماهنگ1مقدار فيلد =
SYN بيت
تغيير مقدار اين فيلد جهت برقراري ارتباط توسط ماشين
روند برقراي ارتباطTCP
توسط شروع SYN=1 و =0ACKتنظيم بيتهاي الف( تقاضاي بدون داده )TCPکننده ارتباط در يک بسته
(Connection Requestبرقراري ارتباط =
در صورت ACK=1 و SYN=1 تنظيم بيتهايب(قبول طرف دريافت کننده بسته تقاضاي
برقراري ارتباط به برقراري ارتباط
مشخص کننده قطع و پايان ارسال اطالعات هنگام اتمام نمودن مقدار اين بيت 1داده هاي ارسالي توسط طرفين با
هنگام ارسال آخرين بسته
نمودن مقدار اين فيلد توسط هر دو 1قطع کامل ارتباط: ماشين فرستنده و گيرنده
نمودن مقدار اين فيلد توسط يکي از 1قطع ارتباط يکطرفه: طرفين ارتباط
بيتFIN
مشخص کننده مقدار ظرفيت خالي فضاي بافر گيرنده
Windows Sizeفيلد
Checksumفيلد
بيتي16 فيلد •
حاوي کد کشف •خطا
طريقه محاسبه کد کشف خطا
بيتي ) منهاي 16 به قالبهاي TCP تقسيم کل بسته •( Checksum قسمت
ايجاد يک سرآيند فرضي و تقسيم آن به صورت • بيتي16کلمات
و منفي نمودن 1 جمع تمامي کلمات در مبناي مکمل • و قرارگرفتن عدد حاصل 1عدد حاصل در مبناي مکمل
Checksumدر فيلد
بيتي موجود در 16جمع کل کلمات 0 + سرآيند فرضي = TCPبسته
عدم بروز خطا در حين ارسال داده ها
Source IP Address
Destination IP Address
00000000 00000110 TCP Segment Length
ساختار سرآيند فرضي
ماشين مبدأIP بيت آدرس 32 •
ماشين مقصدIP بيت آدرس 32 •
بيتي کامال� صفر8 يک فيلد •
بيتي پروتکل که براي 8 فيلد •TCP = 6پروتکل
= TCP Segment Length فيلد •TCPطول کل بسته
:checksumمشکالت
•. نمیگیرد درنظر را دیگر الیه از الیه هر درونی جزئیات پنهانسازی و ها الیه تمایز
فيلدOption•فيلد اختياري
شامل مقدار حداکثر طول بسته•
قراردادن کدهاي بي ارزش در •اين فيلد به جهت آنکه طول بسته
باقي بماند4ضريبي از
Urgent Pointerفيلد
اشاره گر به موقعيت داده هاي ) TCPاضطراري موجود در بسته مثل وقفه : این فیلد برای
مشکالتی مانند وقفه که غیرمنتظره هستند، راه حل
ارائه میکند.(
TCPروش برقراري ارتباط در پروتکل
روش دست تکاني سه مرحله اي
مرحله اول:
خالي از داده از طرف شروع کننده ارتباط با TCPارسال� يک بسته •درون فيلد شماره 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در پروتكل
SYN=1
Sequence Number=x1
SYN=1, ACK=1 Sequence Number=y
Sequence Number=x+1
SYN=1, ACK=1 Sequence Number=x+1
Ack.Number=y+1
2
3
روند خاتمه ارتباط 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
SND.WL2
SND.PUSH شمارة ترتيب آخرين داده هايي كه بايد آني به برنامة كاربردي گسيل (Push.شود )
SND.ISS مقدار اولية شمارندة ترتيب داده هاي دريافتي كه در حين ارتباط بر شود. روي آن توافق مي
ها متغيرهاي نظارت بر دريافت دادهRCV.NXT شمارة ترتيب آخرين بايت در بستة بعدي كه از آن شماره به بعد انتظار
دريافت آنرا دارد.
RCV.WND ميزان فضاي آزاد در بافر دريافت
RCV.UP شمارة ترتيب آخرين داده هاي اضطراري كه براي برنامة طرف مقابل ارسال شده است.
RCV.IRS مقدار اولية شمارندة ترتيب داده هاي ارسالي كه در حين ارتباط بر شود. روي آن توافق مي
متغيرهاي ساختمان دادهTCP
فرستنده گيرنده
فضاي بافرگيرنده
4 Kbyte
ميخوانداز بافر 2KB گيرنده
مثال روند کنترل جريان در پروتکل TCP
Window Size=0 فرستنده متوقفشود مي
Kbyte 2 ارسالداده
1 ارسالKbyte داده
ا�فرستنده مجددشود احيا مي
Window Size=2048
Window
Size=2048
Kbyte 2 ارسالداده
زمان سنجها در TCPپروتکل
TCP Timer به TCPوابستگي عملکرد صحيح پروتکل استفاده درست از زمان سنجها
زمان سنجها
Retransmission Timer
Keep- Alive Timer
Persistence Timer
Quite Timer
Idle Timer
Retransmission Timer زمان سنج
مقصOد, پروسOه بOراي بسOته ارسOال و ارتبOاط برقOراري از پس و RTزمان سOنجي ) تنظيم و فعOال مي گOردد بOا مقOدار پيش فOرض )
شOروع بOه شOمارش معکOوس مي نمايOد کOه اگOر در مهلت مقOرر پيغOام ( نرسOيد رخOداد انقضOاي زمOان تکOرار روي داده و AckدريOافت بسOته )
ارسال مجدد بسته صورت گيرد.
Retransmission
Timeout Event
- عمل ارسال مجدد يک بسته چند بار بايد تکرارشود؟1مقدار پيش فرض زمان سنج چه مقدار باشد؟ -2
در شبکه های محلی سریع زمان رفت یک بسته و برگشت پیغام دریافت آن، حدود کسری از میلی ثانیه خواهد بود.
این زمان رفت و برگشت، تا چندین ثانیه ممکن است WANدر شبکه به مقداری کم RTطول بکشد. اگر قرار باشد زمان پیش فرض زمانسنج
تنظیم شود، آنگاه اگر مقصد راه دوری باشد قبل از آنکه بسته بتواند به مقصد برسد مهلت زمانسنج به پایان میرسد و بسته دوباره ارسال
میشود و این کار به طور متوالی انجام میشود و باعث مصرف بیهوده پهنای باند و ترافیک خط می شود. همچنین اگر مقدار زمانسنج مقدار زیادی درنظرگرفته شود در شبکه های کوچکتر هنگام بروز خطا تاخیر
زیادی به وجود می آید.
بسيار ساده است اما Retransmission Timerعملکرد اين زمان سنج مشکل در اينجاست که:
روشهاي وفقي و بهترين راه تنظيم زمان سنج : پويا
RTTnew=RTTold+4*DnewDnew=.Dold+(1-(.(RTTold-M(
=7/8 تواند صفر باشد. ميD همقدار اولي
يک زمان سنج به ازاي ارسال ب( تنظيمهر بسته و اندازه زمان رفت و برگشت
Mپيغام دريافت بسته =
الف( ايجاد يک متغير حافظه يه نام RTT و مقداردهي آن هنگام برقراري
TCPيک ارتباط
الگوريتم Jacobson
ج( بهنگام شدن مقدار پيش فرض :زمان سنج از رابطه
Keep- Alive Timer
تبOادل • عOدم و اطالعOات ارسOال توقOف بOاز بOودن ارتبOاط داده علي رغم فعOال و
TCP
دليOل • بOه طOرفين از يکي ارتبOاط قطOع خرابي سخت افزاري و يا نرم افزاري
بازگشت پيغام دريافت از طرف مقصد
باز و فعال TCP ارتباط است
ت هج
ن ز اي
مايت
تحال
و د
عدم بازگشت پيغام دريافت
قطع ارتباط به صورت يکطرفه و آزاد نمودن تمام بافرها
خالي از داده از طرف فرستنده TCPارسال بسته -Keepاطالعات براي مقصد با استفاده از زمان سنج
Alive Timer 45تا 5پيش فرض بين (زمان( ثانيه
=Window Size مقدار فضاي بافر آزاد يکي از طرفين ارتباط صفر )•( متوقف شدن پروسه طرف مقابل 0
خOالي شOدن مقOداري از فضOاي بOافر پOر شOده بعOد از مOدتي •اعالم آزادشOدن فضOاي بOافر جهت احيOاي پروسOه بلوکOه و متوقOف شOده
توسط سيستم عامل و شروع و ادامه ارسال پروسه متوقف شده
Persistence Timer
در فواصل زماني منظم با استفاده از زمان TCPارسال بسته پس از آزاد شدن فضاي بافر براي Persistence Timerسنج
( جهت احيا و ادامه ارسال داده deadlockپروسه بلوکه شده)توسط آن
Quite Timer
با شماره پورت خاص تا مدت TCPهنگام بسته شدن يک ارتباط مقدار پيش تعيين مي نمايد )Quite Timerزمان معيني که زمان سنج
( هيچ پروسه اي اجازه استفاده از شماره ثانيه120 تا 30فرض = پورت بسته شده را ندارد.
سرگردان هاي بسته رسيدن جهتدر موجود يافته پايان ارتباط از ناشي
مقصد به شبکه
Idle Timer
اگر تالش براي تکرار ارسال يک بسته بيش از حد متعارف انجام شود را بصورت يکطرفه رها کرده و قطع مي نمايد. TCPارتباط
ثانيه است.360مقدارمعمول آن
UDPپروتکل
(Connectionless) پروتکل بدون اتصال•
پروتکل ساده و سريع •
TFTP وDNS کاربرد در سيستم هاي •
ارسال بسته به مقصد بدون اطمينان
ازبرقراري ارتباط و آماده بودن ماشين
مقصد
UDPبسته
فيلدهاي بسته UDP
UDP Lengthفيلد
Source Portفيلد بيتي16فيلد •
مشخص کننده آدرس پورت •پروسه مبدأ
Detination Portفيلد
بيتي16 فيلد •
مشخص کننده آدرس پورت •پروسه مقصد
بيتي16 فيلد •
بر حسب بايت )شامل UDP طول بسته •سرآيند و داده ها(
UDP Checksumفيلد
بيتي16 فيلد •
اين • در کOد کشOف خطOا درج فيلد
فيلOد اختيOاري )جهت ارسOال •ديجيتOال صOدا و تصOوير مقOدار
تمام بيتها صفر (
= پروسه هايي که عمليات آنها مبتني UDPمناسبترين کاربرد پروتکل بريک تقاضا و يک پاسخ مي باشد.
DNS سيستم :مانند
Little Edition وBig Editionماشينهاي
ماشين هايي که ابتدا : Big Endianماشين هاي بايت پرارزش و سپس بايت کم ارزش را ذخيره
SUNمي کنند مثل کامپيوترهاي سري
ماشين هايي که ابتدا بايت کم : little Endianماشين هاي ارزش و سپس بايت پرارزش را ذخيره مي کنند مثل
و پنتيوم80X86کامپيوترهاي شخصي با پردازنده سري
ابتدا در حافظه و ارسال از طريق سخت IPتشکيل بسته هاي Big ارسالي از يک ماشين IPافزار شبکه دريافت بسته
Endian ماشين به يکLittle Endian و يا برعکس تعويض بايتها و فاقد ارزش بودن محتوي بسته دريافتي
را مبنا Big Endian ، استاندارد ماشين هاي TCP/IPپروتکل قرار داده است
و اصول مديريت DNSفصل ششم: سرويس دهنده هاي نام حوزه SNMPشبکه
اصول سرويس دهنده هاي نام
مفهوم نام حوزه و سلسله مراتب نام
روشهاي جستجو در سرويس دهنده هاي نام
پرس و جوي تکراري
پرس و جوي بازگشتي
پرس و جوي معکوس
ساختار بانک اطالعاتي در سرويس دهنده هاي نام
قالب پيام در سرويس دهنده هاي نام حوزه
اصول مديريت شبکه در اينترنت
اصول پروتکل SNMP
: هدفهاي آموزشي