Pesan ICMP dikirimkan dalam paket IP, dan digunakan untuk mengirim
pemberitahuan yang berhubungan dengan kondisi jaringan. Beberapa fungsi utama
ICMP adalah sebagai berikut :
-Memberitahu kemacetan jaringan. Ketika banyak paket ditahan oleh router karena
ketidakmampuan untuk mengirimkan paket tersebut secepat paketnya diterima, router
akan mengirimkan pesan ICMP Source Quench. Tetapi mengirimkan terlalu banyak
Source Quench akan menyebabkan jaringan menjadi lebih macet.
-Membantu Troubleshooting. ICMP mendukung fungsi Echo, yang mana paket hanya
dikirimkan dalam rentetan antara dua host. Ping merupakan salah
satu tool manajemen jaringan yang berbasis pada fitur ini. Ping akan mengirimkan
rentetan paket, mengukur waktu perjalanan rata-rata dan menghitung persentse
kerugiannya.
-Memberitahu Timeout. Jika ada bagian TTL paket IP yang didrop ke nol (0), router
yang membuang paket akan mengirimkan paket pesan ICMP untuk memberitahu hal
tersebut. Traceroute merupakan toolyang memetakan jaringan dengan mengirim
paket-paket dengan nilai TTL kecil dan melihat pemberitahuan ICMP timeout.
-Type = Dapat berupa pesan error atau pesan informasi. Error dapat
berupa Destination unreachable, Paket too big, Time exceed, Parameter problem.
Sedangkan pesan informasi yang mungkin adalah Echo Request, Echo Reply, Group
Membership Query, Group Membership Report, Group Membership Reduction.
-Code = Untuk setiap jenis pesan didefinisikan beberapa kode yang berbeda.
1.ICMP Error Message, yaitu pesan yang dihasilkan ketika terjadi kesalahan pada
jaringan.
2.ICMP Query Message, yaitu pesan yang dihasilkan ketika pengirim paket
mengirimkan informasi tertentu yang berkaitan dengan komdisi jaringan.
2.Time Exceeded (dikirimkan jika isi field TTL dalam paket IP sudah habis dan paket
belum juga sampai ke tujuan).
Setiap kali sebuah paket IP melewati satu router, nilai TTL dalam paket tersebut akan
dikurangi satu. TTL ini ditetapkan untuk mencegah timbulnya paket IP yang terus
menerus berputar-putar di jaringan karena suatu kesalahan tertentu, sehingga
menghabiskan sumber daya yang ada.
1.Echo Request dan Echo Reply, merupakan pesan yang dikirimkan untuk memeriksa
apakah sistem tujuan dalam keadaan aktif. Program ping adalah program pengisi
paket ini. Responden harus mengembalikan data yang sama dengan data yang
dikirimkan.
Code
Descripton
0 – Echo Reply
Reserved
3 – Destination Unreachable
1
Destination host unreachable
11
12
Host unreachable for TOS
13
14
15
Precedence cutoff in effect
4 – Source Quench
5 – Redirect Message
0
7
Reserved
8 – Echo Request
9 – Router Advertisement
0
Router Advertisement
10 – Router Solicitation
Router discovery/selection/solicitation
Ping
Dari beberapa jenis pesan ICMP, yang paling sering dijumpain adalah Echo Request
dan Echo Reply yang dipakai dalam program Ping untuk memeriksa apakah network
tujuan dalam keadaan aktif. Berikut ini adalah contoh tes ping sederhana ke
www.google.com (173/194.38.133).
Dari hasil ping tersebut terlihat bahwa echo request yang dikirimkan ke
173.194.38.133 telah dikembalikan dengan echo reply dengan nilai TTL yang tersisa
sebesar 55. Dapat dilihat pula bahwa dari 4 echo request yang dikirimkan dibalas pula
dengan 4 echo reply, sehingga persentase loss-nya adalah 0%. Waktu perjalanan
paket pergi-pulang juga dapat dilihat, yaitu sebesar 73 ms (minimum) dan 87 ms
(maksimum) dengan rata-rata waktu perjalanan sebesar 81 ms.
Proses ping tersebut juga dapat dilihat pada network monitoring tool Wireshark
seperti berikut.
-Echo Request
Echo request merupakan pesan ICMP yang mengharapkan data dapat diterima
kembali melalui echo reply. Host harus merespon semua echo request dengan echo
reply yang mengandung ekstrak data yang diterima pada pesan request. Secara
umum, detail paket echo request adalah seperti berikut.
(https://en.wikipedia.org/wiki/Ping_(networking_utility))
Sedangkan detail paket echo request untuk ping ke 173.194.38.133 yang di-
capture menggunakan Wireshark adalah sebagai berikut.
Dari hasil monitoring menggunakan Wireshark terlihat bahwa panjang paket ICMP
adalah 32 bit. Terlihat pula Type = 8 dan Code = 0 yang menunjukkan bahwa paket
yang dikirimkan adalah pesan echo request dengan checksum = 4d5a. Sedangkan
Identifier dan Sequence number digunakan oleh client untuk mencocokkan reply
dengan request, terlihat bahwa respon untuk request ini ada dalam frame 1973.
-Echo Reply
Echo reply merupakan pesan ICMP yang dihasilkan sebagai repon dari echo request.
Secara umum detail paket echo reply adalah sebagai berikut.
(https://en.wikipedia.org/wiki/Ping_(networking_utility))
Sedangkan dengan menggunakan Wireshark, detail paket echo reply adalah sebagai
berikut.
Dari hasil monitoring menggunakan Wireshark di atas, terlihat bahwa panjang paket
ICMP adalah 32 bit. Terlihat pula Type = 0 dan Code = 0 yang menunjukkan bahwa
paket yang dikirimkan adalah pesan echo reply dengan checksum = 555a. Sedangkan
Identifier dan Sequence number digunakan oleh client untuk menentukan echo
request mana yang cocok dengan echo reply, terlihat bahwa pesan echo reply tersebut
merupakan respon untuk request pada frame 1972 dengan waktu 87.169 ms.
Sebagai paket pengatur kelancaran jaringan, paket ICMP tidak boleh membebani
jaringan. Oleh karena itu, paket ICMP tidak boleh dikirim saat terjadi masalah yang
disebabkan oleh kegagalan pengiriman paket ICMP dan kegagalan pengiriman paket
broadcast atau multicast.