شبکه های کامپیوتری پیشرفته ارائه دهنده دکتر سید امین حسیني E.mail: [email protected] Home page: http://hosseini.staffcms.um.ac.ir.

Download Report

Transcript شبکه های کامپیوتری پیشرفته ارائه دهنده دکتر سید امین حسیني E.mail: [email protected] Home page: http://hosseini.staffcms.um.ac.ir.

‫شبکه های کامپیوتری پیشرفته‬
‫ارائه دهنده‬
‫دکتر سید امین حسیني‬
E.mail: [email protected]
Home page: http://hosseini.staffcms.um.ac.ir
‫الیههاي مدل مرجع‬
‫‪OSI‬‬
‫‪2‬‬
‫‪TCP/IP ,‬‬
‫سرویس های اتصال گرا‬
‫غیر مبتنی اتصال‬
‫و‬
‫هر الیه می تواند ‪ 2‬سرویس در‬
‫اختیار الیه باالتر خود قرار دهد‬
‫‪‬مبتنی بر اتصال مانند خدمات ارائه شده توسط‬
‫سیستم های تلفن‬
‫‪‬غیر مبتنی بر اتصال‬
‫پستی‬
‫مانند خدمات سیستم‬
‫کیفیت سرویس های مبتنی بر‬
‫اتصال‬
‫‪‬سرویس قابل اطمینان‬
‫نمی رود‬
‫– تصدیق پیام‬
‫– تاخیر دارد ولی ارزشمند است‬
‫– بسیار مناسب برای انتقال فایل‬
‫‪ :‬هیچگاه داده از دست‬
‫سرویس مبتنی بر اتصال قابل‬
‫اطمینان‬
‫‪‬جریان پیامها‬
‫– محدوده ‪ 2‬پیام حفظ می شود (‪ 2‬پیام ارسال ‪ 2،‬پیام دریافت می شود و نه ‪ 1‬پیام که‬
‫ترکیب ‪ 2‬تا باشد) مثال برای ارسال صفحات کتاب برای چابخانه خوبست‬
‫‪‬جریان با یت ها‬
‫– محدوده ندارد (راه تشخیص ی نیست که بایت های دریافتی مربوط به پیامی با چه‬
‫طولی هست‪ .‬مثال برای استفاده از پردازشگر راه دور خوبست‪.‬‬
‫‪‬‬
‫سرویس های غیر مبتنی‬
‫اتصال‬
‫ایمیل) بنا بر شباهت با تلگراف آن را‬
‫نیازی به برقراری اتصال از قبل نیست (‬
‫داده گرام نامند‪.‬‬
‫– عیر قابل اعتماد مانند سرویس داده گرام‬
‫– قابل اعتماد مانند سرویس داده گرام با تصدیق‬
‫• مانند بسته پستی سفارش ی‬
‫‪ ‬خدمات درخواست و پاسخ (یک داده گرام حاوی درخواست ارسال و‬
‫پاسخی دریافت می کند)‬
‫• کار با بانک های اطالعاتی‬
‫چند نمونه از انواع خدمات‬
‫الیهها‪:‬‬
‫مثال‬
‫سرويس‬
‫چند صفحه متوالي‬
‫استريم پيام قابل اعتماد‬
‫ورود از راه دور به کامپیوتر‬
‫استريم بايت قابل اعتماد‬
‫صداي ديجيتالي‬
‫اتصال غیر قابل اعتماد‬
‫زبالههاي پستي الكترونيكي‬
‫ديتاگرام غیر قابل اعتماد‬
‫ايميل ثبت شده‬
‫ديتاگرام تصديق شده‬
‫جستجوي پايگاه داده‬
‫درخواست‪ -‬پاسخ‬
‫اتصال‌گرا‬
‫غیر اتصال‌گرا‬
‫پنج عملکرد پایه برای‬
‫سرویس اتصال گرا‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫انتظار برای دریافت اتصال‬
‫برقراری ارتباط با همتای متناظر‬
‫انتظار برای دریافت اتصال‬
‫ارسال پیام به همتا‬
‫‪ .5‬پایان اتصال‬
‫اجزاء سرویس‬
‫‪9‬‬
‫پنج جزء براي فراهم كردن یك سرویس ساده‬
‫اتصالگرا‬
‫اجزاء سرویس‬
‫بستههاي ارسالي در یك تعامل ساده كالینت‪-‬سرور‬
‫در شبكه اتصالگرا‬
‫‪10‬‬
‫الیههاي مدل مرجع‬
‫‪11‬‬
‫‪TCP/IP‬‬
‫پروتكلها در‬
‫‪TCP/IP‬‬
‫مدل اولیه‬
‫مقایسه مدلهاي مرجع‬
‫‪ OSI‬و ‪TCP/IP‬‬
‫‪ ‬هر دو بر اساس مفهوم پشتهاي از قراردادهاي مستقل پايهگذاري شدهاند‪.‬‬
‫‪ ‬عملکرد اليهها در آنها مشابه به هم ميباشد‪.‬‬
‫‪ ‬در هر دو مدل اليه باالي اليه انتقال اليه کاربران بر اساس کاربرد مربوط به‬
‫خدمات انتقال قرار دارد‪.‬‬
‫‪ ‬مدل ‪ OSI‬هر دو ارتباط اتصالگرا و بياتصال را در اليه شبكه و فقط‬
‫اتصالگرا را در اليه انتقال پشتيباني ميكند‪.‬‬
‫و مدل ‪ TCP/IP‬در اليه شبكه فقط از ارتباط بي اتصال و از هردو ارتباط‬
‫در اليه انتقال پشتيباني ميكند‪.‬‬
‫‪13‬‬
‫مقایسه مدلهاي مرجع‬
‫‪ OSI‬و ‪TCP/IP‬‬
‫‪ ‬مدل ‪ OSI‬قبل از اختراع پروتکلهای آن طراحی و ابداع شد این بدان‬
‫معناست که مدل ‪ OSI‬وابستگی و تمایل خاصی به هیچ پروتکلی ندارد‪.‬‬
‫‪ ‬در مورد ‪ TCP/IP‬وضع برعکس بود اول پروتکلها اختراع و‬
‫توسعه داده شدند سپس مدلی برای توصیف آنها ساخته شد‪.‬‬
‫‪‬مدل ‪ OSI‬هفت الیه دارد و مدل ‪ TCP/IP‬چهار الیه ‪.‬‬
‫‪14‬‬
‫نگاهی انتقادی به مدل‬
‫آن‬
‫های‬
‫پروتکل‬
‫در اين مدل مفاهيم خدمات‪ ،‬رابطه و و پروتکل بطور واضح قابل تفكيك‬
‫‪TCP/IP‬‬
‫‪‬‬
‫و‬
‫نيست‪.‬‬
‫‪ ‬مدل ‪ TCP/IP‬يك مدل عمومي نيست و براي تشريح هر پشتهاي از قراردادها‬
‫به جز ‪ TCP/IP‬مفيد نيست‪.‬‬
‫‪ ‬اليه ميزبان شبكه كه در مورد پروتکلهاي اليهاي وجود داشت‪ ،‬بعنوان يك اليه‬
‫محسوب نميشود و تنها به عنوان يك رابط (بين اليه شبكه و پيوند داده) عمل‬
‫ميکند‪.‬‬
‫‪ ‬در مدل ‪ TCP/IP‬تمايزي بين اليههاي فيزيكي و پيوند دادهها نيست‪ .‬در‬
‫ا‬
‫صورتيکه اين دو اليه کامل از هم متمايز هستند‪.‬‬
‫مدل هیبرید‬
‫‪16‬‬
‫مدل هیبرید كه در كتاب از آن استفاده‬
‫شده است‬
‫شبکه هاي نمونه‬
‫‪ -1‬اینترنت‬
‫‪ -2‬شبکه هاي اتصال‪-‬گرا‬
‫‪ Frame Relay، x.25 :‬و ‪ATM‬‬
‫‪ -3‬اترنت‬
‫‪ -4‬شبکه هاي‬
‫بیسیم‬
‫‪17‬‬
‫محلي‬
‫الیه انتقال در شبکه‬
‫قلب تبنده سلسله پروتکل های‬
‫شبکه‬
‫الیه انتقال در شبکه‬
‫‪‬هدف الیه انتقال‪ :‬ارائه سرویس کارامد مطمئن کم هزینه به‬
‫کاربران خود (داده ها را به روشی کم هزینه و قابل اعتماد از‬
‫مبدا به مقصد انتقال دهد) فارغ از ماهیت شبکه یا شبکه های‬
‫فیزیکی مورد استفاده‪.‬‬
‫‪‬کاربران ‪ :‬پروسه های الیه کاربرد‬
‫‪‬نرم افزار ی که این کار راانجام می دهد ‪Transport‬‬
‫‪ Entity‬نامیده می شود‪.‬‬
‫‪‬می توان آن را با سیستم مدیریت فایل سیستم عامل مقایسه‬
‫کرد‪.‬‬
‫خدمات انتقال‬
‫(‬
‫‪) the transport service‬‬
‫‪ ‬خدمات ارائه شده به الیه های باالتر‬
‫‪ ‬عملکردهای اولیه و توابع بنیانی الیه انتقال‬
‫‪ ‬سوکت های برکلی‬
‫خدمات ارائه شده‬
‫الیه انتقال برای انجام وظایف خود از خدمات الیه شبکه بهره می گيرد ‪ .‬نرم افزار یا سخت افزاری که‬
‫ا‬
‫این کار را انجام می دهد اصطلحا واحد انتقال گفته می شود ‪.‬‬
‫ماشین میزبان ‪2‬‬
‫الیه کاربرد‬
‫واحد انتقال‬
‫الیه شبکه‬
‫ماشین میزبان ‪1‬‬
‫واسط بین الیه های‬
‫انتقال و کاربرد‬
‫‪TPDU‬‬
‫واسط بین الیه ها ی‬
‫الیه شبکه و انتقال‬
‫الیه کاربرد‬
‫‪Transport‬‬
‫‪address‬‬
‫واحد انتقال‬
‫الیه شبکه‬
‫‪Network‬‬
‫‪address‬‬
‫خدمات ارائه شده‬
‫انواع خدمات در این الیه مانند الیه شبکه هست‬
‫‪ ‬اتصال گرا‬
‫‪ ‬بی اتصال‬
‫سه مرحله تکوین‬
‫‪ ‬ایجاد اتصال (ٍ‪)Establishment‬‬
‫‪ ‬انتقال داده (‪)Data Transfer‬‬
‫‪ ‬ختم انتقال (‪)Release‬‬
‫خدمات ارائه شده‬
‫‪_ ‬آدرسدهی و کنترل جریان در هر دو الیه هست‬
‫‪ ‬خدمات بی اتصال الیه انتقال شباهت زیادی به خدمات بی‬
‫اتصال الیه شبکه دارد‬
‫بدلیل شباهت الیه شبکه و انتقال چرا الیه شبکه و انتقال ادغام‬
‫نشدند؟‬
‫‪ ‬کد اجرایی کاربران روی ماشین ‪ host‬اجرا می شود ولی در شبکه بر‬
‫روی مسیر یابها‬
‫‪ ‬کاربران هیچ کنترلی روی الیه شبکه ندارند‬
‫‪ ‬اگر یک مسیر یاب دچار مشکل شد مشکالت زیادی را ایجاد می کند‬
‫‪‬‬
‫خدمات ارائه شده‬
‫‪ ‬الیه انتقال جهت ارتقاء بهبود کیفیت و قابل اعتماد تر کردن سرویس‬
‫در شبکه ایجاد شده است‪.‬‬
‫‪ ‬اگر واحد انتقال در الیه انتقال متوجه قطع ارتباط شود مجددا ارتباط‬
‫جدیدی ایجاد می کند و از الیه همتای خود سوال می کند که چه‬
‫اطالعاتی را در یافت کرده و چه اطالعاتی را دریافت نکرده است و‬
‫بقیه اطالعات را درخواست کند‪.‬‬
‫‪ ‬با تکیه بر این الیه هست که برنامه نویسان با استفاده از یک سری‬
‫توابع و عملکردهای استاندارد بدون داشتن دغدغه در مواجه با تفاوت‬
‫در اجزاء زیر شبکه های مختلف برنامه های خود را بنویسند‪.‬‬
‫خدمات ارائه شده‬
‫_ حال اگرالیه شبکه خدماتی ناکافی عرضه کند چه می شود یا مسریاب‬
‫ها از کار بیفتند چه می شود ؟‬
‫در واقع کاربران هیچ کنترلی برروی الیه شبکه ندارند ‪ .‬بهمين دلیل تنها راه‬
‫ممکن این است که بر روی الیه شبکه الیه دیگری قرار داده شود که‬
‫خدمات بهبود پیدا کند که این کار را واحد انتقال انجام می دهد ‪.‬‬
‫واحد انتقال خدماتی اتصال گرا می باشد که از سرنوشت داده ها با خبر‬
‫است ودر صورت بروز مشکل ( قطع ارتباط‪ ،‬و از بين رفتن داده ها )‬
‫آن را رفع می کند ‪.‬‬
‫خدمات ارائه شده‬
‫در حقیقیت وجود الیه انتقال این امکان را فراهم می کند که خدمات انتقال داده‬
‫قابل اعتماد تر از خدمات الیه شبکه باشد ‪ .‬پس بیشترین تأ کید بر روی‬
‫الیه انتقال است تا الیه شبکه‬
‫این الیه‪ ،‬الیه های باالیی را از درگیری با جزئیات تکنولوژی ‪،‬طراحی و‬
‫نواقص زیر شبکه بی نیاز می کند به همین دلیل ‪:‬‬
‫ً‬
‫ل‬
‫در یک دسته بندی معموال ‪ 4‬الیه او را‬
‫ارائه دهنده خدمات انتقال‬
‫و بقیه را‬
‫استفاده کننده از خدمات انتقال‬
‫می نامند‬
‫خدمات ارائه شده‬
‫خدمات ارائه شده‬
‫‪ ‬به عنوان مثال دو پروسه را در محیط یونیکس در نظر بگيرید که از‬
‫طریق لوله به هم متصل هستند تنها چيزی که برای آنها خیلی مهم‬
‫است یک ارتباط صد در صد مطمئن و بدون خطا می باشد و به دیگر‬
‫مسائل جانبی از قبیل ازدحام و ‪ ...‬کاری ندارند‪.‬‬
‫‪ ‬از دیگر تفاوت ها بين این دو الیه این است که استفاده کننده گان‬
‫آنها تفاوت بنیادین دارند ‪ .‬خدمات الیه شبکه به واحد انتقال ارائه می‬
‫شود کاربران بسیاری کمی هستند که بخواهند واحد انتقال‬
‫اختصاص ی برای خود بنویسید و فقط عملکردهای اولیه و توابع‬
‫بنیانی الیه انتقال را می بینند در نتیجه خدمات الیه انتقال باید سهل‬
‫الوصول و استفاده از آنها ساده و سر راست باشد ‪.‬‬
‫توابع بنیانی الیه انتقال‬
‫عملکرد های اولیه توابع بنیانی الیه انتقال ‪:‬‬
‫برای استفاده از خدمات الیه انتقال این الیه در قالب واسط خدمات انتقال‬
‫مجموعه ای از عملیات و توابع را در اختیار برنامه های کاربردی می‬
‫گذارند‪.‬‬
‫توابع بنیانی الیه انتقال‬
‫توابع بنیانی الیه انتقال‬
‫توصیف‬
‫بسته ارسالی‬
‫متوقف (بلوکه) می شود تا آنکه پروسه ای سعی ‌‬
‫در ) ‪( none‬‬
‫برقراری‌ اتصال کند‬
‫نام عملکرد (تابع) اولیه‬
‫‪LISTEN‬‬
‫در برقراری‌ یک اتصال می کند‬
‫بصورت فعال سعی ‌‬
‫‪CONNECTION REQ‬‬
‫‪CONNECT‬‬
‫داده می فرستد‬
‫‪DATA‬‬
‫‪SEND‬‬
‫متوقف می شود تا آنکه بسته داده برسد‬
‫) ‪( none‬‬
‫‪RECEIVE‬‬
‫تالش برای قطع ( خاتمه ) اتصال‬
‫‪DISCONNECTION REQ‬‬
‫‪DISCONNECT‬‬
‫توابع بنیانی الیه انتقال‬
‫به عنوان مثال یک برنامه سرویس دهنده و چند مشتری راه دور‬
‫را در نظر بگیرید‪.‬‬
‫سرویس دهنده تابع ‪ Listen‬را اجرا می کند‪ .‬در این صورت‬
‫برنامه سرور بلوکه می شود و منتظر مشتری می ماند‪.‬‬
‫‪.1‬مشتری ‪ Connect‬را اجرا می کند‪ .‬واحد انتقال ‪transport‬‬
‫)‪ )unit‬برنامه مشتری را بلوکه می کند و درخواست ارتباط‬
‫را به سرور ارسال می کند)‪ .(Connection Request‬بسته‬
‫ارسالی به صورت زیر هست‪.‬‬
‫توابع بنیانی الیه انتقال‬
‫‪TPDU‬سرآیند سرآیند بسته سرآیند فریم‬
‫‪TPDU payload‬‬
‫‪Packet payload‬‬
‫‪Frame payload‬‬
‫قالب بسته ارسالی واحد انتقال‬
‫توابع بنیانی الیه انتقال‬
‫‪.3‬‬
‫‪.4‬‬
‫‪.5‬‬
‫‪.6‬‬
‫سرور پس از دریافت بسته و در صورت آمادگی بسته قبولی ارتباط‬
‫)‪ (Connection Accept‬را به مشتری ارسال می کند‪.‬‬
‫پس از دریافت برنامه مشتری از حالت بلوکه خارج و ارتباط‬
‫برقرار می شود‪.‬‬
‫داده ها با استفاده از توابع ‪ send , Receive‬ارسال می شوند‪.‬‬
‫پس از کامل شدن ارسال جهت آزاد کردن حافظه دو طرف ‪،‬ارتباط‬
‫باید قطع گردد‪.‬‬
‫توابع بنیانی الیه انتقال‬
‫الیه انتقال حتی برای مبادله یکطرفه و ساده داده ها بسیار پیچیده تر از‬
‫الیه شبکه عمل می کند ‪ .‬دریافت یک یک بسته هایی که ارسال می‬
‫شوند باید به تأیید طرف مقابل برسند ‪ .‬تصدیق وصول بسته ها بر‬
‫عهده واحد انتقال است و این کار از دید کاربران مخفی است‪.‬‬
‫یک اتصال به مثابه یک لوله مطمئن انتقال بیت است که یکی از‬
‫کاربران بیتها را در ابتدای این لوله تزریق می کند به همان نسبت‬
‫در انتهای دیگر دریافت می کردند‪.‬‬
‫توابع بنیانی الیه انتقال‬
‫زمانی که انتقال تمام شود باید اتصال قطع شود تا حافظه ای که به آن‬
‫اختصاص داده شده آزاد گردد‪.‬‬
‫قطع اتصال به دوصورت است ‪:‬‬
‫‪ .1‬نامتقارن (‪)Asymmetric‬‬
‫هر یک از پروسه ها مستقال تابع ‪ Disconnect‬را فراخوانی کرده‬
‫که یک بسته ‪ disconnect‬به طرف مقابل ارسال می گردد‪.‬‬
‫‪ .2‬متقارن (‪)Symmetric‬‬
‫یک ارتباط وقتی کامال قطع می شود هر دو طرف ‪Disconnect‬‬
‫کرده باشند‬
‫دیاگرام حالت‬
‫توابع بنیانی الیه انتقال‬
‫فرضیات‪:‬‬
‫‪ ‬برای هر بسته حاوی ‪ TPDU‬جداگانه ‪ ACK‬دریافت می‬
‫شود‪.‬‬
‫‪ ‬قطع ارتباط به صورت متقارن هست‪.‬‬
‫‪ ‬برای قطع ارتباط هم اول مشتری درخواست می کند‪.‬‬
‫توابع بنیانی الیه انتقال‬
‫مجمو عه دیگری از توابع در این الیه که به توابع سوکت معروف هستند و کاربرد‬
‫زیادی در برنامه نویسی دارند عبارتند از‪:‬‬
‫سوکتهای برکلی‬
‫پروتکلهای الیه انتقال برای ارائه سرویس به پروتکلهای الیه کاربردی‬
‫از دو پروتکل به نام ‪ TCP‬و ‪ UDP‬استفاده می کند ‪.‬‬
‫‪ : TCP‬انتقال اطلعات در اینترنت توسط پروتکل ‪ IP‬و از طریق بسته‬
‫های ‪ IP‬انجام می گيرد اگر در هنگام انتقال یک فایل بسته های ‪IP‬‬
‫کافی نیست الیه باالتر بایستی مشکلت فوق را رفع نماید که پروتکل‬
‫‪ TCP‬در الیه انتقال برای رفع مشکلت پروتکل ‪ IP‬ارائه شده به طور‬
‫خیلی ساده پروتکل ‪ IP‬همانند ارسال نامه به صورت عادی و پروتکل‬
‫‪ TCP‬همانند ارسال نامه به صورت سفارش ی ‪.‬‬
‫توصیف‬
‫یک نقطه ارتباط پایانی جدید ایجاد می کند‬
‫به سوکت ایجاد شده یک آدرس محلی مقید می کند‬
‫نام عملکرد تابع‬
‫‪SOCKET‬‬
‫‪BIND‬‬
‫تمایل برنامه کاربردی به پذیرش تقاضاهای اتصال را مشخص نموده ‌و طول‌ صف را‬
‫معین می کند‬
‫‪LISTEN‬‬
‫در ایجاد اتصال کند‬
‫منتظر نگاه می دارد تا کس ی سعی ‌‬
‫‌‬
‫آنقدر متوقف ‌و‬
‫‌‬
‫فراخواننده را‬
‫‪ACCEPT‬‬
‫تالش جهت اتصال بصورت فعال‬
‫بر روی اتصال مشخص شده می فرستد‬
‫مقداری‌ داده ‌‬
‫مقداری‌ داده ‌از اتصال مشخص می خواند‬
‫ختم اتصال‬
‫‪CONNECT‬‬
‫‪SEND‬‬
‫‪RECEIVE‬‬
‫‪CLOSE‬‬
‫در قسمت سرویس دهنده‬
‫‪ ‬در قسمت سرویس دهنده هر پروسه سرویس دهنده ‪ 4‬تابع فراخوانی‬
‫می کند‬
‫‪Socket: ‬‬
‫– در برنامه کاربردی یک نقطه پایانی ایجاد می کند و حافظه الزم را در واحد‬
‫انتقال می گیرد‬
‫‪‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫پارامترهای این تابع‪:‬‬
‫فرمت آدرس دهی‬
‫نوع سرویس ( اتصال گرا ‪ ،‬بی اتصال)‬
‫پروتکل مورد نظر‬
‫در قسمت سرویس دهنده‬
‫‪ ‬اگر فراخوانی موفق باشد اشاره گر یک فایل را بر می‬
‫گرداند ( مانند ‪ open‬در فایلها)‬
‫‪ Bind ‬که اختصاص آدرس پورت به ‪socket‬‬
‫‪ Listen: ‬گوش دادن به خط و ایجاد فضای الزم برای صف‬
‫بندی ایجاد می شود‬
‫‪ Accept: ‬برقراری ارتباط با یک پروسه و برگرداندن یک‬
‫اشاره گر‪.‬‬
‫در قسمت مشتری‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ Socket‬برای ایجاد یک سوکت‬
‫‪ Bind‬نیاز نیست‬
‫‪ Connect‬پروسه متقاضی بلوکه می شود ودرخواست ارتباط به‬
‫سرویس دهنده ارسال می شود‪ .‬با رسیدن پاسخ مناسب از حالت بلوکه‬
‫در می آید‪.‬‬
‫‪ Send , Receive‬هریک از طرفین با فراخوانی این دو تابع به‬
‫ارسال و دریافت اطالعت می پردازند‪ .‬در یونیکس نیز می توان از‬
‫توابع ‪ Read , Write‬استفاده کرد‪.‬‬
‫قطع ارتباط متقارن هست ‪ .‬هر دو طرف بایستی تابع ‪ close‬را‬
‫اجرا کنند تا ارتباط قطع گردد‪.‬‬
‫مولفه های پروتکل انتقال‬
‫‪ ‬خدمات انتقال توسط پروتکلهای الیه انتقال پیاده سازی شده و‬
‫از آنها بین دو واحد انتقال استفاده می شود‪ .‬پروتکلهای الیه‬
‫انتقال داده ها از جهاتی شبیه الیه پروتکلهای پیوند داده ها‬
‫می باشد‪.‬‬
‫‪ ‬نظارت بر خطا‬
‫‪ ‬ترتیب بسته ها‬
‫‪ ‬کنترل جریان‬
‫تفاوت ها‬
‫پروتکلهای الیه انتقال داده ها و الیه پیوند داده ها از‬
‫جهاتی متفاوت می باشد که ناشی از بستری که در آن‬
‫کار میکنند هست ‪.‬‬
‫تفاوت ها‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫در الیه انتقال آدرس دقیق مقصد و حتی پورت الزم هست ولی در پیوند داده هیچ‬
‫ضرورتی ندارد زیرا هر خط خروجی فقط یک مسیریاب خاص را مشخص می‬
‫کند‪.‬‬
‫در پیوند داده فرایند اتصال ساده هست و نود مقایل همیشه هست مگر خراب‬
‫شود‬
‫بین مبدا و مقصد الیه پیوند داده فقط ‪ 2‬مسیر یاب هست (کانال فیزیکی)‪ .‬ولی در‬
‫الیه انتقال یک زیر شبکه هست‬
‫در پیوند داده وقتی داده روی خط رسید به مقصد می رسد و یا بسته با مشکل‬
‫مواجه می شود ولی در زیرشبکه ممکن هست بسته ای در یکی از نود ها ذخیره‬
‫شود و بعد از چند ثانیه به مقصد برسد‪.‬‬
‫در پیوند داده برای هر اتصال تعدادی بافر در نظر می گیرد ولی در الیه انتقال‬
‫بدلیل اتصاالت زیاد مقدور نمی باشد که اندازه آن از قبل مشخص گردد‪.‬‬
‫مولفه های پرتکل انتقال‬
‫‪ ‬آدرس دهی‬
‫‪ ‬برقراری اتصال‬
‫‪ ‬خاتمه اتصال‬
‫‪ ‬کنترل جریان و بافر سازی‬
‫‪ ‬مالتی پلکسینگ‬
‫مولفه های پرتکل انتقال‪-‬آدرس‬
‫دهی‬
‫انواع آدرس دهی ‪:‬‬
‫‪ - 1‬برای تحویل فریم در الیه پیوند داده از آدرس فيزیکی‪ MAC‬استفاده می شود ‪.‬‬
‫‪ -2‬برای تحویل داده گرام در الیه شبکه از ‪ IP‬استفاده می شود‪.‬‬
‫‪ -3‬برای تحویل قطعه در الیه انتقال نيز نیاز به شماره پورت است که یک عدد ‪ 16‬بیتی می‬
‫باشد که هر پروتکل الیه کاربردی شماره پورت خاص ی دارد ‪.‬‬
‫برای انتقال فایل پورت شماره ‪21‬‬
‫برای انتقال ‪ email‬پورت شماره ‪25‬‬
‫بنابراین آدرس های ‪ IP‬بایستی همواره با شماره پورت همراه باشند ‪،‬‬
‫به ترکیب ‪ IP‬و پورت سوکت گفته می شود ‪.‬‬
‫مولفه های پرتکل انتقال‪-‬آدرس‬
‫دهی‬
‫‪ ‬وقتی یک پروسه کاربردی می خواهد با پروسه کاربردی راه دور‬
‫اتصال برقرار کند بایستی آدرس آن را دقیقا مشخص کند‪ .‬برای بدون‬
‫اتصال هم به همین صورت‪ ( .‬هر پیام برای چه پروسه ای ارسال می‬
‫شود‪).‬‬
‫‪ ‬روش معمول تعریف آدرس انتقال برای پروسه هایی که برای دریافت‬
‫تقاضا به خط گوش می دهند‪ ،‬که به آن پورت گفته می شود و یا‬
‫)‪ .TSAP(Transport Service Access Point‬هر پروسه باید‬
‫خودش را به یک ‪ TSAP‬وصل کند که بتواند با ‪ TSAP‬مقصد‬
‫ارتباط بر قرار کند‪.‬‬
‫مولفه های پرتکل انتقال‪-‬آدرس‬
‫دهی‬
‫‪‬‬
‫مولفه های پرتکل انتقال‪-‬آدرس‬
‫دهی‬
‫سناریوئی برای ایجاد یک اتصال در الیه انتقال می تواند به صورت زیر باشد‪.‬‬
‫مولفه های پرتکل انتقال‪-‬آدرس‬
‫دهی‬
‫نکته‪:‬‬
‫پروسه کاربردی ‪ 1‬از کجا بفهمد که پروسه سرویس دهنده به‬
‫چه شماره ای متصل شده است؟‬
‫‪ ‬شماره به عنوان استاندارد معرفی شده است‬
‫‪ ‬استفاده پروتکل اتصال اولیه )‪( (Process Server‬شکل اسالید‬
‫بعد)‪.‬‬
‫‪ ‬استفاده از سرویس دهنده نام (‪.)DNS‬‬
‫مولفه های پرتکل انتقال‪-‬آدرس‬
‫دهی‬
‫مولفه های پرتکل انتقال‪-‬برقراری‬
‫اتصال‬
‫‪ ‬برقراری اتصال ساده به نظر می رسد ولی اگر شبکه‬
‫مستعد از بین بردن بسته ها ‪ ،‬ذخیره و تعلیق آنها و یا تولید‬
‫بسته های تکراری باشد در برقراری اتصال مطمئن‬
‫مشکالت جدی روی خواهد داد و موجب پیچیدگی فراوان‬
‫پروتکل خواهد شد‪.‬‬
‫مولفه های پرتکل انتقال‪-‬برقراری‬
‫اتصال‬
‫مولفه های پرتکل انتقال‪-‬‬
‫اتصال‬
‫برقراری‬
‫تکراری تولید شدن بسته ها ناشی از نرسیدن ‪ACK‬‬
‫(کسر مکرر از حساب بانکی)‬
‫گاهی خیلی بحرانی می شود‬
‫راه حل بسته های تکراری‪:‬‬
‫‪ ‬استفاده از آدرسهای انتقال متغیر با زمان هست‪ .‬در این صورت دیگر نمی توان‬
‫از پروتکل اتصال اولیه )‪ (Process Server‬استفاده کرد‪.‬‬
‫‪ ‬بکار گیری یک شماره سلایر برای هر ارتباط ‪ .‬پس از قطع ارتباط شماره‬
‫درخواست جدید را با شماره های قبلی مقایسه می کند اگر سابقه ای پیدا شد آن را‬
‫نمی پذیرد‪ .‬اشکال این روش نگهداری سابقه میباشد که اگر ماشینی مثال ‪reset‬‬
‫شد جداول هم نخواهد بود‪.‬‬
‫‪ ‬محدود کردن عمر بسته ها در شبکه ها‬
‫مولفه های پرتکل انتقال‪-‬‬
‫برقراری اتصال‬
‫طراحی محدود شده زیر شبکه‬
‫‪ ‬استفاده از هر روشی که از چرخیدن بسته ها در حلقه تکرار‬
‫جلو گیری کند و تاخیر ناشی از ازدحام را بر روی طوالنی‬
‫ترین مسیر در حد معینی محدود کند‬
‫درج شمارنده گام‬
‫‪ ‬در هر بسته یک شمارنده گام قرارداده شود و مقدار اولیه‬
‫مناسبی منظور گردد و به ازائ هر گام یکی از شمارنده کم‬
‫کند‪ .‬پروتکل الیه شبکه بسته هایی که شمارنده آنها صفر‬
‫باشد را حذف خواهد کرد‪.‬‬
‫درج مهر زمان در بسته‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫هر بسته زمان ایجاد خود را با خود حمل کند‪.‬‬
‫در این صورت مسیر یابها طبق توافق بستهایی که زمانشان قدیمی‬
‫است را حذف می کنند‪.‬‬
‫در این مورد تنظیم ساعت ماشینها خودش مسئله بزرگی است که نمی‬
‫توان از آن گذشت‪.‬‬
‫در این صورت زمان را معموال چند برابر حداکثر عمر واقعی بسته‬
‫در نطر می گیرند‪.‬‬
‫روش تاملینسون‬
‫‪ ‬هر کامپیوتر یک ساعت دائمی دارد که با قطع برق هم‬
‫ساعت از کار نمی افتد‪.‬‬
‫روش تاملینسون‬
‫‪ ‬حداکثر نرخ ارسال بسته در یک اتصال نباید بیشتر از یک‬
‫‪ tpdu‬در یک تیک ساعت باشد‪.‬‬
‫‪ ‬در ماشینی که از کار افتاده و مجددا راه اندازی شده بایستی‬
‫قبل از اتصال جدید منتظر باشد تا ساعت تیک بزند‬
‫مولفه های پرتکل انتقال‪-‬‬
‫برقراریایاتصال‬
‫‪ ‬روش دست تکانی سه مرحله‬
‫‪ ‬در این روش نیازی نیست که طرفین روی شماره ترتیب‬
‫خاصی به توافق برسند‪ .‬از روشی غیر از ساعت سراسری‬
‫سیستم استفاده می شود‪.‬‬
‫) زیرا ممکن هست توافق روی شماره ترتیب بین مبدا و مقصد‬
‫صورت نگیرد بدلیل تاخیر بسته های کنترلی)‬
‫روش دست تکانی سه مرحله ای‬
‫روش دست تکانی سه مرحله ای‬
‫مولفه های پرتکل انتقال‪-‬خاتمه‬
‫ارتباط‬
‫مولفه های پرتکل انتقال‪-‬خاتمه‬
‫ارتباط‬
‫مولفه های پرتکل انتقال‪-‬خاتمه‬
‫ارتباط‬
‫مولفه های پرتکل انتقال‪-‬خاتمه‬
‫ارتباط‬
‫مولفه های پرتکل انتقال‪-‬کنترل‬
‫‪ ‬مدیریت اتصال حین‬
‫کار و بافر سازی‬
‫جریان‬
‫‪ ‬کنترل جریان و بافر سازی‬
‫کنترل جریان و بافر سازی‬
‫شباهت های کنترل جریان در الیه انتقال و الیه اتصال داده‬
‫‪ ‬برای جلو گیری از غرق شدن یک گیرنده کند و از دست دادن بسته ها در اثر‬
‫ناهماهنگی سرعت از پنجره لغزان یا پروتکل مشابه آن استفاده میشود‪.‬‬
‫تفاوتهای کنترل جریان در الیه انتقال و الیه پیوند داده‬
‫‪ ‬تعداد خطوط ارتباطی در مسیریابها خیلی کمتر از تعداد اتصاالتی که یک ماشین‬
‫می تواند داشته باشد هست لذا نمی توان قوانین بافر سازی الیه پیوند داده را به‬
‫الیه انتقال تعمیم داد‪.‬‬
‫کنترل جریان و بافر سازی‬
‫کنترل جریان در الیه انتقال و الیه اتصال داده‬
‫‪ ‬در الیه پیوند داده فریم ها دریافتی و ارسالی بافر می شدند‬
‫‪ ‬در الیه پیوند داده به ازائ هر خط ارتباطی تعداد مشخص بافر تعریف می شود‬
‫که نیم آن برای فریم ها دریافتی و نیم دیگر برای فریم های ارسالی‬
‫‪ ‬در الیه پیوند داده فرستنده فریم های خود را بافر می کند برای اینکه اگر نیاز به‬
‫ارسال مجدد شد آن را داشته باشد‪.‬‬
‫کنترل جریان و بافر سازی‬
‫‪ ‬الیه انتقال‪ :‬اگر زیر شبکه خدمات دیتا گرام ارائه کند بایستی‬
‫بسته ها را بافر کند که شاید نیاز به ارسال مجدد باشد‪.‬‬
‫‪ ‬الیه انتقال می تواند یک فضای بزرگ در نظر بگیرد و‬
‫هر ‪ TPDU‬که آمد اگر جایابی نشد آن را حذف می کند‪.‬‬
‫کنترل جریان و بافر سازی‬
‫اندازه بافر‬
‫‪ ‬طول ثابت‪ :‬برای بسته های کوچک فضا هدر می رود و‬
‫بسته های بزرگتر جا نمی شوند‪.‬‬
‫‪ ‬طول متغیر ‪ :‬مشکالت باال را حل می کند ولی مدیریت‬
‫پیچیده دارد‪.‬‬
‫‪ ‬بافر چرخای بزرگ برای هر اتصال‪ :‬مناسب برای اتصاالت‬
‫با حجم مبادله باال‪.‬‬
‫کنترل جریان و بافر سازی‬
‫کنترل جریان و بافر سازی‬
‫‪ ‬حالت بهینه در بافر سازی بستگی به نوع ترافیک مبادله شده‬
‫دارد‪ .‬در ترافیک انفجاری)‪ (bursty‬با پهنای باند کم بافر‬
‫سازی در مبدا جدی تر باید باشد(اطالعات بافر می شود‬
‫برای ارسال مجدد احتمالی)‬
‫‪ ‬ترافیک یکنواخت با پهنای باند باال بافر سازی در مقصد‬
‫صورت می گیرد‪.‬‬
‫کنترل جریان و بافر سازی‬
‫‪ ‬بهتر آن است که هیچ بافری از قبل اختصاص داده نشود و‬
‫در عوض بافر مورد نیاز در هر دو سمت به صورت پویا و‬
‫بر اساس نیاز اختصاص یابد‪.‬‬
‫‪ ‬از آنجا که فرستنده نمی داند که گیرنده قادر به تخصیص‬
‫حافظه خواهد بود یا نه تا در یافت گواهی بسته های ارسالی‬
‫را بافر می کند‬
‫کنترل جریان و بافر سازی‬
‫کنترل جریان و بافر سازی‬
‫تخصیص بافر به صورت پویا‬
‫ظرفیت حمل شبکه‬
‫ظرفیت حمل شبکه‬
‫‪ ‬وقتی که مسئله ظرفیت حمل شبکه مطرح هست مکانیزمی باید بکار‬
‫برد که فرستنده با حساب و کتاب بسته هایش را ارسال کند‬
‫مالتی پلکسینگ‪:‬‬
‫‪ ‬مالتی پلکس رو به باال‪ :‬میزبان دارای یک آدرس شبکه باشد‬
‫هر گاه یک ‪ TPDU‬رسید بایستی آن را تحویل پروسه های‬
‫مربوطه دهد‪.‬‬
‫مالتی پلکس رو به باال‬
‫مالتی پلکس رو به باال‬
‫مالتی پلکس رو به پایین‬