271 likes | 542 Views
مهندسی فناوری اطلاعات. ارائه دهنده دکتر سيد امين حسيني hosseini@um.ac.ir E.mail: Home page: http://hosseini.staffcms.um.ac.ir. لايه انتقال در شبکه اينترنت. مفاهيم لايه انتقال مفهوم پورت و سوکت تشريح پروتکل TCP. لايه انتقال در شبکه اينترنت.
E N D
مهندسی فناوری اطلاعات ارائه دهنده دکتر سيد امين حسيني hosseini@um.ac.irE.mail: Home page:http://hosseini.staffcms.um.ac.ir
لايه انتقال در شبکه اينترنت • مفاهيم لايه انتقال • مفهوم پورت و سوکت • تشريح پروتکل TCP
لايه انتقال در شبکه اينترنت • وظیفه ای لایه فراهم آوردن خدمات سازماندهيشده, مطمئن و مبتني بر اصول سيستم عامل, براي برنامههاي کاربردي در لايه بالاتر است. • می توان آن را با سیستم مدیریت فایل سیستم عامل مقایسه کرد.
لایه انتقال در شبکه اینترنت پروتکلهاي لايه انتقال TCP Transmisson Control Protocol UDP User Datagram Protocol
لايه IP • هدايت و مسيريابي بستههاي اطلاعاتي از يک ماشين ميزبان به ماشين ديگر • عدم حل مشکلات احتمالي به وجود آمده براي بستههاي IP در مسير لايه انتقال • فراهم آوردن خدمات سازماندهيشده, مطمئن و مبتني بر اصول سيستم عامل, براي برنامههاي کاربردي در لايه بالاتر • جبران کاستيهاي لايه IP مقایسه دو لایه
کاستيهاي لايه IP راهکارهاي پروتکل TCP • برقراري يک ارتباط و اقدام به هماهنگي بين مبدأ و مقصد قبل از ارسال هر گونه داده • فرض کنید پروسه A تمایل دارد به پروسه B در دو ماشین دادهها ارسال کند. • A بسته در خواست خود را به B ار سال می کند. • B در خواست را دریافت و بر اساس شرایط خود آمادگی یا عدم آمادگی خود را اعلام می کند • در صورتی که A در یک زمان مشخص پاسخ مثبت دریافت کرد می تواند داده ار سال کند • عدم تضمين درآمادهبودن ماشين مقصد جهت دريافت بسته
کاستيهاي لايه IP راهکارهاي پروتکل TCP • عدم تضمين در به ترتيب رسيدن بستههاي متوالي و دادهها و صحت آنها • عدم تضمين در صحت دادهها • A داده خود را به صورت یک بسته آماده و در سرایند آن شماره ترتیب بسته اضافه کرده و ضمن نگهداری آن در بافر و تنظیم زمان سنج آن را ارسال می کند در خواست خود را به B ار سال می کند. همچنین جهت نظارت بر خطای احتمالی کد کشف خطا به سرایند آن اضافه می کند • اگر B بسته را سالم در یافت کرد Ack به A ارسال می کند به صورت piggybacking • در صورتی که A در یک زمان مشخص پاسخ مثبت دریافت کرد بافر را آزاد و در غیر آن داده را دوباره ارسال می کند. • قراردادن شماره ترتيب براي دادهها • تنظيم کد 16 بيتي کشف خطا در مبدأ و بررسي مجدد آن در مقصد جهت اطمينان از صحت دادهها
کاستيهاي لايه IP راهکارهاي پروتکل TCP • قرار دادن شماره ترتيب در بسته ارسالي • عدم تمايز در دريافت بستههاي تکراري در مقصد ( Duplication Problem) • TCP به کمک مکانیزمپنجره و الگوريتم پويا جهت تنظيم مجموعه زمان سنجها عمل کنترل جریان و ازدحام را انکام می دهد. • استفاده از مکانیزم پنجره و الگوريتم پويا جهت تنظيم مجموعه زمان سنجها • عدم تنظيم سرعت ارسال و تحويل بستهها
کاستيهاي لايه IP راهکارهاي پروتکل TCP • TCP برای این منظور آدرس پورت برای هر پروسه در نظر گرفت که آدرس پورت فرستنده و گیرنده در سرایند بسته قرار می کیرد. • عدم توزيع بستهها بين پروسههاي مختلف اجرا شده بر روي يک ماشين واحد • قراردادن آدرس پورت پروسه فرستنده و گيرنده در سرآيند بسته ارسالي
شماره پورتهاي استاندارد شماره شناسايي مشخصکننده هر پروسه براي برقراري يک ارتباط با پروسهي ديگر بر روي شبکه آدرس پورت Port Protocol Use 21 FTP File transfer 23 Remote login Telnet E-mail 25 SMTP 69 TrivialFileTransferProtocol TFTP Finger Lookup info about a user 79 80 World Wide Web HTTP POP-3 110 Remote e-mail access USENET news 119 NNTP
زوج آدرس IP و آدرس پورت مشخصکننده يک پروسه يکتا و واحد بر روي هر ماشين در دنيا 193.142.22.121 : مثال 80 (IP Address: Port Number)= Socket Address آدرس سوکت
ساختار بسته هاي پروتکل TCP • TPDU = Transport Protocol Data Unit= بسته توليد شده در لايه انتقال = قطعهTCP
فيلد Source Port • فيلد 16بيتي • آدرس پورت پروسه مبدأ فيلد Destination Port فیلد های بسته TCP • فيلد 16 بيتي • آدرس پورت پروسه مقصد
اگر عدد 12345 در آن باشد معنی آن این هست که تا بایت 12345 از داده ها در آن قرار دارد. معنی آن این نیست که 12345 بایت در آن قرار دارد. • شماره ترتیب اولین بایت از صفر شروع نمی شود بلمه از یک عدد تصادفی هنگام برقراری ارتباط انتخاب شده است. • اگر در زمان مشخص Ack یک بسته نیاید تمام بسته های بعد آن نیر وباره ارسال خواهند شد. فيلد Sequence Number • فيلد 32 بيتي • مشخص کننده شماره ترتيب آخرين بايت قرارگرفته شده در فيلد داده از بسته جاري فیلد های بسته TCP
فيلد Acknowledgement Number • فيلد 32 بيتي • مشخصکننده شماره ترتيب بايتي که فرستنده بسته منتظر دريافت آن است فيلد TCP Header Lenght • فيلد 4 بيتي • مشخص کننده طول سرآيند بسته TCPبرمبناي کلمات 32 بيتي • حداقل مقدار = 5 • تعيين کننده محل شروع دادهها در بسته TCP فیلد های بسته TCP
6 بيت بلااستفاده جهت استفاده درآينده مقدار فيلد = 1 نشان دهنده معتبر بودن مقدار موجود در فيلد Urgent Pointer مقدار فيلد = 0 نشان دهنده نا معتبربودن مقدار موجود در فيلد Urgent Pointer PSH RST SYN FIN URG ACK فیلد های بسته TCP 6 بيت بلااستفاده بيتهايFlag بيت URG
بيت ACK بيت PSH مقدار فيلد = 1 نشاندهنده تقاضاي فرستنده اطلاعات از گيرنده اطلاعات جهت بافرنکردن دادههاي موجود در بسته و تحويل سريع بسته به برنامههاي کاربردي به منظور انجام پردازشهاي بعدي بيت RST فیلد های بسته TCP مقدار فيلد = 1 نشاندهنده معتبر بودن مقدار موجود در فيلد Acknowledgement Number مقدار فيلد = 1 نشاندهنده قطع ارتباط به صورت يکطرفه و ناهماهنگ
بيتSYN بيتFIN فیلد های بسته TCP تغيير مقدار اين فيلد جهت برقراري ارتباط توسط ماشين مشخصکننده قطع و پايان ارسال اطلاعات هنگام اتمام دادههاي ارسالي توسط طرفين با 1 نمودن مقدار اين بيت هنگام ارسال آخرين بسته قطع کامل ارتباط: 1 نمودن مقدار اين فيلد توسط هر دو ماشين فرستنده و گيرنده قطع ارتباط يکطرفه: 1 نمودن مقدار اين فيلد توسط يکي از طرفين ارتباط
الف) تنظيم بيتهاي 0ACK= و SYN=1 توسط شروع کننده ارتباط در يک بسته TCP بدون داده (تقاضاي برقراري ارتباط = Connection Request ) ب) تنظيم بيتهايSYN=1 و ACK=1در صورت قبول طرف دريافتکننده بسته تقاضاي برقراري ارتباط به برقراري ارتباط فیلد های بسته TCP روند برقراي ارتباط TCP
فيلد 16 بيتي • حاوي کد کشف خطا فيلد Checksum طريقه محاسبه کد کشف خطا • تقسيم کل بسته TCP به قالبهاي 16 بيتي ( منهاي قسمت Checksum ) • ايجاد يک سرآيند فرضي و تقسيم آن به صورت کلمات 16 بيتي • جمع تمامي کلمات در مبناي مکمل 1 و منفي نمودن عدد حاصل در مبناي مکمل 1 و قرارگرفتن عدد حاصل در فيلد Checksum فيلد Windows Size مشخص کننده مقدار ظرفيت خالي فضاي بافر گيرنده جمع کل کلمات 16 بيتي موجود در بسته TCP + سرآيند فرضي = 0 عدم بروز خطا در حين ارسال دادهها فیلد های بسته TCP
ساختار سرآيند فرضي • 32 بيت آدرس IP ماشين مبدأ • 32 بيت آدرس IP ماشين مقصد • يک فيلد 8 بيتي کاملاً صفر • فيلد 8 بيتي پروتکل که براي پروتکل TCP = 6 • فيلد TCP Segment Length = طول کل بسته TCP فیلد های بسته TCP
فيلد Urgent Pointer اشاره گر به موقعيت دادههاي اضطراري موجود در بسته TCP فيلدOption • فيلد اختياري • شامل مقدار حداکثر طول بسته • قراردادن کدهاي بي ارزش در اين فيلد به جهت آنکه طول بسته ضريبي از 4 باقي بماند فیلد های بسته TCP