Pengertian ICMP (Internet Control Message Protocol)

ICMP (Internet Control Message Protocol) adalah protokol yang bertugas mengirimkan pesan-pesan kesalahan dan kondisi lain yang memerlukan perhatian khusus. Pesan / paket ICMP dikirim jika terjadi masalah pada layer IP dan layer atasnya (TCP/UDP). Pada konsisi normal, protokol IP berjalan dengan baik. Namun ada beberapa kondisi dimana koneksi IP terganggu, misalnya karena Router crash, putusnya kabel, atau matinya host tujuan. Pada saat ini ICMP membantu menstabilkan kondisi jaringan, dengan memberikan pesan-pesan tertentu sebagai respons atas kondisi tertentu yang terjadi pada jaringan tersebut.
contoh : hubungan antar router A dan B mengalami masalah, maka router A secara otomatis akan mengirimkan paket ICMP Destination Unreachable ke host pengirim paket yang berusaha melewati host B menuju tujuannya. Dengan adanya pemberitahuan ini maka host tujuan tidak akan terus menerus berusaha mengirimkan paketnya melewati router B.

Ada dua tipe pesan yang dapat dihasilkan ICMP :

  1. ICMP Error Message (dihasilkan jika terjadi kesalahan jaringan)
  2. ICMP Query Message (dihasilkan jika pengirim paket mengirimkan informasi tertentu yang berkaitan dengan kondisi jaringan.

ICMP Error Message dibagi menjadi beberapa jenis :

  1. Destination Unreachable, dihasilkan oleh router jika pengirim paket mengalami kegagalan akibat masalah putusnya jalur baik secara fisik maupun logic. Destination Unreacheable dibagi lagi menjadi beberapa jenis :
    • Network Unreacheable, jika jaringan tujuan tak dapat dihubungi
    • Host Unreacheable, jika host tujuan tak bisa dihubungi
    • Protocol At Destination is Unreacheable, jika di tujuan tak tersedia protokol tersebut.
    • Destination Host is Unknown, jika host tujuan tidak diketahui
    • Destination Network is Unknown, jika network tujuan tidak diketahui
  2. Time Exceeded, dikirimkan jika isi field TTL dalam paket IP sudah habis dan paket belum juga sampai ke tujuannya. Tiap kali sebuah paket IP melewati satu router, nilai TTL dalam paket tsb, dikurangi satu. TTL ini diterapkan untuk mencegah timbulnya paket IP yang terus menerus berputar-putar di network karena suatu kesalahan tertentu. sehingga menghabiskan sumber daya yang ada.

    Field TTL juga digunakan oleh program traceroute untuk melacak jalannya paket dari satu host ke host lain. Program traceroute dapat melakukan pelacakan rute berjalannya IP dengan cara mengirimkan paket kecil UDP ke IP tujuan, dengan TTL yang di set membesar.

    Saat paket pertama dikirim, TTL diset satu, sehingga router pertama akan membuang paket ini dan mengirimkan paket ICMP Time Exceeded, kemudian paket kedua dikirim, dengan TTL dinaikan. Dengan naiknya TTL paket ini sukses melewati router pertama namun dibuang oleh router kedua, router ini pun mengirim paket ICMP time Exceeded.
  3. Parameter Problem, paket ini dikirim jika terdapat kesalahan parameter pada header paket IP.
  4. Source Quench, Paket ICMP ini dikirimkan jika router tujuan mengalami kongesti. Sebagai respons atas paket ini pihak pengirim paket harus memperlambat pengiriman paketnya.
  5. Redirect, paket ini dikirimkan jika router merasa host mengirimkan paket IP melalui router yang salah. Paket ini seharusnya dikirimkan melalui router lain.