آشنایی با پروتکل ICMP
Internet Control Message Protocol (ICMP)، پروتکلی است که برای گزارش خطا و ارسال پیامهای کنترلی در شبکههای پروتکل اینترنت (IP) استفاده میشود. در اصل، ICMP یک پروتکل پشتیبانی برای 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 یک پروتکل است که برای گزارش خطای شبکه استفاده می شود و برای حفظ اتصال ضروری است. هر کد و پیام دارای کاربرد خاصی برای شناسایی و رفع مشکلات شبکه است. از این رو، درک معنا و اهمیت هر پیام برای مدیران و کاربران شبکه برای تشخیص و عیبیابی موفقیتآمیز خطاهای شبکه ضروری است.
به این مقاله امتیاز دهید!
میانگین امتیاز 0 / 5. تعداد رأی ها : 0
هنوز هیچ رأیی داده نشده. اولین نفر باشید!
اولین دیدگاه را اضافه کنید.