پروتکل ICMP چیست؟
پروتکل ICMP چیست؟ جهت اینکه بتوان اطلاعات وضعیت (status) یا پیام های خطا را مبادله کرد، نود ها در شبکه های TCP/IP به پروتکل کنترل پیام اینترنت ICMP دسترسی دارند. ICMP مخفف Internet Control Message Protocol و به طور خاص، سرورهای اپلیکیشن و روتر ها یا gateway ها از پسوند IP جهت نمایش اعلان مشکلات دیتاگرام به فرستنده بسته ها استفاده می کنند. ساختار، نحوه عملکرد و طبقه بندی در پشته پروتکل اینترنت در RFC 792 در سال 1981 مشخص شده است. در نسخه 6 پروتکل اینترنت RFC 4443 به عنوان پیاده سازی خاص ICMPv6 تعریف شده است.
پروتکل ICMP چیست؟
فهرست مطالب
طبق تعریف ICMP یک پروتکل مستقل می باشد، حتی اگر اعلان های مختلف در بسته های IP معمولی یکپارچه شوند. برای این منظور، پروتکل اینترنت با پسوند اختیاری به عنوان یک پروتکل لایه بالاتر رفتار می کند. بسیاری از سرویسهای شبکه که اغلب استفاده میشوند، مانند traceroute یا ping، بر اساس پروتکل ICMP می باشند.
ICMP چگونه کار می کند؟
جهت درک نحوه عملکرد پروتکل، ابتدا بایستی به ساختار ICMP و یا هدر نگاهی داشته باشیم. این ساختار به طور مستقیم به هدر IP مرتبط است که با پروتکل شماره 1 و یا 58 (ICMPv6) در قسمت IP “پروتکل” مشخص شده است. ناحیه داده header پروتکل کنترل پیام اینترنت محدود است و به شکل زیر می باشد:
نحستین فیلد از “نوع” 8 بیتی نوع اعلان بسته ICMP را مشخص می نماید. این اطلاعات را می توان با فیلد “Code” که 8 بیت است مشخص نمود. به عنوان مثال، یک پیام ICMP نوع 3 مشخص می کند که مقصد بسته داده در دسترس نیست، در حالی که فیلد code این اطلاعات را جهت تعیین اینکه آیا شبکه مقصد (0)، میزبان مورد نظر (1) یا پورت هدف (3) است، مشخص می کند، تا تنها به درخواست های جدید پاسخ دهد. فیلد checksum در ICMP اطلاعات مربوط به نوع پیام را دنبال می کند و از صحت اعلان اطمینان می دهد. این کار به همان روشی انجام می شود که سایر checksum های پروتکل های استاندارد (IP، UDP، TCP) عمل می کنند.
انواع Packet های ICMP
با توجه به طول فیلد 8 بیتی، 256 نوع پیام ICMP مختلف از نظر تئوری امکان پذیر می باشند که حدود 40 مورد از آنها ثابت شده اند (از جمله برخی از انواع منسوخ شده) و برخی جهت استفاده آزمایشی مسدود شده اند.
بیشتر اعداد (42-252) در حال حاضر اختصاص داده نشده اند، اما در اصل رزرو شده اند. IANA (Internet Assigned Numbers Authority) مسئول تخصیص اعداد است و همچنین تخصیص فضاهای آدرس IP و پورت ها را تنظیم می نماید. ما برخی از مهم ترین انواع بسته ها را بر اساس پروتکل کنترل پیام اینترنت در جدول زیر خلاصه کرده ایم:
ICMP type | ICMPv6 type | Type name | Code | Description |
---|---|---|---|---|
3 | 129 | Echo Reply | Test for presence by answering a network ping | |
1 | Destination Unreachable | 0–15 | An ICMP message that informs, amongst others things, the inaccessibility that specific components (network, protocol, port, host) in the field “code” have with routing problems or firewall blocking. | |
5 | 137 | Redirect Message | 0–3 | Notifying the redirection of a packet for the specified network (0), the specified service and the network (2), or the specified service and host (3). |
8 | 128 | Echo Request | Network ping | |
9 | 134 | Router Advertisement | Used by routers to communicate with different network clients. | |
11 | 3 | Time Exceeded | 0 oder 1 | Status reports, that either report the lifespan (time to Live, TTL) of a packet (0), or the waiting time until the assembly of fragmented packets (1) has expired. |
13 | 13 | Timestamp | This provides the corresponding IP packet with a time stamp, which corresponds to the dispatch time and serves the synchronisation of two computers. | |
14 | – | Timestamp Reply | Response message an ICMP timestamp that the addressee sends after receiving one. | |
30 | – | Traceroute | An outdated ICMP message type used to track the path of a data packet in the network: today, email requests and repetitions are mainly used for this purpose. |
استفاده از ICMP و ICMPv6
ICMP از نقطه نظر ارتباط در شبکه های IP بسیار مهم است و به ویژه توسط روترها مورد استفاده قرار می گیرد. با این حال، سرورها و کلاینتها نیز از قابلیتهای پیامهای مرتبط با پروتکل اینترنت بهره می برند و با انجام این کار، اطلاعات مهم شبکه را به دست میآورند.
یک سناریوی استفاده رایج، پینگ “Ping” شبکه است که می تواند از طریق command line ویا ترمینال سیستم عامل مربوطه با استفاده از برنامه هایی با همین نام اجرا شود. ابزار تشخیصی ساده اما مفید، ساده ترین گزینه جهت بررسی در دسترس بودن یک میزبان خاص در شبکه است. جهت انجام این کار، پینگ یک بسته IP شامل ICMP (v6) “Echo Request” (نوع 8 یا 128) را ارسال می نماید. پس از دریافت این بسته، گیرنده با یک بسته داده حاوی ورودی ICMP “Echo Reply” (نوع 0 یا 129) پاسخ می دهد. چنانچه سیستمی که پینگ به آن ارسال شده غیرقابل دسترسی باشد، آخرین نود شبکه قابل دسترس، packet پاسخ را ارسال می کند. فرایند نیز توسط یک مؤلفه ICMP گسترش می یابد: نوع 3 یا 1 «مقصد غیرقابل دسترس (Destination Unreachable) ».
روترها نیز به نوبه خود از ICMP جهت اهداف مختلف استفاده می کنند: در هر آگاهی(advertisement) روتر (ICMP نوع 9، ICMPv6 نوع 134) آنها تنظیم می شوند، برای مثال همه کاربران فعال شبکه را در فواصل زمانی منظم در مورد حضورشان و اطلاعات مختلف شبکه تنظیم می نمایند. آنها داده های دریافتی را در حافظه پنهان خود ذخیره می کنند و روتر را به gateway استاندارد تبدیل می نمایند. علاوه بر این، روترها سعی می کنند مسیر بسته های داده در شبکه را از طریق تغییر مسیرهای ICMP (نوع 5 یا 137) بهینه کنند. با استفاده از این نوع پیام، اینترفیس های شبکه به میزبان به وجود اولین هاپ”hop” (ایستگاه میانی “intermediate station”) بهتر جهت ارسال بسته های IP اشاره می کنند.
کابل های فیبر نوری
پاورمتر فیبر نوری
دستگاه OTDR
تست شبکه فیبر نوری
نظرات کاربران