از دست دادن بسته زمانی رخ می دهد که اتصال شبکه اطلاعات را در حین انتقال از دست بدهد. این می تواند اتصال شما را کندتر از آنچه باید باشد نشان می دهد و قابلیت اطمینان ارتباط شبکه با دستگاه های محلی و راه دور را کاهش می دهد. دانستن اینکه چگونه از دست دادن بسته را متوقف کنید باید برای هر کسی که به دنبال بهبود یک شبکه مشکل ساز است اولویت اصلی باشد.
علل از دست دادن بسته
از دست دادن بسته تنها به یک دلیل اتفاق نمی افتد. تشخیص علت از دست دادن بسته در شبکه شما به شما می گوید که چه چیزی را باید برطرف کنید:
- پهنای باند شبکه و ازدحام: یکی از دلایل اصلی از دست دادن بسته ها، پهنای باند ناکافی شبکه است. این زمانی اتفاق میافتد که دستگاههای زیادی سعی در برقراری ارتباط در یک شبکه دارند.
- سخت افزار ناکافی: مشکلات مربوط به هر سخت افزاری در شبکه ای که بسته ها را مسیریابی می کند، می تواند باعث از دست رفتن بسته شود. روترها، سوئیچ ها، فایروال ها و سایر دستگاه های شبکه آسیب پذیرترین آنها هستند.
- کابل های آسیب دیده: از دست دادن بسته ممکن است در لایه فیزیکی شبکه رخ دهد. اگر کابلهای اترنت آسیب دیده باشند، سیمکشی نامناسبی داشته باشند، یا خیلی کند باشند که نمیتوانند ترافیک شبکه را مدیریت کنند، کابلها بستهها را نشت میکنند.
- اشکالهای نرمافزار: میانافزار موجود در سختافزار شبکه یا نرمافزار رایانه میتواند دارای اشکالاتی باشد که باعث از دست رفتن بستهها میشود.
چگونه از دست دادن بسته در شبکه خود را رفع کنیم
برای تعیین علت از دست دادن بسته، با ساده ترین مشکل برای شناسایی شروع کنید:
- اتصالات فیزیکی را بررسی کنید. اتصال اترنت بین دستگاه ها را بررسی کنید. به دنبال نشانههایی از آسیب فیزیکی یا شلیک نادرست باشید و ببینید که آیا قطع کردن کابلها مشکل را حل میکند یا خیر.
- آزاد کردن پهنای باند. آیا هر قطعه سخت افزاری بیش از آنچه باید اتصالات را مدیریت می کند؟ اگر چنین است، پهنای باند روتر را محدود کنید.
- سخت افزار را تعویض کنید. دستگاههای بالقوه مشکلساز را در شبکه تعویض کنید تا ببینید آیا با حذف یک دستگاه خاص، از دست دادن بسته ناپدید میشود.
- گزارش اشکالات نرم افزار. اگر گمان میکنید که اشکالات نرمافزاری باعث از دست رفتن بستهها شده است، تنها راه رفع آن از طریق یک وصله میانافزار از فروشنده تامینکننده سختافزار است. با یافتن این مشکلات، اشکالات مشکوک را گزارش دهید تا فروشندگان را تشویق به رفع مشکل کنید.
چگونه از دست دادن بسته را تشخیص دهیم
چندین برنامه می توانند از دست رفتن بسته ها را در یک شبکه تشخیص دهند. اینها به طریقی بسته ها را بو می کنند، یا با تجزیه و تحلیل زمان سفر یا مشاهده محتویات بسته. سادهترین راه برای کشف از دست دادن بستهها، پینگ کردن دستگاههای موجود در شبکه است:
-
در ویندوز، یک پنجره Command Prompt را باز کنید و از دستور ping برای هدف قرار دادن روتر خود استفاده کنید. برای مثال، اگر آدرس IP محلی روتر 127.0.0.1 است، برای پینگ کردن روتر، ping 127.0.0.1 -t را وارد کنید. در macOS یا Linux، یک پنجره ترمینال را باز کنید و ping 127.0.0.1 را وارد کنید
تنها تفاوت برای رایانههای ویندوزی این است که - t در انتهای دستور وجود ندارد.
- بعد از اینکه دستور پینگ تعداد کافی بسته (حداقل 10) را پردازش کرد، Ctrl+ C یا را فشار دهید دستور + C برای متوقف کردن دستور.
-
ببینید آیا بسته ای از دست رفته است یا خیر. اگر اتصال خاص بین دستگاه پینگ و هدف به درستی کار می کند، باید 0% از دست دادن بسته را ببینید. گزارش ممکن است به این شکل باشد:
- -- 127.0.0.1 آمار پینگ ---
27 بسته ارسال شده، 27 بسته دریافت شده، 0.0% از دست دادن بسته
رفت و برگشت min/avg/max/stddev=1.820/8.351/72.343/14.186 ms
تشخیص فقدان بسته با tcpdump
دستور tcpdump در macOS و Linux قدرتمندتر از پینگ است. دستور بسته ها را می گیرد و سپس مقدار از دست رفتن بسته ها را محاسبه می کند. برای استفاده از دستور، یک خط فرمان یا پنجره ترمینال را باز کنید و tcpdump -i any را وارد کنید.
این tcpdump را روی هر اتصال شبکه اجرا می کند. این دستور همچنین میتواند با - i eth0 برای ضبط فقط رابط شبکه اصلی یا با - c 10 برای گرفتن تنها 10 بسته اجرا شود.
بعد از اجرای دستور، به خط پایین نگاه کنید تا ببینید آیا بسته هایی گم شده اند:
۱۷ بسته ثبت شد
۸۵ بسته دریافت شده توسط فیلتر
۰ بسته دریافت شد حذف شده توسط کرنل
فرآیند شناسایی بسته ها از فناوری نسبتاً پایینی برخوردار است. پس از ایجاد راهی برای بررسی ارتباطات در سراسر شبکه، یک روش جداسازی و حذف را دنبال کنید تا منبع و علت از دست دادن بسته را تعیین کنید.این به پینگ کردن اکثر دستگاه های موجود در شبکه نیاز دارد. دانش توپولوژی شبکه ضروری است.
در ویندوز، یا از طریق پوسته Bash در ویندوز 10 از tcpdump استفاده کنید یا Wireshark را اجرا کنید.