ICMP
دﻻﯾﻞ ﻣﺨﺘﻠﻔﯽ ﺑﺮای ﻧﺮﺳﯿﺪن ﯾﮏ ﺑﺴﺘﻪ ﺑﻪ ﻣﻘﺼﺪ وﺟﻮد دارد: ﻣﻤﮑﻦ اﺳـﺖ ”زﻣـﺎن ﺣﯿـﺎت“ ( (TTLﺑﺴـﺘﻪ ﻗﺒـﻞ از رﺳـﯿﺪن ﺑـﻪ ﻣﻘﺼﺪ ﻣﻨﻘﻀﯽ ﺷﻮد؛ ﻣﻤﮑﻦ اﺳﺖ ﻣﺴﯿﺮﯾﺎب ﺑﺴﺘﻪ را ﺑﻪ ﻣﺴﯿﺮی اﺷﺘﺒﺎه ﻫﺪاﯾﺖ ﮐﻨﺪ؛ ﻣﻤﮑﻦ اﺳﺖ در ﻫﻨﮕـﺎم ﻗﻄﻌـﻪ ﻗﻄﻌـﻪ ﮐـﺮدن ﺑﺴـﺘﻪ و ارﺳﺎل آﻧﻬﺎ، ﯾﮑﯽ از ﻗﻄﻌﺎت دﭼﺎر ﺧﻄﺎ ﺷﻮد ﯾﺎ ﺑﻪ ﻫﺮ دﻟﯿﻠﯽ ﺑﻪ ﻣﻘﺼﺪ ﻧﺮﺳﺪ ﺑﻨﺎﺑﺮاﯾﻦ ﮐﻞ دﯾﺘﺎﮔﺮام ﻗﺎﺑـﻞ ﺑﺎزﺳـﺎزی ﻧﺨﻮاﻫـﺪ ﺑـﻮد؛ ﻣﻤﮑـﻦ اﺳﺖ ﻣﻘﺼﺪ ﺑﺴﺘﻪ آﻣﺎدﮔﯽ درﯾﺎﻓﺖ ﺑﺴﺘﻪ را ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ ﯾﺎ اﺻﻼ وﺟﻮد ﺧﺎرﺟﯽ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ. در ﻫﻨﮕﺎم ﺑﺮوز ﻫﺮﮔﻮﻧﻪ ﺧﻄـﺎ، ﭘﺮوﺗﮑـﻞ IP ﺑﻪ ﻓﺮﺳﺘﻨﺪه ﺑﺴﺘﻪ ﻫﯿﭻ اﻃﻼﻋﯽ در ﻣﻮرد ﺳﺮﻧﻮﺷﺖ آن ﻧﺨﻮاﻫﺪ داد. ﻋﺪم ﮔﺰارش ﺧﻄﺎ ﺑﻪ ﺗﻮﻟﯿﺪ ﮐﻨﻨﺪه ﯾﮏ ﺑﺴﺘﻪ ﻣﻨﺠﺮ ﺑﻪ ﺗﮑﺮار ﺧﻄﺎ و ﺣﻤﻞ ﺑﯿﻬﻮده و زاﺋﺪ ﺑﺴﺘﻪ ﻫﺎﯾﯽ ﻣﯽ ﺷﻮد ﮐﻪ ﻣﺤﮑﻮم ﺑﻪ ﻓﻨﺎ و
ﺣﺬف در ﺷﺒﮑﻪ ﻫﺴﺘﻨﺪ. ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﻋﺪم ﮔﺰارش در ﻣﻮرد آﻣﺎده ﻧﺒﻮدن ﻣﻘﺼﺪ ﺑﺮای درﯾﺎﻓﺖ ﺑﺴﺘﻪ ﺑﺎﻋﺚ ﺧﻮاﻫـﺪ ﺷـﺪ ﮐـﻪ ﻓﺮﺳـﺘﻨﺪه آن اﻗﺪام ﺑﻪ ارﺳﺎل ﺑﺴﺘﻪ ﻫﺎی دﯾﮕﺮ ﮐﻨﺪ در ﺣﺎﻟﯽ ﮐﻪ اﯾﻦ ﮐﺎر ﺑﯽ ﺛﻤﺮ ﺧﻮاﻫﺪ ﺑﻮد و ﻓﻘﻂ ﺑﺎر ﺗﺮاﻓﯿﮏ ﺷﺒﮑﻪ را اﻓﺰاﯾﺶ ﻣـﯽ دﻫـﺪ و ﺣﺘـﯽ ﻣﯽ ﺗﻮاﻧﺪ ﻣﻨﺠﺮ ﺑﻪ ﺑﺮوز ”ازدﺣﺎم“ ﺷﻮد.

ساختار پروتکل ICMP :
فیلد TYPE دارای عددی است که نوع پیام و ساختار فیلدهای Parameters و Data میباشد و فیلد Code مقداری در بر داره که به عنوان نوع معرفه یعنی کد تقسیم شده یک پیام رو در بر گرفته و فیلد Checksum که دارای مدت عمر واعتبار بسته ICMP میباشد.
پیام هایی که پروتکل ICMP پس از ارسال به ماشین میزبان گزارش میکنه یکیش پیام Destination Unreachable زمانی که در تعیین آدرس مقصد توسط مسیریاب مشکلی بوجود بیآد یا به هر دلیلی بسته تحویل گرفته نشه این پیام صادر میشه .
و دیگه اینکه پیام Parameter Problem زمانی که مقدار سرآیند در بسته IP نامعتبر و مسیر یاب قادر به تحویل نبوده یا مقادیر باهم برابر نباشه این پیام صادر میشه .
و پیام Time Exceeded زمانی که عمر یک بسته به پایان میرسه یعنی بیشتر از حد مجاز از مسیر یاب عبور کرده باشه و مسیر یاب ناچار بسته را حذف نموده و این پیام صادر میشه .
پیام Redirect زمانی که مسیر یاب یک بسته را به آدرس دیگری حالا هر جا ارسال میکنه برای ماشین میزبان این پیام ارسال میشه که اگر باقی بسته به آدرس دوم ارسال بشه و سپس به آدرس اصلی منتقل بشه بسته با سرعت بیشتری منتقل میشه و پیام Source Quench هم که هرگاه این پیام را ماشین میزبان دریافت نمود بدونین که باید حجم بسته های ارسالی کاهش یابد و زمانی هم که پیام Echo Request صادر شود میگه که آیا ماشین شبکه قابل دسترسی هست یا خیر ؟ که به این عمل در شبکه ping گفته میشه .
حالا اگر هم در مورد همین ping باز توضیح خواستین ما هستیم (ما رو جای داش کوچیکتون بدونین) .
و پیام Echo Reply هم پاسخی است که در جواب پیام Echo Request ارسال میشه .
و آخرین پیام هم Timestamp Request که این پیام زمان دریافت زمان ارسال زمان رفت و برگشت یک بسته را اطلاع میده همچنین میتونه کارایی شبکه و سرعت مسیر یاب رو اندازه گیری کنه این پیام خیلی کارش درسته چندتا کار رو تو یک زمان انجام میده ما که خیلی باهاش حال میکنیم .
پروتکل ICMP برای سیستم ها استفاده می شود تا اطلاعاتی در مورد این که چگونه داده در طول شبکه جاری می شود و یا جریا نمی یابد را مبادله کند.
وقتی که لایه TCP یا UDP بسته را تولید می کنند ان باید در طول شبکه فرستاده شود لایه انتقال(TCP/UDP) بسته را به لایه شبکه برای بردن ان عبور خواهد داد
ﭘﺮوﺗﮑﻞ ICMPدر ﮐﻨﺎر ﭘﺮوﺗﮑﻞ ،IPﺑﺮای ﺑﺮرﺳﯽ اﻧـﻮاع ﺧﻄـﺎ و ارﺳـﺎل ﭘﯿـﺎم ﺑـﺮای ﻣﺒـﺪا ﺑﺴـﺘﻪ در ﻫﻨﮕـﺎم ﺑـﺮوز اﺷـﮑﺎﻻت
ﻧﺎﺧﻮاﺳﺘﻪ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد. در ﺣﻘﯿﻘﺖ ICMPﯾﮏ ﺳﯿﺴﺘﻢ ﮔﺰارش ﺧﻄﺎ اﺳﺖ ﮐﻪ ﺑﺮ روی ﭘﺮوﺗﮑﻞ IPﻧﺼﺐ ﻣـﯽ ﺷـﻮد ﺗـﺎ در ﺻـﻮرت ﺑﺮوز ﻫﺮ ﮔﻮﻧﻪ ﺧﻄﺎ ﺑﻪ ﻓﺮﺳﺘﻨﺪه ﺑﺴﺘﻪ ﭘﯿﺎم ﻣﻨﺎﺳﺐ را ﺑﺪﻫﺪ ﺗﺎ آن ﺧﻄﺎ ﺗﮑﺮار ﻧﺸﻮد. در واﻗﻊ ICMPوﻇﯿﻔﻪ ای در ﻗﺒﺎل وﻗﻮع ﺧﻄﺎ ﻧﺪارد ﺑﻠﮑﻪ ﻓﻘﻂ ﭘﯿﺎﻣﯽ ﮐﻪ ﺑﯿﺎﻧﮕﺮ ﺑﺮوز ﺧﻄﺎ و ﻧﻮع آن اﺳﺖ ﺑﻪ ﻓﺮﺳﺘﻨﺪه ﺑﺮ ﻣﯽ ﮔﺮداﻧﺪ. اﯾﻦ ﭘﺮوﺗﮑﻞ اﺷﮑﺎﻻت ﻣﻮﺟﻮد را در ﻗﺎﻟـﺐ ﯾـﮏ ﺳـﺮی ﭘﯿﺎم ﮔﺰارش ﻣﯽ ﮐﻨﺪ ﮐﻪ اﯾﻦ ﭘﯿﺎم ﺧﻮد در ﯾﮏ ﺑﺴﺘﻪ IPﻗﺮار ﻣﯽ ﮔﯿﺮد ﮐﻪ از ﺟﺎﻧﺐ ﯾﮏ ﻣﺴﯿﺮﯾﺎب ﯾﺎ ﻣﺎﺷﯿﻦ ﻣﻘﺼﺪ ﺑﻪ آدرس ﻓﺮﺳـﺘﻨﺪه ﺑﺎز ﻣﯽ ﮔﺮدد.
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ آﻧﮑﻪ ﭘﯿﺎم ICMPﺧﻮد درون ﯾﮏ ﺑﺴﺘﻪ IPﺟﺎﺳﺎزی ﻣﯽ ﺷﻮد ﺑﻨﺎﺑﺮاﯾﻦ ﻓﯿﻠﺪ Protocolدر ﺳﺮآﯾﻨﺪ ﺑﺴﺘﻪ IPﺑﺎﯾﺪ ﺑﺎ
ﺷﻤﺎره ﻣﺸﺨﺼﻪ ﭘﺮوﺗﮑﻞ ) ICMPﯾﻌﻨﯽ ۱) ﺗﻨﻈﯿﻢ ﺷﻮد. دﻗﺖ ﮐﻨﯿﺪ ﮐﻪ ﺧﻮد ﺑﺴﺘﻪ ﻫﺎی ICMPﻧﯿﺰ ﻣﻤﮑﻦ اﺳـﺖ دﭼـﺎر ﺧﻄـﺎ ﺷـﻮﻧﺪ ﮐـﻪ ﺑﺮای اﯾﻦ ﮔﻮﻧﻪ ﺧﻄﺎ ﭘﯿﺎﻣﯽ ارﺳﺎل ﻧﺨﻮاﻫﺪ ﺷﺪ.
ﻓﯿﻠﺪ :Typeدر اﯾﻦ ﻓﯿﻠﺪ ﻋﺪدی ﻗﺮار ﻣﯽ ﮔﯿﺮد ﮐﻪ ﺑﯿﺎﻧﮕﺮ ﻧﻮع ﭘﯿﺎم ﻣﯽ ﺑﺎﺷﺪ و ﺳﺎﺧﺘﺎر ﻓﯿﻠـﺪﻫﺎی Parametersو Dataﺑﺴـﺘﻪ ﺑﻪ ﻋﺪدی ﮐﻪ در اﯾﻦ ﻓﯿﻠﺪ ﻗﺮار ﻣﯽ ﮔﯿﺮد، ﻣﺘﻔﺎوت ﺧﻮاﻫﺪ ﺑﻮد.
ﻓﯿﻠﺪ :Codeﮔﺎﻫﯽ ﺧﻮد ﻧﻮع ﭘﯿﺎم ﺑﻪ ﭼﻨﺪ ”زﯾﺮ ﻧﻮع“ دﯾﮕﺮ ﺗﻘﺴﯿﻢ ﻣﯽ ﺷﻮد ﮐﻪ ﮐﺪ زﯾﺮ ﻧﻮع در اﯾﻦ ﻓﯿﻠﺪ ﻗﺮار ﻣﯽ ﮔﯿﺮد.
ﻓﯿﻠﺪ :Checksumﻣﺤﺘﻮای اﯾﻦ ﻓﯿﻠﺪ ﺑﺮای ﺳﻨﺠﺶ اﻋﺘﺒﺎر و ﺳﻼﻣﺖ ﺑﺴﺘﻪ ICMPﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﯽ ﮔﯿـﺮد. ﺗﻤـﺎم ﺑﺴـﺘﻪ ICMPﺑﻪ ﺻﻮرت دوﺑﺎﯾﺖ دوﺑﺎﯾﺖ ﺟﻤﻊ ﺷﺪه و ﻧﻬﺎﯾﺘﺎ از ﻣﮑﻤﻞ ۱ ﺣﺎﺻﻞ ﺟﻤﻊ ﻋﺪدی ۱۶ ﺑﯿﺘﯽ ﺑﺪﺳﺖ ﻣﯽ آﯾﺪ ﮐـﻪ درون اﯾـﻦ ﻓﯿﻠﺪ ﻗﺮار ﻣﯽ ﮔﯿﺮد.
در اداﻣﻪ ﻧﻮع و ﺳﺎﺧﺘﺎر ﭘﯿﺎم ﻫﺎی ICMPرا ﺗﻮﺿﯿﺢ ﻣﯽ دﻫﯿﻢ
ﭘﯿﺎم estination Unreachableاﯾﻦ ﭘﯿﺎم زﻣﺎﻧﯽ ﺻﺎدر ﻣﯽ ﺷﻮد ﮐﻪ زﯾﺮ ﺷﺒﮑﻪ ﯾﺎ ﯾﮏ ﻣﺴﯿﺮﯾﺎب ﻧﺘﻮاﻧﺪ آدرس ﻣﻘﺼـﺪ را
ﺗﺸﺨﯿﺺ
ﺑﺪﻫﺪ ﯾﺎ ﺑﻪ ﻫﺮ دﻟﯿﻠﯽ ﺑﺴﺘﻪ ﺗﻮﺳﻂ ﻣﺎﺷﯿﻦ ﻣﯿﺰﺑﺎن ﺗﺤﻮﯾﻞ ﮔﺮﻓﺘﻪ ﻧﺸﻮد (ﻣﺜﻼ ﺑﻪ
دﻟﯿﻞ ﺑﺰرگ ﺑـﻮدن اﻧـﺪازه ﺑﺴـﺘﻪ ﻫـﺎ و ﻋﺪم اﺟﺎزه ﺑﻪ ﻣﺴﯿﺮﯾﺎب ﺑﺮای ﺷﮑﺴﺘﻦ
آن).
ﭘﯿﺎم :Time Exceededاﯾﻦ ﭘﯿﺎم زﻣﺎﻧﯽ ﺻﺎدر ﻣﯽ ﺷﻮد ﮐﻪ ﻣﻬﻠﺖ ﻗﺎﻧﻮﻧﯽ ﯾﮏ ﺑﺴﺘﻪ ﻣﻨﻘﻀﯽ ﺷﺪه ﺑﺎﺷﺪ (ﯾﻌﻨﯽ TTLﺑـﻪ ﺻـﻔﺮ رﺳﯿﺪه ﺑﺎﺷﺪ) و ﯾﮏ ﻣﺴﯿﺮﯾﺎب ﻣﺠﺒﻮر ﺷﻮد آﻧﺮا ﺣﺬف ﮐﻨﺪ؛ در ﭼﻨﯿﻦ ﺣـﺎﻟﺘﯽ اﯾـﻦ ﭘﯿـﺎم ﺑـﻪ آدرس ﻓﺮﺳـﺘﻨﺪه ﺑﺴـﺘﻪ IPﺑـﺮای آﮔﺎﻫﯽ ارﺳﺎل ﺧﻮاﻫﺪ ﺷﺪ.
ﭘﯿﺎم parameter Problemاﯾﻦ ﭘﯿﺎم زﻣﺎﻧﯽ ﺻﺎدر ﺧﻮاﻫﺪ ﺷﺪ ﮐﻪ ﻣﻘﺪار ﻧﺎﻣﻌﺘﺒﺮ در ﯾﮑﯽ از ﻓﯿﻠﺪﻫﺎی ﺳﺮآﯾﻨﺪ در ﺑﺴـﺘﻪ IP
ﻗﺮار ﮔﺮﻓﺘﻪ ﺑﺎﺷﺪ و ﻣﺴﯿﺮﯾﺎب ﻗﺎدر ﺑﻪ ﺗﺸﺨﯿﺺ و ﺗﻔﺴﯿﺮ ﺳﺮآﯾﻨﺪ آن ﺑﺴﺘﻪ IPﻧﺒﺎﺷـﺪ. ﺑـﻪ ﻋﻨـﻮان ﻣﺜـﺎل در ﻓﯿﻠـﺪ Versionاز
ﺑﺴﺘﻪ IPﻋﺪد ۵ ﻗﺮار ﮔﺮﻓﺘﻪ ﺑﺎﺷﺪ و ﯾﺎ Checksumﺑﺎ ﺳﺮآﯾﻨﺪ، ﺗﻨﺎﻗﺾ داﺷﺘﻪ ﺑﺎﺷﺪ.
ﭘﯿﺎم :Source Quenchاﯾﻦ ﺑﺴﺘﻪ زﻣﺎﻧﯽ ﺑﺮای ﯾﮏ ﻣﺎﺷﯿﻦ ﻣﯿﺰﺑﺎن ارﺳﺎل ﻣﯽ ﺷﻮد ﮐﻪ از آن ﺧﻮاﺳﺘﻪ ﺷﻮد ﺣﺠﻢ ارﺳﺎل ﺑﺴﺘﻪ ﻫﺎﯾﺶ را ﮐﺎﻫﺶ ﺑﺪﻫﺪ ﭼﺮا ﮐﻪ در ﻏﯿﺮ اﯾﻦ ﺻﻮرت ازدﺣﺎم ﭘﯿﺶ ﺧﻮاﻫﺪ آﻣﺪ. در ﻣﺠﻤﻮع ﻫﺮﮔﺎه از ﯾﮏ ﻣﺎﺷﯿﻦ ﻣﯿﺰﺑﺎن ﺗﻘﺎﺿﺎی ﮐﺎﻫﺶ ﻧﺮخ ﺗﻮﻟﯿﺪ و ارﺳﺎل ﺑﺴﺘﻪ ﻫﺎی IPرا داﺷﺘﻪ ﺑﺎﺷﺪ اﯾﻦ ﭘﯿﺎم را ﺻﺎدر ﻣـﯽ ﮐﻨـﺪ. اﮔـﺮ ﻣﺎﺷـﯿﻦ ﻣﯿﺰﺑـﺎن ﭘـﺲ از ﻃـﯽ ﻣـﺪت ﻣﺸﺨﺼﯽ اﯾﻦ ﭘﯿﺎم را درﯾﺎﻓﺖ ﻧﮑﺮد، ﻣﯽ ﺗﻮاﻧﺪ ﺳﺮﻋﺖ ﺗﻮﻟﯿﺪ ﺑﺴﺘﻪ ﻫﺎ را ﺑﻪ ﺣﺎﻟﺖ اول ﺑﺮﮔﺮداﻧﺪ.
ﭘﯿﺎم :Redirectاﯾﻦ ﭘﯿﺎم زﻣﺎﻧﯽ ﺻﺎدر ﻣﯽ ﺷﻮد ﮐﻪ ﯾﮏ ﻣﺴﯿﺮﯾﺎب اﺣﺴﺎس ﮐﻨﺪ ﺑﺴﺘﻪ ﯾﺎ ﺑﺴﺘﻪ ﻫﺎﯾﯽ ﮐﻪ ﺑـﺮای او ارﺳـﺎل ﺷـﺪه اﺳﺖ در ﻣﺴﯿﺮ ﺻﺤﯿﺢ ﻧﯿﺴﺘﻨﺪ و اﺣﺘﻤﺎﻻ اﺷﮑﺎﻟﯽ در ﻣﺴﯿﺮﯾﺎﺑﯽ وﺟﻮد دارد. اﯾﻦ ﭘﯿﺎم ﻣﯽ ﺗﻮاﻧﺪ ﺑﺮای ﻫﺸـﺪار ﺧﻄﺎﻫـﺎی اﺣﺘﻤـﺎﻟﯽ ﻣﻮﺛﺮ ﺑﺎﺷﺪ. ﻓﺮض ﮐﻨﯿﺪ ﺑﻪ ﻣﺴﯿﺮﯾﺎب ۱ Rﺑﺴﺘﻪ ای ارﺳﺎل ﺷﺪه و او ﺑﺎ ﺑﺮرﺳﯽ ﺟﺪول ﻣﺴﯿﺮﯾﺎﺑﯽ آﻧﺮا ﺑﻪ ﻣﺴﯿﺮﯾﺎب ۲ Rﻓﺮﺳﺘﺎده ﺗﺎ او آﻧﺮا ﺑﻪ ﻣﻘﺼﺪ Xﺑﺮﺳﺎﻧﺪ. ﺣﺎل اﮔﺮ ۲ Rﺑﺎ ﻣﻘﺎﯾﺴﻪ اﻟﮕﻮی زﯾﺮ ﺷﺒﮑﻪ ﺑﻪ اﯾﻦ ﻧﺘﯿﺠﻪ رﺳﯿﺪ ﮐﻪ ﺧـﻮد او و ﻓﺮﺳـﺘﻨﺪه آن ﺑﺴـﺘﻪ در ﯾﮏ ﺷﺒﮑﻪ واﻗﻌﻨﺪ ﺑﺎ ارﺳﺎل اﯾﻦ ﭘﯿﺎم ﺑﻪ ﻓﺮﺳﺘﻨﺪه، اﻋﻼم ﻣﯽ ﮐﻨﺪ ﮐﻪ اﮔﺮ از اﯾﻦ ﺑﻪ ﺑﻌﺪ ﺑﺴﺘﻪ ﻫـﺎﯾﺶ ﺑـﻪ ﺟـﺎی اﯾﻨﮑـﻪ ﺑـﻪ ۱R ارﺳﺎل ﺷـﻮد ﺑـﻪ ۲ Rداده ﺷـﻮد، زودﺗـﺮ ﺑـﻪ ﻣﻘﺼـﺪ ﺧﻮاﻫـﺪ رﺳـﯿﺪ. ﺿـﻤﻨﺎ آدرس IPﺧـــــﻮدش را ﻧﯿـــــﺰ در ﻓﯿﻠــــــــــﺪ Gateway Internet Accessﻗﺮار ﻣﯽ دﻫﺪ.
ﭘﯿﺎم ﻫﺎی Echo Replyو :Echo Requestﭘﯿﺎم Echo Requestوﻗﺘﯽ ﺻﺎدر ﻣﯽ ﺷﻮد ﮐﻪ ﯾﮏ ﻣﺴﯿﺮﯾﺎب ﺑﺨﻮاﻫـﺪ ﺑﺪاﻧـﺪ
آﯾﺎ
ﯾﮏ ﻣﺎﺷﯿﻦ ﺧﺎص ﺷﺒﮑﻪ ﻗﺎﺑﻞ دﺳﺘﺮس و ﻣﻮﺟﻮد اﺳﺖ ﯾﺎ ﺧﯿﺮ. در ﭘﺎﺳﺦ ﺑﻪ درﯾﺎﻓﺖ
،Echo Requestﻣﻘﺼﺪ ﺑﺎ ارﺳﺎل ﭘﯿﺎم Echo Replyﺑﻪ آن ﭘﺎﺳﺦ ﻣﯽ دﻫﺪ. ﺑﺎ
اﯾﻦ ﭘﺮﺳﺶ و ﭘﺎﺳﺦ، ﯾﮏ ﻣﺎﺷﯿﻦ ﻣﯽ ﺗﻮاﻧﺪ از ﻗﺎﺑﻞ دﺳﺘﺮس ﺑﻮدن ﯾـﮏ ﻣﺴـﯿﺮﯾﺎب ﯾـﺎ
ﻣﺎﺷﯿﻦ ﻣﯿﺰﺑﺎن در ﺷﺒﮑﻪ ﻣﻄﻠﻊ ﺷﻮد.
ﺑﻪ دﻟﯿﻞ اﻫﻤﯿﺘﯽ ﺑﺴﯿﺎر وﯾﮋه و ﺣﺴﺎس اﯾﻦ دو ﭘﯿﺎم (Echo Request – Echo Reply)در ﺗﺤﻠﯿﻞ ﺑﺮﺧﯽ از ﺣﻤﻼت، ﺳﺎﺧﺘﺎر ﺑﺴﺘﻪ آﻧﻬﺎ را ﻣﻌﺮﻓﯽ ﻣﯽ ﮐﻨﯿﻢ:
ﻣﻌﻨﺎی ﺷﻤﺎره ﻫﺎی ﻣﺨﺘﻠﻒ در ﻓﯿﻠﺪ Type
- 0: ﺑﺮای ﻣﺸﺨﺺ ﮐﺮدن ﭘﯿﺎم Echo Reply
- ۸: ﺑﺮای ﻣﺸﺨﺺ ﮐﺮدن ﭘﯿﺎم Echo Request
اﺑﺘﺪا ﭘﯿﺎم Echo Requestﺑﻪ ﺳﻤﺖ ﻣﺎﺷﯿﻦ ﻣﻘﺼﺪ ارﺳﺎل ﻣﯽ ﺷﻮد. ﻣﺎﺷﯿﻨﯽ ﮐﻪ آﻧﺮا درﯾﺎﻓﺖ ﮐﻨﺪ، آدرﺳﻬﺎی ﻣﺒﺪا و ﻣﻘﺼﺪ را ﻋﻮض ﮐﺮده و Typeآﻧﺮا از ۸ ﺑﻪ ﺻﻔﺮ ﺗﻐﯿﯿﺮ داده، ﭘﺲ از ﻣﺤﺎﺳﺒﻪ ﻣﺠـﺪد ﮐـﺪ ﮐﺸـﻒ ﺧﻄـﺎ، آﻧـﺮا ﺑـﺎز ﻣـﯽ ﮔﺮداﻧـﺪ. ﻓﯿﻠـﺪﻫﺎی Identifier و Sequence Numberﺑﺮای ﭘﯿﺸﮕﯿﺮی از اﺷﺘﺒﺎه در ﻫﻤﺨﻮاﻧﯽ و ﺗﻄﺎﺑﻖ ﭘﯿﺎم ﻫﺎی رﻓﺖ و ﺑﺮﮔﺸﺖ اﺳﺖ ﺗﺎ ﻣﺒﺪا ﺑﺪاﻧﺪ ﯾﮏ ﭘﺎﺳﺦ ﻣﺮﺑـﻮط ﺑﻪ ﮐﺪام ﺗﻘﺎﺿﺎی اوﺳﺖ. ﺑﻪ ﻓﺮآﯾﻨﺪ رﻓﺖ ﺑﺴﺘﻪ Echoو ﺑﺎزﮔﺸﺖ ﭘﺎﺳﺦ، ﻋﻤﻞ Pingﮔﻔﺘﻪ ﻣﯽ ﺷﻮد و ﮐﺎرﺑﺮد زﯾﺎدی دارد !!
ﭘﯿﺎم ﻫﺎی Timestamp Replyو :Timestamp Requestاﯾﻦ دو ﭘﯿﺎم دﻗﯿﻘﺎ ﺷﺒﯿﻪ دو ﭘﯿـﺎم ﺗﻌﺮﯾـﻒ ﺷـﺪه در ﻗﺒـﻞﻫﺴﺘﻨﺪ ﺑﺎ اﯾﻦ ﺗﻔﺎوت ﮐﻪ درﯾﺎﻓﺖ ﮐﻨﻨﺪه آن، زﻣﺎن درﯾﺎﻓﺖ و زﻣﺎن ارﺳﺎل ﺑﺴﺘﻪ را ﻧﯿﺰ در ﭘﺎﺳﺦ ﺑﻪ آن اﺿﺎﻓﻪ ﺧﻮاﻫﺪ ﮐـﺮد.ﺑﻨﺎﺑﺮاﯾﻦ ارﺳﺎل ﮐﻨﻨﺪه ﭘﯿﺎم ،Timestamp Requestﭘﺲ از درﯾﺎﻓﺖ ﭘﺎﺳﺦ ﻧﻪ ﺗﻨﻬﺎ از ﻗﺎﺑﻞ دﺳﺘﺮس ﺑـﻮدن ﻣﻘﺼـﺪ ﺑـﺎﺧﺒﺮ ﻣﯽ ﺷﻮد، ﺑﻠﮑﻪ زﻣﺎن رﻓﺖ و ﺑﺮﮔﺸﺖ ﯾﮏ ﺑﺴﺘﻪ را ﻧﯿﺰ ﻣﯽ ﺗﻮاﻧﺪ ﺗﺨﻤﯿﻦ ﺑﺰﻧﺪ و ﺑﻪ ﮐﻤﮏ آن ﺟﺪاول ﻣﺴﯿﺮﯾﺎﺑﯽ و ﻫﻤﭽﻨـﯿﻦ ﮐﺎرآﯾﯽ ﺷﺒﮑﻪ را اﻧﺪازه ﮔﯿﺮی ﻧﻤﺎﯾﺪ.
حال ایا یک سیستم می تواند از icmp برای امتحان این که ایا سیستم دیگر فعال است یا نه استفاده نماید؟
با فرستادن ping که پیام پژواک ICMP Echo است استفاده کند اگر سیستم pinged فعال با شد به ping ارسال شده جواب خواهد داد همچنین یک مسیر یاب می تواند از icmp اییتفاده کند تا به سیستم مبدا اطلاع دهد که راهی به مقصد مورد نیاز ندارد و یک میزان می تواند به سیستم دیکر بگوید که سرعت تعداد پیام هایی که مبدا ICMP می فرستد را کاهش دهد.
پروتکل ICMP برای سیستم ها استفاده می شود تا اطلاعاتی در مورد این که چگونه داده در طول شبکه جاری می شود و یا جریا نمی یابد را مبادله کند.
وقتی که لایه TCP یا UDP بسته را تولید می کنند ان باید در طول شبکه فرستاده شود لایه انتقال(TCP/UDP) بسته را به لایه شبکه برای بردن ان عبور خواهد داد . پروتکل اینترنت یا IP معروف ترین و پر کاربردترین لایه شبکه ای است که امروزه استفاده می شود و برای تمامی حرکت های ترافیکی در طول اینترنت مورد استفاده قرار می گیرد.
ادرس های ای پی سیستم به خصوصی را روی شبکه توضیح می دهند و طولشان 32 بیت است هر سیستم که به طور مستقیم به اینترنت متصل می شود.
ادرس ای پی منحصر به فردی دارد . هر کدام از بسته ای ادرس ای پی مبدا را با تعریف سیستمی که بسته را می فرستد و ادرس ای پی مقصد که سیستم مقصد را برای بسته مشخص می سازد شامل می شود.
برای مثال فرض کنید که می خواهید با یک سازمان بزرگ مانند بیمارستان تماس تلفنی بگیرید.
برای برقراری ارتباط با این سازمان اول یک شماره تلفن را شماره گیری می کنید و وقتی ارتباط برقرار شد
اپراتور از شما سوال می کند که با کدام بخش یا شخص کار دارید یا این که شما می گویید داخلی فلان را وصل کنید و اپراتور ارتباط شما را با بخش داخلی مورد نظرتان بر قرار میکند.
شماره تلفن ان سازمان مثل شماره پورت و شماره داخلی مانند پورت عمل می کند در حقیقت شماره تلفن سازمان در یک محدوده خاص مثل یک شهر یا با اضافه کدن کد کشور و شهر در جهان یک شماره یکتاست و فقط یک مشتری مخابراتی این شماره را دارد اما شماره های داخلی که بعد از شماره تلفن اصلی می ایند یکتا نیستند و از انها برای برقراری ارتباط سریع تر و راحت تر بین یک شخص خاص از سازمان با یک ارباب رجوع استفاده می شود.
در یک شبکه کامپیوتری هم از ای پی به عنوان یک شماره یکتا برای شناسایی و برقراری ارتباط با یک کامپیوتر اسفاده می شود و از پورت هم برای ارتباط سریع و راحت تر با یک سرویس خاص . هکرها می توانند با روش های Spoofing یا تقلید وانمود کنند که سیستم دیگری با IP دیگری هستند تا بعد از نفوذ به سرورها IP واقعی انها مشخص نشود و مدیران ان سرورها هک را رد یابی و پیدا نکنند.