پروتکل ICMP

internet control message protocol  یا پروتکل ICMP یکی از اساسی ترین و پایه ترین پروتکل های کاربردی میباشد، با استفاده از این پروتکل میتوانیم جهت تست و خطایابی در یک شبکه کامپیوتری، روتر، هاست ها و بطور کلی بررسی ارتباط میان 2 کامپیوتر، سرور و روتر استفاده کنیم.

آی سی ام پی برای IP V4  و همچنین IP V6 وجود دارد که با نام های ICMPv4 و ICMPv6 نیز شناخته میشود.

بطور کلی این پروتکل وظیفه ارائه گزارش تست ها  و خطا های بسته های ارسالی را دارد، با استفاده از این گزارشات که بطور کامل در مسیر 2 سرور یا شکبه یا روتر اتفاق می افتد مدیر یک شبکه قادر خواهد بود تا ایرادات شبکه خود را بررسی و رفع کند. تعدادی از دستورات و پیغامهایی مابین سرور ها و روترها رد و بدل میگردد تا دستگاه های در حال تست را بتوان از بروز خطا مطلع ساخت.

آشنایی با پروتکل ICMP

پروتکل ICMP در مدل 5 لایه ای شبکه، در لایه Network  قرار دارد و کاربرد آن نیز مانند پروتکل های لایه انتقال میباشد.

یکی از پرکاربردترین دستورات این پروتکل که در تمامی سیستم عامل ها، سرور ها، روتر ها و … کاربرد بسیار فروان و حائز اهمیتی دارد دستور PING  میباشد. این دستور بصورت ساده برای چک کردن ارتباط بین 2 دستگاه متصل به یک شبکه کاربرد فراوانی دارد که عملکرد آن بدین صورت میباشد که، با اجرای دستور پینگ و سپس مقصد، یک بسته از کامپیوتر مبدا به سمت کامپیوتر یا دستگاه  مقصد ارسال میگردد، دستگاه مقصد درصورتی که پیغام به مقصد رسیده باشد در برخورد با این دستور، پاسخی به سمت درخواست کننده ارسال میکند که با Replay  به آن پاسخ داده میشود، از طریق این پیغام ریپلای میتوان دریافت که اتصال بین دستگاه برقرار هست یا خیر. همچنین در شبکه های داخلی پرترافیک و وایرلس مدت زمان بازگشت پیغام نیز بسیار مهم میباشد، به عنوان مثال در شبکه وایرلس خانگی هنگامی که مودم خود را پینگ میگیرد و ریپلای آن بیشتر از 5-6 میلی ثانیه باشد مطمئنا ایرادی در ارتباط وجود دارد.

پیغام های ارسال شده و دریافت شده با استفاده از دستور ping در پروتکل ICMP عبارت است از پیغام Echo Request برای نمایش وضعیت دستگاه مقصد که درصورت دریافت پیغام مبنی بر درخواست اعلان وضعیت، با پیغام Echo Replay وضعیت خود را برای درخواست دهنده مشخص میکند.

در صورتی که ارتباط بین دو دستگاه با استفاده از دستور پینگ روی پروتکل ICMP دچار مشکل باشد یا برقرار نباشد با پیغام Request Time Out به دستگاه درخواست دهنده وضعیت مواجه خواهد شد. همچنین پیغام Timestamp Request مدت زمان ارسال و دریافت یک بسته را اطلاع میدهد که در واقع با اطلاع این پیغام زمانهای بازگشتی را در دستور ping مشاهده میکنیم.

در ساختار خود ICMP فیلدهایی وجود دارد که کاربرد و معنی آنها بشرح زیر میباشد:

‫ﻓﯿﻠﺪ ‪ :Type عددی که در این فیلد قرار میگیرد نشان دهنده نوع پیغام میباشد که ساختار های Data  و Parameters با توجه به عددی که در این فیلد قرار میگیرد میتواند کاملا متفاوت باشد.

‫ﻓﯿﻠﺪ ‪ : هنگامی که خود نوع پیغام به چند نوع ریزتر تقسیم میگردند کد نوع های ریزتر در این فیلد قرار داده میشود.

‫ﻓﯿﻠﺪ ‪ :Checksum محتوای فیلد چک سام برای اعتبار سنجی سلامت بسته ICMP مورد استفاده قرار میگیرد.

همچنین پیغام هایی که احتمال دارد شما در برخی مواقع به هنگام استفاده از دستور ping با آنها برخورد کنید که برخی از آنها به شرح زیر میتواند باشد:

Destination Unreachable: خود این پیغام به زیرمجموعه های دیگری نیز تقسیم میگردد و در واقع هنگامی که پیغام ارسالی Echo Request  نتواند از طریق روترهای موجود در شبکه ، آدرس شبکه مد نظر را پیدا کند تشخیص دهد این پیغام بازگشت داده میشود. این پیغام دلایل بسیاری میتواند داشته باشد، به عنوان مثال شما وقتی روی مودم خود اینترنت ندارید و قصد دارید 4.2.2.4 را پینگ بگیرید یا پیغام Request Timed Out را مشاهده میکنید که یعنی کلا پاسخی دریافت نشد و یا میتوانید پیغام Destination Net Unreachable  را به مشاهده کنید. همچنین احتمال دارد شبکه که قصد ping آن را دارید اجازه پینگ را به شما ندهد که با پیغام Request Timed Out برخورد خواهید کرد. یا شبکه مد نظر در صورتی که تحت هر دلیلی(مسدود شدن شبکه مد نظر، محدود بودن آن و ….) در دسترس نباشد میتوانید با ارور Destination host Unreachable مواجه شوید.

Time Exceeded : به هنگام استفاده از دستور ping ، هر پیغام دارای زمان و مهلتی میباشد که در صورت منقضی شدن آن با این پیغام مواجه خواهید شد.

از دیگر دستورات مهم و کاربردی پروتکل ICMP دستور تریس میباشد، این دستور جهت بررسی وضعیت روترها و شبکه هایی که بسته شما آنها را طی میکند تا به مقصد برسد را بررسی میکند. برای استفاده از این دستور وارد CMD در ویندوز شوید و دستور زیر را تایپ کنید

tracert faraso.org

که در اینجا به جای faraso.org بایستی آی پی شبکه و یا دامنه مد نظر جهت اجرای تریس را وارد کنید.

دستور Trace کاربرد های بسیار مهمی مخصوصا برای مدیران شبکه دارد به عنوان مثال شما در نظر بگیرید که یکی از مشترکین سایت فراسو در برخی ISP ها امکان مشاهد وب سایت فراسو را ندارد در صورتی که با سایر اینترنت ها و ISP ها مشکلی در باز شدن سایت وجود ندارد و فقط مشکل روی یک یا چند آی پی روی شبکه ISP خاص وجود دارد. مدیر شبکه فراسو به جهت اینکه قادر به تشخیص این مورد باشد از کاربری که با این مشکل مواجه هست درخواست میکند از شبکه و ایننرنت دارای مشکل یک تریس به سمت سرور فراسو گرفته و نتیحه آن را ارسال کند. هنگامی که کاربر تریس را تهیه میکند بسته حاوی پیغام از تمامی روتر های وسط راه وجود دارد عبور میدهد تا به شبکه فراسو برسد.در این میان روی روتر شبکه خاص یا لینک خاص اگر مشکلی وجود داشته باشد مشخص میگردد و مدیر شبکه فراسو قادر هست تا از طریق ارتباط با لینک دارای مشکل، پیگیر مشکل برای رفع آن باشد.

انتخاب آسان هاست و سرور مجازی