150 likes | 300 Views
فصل سوم. لایه پیوند دادهها. وظايف لايه پيوند داده ها. ارائه سرویسهای مشخص به لايه شبكه برخورد با خطاهاي انتقال كنترل جريان داده. ارائه خدمات به لايه شبکه :.
E N D
فصل سوم لایه پیوند دادهها
وظايف لايه پيوند دادهها • ارائه سرویسهای مشخص به لايه شبكه • برخورد با خطاهاي انتقال • كنترل جريان داده
ارائه خدمات به لايه شبکه: • خدمات اصلي، انتقال دادهها از لايه شبكه ماشين منبع به لايه شبكه ماشين مقصد است.در واقع لايه پيوند دادهها وظيفه انتقال بيتهايي را بر عهده دارد، که لايه شبکه به منظور انتقال به مقصد لايه پيوند دادهها واگذار ميكند.
خدمات DLLبه لايه شبكه (1) • ارتباط مجازي • ارتباط منطقي
سه امکان موجود در DLL سه امکان موجود در DLL خدمات بياتصال با اعلام وصول خدمات اتصالگرا با اعلام وصول خدمات بياتصال بدون اعلام وصول خدمات بياتصال بدون اعلام وصول
خدمات بي اتصال بدون اعلام وصولUnacknowledged Connectionless • ماشين منبع قابهاي مستقلي رابه ماشين مقصد ميفرستد در حاليكه ماشين مقصد وصول آنها را اعلام نميكند. قبل از انتقال اتصال منطقي وجود ندارد يا پس از آن نيز هيچ ارتباطي آزاد نميشود. • اين نوع خدمات براي ترافيك بلادرنگ نظير مكالمات كه در آن تاخير دادهها بدتر از دادههاي بد است نيز مناسب است.
خدمات بي اتصال با اعلام وصولAcknowledged Connectionless • هيچ اتصالي مورد استفاده قرار نمي گيرد اما هر قاب ارسال شده مستقلاً اعلام وصول مي شود. در اين روش فرستنده ميداند كه قاب به سلامت رسيد يا خير. • اين خدمات براي كانالهاي غير قابل اعتماد مثل سيستمهاي بيسيم مناسب است.
خدمات اتصالگرا با اعلام وصولAcknowledged Connection-oriented • با اين خدمات ماشينهاي منبع و مقصد قبل از ارسال دادهها ارتباطي برقرار ميكنند. هر قاب ارسال شده از اين طريق شمارهگذاري ميشود و لايه پيوند دادهها دريافت تمام قابهاي ارسالي را تضمين ميكند.
سه فاز انتقال در خدمات اتصالگرا • يك اتصال برقرار ميشود به اين طريق كه هر دو طرف متغييرها و شمارندههاي مورد نياز را براي اينكه مشخص شود چه قابهايي دريافت شدهاند و چه قابهايي نرسيدهاند را تاييد اوليه ميكنند . • يك يا چند قاب بطور واقعي انتقال مييابند . • آخرين مرحله اتصال قطع شده و متغييرها، بافرها و ساير منابع مورد استفاده در اين اتصال آزاد ميگردند .
خدمات DLLبه لايه شبكه (2) محل پروتكل لايه پيوند داده
قاب بندي، كنترل جريان، كنترل خطا • تشخيصخطا:روش معمول براي لايه پيوند دادهها، شكستن رشته بيتي به قابهاي مجزا و محاسبه جمع كنترلي براي هر قاب در مبدأ و مقصد است. چنانچه اين جمع كنترلي با جمع كنترلي موجود در قاب متفاوت باشد لايه پيوند دادهها تشخيص ميدهد كه خطايي رخ داده است و تلاش ميكند آن را رفع كند. • قاب بندي:شكستن رشته بيتها به قابها • يك روش قاب بندي درج فواصل زماني بين قابها است.
چهار روش براي مشخص نمودن ابتدا و انتهاي هر قاب • شمارش كاركترها • بايتهاي نشانگر(پرچم یا flag)با درج بايت ( byte suffing) • نشانگرهاي ابتدايي و انتهايي با درج بيت • تخطي از رمزگذاري لايه فيزيكي
شمارش كاركترها • فيلدي در سرآيند قاب براي نگهداري تعداد كاركترهاي قاب بكار ميرود. A character stream. (a) Without errors. (b) With one error.
بايتهاي نشانگر با درج بايت • با اين روش مشكل همزمان سازي مجدد كه پس از بروز خطا رخ ميداد با گذاشتن بايتهاي ويژهاي در ابتدا و انتهاي هر قاب حل ميگردد. • مشکل اینکه در صورتی که بایت flag در میان داده های ارسالی (payload) وجود داشته باشد! • راه حل: استفاده از بایت گریز (Escape Byte) • اگر بایت گریز نیز در متن وجود داشته باشد؟!
بايتهاي نشانگر با درج بايت Flag A B Esc Flag Esc Esc Flag Flag A B C Flag A B Flag Esc A B C Flag A B Esc Flag Esc Esc Flag Esc Flag