كنترل خطا(Error control)
كنترل خطا(Error control)
كنترل خطا به دو دسته 1-كشف خطا و 2- تصحيح خطا
در مكانيزم كشف خطا گيرنده متوجه وقوع خطا مي شود ولي نمي تواند ان خطا را تصحيح كند بايستي از فرستنده درخواست كند تا ان اطلاعات را دوباره ارسال نمايد
در مكانيزم تصحيح خطا گيرنده علاوه بر كشف خطا مي تواند خطاي رخ داده را تصحيح نمايد
فاصله همينگ دو كد باينري تعداد بيت هاي متفاوت در موقعيت يكسان بيتي ان دو كد است مثلا دو كد باينري 10110001و 11110010داراي فاصله همينگ d=3 است فاصله همينگ دو كد را به xor نمودن بيت هاي ان و شمارش تعداد يك هاي حاصل مي توان تعيين نمود
اگر فاصله همينگ دو كد d باشد در هنگام انتقال داده توسط گيرنده d-1 بيت خطا تشخيص و بيت خطا تصحيح مي شود
فاصله همينگ يگ مجموعه كد به صورت حداقل فاصله همينگ موجود بين دو به دو كدهاي ان مجموعه تعريف مي شود
مثال{10100 و11001 و 01110 } فاصله همينگ انها را به دست مي اوريد فاصله همينگ d=3 مي شود
مكانيزم هاي تشخيص خطا
1-بيت توازن(parity bit)
زوج (even) وفرد(odd) بيت توازن زوج بيتي است (صفر يا يك ) كه به هر هشت بيت داده (يك كد اسكي) اضافه مي شود تعداد يك هاي داده به همراه بيت توازن را زوج كند بيت توازن فرد نيز بيتي است كه به هر هشت بيت داده اضافه مي شود تا تعداد يك هاي داده به همراه بيت توازن را فرد كند
بيت توازن باعث مي شود كه فاصله همينگ مجموعه كدهاي اسكي برابر d=2 شود
2-جمع مقابله ايي(checksum)
تك تك بايت هاي فريم داده (حتي بايت هاي كنترلي و فيلد ادرس و طول و ...) را با يكديگر جمع كرده مكمل يك گرفته و ان را به عنوانchecksum يك بايتي در انتهاي فريم ارسال مي كند
3- كد افزونه چرخش crc
بايت هاي فريم داده رابر يك چند جمله اي مولد (يك عدد باينري ) تقسيم نموده و باقي مانده را به عنوان crc در انتهاي فريم ارسال مي كند
چند جمله اي مولد يك چند جمله اي است كه ضريب توان هاي ان فقط صفر و يك باشد و ضريب توان x ان حتما يك باشد
مثال چند جمله اي
براي توليد crc فريم داده بر چند جمله اي مولد تقسيم مي شود چند جمله اي از درجه n باقي مانده يك درجه كم تر يعني از درجه n-1 مي شود
محاسبه crc
الف –ابتدا n رقم صفر به سمت راست داده اضافه مي شود
ب- عمل تقسيم انجام مي شود با اين تفاوت كه به جاي عمل تفريق ازعمل xor استفاده مي شود
ج- با قيمانده n بيتي به عنوان crc در انتهاي فريم داده ارسال مي شود
د- گيرنده با دريافت فريم داده به همراه crc عمل تقسيم بر چند جمله اي مولد مورد توافق را انجام مي دهد در صورتي كه فريم صحيح دريافت شده باشد بايستي باقيمانده تقسيم صفر شود
مثال اگر فرستنده بخواهد داده 1000110101را ارسال كند و چند جمله اي مورد توافق فرستنده و گيرنده يعني 1001باشد ان گاه فرستنده crc را به صورت زير محاسبه مي كند
الگوريتم سيلآسا
در آن هر بسته ورودي بر روي خطوط خروجي بجز خطي كه عمل دريافت از آن طريق صورت گرفته فرستاده مي شد.
الگوريتم مسيريابي بردار فاصله(DV)
نحوه عملكرد بدين ترتيب است كه است كه باعث مي شود كه هر مسير ياب جدولي را كه نشان دهنده بهترين فاصله به هر مقصد و خطي همه براي رسيدن به آنجا نياز است را به همراه داشته باشد .
اين جداول با تبادل اطلاعات با جداول همجوارشان نوسازي مي شوند.
مسيريابي حالت پيوند(LS)
ايده مسير يابي حالت پيوند در پنج بخش مياني بيان مي شود . هر مسير ياب بايد :
1- همسايه هايش را تشخيص داده و آدرسهاي شبكه آنها را بداند.
2- تأخير يا هزينه تا همسايه هايش را اندازه گيري كند.
3- ايجاد بسته اي كه گوياي تمام اطلاعات بدست آمده باشد.
4- اين بسته ها را به تمام مسيريابها ارسال نمايد.
5- كوتاهترين مسير به هر مسير ياب ديگر را محاسبه كند.
مسيريابي سلسله مراتبي
با استفاده از مسير يابي سلسله مراتبي مسير يابها به قسمتهايي تقسيم مي شوند كه آنها رانواحي مي ناميم .
هر مسير ياب تمام جزئيات ناحيه خود را درباره اينكه چطور بسته هابه مقصد ارسال مي شود، مي داند ولي از ساختار داخلي ساير نواحي خبر ندارد.
مهندسی نرم افزار کامپیوتر