بازدهی یک شبکه در هنگام انتقال دادهها به وجود محیطی کاملاً پایدار و بدون خطا بستگی دارد. یکی از مشکلاتی که ممکن است در ارتباطات شبکه رخ دهد، از دست رفتن بستههای داده یا Packet Loss است.
Packet Loss زمانی به وقوع میپیوندد که یک بسته داده در طول انتقال داده از مبدا به مقصد در شبکه گم شده یا بهطور ناقص یا خراب منتقل شود. موارد زیادی می تواند باعث این اختلال شود، از جمله مشکل روترها، خطاهای فیزیکی در شبکه، تداخلهای الکترومغناطیسی، ترافیک بالا و ضعف اتصالات شبکه.Packet Loss میتواند کیفیت و عملکرد شبکه را تحت تاثیر قرار دهد؛ در برخی موارد این اختلالات بر ارتباطات صوتی و تصویری، بازیهای آنلاین و انتقال دادههای حساس تاثیر منفی می گذارند.برای مدیریت این چالش، استفاده از تکنیکهایی مانند بازیابی خطا، تکرار در ارسال بستهها و استفاده از پروتکلهای مطمئن تر میتواند راه حل مفیدی باشد.قبل از معرفی راهکارهای جلوگیری از اختلالات، در ابتدا بگذارید مفاهیم را بیشتر توضیح دهیم...
Packet Loss چیست؟
گم شدن بستههای داده میتواند به دلایل گوناگونی رخ دهد. یکی از دلایل رایج این موضوع، وقوع مشکلات فیزیکی سمت شبکه است. مثلاً در شبکههای کابلی، احتمال وقوع خطاهای انسانی، تداخلات الکترومغناطیسی یا تداخل با سیمهای دیگر وجود دارد که باعث میشود بستههای داده در مسیر خود گم شده یا به طور ناقص در شبکه جا به جا شوند.عوامل دیگری که میتوانند منجر به packet loss شوند، ترافیک بالا و فشار زیاد بر شبکه است. زمانی که تعداد زیادی بستهداده به یکباره در شبکه وارد میشوند، بر روی پورت ها و دستگاههای شبکه فشار ایجاد میکنند؛ که این موضوع باعث وقوع packet loss خواهد شد.علاوه بر این، قدرت پردازشی و ظرفیت دستگاههای شبکه نیز ممکن است برای پردازش و انتقال تمامی بستهها کافی نباشند.از سویی دیگر، مشکلات و خطاهای نرمافزاری و برنامههای کامپیوتری و سیستمعاملهای شبکه نیز میتوانند عاملی برای این مشکل باشند.علاوه بر موارد فوق، اشکال در روترها، سوئیچها و دستگاههای شبکه میتوانند باعث ناقص شدن داده های ارسالی شوند.
جریان داده ها در Packet Loss
هنگام وقوع packet loss، بستههای دادهای که در شبکه ارسال میشوند، به صورت کامل تحویل مقصد نمیشوند یا حتی ممکن است کاملاً از بین بروند. در صورتی که یک بسته در مسیر خود گم شده یا داده های درون آن کامل تحویل نشوند، ممکن است اطلاعات مهم موجود در آن نیز مفقود شوند.در برخی موارد حساس مانند تماسهای تلفنی یا ارسال دادههای بزرگ و حسابهای مالی، این مشکل میتواند عواقب جدی و غیرقابل جبرانی بهمراه داشته باشد.بگذارید موضوع را با یک مثال بررسی کنیم...تصور کنید قصد ارسال نامه ای به دوستتان را دارید و یک پیام طولانی روی یک برگه مینویسید. برای ارسال این نامه، آن را تا کرده، در یک پاکت قرار می دهید، آدرس را روی پاکت می نویسید و سپس آن را در یک صندوق پستی قرار میدهید.در اینجا، پیام روی نامه، همان بسته داده هاست، پاکت همان پروتکل شبکه و در آخر صندوق پستی مثالی برای دستگاه شبکه است.
حال فرض کنید پاکت حاوی نامه شما در طول مسیر آسیب ببیند و بخشهایی از پیام غیر قابل خواندن شوند. اگر این آسیب دیدگی طوری باشد که دوست شما پیام را به طور کامل دریافت نکند، ارتباط ناقص خواهد شد.این مثال تقریباً مشابه packet loss در یک شبکه است.وقتی بستههای داده در طول انتقال از دست میروند یا به هر دلیل خراب میشوند، به ارتباط کلی بین طرفین آسیب وارد می کنند. اگر مایلید می توانید مبحث BGP را نیز با مثال هایی شبیه به این یاد بگیرید.در هر حال، باید مطمئن شویم پیام یا دادهای که در حال انتقالش هستیم بدون هیچ خطا یا مشکلی به مقصد خود برسد. با شناسایی و رفع مشکل packet loss شبکه، ادمین شبکه میتواند مطمئن شود که دادهها به درستی در سراسر شبکه منتقل می شوند.
بررسی Packet Loss و کشف دلیل اختلال
سنجش از دست رفتگی بسته ها یکی از معیارهای مهم در تجزیه و تحلیل عملکرد شبکه به شمار می آید. سنجش دقیق packet loss نیازمند استفاده از ابزارها و تکنیکهای مختلفی است که به شبکهها و تجهیزات شبکه ای اجازه میدهد تا بتوانند میزان از دست رفتگی بستهها یا اطلاعات را برآورد کرده و آن را به صورت درصدی یا تعدادی بیان کنند.در شبکههای IP محور، یکی از روشهای معمول برای سنجش دست رفتگی بسته ها، استفاده از روشهایی مانند ICMP (Internet Control Message Protocol) است. در اینگونه روشها، از بستههای ICMP به عنوان بستههای کنترل استفاده می شود تا packet loss و زمان پاسخ دهی به درخواستها مشخص شود.به علاوه، در شبکههایی که از پروتکلهایی مانند SNMP (Simple Network Management Protocol) پشتیبانی میکنند، میتوان از ابزارهای مدیریت شبکه استفاده کرد تا اطلاعات مربوط به حجم دست رفتگی داده ها را به صورت مشخص و دقیق دریافت کرد.این ابزارها معمولاً قابلیت نمایش نمودارها و آمارهای مرتبط با دست رفتگی بستهها را در اختیار کاربران قرار میدهند.
برخی از ابزارهای معروف برای سنجش دست رفتگی بستهها در شبکه عبارتند از:
- Ping: روش Ping برای ارسال بستههای ICMP به یک مقصد و دریافت پاسخ آن مورد استفاده قرار می گیرد. با استفاده از این ابزار میتوان میزان دست رفتگی بستهها را سنجید و زمان پاسخ دهی درخواستها را بررسی کرد.
- Traceroute: روش Traceroute برای پیدا کردن مسیریابی بستهها از یک دستگاه مبدأ تا یک دستگاه مقصد کاربرد دارد. با استفاده از این روش میتوان مشخص کرد که در کدام بخش از مسیر احتمال دست رفتگی بستهها وجود داشته است.
- Wireshark: Wireshark یک ابزار تحلیل بسته است که به شما اجازه میدهد تا packet ها را در شبکه ضبط و تحلیل کنید. با استفاده از Wireshark میتوانید بستههایی که از دست رفتهاند یا با خطا مواجه شده اند را شناسایی کنید.
- SNMP Monitoring Tools: ابزارهای مانیتورینگ SNMP با استفاده از پروتکل SNMP امکان رصد را برای شما مهیا می کنند. این ابزارها اطلاعات مربوط به دست رفتگی بستهها و سایر آمارها و معیارهای مربوط به آن را جمعآوری کرده و گزارش می دهند.
- Packet Loss Test Tools: برخی از ابزارهای خاص برای سنجش دقیق دست رفتگی بستهها عبارتند از IPERF، PRTG Network Monitor و NetBeez. این ابزارها امکان ارسال بستههای تست و سنجش دقیق دست رفتگی بستهها را فراهم میکنند.
کنترل و جلوگیری از وقوع Packet Loss
کنترل packet loss میتواند از طریق اقدامات زیر انجام شود:
- بهینهسازی شبکه: بهینهسازی تنظیمات شبکه و استفاده از الگوریتمها و پروتکلهای مناسب میتواند به کاهش packet loss کمک کند. اقداماتی نظیر استفاده از الگوریتمهای مسیریابی بهینه، تنظیم مناسب پهنای باند و مدیریت ترافیک شبکه.
- استفاده از شبکههای پویا و افزایش پهنای باند: استفاده از شبکههای پویا مانند MPLS و افزایش پهنای باند شبکه میتواند از دست رفتگی بستهها را کاهش دهد. این اقدامات میتوانند امکان انتقال بستهها با سرعت بیشتر و بدون از دست رفتگی را تقویت کنند.
- استفاده از تکنولوژیهای خطایابی و بازیابی: استفاده از تکنولوژیهایی مانند فرآیندهای بازیابی خطا، رمزگذاری و تصحیح خطا، و روشهای تقویت شبکه میتواند به جلوگیری از دست رفتگی بستهها کمک کند.
- استفاده از تکنولوژیهای تعادل بار: استفاده از روشهای توزیع بار یا Load Balancer میتواند به توزیع مناسب ترافیک و کاهش فشار بین سرورها و شبکه کمک کند.
- مانیتورینگ و عیبیابی: مانیتورینگ شبکه و استفاده از ابزارهای عیبیابی مانند ابزارهای مدیریت شبکه (Network Management Tools) و ابزارهای تست دسترسی (Access Testing Tools) میتواند به شناسایی دلیل از دست رفتگی بستهها و اتخاذ تدابیر مناسب برای کنترل آنها کمک کند.
همانطور که گفتیم، مسیردهی یا روتینگ بخصوص در حوزه کلود یا ابر یکی از عواملی است که میتواند بر packet loss تأثیر بگذارد. با استفاده از روتینگ، بستهها هوشمندانه و با استفاده از الگوریتمهای بهینه مسیریابی به مقصد خود هدایت میشوند.این به معنای انتخاب مسیرهای کوتاه تر و خلوت تری است که میتواند از دست رفتگی بستهها را کاهش دهد.علاوه بر این، استفاده از روتینگ میتواند از ویژگیهایی مانند تعادلسازی بار سرورها، رصد و مدیریت خطا، و پهنای باند نیز برخوردار شوند. با توزیع مناسب بار ترافیکی و استفاده از مسیرهای سبک تر در شبکه، احتمال دست رفتگی بستهها کاهش مییابد.یکی دیگر از رویکردهایی که می تواند به کاهش احتمال packet loss کمک کند، web bundle کردن بسته هاست. باندلینگ یک روش قدرتمند برای بستهبندی و بهینهسازی منابع وب است که جهت افزایش سرعت و بهبود عملکرد وبسایتها مورد استفاده قرار می گیرد. اما می توان از این روش برای مدیریت بسته ها نیز استفاده کرد.
تأثیر CDN در Packet loss
اگر کمی عمیق تر دقت کنیم، میتوانیم این نکته را نیز دریابیم که دست رفتگی بستهها و سرویس شبکه CDN (Content Delivery Network) نیز می توانند با یکدیگر ارتباط مستقیم داشته باشند.CDN به منظور بهبود سرعت و عملکرد فرآیند تحویل محتوا (بسته ها)، از شبکه حاوی سرورها در سراسر جهان مورد استفاده قرار می گیرند. با تکرار محتوای استاتیک در سراسر این شبکه، بستههای درخواستی کاربر به سمت نزدیکترین سرور هدایت میشوند.در CDN ها، از تکنولوژیهایی مانند مسیریابی هوشمند (Anycast) و توزیع بار برای بهبود عملکرد و کاهش Packet loss استفاده میشود. با توزیع بار ترافیک و هدایت بستهها بین سرورهای cdn و سرورهای اصلی آماده تر (از لحاظ الگوریتم های مختلف)، احتمال دست رفتگی بستهها کاهش یافته و عملکرد شبکه بهبود مییابد.در این بین، Anycast یک روش مسیریابی است که در شبکههای مبتنی بر IP و به منظور بهبود عملکرد و کاهش زمان دسترسی در شبکه مورد استفاده قرار می گیرند. در این روش، یک آدرس IP به چندین سرور متصل شده (به اصطلاح در شبکه در روترها advertise می شود) و بستههای درخواستی از طریق مسیریابی به نزدیکترین سرور ارسال میشوند.
جمع بندی
منظور از Packet Loss از بین رفتن بستههای داده یا بخشی از اطلاعات درون آنها حین برقراری ارتباطات شبکهای است که می تواند به دلایلی مانند ضعف اتصال، ترافیک بالا، خطاهای سختافزاری یا نرمافزاری و یا مشکلات مسیریابی رخ دهد.Packet Loss میتواند تأثیر مستقیمی بر کیفیت و عملکرد شبکه، ارتباطات real-time ،تماسهای صوتی و تصویری آنلاین، و همچنین تجربه کاربری در استفاده از سرویس های اینترنتی داشته باشد.همانطور که در این مطلب گفته شد، برای اندازهگیری Packet Loss، از ابزارهای مانیتورینگ شبکه کمک گرفته می شود که اطلاعاتی مانند تعداد بستههای از دست رفته و درصد Packet Loss را نمایش میدهند.برای کنترل Packet Loss نیز میتوان از روشهایی مانند بهبود عملکرد شبکه، بهبود اتصالات، استفاده از تکنولوژیهای مختلف مسیریابی، استفاده از تکنیکهای بازیابی اطلاعات از دست رفته و استفاده از پروتکلها و الگوریتمهای جبران خطا مانند FEC (Forward Error Correction) استفاده کرد.همچنین، استفاده از شبکههای CDN (Content Delivery Network) و بهرهگیری از مسیریابی هوشمند و توزیع بار نیز میتواند به کاهش Packet Loss و بهبود عملکرد شبکه کمک کند.
ارائه دهنده خدمات زیرساخت یکپارچه ابری