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