TI

ICMP: Arti, Jenis, Fungsi dan Cara Kerja

√ Edu Passed Pass education quality & scientific checked by advisor, read our quality control guidelance for more info

Setiap saat, jutaan orang di dunia mengakses internet. Namun, mungkin hanya sedikit di antara pengguna internet yang mengerti akan alur jaringan internet hingga dapat digunakan. Banyak yang belum memahami apa saja pendukung dan apa saja yang ada hubungannya dengan internet. 

Salah satu yang ada hubungannya dengan internet adalah ICMP (Internet Control Message Protocol). ICMP berperan cukup penting dalam jaringan atau koneksi internet. Sebab merupakan sebuah protokol, seperti halnya IP, TCP, juga UDP. 

Untuk lebih memahami ICMP, di bawah ini penjelasan lengkapnya:

Apa itu ICMP?

Internet Control Message Protocol atau yang disingkat ICMP adalah protokol jaringan yang berfungsi untuk memecahkan berbagai masalah yang berhubungan dengan konektivitas. Digunakan oleh berbagai perangkat jaringan, seperti oleh router, modem, server, dan perangkat lainnya. 

Meskipun ICMP merupakan protokol seperti TCP dan UDP, namun memiliki perbedaan dari keduanya. Pada umumnya, penggunaan ICMP tidak untuk memfasilitasi pertukaran data yang terjadi antarsistem. Juga tidak sering digunakan pada aplikasi jaringan end-user, kecuali pada tool diagnostik. 

ICMP ini memberikan pesan yang menunjukkan bahwa perangkat tertentu yang semestinya terhubung ke jaringan internet tidak dapat dijangkau. Contoh pesan ICMP diterima antara lain connection lost, pesan error, dan sebagainya. Secara garis besarnya, ICMP merupakan pembawa atau penyampai pesan data dan informasi dari penerima ke pengirim.  

Sejarah ICMP

Pada tahun 1981 standar pertama ICMP diterbitkan di RFC 777. Jon Postel membuat sketsa definisi asli ICMP. Internet mengalami perkembangan atas kontribusinya yang yang besar. 

Kemudian definisi awal tersebut mengalami banyak perubahan hingga menjadi bentuk yang sekarang. Pada September 1981 Postel menulis kembali definisi ICMP menjadi bentuk stabil dari protokol di RFC 792. 

Jenis ICMP

Ada dua kategori tipe pesan ICMP yang memiliki jenisnya masing-masing. Berikut ini tipe pesan tersebut:

ICMP Error Reporting Messages

Terdapat lima jenis ICMP Error Reporting Messages, yaitu:

  1. ICMP Destination Unreachable (Type 3)

Jenis ini merupakan ICMP yang mengirimkan jenis pesan pelaporan kesalahan yang paling sering terjadi sewaktu router tidak dapat menemukan jalur paket yang harus dikirim, dimana ini berarti datagram IP tidak dapat dikirim.

  1. ICMP Time Exceeded

Jenis ICMP Time Exceeded merupakan ICMP dengan jenis pesan yang digunakan untuk memberikan informasi mengenai waktu yang dibutuhkan oleh jaringan untuk mengirimkan data. Pesan ini akan digunakan untuk menentukan apakah rute jaringan ada masalah atau tidak.

  1. ICMP Parameter Problem

Merupakan jenis paket ICMP yang dihantarkan apabila terdapat kesalahan parameter pada header paket IP

  1. ICMP Source Quench

Jenis ini merupakan jenis paket yang dikirim di saat terjadinya kongesti pada router tujuan. Sebagai suatu respons yang diberikan ketika paket harus memperlambat pengirimannya

  1. ICMP Redirect (Type 5)

ICMP Redirect merupakan jenis ICMP dengan jenis pesan yang digunakan untuk mengirimkan informasi mengenai rute jaringan yang lebih baik terhadap perangkat lain yang ada pada jaringan yang sama. Fungsi pesan ini adalah untuk memperbaiki rute yang buruk, serta untuk meningkatkan performa jaringan tersebut.

ICMP Query Messages

Ada tiga jenis ICMP Query Messages. Ketiga jenis tersebut adalah:

  1. ICMP Echo Request/Reply

ICMP Echo Request/Reply merupakan jenis ICMP dengan jenis pesan yang digunakan untuk memeriksa ketersediaan jaringan. Pesan ini yang banyak dikenal sebagai ping. Pink digunakan untuk mengirim permintaan ke perangkat lain yang ada dalam satu jaringan, yang tujuannya untuk mengecek apakah perangkat tersebut terhubung atau tidak ke jaringan.

  1. ICMP Timestamp dan Timestamp Reply

ICMP Timestamp dan Timestamp Reply merupakan jenis ICMP yang menghasilkan informasi waktu yang diperlukan oleh sistem tujuan untuk memproses paket data. 

  1. ICMP Address Mask

ICMP jenis ini memiliki fungsi untuk mengecek netmask yang harus digunakan oleh sebuah host pada suatu network

ICMP ini tidak boleh membebani network, karena berfungsi mengatur kelancaran pada jaringan. Dengan demikian, paket ICMP tidak boleh dikirim apabila masalah terjadi akibat dari:

  • Terjadi kegagalan pengiriman paket ICMP
  • Terjadi kegagalan pengiriman paket broadcast atau multicast

Tujuan ICMP

Adapun tujuan dari ICMP di antaranya adalah:

  1. Memberikan Pesan Pada Komunikasi saat Terdapat Masalah

Pada lapisan internet di tingkatan yang lebih rendah, tidak semestinya peduli akan jaminan koneksi. Namun saat terdapat masalah pada komunikasi, Internet Control Message Protocol akan menyampaikan pesan. Sehingga, walaupun pada jaringan tersebut menggunakan UDP dengan model komunikasi tanpa koneksi, tetap memungkinkan penyebab transmisi gagal dapat diketahui. 

Perangkat-perangkat yang terhubung pada jaringan bisa memproses pesan ICMP, dari mulai router  hingga perangkat yang ada di titik akhir jaringan. Saat ini ICMP telah berhasil diadaptasi, membuatnya dapat bekerja dengan IPv6 secara menyeluruh, sama dengan kinerjanya pada IPv4.

  1. Memberikan Respons terhadap Paket Data Masuk saat Transmisi Pesan Masuk Gagal

Karena  protokol ICMP berada di lapisan internet, maka pesannya dibawa oleh paket IP serta terdapat di tingkatan yang lebih tinggi dibanding struktur operasi saklar.

Akan tetapi, walaupun protokolnya terbawa dalam paket IP, ia tidak ada dalam paket yang membawa data tersebut. Maka dapat dikatakan bahwa, ICMP memberikan respons terhadap paket data masuk saat transmisi pesan masuk gagal. Header IP dari paket data yang gagal biasanya akan menyebabkan kondisi error.

Fungsi ICMP

ICMP yang sebenarnya sebagai protokol yang cukup kompleks, memiliki fungsi yang penting dalam sebuah jaringan komputer. Selain fungsinya utamanya sebagai penghubung antara perangkat pengirim dan penerima data, masih banyak fungsi lain dari ICMP. 

Berikut ini beberapa fungsi ICMP pada jaringan komputer:

  1. Memberikan Pesan Error dan Membantu Penanganannya

Error yang terjadi dalam jaringan komputer sering ditemukan. Ketika error itu terjadi, akan muncul sebuah pesan dan permintaan (request) yang tidak terkirim ke tujuan (host), atau terputusnya sambungan. Kondisi ini terjadi dikarenakan hilangnya koneksi saat proses pengiriman atau transmisi data berlangsung di dalam jaringan komputer tersebut. 

Protokol ICMP akan bekerja saat terjadi error pada jaringan komputer itu. Sehingga ICMP dapat menangani setiap error yang muncul secara langsung. 

  1. Membantu Control Procedure Seluruh Bentuk Pengaturan Jaringan 

ICMP akan mengontrol dan mengatur seluruh bentuk pengaturan pada jaringan komputer. Seluruh jaringan komputer akan dapat berjalan sesuai dengan prosedur ketentuan yang sudah diatur, sehingga resiko terjadinya kesalahan pada proses transmisi pada jaringan akan mampu diminimalisir. 

  1. Menangani Pengendalian Arus di Network Layer dan Menyediakan Pengendalian Error

Arus informasi yang ditransmisikan pada lapisan jaringan atau network layer ditangani dan dikendalikan oleh ICMP. Dimana pada sebuah jaringan yang terdiri atas beberapa layer atau layer tertentu, maka masing-masing paket data harus bisa melewatinya. ICMP memiliki fungsi dalam mengendalikan arus data yang akan masuk ke dalam setiap layer yang terdapat pada jaringan tersebut. 

  1. Mendeteksi Error yang Terjadi pada Jaringan

ICMP juga berfungsi untuk melakukan tugas pendeteksian dan melaporkan ketika terjadi error pada jaringan komputer. Dengan demikian error yang terjadi akan dapat segera ditangani.

Pesan ICMP Control

Telah diketahui bahwa fungsi ICMP yang memberikan umpan balik serta informasi yang berkaitan dengan error, pesan kontrol, serta manajemen queries. Pada blok ICMP di bidang kode pertamanya bisa menyampaikan berbagai informasi. Nilai paling relevan yang terdapat pada kolom kode pertama ICMP, beberapa diantaranya dapat ditemukan seperti di bawah ini:

  • 0Echo Reply – digunakan sebagai tujuan ping
  • 3Destination Unreachable
  • 5Redirect Message – digunakan sebagai petunjuk akan pemilihan rute yang berbeda
  • 8Echo Request – digunakan sebagai tujuan ping
  • 9Router Advertisement – digunakan oleh router untuk memberitahukan alamat IP yang tersedia untuk routing
  • 10Router Solicitation – sebagai penemuan, permintaan, atau pemilihan router
  • 11Time Exceeded – TTL kedaluwarsa atau waktu pemasangan kembali sudah terlampaui
  • 12Parameter Problem: Bad IP header –  bad length, merupakan opsi yang diperlukan hilang, atau error yang ditunjukkan oleh penunjuk
  • 13Timestamp
  • 14Timestamp reply
  • 41 – digunakan untuk protokol mobilitas eksperimental
  • 42Extended Echo Request – digunakan untuk meminta extended Echo
  • 43Extended Echo Reply – untuk membalas kode ke 42 extended Echo request
  • 253 dan 254 – percobaan

Cara Kerja ICMP

ICMP yang merupakan mekanisme pelaporan masalah dalam jaringan, akan memberikan laporan ke sumber paket apabila terjadi kesalahan. Kesalahan tersebut tidak diperbaiki oleh ICMP dan tidak diberitahukannya ke perangkat sementara. Pesan ICMP termasuk ke dalam bagian datagram IP dan transmisi lewat internet. 

Informasi dari datagram IP berkaitan dengan sumber dan tujuan, dan bisa juga merekam informasi mengenai semua node pada jalur yang dilaluinya jika pengaturan opsi record diaktifkan. Oleh sebab itu, ICMP mendeteksi kesalahan dan hanya melaporkannya ke perangkat sumber, bukan ke perangkat sementara.

Ketika laporan kesalahan telah diterima oleh perangkat sumber, perangkat sumber tersebut tidak bisa menentukan perangkat yang menyebabkan kesalahan itu. Tetapi jenis kesalahannya dapat ditentukan oleh perangkat sumber berdasarkan isi pesan, untuk kemudian menentukan cara mengirimkan kembali paket data yang sebelumnya gagal terkirim itu. 

Isi dari setiap pesan berupa header IP secara lengkap, mulai dari paket data yang menimbulkan pesan ICMP juga yang termasuk atau terenkapsulasi pada paket data IP. Isi dari header IP yaitu versi IP, alamat IP, sumber dan tujuan, jumlah paket data yang dikirim, dan panjang paket. Sementara isi dari header ICMP berupa dasar sumber untuk menentukan jenis kesalahan, yang berkaitan dengan data berikut ini:

  • Jenis: yaitu jenis pesan
  • Kode: yaitu jenis pesan tertentu
  • Checksum: yaitu checksum dari pesan ICMP

Perbedaan antara nilai jenis dan kode merupakan tanda yang menunjukkan bahwa jenis pesannya berbeda. Hal ini akan sesuai dengan kesalahan yang mungkin terjadi selama paket data diproses.

Ada beberapa kondisi di mana ICMP tidak menghasilkan pesan kesalahan, yaitu:

  • Paket IP ditujukan terhadap alamat broadcast
  • Penyiaran paket terjadi di lapisan data link
  • Paket yang dikirim bukan merupakan fragmen IP pertama
  • Alamat sumber dari sebuah paket yang dikirim bukan merupakan alamat host tunggal, yang artinya alamat sumber adalah alamat semua 0, alamat loopback, alamat broadcast, atau alamat multicast