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

http://www.administrator.de/images/articles/b923dc17fc773afb8041cffa9f1d8a35-redirect.jpg

ساختار پروتکل 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  واقعی انها مشخص نشود و مدیران ان سرورها هک را رد یابی و پیدا نکنند.