در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

ICMP چیست ؟ معرفی و تشریح کامل پروتکل Messaging اینترنت قسمت 1

سلام خدمت دوستان عزیز ITPRO ای.در این سری از مقالات قصد دارم به تشریح کامل پروتکل ICMP بپردازم.با ما همراه باشید...

مقدمه

پروتکل IP برای سرویس دیتاگرام host-to-host در یک سیستم شبکه های بهم وصل شده یا interconnected که در اصطلاح Catenet گفته میشود مورد استفاده قرار میگیرد.دستگاه های متصل به شبکه را Gateway میگویند.این Gateway ها برای برقراری ارتباط بین خودشان برای کنترل اهداف خود از پروتکلی بنام GGP یا Gateway to Gateway Protocol استفاده میکنند.بعضی اوقات یک Gateway یا سیستم مقصد از با استفاده از آدرس مبدأ ارتباط برقرار خواهد کرد.مثلا برای گزارش خطا در پردازش دیتاگرام.برای اهداف چنین پروتکل هایی Internet Control Message Protocol یا پروتکل ICMP مورد استفاده قرار میگیرد.ICMP با پشتیبانی اولیه از پروتکل IP اگر بعنوان پروتکل سطح بالا بود.

در هر حال پروتکل icmp بخش جدائی ناپذیر از پروتکل IP است.و باید در هر مدلی از پروتکل IP پیاده سازی شود.پیام های ICMP در موقعیت های مختلفی ارسال میشوند برای مثال وقتی دیتاگرامی نمیتواند به مقصدش برسد،یا مثلا وقتی Gateway ای ظرفیت بافرش برای forward کردن دیتاگرام کافی نیست.و یا وقتی gateway به طور مستقیم و با کوتاهترین مسیر میتواند ترافیک را به مقصدش ارسال کند. پروتکل IP قطعا به طور reliable یا قابل اعتماد طراحی نشده است.هدف از این پیام های کنترلی فراهم آوردن واکنشی در برابر وجود چنین مشکلاتی در ارتباطات است.

که باز هم با وجود این پروتکل(ICMP) پروتکل IP قابل اعتماد نیست.بدین شرح که هیچ تضمینی برای به مقصد رسیدن دیتاگرام به مقصد و برگشت پیام ICMP به کاربر وجود ندارد.شاید برخی دیتاگرام ها بدون گزارش های مبنی بر loss شدن آنها به مقصد نرسند.برخی از پروتکل های لایه بالاتر که از IP استفاده میکنند باید reliable ساخته شوند در صورتیکه ارتباطات مبتنی بر آن پروتکل نیازمند چنین ارتباطی هست.پیام های ICMP معمولا گزارش های مبتنی بر خطا در پردازش دیتاگرام را شامل میشوند.پیام های ICMP تنها برای بررسی فرگمنت صفر یا fragment zero در دیتاگرام فرگمنت شده ارسال میشوند.(fragment zero برابر offset ای برابر صفر است.)

قالب پیام های ICMP

پیام های ICMP بوسیله هدر اصلی پروتکل IP ارسال میشوند.اولین اکتت از اطلاعات قسمتی از دیتاگرام شامل field ای است که نشان دهنده نوع ICMP است.(icmp v4 یا icmp v6)

ارزش این field تعیین کننده ی قالب اطلاعات باقی مانده میباشد.هر field ای که بعنوان "unused" مارک زده یا labal شده است برای extension های بعدی رزرو شده است و وقتی ارسال میشود باید صفر باشد اما گیرندگان نباید از این field استفاده کنند(بجز در فیلد checksum که شامل آن میشوند).مگر اینکه در غیر اینصورت توسط یک فرد به طور اختصاصی فرمتش ذکر شده باشد).

مقادیر فیلد internet header به شرح زیر است:

  • version:مقدار این فیلد برابر 4 است.
  • Internet Header Length یا IHL : طول IHL برابر 32 بیت باشد.
  • Type of Service: این فیلد ارزشش برابر صفر(0) است.
  • Total Length: طول internet header و اطلاعات در اکتت را شامل میشود.
  • Identification،Flagsو Fragment Offset در fragmentation استفاده می شود.
  • Time to Liveیا TTL: این فیلد در هر ماشین که دیتاگرام پردازش میشود از مقدارش کاسته میشود.TTL تعیین کننده تعداد Hop های مجاز ما در یک مسیر ارتباطی می باشد.
  • Header Checksum: مقدار این فیلد در Header برابر 16 بیت است.برای محاسبه ی فیلد checksum باید فیلد checksum برابر صفر باشد.این checksum ممکن است در دفعات بعدی جایگزین شود.
  • Source Address:همنانطور که از نامش مشخصی است آدرس host یا gateway ای است که پیام ICMP را تولید میکند.مگر اینکه بر خلاف تصور میتواند آدرس هر Gateway ای باشد.
  • Destination Address:آدرس host یا gateway ای که پیام ICMP به آن خواهد رسید می باشد.

تحلیل پیام Destination Unreachable:

ICMP چیست ؟ معرفی و تشریح کامل پروتکل Messaging اینترنت قسمت 1

*code:*
0=net unreachable
1 = host unreachable
2 = protocol unreachable
3 = port unreachable
4=fragmentation needed and DF set
5 = source route failed
  • Checksum:توضیح داده شده است.
  • Internet Header + 64 bits of Original Data Datagram:این اطلاعات توسط host برای پردازش مناسب مورد مقایسه قرار میگیرد.اگر پروتکل های سطوح بالاتر از شماره port ها استفاده کنند آنها در 64 بیت اول از دیتاگرام اصلی(original datagram) در نظر گرفته میشوند.

توضیحات:در این توضیحات نمونه ها و شرایطی که باعث برگرداندن پیام destination host is unreachable به فرستنده پیام ICMP یا source host میشود را مورد بررسی قرار میدهیم:

1-با توجه به اطلاعات موجود در جداول مسیریابی gateway ها اگر فیلد مقصد یا destination field از دیتاگرام یک شبکه در اینترنت قابل دسترس نباشد مسافت تا شبکه مورد نظر بینهایت میشود.gateway شاید پیامی مبنی بر destination host is unreachable به host یا میزبان مبدأ در دیتاگرامش میفرستد.Gateway ها در این شبکه ها شاید پیام destination host is unreachable را به host مبدا ارسال کنند اگر host مقصد در دسترس نباشد.

2-اگر در host مقصد ماژول های IP دچار اختلال شود مثلا سیستم پردازش port ها غیرفعال باشد و نتواند به درستی دیتاگرام تحویل داده شود در این صورت ممکن است host مقصد پیام destination host is unreachable را به host مبدا یا source host ارسال کند.

3-نمونه های دیگر هم ممکن است flag مربوط به fragmentation فعال یا ON نباشد.چون در اینجا باید Gateway دیتاگرام را fragment کند و بعد ارسالش کند.در اینجا ممکن است Gateway دیتاگرام را discard و یا پیام destination host is unreachable را برگرداند.

نکته:code های 0 ، 1 ،4 و 5 ممکن است از طرف Gateway دریافت شوند.و code های 2 و 3 ممکن است از طرف host دریافت شوند.

ادامه دارد...

نویسنده : امیرحسین کریم پور

منبع : جزیره شبکه و زیرساخت وب سایت توسینسو

مرجع: RFC792

هر گونه نشر و کپی برداری بدون ذکر نام منبع و نویسنده دارای اشکال اخلاقی می باشد.

#پروتکل_icmp #مفهوم_پروتکل_چیست #مکانیزم_کاری_پروتکل_icmp #پروتکل_icmp_چیست #تشریح_پروتکل_icmp #انواع_پروتکل_های_شبکه #icmp_چیست؟ #پروتکل_های_لایه_3_مدل_osi
عنوان
1 ICMP چیست ؟ معرفی و تشریح کامل پروتکل Messaging اینترنت قسمت 1 رایگان
2 ICMP چیست ؟ معرفی و تشریح کامل پروتکل Messaging اینترنت قسمت 1 رایگان
زمان و قیمت کل 0″ 0
2 نظر
بهروز   سیروس زاد

مهندس عالي هست مباحث RPC و IEEE جاش تو انجمن خالي بود

امیرحسین کریم پور

متشکرم مهندس سیروس زاد عزیز.

تصمیم دارم کامل ترین مقالات رو برای پروتکل ICMP و انشالا سایر پروتکل تو وبسایت قرار بدم.

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....