خطای CRC چیست؟ علل، انواع و نحوه رفع آن

اگر پیامی مانند این را دیده‌اید «خطای داده (بررسی افزونگی چرخه‌ای)» اگر در رایانه ویندوزی خود هستید، یا متوجه خطاهای CRC در رابط شبکه شده‌اید، با یکی از اساسی‌ترین مشکلات یکپارچگی داده‌ها در محاسبات روبرو هستید. این راهنما دقیقاً توضیح می‌دهد که خطای CRC چیست، چرا اتفاق می‌افتد و چگونه می‌توان آن را برطرف کرد - چه یک مهندس شبکه باشید و چه یک کاربر معمولی که به یک انتقال فایل متوقف شده خیره شده است.

خطای CRC چیست؟

خطای CRC چیست؟

A خطای CRC (بررسی افزونگی چرخه‌ای) زمانی رخ می‌دهد که دستگاهی داده‌هایی را دریافت می‌کند که با مقدار checksum مورد انتظار مطابقت ندارد - به این معنی که داده‌ها در جایی بین فرستنده و گیرنده خراب شده‌اند.

CRC خودِ خطا نیست - خودِ خطا است مکانیسم تشخیصآن را به عنوان یک پلمپ ضد دستکاری روی یک بسته در نظر بگیرید. قبل از ارسال داده، دستگاه فرستنده یک الگوریتم ریاضی را روی آن داده اجرا می‌کند و یک مقدار کوتاه با طول ثابت به نام ... تولید می‌کند. چکمه (یا مقدار CRC). این مجموع مقابله‌ای با داده‌ها ارسال می‌شود. وقتی دستگاه گیرنده داده‌ها را دریافت می‌کند، همان الگوریتم را اجرا می‌کند و نتیجه آن را با مجموع مقابله‌ای دریافتی مقایسه می‌کند. اگر دو مقدار مطابقت داشته باشند، داده‌ها به سلامت رسیده‌اند. اگر مطابقت نداشته باشند، ... خطای CRC فعال می‌شود – داده‌ها خراب تلقی شده و دور ریخته می‌شوند.

یک قیاس ساده در دنیای واقعی

تصور کنید که جمله را می‌نویسید «۵۰۰۰ دلار به جان منتقل کن» روی یک تکه کاغذ بنویسید و آن را در یک پاکت با مهر موم ببندید. اگر کسی پاکت را باز کند و مبلغ را تغییر دهد «۵۰۰۰ دلار به جان منتقل کن»، مهر مومی شکسته شده است. گیرنده می‌تواند ببیند که مهر مطابقت ندارد و متوجه می‌شود که پیام دستکاری شده است. CRC دقیقاً مانند آن مهر مومی کار می‌کند، اما به جای موم از ریاضیات استفاده می‌کند.

CRC چگونه کار می‌کند؟ (توضیح فنی)

وقتی دستگاهی داده را از طریق شبکه ارسال می‌کند یا داده را روی یک رسانه ذخیره‌سازی می‌نویسد:

  1. دستگاه فرستنده یک الگوریتم تقسیم چندجمله‌ای روی داده ها
  2. باقیمانده‌ی آن تقسیم می‌شود مقدار CRC (همچنین در شبکه به آن توالی بررسی فریم یا FCS گفته می‌شود).
  3. این مقدار CRC به انتهای بسته یا فریم داده اضافه می‌شود.
  4. دستگاه گیرنده همان الگوریتم را روی داده‌های دریافتی اجرا می‌کند.
  5. اگر CRC محاسبه‌شده‌ی مجدد با CRC دریافتی مطابقت داشته باشد، داده سالم است.
  6. اگر مطابقت نداشته باشند → خطای CRC – داده‌ها خراب و از بین رفته‌اند.

انواع الگوریتم CRC

همه بررسی‌های CRC یکسان نیستند. استانداردهای مختلفی با بده‌بستان‌های مختلف وجود دارد:

الگوریتماندازه چک ساماستفاده معمولخطر برخورد
CRC-88-بیتیسیستم‌های تعبیه‌شده، پروتکل‌های سادهبرتر
CRC-1616-بیتییو‌اس‌بی، مدباس، ذخیره‌سازیدر حد متوسط
CRC-3232-بیتیاترنت، فایل‌های زیپ، تصاویر PNGخیلی کم
CRC-6464-بیتیهارد دیسک‌ها (SCSI)، سیستم‌های با قابلیت اطمینان بالاخیلی کم

A برخورد داده‌ها زمانی رخ می‌دهد که دو بلوک داده مختلف مقدار CRC یکسانی تولید کنند - یک منفی کاذب که در آن داده‌های خراب معتبر به نظر می‌رسند. هرچه CRC بزرگتر باشد (بیت‌های بیشتر)، احتمال تصادم کمتر می‌شود. CRC-32 که در فریم‌های اترنت استفاده می‌شود، برای اکثر موارد استفاده از شبکه به اندازه کافی قابل اعتماد است.

CRC در فناوری‌های شبکه از جمله اترنت (سیمی و بی‌سیم)، Token Ring، ATM، Frame Relay و پروتکل‌های ذخیره‌سازی مانند SCSI و iSCSI استفاده می‌شود.

دو زمینه که خطاهای CRC در آنها ظاهر می‌شوند

خطاهای CRC در دو موقعیت بسیار متفاوت ظاهر می‌شوند و راه حل آنها بستگی به این دارد که در چه موقعیتی قرار دارید:

۱. خطاهای CRC شبکه بسته‌های داده‌ی خراب روی رابط شبکه (سوئیچ‌ها، روترها، کارت‌های شبکه)

۲. خطاهای CRC ذخیره‌سازی - داده‌های خراب روی هارد دیسک‌ها، SSDها، درایوهای USB یا فایل‌های ZIP

بیشتر مقالات آنلاین فقط یکی از این موارد را پوشش می‌دهند. هر دو در زیر توضیح داده شده‌اند.

خطاهای CRC در شبکه

چه عواملی باعث بروز خطاهای CRC در شبکه می‌شوند؟

در شبکه، خطای CRC به معنای رسیدن یک فریم اترنت به دستگاهی با توالی بررسی فریم (FCS) نامتناسب است. هر فریم خراب دور ریخته می‌شود که منجر به ارسال مجدد، کاهش سرعت و تخریب عملکرد می‌شود. علل رایج عبارتند از:

۱. کابل‌های معیوب یا آسیب‌دیده شایع‌ترین علت. کابل‌های خمیده، پیچ‌خورده، ساییده شده یا با سربندی نادرست، سیگنال را در لایه فیزیکی خراب می‌کنند. این شامل کابل‌های مسی اترنت، کابل‌های فیبر نوری و کابل‌های اتصال مستقیم (DAC) می‌شود.

۲. فرستنده/گیرنده‌های خراب یا ماژول‌های SFP یک فرستنده/گیرنده SFP (Small Form-factor Pluggable) خراب یا ناسازگار روی پورت سوئیچ می‌تواند فریم‌ها را در حین تبدیل برق به نوری یا نوری به الکتریکی خراب کند.

۳. عدم تطابق دوطرفه این یک دلیل است که اغلب نادیده گرفته می‌شود. وقتی یک طرف لینک روی full-duplex و طرف دیگر روی half-duplex تنظیم شده باشد، باعث برخوردهایی می‌شود که به عنوان خطاهای CRC محسوب می‌شوند. نتیجه، عملکرد بسیار کند و اتصال متناوب است. اگر خطاهای CRC در کنار شمارنده‌های برخورد دیرهنگام ظاهر شوند، احتمالاً عدم تطابق دوطرفه مقصر است.

۴. تداخل الکتریکی (EMI) کابل‌هایی که به موازات خطوط برق، موتورها، لامپ‌های فلورسنت یا سایر منابع تداخل قرار دارند، می‌توانند نویز را به سیگنال وارد کنند و در حین انتقال، بیت‌ها را جابجا کنند.

۵. پورت سوئیچ یا کارت شبکه معیوب یک پورت خراب روی سوئیچ، روتر یا کارت رابط شبکه (NIC) می‌تواند فریم‌های ارسالی یا دریافتی را خراب کند.

۶. مشکلات پچ پنل اتصالات پچ پنل فرسوده یا سیم‌کشی نادرست، دلیل کمتر آشکار اما واقعی خطاهای CRC در محیط‌های سازمانی هستند.

۷. عدم تطابق MTU عدم تطابق پیکربندی واحد حداکثر انتقال بین دستگاه‌ها می‌تواند باعث شود بسته‌های بزرگ به طور نادرست کوتاه شوند و حتی در صورت سالم بودن لایه فیزیکی، خطاهای CRC ایجاد شود.

نحوه نمایش خطاهای CRC در دستگاه‌های شبکه

در ویندوز (خط فرمان):

netstat -e

مقدار غیر صفر "خطاها" در ستون دریافت شده، خطاهای CRC روی کارت شبکه را نشان می‌دهد.

در لینوکس:

ifconfig eth0

or

ip -s link show eth0

دنبال عدد غیر صفر بگردید خطاهای گیرنده (RX) پیشخوان.

روی سوئیچ‌های سیسکو نکسوس:

show interface

show interface counters errors

به دنبال CRC/FCS, خطاهای ورودیو FCS-Err شمارنده‌ها افزایشی هستند.

سوئیچینگ ذخیره و ارسال در مقابل سوئیچینگ میان‌بر

نحوه برخورد سوئیچ با خطاهای CRC به حالت ارسال آن بستگی دارد:

  • سوئیچ‌های ذخیره و ارسال قبل از ارسال فریم، کل آن را بافر می‌کنند. آنها قبل از تصمیم‌گیری در مورد ارسال، CRC را اعتبارسنجی می‌کنند - بنابراین فریم‌های خراب را حذف می‌کنند و هرگز خرابی را منتشر نمی‌کنند. فقط وارد شدن رابط خطاهای ورودی را نشان می‌دهد.
  • سوئیچ‌های کات-ترو قبل از دریافت کامل یک فریم، ارسال آن را شروع کنید. تا زمانی که CRC محاسبه شود، ممکن است فریم در حال ارسال باشد. این به معنی فریم‌های خراب است. رواج دادن از طریق شبکه، و شما هم خطاهای ورودی را در پورت ورودی و هم خطاهای خروجی را در پورت‌های خروجی مشاهده خواهید کرد. یک کابل خراب می‌تواند باعث شود که شمارنده‌های CRC به طور همزمان در چندین سوئیچ افزایش یابند.

درک این تمایز هنگام ردیابی خطاهای CRC در یک شبکه چند دستگاهی بسیار مهم است.

نحوه عیب‌یابی خطاهای CRC در شبکه (گام به گام)

مرحله ۱: شناسایی رابط کاربری با خطاهای ورودی استفاده کنید show interface counters errors (سیسکو/نکسوس) یا netstat -e (ویندوز) برای پیدا کردن اینکه کدام رابط فریم‌های خراب دریافت می‌کند.

مرحله ۲: کابل را به پورت سوئیچ دیگری منتقل کنید اگر خطاهای CRC از کابل به پورت جدید منتقل شوند، مشکل از کابل یا دستگاه انتهایی است. اگر خطاها در پورت اصلی باقی بمانند، پورت سوئیچ مشکوک است.

مرحله ۳: دور زدن پچ پنل دستگاه انتهایی را مستقیماً و بدون پچ پنل به سوئیچ وصل کنید. اگر خطاها برطرف شدند، اتصال پچ پنل معیوب است.

مرحله ۴: تعویض کابل کابل اترنت را با یک کابل سالم و مطمئن عوض کنید. این کار در اکثر موارد مشکل را حل می‌کند.

مرحله ۵: تنظیمات دوطرفه را بررسی و اصلاح کنید تأیید کنید که هر دو طرف لینک به طور یکسان پیکربندی شده‌اند - هر دو به صورت خودکار مذاکره می‌کنند، یا هر دو به صورت دستی روی سرعت/دوطرفه یکسان تنظیم شده‌اند. عدم تطابق‌ها در Cisco CLI به این شکل هستند:

interface GigabitEthernet1/0/1
 duplex full
 speed 1000

مرحله 6: فرستنده/گیرنده یا کارت شبکه را تعویض کنید اگر پس از تعویض کابل و رفع مشکل داپلکس، خطاها همچنان ادامه داشتند، با یک فرستنده/گیرنده SFP سالم تست کنید. سپس یک کارت شبکه دیگر را روی میزبان امتحان کنید.

مرحله ۷: به یک پورت سوئیچ دیگر منتقل شوید اگر یک پورت خاص به طور مداوم باعث ایجاد خطاهای CRC با چندین کابل و دستگاه شود، ممکن است سخت‌افزار ASIC یا MAC آن پورت دچار مشکل شده باشد.

خطاهای CRC در فضای ذخیره‌سازی (هارد دیسک، SSD، درایوهای USB، فایل‌ها)

چه عواملی باعث بروز خطاهای CRC در دستگاه‌های ذخیره‌سازی می‌شوند؟

چه زمانی ویندوز نشان می دهد «خطای داده (بررسی افزونگی چرخه‌ای)»، به این معنی است که داده‌های خوانده شده از یک دستگاه ذخیره‌سازی با مجموع بررسی مورد انتظار مطابقت ندارد. این اتفاق می‌تواند در هارد دیسک‌ها، SSDها، فلش‌های USB، دیسک‌های نوری یا حتی فایل‌های فشرده مانند آرشیوهای ZIP و RAR رخ دهد.

علل شایع:

  • بخش های بد - قسمت‌هایی از هارد دیسک که از نظر فیزیکی آسیب دیده‌اند و دیگر نمی‌توانند داده‌ها را به طور قابل اعتمادی ذخیره کنند.
  • فرسودگی و پیری درایو - درایوهای قدیمی‌تر به مرور زمان دچار بدسکتورهای بیشتری می‌شوند
  • گرمای بیش از حد - دمای بالا اجزای داخلی درایو را تخریب می‌کند
  • آسیب فیزیکی افتادن، ضربه خوردن یا خراشیدگی روی صفحات درایو
  • کابل‌های USB یا SATA معیوب - کابل شل یا آسیب دیده عملیات خواندن/نوشتن را قطع می‌کند
  • بایگانی‌های ZIP/RAR خراب - دانلودهای ناقص یا انتقال‌های قطع‌شده، فایل‌های فشرده را خراب می‌کنند
  • آلوده شدن به بدافزار یا ویروس – می‌تواند داده‌های فایل را تغییر داده و بررسی‌های CRC را بشکند
  • قطع ناگهانی برق - قطع برق در حین عملیات نوشتن، داده‌ها را در حالت نیمه‌نوشته و خراب باقی می‌گذارد.
  • رم معیوب ماژول‌های حافظه‌ی معیوب می‌توانند داده‌ها را در حین انتقال بین پردازنده و درایو خراب کنند.

نحوه رفع خطاهای CRC در ویندوز (گام به گام)

مرحله ۱: ابتدا ریبوت کنید قبل از هر چیز دیگری، کامپیوتر خود را مجدداً راه اندازی کنید. یک خطای موقت خواندن یا مشکل درایور گاهی اوقات می‌تواند باعث ایجاد خطای CRC کاذب شود که پس از راه اندازی مجدد ناپدید می‌شود.

مرحله ۲: بررسی اتصالات فیزیکی برای درایوهای خارجی، کابل USB یا برق را جدا و دوباره وصل کنید. یک پورت USB یا کابل دیگر را امتحان کنید. برای درایوهای داخلی، کابل‌های داده و برق SATA را دوباره وصل کنید.

مرحله ۳: اجرای CHKDSK خط فرمان را به عنوان مدیر باز کنید و اجرا کنید:

chkdsk D: /f /r

جایگزین کردن D: با درایو لتر شما. /f پرچم، خطاهای سیستم فایل را برطرف می‌کند، و /r سکتورهای خراب را پیدا کرده و داده‌های قابل خواندن را بازیابی می‌کند. در صورت درخواست، مجدداً راه‌اندازی کنید.

مرحله ۴: اجرای SFC و DISM (برای مشکلات درایو سیستم)

sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth

این ابزارها فایل‌های سیستمی خراب ویندوز را که ممکن است در بروز خطاهای CRC نقش داشته باشند، تعمیر می‌کنند.

مرحله ۵: درایورهای درایو و میان‌افزار را به‌روزرسانی کنید به Device Manager → Disk drives → کلیک راست روی درایو خود → Update driver بروید. همچنین برای به‌روزرسانی‌های میان‌افزار SSD، وب‌سایت سازنده را بررسی کنید.

مرحله ۶: تعمیر فایل‌های فشرده ZIP یا RAR خراب اگر خطای CRC درون یک فایل فشرده باشد:

  • WinRAR: بایگانی را باز کنید → ابزارها → بایگانی تعمیر → قالب ZIP یا RAR را انتخاب کنید → تأیید کنید.
  • در صورت امکان، فایل را دوباره دانلود کنید - ممکن است فایل به طور ناقص دانلود شده باشد.

مرحله ۷: بررسی سلامت درایو با SMART از ابزاری مانند CrystalDiskInfo (ویندوز) برای بررسی وضعیت SMART درایو استفاده کنید. تعداد بالای سکتورهای تخصیص مجدد یافته یا سکتورهای در حال انتظار، نشانه‌ی قوی از خرابی درایو است.

مرحله ۸: فوراً از داده‌های خود نسخه پشتیبان تهیه کنید اگر CHKDSK سکتورهای خراب پیدا کند یا SMART هشدارهایی نشان دهد، ممکن است درایو در شرف خرابی باشد. از تمام داده‌های مهم خود نسخه پشتیبان تهیه کنید. قبل از تلاش برای هرگونه تعمیرات بیشتر.

خطای CRC چقدر جدی است؟

شدت آن به شدت به زمینه بستگی دارد:

زمینهشدتتأثیر
خطاهای گاه به گاه CRC شبکهکمارسال مجدد بسته‌های کوچک
افزایش مداوم خطاهای CRC شبکهزیادکاهش عملکرد، از دست رفتن بسته‌ها، از کارافتادگی
خطای CRC در فایل (ZIP/RAR)در حد متوسطآن فایل خاص غیرقابل دسترسی است
خطای CRC در هارد دیسکزیاداحتمال از دست رفتن اطلاعات، ممکن است درایو خراب باشد
خطای CRC در درایو سیستمبحرانیناپایداری سیستم، احتمال از دست رفتن داده‌ها

در شبکه سازی: وجود چند خطای CRC اینجا و آنجا طبیعی است. شمارنده‌ای که مدام در حال افزایش است، نشانه‌ای از یک مشکل فیزیکی فعال است که به مرور زمان عملکرد را کاهش می‌دهد.

در انبار: هرگونه خطای CRC روی هارد دیسک یک علامت هشدار دهنده است که باید جدی گرفته شود. سکتورهای خراب می‌توانند گسترش یابند. اگر داده‌های SMART خراب به نظر می‌رسند، آن را به عنوان یک هشدار قبل از خرابی در نظر بگیرید.

خطاهای CRC در مقابل سایر خطاهای مرتبط

نوع خطامعنیش چیه
خطای CRC / خطای FCSعدم تطابق چک‌سام فریم - داده‌های خراب شناسایی شدند
خطای ترازبندیفریم مضربی از ۸ بیت نیست - مشکل لایه فیزیکی
اجرا کنیدفریم کوتاه‌تر از حداقل اندازه (۶۴ بایت) - معمولاً مشکل دوطرفه بودن
غولفریم بزرگتر از حداکثر اندازه - پیکربندی نادرست MTU
خطای ورودیمجموع تمام خطاهای ورودی (شامل CRC، runts، giants)
خطای خروجیخطاها در فریم‌های خروجی (که در سوئیچ‌های میان‌بر رایج است)

اگر خطاهای CRC را همراه با خطاهای ترازبندی و runts مشاهده کردید، تقریباً مطمئناً علت آن عدم تطابق دوطرفه است.

آیا خطاهای CRC می‌توانند باعث از دست رفتن داده‌ها شوند؟

در یک شبکه، فریم‌های خراب از بین می‌روند و پروتکل‌های لایه بالاتر (مانند TCP) درخواست ارسال مجدد می‌کنند - بنابراین هیچ داده‌ای به طور دائم از بین نمی‌رود، اما سرعت آن به طور قابل توجهی کاهش می‌یابد. در یک دستگاه ذخیره‌سازی، خطاهای CRC می‌توانند نشان‌دهنده بخش‌هایی باشند که دیگر قابل خواندن نیستند، که به این معنی است که اگر از داده‌های آن بخش‌ها نسخه پشتیبان تهیه نشود، ممکن است داده‌ها برای همیشه از بین بروند.

آیا خطاهای CRC همیشه یک مشکل سخت‌افزاری هستند؟

در شبکه‌سازی عمدتاً بله. پیکربندی نادرست نرم‌افزار (عدم تطابق دوطرفه، مشکلات MTU) نیز می‌تواند باعث آنها شود. در دستگاه‌های ذخیره‌سازی، علت می‌تواند سخت‌افزاری (بخش‌های خراب، درایو خراب) یا نرم‌افزاری (سیستم فایل خراب، بدافزار) باشد.

چه تعداد خطای CRC در یک رابط شبکه قابل قبول است؟

چند خطای منفرد در یک دوره طولانی عموماً قابل قبول هستند. رابطی که خطاهای CRC را به طور مداوم - به خصوص سریعتر از 0.01٪ از کل فریم‌ها - افزایش می‌دهد، باید فوراً بررسی شود.

آیا سوئیچ خراب می‌تواند باعث خطاهای CRC شود؟

بله. یک پورت سوئیچ، کارت خط یا ASIC معیوب می‌تواند فریم‌ها را خراب کند. این مورد کمتر از مشکلات کابل یا فرستنده-گیرنده رایج است، اما اتفاق می‌افتد. آزمایش با یک پورت متفاوت در همان سوئیچ به شناسایی این مشکل کمک می‌کند.

تفاوت بین خطای CRC و خطای checksum چیست؟

CRC نوع خاصی از الگوریتم‌های جمع کنترلی است. هر دو اصطلاح به روش‌هایی برای تأیید صحت داده‌ها از طریق مقایسه ریاضی اشاره دارند. در کاربرد رایج، آنها اغلب به جای یکدیگر استفاده می‌شوند، اما CRC به طور خاص از تقسیم چندجمله‌ای استفاده می‌کند و آن را نسبت به جمع‌های کنترلی ساده مبتنی بر جمع، قابل اعتمادتر می‌سازد.

خلاصه

خطای CRC نشان می‌دهد که داده‌ها در حین انتقال - چه از طریق کابل شبکه و چه از طریق یک دستگاه ذخیره‌سازی - خراب شده‌اند. مکانیسم تشخیص خطا (CRC) دقیقاً همان کاری را که قرار است انجام دهد، انجام می‌دهد: تشخیص داده‌های خراب قبل از اینکه مشکلات بزرگ‌تری در ادامه ایجاد کنند.

در شبکه، تقریباً همیشه راه حل در لایه فیزیکی است: کابل را تعویض کنید، تنظیمات دوطرفه را بررسی کنید، فرستنده/گیرنده را عوض کنید. در ذخیره‌سازی، با CHKDSK شروع کنید، اتصالات فیزیکی را بررسی کنید و داده‌های SMART را از نزدیک زیر نظر داشته باشید. در صورت شک، ابتدا از داده‌های خود نسخه پشتیبان تهیه کنید - این همیشه امن‌ترین اقدام قبل از هرگونه اقدام برای تعمیر است.

امروز کنترل حریم خصوصی خود را در دست بگیرید! رفع انسداد وب‌سایت‌ها، دسترسی به پلتفرم‌های پخش جریانی و دور زدن نظارت ISP.

گرفتن FastestVPN
اشتراک در خبرنامه
پست های پرطرفدار هفته و آخرین اطلاعیه ها را از FastestVPN از طریق خبرنامه ایمیل ما
شمایل

0 0 رای
رتبه بندی مقاله
اشتراک
اطلاع از
مهمان
0 نظرات
بازخورد درون خطی
مشاهده همه نظرات

معامله یک عمر را برای $ 40!

  • بیش از 800 سرور برای محتوای جهانی
  • سرعت 10 گیگابیت بر ثانیه برای تاخیر صفر
  • WireGuard امنیت VPN قوی تر
  • محافظت دو برابر سرور VPN
  • محافظت از VPN برای حداکثر 10 دستگاه
  • سیاست بازپرداخت کامل 31 روزه
گرفتن FastestVPN