3. شبکه های کامپیوتری

Download Report

Transcript 3. شبکه های کامپیوتری

‫شبكه هاي كامپيوتري‬
‫سعید خاک مردان‬
‫الیه اتصال داده‬
‫‪ ‬موارد طراحی الیه اتصال داده‬
‫‪ ‬تشخیص و تصحیح خطا‬
‫‪ ‬پروتکلهای ابتدایی اتصال داده‬
‫‪ ‬پروتکلهای پنجره لغزان‬
‫‪ ‬بررس ی پروتکل‬
‫‪ ‬چند مثال‬
‫موارد طراحی الیه اتصال داده‬
‫‪ ‬اعمال الیه اتصال داده‬
‫‪ ‬مهیا کردن یک واسط سرویس مناسب برای الیه شبکه‬
‫‪ ‬رفع خطای انتقال‬
‫‪ ‬کنترل جریان‬
‫‪ ‬قاب بندی)‪(Framming‬‬
‫‪ ‬کنترل دستيابی به خط)‪(Mac‬‬
‫‪ ‬برای انجام آنها این الیه بسته را دریافت کرده و برای ارسال آنرا در یک قاب قرار می‬
‫دهد‬
‫سرویسهای ارائه شده به الیه شبکه‬
‫سرویسهای ارائه شده به الیه شبکه‬
‫‪ ‬سه نوع سرویس ممکن است‬
‫‪ ‬سرویس بدون اتصال بدون تصدیق (‪)LAN‬‬
‫‪ ‬سرویس بدون اتصال با تصدیق(‪)wireless‬‬
‫‪ ‬سرویس اتصال گرا با تصدیق‬
‫قاب بندی‬
‫‪ ‬برای کنترل خطا الزم است بيتها در قالب ”قاب“ باشد‪.‬‬
‫‪ ‬قاب بندی‪ ،‬شکستن جريان بيتی به قابهای مجزا و محاسبه سرجمع برای هر‬
‫يک است‪.‬‬
‫‪ ‬کنترل خطا با استفاده از سرجمع روی هر قاب انجام می شود‪.‬‬
‫‪ ‬روشها‬
‫‪ ‬شمارش کاراکترها‬
‫‪ ‬بایت پرچم با الگذاری بایت‬
‫‪ ‬پرچم شروع و خاتمه با الگذاری بیت‬
‫شمارش کاراکترها‬
‫بایت پرچم با الگذاری بایت‬
‫پرچم شروع و خاتمه با الگذاری بیت‬
‫‪01111110‬‬
‫کنترل خطا‬
‫‪ ‬اطمینان از دریافت قابها توسط گیرنده‬
‫‪ ‬راه معمول دریافت پس خور از گیرنده است‬
‫‪ ‬استفاده از شمارنده هم الزم است‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫نرسيدن قاب به گیرنده‪:‬‬
‫◦ استفاده از زمان سنج برای کشف خطا در فرستنده‬
‫◦ میزان زمان ‪ ،‬زمان سنج بايد بر اساس ترافيک شبکه باشد‪.‬‬
‫آسيب رسيدن محتوای داده های قاب در بین راه‪:‬‬
‫◦ برای کشف اين خطا از تکنيک ”سرجمع“ )‪ (Checksum‬استفاده می شود‪.‬‬
‫قابهای مضاعف‪:‬‬
‫◦ وقتی ‪ Ack‬خيلی دير به فرستنده برسد رخ می دهد‪.‬‬
‫◦ برای رفع مشکل به هر قاب يک شماره اختصاص می يابد تا گیرنده اشتباه نکند‪.‬‬
‫کنترل جریان‬
‫‪ ‬دو روش مورد استفاده است‬
‫‪ ‬کنترل جریان بر پایه پس خور‬
‫‪ ‬کنترل جریان بر پایه نرخ ارسال‬
‫کدهای تشخیص و تصحیح خطا‬
‫‪ ‬کنترل خطای پس خور(‪)feedback‬‬
‫‪ ‬کنترل خطای مستقیم(‪)forward‬‬
‫‪ ‬انتخاب روش کنترل خطا وابسته به نوع و نرخ خطا در کاربرد است‬
‫کدهای تصحیح خطا‬
‫‪ ‬برای تصحیح خطا تعدادی بیت به داده اضافه شده و ارسال می شود‬
‫‪ ‬رشته بیت ‪ n‬بیتی را یک کد کلمه(‪ n )codeword‬بیتی می گویند‬
‫‪ ‬تعداد بیتهای مورد اختالف در دو کدکلمه فاصله همینگ نام دارد‬
‫‪ ‬برای تشخیص ‪ d‬بیت خطا نیاز به فاصله همینگ ‪ d+1‬و برای تصحیح ‪ d‬بیت‬
‫خطا نیاز به فاصله همینگ ‪ 2d+1‬است‬
‫کدهای تصحیح خطا‬
‫‪(m+r+1) <=2r‬‬
‫کدهای تشخیص خطا‬
‫‪ ‬بیت توازن‬
‫‪ ‬توازن سطری و ستونی‬
‫‪ ‬کدهای چند جمله ای ( ‪) CRC‬‬
‫محاسبات چند جمله ای‬
‫پروتکلهای ابتدایی اتصال داده‬
‫‪ ‬پروتکل یکطرفه بدون محدودیت‬
‫‪ ‬پروتکل یکطرفه توقف و انتظار‬
‫‪ ‬پروتکل یکطرفه برای کانال نویزی‬
‫تعاریف اولیه‬
‫‪ ‬پیش فرضها‪:‬‬
‫‪ ‬الیه های فیزیکی ‪ ,‬اتصال داده و شبکه بصورت پروسه های مجزا پیاده سازی‬
‫شده اند و با ارسال پیغام با یکدیگر ارتباط دارند‬
‫‪ ‬ماشین ‪ A‬دنباله طوالنی از داده ها را با سرویس اتصال گرا و قابل اعتماد به‬
‫ماشین ‪ B‬ارسال می کند ( و بالعکس )‬
‫‪ ‬ماشینها از کار نمی افتند ( اصطالحا ‪ Crash‬نمی کنند )‬
‫‪ ‬الیه اتصال داده بسته دریافتی از الیه شبکه را به عنوان داده خام در نظر می گیرد‬
‫و به محتویات آن کاری ندارد‬
‫‪ ‬وقتی بسته ای دریافت کرد آنرا در یک قاب قرار می دهد و به الیه فیزیکی برای‬
‫ارسال به ماشین مقابل تحویل می دهد‬
‫تعاریف اولیه‬
‫‪ ‬گیرنده در ابتدا منتظر بسته است و تابع )‪ wait_for_event (&event‬را فرا‬
‫خوانی می کند‬
‫‪ ‬در صورت دریافت یک رخداد متغیر ‪ event‬نوع رخداد را اعالم میکند‬
‫‪ ‬در پروتکلهای واقعی از وقفه استفاده می شود‬
‫‪ ‬رخداد ممکن است خطا در ارسال (‪ )checksum_error‬یا دریافت قاب‬
‫(‪ )frame_arrival‬باشد‬
‫‪ ‬هنگام دریافت قاب اگر مشکلی در سرآیند نباشد بسته داخل قاب به الیه شبکه‬
‫تحویل می شود‬
‫‪ ‬تحت هیچ شرایطی سرآیند به الیه شبکه تحویل نمی شود تا جدایی الیه ها حفظ‬
‫شود‬
‫تعاریف اولیه‬
‫‪ ‬یک قاب ‪ 4‬قسمت دارد ‪ ack , sec , kind‬و ‪info‬‬
‫‪ ‬سه بخش اول که کنترلی هستند سرآیند بسته را تشکیل می دهند‬
‫تعاریف اولیه‬
‫‪ From ‬و ‪to‬‬
‫‪ ‬در اکثر پروتکلها کانال نویزی در نظر گرفته می شود و ممکن است کل قاب به‬
‫گیرنده نرسد در این حالت شمارنده مورد نیاز است‬
‫‪ Start_timer ‬و ‪Stop_timer‬‬
‫‪ enable_network_layer ‬و ‪disable_network_layer‬‬
‫‪MAX_SEQ ‬‬
‫پروتکل یکطرفه‬
‫بدون محدودیت‬
‫‪ ‬در این پروتکل هیچ‬
‫محدودیتی وجود ندارد‬
‫پروتکل یکطرفه‬
‫توقف و انتظار‬
‫پروتکل یکطرفه‬
‫برای کانال نویزی‬
‫‪ ‬در این پروتکل گیرنده ‪ ‬در این پروتکل ممکن‬
‫توان مصرف محدودی‬
‫است خطا اتفاق بیفتد‬
‫دارد و تا داده قبلی‬
‫و حتی یک بسته کامال از‬
‫مصرف نشده داده جدید بین برود‬
‫نباید ارسال شود‬
‫‪ ‬در این حالت بسته های‬
‫تکراری باید تشخیص‬
‫داده شوند‬
‫پروتکلهای پنجره لغزان‬
‫‪ ‬پروتکل پنجره لغزان یک بیتی‬
‫‪ ‬پروتکل ‪Go-back-N‬‬
‫‪ ‬پروتکل تکرار انتخابی‬
‫پروتکلهای پنجره لغزان‬
‫‪ ‬در این پروتکلها داده در هر دو جهت حرکت می کند‬
‫‪ ‬یک بهبود این است که تصدیق همراه داده ارسال شود ( ‪Piggyback‬‬
‫‪)acknowledgement‬‬
‫‪ ‬یک مسئله این است که چقدر منتظر یک بسته داده باشیم که تصدیق را با آن‬
‫ارسال کنیم‬
‫‪ ‬پنجره لغزان‬
‫پروتکلهای پنجره لغزان‬
‫پروتکل پنجره لغزان یک بیتی‬
Go-back-N ‫پروتکل‬
Selective repeat ‫پروتکل‬
‫بررس ی پروتکل‬
‫‪ ‬پروتکلهای واقعی و برنامه هایی که آنها را پیاده سازی می کنند پیچیده هستند‬
‫بنابراین نیاز به روشهایی برای بیان و بررس ی آنها می باشد‬
‫‪ ‬مدل ماشین حالت محدود‬
‫‪ ‬مدل ‪Petri net‬‬
‫ماشین حالت محدود‬
‫‪ ‬مجموعه ای از حالتها که پروتکل در هر لحظه در یکی از آنهاست‬
‫‪ ‬حالتها مجموعه حالتهای پروتکل و خط انتقال است‬
‫‪ ‬بصورت چهارتایی (‪ )S,M,I,T‬مشخص می شود‬
‫‪ : S ‬مجموعه حالتها‬
‫‪ : M ‬مجموعه پیغامهای ارسالی‬
‫‪ : I ‬مجموعه حالتهای اولیه‬
‫‪ : T ‬مجموعه گذارها (تغییرات ) بین حالتها‬
‫‪ ‬می توان مشخص کرد که کدام حالتها از حالت اولیه قابل دسترس نیست ‪:‬‬
‫تحلیل دسترس ی‬
‫ماشین حالت محدود‬
‫‪ ‬تحلیل دسترس ی خطاهای مشخصه پروتکل را آشکار می کند‬
‫‪ ‬خطای کامل نبودن ‪ :‬در یک حالت مشخص با یک رخداد مشخص معلوم‬
‫نیست چه عملی باید انجام گیرد‬
‫‪ ‬خطای قفل ‪ :‬حالتی که از آن نمی توان خارج شد وجود داشته باشد‬
‫‪ ‬خطای گذارهای زیادی ‪ :‬تعریفی برای رخدادی که اتفاق نخواهد افتاد وجود‬
‫داشته باشد‬
‫ماشین حالت محدود‬
‫‪ ‬هر حالت به فرم (‪ )SRC‬نامگذاری شده‬
‫‪ : S ‬شماره بسته فرستنده‬
‫‪ : R ‬شماره بسته گیرنده‬
‫‪ : C ‬فریم روی خط انتقال‬
‫‪Petri Net‬‬
‫‪ ‬چهار عنصر اصلی وجود دارد‬
‫‪ : Place ‬حالت های سیستم‬
‫‪ : Transition ‬گذارها‬
‫‪ : Arc ‬کمان ورودی مبدا گذار و کمان خروجی مقصد آنرا مشخص می کند‬
‫‪ : Token ‬شاخص وضعیت فعلی‬
Petri Net
‫ گرامر‬
‫چند پروتکل نمونه لینک داده‬
‫‪( HDLC ‬کنترل سطح باالی لینک داده) ‪(high-level Data Link‬‬
‫)‪Control‬‬
‫‪ ‬الیه اتصال داده در اینترنت‬
‫‪PPP ‬‬
‫‪HDLC‬‬
‫‪ ‬چند پروتکل مشتق شده از ‪( SDLC‬کنترل لینک داده سنکرون) مورد استفاده در‬
‫‪IBM mainframes‬‬
‫‪ ANSI ‬آنرا به ‪ ADCCP‬تغییر داد‬
‫‪ ‬و ‪ ISO‬به ‪HDLC‬‬
‫‪ CCITT ‬پروتکل ‪ HDLC‬را به ‪ LAP‬و سپس به ‪ LAPB‬تغییر داد‬
‫‪ ‬همه پروتکلها بیت گرا هستند و از تکنیکهای الگذاری بیت استفاده می کنند‬
‫‪HDLC‬‬
‫‪ : Address ‬آدرس مقصد را در خطوط چند پایانه مشخص می کند‬
‫‪ : Control ‬برای شماره ترتیب و تصدیق و موارد دیگر استفاده می شود‬
‫‪ : Data ‬داده الیه باالتر است‬
‫‪ : Checksum ‬برای تشخیص خطا به روش ‪ CRC‬کاربرد دارد‬
‫‪HDLC‬‬
‫‪ ‬سه نوع قاب وجود دارد ‪ Supervisory ،Information :‬و‬
‫‪Unnumbered‬‬
‫‪ ‬شماره ترتیب ‪ 3‬بیتی است‬
‫‪ ‬بخش ‪ Next‬برای تصدیق است‬
‫‪HDLC‬‬
‫‪Poll/Final : P/F ‬‬
‫‪ ‬زمانی که یک کامپیوتر از تعدادی پایانه داده درخواست می کند‬
‫‪ ‬با بیت ‪ p‬داده را درخواست می کند‬
‫‪ ‬در قابهای ارسالی توسط پایانه ها این بیت ‪ F‬است که مشخص کننده آخرین‬
‫قاب است‬
‫‪ ‬چهار نوع قاب نظارتی وجود دارد‬
‫‪Receive ready ‬‬
‫‪( Reject ‬مانند ‪)Go-back-N‬‬
‫‪Receive not ready ‬‬
‫‪( Selective reject ‬مانند ‪)Selective repeat‬‬
‫‪HDLC‬‬
‫‪ ‬نوع سوم قابهای بی شماره برای کنترل یا سرویس های بدون اتصال کاربرد دارند‬
‫الیه اتصال داده در اینترنت‬
‫‪ ‬پروتکلی برای ارتباط نقطه به نقطه در اینترنت بررس ی می شود‬
‫‪ ‬خطوط نقطه به نقطه عموما به دو شکل استفاده می شوند‬
‫‪ ‬برای برقراری ارتباط یک ‪ LAN‬با اینترنت که بین یک مسیریاب محلی و یک‬
‫مسیریاب راه دور( اینترنت ) قرار دارد‬
‫‪ ‬برای برقراری یک کاربر خانگی از طریق مودم و خط ‪ Dialup‬به اینترنت‬
‫الیه اتصال داده در اینترنت‬
‫پروتکل ‪PPP‬‬
‫‪ PPP ‬سه کار اصلی انجام می دهد‬
‫‪ ‬یک روش قاب بندی که شروع و خاتمه قابها را مشخص می کند‬
‫‪ ‬یک پروتکل کنترل اتصال برای برقراری اتصال‪ ،‬تست آن‪ ،‬مذاکره گزینه ها‪ ،‬و‬
‫قطع اتصال که ‪ )Line Control Protocol( LCP‬نام دارد‬
‫‪ ‬راهی برای مذاکره گزینه های الیه شبکه طوری که مستقل از پروتکل الیه‬
‫شبکه باشد که ‪ )Network Control Protocol( NCP‬نام دارد‬
‫پروتکل ‪PPP‬‬
‫‪ ‬هنگام برقراری ارتباط پس از ایجاد اتصال فیزیکی ابتدا بسته های ‪ LCP‬برای‬
‫توافق بر سر پارامترهای پروتکل ‪ PPP‬رد و بدل می شود‬
‫‪ ‬سپس بسته های ‪ NCP‬برای توافق بر سر پارامترهای الیه شبکه از جمله ‪IP‬‬
‫‪ PPP ‬از فرمت قاب ‪ HDLC‬استفاده می کند‬
‫‪ ‬از نوع سوم قابها استفاده می شود و سرویس بدون تصدیق ارائه می شود‬
‫پروتکل ‪PPP‬‬