آشنایی با پروتکل ICMP
پروتکل پیام کنترل اینترنت (ICMP) چیست؟ شاید برای شما هم سوال باشد که چرا ICMP اهمیت دارد؟ این پروتکل شبکهای است که به دستگاهها کمک میکند مشکلات ارتباطی را شناسایی کنند. در اصل بررسی میکند که آیا دادهها به مقصد میرسند یا نه. این پروتکل معمولا در روترها و سایر شبکهها استفاده میشود. ICMP برای تشخیص و گزارش خطاها مهم است، اما گاهی در حملات سایبری DDoS نیز مورد استفاده قرار میگیرد.
ICMP چیست؟
Internet Control Message Protocol (ICMP)، پروتکلی است که برای گزارش خطا و ارسال پیامهای کنترلی در شبکههای پروتکل اینترنت (IP) استفاده میشود. در اصل، ICMP یک پروتکل پشتیبانی برای IP است، زیرا امکان برقراری ارتباط پیامهای خطا بین دستگاههای موجود در شبکه را برای عملکرد بهتر فراهم میکند. پروتکل ICMP در مدل OSI در لایه سوم قرار دارد چون دقیقا کنار IP کار میکند.
ICMP با IP ارتباط برقرار میکند تا خدمات مدیریت خطاهای مهمی مانند عیب یابی مشکلات مسیریابی ترافیک، پیکربندی شبکهها و کشف اجزای شبکه را ارائه دهد. این سرویسها با نظارت فعال و گزارش دهی در مورد مسائل مربوط به دسترسی و اتصال، به حفظ عملکرد مناسب خدمات شبکه مانند سیستم نام دامنه (DNS)، پروتکل کنترل انتقال (TCP) و پروتکل دادهگرام کاربر (UDP) کمک میکنند. در این مقاله، اجزا و عملکردهای کلیدی پروتکل ICMP، انواع پیام آن و نحوه عملکرد آن را مورد بحث قرار خواهیم داد.
ساختار ICMP
پروتکل پیام کنترل اینترنت شامل دو بخش اصلی است :
- هدر پیام
- بدنه پیام
قالب هدر
هدر شامل هشت بایت است که به چهار قسمت تقسیم میشود که در زیر نشان میدهیم :
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
فیلد تایپ
فیلد نوع تابع پیام را توصیف میکند و یک فیلد 8 بیتی اجباری است که نوع پیام ICMP را مشخص میکند. برخی از انواع ضروری پیام ها به شرح زیر است:
| کد | پیام |
|---|---|
| کد0 | پاسخ اکو |
| کد3 | مقصد غیرقابل دسترس |
| کد4 | خاموش کردن منبع |
| کد5 | تغییر مسیر پیام |
| کد8 | پیام اکو |
| کد9 | تبلیغات روتر |
| کد10 | درخواست روتر |
| کد11 | زمان بیش از حد |
پاسخ اکو: در شبکههای کامپیوتری، برای بررسی دسترسی و سرعت پاسخ دهی استفاده میشود.
مقصد غیرقابل دسترسی: این پیام به معنی این است که مقصد در دسترس نیست، مشکل از شبکه یا تنظیمات اشتباه است.
خاموش کردن منبع: دلیل این پیام غیر فعال کردن یک منبع مشخص در شبکه است.
تغییر مسیر پیام: این پیام برای هدایت یک پیام به مقصد جدید استفاده میشود.
پیام اکو: از این پیام در هنگام فرستادن درخواست اکو به یک مقصد خاص استفاده میشود.
تبلیغات روتر: این پیام برای ارسال اطلاعات روتر به سایر دستگاههای شبکه داده میشود.
درخواست روتر: این پیام برای دریافت اطلاعات از روتر استفاده میشود.
زمان پیش از حد: این پیام به معنی اتمام زمان مجاز برای انجام عملیات است.
فیلد کد
فیلد کد یک فیلد 8 بیتی است که معمولا به عنوان اطلاعات تکمیلی برای فیلد نوع استفاده میشود. یک پیام ICMP حاوی کدی است که منحصرا با نوع آن مرتبط است. در حالی که همه پیامها دارای اطلاعات کد تکمیلی نیستند، برخی از آنها برای درک کامل به آن بستگی دارند.
فیلد Checksum
فیلد Checksum که 16 بیت است برای بررسی یکپارچگی دادهها استفاده میشود. توسط میزبان فرستنده بر اساس هر پیام محاسبه میشود و هیچ پیش بینی برای خطا در بررسی فیلد جمع بندی وجود ندارد.
بدنه پیام
بعد از هدر، بخش متن پیام با طول متغیر، بسته به پیام ICMP خاص، دنبال میشود. طول تابعی از فیلدهای نوع و کد است و معمولا شامل موارد زیر است:
- هدر بسته IP اصلی
- بخشی از بسته داده IP اصلی
- اطلاعات کنترلی مربوط به عملیاتهای مختلف
پرسرعت با عملکردی بینقص
استفاده از سرورهای قدرتمند، هاردهای پرقدت و امنیت بالا، تضمین کننده عملکردی خوب و حرفهای برای کسب و کار شما است. پویان آی تی با ارائه هاستهای پرسرعت و امن بهترین انتخاب برای شما است.
انواع پیام ICMP
پیامهای ICMP شامل کدها و پیامهای مختلفی هستند که دستگاهها را از دادههای مختلف در مورد پردازش و اتصال شبکه مطلع میکنند. کدها و پیامهای مختلف دادههای متفاوتی را ارائه میدهند. بنابراین، درک اهمیت هر نوع کد و پیام ICMP مهم است.
انواع مختلفی از کدها و پیامهای ICMP وجود دارد، اما رایجترین آنهایی که برای تشخیص خطاهای شبکه و مشکلات اتصال استفاده میشوند، در زیر به تفصیل توضیح میدهیم :
Echo Request and Echo Reply
درخواست اکو و پاسخ اکو پیام برای آزمایش اتصال بین دستگاهها استفاده میشود. هنگامی که یک دستگاه یک پیام درخواست اکو را به دیگری ارسال میکند، انتظار میرود دستگاه دوم یک پیام پاسخ اکو را ارسال کند. اگر دستگاه دوم پیام درخواست اکو را دریافت کند، با یک پیام پاسخ اکو پاسخ میدهد که نشان میدهد ارتباط بین دو دستگاه فعال است.
Destination Unreachable
Destination unreachable یک پیام ICMP است که نشان میدهد دستگاه قادر به تحویل بسته به مقصد خود نیست. اگر دستگاهی بستههایی با آدرس شبکه یا میزبان نامعتبر دریافت کند، یا اگر دستگاه نتواند مسیری به شبکه مقصد پیدا کند، یک پیام غیرقابل دسترسی به مقصد ارسال میکند. این پیغام خطا به فرستنده اطلاع میدهد که بسته تحویل نشده است، بنابراین فرستنده میتواند برای رفع مشکل اقدام مناسب انجام دهد.
Time Exceeded
زمان بیش از حد یک پیام ICMP است که نشان میدهد بستهای دور انداخته شده است؛ زیرا به محدودیت زمانی خود رسیده است. این پیام معمولا زمانی استفاده میشود که بستهای نتواند در مدت زمان معینی به مقصد برسد، یا زمانی که به روتری میرسد که برای رهایی بستههایی که برای مدت طولانی در حال انتقال بودهاند، پیکربندی شده است.
Redirect
تغییر مسیر یک پیام ICMP است که توسط یک روتر برای اطلاع رسانی به دستگاه منبع استفاده میشود که بهترین راه برای دسترسی به یک شبکه یا میزبان خاص از طریق روتر دیگری است. اگر یک دستگاه مبدا بستهای را به شبکه اشتباه یا راه غیر بهینه ارسال کند، روتر یک پیام تغییر مسیر میفرستد تا فرستنده را از بهترین مسیر مطلع کند.
Time Stamp Request and Time Stamp Reply
درخواست تمبر زمان و پاسخ مهر زمان پیامهای ICMP هستند که برای اندازهگیری تاخیر بین دو دستگاه استفاده میشوند. هنگامی که دستگاهی پیام درخواست مهر زمانی را به دستگاه دیگری ارسال میکند، دستگاه دوم با یک پیام پاسخ مهر زمان که حاوی مهر زمانی فعلی است پاسخ میدهد. با مقایسه این مهرهای زمانی، میتوان تاخیر بین دو دستگاه را محاسبه کرد.
Traceroute
Traceroute یک پیام ICMP است که برای ردیابی مسیر یک بسته از مبدا تا مقصد استفاده میشود. هنگامی که یک دستگاه پیام ردیابی را دریافت میکند، یک سری پیام ICMP حاوی اطلاعاتی در مورد مسیری که برای دست یابی به منبع طی میکند، ارسال میکند.
Source Quench
منبع خاموشی یک پیام ICMP است که برای اطلاع رسانی به فرستنده از حذف بستههای آن به دلیل شلوغی شبکه استفاده میشود. این پیام معمولا زمانی توسط روتر ارسال میشود که بستههای بیشتری از توان خود دریافت میکند و باید جریان ترافیک ورودی را کاهش دهد.
Address Mask Request and Address Mask Reply
درخواست ماسک آدرس و پاسخ ماسک آدرس پیامهای ICMP هستند که برای تعیین زیر شبکه ماسک دستگاه مقصد استفاده میشوند. هنگامی که یک دستگاه پیام درخواست ماسک آدرس را به دستگاه دیگری ارسال میکند، دستگاه دوم با یک پیام پاسخ ماسک آدرس که حاوی زیر شبکه ماسک است پاسخ میدهد.
ICMP چگونه کار می کند؟
پیامهای ICMP معمولا با استفاده از ابزارهای مسیر پینگ و ردیابی ارسال میشوند. ابزارها از پیام درخواست اکو برای تعیین زمان پاسخ بین دستگاه فرستنده و گیرنده استفاده میکنند. هنگامی که یک دستگاه یک پیام ICMP دریافت میکند، ابتدا فیلد نوع را بررسی میکند تا نوع پیام را شناسایی کند. سپس دستگاه قسمت کد را برای هرگونه اطلاعات تکمیلی در مورد پیام بررسی میکند. در نهایت دستگاه پیام پاسخی را ارسال میکند که با نوع پیام دریافتی مطابقت دارد.
کلام آخر
ICMP یک پروتکل است که برای گزارش خطای شبکه استفاده میشود و برای حفظ اتصال ضروری است. هر کد و پیام دارای کاربرد خاصی برای شناسایی و رفع مشکلات شبکه است. از این رو، درک معنا و اهمیت هر پیام برای مدیران و کاربران شبکه برای تشخیص و عیبیابی موفقیت آمیز خطاهای شبکه ضروری است.
سوالات متداول
آیا ICMP خطر امنیتی دارد؟
بله، ICMP امکان دارد که یک خطر امنیتی باشد، زیرا به مهاجمان امکان میدهد از آن برای حملات DDoS مانند ICMP Flood استفاده کنند که این موضوع باعث مصرف بیش از اندازه منابع سیستم هدف میشود.
چرا برخی شبکهها ICMP را مسدود میکنند؟
تعدادی شبکهها، ICMP را مسدود میکنند تا در برابر حملات DDoS مانند ICMP Flood جلوگیری کرده باشند و مصرف پهنای باند را کمتر کنند.
منابع
- https://www.cloudflare.com/learning/ddos/glossary/internet-control-message-protocol-icmp/
به این مقاله امتیاز دهید!
میانگین امتیاز 0 / 5. تعداد رأی ها : 0
هنوز هیچ رأیی داده نشده. اولین نفر باشید!



اولین دیدگاه را اضافه کنید.